Вопросы скриптинга, связанные с транспортом
|
|
Den_spb | Дата: Воскресенье, 12.02.2012, 16:58 | Сообщение # 31 |
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
| Quote (cement) А как теперь повреждаемость, если не будет эффект посадки на землю как колёсного самолёта, то двигать колёса смысла нет.Всё равно при посадке будет самолёт разбит. Ну тогда только врезку в exe делать. Чем отличается самолёт с шасси от гидроплана? Только ИД-номером модели или есть какие-то определяющие параметры в vehicles.ide/handling?
Quote (cement) И какие команды отвечают за начало движения? Движение при только нажатой клавише и движение от однократного нажатия это разные опкоды или один и тот же? И если при однократном нажатии, то на сколько происходит движение. Опкодов, создающих движение при нажатой клавише нет. Есть опкоды для проверки нажатия клавиш, есть опкод сообщающий транспорту мгновенную скорость, и есть опкод, плавно разгоняющий транспорт до определённого значения скорости с дальнейшим поддержанием этой скорости.
|
|
| |
laggth | Дата: Воскресенье, 12.02.2012, 23:37 | Сообщение # 32 |
Группа: Пользователи
Сообщений: 77
Статус: Offline
| Почему такой код вызывает вылетания?: Code {$VERSION 3.1.0027} {$CLEO .cs}
//-------------MAIN---------------
thread 'TrenRed' wait 0 jump @NONAME_2 0662: NOP "TrenRed"
//thread "eltr4"
:NONAME_2 wait 100 if and 0256: player $PLAYER_CHAR defined $ONMISSION == 0 jf @NONAME_2 jump @NONAME_29
:NONAME_29 wait 0 Model.Load(3196) //red Model.Load(3136) Model.Load(538) Model.Load(570) 038B: load_requested_models wait 100 Model.Destroy(570) Model.Destroy(538) Model.Destroy(3196) Model.Destroy(3136) jump @NONAME_47
:NONAME_47 wait 0 if and Model.Available(3136) //Model.Available(3146) //Model.Available(3147) Model.Available(3196) //Model.Available(908) //Model.Available(909) // Model.Available(797) jf @NONAME_47 jump @TRI
:TRI wait 0 if and //Model.Available(797) //Model.Available(798) // Model.Available(799) Model.Available(538) Model.Available(570) //Model.Available(3190) //Model.Available(3191) //Model.Available(3192) //Model.Available(3189) jf @TRI jump @NONAME_74
:NONAME_74 wait 2000 //Model.Destroy(3191) //Model.Destroy(3192) 06D8: 10@ = create_train_at 1170.86 -1404.77 26.3783 type 10 direction 0 //0A97: 29@ = car 10@ struct //0AA6: call_method 0x6D5D70 struct 29@ num_params 1 pop 0 3 wait 1000 072A: put_actor $PLAYER_ACTOR into_car 10@ driverseat 06DC: set_train 10@ acc 30.0 06DD: set_train 10@ speed 60.0 jump @NONAME_129
:NONAME_129 wait 0 //00D8: mission_cleanup //0595: mission_complete if $ONMISSION == 1 jf @NONAME_129 jump @NONAME_157
:NONAME_157 wait 0 //07BD: destroy_train 10@ 07BE: remove_references_to_train 10@ //0164: disable_marker 26@ jump @NONAME_2 //0A93: end_custom_thread //end_thread
На свежей игре работало всё. Может ini файлы испортились?
|
|
| |
Den_spb | Дата: Понедельник, 13.02.2012, 00:19 | Сообщение # 33 |
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
| По идее дальше jf @NONAME_47 код выполняться не должен, т.к. проверяемые модели были сразу удалены из памяти. Установи плагин Scmlog и посмотри, что будет написано в логе после вылета.
|
|
| |
laggth | Дата: Понедельник, 13.02.2012, 11:16 | Сообщение # 34 |
Группа: Пользователи
Сообщений: 77
Статус: Offline
| В Scm.logе какие то названия из мэйна присутствуют . Destroy переставил перед стартом trains..@. Работает теперь,сразу не вылетает,только если в 2 места заехать,там вылетает(когда ездят эти составы).А когда на месте стоиш,то ...@ ездят нормально,долго.
Code ******************************************** thread heavy c Local variables dump: 0 14081 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ********************************************
00000006: 00D6 get numeric params: 1 param 1 = 0
00000010: 0256 get numeric params: 1 param 1 = 0
00000015: 004D (&IFresult = True) get numeric params: 1 param 1 = -2 (&label: 0001)
00000022: 0002 get numeric params: 1 param 1 = -29 (&label: 0001)
00000029: 0001 get numeric params: 1 param 1 = 0
******************************************** thread cameras Local variables dump: 1056964608 -1086324736 1059749626 0 1127481344 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ********************************************
00000085: 00D6 get numeric params: 1 param 1 = 1
00000089: 00DF get numeric params: 1 param 1 = 1
00000094: 0AB0 get numeric params: 1 param 1 = 188
00000099: 004D (&IFresult = False) get numeric params: 1 param 1 = -81 (&label: 0001)
00000081: 0001 get numeric params: 1 param 1 = 0
********************************* > Total opcodes: 82566
Вылетает когда подьезжаеш к точке появления дефолтных поездов на траксе1.Сам едет по траксу1 также.Если мэйн сменить на стандартный,то вообще не запустится.На что нужно проверить чтоб работала в стандартной или с сохранениями?
Сообщение отредактировал laggth - Понедельник, 13.02.2012, 13:02 |
|
| |
Den_spb | Дата: Понедельник, 13.02.2012, 23:08 | Сообщение # 35 |
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
| При работе с поездами нужно учитывать следующее: 1.Нельзя создавать скриптом поезд на каком-то пути, если на этом пути может создать поезд игра, т.к. при этом после создания "игрового" поезда может вылететь игра. 2.Перед совершением действий над поездом в скрипте нужно обязательно проверить, что этот поезд существует. Дело в том, что после некоторых миссий, а также после звонков по телефону скриптовые поезда могут удаляться, или может быть отключен флаг уникальности, после чего данный поезд удалит игра.
|
|
| |
cement | Дата: Понедельник, 13.02.2012, 23:49 | Сообщение # 36 |
Группа: Проверенные
Сообщений: 4
Статус: Offline
| Quote (Den_spb) Чем отличается самолёт с шасси от гидроплана? Только ИД-номером модели или есть какие-то определяющие параметры в vehicles.ide/handling? По ID. Определяющий параметр только самолёт. Quote (Den_spb) Опкодов, создающих движение при нажатой клавише нет. Есть опкоды для проверки нажатия клавиш, есть опкод сообщающий транспорту мгновенную скорость, и есть опкод, плавно разгоняющий транспорт до определённого значения скорости с дальнейшим поддержанием этой скорости. Не так понял. Опкоды для движения элементов, а не все модели. Просто придётся двигать элементы и это делается какими способами. Однократное нажатие или надо кнопку держать? Хотя это не существенно. Самое главное посадка на воду и землю, а при посадке на землю нормальная анимация шасси, а не нажал и уже всё стоит, а плавно выпустились и встали как положено.
|
|
| |
Den_spb | Дата: Вторник, 14.02.2012, 00:09 | Сообщение # 37 |
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
| Quote (cement) По ID. Определяющий параметр только самолёт. Попробую поискать что-нибудь в exe, но ничего не обещаю. Если найду что-нибудь, то сообщу.
Quote (cement) Однократное нажатие или надо кнопку держать? Можно сделать как угодно.
|
|
| |
cement | Дата: Вторник, 14.02.2012, 00:20 | Сообщение # 38 |
Группа: Проверенные
Сообщений: 4
Статус: Offline
| Quote (Den_spb) Какой там ID у гидроплана? 460, skimmer, skimmer, plane, SEAPLANE, SKIMMER,
|
|
| |
Ford | Дата: Вторник, 14.02.2012, 15:24 | Сообщение # 39 |
Группа: Пользователи
Сообщений: 4
Статус: Offline
| Здравствуйте. Скажите почему в этом скрипте машина не закрепляется к вертолету, авто к авто - фиксируется, а авто к вертолет - нет. И как это исправить. (Или если есть готовый образец, то дайте пожалуйста - очень надо).
|
|
| |
Den_spb | Дата: Вторник, 14.02.2012, 18:51 | Сообщение # 40 |
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
| Добрый день. 0683 крепит одно транспортное средство к другому, при этом не важно, какого типа этот транспорт (автомобиль, вертолёт и т.д.). Нужно учиться искать ошибки в коде самостоятельно. Сначала надо убедиться, что команда поиска находит транспортные средства (если машина найдена, то можно для проверки создать над ней маркер или вывести какое-то сообщение на экран и т.п.).
|
|
| |
laggth | Дата: Вторник, 13.03.2012, 01:06 | Сообщение # 41 |
Группа: Пользователи
Сообщений: 77
Статус: Offline
| Сколько моделей машин(поездов) максимально можно загрузить в Cleo скрипт камандой Model.Load,чтоб запускались? -а то у меня их 36 там прописано(вагонов),и вылетает когда должны стартовать поезда. А почему нельзя создавать поезда на трамвайных типах,вылетит что ли? В каком случае модель может оказаться не Available? Куда прыгать если train не defined: на create_train или на remove_referenses to train @ ?
Сообщение отредактировал laggth - Вторник, 13.03.2012, 09:42 |
|
| |
Den_spb | Дата: Вторник, 13.03.2012, 15:27 | Сообщение # 42 |
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
| Quote (laggth) должны стартовать поезда. Что это значит?
Quote (laggth) А почему нельзя создавать поезда на трамвайных типах Почему нельзя? Можно.
Quote (laggth) В каком случае модель может оказаться не Available? model.load загружает модели не сразу, а через какое-то время. Чтобы модели загружались мгновенно, надо применить 038B: load_requested_models (сразу после model.load) - в этом случае проверка model.available не нужна.
Quote (laggth) Куда прыгать если train не defined: на create_train или на remove_referenses to train @ ? Этот вопрос вообще не понял.
|
|
| |
MumiyTroll | Дата: Вторник, 13.03.2012, 15:53 | Сообщение # 43 |
Группа: Проверенные
Сообщений: 92
Статус: Offline
| Привет.У меня к тебе просьба-ты бы не мог написать скрипт,который добавит самолет Андромеда на заброшенном аэродроме в пустыне.Я думаю,много времени не займет.В интернете рыскал-не нашел.Заранее спасибо
|
|
| |
Den_spb | Дата: Вторник, 13.03.2012, 16:19 | Сообщение # 44 |
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
| {$CLEO} 0A95: 014B: 0@ = init_parked_car_generator #ANDROM color -1 -1 1 alarm 0 door_lock 0 0 10000 at 411.3563 2503.8291 16.4844 angle 90.0 014C: set_parked_car_generator 0@ cars_to_generate_to 101 0A93:
|
|
| |
MumiyTroll | Дата: Вторник, 13.03.2012, 17:49 | Сообщение # 45 |
Группа: Проверенные
Сообщений: 92
Статус: Offline
| Ден,скрипт я скомпилировал,но самолета я не нашел.Весь аэродром объездил.В каком месте он стоит?
|
|
| |