You are not logged in.
Привет, уточняю сразу что вопрос касается игры гта вайс сити. Меня интересуют оффсеты, которые:
1) игроку даётся несколько единиц хп если он сел в машину скорой помощи
2) игроку выдается несколько патронов с дробовиком если он сел в полицейскую машину
и как эти фишки от машин возможно отключить ? Нужно какой-то оффсет прочитать/записать через клео ?
Offline
Это происходит в функции
.text:005B89F0 CVehicle::SetDriver((CPed *)) proc near
вот например добавление 20 ХП
.text:005B8AC2 call GetPlayerPed
.text:005B8AC7 mov dl, ds:_players.maxHealth
.text:005B8ACD fld flt_69C69C
можно записать 0 по этому адресу
.data:0069C69C flt_69C69C dd 20.0
тогда здоровье не будет увеличиваться
с оружием чуть сложнее
.text:005B8C0D mov ecx, ebp ; CPed *
.text:005B8C0F push 1 ; flag
.text:005B8C11 push 3 ; weaponIndex
.text:005B8C13 call CPed__HasWeapon
.text:005B8C18 test al, al
.text:005B8C1A jz loc_5B8CD0
.text:005B8C20
.text:005B8C20 loc_5B8C20: ; CODE XREF: CVehicle::SetDriver((CPed *))+21Bj
.text:005B8C20 push 1 ; flags
.text:005B8C22 push 261 ; modelIndex
.text:005B8C27 call RequestStream
самое простое что тут можно сделать, это инвертировать проверку на наличие оружия у игрока. в оригинальной версии оружие выдается, если у игрока еще нет шотгана, можно сделать наоборот. если шотгана нет - не выдавать.
для этого должно быть достаточно записать 0x85 по адресу 005B8C1B
write_memory 0x005B8C1B 1 0x85 1
ps. в игре не проверял
Offline
Здравствуйте, тема еще актуальна. Я повторял свою просьбу не только здесь, получал ответ. Но видимо оффсеты не те. Я использую ехе-шник версии 1.0
https://media.discordapp.net/attachment … height=536
Код исходный вот такой как на картинке. Главная проблема в том что не отключаются бонусы от фбр (броня), и от полицейской машины (дробовик). От полицейской машины пробовали оффсеты несколько раз - пока пришлось закомментировать.
Зато 100% работает отключение бонуса от скорой помощи.
Код обновился, теперь работает отключение точно бонуса хп от скорой, и бонуса дробашом от коповозки.
Вот пожалуйста текущий исходный код. Возможно что оффсетом ошиблись, уж не знаю.
{$CLEO .cs} 0000: 03A4: script_name 'Mvlght' :name1 wait 0 05E5: 0@ = game_version if 0@ == 0 // integer values else_jump @name2 0A8C: write_memory 0x69C69C size 4 value 0.0 virtual_protect 1 0A8C: write_memory 0x094AE6C size 2 value 0 virtual_protect 1 0A8C: write_memory 0x5B8974 size 11 value 0x90 virtual_protect 1 0A8C: write_memory 0x5B8987 size 9 value 0x90 virtual_protect 1 0A8C: write_memory 0x5B89C8 size 11 value 0x90 virtual_protect 1 //0A8C: write_memory 0x05B8C1B size 1 value 0x85 virtual_protect 1 :name2 0A93: terminate_this_custom_script
Но от фбр бонус пока не отключается, как давали броню за посадку в фбр, так и дают.
Тема закрыта, так как решение удалось недавно найти.
Last edited by Remca12 (13-12-2021 10:11)
Offline