Вопросы по созданию КЛЕО-скриптов 2
|
|
EmilioDurhamCop | Дата: Понедельник, 20.08.2012, 14:51 | Сообщение # 166 |
Группа: Пользователи
Сообщений: 33
Статус: Offline
| Возможно, мне так не получится сделать. Если будет подробный пример, я бы потренировался.
|
|
| |
ЯсиЧ | Дата: Понедельник, 20.08.2012, 20:09 | Сообщение # 167 |
Группа: Пользователи
Сообщений: 1
Статус: Offline
| здравствуйте! у меня такая идея: Я знаю что есть скрипт, который добавляет возможность сигналить находясь в поезде... а я хочу сделать так, чтобы когда едешь на поезде или стоишь рядом со станцией, противоположный поезд(когда установлен скрипт "Новый алгоритм движения поездов") тоже давал гудок! как сделать гудок я знаю... Но мне нужен опкод который проверяет есть ли рядом поезд(если игрок не в поезде) и если рядом второй поезд(если игрок едет в поезде). Мне нужна проверка поездов! Помогите плиз! В итоге получится так: -Когда игрок стоит на станции, подъезжает поезд и сам сигналит. или -Когда игрок едет на поезде и навстречу едет другой поезд и он, как подъезжает к поезду. в котором едет игрок, сигналит ему! Заранее СПАСИБО!
|
|
| |
Den_spb | Дата: Понедельник, 20.08.2012, 20:45 | Сообщение # 168 |
Создатель сайта
Группа: Администраторы
Сообщений: 1600
Статус: Offline
| Quote (EmilioDurhamCop) Возможно, мне так не получится сделать. Если будет подробный пример, я бы потренировался. Я и так дал пример кода, где всё прокомментировал - подробнее вроде некуда. Могу подсказать, что непонятно - если будут конкретные вопросы.
Quote (ЯсиЧ) Мне нужна проверка поездов! Помогите плиз! Все опкоды можно найти с помощью Поиска опкодов (меню СБ: Сервис - Инструменты - Поиск опкодов). проверка, существует ли транспортное средство - car defined проверка, находится ли актёр рядом с транспортным средством - actor near car проверка, находится ли актёр в транспортном средстве - actor in car
|
|
| |
EmilioDurhamCop | Дата: Вторник, 21.08.2012, 14:57 | Сообщение # 169 |
Группа: Пользователи
Сообщений: 33
Статус: Offline
| Den_spb, я забыл спросить, а что нужно прописать в Санни, чтобы вызвать на клавиатуре кнопкой? Ещё, я скопировал весь весь код, но не заработал. Конечно, без смеха это не обойдется.
Сообщение отредактировал EmilioDurhamCop - Вторник, 21.08.2012, 15:17 |
|
| |
Den_spb | Дата: Вторник, 21.08.2012, 16:40 | Сообщение # 170 |
Создатель сайта
Группа: Администраторы
Сообщений: 1600
Статус: Offline
| Quote (EmilioDurhamCop) Den_spb, я забыл спросить, а что нужно прописать в Санни, чтобы вызвать на клавиатуре кнопкой? Для этого применяется проверка нажатия клавиши: Code if 0AB0: key_pressed 73 // i then // код, прописанный здесь, выполнится, если нажата кнопка "i". Номера клавиш см. в справке: КЛЕО3 - Список кнопок 0AB0 end Quote (EmilioDurhamCop) Ещё, я скопировал весь весь код, но не заработал. Конечно, без смеха это не обойдется. Что не заработал? Чтобы создать cs-файл, надо применить команду Запуск-Компилировать.
|
|
| |
EmilioDurhamCop | Дата: Вторник, 21.08.2012, 18:17 | Сообщение # 171 |
Группа: Пользователи
Сообщений: 33
Статус: Offline
| Все равно не хочет работать. Если вставить это код, то получится: Code {$CLEO} // команда начала клео-скрипта 023c: request_special_actor 'sweet' as 1 // объявление модели на загрузку 038b: load requested models // загрузка объявленных моделей actor.create(1@,8, #special01, 2252.299, -1260.216, 23.962) // создание актёра if 0AB0: key_pressed 73 // i then // код, прописанный здесь, выполнится, если нажата кнопка "i". Номера клавиш см. в справке: КЛЕО3 - Список кнопок 0AB0 0A93: // команда завершения клео-скрипта end И игра вылетит.
|
|
| |
Den_spb | Дата: Вторник, 21.08.2012, 19:02 | Сообщение # 172 |
Создатель сайта
Группа: Администраторы
Сообщений: 1600
Статус: Offline
| Объясни подробно, чего ты хочешь добиться, и что не получается - телепатов тут нет. Вариант кода, который предоставил я, рабочий. Он создаёт актёра в координатах 2252.299 -1260.216 23.962. Твой вариант - неправильный, игра с ним вылетит. Опкод 0A93 всегда должен стоять в конце кода.
|
|
| |
EmilioDurhamCop | Дата: Вторник, 21.08.2012, 21:21 | Сообщение # 173 |
Группа: Пользователи
Сообщений: 33
Статус: Offline
| Ну тогда, что нужно сделать, чтобы актёр появился возле/напротив меня? (какие координаты нужно прописать?)
|
|
| |
Den_spb | Дата: Вторник, 21.08.2012, 21:57 | Сообщение # 174 |
Создатель сайта
Группа: Администраторы
Сообщений: 1600
Статус: Offline
| Если актёр должен создаваться рядом с игроком, то сначала надо узнать координаты игрока. Вот пример: при нажатии i создаётся актёр в 5 метрах от игрока (перед ним):Code {$CLEO} wait 0 while true wait 0 if player.Defined($player_char) then if 0AB0: key_pressed 73 // i then 04C4: store_coords_to 0@ 1@ 2@ from_actor $player_actor with_offset 0.0 5.0 0.0 023c: request_special_actor 'sweet' as 1 038b: load requested models actor.create(3@,8, #special01, 0@, 1@, 2@) actor.RemoveReferences(3@) wait 2000 end end end
|
|
| |
EmilioDurhamCop | Дата: Вторник, 21.08.2012, 23:02 | Сообщение # 175 |
Группа: Пользователи
Сообщений: 33
Статус: Offline
| Блин, забыл. А что насчет дачи оружия этому актёру оружие? (извини за тупость) Если в середине кода написать 01B2: give_actor $PLAYER_ACTOR weapon 28 ammo 60 01B9: set_actor $PLAYER_ACTOR armed_weapon_to 0. Это будет правильно?
|
|
| |
Den_spb | Дата: Вторник, 21.08.2012, 23:10 | Сообщение # 176 |
Создатель сайта
Группа: Администраторы
Сообщений: 1600
Статус: Offline
| У актёра скорее всего будет какое-то оружие (пистолет), т.к. он создаётся как член банды. Но можно дать и другое оружие с помощью команды 01B2. Перед тем, как давать актёру оружие, надо загрузить его модель:Code {$CLEO} wait 0 while true wait 0 if player.Defined($player_char) then if 0AB0: key_pressed 73 // i then 04C4: store_coords_to 0@ 1@ 2@ from_actor $player_actor with_offset 0.0 5.0 0.0 023c: request_special_actor 'sweet' as 1 model.Load(#MICRO_UZI) 038b: load requested models actor.create(3@,8, #special01, 0@, 1@, 2@) 01B2: give_actor 3@ weapon 28 ammo 60 // Load the weapon model before using this model.Destroy(#MICRO_UZI) actor.RemoveReferences(3@) wait 2000 end end end
|
|
| |
EmilioDurhamCop | Дата: Вторник, 21.08.2012, 23:23 | Сообщение # 177 |
Группа: Пользователи
Сообщений: 33
Статус: Offline
| Т.е. загрузить надо модель педа или оружия?
|
|
| |
Den_spb | Дата: Вторник, 21.08.2012, 23:26 | Сообщение # 178 |
Создатель сайта
Группа: Администраторы
Сообщений: 1600
Статус: Offline
| Загрузить надо и модель педа, и модель оружия (см. код). Перед тем, как создать в игре что-либо надо загрузить в память модель этого объекта, т.к. он не может быть создан "из ничего".
|
|
| |
EmilioDurhamCop | Дата: Вторник, 21.08.2012, 23:29 | Сообщение # 179 |
Группа: Пользователи
Сообщений: 33
Статус: Offline
| Code actor.create(3@,8, #special01, 0@, 1@, 2@) А что за цифры в скобках? Они ещё с "@".
|
|
| |
Den_spb | Дата: Вторник, 21.08.2012, 23:34 | Сообщение # 180 |
Создатель сайта
Группа: Администраторы
Сообщений: 1600
Статус: Offline
| Это номер переменной, в которую записывается указатель на созданного актёра. В дальнейшем, чтобы произвести над данным актёром какие-то действия, нужно указать в команде нужный номер переменной - благодаря этому игра понимает, над каким именно актёром надо произвести действие:Quote actor.create(3@,8, #special01, 0@, 1@, 2@) 01B2: give_actor 3@ weapon 28 ammo 60 // Load the weapon model before using this Всего в каждом скрипте 32 переменных: 0@ - 31@.
|
|
| |