Пятница, 19.04.2024, 12:38
Качественные скрипты, моды и дополнения для GTA без регистрации
Главная Регистрация Вход
Приветствую Вас, Гость · RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Форум » Игры серии ГТА » Скриптинг » Вопросы по созданию КЛЕО-скриптов (Вопросы по опкодам, кодингу и др.)
Вопросы по созданию КЛЕО-скриптов
walkДата: Среда, 05.01.2011, 18:39 | Сообщение # 466
Группа: Проверенные
Сообщений: 96
Статус: Offline
Quote (Den_spb)
32@ и 33@ - таймеры с прямым отсчётом (их значения увеличиваются).

А в чём их разница? Или они оба одинаковые? wacko
 
Den_spbДата: Среда, 05.01.2011, 18:42 | Сообщение # 467
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
Отличий нет. Просто 2 независимых друг от друга таймера.
 
d88Дата: Среда, 05.01.2011, 22:33 | Сообщение # 468
Группа: Проверенные
Сообщений: 113
Статус: Offline
Quote (Den_spb)
Если ты его не менял, то оно должно быть равно 100.

В том-то и дело, что меняю.
 
Den_spbДата: Среда, 05.01.2011, 22:51 | Сообщение # 469
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
Quote (d88)
В том-то и дело, что меняю.
Меняешь максимальное здоровье или просто текущий уровень здоровья?
Если всё-таки вариант с максимальным здоровьем не подходит, то надо искать другие неиспользуемые или редко используемые смещения в структуре педа.
 
DK22PacДата: Четверг, 06.01.2011, 00:03 | Сообщение # 470
$player_actor
Группа: Проверенные
Сообщений: 559
Статус: Offline
Нужно ли делать в скриптах проверку
IsReplayInProgress?
Или игра(мир) в это время замирает, как в меню?
 
Den_spbДата: Четверг, 06.01.2011, 00:16 | Сообщение # 471
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
Не видел в скриптах такую проверку.
"Мир" останавливается, это отчётливо видно по положению движущихся предметов и времени на часах.
 
DK22PacДата: Четверг, 06.01.2011, 19:44 | Сообщение # 472
$player_actor
Группа: Проверенные
Сообщений: 559
Статус: Offline
Den_spb, ты не знаешь, с чем связано вращение пикапа?
Это анимация обьекта?
Просто надо заморозить пикап. Чтобы не вращался. Получил хэндл этого пикапа как оьтекта, но изменение угла никак на него не влияет.
 
Den_spbДата: Четверг, 06.01.2011, 20:16 | Сообщение # 473
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
С чем связано вращение - не знаю.
 
DK22PacДата: Четверг, 06.01.2011, 22:09 | Сообщение # 474
$player_actor
Группа: Проверенные
Сообщений: 559
Статус: Offline
Пока что написал такой код. Теперь надо сделать, чтобы когда пикап пропадал, обьект тоже пропалал. Можешь помочь?
Принцип такой: пикап скрывается, на земле создаётся оружие с моделью пикапа.
 
Den_spbДата: Четверг, 06.01.2011, 22:17 | Сообщение # 475
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
Что конкретно не получается?
 
DK22PacДата: Четверг, 06.01.2011, 22:35 | Сообщение # 476
$player_actor
Группа: Проверенные
Сообщений: 559
Статус: Offline
Quote
Что конкретно не получается?

Кое-как допёр, как это сделать... Пришлось ещё перебирать пул обьектов, но результат успешен. Обьект удаляется вместе с пикапом. Txt прикрепил. (на создание педа не обращай внимания - это для теста). Кстати после того как приаттачил обьект к пикапу, он ни в какую не хочет двигаться/ Сам пикап пробовал двигать (менял значения в структуре - тоже безрезультатно. Думаю, надо будет крепить обьект на оффсете, как я сделал с rotation'ом)
Кстати какие модели постоянно загружены, не знаешь?
Я знаю что точно #KNIFECUR и #GRENADE
 
Den_spbДата: Пятница, 07.01.2011, 00:36 | Сообщение # 477
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
Quote (DK22Pac)
Кстати какие модели постоянно загружены, не знаешь?
Если не ошибаюсь, всегда загружены модели из списка в начале main.scm.
Если ты создаёшь объект взамен существующего пикапа, то модель возможно загружать и не обязательно.
 
DK22PacДата: Пятница, 07.01.2011, 02:37 | Сообщение # 478
$player_actor
Группа: Проверенные
Сообщений: 559
Статус: Offline
Нашёл свою ошибку. Там от 0@ отнимается 0х18, это же смещение надо было потом приплюсовать. Получалось, что "счётчик цикла" сбивался. Теперь вроде всё нормально. Три обьекта лежали на земле, с "подсветкой", как положено)
 
walkДата: Пятница, 07.01.2011, 05:40 | Сообщение # 479
Группа: Проверенные
Сообщений: 96
Статус: Offline
Добавлено (07.01.2011, 05:40)
---------------------------------------------
Code
for 0@ = 0x9788DC to 0x97D63C step 0x20   
          0A8D: 1@ = read_memory 0@ size 1 virtual_protect 0   
          if   
              0039: 1@ == 4   
          then   
              000A: 0@ += -0x18   
              0A8D: 1@ = read_memory 0@ size 4 virtual_protect 0   

Почему к 0@ прибавляется смещение с минусом?-0x18

Сообщение отредактировал walk - Пятница, 07.01.2011, 05:43
 
DK22PacДата: Пятница, 07.01.2011, 10:29 | Сообщение # 480
$player_actor
Группа: Проверенные
Сообщений: 559
Статус: Offline
В общем, как я понимаю, что делают японские сриптеры:
Code
for 0@ = 0x9788DC to 0x97D63C step 0x20 // Перебор структур начинается не с начала 0x9788C0, а уже с прибавленным смещением (0x1C)                          
            0A8D: 1@ = read_memory 0@ size 1 virtual_protect 0   // На этом смещении мы узнаём тип пикапа         
            if                           
                0039: 1@ == 4    // Является ли этот пикап оружием (проверяем тип)                           
            then                           
                000A: 0@ += -0x18    // Отнимаем это и получаем адресс (1C-18) +0х4 байта от начала структуры                           
                0A8D: 1@ = read_memory 0@ size 4 virtual_protect 0  // Читаем этот адресс
                000A: 0@ += 0x18   // Добавляем это чтобы опять получить адресс со смещением +0x1C от начала структуры                           
                if                           
                    8039: not 1@ == 0    // Проверяем, можно ли "трансормировать" пикап в обьект                       
                then   

Дальше идёт преобразование структуры пикапа в структуру пикапа как обьекта (наверное), в нём я ещё не совсем разобрался.
 
Форум » Игры серии ГТА » Скриптинг » Вопросы по созданию КЛЕО-скриптов (Вопросы по опкодам, кодингу и др.)
Поиск: