 |
|

17.06.2016, 21:59
|
|
Флудер
Регистрация: 26.10.2013
Сообщений: 4,924
С нами:
6603505
Репутация:
183
|
|
Сообщение от Dark_Knight
Можно в теории, но не будет сто процентной точности цвета.
можно и точно, если знать цвет маски
|
|
|

17.06.2016, 22:13
|
|
Участник форума
Регистрация: 04.07.2015
Сообщений: 168
С нами:
5715860
Репутация:
78
|
|
Как проверить заспаунен ли игрок?
|
|
|

17.06.2016, 23:35
|
|
Постоянный
Регистрация: 10.07.2015
Сообщений: 642
С нами:
5706781
Репутация:
43
|
|
Сообщение от SR_team
можно и точно, если знать цвет маски
Но ведь когда он одевает маску, для сервера он черный и для остальных игроков тоже черный + им приходит RPC_SetPlayerColor, по идеи.
|
|
|

17.06.2016, 23:42
|
|
Постоянный
Регистрация: 10.07.2015
Сообщений: 642
С нами:
5706781
Репутация:
43
|
|
Сообщение от AWRage
Я так понял функция Receive в RakClientInterface отвечает за прием как пакетов, так и RPC? Потому что я не нашёл там Receive RPC.
UP.
|
|
|

18.06.2016, 07:34
|
|
Познающий
Регистрация: 03.11.2014
Сообщений: 43
С нами:
6065807
Репутация:
0
|
|
как узнать что я в определённом радиусе от пикапа?
|
|
|

18.06.2016, 10:24
|
|
Участник форума
Регистрация: 13.03.2016
Сообщений: 242
С нами:
5351007
Репутация:
0
|
|
Помогите правильно прочесть пешую синхру, я с раксампа попробовал состряпать что-то схожее в плагине но результаты обнадеживают(
C++:
Код:
bool
__stdcall
PacketHook
(
stRakNetHookParams
*
hook
)
{
if
(
hook
->
packetId
==
ID_PLAYER_SYNC
)
{
stOnFootData foot
;
ZeroMemory
(
&
foot
,
sizeof
(
foot
)
)
;
BitStream
bsPlayerSync
(
hook
->
bitStream
->
GetData
(
)
,
hook
->
bitStream
->
GetNumberOfBitsUsed
(
)
/
8
,
false
)
;
uint16_t
SenderID
;
bool
bHasLR
,
bHasUD
;
bool
bHasSurfInfo
,
bAnimation
;
bsPlayerSync
.
IgnoreBits
(
8
)
;
bsPlayerSync
.
Read
(
SenderID
)
;
if
(
SenderID
==
targetID
)
{
bsPlayerSync
.
Read
(
bHasLR
)
;
if
(
bHasLR
)
bsPlayerSync
.
Read
(
foot
.
sLeftRightKeys
)
;
bsPlayerSync
.
Read
(
bHasUD
)
;
if
(
bHasUD
)
bsPlayerSync
.
Read
(
foot
.
sUpDownKeys
)
;
bsPlayerSync
.
Read
(
foot
.
sKeys
)
;
bsPlayerSync
.
Read
(
(
char
*
)
foot
.
fPosition
,
sizeof
(
float
)
*
3
)
;
bsPlayerSync
.
Read
(
(
char
*
)
foot
.
fQuaternion
,
sizeof
(
float
)
*
4
)
;
BYTE byteHealthArmour
;
BYTE byteHealth
,
byteArmour
;
BYTE byteArmTemp
=
0
,
byteHlTemp
=
0
;
bsPlayerSync
.
Read
(
byteHealthArmour
)
;
byteArmTemp
=
(
byteHealthArmour
&
0x0F
)
;
byteHlTemp
=
(
byteHealthArmour
>>
4
)
;
if
(
byteArmTemp
==
0xF
)
byteArmour
=
100
;
else
if
(
byteArmTemp
==
0
)
byteArmour
=
0
;
else
byteArmour
=
byteArmTemp
*
7
;
if
(
byteHlTemp
==
0xF
)
byteHealth
=
100
;
else
if
(
byteHlTemp
==
0
)
byteHealth
=
0
;
else
byteHealth
=
byteHlTemp
*
7
;
foot
.
byteHealth
=
byteHealth
;
foot
.
byteArmor
=
byteArmour
;
bsPlayerSync
.
Read
(
foot
.
byteCurrentWeapon
)
;
bsPlayerSync
.
Read
(
foot
.
byteSpecialAction
)
;
bsPlayerSync
.
Read
(
(
char
*
)
foot
.
fMoveSpeed
,
sizeof
(
float
)
*
3
)
;
bsPlayerSync
.
Read
(
bHasSurfInfo
)
;
if
(
bHasSurfInfo
)
{
bsPlayerSync
.
Read
(
foot
.
sSurfingVehicleID
)
;
bsPlayerSync
.
Read
(
(
char
*
)
foot
.
fSurfingOffsets
,
sizeof
(
float
)
*
3
)
;
}
else
foot
.
sSurfingVehicleID
=
-
1
;
bsPlayerSync
.
Read
(
bAnimation
)
;
if
(
bAnimation
)
{
bsPlayerSync
.
Read
(
foot
.
sCurrentAnimationID
)
;
bsPlayerSync
.
Read
(
foot
.
sAnimFlags
)
;
}
else
{
foot
.
sCurrentAnimationID
=
0
;
foot
.
sAnimFlags
=
0
;
}
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
D3DCOLOR_XRGB
(
245
,
184
,
0
)
,
"ID: %d | Health: %.1f | Armour: %.1f | Weapon: %d"
,
SenderID
,
foot
.
byteHealth
,
foot
.
byteArmor
,
foot
.
byteCurrentWeapon
)
;
}
}
return
true
;
}
На выходе: ID: 34 | Health: 0.0 | Armour: 0.0 | Weapon: 28437720
|
|
|

18.06.2016, 11:10
|
|
Флудер
Регистрация: 26.10.2013
Сообщений: 4,924
С нами:
6603505
Репутация:
183
|
|
Сообщение от AWRage
Но ведь когда он одевает маску, для сервера он черный и для остальных игроков тоже черный + им приходит RPC_SetPlayerColor, по идеи.
но ведь ты тоже получаешь инфу о том какой у него цвет, а т.к. он не всегда в маске, то можно тупо не принимать инфу о черном цаете для ника
|
|
|

18.06.2016, 12:46
|
|
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами:
6921957
Репутация:
183
|
|
Сообщение от SR_team
можно и точно, если знать цвет маски
Ты в маске и к тебе в стрим зашел новый игрок, которого не было до момент её надевания. Как я узнаю его цвет, если сервер прислал, что у него черный цвет.
|
|
|

18.06.2016, 13:18
|
|
Новичок
Регистрация: 08.09.2013
Сообщений: 28
С нами:
6671670
Репутация:
53
|
|
Как узнать какие данные присылает RPC?
Ибо в раклоггере только это
Код:
Код:
[12:14:53.840] > [RPC Recv] RPC_ScrSetPlayerTeam[69](length: 3 bytes, 24 bits)
> dump:
0000 1E 00 01 ...
|
|
|

18.06.2016, 13:30
|
|
Участник форума
Регистрация: 04.07.2015
Сообщений: 168
С нами:
5715860
Репутация:
78
|
|
Как узнать сколько денег у локального игрока?
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|