 |
|

01.01.2016, 09:31
|
|
Постоянный
Регистрация: 06.07.2015
Сообщений: 310
С нами:
5712968
Репутация:
63
|
|
Пишем сюда полезные функции !
|
|
|

01.01.2016, 14:50
|
|
Постоянный
Регистрация: 06.07.2015
Сообщений: 310
С нами:
5712968
Репутация:
63
|
|
Функция телепортирует игрока в машине
Использование: InCarDataSync(i,x,y,z); [I - Ид игрока, x,y,z - Координаты для телепортирования]
C++:
Код:
void
InCarDataSync
(
int
i
,
float
x1
,
float
y1
,
float
z1
)
{
int
icar
;
stRemotePlayer
*
pPlayer
=
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
pRemotePlayer
[
i
]
;
if
(
!
pPlayer
)
return
;
icar
=
pPlayer
->
pPlayerData
->
sVehicleID
;
if
(
!
icar
)
return
;
CVehicle
*
veh
=
PEDSELF
->
GetVehicle
(
)
;
if
(
!
veh
)
return
;
stInCarData sync
;
memset
(
&
sync
,
0
,
sizeof
(
stInCarData
)
)
;
sync
=
pPlayer
->
pPlayerData
->
inCarData
;
sync
.
fPosition
[
0
]
=
x1
;
sync
.
fPosition
[
1
]
=
y1
;
sync
.
fPosition
[
2
]
=
z1
;
BitStream CarSync
;
CarSync
.
Write
(
(
BYTE
)
ID_VEHICLE_SYNC
)
;
CarSync
.
Write
(
(
PCHAR
)
&
sync
,
sizeof
(
stInCarData
)
)
;
SF
->
getRakNet
(
)
->
SendPacket
(
&
CarSync
)
;
}
P.S. Функция сама проверяет существует игрок или нет
|
|
|

01.01.2016, 14:52
|
|
Постоянный
Регистрация: 06.07.2015
Сообщений: 310
С нами:
5712968
Репутация:
63
|
|
Функция отправляет пулю в указанного игрока
Использование: BulletData(i); [I - Ид игрока]
C++:
Код:
void
BulletData
(
int
i
)
{
stRemotePlayer
*
pPlayer
=
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
pRemotePlayer
[
i
]
;
if
(
!
pPlayer
)
return
;
stBulletData sync
;
ZeroMemory
(
&
sync
,
sizeof
(
stBulletData
)
)
;
sync
.
sTargetID
=
i
;
sync
.
fOrigin
[
0
]
=
PEDSELF
->
GetPosition
(
)
->
fX
;
sync
.
fOrigin
[
1
]
=
PEDSELF
->
GetPosition
(
)
->
fY
;
sync
.
fOrigin
[
2
]
=
PEDSELF
->
GetPosition
(
)
->
fZ
;
sync
.
fTarget
[
0
]
=
pPlayer
->
pPlayerData
->
fOnFootPos
[
0
]
;
sync
.
fTarget
[
1
]
=
pPlayer
->
pPlayerData
->
fOnFootPos
[
1
]
;
sync
.
fTarget
[
2
]
=
pPlayer
->
pPlayerData
->
fOnFootPos
[
2
]
;
sync
.
fCenter
[
0
]
=
0.0
;
sync
.
fCenter
[
1
]
=
0.0
;
sync
.
fCenter
[
2
]
=
0.5
;
sync
.
byteWeaponID
=
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
pLocalPlayer
->
byteCurrentWeapon
;
sync
.
byteType
=
1
;
BitStream BulletSync
;
BulletSync
.
Write
(
(
BYTE
)
PacketEnumeration
::
ID_BULLET_SYNC
)
;
BulletSync
.
Write
(
(
PCHAR
)
&
sync
,
sizeof
(
stBulletData
)
)
;
SF
->
getRakNet
(
)
->
SendPacket
(
&
BulletSync
)
;
}
P.S. Функция сама проверяет существует игрок или нет
|
|
|

