Вопросы по созданию скриптов
|
|
dim1988 |
Дата: Воскресенье, 19.07.2009, 18:43 | Сообщение # 1 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Ответы на самые часто задаваемые вопросы
Как сохранить (компилировать) скрипт? Почему не следует использовать в клео скриптах глобальные переменные? Как узнать координаты мест, через какую прогу? Как поместить игрока в интерьер? Опкод, который открывает все дома в СА Запись в переменную ближайшего педа и проверка его модели Как заставить актёров ходить по определённым координатам Проверка нажатия определённой клавиши Пак пути с анимацией Как сделать так, чтоб 2 миссии следовали друг за другом? Как актёру дать оружие? Как создать транспорт Как создать жёлтый маркер для входа в интерьер? При компиляции выдаёт ошибку перехода на нулевой оффсет,что это и как исправить? Как транспорту присвоить определённый цвет? Что делать если пишет ожидалось 'x' параметров? Как написать цветной текст? Номера костей актёра Что такое gosub? Опкоды, связанные с созданием огня Как изменить оружие банд? Образец добавления в игру объектов Проверка нажатия клавиши в игре и список значений Путь или scmpath Как изменить цвет затемнения экрана? Как записать в переменную случайное число из интервала Список стилей боя Как привязать эффект к кости актёра? Как произвести действия, над педами, созданными игрой Как заменить модель игрока Как заставить актёра поднять руки, как при аресте Сброс анимации Как метнуть объект? Как из одного скрипта запустить другой?
+ файл от пользователя нашего сайта Absolute . Здесь перечислены все вопросы из этой этой темы и ответы на них. Скачать |
|
| |
Sanya1990 |
Дата: Пятница, 05.03.2010, 23:41 | Сообщение # 481 |
Группа: Проверенные
Сообщений: 86
Замечания: 0%
Статус: Offline |
Quote (Den_spb) В коды, создающие припаркованный транспорт, объекты или пикапы желательно добавлять команду 0a95 - чтобы при сохранении игры в точке не запускалась ещё одна парковка (или не создавался второй пикап/объект). Куда что добавлять?Приведи пример. |
|
| |
Den_spb |
Дата: Суббота, 06.03.2010, 00:14 | Сообщение # 482 |
Мастер по скриптингу
Группа: Проверенные
Сообщений: 295
Замечания: 0%
Статус: Offline |
Code {$CLEO .cs} 0a95: 014B: 0@ = init_parked_car_generator #pcj600 0 0 0 alarm 50 door_lock 0 1 40000 at 2493.9897 -1664.1813 13.3437 angle 90.0 014C: set_parked_car_generator 0@ cars_to_generate_to 101 0a93: 0a95 можно записать, например, сразу после {$CLEO .cs}.
Сообщение отредактировал Den_spb - Суббота, 06.03.2010, 00:15 |
|
| |
yelmi |
Дата: Суббота, 06.03.2010, 00:50 | Сообщение # 483 |
Мастер по скриптингу
Группа: Пользователи
Сообщений: 25
Замечания: 0%
Статус: Offline |
Quote (СержантКели) В клео скриптинге всё иначе,это тебе не мэйн. Для тех, кто не в курсе, технология CLEO основана на принципе работы внешних скриптов. И правила написания CLEO-скриптов ни чем не отличаются от написания внешних скриптов, а так же любых обычных потоков. Про нулевой офсет, и как с ним бороться написано в справке. Внимательно читай справку, например, FAQ по CLEO 3. Quote (Den_spb) 0a95 можно записать, например, сразу после {$CLEO .cs}. В данном случае обязательно нужно написать 0A95: enable_thread_saving. Иначе при старте сохранения у тебя будут дублироваться все парковки, пикапы и т.д.
Демо-версия мода GTA SA “Another Story” |
|
| |
Sanya1990 |
Дата: Суббота, 06.03.2010, 01:43 | Сообщение # 484 |
Группа: Проверенные
Сообщений: 86
Замечания: 0%
Статус: Offline |
Quote (yelmi) В данном случае обязательно нужно написать 0A95: enable_thread_saving. Иначе при старте сохранения у тебя будут дублироваться все парковки, пикапы и т.д. Итак давайте по порядку начнём. Создайте кто нить свой скриптец на припаркованые тачки,а я свои координаты и если надо модели транспорта сам добавлю.Мне так проще.Добавлено (06.03.2010, 01:43) --------------------------------------------- Я пробывал,по всякому.Никак не выходит,транспорт каторый я прописал не появляется по указаным мною координатам. |
|
| |
dim1988 |
Дата: Суббота, 06.03.2010, 15:20 | Сообщение # 485 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
СержантКели, ты лучше покажи свой код, а мы скажем, что там не так.
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
Sanya1990 |
Дата: Суббота, 06.03.2010, 16:22 | Сообщение # 486 |
Группа: Проверенные
Сообщений: 86
Замечания: 0%
Статус: Offline |
вот так мне посоветовал Лос форевер ваш модератор. Смотрите: {$CLEO .cs} //-------------MAIN--------------- :Car wait 0 if Player.Defined($PLAYER_CHAR) jf @Car wait 0 014B: 0@ = init_parked_car_generator #INFERNUS 8 8 0 alarm 50 door_lock 0 0 40000 at X Y Z angle 180.0 014C: set_parked_car_generator 0@ cars_to_generate_to 101 end_thread В начале при компляции выдавалась ошибка перехода на нулевой оффсет. Потом я пробывал переделывать похожий скрипт но с глобальными переменными,но маего транспорта по указанным координатам не появилось.Мучился вчера целый день,сейчас тоже мучаюсь.Всяко уже пробывал. |
|
| |
dim1988 |
Дата: Суббота, 06.03.2010, 17:06 | Сообщение # 487 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Quote (СержантКели) В начале при компляции выдавалась ошибка перехода на нулевой оффсет. Странно, у меня этой ошибки. Но тебе уже объясняли как это исправить. Quote (СержантКели) Потом я пробывал переделывать похожий скрипт но с глобальными переменными,но маего транспорта по указанным координатам не появилось. Не надо глобальные переменные. Я вообще не вижу что ты указал координаты. Их надо написать вместо X Y Z Quote (СержантКели) end_thread Про это тоже уже говорили. Вместо этой команды в КЛЕО нужно писать 0A93: end_custom_thread
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
Sanya1990 |
Дата: Суббота, 06.03.2010, 18:37 | Сообщение # 488 |
Группа: Проверенные
Сообщений: 86
Замечания: 0%
Статус: Offline |
Вот дим смотри сам,я только координаты свои поставил и всё: {$CLEO .cs} 0000: :Car wait 0 if Player.Defined($PLAYER_CHAR) jf @Car wait 0 014B: 0@ = init_parked_car_generator #INFERNUS 8 8 0 alarm 50 door_lock 0 0 40000 at 2514.848 -1672.047 13.6349 angle 180.0 014C: set_parked_car_generator 0@ cars_to_generate_to 101 0A93: end_custom_thread Ошибку не выдаёт,но и тачка по указаным координатам не появляется.Справшивается что опять не так? |
|
| |
Den_spb |
Дата: Суббота, 06.03.2010, 18:46 | Сообщение # 489 |
Мастер по скриптингу
Группа: Проверенные
Сообщений: 295
Замечания: 0%
Статус: Offline |
Quote Ошибку не выдаёт,но и тачка по указаным координатам не появляется.Справшивается что опять не так? Всё так. Только если в будущем планируешь игру сохранять, то добавь 0a95 в код.Если машина не появляется, то: 1. неверно указаны координаты - перепроверить. 2. отъехать от места, где должна появиться машина, затем вернуться. Дело в том, что парковочный генератор не всегда создаёт машину.Quote (dim1988) Странно, у меня этой ошибки. Но тебе уже объясняли как это исправить. Если у тебя СБ 3.04, то действительно странно. Возможно, что изменены какие-то настройки в опциях.
Сообщение отредактировал Den_spb - Суббота, 06.03.2010, 18:50 |
|
| |
dim1988 |
Дата: Суббота, 06.03.2010, 18:48 | Сообщение # 490 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
СержантКели, вроде должно работать. Ну бывает же такое, что припаркованные тачки (например тачка Свита) не появляются сразу после загрузки.
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
Sanya1990 |
Дата: Суббота, 06.03.2010, 19:29 | Сообщение # 491 |
Группа: Проверенные
Сообщений: 86
Замечания: 0%
Статус: Offline |
Quote (dim1988) вроде должно работать. Ну бывает же такое, что припаркованные тачки (например тачка Свита) не появляются сразу после загрузки. А причёи тут тачка свита?Я добавил другую модель.Не конечно появляется,только если отойти миниум от дома сиджея и до например айвуда.А мне надо чтобы сразу появлялась.Как только Карл выходит из своего дома(Джонсонов). |
|
| |
dim1988 |
Дата: Суббота, 06.03.2010, 21:46 | Сообщение # 492 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Quote (СержантКели) А причёи тут тачка свита? При том, что она создана этим кодом. Собственно, это код создаёт не тачку, а парковочный генератор. А чтоб создать тачку, надо использовать код car.Create0@,#MODEL,1024.0,768.0,32.0) но перед этим нужно загрузить модель машины.
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
Sanya1990 |
Дата: Воскресенье, 07.03.2010, 00:10 | Сообщение # 493 |
Группа: Проверенные
Сообщений: 86
Замечания: 0%
Статус: Offline |
Quote (dim1988) При том, что она создана этим кодом. Собственно, это код создаёт не тачку, а парковочный генератор. А чтоб создать тачку, надо использовать код car.Create0@,#MODEL,1024.0,768.0,32.0) но перед этим нужно загрузить модель машины. Подробней дим. Покажи как что.А то я закалибался ждать появления машины.И ты прав появляется она вместе с свитовской тачкой.Добавлено (07.03.2010, 00:10) --------------------------------------------- Я создал парк мотиков,но появляются не все.И ещё сигнализиция я не могу её убрать.В сб написано что надо значение после 0 сменить на 1,но всёравно сигналка срабатывает. Пожалуста мастера по скриптингу:представте что вы пишите скрипт припаркованых тачек,и напишите его мне.А я спешу с вас,вставлю своё,и всё будет ОК. |
|
| |
dim1988 |
Дата: Воскресенье, 07.03.2010, 07:56 | Сообщение # 494 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Вот пример скрипта, создающий одноразовую машину Code {$CLEO .cs} 03A4: name_thread 'car'
:car_11 0001: wait 0 ms 00D6: if 0256: player $PLAYER_CHAR defined 004D: jump_if_false @car_11 0247: load_model #ADMIRAL - Загружаем модель машины 038B: load_requested_models - Здесь эта команда необязательна, но она нужна когда нужно загрузить несколько моделей
:car_137 0001: wait 0 ms 00D6: if 0248: model #ADMIRAL available - Проверка, загрузилась ли модель 004D: jump_if_false @car_137 00A5: 0@ = create_car #ADMIRAL at 2364.787 -1655.238 13.3816 - Создаём машину в координатах 0175: set_car 0@ Z_angle_to 90.0 - Устанавливаем машине угол поворота 0249: release_model #ADMIRAL - Выгружаем модель из памяти игры 0A93: end_custom_thread
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
Den_spb |
Дата: Воскресенье, 07.03.2010, 10:33 | Сообщение # 495 |
Мастер по скриптингу
Группа: Проверенные
Сообщений: 295
Замечания: 0%
Статус: Offline |
Quote (СержантКели) В сб написано что надо значение после 0 сменить на 1,но всёравно сигналка срабатывает. Учимся внимательно читать справку: "Цифра 50 показывает установленность сигнализации в машине, это проценты."
Сообщение отредактировал Den_spb - Воскресенье, 07.03.2010, 10:33 |
|
| |
dim1988 |
Дата: Воскресенье, 07.03.2010, 11:54 | Сообщение # 496 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Den_spb, похоже что он вообще смотрел опкод сигнализации, а его ж нельзя применить к парковочному генератору.
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
Sanya1990 |
Дата: Воскресенье, 07.03.2010, 14:57 | Сообщение # 497 |
Группа: Проверенные
Сообщений: 86
Замечания: 0%
Статус: Offline |
Quote (dim1988) set_car 0@ Z_angle_to 90.0 А "Z" что означает?Или это буква всегда пишится вместе с angle?Добавлено (07.03.2010, 14:57) ---------------------------------------------
Quote (Den_spb) Учимся внимательно читать справку: "Цифра 50 показывает установленность сигнализации в машине, это проценты." И на сколько нужно снизить 50 что она не срабатывала? |
|
| |
dim1988 |
Дата: Воскресенье, 07.03.2010, 15:08 | Сообщение # 498 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Quote (СержантКели) А "Z" что означает? Z – это одна из 3 осей координат. Поворот вокруг оси Z – значит поворот влево-вправо. Quote (СержантКели) И на сколько нужно снизить 50 что она не срабатывала? До 0 конечно.
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
Sanya1990 |
Дата: Воскресенье, 07.03.2010, 15:20 | Сообщение # 499 |
Группа: Проверенные
Сообщений: 86
Замечания: 0%
Статус: Offline |
Quote (dim1988) Z – это одна из 3 осей координат. Поворот вокруг оси Z – значит поворот влево-вправо. Дим посчёт цвета забыл с своём скрипте.Как там цвет друггой указать то? |
|
| |
Den_spb |
Дата: Воскресенье, 07.03.2010, 15:32 | Сообщение # 500 |
Мастер по скриптингу
Группа: Проверенные
Сообщений: 295
Замечания: 0%
Статус: Offline |
Локальные оси транспорта такие: Z - вертикальная, Y - горизонтальная (проходит вдоль машины), X - горизонтальная (проходит поперёк машины). Quote Как там цвет друггой указать то? 0229: set_car 0@ primary_color_to 11 secondary_color_to 0 Параметры: 1 - переменная машины 2 - первый цвет 3 - второй цвет
Сообщение отредактировал Den_spb - Воскресенье, 07.03.2010, 15:35 |
|
| |
Sanya1990 |
Дата: Воскресенье, 07.03.2010, 16:06 | Сообщение # 501 |
Группа: Проверенные
Сообщений: 86
Замечания: 0%
Статус: Offline |
Quote (Den_spb) 0229: set_car 0@ primary_color_to 11 secondary_color_to 0 Куда это вставлять то? |
|
| |
dim1988 |
Дата: Воскресенье, 07.03.2010, 16:17 | Сообщение # 502 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Quote (СержантКели) Куда это вставлять то? Куда хочешь. Главное чтоб машина уже была создана, но до команды 0A93: end_custom_thread
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
Sanya1990 |
Дата: Воскресенье, 07.03.2010, 21:36 | Сообщение # 503 |
Группа: Проверенные
Сообщений: 86
Замечания: 0%
Статус: Offline |
Quote (dim1988) Куда хочешь. Главное чтоб машина уже была создана, но до команды 0A93: end_custom_thread У меня мотики падают а не поркуются?Как это исправить?Добавлено (07.03.2010, 21:36) --------------------------------------------- Ау,есть кто живой?У меня мотоциклы каторые я припарковал,падают(даже не в те координаты каторые я прописывал),а не поркуются.Объясните как это поправить |
|
| |
Empty |
Дата: Воскресенье, 07.03.2010, 22:22 | Сообщение # 504 |
Группа: Проверенные
Сообщений: 26
Замечания: 0%
Статус: Offline |
A что делать если пишет ожидалось 'x' параметров, как их добавлять? Параметры это опкоды или команды типа jump @x_1 jf @x_0 :x1 |
|
| |
Den_spb |
Дата: Понедельник, 08.03.2010, 00:09 | Сообщение # 505 |
Мастер по скриптингу
Группа: Проверенные
Сообщений: 295
Замечания: 0%
Статус: Offline |
Quote У меня мотоциклы каторые я припарковал,падают(даже не в те координаты каторые я прописывал),а не поркуются.Объясните как это поправить Может они создаются слишком высоко и падают? Попробуй уменьшить z координату.Quote A что делать если пишет ожидалось 'x' параметров, как их добавлять? Параметры это опкоды или команды типа Опкод состоит из номера, описательной части и параметров. Параметры - это данные, передаваемые в опкод, или результаты работы опкода (возвращаемые данные). Как правило, параметры в опкоде выделены цветным текстом. Пример: 00A3: actor $PLAYER_ACTOR sphere 0 in_rectangle_cornerA 2037.536 2365.373 cornerB 2117.177 2483.922 В этом опкоде 6 параметров: $PLAYER_ACTOR 0 2037.536 2365.373 2117.177 2483.922 Если появляется сообщение, что количество параметров не соответствует требуемому, то нужно внимательно посмотреть на команду, при компиляции которой возникла ошибка (в этой строке будет стоять текстовый курсор). У новичков причиной подобных сообщений часто бывает и то, что параметры были отделены друг от друга запятыми (а нужно использовать пробел). |
|
| |
Sanya1990 |
Дата: Понедельник, 08.03.2010, 00:48 | Сообщение # 506 |
Группа: Проверенные
Сообщений: 86
Замечания: 0%
Статус: Offline |
Quote (Den_spb) Может они создаются слишком высоко и падают? Попробуй уменьшить z координату Бесполезно.Такойже баг я видел в скрипте "Продажа великов на грув стрит",там тоже созданый чел(каторый продаёт велики),падает,потом он встаёт.Но у меня мотоциклы не встают. |
|
| |
dim1988 |
Дата: Понедельник, 08.03.2010, 08:30 | Сообщение # 507 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
СержантКели, у меня ничего подобного не было.
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
Empty |
Дата: Понедельник, 08.03.2010, 08:50 | Сообщение # 508 |
Группа: Проверенные
Сообщений: 26
Замечания: 0%
Статус: Offline |
Den_spb, ну чтож, буду пробовать... А координаты не надо через запятую ставить? |
|
| |
Den_spb |
Дата: Понедельник, 08.03.2010, 10:48 | Сообщение # 509 |
Мастер по скриптингу
Группа: Проверенные
Сообщений: 295
Замечания: 0%
Статус: Offline |
В "традиционной" форме записи опкода запятые не допускаются. Пример: Code 00A5: 0@ = create_car #PONY at 0.0 0.0 0.0 Для некоторых опкодов предусмотрена и другая форма записи - через классы. В такой форме записи можно отделять параметры как пробелами, так и запятыми. Пример: Code car.Create(0@, #PONY, 0.0, 0.0, 0.0) или Code car.Create(0@ #PONY 0.0 0.0 0.0) |
|
| |
dim1988 |
Дата: Понедельник, 08.03.2010, 16:46 | Сообщение # 510 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Quote (Den_spb) или Code car.Create(0@ #PONY 0.0 0.0 0.0) Den_spb, в этом коде координаты обязательны, если их не написать, то при компиляции скажет, что недостаточно параметров.
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |