Вопросы по созданию КЛЕО-скриптов
|
|
walk | Дата: Среда, 05.01.2011, 18:39 | Сообщение # 466 |
Группа: Проверенные
Сообщений: 96
Статус: Offline
| Quote (Den_spb) 32@ и 33@ - таймеры с прямым отсчётом (их значения увеличиваются). А в чём их разница? Или они оба одинаковые?
|
|
| |
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 Дальше идёт преобразование структуры пикапа в структуру пикапа как обьекта (наверное), в нём я ещё не совсем разобрался.
|
|
| |