08.01.2016, 19:21
|
|
Постоянный
Регистрация: 06.07.2015
Сообщений: 310
С нами:
5712968
Репутация:
63
|
|
Функция отправляет фейк позицию игрока с помощью синхры
Использование: OnFootSync(X,Y,Z); [X,Y,Z - Координаты для отправки]
C++:
Код:
void
OnFootSync
(
float
CX
,
float
CY
,
float
CZ
)
{
stOnFootData OF
;
memset
(
&
OF
,
0
,
sizeof
(
stOnFootData
)
)
;
OF
.
fPosition
[
0
]
=
CX
;
OF
.
fPosition
[
1
]
=
CY
;
OF
.
fPosition
[
2
]
=
CZ
;
BitStream OFsync
;
OFsync
.
Write
(
(
BYTE
)
ID_PLAYER_SYNC
)
;
OFsync
.
Write
(
(
PCHAR
)
&
OF
,
sizeof
(
stOnFootData
)
)
;
SF
->
getRakNet
(
)
->
SendPacket
(
&
OFsync
)
;
}
|
|
|

09.01.2016, 15:13
|
|
Постоянный
Регистрация: 23.06.2015
Сообщений: 411
С нами:
5731627
Репутация:
108
|
|
Функция телепортирует игрока в определенную точку.
Код:
Код:
void actor_teleport(float x, float y, float z)
{
actor_info *self = SF->getGame()->actorInfoGet(ACTOR_SELF, ACTOR_ALIVE);
self->base.matrix[4 * 3] = x;
self->base.matrix[4 * 3 + 1] = y;
self->base.matrix[4 * 3 + 2] = z;
}
|
|
|

10.01.2016, 00:39
|
|
Флудер
Регистрация: 23.03.2013
Сообщений: 2,696
С нами:
6915558
Репутация:
183
|
|
Сообщение от Gabriel__
Функция телепортирует игрока в определенную точку.
Код:
Код:
void actor_teleport(float x, float y, float z)
{
actor_info *self = SF->getGame()->actorInfoGet(ACTOR_SELF, ACTOR_ALIVE);
self->base.matrix[4 * 3] = x;
self->base.matrix[4 * 3 + 1] = y;
self->base.matrix[4 * 3 + 2] = z;
}
C++:
Код:
#include "game_api\game_api.h"
PEDSELF
->
Teleport
(
x
,
y
,
z
)
;
|
|
|

