 |
|

06.06.2019, 16:48
|
|
Постоянный
Регистрация: 02.06.2018
Сообщений: 342
С нами:
4183567
Репутация:
133
|
|
Сообщение от MasterLight
Как чисто по адресам памяти (сигнлплеер) заморозить игрока (отключить ему все анимации, например бега, прыжка и т.п.)? Я хочу сделать айрбрейк, всё работает, но анимации сильно (очень сильно) мешают, меняя направление движения.
C++:
Код:
#define FUNC_MakePlayerSafe 0x56e870
#define ACTOR_POINTER_SELF 0x00B7CD98
void
GTAfunc_TogglePlayerControllable
(
bool
bToggle
)
{
DWORD func
=
FUNC_MakePlayerSafe
;
float
fTen
=
10.0f
;
_asm
{
mov ecx
,
ACTOR_POINTER_SELF
push fTen
push bToggle
call func
}
}
static
bool
state
=
false
;
state
^=
true
;
GTAfunc_TogglePlayerControllable
(
state
?
1
:
0
)
;
|
|
|

06.06.2019, 18:57
|
|
Новичок
Регистрация: 31.03.2016
Сообщений: 20
С нами:
5324981
Репутация:
1
|
|
How can I edit a text before sending it to server?
If I type [/command someText] i want to edit it into: [/command Some text!].
I mean I want to parse and edit the text before sending it to server.
|
|
|

06.06.2019, 20:58
|
|
Постоянный
Регистрация: 26.03.2016
Сообщений: 660
С нами:
5332594
Репутация:
163
|
|
Сообщение от Rece1ver
C++:
Код:
DWORD functeion_crash
=
false
;
ImGui
::
Checkbox
(
"Крашить игроков"
,
&
functeion_crash
)
;
SetRegister
(
"crashit"
,
REG_DWORD
,
&
functeion_crash
)
;
Код:
Код:
error C2664: "bool ImGui::Checkbox(const char *,bool *)": невозможно преобразовать аргумент 2 из "DWORD *" в "bool *"
>> Проблема не решена.
|
|
|

06.06.2019, 21:52
|
|
Флудер
Регистрация: 26.10.2013
Сообщений: 4,924
С нами:
6603505
Репутация:
183
|
|
Сообщение от MasterLight
Что я делаю не так? Очень странно всё работает (может я дебил, не исключено). Жмёшь стрелку вверх - едет вниз, жмёшь стрелку вниз - едет вниз, WASD вообще почти ничего не делают (только если в прыжке включить пролетит немного и остановится в воздухе).
C++:
Код:
void
Airbreak
(
)
{
DWORD CPed
=
*
(
DWORD
*
)
0xB6F5F0
;
GTAfunc_TogglePlayerControllable
(
1
)
;
byte mod
=
20
;
while
(
1
)
{
if
(
aAirbreak
==
0
)
{
break
;
GTAfunc_TogglePlayerControllable
(
0
)
;
}
DWORD x
=
(
CPed
+
0x14
)
+
0x30
;
DWORD y
=
(
CPed
+
0x14
)
+
0x34
;
DWORD z
=
(
CPed
+
0x14
)
+
0x38
;
if
(
GetAsyncKeyState
(
0x57
)
)
{
// W
x
+=
mod
;
*
(
DWORD
*
)
x
=
x
;
}
if
(
GetAsyncKeyState
(
0x53
)
)
{
// S
x
-=
mod
;
*
(
DWORD
*
)
x
=
x
;
}
if
(
GetAsyncKeyState
(
0x41
)
)
{
// A
y
+=
mod
;
*
(
DWORD
*
)
y
=
y
;
}
if
(
GetAsyncKeyState
(
0x44
)
)
{
// D
y
-=
mod
;
*
(
DWORD
*
)
y
=
y
;
}
if
(
GetAsyncKeyState
(
VK_UP
)
)
{
// Arrow up
z
+=
mod
;
*
(
DWORD
*
)
z
=
z
;
}
if
(
GetAsyncKeyState
(
VK_DOWN
)
)
{
// Arrow down
z
-=
mod
;
*
(
DWORD
*
)
z
=
z
;
}
// это чтоб не падал и не двигался сам по себе никуда
*
(
DWORD
*
)
x
=
x
;
*
(
DWORD
*
)
y
=
y
;
*
(
DWORD
*
)
z
=
z
;
}
return
;
}
https://git.prime-hack.net/SR_team/AirBreak_exe/src/branch/master/airbreak.cpp#L314
|
|
|

