 |

01.08.2021, 18:28
|
|
Участник форума
Регистрация: 03.08.2019
Сообщений: 168
С нами:
3568604
Репутация:
48
|
|
Ку, пытаюсь нанести урон игроку, но в итоге урона никакого и нет.
Вроде бы все правильно
c++:
Код:
int
pid
=
std
::
stoi
(
id
)
;
BitStream givePizda
;
givePizda
.
ResetWritePointer
(
)
;
givePizda
.
Write
(
false
)
;
givePizda
.
Write
(
(
UINT16
)
pid
)
;
givePizda
.
Write
(
(
float
)
1.32
)
;
givePizda
.
Write
(
(
UINT32
)
0
)
;
givePizda
.
Write
(
(
UINT32
)
3
)
;
SF
->
getRakNet
(
)
->
SendRPC
(
RPC_GiveTakeDamage
,
&
givePizda
)
;
|
|
|

01.08.2021, 18:40
|
|
Новичок
Регистрация: 10.08.2007
Сообщений: 1
С нами:
9870033
Репутация:
0
|
|
Сообщение от ANZR
givePizda.Write(true);
false
|
|
|

01.08.2021, 18:47
|
|
Участник форума
Регистрация: 03.08.2019
Сообщений: 168
С нами:
3568604
Репутация:
48
|
|
Сообщение от Sargon
false
Изменил сразу же, как залил. Ничего не изменилось
|
|
|

01.08.2021, 18:56
|
|
Новичок
Регистрация: 10.08.2007
Сообщений: 1
С нами:
9870033
Репутация:
0
|
|
Сообщение от ANZR
Изменил сразу же, как залил. Ничего не изменилось
больше ошибок не наблюдаю, отправка должна работать.
|
|
|

01.08.2021, 19:09
|
|
Участник форума
Регистрация: 03.08.2019
Сообщений: 168
С нами:
3568604
Репутация:
48
|
|
Сообщение от Sargon
больше ошибок не наблюдаю, отправка должна работать.
Ну вот и я о том же
Ошибок нет, а отправка не идет
|
|
|

01.08.2021, 19:24
|
|
Флудер
Регистрация: 06.11.2017
Сообщений: 2,759
С нами:
4483143
Репутация:
183
|
|
В этой рпц bool должен быть записан 1 битом, а не байтом, поэтому givePizda.WriteBit(false);
UPD: Packet list от bruno16 говно с дезинфой. Смотрите на вики бластхака(не все рпц там есть) либо в sampevents
|
|
|

01.08.2021, 19:27
|
|
Флудер
Регистрация: 06.11.2017
Сообщений: 2,759
С нами:
4483143
Репутация:
183
|
|
Сообщение от ANZR
givePizda.Write((UINT16)pid);
А еще вместо такого говна лучше
givePizda.Write(pid);
А еще вместо C Style каста (UINT32) стоит использовать C++ style касты
static_cast() Или reinterpret_cast()
UPD: а вообще стоит переписать весь код
C++:
Код:
int
pid
=
std
::
stoi
(
id
)
;
BitStream givePizda
;
givePizda
.
WriteBit
(
false
)
;
givePizda
.
Write
(
pid
)
;
// или unsigned short
givePizda
.
Write
(
1.32f
)
;
givePizda
.
Write
(
0ul
)
;
givePizda
.
Write
(
3ul
)
;
SF
->
getRakNet
(
)
->
SendRPC
(
RPC_GiveTakeDamage
,
&
givePizda
)
;
P.S. Я в курсе что 0ul может занимать больше 32 бит, но мы находимся в реалиях x86 и msvc где 0ul это unsigned long == 32bits
|
|
|

01.08.2021, 20:09
|
|
Участник форума
Регистрация: 03.08.2019
Сообщений: 168
С нами:
3568604
Репутация:
48
|
|
Сообщение от kin4stat
В этой рпц bool должен быть записан 1 битом, а не байтом, поэтому givePizda.WriteBit(false);
UPD: Packet list от bruno16 говно с дезинфой. Смотрите на вики бластхака(не все рпц там есть) либо в sampevents
Все бы ничего, но функции WriteBit нету в классе BitStream
Сообщение от kin4stat
А еще вместо такого говна лучше
givePizda.Write(pid);
А еще вместо C Style каста (UINT32) стоит использовать C++ style касты
static_cast() Или reinterpret_cast()
UPD: а вообще стоит переписать весь код
C++:
Код:
int
pid
=
std
::
stoi
(
id
)
;
BitStream givePizda
;
givePizda
.
WriteBit
(
false
)
;
givePizda
.
Write
(
pid
)
;
// или unsigned short
givePizda
.
Write
(
1.32f
)
;
givePizda
.
Write
(
0ul
)
;
givePizda
.
Write
(
3ul
)
;
SF
->
getRakNet
(
)
->
SendRPC
(
RPC_GiveTakeDamage
,
&
givePizda
)
;
P.S. Я в курсе что 0ul может занимать больше 32 бит, но мы находимся в реалиях x86 и msvc где 0ul это unsigned long == 32bits
По этой инфе - сниму шляпу, т.к ты открыл для меня style касты. Я до этого не ебал что это и как называется
|
|
|

01.08.2021, 21:20
|
|
Флудер
Регистрация: 06.11.2017
Сообщений: 2,759
С нами:
4483143
Репутация:
183
|
|
Все бы ничего, но функции WriteBit нету в классе BitStream
По идее Write0 или Write1 выполнит эту функцию(0 - false, 1 - true)
|
|
|
|
 |
Предыдущая тема
Следующая тема
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|