01.02.2016, 19:29
|
|
Флудер
Регистрация: 26.10.2013
Сообщений: 4,924
С нами:
6603505
Репутация:
183
|
|
Сообщение от Спойлер
C++:
Код:
bool
Driving
(
int
PlayerID
)
{
if
(
PlayerID
==
ACTOR_SELF
)
PlayerID
=
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
sLocalPlayerID
;
int
state
;
if
(
PlayerID
==
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
sLocalPlayerID
)
state
=
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
pLocalPlayer
->
pSAMP_Actor
->
pGTA_Ped
->
state
;
else
state
=
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
pRemotePlayer
[
PlayerID
]
->
pPlayerData
->
pSAMP_Actor
->
pGTA_Ped
->
state
;
if
(
state
==
50
)
return
true
;
else
return
false
;
}
;
Сообщение от Спойлер
C++:
Код:
bool
isDriver
(
int
PlayerID
)
{
if
(
PlayerID
==
ACTOR_SELF
)
PlayerID
=
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
sLocalPlayerID
;
if
(
PlayerID
==
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
sLocalPlayerID
)
{
if
(
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
pLocalPlayer
->
pSAMP_Actor
->
pGTA_Ped
->
state
==
50
)
if
(
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
pLocalPlayer
->
pSAMP_Actor
->
pGTA_Ped
->
vehicle
->
passengers
[
0
]
==
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
pLocalPlayer
->
pSAMP_Actor
->
pGTA_Ped
)
return
true
;
}
else
{
if
(
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
pRemotePlayer
[
PlayerID
]
->
pPlayerData
->
pSAMP_Actor
->
pGTA_Ped
->
state
==
50
)
if
(
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
pRemotePlayer
[
PlayerID
]
->
pPlayerData
->
pSAMP_Actor
->
pGTA_Ped
->
vehicle
->
passengers
[
0
]
==
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
pRemotePlayer
[
PlayerID
]
->
pPlayerData
->
pSAMP_Actor
->
pGTA_Ped
)
return
true
;
}
return
false
;
}
;
Сообщение от Спойлер
C++:
[CODE]
float
getSkill
(
int
weaponId
)
{
float
Skill
=
1000.0f
;
if
(
(
weaponId
>=
22
)
&&
(
weaponId
Сообщение от Спойлер
C++:
Код:
bool
IsOnScreen
(
DWORD OBJECT
)
{
DWORD dwFunc
=
FUNC_IsVisible
;
DWORD dwThis
=
(
DWORD
)
SF
->
getSAMP
(
)
->
getInfo
(
)
->
pPools
->
pObject
->
object
[
OBJECT
]
->
pGTAEntity
;
bool
bReturn
=
false
;
_asm
{
mov ecx
,
dwThis
call dwFunc
mov bReturn
,
al
}
return
bReturn
;
}
|
|
|

06.02.2016, 15:11
|
|
Постоянный
Регистрация: 06.07.2015
Сообщений: 310
С нами:
5712968
Репутация:
63
|
|
Телепортирует машину игрока
C++:
Код:
void
VehTP
(
float
x
,
float
y
,
float
z
)
{
actor_info
*
self
=
SF
->
getGame
(
)
->
actorInfoGet
(
VEHICLE_SELF
,
VEHICLE_ALIVE
)
;
self
->
vehicle
->
base
.
matrix
[
4
*
3
]
=
x
;
self
->
vehicle
->
base
.
matrix
[
4
*
3
+
1
]
=
y
;
self
->
vehicle
->
base
.
matrix
[
4
*
3
+
2
]
=
z
;
}
|
|
|

06.02.2016, 15:26
|
|
Флудер
Регистрация: 23.03.2013
Сообщений: 2,696
С нами:
6915558
Репутация:
183
|
|
Сообщение от By_Surse
Телепортирует машину игрока
C++:
Код:
void
VehTP
(
float
x
,
float
y
,
float
z
)
{
actor_info
*
self
=
SF
->
getGame
(
)
->
actorInfoGet
(
VEHICLE_SELF
,
VEHICLE_ALIVE
)
;
self
->
vehicle
->
base
.
matrix
[
4
*
3
]
=
x
;
self
->
vehicle
->
base
.
matrix
[
4
*
3
+
1
]
=
y
;
self
->
vehicle
->
base
.
matrix
[
4
*
3
+
2
]
=
z
;
}
PEDSELF->GetVehicle()->SetPosition(&CVector(0.0f, 0.0f, 0.0f));
PEDSELF->GetVehicle()->Teleport(0.0f, 0.0f, 0.0f);
|
|
|

29.02.2016, 13:19
|
|
Постоянный
Регистрация: 06.07.2015
Сообщений: 310
С нами:
5712968
Репутация:
63
|
|
Телепорт по метке!
C++:
Код:
void
mapMenuTeleport
(
void
)
{
if
(
(
*
(
int
*
)
0xBA6774
!=
0
)
)
{
// ty to Racer_S for this
float
mapPos
[
3
]
;
for
(
int
i
=
0
;
i
GetWorld
(
)
->
FindGroundZForPosition
(
pos
[
0
]
,
pos
[
1
]
)
+
2.0f
;
PEDSELF
->
Teleport
(
mapPos
[
0
]
,
mapPos
[
1
]
,
mapPos
[
2
]
)
;
}
}
}
}
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|