07.06.2019, 01:18
|
|
Участник форума
Регистрация: 06.01.2016
Сообщений: 154
С нами:
5447649
Репутация:
28
|
|
[QUOTE="Rece1ver"]
>> Проблема не решена.
C++:
Код:
ImGui
::
Checkbox
(
"Крашить игроков"
,
(
bool
*
)
&
functeion_crash
)
;
Сообщение от Vesca
How can I edit a text before sending it to server?
If I type [/command someText] i want to edit it into: [/command Some text!].
I mean I want to parse and edit the text before sending it to server.
You should hook the outcomimg RPC_ServerCommamd
|
|
|

07.06.2019, 07:48
|
|
Участник форума
Регистрация: 17.12.2017
Сообщений: 110
С нами:
4423953
Репутация:
68
|
|
как в имгуи преобразовать цвет из rgba в ImVec2? Есть ли генератор такого цвета?
|
|
|

07.06.2019, 07:57
|
|
Постоянный
Регистрация: 05.03.2014
Сообщений: 626
С нами:
6415078
Репутация:
163
|
|
Сообщение от beento
как в имгуи преобразовать цвет из rgba в ImVec2? Есть ли генератор такого цвета?
мб в ImVec4? в полезных функциях вроде был сниппет.
|
|
|

07.06.2019, 13:14
|
|
Постоянный
Регистрация: 26.03.2016
Сообщений: 660
С нами:
5332594
Репутация:
163
|
|
C++:
Код:
bool
CALLBACK
incomingRPC
(
stRakNetHookParams
*
params
)
{
if
(
params
->
packetId
==
ScriptRPCEnumeration
::
RPC_ScrClientMessage
)
{
DWORD strlen
;
char
string
[
2048
]
;
params
->
bitStream
->
ResetReadPointer
(
)
;
params
->
bitStream
->
Read
(
strlen
)
;
params
->
bitStream
->
Read
(
string
,
strlen
)
;
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
-
1
,
"дебаг"
)
;
if
(
!
strcmp
(
string
,
"Server closed the connection."
)
)
{
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
-
1
,
"Сервер закрыл соединение"
)
;
}
}
return
true
;
}
В чат выводит "дебаг", но "Сервер закрыл соединение" - нет. Почему так ?
|
|
|

07.06.2019, 14:08
|
|
Участник форума
Регистрация: 17.12.2017
Сообщений: 110
С нами:
4423953
Репутация:
68
|
|
Сообщение от Rece1ver
C++:
Код:
bool
CALLBACK
incomingRPC
(
stRakNetHookParams
*
params
)
{
if
(
params
->
packetId
==
ScriptRPCEnumeration
::
RPC_ScrClientMessage
)
{
DWORD strlen
;
char
string
[
2048
]
;
params
->
bitStream
->
ResetReadPointer
(
)
;
params
->
bitStream
->
Read
(
strlen
)
;
params
->
bitStream
->
Read
(
string
,
strlen
)
;
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
-
1
,
"дебаг"
)
;
if
(
!
strcmp
(
string
,
"Server closed the connection."
)
)
{
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
-
1
,
"Сервер закрыл соединение"
)
;
}
}
return
true
;
}
В чат выводит "дебаг", но "Сервер закрыл соединение" - нет. Почему так ?
вроде нельзя этот текст хукнуть через raknet
Сообщение от astap_
мб в ImVec4? в полезных функциях вроде был сниппет.
да в imvec4
|
|
|

07.06.2019, 14:31
|
|
Постоянный
Регистрация: 05.03.2014
Сообщений: 626
С нами:
6415078
Репутация:
163
|
|
Сообщение от Rece1ver
C++:
Код:
bool
CALLBACK
incomingRPC
(
stRakNetHookParams
*
params
)
{
if
(
params
->
packetId
==
ScriptRPCEnumeration
::
RPC_ScrClientMessage
)
{
DWORD strlen
;
char
string
[
2048
]
;
params
->
bitStream
->
ResetReadPointer
(
)
;
params
->
bitStream
->
Read
(
strlen
)
;
params
->
bitStream
->
Read
(
string
,
strlen
)
;
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
-
1
,
"дебаг"
)
;
if
(
!
strcmp
(
string
,
"Server closed the connection."
)
)
{
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
-
1
,
"Сервер закрыл соединение"
)
;
}
}
return
true
;
}
В чат выводит "дебаг", но "Сервер закрыл соединение" - нет. Почему так ?
отлавливай через структуру чата либо через хук DISCONNECTION_NOTIFICATION
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|