 |
|

23.07.2022, 16:11
|
|
Постоянный
Регистрация: 29.05.2017
Сообщений: 394
С нами:
4714653
Репутация:
98
|
|
Как скопировать битстрим (SAMPFUNCS)?
|
|
|

23.07.2022, 17:38
|
|
Новичок
Регистрация: 13.06.2022
Сообщений: 12
С нами:
2063554
Репутация:
1
|
|
Как сделать так, чтобы персонаж всегда стоял как на поверхности? Делал так не работает:
C++:
Код:
*
reinterpret_cast
(
0xB6F5F0
+
0x46C
)
=
3
;
|
|
|

23.07.2022, 18:15
|
|
Флудер
Регистрация: 06.11.2017
Сообщений: 2,759
С нами:
4483143
Репутация:
183
|
|
|
|
|

24.07.2022, 22:03
|
|
Новичок
Регистрация: 13.06.2022
Сообщений: 12
С нами:
2063554
Репутация:
1
|
|
При отправке 138 rpc он читает ид игрока и причину выхода и выводит в чат, но получает неправильный ид игрока. Что не так?
C++:
Код:
rakhook
::
on_receive_rpc
+=
[
]
(
unsigned
char
&
id
,
RakNet
::
BitStream
*
&&
bs
)
->
bool
{
if
(
RakNetns
)
{
if
(
id
==
138
)
{
int
PlayerId
;
int
Reason
;
bs
->
Read
(
PlayerId
)
;
bs
->
Read
(
Reason
)
;
char
Buffer
[
128
]
;
rakhook
::
emul_rpc
(
138
,
*
bs
)
;
// эмуляция RPC.
if
(
Reason
==
0
)
{
sprintf
(
Buffer
,
xorstr
(
"%s[%d] Cause left the server: Crash"
)
,
g_SAMP
->
GetPlayerPool
(
)
->
GetName
(
PlayerId
)
,
PlayerId
)
;
}
if
(
Reason
==
1
)
{
sprintf
(
Buffer
,
xorstr
(
"%s[%d] Cause left the server: /q"
)
,
g_SAMP
->
GetPlayerPool
(
)
->
GetName
(
PlayerId
)
,
PlayerId
)
;
}
if
(
Reason
==
2
)
{
sprintf
(
Buffer
,
xorstr
(
"%s[%d] Cause left the server: Kick/Ban"
)
,
g_SAMP
->
GetPlayerPool
(
)
->
GetName
(
PlayerId
)
,
PlayerId
)
;
}
add_chat_message
(
-
1
,
Buffer
)
;
}
}
return
true
;
}
;
|
|
|

25.07.2022, 00:55
|
|
Познавший АНТИЧАТ
Регистрация: 12.11.2015
Сообщений: 1,560
С нами:
5526867
Репутация:
183
|
|
Сообщение от killian228
При отправке 138 rpc он читает ид игрока и причину выхода и выводит в чат, но получает неправильный ид игрока. Что не так?
C++:
Код:
rakhook
::
on_receive_rpc
+=
[
]
(
unsigned
char
&
id
,
RakNet
::
BitStream
*
&&
bs
)
->
bool
{
if
(
RakNetns
)
{
if
(
id
==
138
)
{
int
PlayerId
;
int
Reason
;
bs
->
Read
(
PlayerId
)
;
bs
->
Read
(
Reason
)
;
char
Buffer
[
128
]
;
rakhook
::
emul_rpc
(
138
,
*
bs
)
;
// эмуляция RPC.
if
(
Reason
==
0
)
{
sprintf
(
Buffer
,
xorstr
(
"%s[%d] Cause left the server: Crash"
)
,
g_SAMP
->
GetPlayerPool
(
)
->
GetName
(
PlayerId
)
,
PlayerId
)
;
}
if
(
Reason
==
1
)
{
sprintf
(
Buffer
,
xorstr
(
"%s[%d] Cause left the server: /q"
)
,
g_SAMP
->
GetPlayerPool
(
)
->
GetName
(
PlayerId
)
,
PlayerId
)
;
}
if
(
Reason
==
2
)
{
sprintf
(
Buffer
,
xorstr
(
"%s[%d] Cause left the server: Kick/Ban"
)
,
g_SAMP
->
GetPlayerPool
(
)
->
GetName
(
PlayerId
)
,
PlayerId
)
;
}
add_chat_message
(
-
1
,
Buffer
)
;
}
}
return
true
;
}
;
Parameters: UINT16 wPlayerID, UINT8 reason
а ты все как int читаешь.
|
|
|

25.07.2022, 18:05
|
|
Постоянный
Регистрация: 20.03.2021
Сообщений: 666
С нами:
2711257
Репутация:
83
|
|
Как проверить заспавнился ли локальный игрок
|
|
|

25.07.2022, 18:21
|
|
Познавший АНТИЧАТ
Регистрация: 29.09.2018
Сообщений: 1,292
С нами:
4012500
Репутация:
138
|
|
Сообщение от Savchik Blazer
Как проверить заспавнился ли локальный игрок
на нуллптр проверь просто
|
|
|

25.07.2022, 18:27
|
|
Постоянный
Регистрация: 20.03.2021
Сообщений: 666
С нами:
2711257
Репутация:
83
|
|
Сообщение от F0RQU1N
на нуллптр проверь просто
Не, ну это понятно, я функцию не могу найти, весь getPlayers() облазал
|
|
|

25.07.2022, 18:28
|
|
Познавший АНТИЧАТ
Регистрация: 29.09.2018
Сообщений: 1,292
С нами:
4012500
Репутация:
138
|
|
Сообщение от Savchik Blazer
Не, ну это понятно, я функцию не могу найти, весь getPlayers() облазал
функция для проверки на нуллптр?😀
|
|
|

25.07.2022, 18:53
|
|
Новичок
Регистрация: 19.06.2022
Сообщений: 14
С нами:
2055431
Репутация:
3
|
|
Сообщение от Savchik Blazer
Как проверить заспавнился ли локальный игрок
C++:
Код:
if
(
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
pRemotePlayer
[
id
]
!=
NULL
)
{
//code
}
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|