Полезный код - Форум
Суббота, 10.12.2016, 13:44
Качественные скрипты, моды и дополнения для GTA без регистрации
Главная Регистрация Вход
Приветствую Вас, Гость · RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Форум » Игры серии ГТА » Скриптинг » Полезный код (В помощь скриптеру)
Полезный код
DK22PacДата: Пятница, 11.05.2012, 00:39 | Сообщение # 1
$player_actor
Группа: Проверенные
Сообщений: 559
Статус: Offline
В этой теме можно выкладывать интересные исходники, или части кода.

Конвертирование мировых XY в XY скрина, в области радара.
Code
{$CLEO}
0AC7: 3@ = var 0@ offset
0AC7: 7@ = var 4@ offset
while true
     wait 0
     if
         player.Defined(0)
     then
         04C4: store_coords_to 0@ 1@ 2@ from_actor $3 with_offset 0.0 100.0 0.0
         0AA7: call_function 0x583530 num_params 2 pop 2 3@ 7@ 8@
         0AA5: call 0x5832F0 num_params 1 pop 1 7@
         0AE9: pop_float 9@
         0AA7: call_function 0x583480 num_params 2 pop 2 7@ 3@ 8@
         03F0: enable_text_draw 1  
         0AD1: show_formatted_text_highpriority "screenX: %.1f screenY: %.1f distance: %.2f" time 100 0@ 1@ 9@
     end
end

Проверка, что entity является автомобилем.
Code
// 0@ - entity struct
0@ += 0x36
0A8D: 1@ = read_memory 0@ size 1 virtual_protect 0
0B10: 1@ = 1@ AND 7
if
     1@ == 2
then
     ...
end
 
Den_spbДата: Пятница, 11.05.2012, 00:52 | Сообщение # 2
Создатель сайта
Группа: Администраторы
Сообщений: 1536
Статус: Offline
Спасибо, хорошая тема. Насчёт автомобиля - имеется ввиду тип модели или тип структуры CVehicle?
 
DK22PacДата: Пятница, 11.05.2012, 02:07 | Сообщение # 3
$player_actor
Группа: Проверенные
Сообщений: 559
Статус: Offline
По-моему, CVehicle.
1 - Здание
2 - Транспорт
3 - Пед
Есть ешё некоторые, по-моему, 7 - лодка.
 
VitalДата: Пятница, 11.05.2012, 19:25 | Сообщение # 4
Группа: Проверенные
Сообщений: 206
Статус: Offline
DK22Pac, кстати, кое-что об определении типа структур хотел спросить. (если я все, конечно, правильно понимаю). Я заметил как-то, что если дать самонаводящуюся ракетницу боту, то он может нацелиться на игрока, и ракета будет лететь в него, как и в авто. Может можно как-то определить, что записывается в цель ракеты? Так можно было бы сделать автонаводку не только на авто, но и на людей.

SCRIPTER
 
Den_spbДата: Суббота, 12.05.2012, 18:56 | Сообщение # 5
Создатель сайта
Группа: Администраторы
Сообщений: 1536
Статус: Offline
Quote (Vital)
Может можно как-то определить, что записывается в цель ракеты?


Можно. Информация есть тут:http://gtamodding.ru/wiki/Адреса_Памяти_(SA)#.D0.A1.D0.BD.D0.B0.D1.80.D1.8F.D0.B4.D1.8B
Code
Снаряды

0xC891A8 - Старт пула снарядов. Всего элементов в пуле - 32. Размер одного элемента - 36 байт.

....

+8 = [dword] Указатель на нацеленную машину (для тепловых ракет)


Попробуй записать по смещению +8 структур всех ракет указатель на какого-то актёра:
Code
0A96: 1@ = actor 0@ struct // 0@ - актёр-мишень   

for 2@ = 0 to 31
       0A90: 3@ = 2@ * 36 // int
       3@ += 0xC891A8
       3@ += 8
       0A8C: write_memory 3@ size 4 value 1@ virtual_protect 0
end
 
Форум » Игры серии ГТА » Скриптинг » Полезный код (В помощь скриптеру)
Страница 1 из 11
Поиск: