Вопросы по созданию КЛЕО-скриптов 2
|
|
Den_spb | Дата: Суббота, 10.03.2012, 20:02 | Сообщение # 16 |
Создатель сайта
Группа: Администраторы
Сообщений: 1603
Статус: Offline
| Чаще всего эта ошибка возникает в случаях:
1) сразу после числа ставят запятую, точку или другой символ. На самом деле перед числом и за ним должен стоять пробел. Неправильно: 0107: $2706 = create_object #AD_FLATDOOR at1833.36,-1995.45,12.5 0107: $2706 = create_object #AD_FLATDOOR at 1833.36, -1995.45, 12.5 Правильно: 0107: $2706 = create_object #AD_FLATDOOR at 1833.36 -1995.45 12.5
2) используют запятую вместо точки в качестве разделителя дробного числа. Неправильно: 0958: $2932 = create_photo_at -2511,28 -672,99 195,75 Правильно: 0958: $2932 = create_photo_at -2511.28 -672.99 195.75
При неправильном написании компилятор не может понять, где в команде находятся числа, и выдаёт такую ошибку. Ошибку надо искать в той строчке, в которой мигает текстовый курсор.
|
|
| |
Артём | Дата: Среда, 14.03.2012, 15:56 | Сообщение # 17 |
Группа: Пользователи
Сообщений: 90
Статус: Offline
| Вот я пытался сделать скрипт типа телефонная будка, а там можно позвонить В чём ошибка (переход на нулевой оффсет) Code {$CLEO .cs} :Noname_2 if 00FE: actor $PLAYER_ACTOR sphere 0 in_sphere -63.3882 -556.508 3.2544 radius 150.0 150.0 150.0 else_jump @NONAME_2 0AAC: 0@ = load_mp3 "CLEO\MP3\1.MP3" repeat wait 0 until 0AAC: 0@ = load_mp3 "CLEO\MP3\1.MP3" while true wait 0 if 0ADC: test_cheat "n" then 0AAD: set_mp3 0@ perform_action 1 end end jump @NONAME_2
Делаю новый мод Greatland
|
|
| |
Den_spb | Дата: Среда, 14.03.2012, 16:12 | Сообщение # 18 |
Создатель сайта
Группа: Администраторы
Сообщений: 1603
Статус: Offline
| Quote (Артём) В чём ошибка (переход на нулевой оффсет) Чтобы не возникало этой ошибки, нужно ставить опкод 0000: после {$CLEO .cs} . Между if и 00FE: надо поставить wait 0, иначе зависнет игра.
|
|
| |
Артём | Дата: Среда, 14.03.2012, 16:33 | Сообщение # 19 |
Группа: Пользователи
Сообщений: 90
Статус: Offline
| Как всегда, спасибо за помощь!
Делаю новый мод Greatland
|
|
| |
Скрат | Дата: Суббота, 17.03.2012, 11:29 | Сообщение # 20 |
Группа: Пользователи
Сообщений: 34
Статус: Offline
| как выполняется проверка нато что группа ирока заполнена?
|
|
| |
ILYALION | Дата: Воскресенье, 18.03.2012, 16:46 | Сообщение # 21 |
Группа: Проверенные
Сообщений: 325
Статус: Offline
| Как проверить, является машина двух- или четырёхместной? Добавлено (18.03.2012, 16:46) --------------------------------------------- Я думаю так: Code 0A97: 1@ = car 0@ struct 1@ += ?// заднее сидение авто 0A8D: 1@ = read_memory 1@ size 4 virtual_protect 0 if 1@ <> 0 then//машина четырёхместная Но какое смещение надо прибавить, чтобы получить заднее сидение авто?
|
|
| |
Den_spb | Дата: Воскресенье, 18.03.2012, 17:44 | Сообщение # 22 |
Создатель сайта
Группа: Администраторы
Сообщений: 1603
Статус: Offline
| Quote (ILYALION) Как проверить, является машина двух- или четырёхместной? http://sannybuilder.com/forums/viewtopic.php?pid=18514#p18514
|
|
| |
ILYALION | Дата: Воскресенье, 18.03.2012, 20:21 | Сообщение # 23 |
Группа: Проверенные
Сообщений: 325
Статус: Offline
| Как узнать, является ли транспорт именно автомобилем, а не мотоциклом, поездом и т.д.?
|
|
| |
Den_spb | Дата: Воскресенье, 18.03.2012, 20:50 | Сообщение # 24 |
Создатель сайта
Группа: Администраторы
Сообщений: 1603
Статус: Offline
| http://sannybuilder.com/forums/viewtopic.php?pid=19708#p19708
|
|
| |
ILYALION | Дата: Воскресенье, 18.03.2012, 21:43 | Сообщение # 25 |
Группа: Проверенные
Сообщений: 325
Статус: Offline
| Как поверить, является ли машиша коповской? Добавлено (18.03.2012, 21:43) --------------------------------------------- а также такси
|
|
| |
Vital | Дата: Воскресенье, 18.03.2012, 21:45 | Сообщение # 26 |
Группа: Проверенные
Сообщений: 206
Статус: Offline
| ILYALION, можно использовать Code 056C: actor $PLAYER_ACTOR driving_police_car это для тех случаев, когда водит машину игрок
А в других случаях можно проверить модель машины (для полиции моделей около десяти) Code 0137: car 0@ model == #REMINGTN Добавлено (18.03.2012, 21:45) --------------------------------------------- Почему происходит вылет в данном кусочке кода (я с помощью звуков проверил точное местоположение вылета), ведь вроде бы все правильно.
Code 0209: 10@ = random_int_in_ranges 0 3 018C: play_sound 1054 at 0.0 0.0 0.0 wait 750 0871: init_jump_table 10@ total_jumps 4 default_jump 0 @Act2 jumps 0 @Kill 1 @Walk 2 @Madness 3 @Wave -1 @Act2 -1 @Act2 -1 @Act2 ....
SCRIPTER
|
|
| |
Den_spb | Дата: Воскресенье, 18.03.2012, 22:59 | Сообщение # 27 |
Создатель сайта
Группа: Администраторы
Сообщений: 1603
Статус: Offline
| В опкоде 056C: actor $PLAYER_ACTOR driving_police_car используется метод CVehicle__IsLawEnforcementVehicle. В скрипте его можно вызвать так:Code 0A97: 1@ = car 0@ struct 0AA8: call_function_method 0x6D2370 struct 1@ num_params 0 pop 0 2@ // CVehicle__IsLawEnforcementVehicle Результат (0 или 1) будет записан в 2@. В опкоде 0602: actor $PLAYER_ACTOR driving_taxi ИД-номер модели просто сравнивается с ИД 420 (TAXI) и 438 (CABBIE).
Quote (Vital) Почему происходит вылет в данном кусочке кода (я с помощью звуков проверил точное местоположение вылета), ведь вроде бы все правильно. А что написано в ScmLog?
|
|
| |
ILYALION | Дата: Понедельник, 19.03.2012, 15:09 | Сообщение # 28 |
Группа: Проверенные
Сообщений: 325
Статус: Offline
| В моём коде есть такие строки:Code 04C4: store_coords_to 1@ 2@ 3@ from_actor $PLAYER_ACTOR with_offset 0.0 0.0 0.0 0843: get_zone_at 1@ 2@ 3@ nameA_to 8@s // 8-byte string 054C: use_GXT_table 'TAKSI' 0384: show_text_1string GXT 'HITAX' string 8@s time 4000 1 В fxt прописаноCode Я нахожусь в районе ~1~ В игре показываетCode Я нахожусь в районе -1 Почему? Как определить название района, ведь это делается в миссии полицейского (Подозреваемый последний раз был замечен в районе...)
|
|
| |
Vital | Дата: Понедельник, 19.03.2012, 19:45 | Сообщение # 29 |
Группа: Проверенные
Сообщений: 206
Статус: Offline
| ILYALION, попробуй опкод Code 08F1: get_zone_at 3@ 4@ 5@ nameB_to s$9451 // 8-byte string Den_spb, у меня ScmLog почему-то не работает, но судя по проверке звуками, вылет идет в той части, которую я привел, скрипт не доходит ни до одной из меток, глючит как раз в месте таблицы переходов. Странно, раньше таблицы переходов у меня работали всегда, а в этот раз вообще по-свински себя ведет...
SCRIPTER
|
|
| |
ILYALION | Дата: Понедельник, 19.03.2012, 19:52 | Сообщение # 30 |
Группа: Проверенные
Сообщений: 325
Статус: Offline
| Vital, этот опкод даёт то же самое.
|
|
| |