Вопросы по созданию КЛЕО-скриптов
|
|
Den_spb | Дата: Среда, 17.08.2011, 00:58 | Сообщение # 811 |
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
| Не исключено, что некоторые смещения могут заполняться уже после "конструирования" педа.
|
|
| |
DK22Pac | Дата: Среда, 17.08.2011, 01:13 | Сообщение # 812 |
$player_actor
Группа: Проверенные
Сообщений: 559
Статус: Offline
| Да. Но есть один нюанс. В IDA все смещения, к которым есть референс, обозначены. Правда, отсюда выплывает и ещё кое-что - не всегда поля структуры заполняются непосредственно через "прямой" адресс, иногда это может быть и "адресс+смещение".
|
|
| |
Den_spb | Дата: Среда, 17.08.2011, 02:05 | Сообщение # 813 |
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
| Quote (DK22Pac) В IDA все смещения, к которым есть референс, обозначены. Этой фразы не понял. Как они обозначены и где?
|
|
| |
Vital | Дата: Четверг, 18.08.2011, 21:22 | Сообщение # 814 |
Группа: Проверенные
Сообщений: 206
Статус: Offline
| Значит, пока что нету явного способа найти свободные адреса структуры? А есть ли список всех возможных адресов структуры актеров? Насколько я понимаю, для актера всего несколько вещей должны сохраняться до самой смерти актера: здоровье, тип пешехода, оружие, спец. флаги, если таковые имеются. P.S. Мне они нужны лишь для актеров, у которых тип пешехода - какая-нибудь банда.
SCRIPTER
|
|
| |
ILYALION | Дата: Воскресенье, 11.09.2011, 18:30 | Сообщение # 815 |
Группа: Проверенные
Сообщений: 325
Статус: Offline
| Я помню, что DK22Pac где-то писал опкод, при котором автомобиль, в котором нет людей, при переворачивании не взрывается. Подскажите, пожалуйста этот опкод, а то все темы просмотрел, но не нашёл.
|
|
| |
444andrei444 | Дата: Воскресенье, 11.09.2011, 20:58 | Сообщение # 816 |
Группа: Проверенные
Сообщений: 15
Статус: Offline
| не DK22Pas а sergey81 http://sannybuilder.com/forums/viewtopic.php?id=1164&p=2
|
|
| |
ILYALION | Дата: Понедельник, 12.09.2011, 20:02 | Сообщение # 817 |
Группа: Проверенные
Сообщений: 325
Статус: Offline
| Нет, там другое, я точно помню что DK22Pac писал опкод Добавлено (12.09.2011, 20:02) --------------------------------------------- В опкоде 078A: 43@ = get_train 40@ carriage 1 handle, как я понял, находится хэндл 1го вагона поезда 40@. А локомотив поезда в этом опкоде обозначается как нулевой вагон?
|
|
| |
Den_spb | Дата: Понедельник, 12.09.2011, 20:09 | Сообщение # 818 |
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
| Quote (ILYALION) В опкоде 078A: 43@ = get_train 40@ carriage 1 handle, как я понял, находится хэндл 1го вагона поезда 40@. А локомотив поезда в этом опкоде обозначается как нулевой вагон? Да. Кстати, хэндл локомотива (нулевого вагона) это и есть хэндл поезда.
|
|
| |
ILYALION | Дата: Понедельник, 12.09.2011, 20:10 | Сообщение # 819 |
Группа: Проверенные
Сообщений: 325
Статус: Offline
| нашёл опкод 03CD: disable_car 73@ stuck_check. Что он даёт? Если переводить, то получается: "Отключить у тачки 73@ переворачивание..." Не отключает ли он возгорание при переворачивании авто?
|
|
| |
Den_spb | Дата: Понедельник, 12.09.2011, 20:12 | Сообщение # 820 |
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
| Quote (ILYALION) нашёл опкод 03CD: disable_car 73@ stuck_check. Что он даёт? Если переводить, то получается: "Отключить у тачки 73@ переворачивание..." Не отключает ли он возгорание при переворачивании авто? Может быть. Проверь.
|
|
| |
ILYALION | Дата: Понедельник, 12.09.2011, 20:32 | Сообщение # 821 |
Группа: Проверенные
Сообщений: 325
Статус: Offline
| Давно не писал скрипты и всё, что знал, позабывал. Вот что я написалCode {$CLEO} 003D: :begin 003D: if player.Defined(0) then if actor.Driving($PLAYER_ACTOR) then 00D9: 0@ = actor $PLAYER_ACTOR car 1@ = Car.Model(0@) 03CD: disable_car 0@ stuck_check end end Игра вылетает. Напишите, пожалуйста рабочий вариант.
|
|
| |
Den_spb | Дата: Понедельник, 12.09.2011, 20:43 | Сообщение # 822 |
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
| Code {$CLEO} wait 0 while true wait 0 if player.Defined(0) then if actor.Driving($PLAYER_ACTOR) then 03C0: 0@ = actor $PLAYER_ACTOR car 03CD: disable_car 0@ stuck_check break end end end 0A93:
|
|
| |
Optimus | Дата: Понедельник, 12.09.2011, 20:49 | Сообщение # 823 |
Группа: Заблокированные
Сообщений: 27
Статус: Offline
| У меня вопрос,писал я скрипт,который трансформирует робота в машину,но если про ехать на машине и трансформироваться в робота то вылетает вот код скрипта
|
|
| |
Den_spb | Дата: Понедельник, 12.09.2011, 20:56 | Сообщение # 824 |
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
| Серьёзных ошибок не вижу. Попробуй воспользоваться ScmLog. Глобальные переменные в клео не употребляются. Замени $CAR на 0@.
|
|
| |
ILYALION | Дата: Понедельник, 12.09.2011, 21:15 | Сообщение # 825 |
Группа: Проверенные
Сообщений: 325
Статус: Offline
| Проверил. Машина загорелась. Den_spb, можете написать скрипт переворачивания авто на крышу по нажатию клавиши, если не сложно? Есть ведь скрипты, ставящие авто на колёса, значит возможно написать и "обратный" скрипт.
Сообщение отредактировал ILYALION - Вторник, 13.09.2011, 13:24 |
|
| |