Вопросы по созданию КЛЕО-скриптов 2
|
|
DK22Pac | Дата: Четверг, 31.01.2013, 22:33 | Сообщение # 286 |
$player_actor
Группа: Проверенные
Сообщений: 559
Статус: Offline
| Vital, надо смотреть оригинальный код.
|
|
| |
Den_spb | Дата: Четверг, 31.01.2013, 22:40 | Сообщение # 287 |
Создатель сайта
Группа: Администраторы
Сообщений: 1603
Статус: Offline
| Цитата (Артём) Где-то слышал, что команду 06D8: $Train = create_train_at 2285.1523 -1257.4998 23.0 type 15 direction 1 можно использовать только на точках tracks. Так ли это? Да, это так.Цитата (Артём) Можно ли реализовать ж/д линию на одном только cleo-скрипте без использования tracks.dat? Можно создать вагон как автомобиль (с помощью опкода car.create), а затем перемещать его в любую точку командой телепортации автомобиля.
|
|
| |
DK22Pac | Дата: Пятница, 01.02.2013, 00:57 | Сообщение # 288 |
$player_actor
Группа: Проверенные
Сообщений: 559
Статус: Offline
| Vital, вот код, который создаёт TaskSimpleFight. Реакции на удар нету. Возможно, надо смотреть какой-то complex-таск. PS со значением 12 можно поэкспериментировать (0-14).
Сообщение отредактировал DK22Pac - Пятница, 01.02.2013, 01:29 |
|
| |
Vital | Дата: Пятница, 01.02.2013, 18:33 | Сообщение # 289 |
Группа: Проверенные
Сообщений: 206
Статус: Offline
| DK22Pac, ох, вот это код я, конечно, ещё не разбирался, хоть и надо попробовать, но посмотрю значения. Сделаю, возможно, смену с 0 до 14 в цикле, так будет нагляднее.
SCRIPTER
|
|
| |
Артём | Дата: Вторник, 19.02.2013, 18:50 | Сообщение # 290 |
Группа: Пользователи
Сообщений: 90
Статус: Offline
| Здравствуйте! Данный код даёт вылет в конце загрузки игры. Проверьте пожалуйста что не так. Код // This file was decompiled using sascm.ini published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 13.10.2007
{$VERSION 3.1.0027} {$CLEO .cs} car.Create($Car,#SuperGT,1910.7555, -1802.6377, -69.1722) Car.SetMaxSpeed(1@, 30.0) 00AE: set_car 1@ traffic_behaviour_to 4 03C0: $Car = actor #FAM1 car :NONAME6 Car.DriveTo(1@, 2053.9395, -1803.5759, -69.205) wait 0 ms :NONAME1 if // если у нас только одно подусловие или проверка, // то не "or" не "and" писать не надо. 01B0: car $Car stopped 0 near_point 2053.9395 -1803.5759 -69.205 radius 4.0 4.0 4.0 jf @NONAME1 Car.DriveTo(1@, 2208.2876, -1802.6742, -69.1737) :NONAME2 if // если у нас только одно подусловие или проверка, // то не "or" не "and" писать не надо. 01B0: car $Car stopped 0 near_point 2208.2876 -1802.6742 -69.1737 radius 4.0 4.0 4.0 jf @NONAME2 Car.DriveTo(1@, 2216.77 -1798.9119 -69.2134) :NONAME3 if // если у нас только одно подусловие или проверка, // то не "or" не "and" писать не надо. 01B0: car $Car stopped 0 near_point 2216.77 -1798.9119 -69.2134 radius 4.0 4.0 4.0 jf @NONAME3 Car.DriveTo(1@, 2202.8167 -1791.4534 -69.1571) :NONAME4 if // если у нас только одно подусловие или проверка, // то не "or" не "and" писать не надо. 01B0: car $Car stopped 0 near_point 2202.8167 -1791.4534 -69.1571 radius 4.0 4.0 4.0 jf @NONAME4 Car.DriveTo(1@, 1921.7031 -1794.1608 -69.1885) :NONAME5 if // если у нас только одно подусловие или проверка, // то не "or" не "and" писать не надо. 01B0: car $Car stopped 0 near_point 1921.7031 -1794.1608 -69.1885 radius 4.0 4.0 4.0 jf @NONAME5 jump @NONAME6
Делаю новый мод Greatland
|
|
| |
Vadik7 | Дата: Вторник, 19.02.2013, 21:25 | Сообщение # 291 |
Группа: Пользователи
Сообщений: 20
Статус: Offline
| Цитата (Артём) Здравствуйте! Данный код даёт вылет в конце загрузки игры. Проверьте пожалуйста что не так. Здравствуй) Нельзя просто так начать код с создания машины(или другого объекта), предварительно не загрузив модель и не проверив её на загруженность. Надо как-то так: Код {$CLEO} thread 'noname'
:noname wait 0 if player.Defined($PLAYER_CHAR) if @noname wait 0 model.Load(#SUPERGT) model.Load(#FAM1) 038B: load_requested_models wait 0
:noname_1 wait 0 if and model.Available(#SUPERGT) model.Available(#FAM1) jf @noname_1 wait 0 car.Create(0@,#SUPERGT,1910.7555,-1802.6377,-69.1722) car.SetMaxSpeed(0@,30.0) 00AE: set_car 0@ traffic_behaviour_to 4 0129: 1@ = create_actor_pedtype 8 model #FAM1 in_car 0@ driverseat model.Destroy(#SUPERGT) model.Destroy(#FAM1) wait 0
:noname_2 wait 0 if and 056E: car 0@ defined 056D: actor 1@ defined jf @noname_2 wait 0 car.DriveTo(0@,2202.8167, -1791.4534, -69.1571) wait 0
:noname_3 wait 0 if and 056E: car 0@ defined 056D: actor 1@ defined 01B0: car 0@ stopped 0 near_point 2202.8167 -1791.4534 -69.1571 radius 4.0 4.0 4.0 jf @noname_3 wait 0 Car.DriveTo(1@, 1921.7031, -1794.1608, -69.1885) wait 0
:noname_4 wait 0 if and 056E: car 0@ defined 056D: actor 1@ defined 01B0: car 0@ sphere 0 in_sphere 1921.7031 -1794.1608 -69.1885 radius 4.0 4.0 4.0 stopped jf @noname_4 wait 0 Если продолжения у кода скрипта нет, то в конце пишем 0A93: end_custom_thread . Я не понял для чего у тебя есть :NONAME5 (у меня :noname_4) , ведь он, в данном случае, не служит ни какой цели...
Simply Vadik7 ©
Сообщение отредактировал Vadik7 - Вторник, 19.02.2013, 21:38 |
|
| |
Артём | Дата: Среда, 20.02.2013, 15:36 | Сообщение # 292 |
Группа: Пользователи
Сообщений: 90
Статус: Offline
| Vadik7, спасибо.) NONAME5 у меня была с той же целью, что и предыдущие метки. Туда производится возврат в случае невыполнения условия нахождения машины в точке. Добавлено (20.02.2013, 15:36) --------------------------------------------- if @noname - компилятор команды такой не знает... а без этой строки - вылет но уже после загрузки
Делаю новый мод Greatland
|
|
| |
ILYALION | Дата: Среда, 20.02.2013, 17:31 | Сообщение # 293 |
Группа: Проверенные
Сообщений: 325
Статус: Offline
| Не if @noname, а jf @noname
|
|
| |
Артём | Дата: Среда, 20.02.2013, 18:13 | Сообщение # 294 |
Группа: Пользователи
Сообщений: 90
Статус: Offline
| Ок спс:) но у меня все равно вылет...
Делаю новый мод Greatland
|
|
| |
Vadik7 | Дата: Среда, 20.02.2013, 20:53 | Сообщение # 295 |
Группа: Пользователи
Сообщений: 20
Статус: Offline
| Цитата (ILYALION) Не if @noname, а jf @noname Да, разумеется, там ошибка Добавлено (20.02.2013, 20:53) ---------------------------------------------
Цитата (Артём) но у меня все равно вылет... Артем, а ты больше вообще ничего не изменял в том коде, что я написал? Т.е. это и есть конечный вид кода у тебя или он продолжается дальше после noname_4 ?
Simply Vadik7 ©
|
|
| |
ILYALION | Дата: Среда, 20.02.2013, 21:32 | Сообщение # 296 |
Группа: Проверенные
Сообщений: 325
Статус: Offline
| Так много wait 0 не нужно. Код {$CLEO} 0000: :noname wait 0 if player.Defined($PLAYER_CHAR) if @noname model.Load(#SUPERGT) model.Load(#FAM1) 038B: load_requested_models car.Create(0@,#SUPERGT,1910.7555,-1802.6377,-69.1722) car.SetMaxSpeed(0@,30.0) 00AE: set_car 0@ traffic_behaviour_to 4 0129: 1@ = create_actor_pedtype 8 model #FAM1 in_car 0@ driverseat model.Destroy(#SUPERGT) model.Destroy(#FAM1) :noname_2 wait 0 if and 056E: car 0@ defined 056D: actor 1@ defined jf @noname_2 car.DriveTo(0@,2202.8167, -1791.4534, -69.1571) :noname_3 wait 0 if and 056E: car 0@ defined 056D: actor 1@ defined 01B0: car 0@ stopped 0 near_point 2202.8167 -1791.4534 -69.1571 radius 4.0 4.0 4.0 jf @noname_3 Car.DriveTo(1@, 1921.7031, -1794.1608, -69.1885) :noname_4 wait 0 if and 056E: car 0@ defined 056D: actor 1@ defined 01B0: car 0@ sphere 0 in_sphere 1921.7031 -1794.1608 -69.1885 radius 4.0 4.0 4.0 stopped jf @noname_4
|
|
| |
Vadik7 | Дата: Четверг, 21.02.2013, 00:25 | Сообщение # 297 |
Группа: Пользователи
Сообщений: 20
Статус: Offline
| Цитата (ILYALION) {$CLEO} 0000: :noname wait 0 if player.Defined($PLAYER_CHAR) if @noname model.Load(#SUPERGT) model.Load(#FAM1) 038B: load_requested_models car.Create(0@,#SUPERGT,1910.7555,-1802.6377,-69.1722) car.SetMaxSpeed(0@,30.0) 00AE: set_car 0@ traffic_behaviour_to 4 0129: 1@ = create_actor_pedtype 8 model #FAM1 in_car 0@ driverseat model.Destroy(#SUPERGT) model.Destroy(#FAM1) :noname_2 wait 0 if and 056E: car 0@ defined 056D: actor 1@ defined jf @noname_2 car.DriveTo(0@,2202.8167, -1791.4534, -69.1571) :noname_3 wait 0 if and 056E: car 0@ defined 056D: actor 1@ defined 01B0: car 0@ stopped 0 near_point 2202.8167 -1791.4534 -69.1571 radius 4.0 4.0 4.0 jf @noname_3 Car.DriveTo(1@, 1921.7031, -1794.1608, -69.1885) :noname_4 wait 0 if and 056E: car 0@ defined 056D: actor 1@ defined 01B0: car 0@ sphere 0 in_sphere 1921.7031 -1794.1608 -69.1885 radius 4.0 4.0 4.0 stopped jf @noname_4 И проверки на предмет загруженности моделей не помешали бы (model.Available)
Simply Vadik7 ©
|
|
| |
Den_spb | Дата: Четверг, 21.02.2013, 00:42 | Сообщение # 298 |
Создатель сайта
Группа: Администраторы
Сообщений: 1603
Статус: Offline
| Цитата (Vadik7) Код 056E: car 0@ defined 056D: actor 1@ defined 01B0: car 0@ stopped 0 near_point 2202.8167 -1791.4534 -69.1571 radius 4.0 4.0 4.0 Проверки на существование нельзя объединять с другими проверками, относящимися к данному объекту - это приведёт к вылету игры в том случае, если данный объект не существует.Цитата (Vadik7) И проверки на предмет загруженности моделей не помешали бы (model.Available) Если была выполнена команда принудительной загрузки моделей (038B), то проверки на загруженность моделей не нужны, так как модели загружаются сразу же после выполнения команды 038B.Цитата (Vadik7) Код if and 056E: car 0@ defined 056D: actor 1@ defined jf @noname_2 car.DriveTo(0@,2202.8167, -1791.4534, -69.1571) Не понял назначение этого отрывка. Если машина или актёр по каким-то причинам перестанут существовать, то получится бесконечный цикл. Если команда car.DriveTo должна быть выполнена только один раз, то её проще применить без всяких проверок. Вообще пока не совсем понятен смысл данного скрипта.
|
|
| |
DK22Pac | Дата: Четверг, 21.02.2013, 00:49 | Сообщение # 299 |
$player_actor
Группа: Проверенные
Сообщений: 559
Статус: Offline
| Цитата (Артём) Здравствуйте! Данный код даёт вылет в конце загрузки игры. Проверьте пожалуйста что не так. Цитата (Артём) Проверьте пожалуйста что не так. Не была прочитана справка SannyBuilder. Понимания переменных вообще не видно... Каша, а не код.
|
|
| |
Vadik7 | Дата: Четверг, 21.02.2013, 15:24 | Сообщение # 300 |
Группа: Пользователи
Сообщений: 20
Статус: Offline
| Цитата (Den_spb) Цитата (Vadik7) Код 056E: car 0@ defined 056D: actor 1@ defined 01B0: car 0@ stopped 0 near_point 2202.8167 -1791.4534 -69.1571 radius 4.0 4.0 4.0 Проверки на существование нельзя объединять с другими проверками, относящимися к данному объекту - это приведёт к вылету игры в том случае, если данный объект не существует. Вот это да... Я и не знал о таком моменте, спасибо! Цитата (Den_spb) Если была выполнена команда принудительной загрузки моделей (038B), то проверки на загруженность моделей не нужны, так как модели загружаются сразу же после выполнения команды 038B. И этого не знал Цитата (Den_spb) Цитата (Vadik7) Код if and 056E: car 0@ defined 056D: actor 1@ defined jf @noname_2 car.DriveTo(0@,2202.8167, -1791.4534, -69.1571) Не понял назначение этого отрывка. Если машина или актёр по каким-то причинам перестанут существовать, то получится бесконечный цикл. Если команда car.DriveTo должна быть выполнена только один раз, то её проще применить без всяких проверок. Вообще пока не совсем понятен смысл данного скрипта. Пока что да, ну возможно там есть продолжение кода, которое ещё не представлено публике.
Simply Vadik7 ©
|
|
| |