Вопросы по созданию скриптов
|
|
dim1988 |
Дата: Воскресенье, 19.07.2009, 18:43 | Сообщение # 1 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Ответы на самые часто задаваемые вопросы
Как сохранить (компилировать) скрипт? Почему не следует использовать в клео скриптах глобальные переменные? Как узнать координаты мест, через какую прогу? Как поместить игрока в интерьер? Опкод, который открывает все дома в СА Запись в переменную ближайшего педа и проверка его модели Как заставить актёров ходить по определённым координатам Проверка нажатия определённой клавиши Пак пути с анимацией Как сделать так, чтоб 2 миссии следовали друг за другом? Как актёру дать оружие? Как создать транспорт Как создать жёлтый маркер для входа в интерьер? При компиляции выдаёт ошибку перехода на нулевой оффсет,что это и как исправить? Как транспорту присвоить определённый цвет? Что делать если пишет ожидалось 'x' параметров? Как написать цветной текст? Номера костей актёра Что такое gosub? Опкоды, связанные с созданием огня Как изменить оружие банд? Образец добавления в игру объектов Проверка нажатия клавиши в игре и список значений Путь или scmpath Как изменить цвет затемнения экрана? Как записать в переменную случайное число из интервала Список стилей боя Как привязать эффект к кости актёра? Как произвести действия, над педами, созданными игрой Как заменить модель игрока Как заставить актёра поднять руки, как при аресте Сброс анимации Как метнуть объект? Как из одного скрипта запустить другой?
+ файл от пользователя нашего сайта Absolute . Здесь перечислены все вопросы из этой этой темы и ответы на них. Скачать |
|
| |
dim1988 |
Дата: Вторник, 02.03.2010, 17:59 | Сообщение # 451 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
У меня ничего не вылетает.
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
Sanya1990 |
Дата: Вторник, 02.03.2010, 21:24 | Сообщение # 452 |
Группа: Проверенные
Сообщений: 86
Замечания: 0%
Статус: Offline |
Вот допустим я хочу создать скрипт чтоб у гольмашины можно было типа взять клюшку,тоесть по например нажатию кнопки j у сиджея в руках появляется клюшка,если он стоит у зада гольф машины.Ну и как это сделать то а?Фантазий у меня то миллион,но не одну из них не могу воплотить в скрипт. |
|
| |
Den_spb |
Дата: Вторник, 02.03.2010, 21:44 | Сообщение # 453 |
Мастер по скриптингу
Группа: Проверенные
Сообщений: 295
Замечания: 0%
Статус: Offline |
Quote (СержантКели) Скрипт очень хароший,но вылетает игра иза него. Откуда такая уверенность? У тебя установлен только этот скрипт? Quote (СержантКели) Фантазий у меня то миллион,но не одну из них не могу воплотить в скрипт. Как и любое другое дело, скриптинг надо осваивать постепенно - начиная с простых вещей и продолжая более сложными. Для начала научись делать простые коды - например, расстановка машин или оружия. Вся необходимая информация есть в справке к СБ.
Сообщение отредактировал Den_spb - Вторник, 02.03.2010, 21:49 |
|
| |
dim1988 |
Дата: Вторник, 02.03.2010, 21:58 | Сообщение # 454 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Да, научись хотя бы делать проверку на нажатие клавиши и действие после этого нажатия, например дать игроку оружие.
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
Sanya1990 |
Дата: Вторник, 02.03.2010, 22:55 | Сообщение # 455 |
Группа: Проверенные
Сообщений: 86
Замечания: 0%
Статус: Offline |
Quote (dim1988) Да, научись хотя бы делать проверку на нажатие клавиши и действие после этого нажатия, например дать игроку оружие. Пикап пробывал создать,так же как и Александер писал но ничего не получилось,кинул скриптец с пикапом газоаой гранаты,который я создал и игра вылетела.Модели авто раставлять не пробывал но как сменить на другие знаю.А ещё мне в голову пришла идея переводить эти все слова на русский чтоб,хоть что то было ясно.И вот что я понял из одного из переводов вот этой строки if and not Actor.Driving($PLAYER_ACTOR)\как я понял актёр\игрок не должен находится в машине это типа такое условие да? |
|
| |
dim1988 |
Дата: Вторник, 02.03.2010, 23:03 | Сообщение # 456 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Да, более точно – актёр не управляет автомобилем.
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
Sanya1990 |
Дата: Вторник, 02.03.2010, 23:39 | Сообщение # 457 |
Группа: Проверенные
Сообщений: 86
Замечания: 0%
Статус: Offline |
А возможно сделать скрипт что сиджей мягко скажать какал,вместо кала вставить анимацию блювотины к его заду.И пускай какает.А?Можно? |
|
| |
dim1988 |
Дата: Среда, 03.03.2010, 13:27 | Сообщение # 458 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Empty, вот образец Code 0A40: 1@ = create_entrance_marker_at X Y Z color 11 - Создаёт жёлтый маркер
:1_1 wait 0 if 0102: actor $PLAYER_ACTOR in_sphere X Y Z radius 1.0 1.0 1.0 sphere 0 stopped_on_foot - Проверка, находится ли актёр в точке else_jump @1_1 jump @1_12
:1_2 Actor.PutAt($PLAYER_ACTOR, X, Y, Z) - Перемещает актёра в координаты Actor.Angle($PLAYER_ACTOR) = 0.0 - Угол поворота актёра 0A41: destroy_entrance_marker 1@ Уничтожает жёлтый маркер Вместо X Y Z надо написать координаты.
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
Lost_forever |
Дата: Среда, 03.03.2010, 14:24 | Сообщение # 459 |
Скриптер
Группа: Проверенные
Сообщений: 705
Замечания: 0%
Статус: Offline |
Quote 0A40: 1@ = create_entrance_marker_at X Y Z color 11 - Создаёт жёлтый маркер 11 - белый маркер вроде.
Forever |
|
| |
dim1988 |
Дата: Среда, 03.03.2010, 19:46 | Сообщение # 460 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Quote (Lost_forever) 11 - белый маркер вроде. Я списал код с моего скрипта Офис Вузи, мне помниться что он там жёлтый.
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
Empty |
Дата: Среда, 03.03.2010, 23:37 | Сообщение # 461 |
Группа: Проверенные
Сообщений: 26
Замечания: 0%
Статус: Offline |
Напишите мне пожалуйста значение radius кратное нормальному: чтоб не было видно например как пед появляется перед тобой, но чтоб и не далеко... Добавлено (03.03.2010, 23:37) --------------------------------------------- dim1988 та мне всеравно, какого он цвета, главное чтоб работал, а я когда вставляю пишет что 5 параметров ожидалось, пробовал проверку сделать на существование игрока, тоже самое пишет. Еще пробовал присвоить бабло игроку, тоже. Будет время, напиши пожалуйста чем должен заканчиватся и начинатся этот скрипт, а то может я и там ошибся.
Сообщение отредактировал Empty - Четверг, 04.03.2010, 09:13 |
|
| |
Sanya1990 |
Дата: Среда, 03.03.2010, 23:48 | Сообщение # 462 |
Группа: Проверенные
Сообщений: 86
Замечания: 0%
Статус: Offline |
Что означает :NONAME ? |
|
| |
Empty |
Дата: Четверг, 04.03.2010, 09:00 | Сообщение # 463 |
Группа: Проверенные
Сообщений: 26
Замечания: 0%
Статус: Offline |
Noname это название потока если оно не указано или указано неправильно. |
|
| |
LikeBAX |
Дата: Четверг, 04.03.2010, 13:35 | Сообщение # 464 |
Группа: Проверенные
Сообщений: 152
Замечания: 0%
Статус: Offline |
Вот я написал скрипт. Но он не работает! {$CLEO .cs} [тут я пропустил строчку] //-------------MAIN--------------- thread 'CAR' [тут может быть нужно написать 0A95: enable_thread_saving] 014B: 0@ = init_parked_car_generator #SWATVAN color 8 8 0 alarm 0 door_lock 0 0 40000 at 1546.343 -1653.204 13.26828 angle 180.0 014C: set_parked_car_generator 0@ cars_to_generate_to 101 0A93: end_custom_thread Там в игре в меню должно быть показано, сколько скриптов загружено. Но его просто как будто нет! Это инфа из файла [название моего скрипта].txt |
|
| |
Sanya1990 |
Дата: Четверг, 04.03.2010, 13:48 | Сообщение # 465 |
Группа: Проверенные
Сообщений: 86
Замечания: 0%
Статус: Offline |
Я тоже создал пикап оружия минигана(пользовался справкой сб),но игра вылетает. Вот мой скрипт: create_thread @NONAME_8 :NONAME_8 wait 0 Model.Load(#MINIGUN) 038B: load_requested_models wait 0 if Model.Available(#MINIGUN) 032B: $13 = create_weapon_pickup #MINIGUN group 15 ammo 999999 at 2498.718 -1707.04 1014.742 wait 100 Model.Destroy(#MINIGUN) end_thread где тут ошибка подскажите пожалуста? Добавлено (04.03.2010, 13:48) ---------------------------------------------
Quote (SkyG) Вот я написал скрипт. Но он не работает! У меня есть скрипт "припаркованные тачки"(не мой,автор не я),ты можешь от туда всё списать.Я как понял ты хочешь в своём скрипте расставить тачки да?Если да то скрипт припоркованых тачек те поможет. |
|
| |
LikeBAX |
Дата: Четверг, 04.03.2010, 14:36 | Сообщение # 466 |
Группа: Проверенные
Сообщений: 152
Замечания: 0%
Статус: Offline |
СержантКели, я скачал этот скрипт, декомпилировал, посмотрел - видно дело в этом. Помогите плиз!!! |
|
| |
Sanya1990 |
Дата: Четверг, 04.03.2010, 14:57 | Сообщение # 467 |
Группа: Проверенные
Сообщений: 86
Замечания: 0%
Статус: Offline |
Quote (SkyG) я скачал этот скрипт, декомпилировал, посмотрел - видно дело в Quote (SkyG) 0@ этом. Помогите плиз!!! Все ждём дима или других опытных пользователей. |
|
| |
Den_spb |
Дата: Четверг, 04.03.2010, 16:56 | Сообщение # 468 |
Мастер по скриптингу
Группа: Проверенные
Сообщений: 295
Замечания: 0%
Статус: Offline |
Quote (SkyG) Вот я написал скрипт. Но он не работает! Ошибок не вижу. 0A95 нужен. Перезагрузи игру и перепроверь координаты. Если машина в указанном месте не появляется, то надо отъехать от места, где она должна быть, затем подъехать туда вновь. Quote (СержантКели) где тут ошибка подскажите пожалуста? Если это клео-скрипт, то весь код - сплошная ошибка. Примеры в справке написаны для main.scm, а редактирование майна немного отличается от клео-скриптинга. В клео-скрипте команда create thread не нужна, вместо end thread применяется 0a93: , также в клео-скриптах не применяются глобальные переменные ($1, $2 ...) - исключения есть, но их немного. В общем, код пикапа должен выглядеть так: Code {$CLEO} 0a95: model.load(#minigun) repeat wait 0 until model.available(#minigun) 032B: 0@ = create_weapon_pickup #MINIGUN group 15 ammo 999999 at 2498.718 -1707.04 1014.742 model.destroy(#minigun) 0a93:
Сообщение отредактировал Den_spb - Четверг, 04.03.2010, 17:02 |
|
| |
Sanya1990 |
Дата: Четверг, 04.03.2010, 19:00 | Сообщение # 469 |
Группа: Проверенные
Сообщений: 86
Замечания: 0%
Статус: Offline |
А что означает 0@ = ? Добавлено (04.03.2010, 19:00) --------------------------------------------- Раз справка в сб по мейну,тогда может кто нибудь создаст справку по клео скриптам.А то я так и буду ошибатся. |
|
| |
dim1988 |
Дата: Четверг, 04.03.2010, 20:01 | Сообщение # 470 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Quote (СержантКели) А что означает 0@ = ? Это переменная, в которую записывается созданный пикап. Quote (СержантКели) Раз справка в сб по мейну,тогда может кто нибудь создаст справку по клео скриптам.А то я так и буду ошибатся. Вряд ли кто-то возьмётся, да и смысла нет - различий между мэйном и клео не так много. Den_spb, уже сказал, какие, ну а больше существенных различий нет.
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
Sanya1990 |
Дата: Четверг, 04.03.2010, 21:26 | Сообщение # 471 |
Группа: Проверенные
Сообщений: 86
Замечания: 0%
Статус: Offline |
Quote (dim1988) Вряд ли кто-то возьмётся, да и смысла нет - различий между мэйном и клео не так много. Den_spb, уже сказал, какие, ну а больше существенных различий нет. Ага нет,я столько ошибок допустил при создании пикапа,и всё иза справки св. |
|
| |
SinBad |
Дата: Пятница, 05.03.2010, 17:20 | Сообщение # 472 |
Группа: Пользователи
Сообщений: 12
Замечания: 20%
Статус: Offline |
Да... мне небыть скриптером!Скоко небился всеровно нечё довести до конца не могу
РЕСПЕКТ САЙТУ!!!!!!!!!!!!!!!!!!!!!!! |
|
| |
yelmi |
Дата: Пятница, 05.03.2010, 19:53 | Сообщение # 473 |
Мастер по скриптингу
Группа: Пользователи
Сообщений: 25
Замечания: 0%
Статус: Offline |
Quote (СержантКели) Ага нет,я столько ошибок допустил при создании пикапа,и всё иза справки св. Code if Model.Available(#MINIGUN) 032B: $13 = create_weapon_pickup #MINIGUN group 15 ammo 999999 at 2498.718 -1707.04 1014.742 wait 100 Ну и в чем справка СБ виновата? Если используешь условия, научись для начала правильно составлять эти условия Code if < -- условие --> 004d: jump_if_false @label <-- код -->
:label
Демо-версия мода GTA SA “Another Story” |
|
| |
Sanya1990 |
Дата: Пятница, 05.03.2010, 20:27 | Сообщение # 474 |
Группа: Проверенные
Сообщений: 86
Замечания: 0%
Статус: Offline |
Quote (yelmi) Ну и в чем справка СБ виновата? Если используешь условия, научись для начала правильно составлять эти условия В клео скриптинге всё иначе,это тебе не мэйн. |
|
| |
Den_spb |
Дата: Пятница, 05.03.2010, 20:49 | Сообщение # 475 |
Мастер по скриптингу
Группа: Проверенные
Сообщений: 295
Замечания: 0%
Статус: Offline |
Quote (СержантКели) В клео скриптинге всё иначе,это тебе не мэйн. Общие принципы одинаковы. Различий мало.
Сообщение отредактировал Den_spb - Пятница, 05.03.2010, 20:50 |
|
| |
Sanya1990 |
Дата: Пятница, 05.03.2010, 21:14 | Сообщение # 476 |
Группа: Проверенные
Сообщений: 86
Замечания: 0%
Статус: Offline |
Quote (Den_spb) Общие принципы одинаковы. Различий мало. Для опытных скриптеров да.А вот для меня много разного.Я же с мэйном не работал и не хочу.Хочу делать клео скрипты,а не мэйны. |
|
| |
Empty |
Дата: Пятница, 05.03.2010, 22:45 | Сообщение # 477 |
Группа: Проверенные
Сообщений: 26
Замечания: 0%
Статус: Offline |
A ты попробуй свой мэин создать, коль есть желание sb мануал выучить. |
|
| |
Sanya1990 |
Дата: Пятница, 05.03.2010, 22:55 | Сообщение # 478 |
Группа: Проверенные
Сообщений: 86
Замечания: 0%
Статус: Offline |
Я создал раставку тачек как мне посоветовал Lost_forever. Вот: {$CLEO .cs} :Car wait 0 if Player.Defined($PLAYER_CHAR) jf @Car wait 0 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 end_thread При комплиации выдаёт ошибку перехода на нулевой оффсет,что это?и как исправить? |
|
| |
Empty |
Дата: Пятница, 05.03.2010, 23:04 | Сообщение # 479 |
Группа: Проверенные
Сообщений: 26
Замечания: 0%
Статус: Offline |
А вы без проблем сможете написать новый сб-мануал на основе примеров простых скиптов (пикапы, прикрепления анимаций и т.д) пример этому - скрипт который yelmi написал в предидущем посту. |
|
| |
Den_spb |
Дата: Пятница, 05.03.2010, 23:21 | Сообщение # 480 |
Мастер по скриптингу
Группа: Проверенные
Сообщений: 295
Замечания: 0%
Статус: Offline |
Quote (СержантКели) Для опытных скриптеров да.А вот для меня много разного.Я же с мэйном не работал и не хочу.Хочу делать клео скрипты,а не мэйны. Ну так делай клео-скрипты - кто мешает. Отличия клео от мэйн я уже назвал.Quote (СержантКели) При комплиации выдаёт ошибку перехода на нулевой оффсет,что это?и как исправить? В подобных случаях перед первой меткой ( :Car ) надо добавить любую команду, например wait 0. Вообще проверка на существование игрока здесь не обязательна, т.к. над игроком не производится никаких действий. В коды, создающие припаркованный транспорт, объекты или пикапы желательно добавлять команду 0a95 - чтобы при сохранении игры в точке не запускалась ещё одна парковка (или не создавался второй пикап/объект).
Сообщение отредактировал Den_spb - Пятница, 05.03.2010, 23:23 |
|
| |