 |
|

11.06.2020, 23:11
|
|
Флудер
Регистрация: 06.11.2017
Сообщений: 2,759
С нами:
4483143
Репутация:
183
|
|
Сделал внешний CoordMaster для CRMP. Причина этому - отсутствие клео, сампфункса. Сделал чисто для практики. Чтобы не получать урон от падения, сделал отдельный поток на "Заморозку" Z и "Заморозку" Состояния игрока( CPed +0x46C = [dword] Проверка игрока: 3 - Пешком)
Все работает хорошо, до тех пор, пока по факту анимация должна быть другая. Т.е. когда я стою на земле, состояние 3, но когда я в воздухе, и я программно меняю 0 на 3, игра зависает(Нельзя двигать камерой) и почти не воспринимает нажатия(Серверные вызовы по прежнему работают(к примеру инвентарь на I открывается). Если ничего не поняли, то вот видео:
Код:
Функция Freeze:
[CODE]
int
state
=
3
;
cout
Сам CoordMaster:
[CODE]
float
stepX
=
(
x
>
endPosX
)
?
-
20.0
:
20.0
;
float
stepY
=
(
y
>
endPosY
)
?
-
20.0
:
20.0
;
Sleep
(
7000
)
;
bool
freezeState
=
true
;
thread
freezer
(
freezeZ
,
ref
(
freezeState
)
,
processHandle
,
point
,
cPed
,
ref
(
z
)
)
;
freezer
.
detach
(
)
;
while
(
(
x
!=
endPosX
)
||
(
y
!=
endPosY
)
)
{
x
+=
(
endPosX
Кстати как я понял, этот "Фриз" не помогает от урона. После приземления урон я получил. Может еще найдется тот кто сможет мне помочь и в этом 
|
|
|

12.06.2020, 04:39
|
|
Постоянный
Регистрация: 18.03.2017
Сообщений: 410
С нами:
4818548
Репутация:
133
|
|
Сообщение от KiN4StAt
я программно меняю 0 на 3, игра зависает(Нельзя двигать камерой) и почти не воспринимает нажатия(Серверные вызовы по прежнему работают(к примеру инвентарь на I открывается)
Это вроде встроенный античит так делает, патчи его, как делает собейт
https://github.com/BlastHackNet/mod_.../samp.cpp#L941
|
|
|

12.06.2020, 14:50
|
|
Участник форума
Регистрация: 14.04.2018
Сообщений: 122
С нами:
4254200
Репутация:
98
|
|
Чем отличается проверка cVehicle от pVehicle?
|
|
|

12.06.2020, 14:58
|
|
Флудер
Регистрация: 03.08.2016
Сообщений: 2,363
С нами:
5145387
Репутация:
183
|
|
Сообщение от T4yz1e
Чем отличается проверка cVehicle от pVehicle?
названием
код скинь, ибо не понятно
|
|
|

12.06.2020, 15:09
|
|
Флудер
Регистрация: 17.06.2013
Сообщений: 3,635
С нами:
6791977
Репутация:
183
|
|
Сообщение от T4yz1e
Ну вообще вот https://www.blast.hk/threads/49906/post-464765
C++:
Код:
char
*
pVehicle
=
(
char
*
)
(
(
*
pActor
)
+
0x46C
)
;
if
(
*
pVehicle
!=
1
)
Мне бы по хорошему надо её через виртуал протект прогнать, но как это правильно сделать я не понимаю.
И стало интересно чем она отличатся от cVehicle
cVehicle - Название объекта класса.
pVehicle - Название переменной указателя на класс объекта cVehicle.
Сообщение от T4yz1e
Мне бы по хорошему надо её через виртуал протект прогнать, но как это правильно сделать я не понимаю.
Свойствам класса не нужно применять защиту.
|
|
|

12.06.2020, 15:14
|
|
Участник форума
Регистрация: 14.04.2018
Сообщений: 122
С нами:
4254200
Репутация:
98
|
|
Сообщение от DarkP1xel
cVehicle - Название объекта класса.
pVehicle - Название переменной указателя на класс объекта cVehicle.
Свойствам класса не нужно применять защиту.
У меня экстернал)
Кстати, я хотел у тебя спросить. Второй гайд по написанию .dll, где ты про клавиши и про WindProc рассказываешь, он для WinForms подойдет?
|
|
|

12.06.2020, 15:34
|
|
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами:
6921957
Репутация:
183
|
|
Откажись от этих форм вообще. Забудь о них вообще. Делай гуи на Qt.
|
|
|

12.06.2020, 15:45
|
|
Участник форума
Регистрация: 14.04.2018
Сообщений: 122
С нами:
4254200
Репутация:
98
|
|
Сообщение от Dark_Knight
Откажись от этих форм вообще. Забудь о них вообще. Делай гуи на Qt.
Умру я там, в этом qt
|
|
|

12.06.2020, 16:19
|
|
Флудер
Регистрация: 06.11.2017
Сообщений: 2,759
С нами:
4483143
Репутация:
183
|
|
Помогло просто занопить инструкцию по адресу gta_sa.exe + 0x1E8FC4 (6 * 0x90) которая меняла состояние игрока на 0(в полете) (Возможно она меняла и другие состояния, но меня интересовало именно это). Анимация того что игрок в воздухе все равно есть, но она на перемещение, серверный античит и урон при падении никак не влияет.
Адрес постоянный. Теперь игра не ломается. В любом случае спасибо за помощь!
И кстати, зачем нужен VirtualProtect? Что будет если его не использовать? У меня вроде и без него все замечательно работает 
|
|
|

12.06.2020, 18:57
|
|
Участник форума
Регистрация: 14.04.2018
Сообщений: 122
С нами:
4254200
Репутация:
98
|
|
Сообщение от KiN4StAt
Помогло просто занопить инструкцию по адресу gta_sa.exe + 0x1E8FC4 (6 * 0x90) которая меняла состояние игрока на 0(в полете) (Возможно она меняла и другие состояния, но меня интересовало именно это). Анимация того что игрок в воздухе все равно есть, но она на перемещение, серверный античит и урон при падении никак не влияет.
Адрес постоянный. Теперь игра не ломается. В любом случае спасибо за помощь!
И кстати, зачем нужен VirtualProtect? Что будет если его не использовать? У меня вроде и без него все замечательно работает
Для записи в память.
Ты попробуй дефолтные функции в экстернале поделать, без этого фиг че заработает
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|