Вопросы по созданию скриптов
|
|
dim1988 |
Дата: Воскресенье, 19.07.2009, 18:43 | Сообщение # 1 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Ответы на самые часто задаваемые вопросы
Как сохранить (компилировать) скрипт? Почему не следует использовать в клео скриптах глобальные переменные? Как узнать координаты мест, через какую прогу? Как поместить игрока в интерьер? Опкод, который открывает все дома в СА Запись в переменную ближайшего педа и проверка его модели Как заставить актёров ходить по определённым координатам Проверка нажатия определённой клавиши Пак пути с анимацией Как сделать так, чтоб 2 миссии следовали друг за другом? Как актёру дать оружие? Как создать транспорт Как создать жёлтый маркер для входа в интерьер? При компиляции выдаёт ошибку перехода на нулевой оффсет,что это и как исправить? Как транспорту присвоить определённый цвет? Что делать если пишет ожидалось 'x' параметров? Как написать цветной текст? Номера костей актёра Что такое gosub? Опкоды, связанные с созданием огня Как изменить оружие банд? Образец добавления в игру объектов Проверка нажатия клавиши в игре и список значений Путь или scmpath Как изменить цвет затемнения экрана? Как записать в переменную случайное число из интервала Список стилей боя Как привязать эффект к кости актёра? Как произвести действия, над педами, созданными игрой Как заменить модель игрока Как заставить актёра поднять руки, как при аресте Сброс анимации Как метнуть объект? Как из одного скрипта запустить другой?
+ файл от пользователя нашего сайта Absolute . Здесь перечислены все вопросы из этой этой темы и ответы на них. Скачать |
|
| |
dim1988 |
Дата: Пятница, 09.10.2009, 22:11 | Сообщение # 91 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Я не знаю что он делаю, но явно тут не надо 2 раза писать $PLAYER_ACTOR.
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
crips |
Дата: Суббота, 10.10.2009, 15:30 | Сообщение # 92 |
Группа: Проверенные
Сообщений: 79
Замечания: 0%
Статус: Offline |
А вот как прикрепить прицеп к грузовику
Сообщение отредактировал crips - Суббота, 10.10.2009, 16:09 |
|
| |
Colt_8 |
Дата: Суббота, 10.10.2009, 17:57 | Сообщение # 93 |
Красавчик
Группа: Проверенные
Сообщений: 295
Замечания: 0%
Статус: Offline |
Какой мне опкод использовать, чтоб сделать проверку на то, что если рядом с CJ есть люди, то...
|
|
| |
dim1988 |
Дата: Суббота, 10.10.2009, 18:15 | Сообщение # 94 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Colt_8, это тебе надо читать раздел События.
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
Simbа |
Дата: Суббота, 10.10.2009, 19:43 | Сообщение # 95 |
Группа: Заблокированные
Замечания: 20%
Статус: Offline |
А как сделать так чтобы каждую минуту увеличивался вес игрока?
Сообщение отредактировал Simba - Суббота, 10.10.2009, 19:44 |
|
| |
ЧИтЕР |
Дата: Воскресенье, 11.10.2009, 20:13 | Сообщение # 96 |
Группа: Проверенные
Сообщений: 168
Замечания: 0%
Статус: Offline |
Помогите сделать скрипт: При нажатии K+lAlt CJ начинает бить себя по животу много раз (анимация когда в актера стреляют в живот) до тех пор пока еще раз не нажм K+lAlt Прозьба сделать,мне оч надо!!! |
|
| |
Shamann |
Дата: Вторник, 13.10.2009, 22:19 | Сообщение # 97 |
Группа: Пользователи
Сообщений: 2
Замечания: 0%
Статус: Offline |
Code // 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}
//-------------MAIN--------------- thread 'NUMBER1'
:NUMBER1_11 wait 1000 if Player.Defined($PLAYER_CHAR) jf @NUMBER1_11
:NUMBER1_32 wait 5000 if and 00E1: player 0 pressed_key 77 0605: actor -1 perform_animation_sequence "RAP_A_LOOP" IFP_file "LOWRIDER" 4.0 loop 0 0 0 1 time -1 // versionA 064C: make_particle $CLOUD visible 01B2: give_actor 2@ weapon 38 ammo 6000 // Load the weapon model before using this 066D: $ATCH = attach_particle "RIOT_SMOKE" to_object $CLOUD with_offset 0.1 0.2 0.3 flag 1 0650: destroy_particle $CLOUD jf @NUMBER1_32 0A93: end_custom_thread Что тут не так?( |
|
| |
dim1988 |
Дата: Среда, 14.10.2009, 15:18 | Сообщение # 98 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Quote (Shamann) Что тут не так?( Там всё не так Это просто набор кодов. Почитай сначала в справке о проверка, о эффектах. А если хочешь дать актеру оружие, то сначала надо загрузить модель этого оружия. И использовать глобальные переменные нежелательно.
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
Shamann |
Дата: Среда, 14.10.2009, 16:03 | Сообщение # 99 |
Группа: Пользователи
Сообщений: 2
Замечания: 0%
Статус: Offline |
dim1988, ну я всеголишь 2 часа изучаю скриптинг и хотел намутить типо эффект чтобы вокруг сиджея появился дым а в руках шестистволка... |
|
| |
dim1988 |
Дата: Среда, 14.10.2009, 16:10 | Сообщение # 100 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Ну с эффектом просто, ты только сначала создай его, а потом делай видимым
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
crips |
Дата: Среда, 14.10.2009, 20:55 | Сообщение # 101 |
Группа: Проверенные
Сообщений: 79
Замечания: 0%
Статус: Offline |
dim1988, опять с интерьером проблемы,должен телепортировать в бар,а телепортирует в воздух и Карл падает(( вот скрипт Code thread 'bar' :bar_11 select_interior 17 :bar_24 wait 0 if Player.Defined($PLAYER_CHAR) else_jump @bar_24 if 0101: actor $PLAYER_ACTOR in_sphere 73.4096 -2341.0706 7.5749 radius 3.0 3.0 3.0 sphere 1 stopped else_jump @bar_24 07FB: set_interior 'BAR1' access 1 Actor.PutAt($PLAYER_ACTOR, 497.3524, -75.994, 998.7578) jump @bar_11 |
|
| |
dim1988 |
Дата: Среда, 14.10.2009, 22:03 | Сообщение # 102 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Ты парочку кодов забыл select_interior 3 0860: link_actor $PLAYER_ACTOR to_interior 3 3 – номер интерьера. Я не помню, какой он у бара, надо через мед смотреть или в справке. А код 07FB: необязателен. Он только убирает маркер входа, если он был в игре. Если в конце 0 – маркера нет, если 1 – маркер есть. Но в твоём скрипте код не нужен, бар и так открыт.
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
crips |
Дата: Четверг, 15.10.2009, 16:26 | Сообщение # 103 |
Группа: Проверенные
Сообщений: 79
Замечания: 0%
Статус: Offline |
dim1988, а можешь пожалуйста написать сам скрипт а то у меня не получается,вроде номер бара 17 а координаты бара 500.4067, -78.242, 998.7578 |
|
| |
dim1988 |
Дата: Четверг, 15.10.2009, 18:49 | Сообщение # 104 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Quote (crips) номер бара 17 Не 17 а 11 select_interior 11 0860: link_actor $PLAYER_ACTOR to_interior 11 Actor.PutAt($PLAYER_ACTOR, 497.3524, -75.994, 998.7578)
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
crips |
Дата: Пятница, 16.10.2009, 07:36 | Сообщение # 105 |
Группа: Проверенные
Сообщений: 79
Замечания: 0%
Статус: Offline |
Quote (dim1988) Не 17 а 11 а спасибо работает,а можно ли так сделать что бы интерьер не был пустым,а что бы в баре была барменша и т.д(ну как обычно входишь и там актёры есть) или надо уже самому ставить актёров |
|
| |
Recoil |
Дата: Воскресенье, 18.10.2009, 16:08 | Сообщение # 106 |
Группа: Пользователи
Сообщений: 4
Замечания: 0%
Статус: Offline |
Как изменить этот скрипт таким образом, чтобы двигатель был отключен только у припаркованных машин и у машин с принудительно выключенным двигателем, а не у машин с работающим двигателем, когда в них садится CJ (пуск двигателя осуществляется другим скриптом) Code {$CLEO .cs}
//-------------MAIN--------------- thread 'SOMMAT'
:SOMMAT_11 wait 0 if Player.Defined($PLAYER_CHAR) else_jump @SOMMAT_11 03C0: 1@ = actor $PLAYER_ACTOR car wait 0 if Actor.InCar($PLAYER_ACTOR, 1@) else_jump @SOMMAT_11 02D4: car 1@ turn_off_engine 041E: set_radio_station 12 067F: set_car 1@ lights 1 Car.RemoveReferences(1@) jump @SOMMAT_86
:SOMMAT_86 wait 0 if Actor.InCar($PLAYER_ACTOR, 1@) else_jump @SOMMAT_11 jump @SOMMAT_86 как применить проверку 0ABE: vehicle 1@ engine_on
Сообщение отредактировал Recoil - Воскресенье, 18.10.2009, 16:34 |
|
| |
dim1988 |
Дата: Вторник, 20.10.2009, 11:51 | Сообщение # 107 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Recoil, попробуй это {$CLEO .cs} //-------------MAIN--------------- thread 'SOMMAT' :SOMMAT_11 wait 0 if Player.Defined($PLAYER_CHAR) else_jump @SOMMAT_11 03C0: 1@ = actor $PLAYER_ACTOR car wait 0 if Actor.InCar($PLAYER_ACTOR, 1@) else_jump @SOMMAT_11 if 0ABE: vehicle 1@ engine_on // если двигатель уже работает, то отключать его не надо else_jump @SOMMAT_11 02D4: car 1@ turn_off_engine 041E: set_radio_station 12 067F: set_car 1@ lights 1 Car.RemoveReferences(1@) jump @SOMMAT_86 :SOMMAT_86 wait 0 if Actor.InCar($PLAYER_ACTOR, 1@) else_jump @SOMMAT_11 jump @SOMMAT_86
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
Den_spb |
Дата: Вторник, 20.10.2009, 12:11 | Сообщение # 108 |
Мастер по скриптингу
Группа: Проверенные
Сообщений: 295
Замечания: 0%
Статус: Offline |
Recoil, а у тебя игра с этим скриптом не вылетает? Вообще-то сначала надо проверить, ведет ли актер машину, а потом уже записывать указатель на нее в 1@ (если проверка подтвердится)
Сообщение отредактировал Den_spb - Вторник, 20.10.2009, 12:14 |
|
| |
dim1988 |
Дата: Вторник, 20.10.2009, 14:08 | Сообщение # 109 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Я опробовал - невылетает
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
Recoil |
Дата: Вторник, 20.10.2009, 16:39 | Сообщение # 110 |
Группа: Пользователи
Сообщений: 4
Замечания: 0%
Статус: Offline |
Конечно спасибо что пытаетесь мне помочь, но заведенный двигатель все-таки выключается(например когда CJ выбрасывает кого нибудь из машины), видимо нужно вообще скрипт делать по другому. И еще, игра не вылетает, но со скриптом включения двигателя - вылет когда актер садится в машину. Скрипт включения старый Yelmi (он у меня чуть изменен(секрет) , но суть та же) Code {$CLEO .cs}
//-------------MAIN--------------- 0000: NOP 1@ = 0 2@ = 0
:NONAME_16 wait 250 if and Actor.Driving($PLAYER_ACTOR) $ONMISSION == 0 89AE: not actor $PLAYER_ACTOR driving_train not Actor.DrivingVehicleType($PLAYER_ACTOR, #BMX) not Actor.DrivingVehicleType($PLAYER_ACTOR, #BIKE) not Actor.DrivingVehicleType($PLAYER_ACTOR, #MTBIKE) jf @NONAME_16 03C0: 0@ = actor $PLAYER_ACTOR car wait 0 if 0AB0: key_pressed 190 jf @NONAME_257 if not 1@ == 1 jf @NONAME_183 if 847A: not actor $PLAYER_ACTOR driving_bike jf @NONAME_160 081D: set_car 0@ engine_operation 1 041E: set_radio_station 12 1@ = 1 jump @NONAME_325
:NONAME_160 02D4: car 0@ turn_off_engine 041E: set_radio_station 12 1@ = 1 jump @NONAME_325
:NONAME_183 if 847A: not actor $PLAYER_ACTOR driving_bike jf @NONAME_235 081D: set_car 0@ engine_operation 0 036A: put_actor $PLAYER_ACTOR in_car 0@ wait 1000 0A26: set_radio_to_favorite_station 1@ = 0 jump @NONAME_257
:NONAME_235 036A: put_actor $PLAYER_ACTOR in_car 0@ wait 1000 0A26: set_radio_to_favorite_station 1@ = 0
:NONAME_257 if 0AB0: key_pressed 76 jf @NONAME_325 if not 2@ == 1 jf @NONAME_311 067F: set_car 0@ lights 2 2@ = 1 jump @NONAME_325
:NONAME_311 067F: set_car 0@ lights 1 2@ = 0
:NONAME_325 wait 250 jump @NONAME_16
Сообщение отредактировал Recoil - Вторник, 20.10.2009, 17:07 |
|
| |
crips |
Дата: Вторник, 20.10.2009, 22:15 | Сообщение # 111 |
Группа: Проверенные
Сообщений: 79
Замечания: 0%
Статус: Offline |
А можете подсказать пожалуйста Можно ли сделать так что бы Поставленные актёры атокавали всех прохожих |
|
| |
dim1988 |
Дата: Среда, 21.10.2009, 08:26 | Сообщение # 112 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Recoil, чтоб не вылетало попробуй так :SOMMAT_11 wait 0 if Player.Defined($PLAYER_CHAR) else_jump @SOMMAT_11 wait 0 if Actor.InCar($PLAYER_ACTOR, 1@) else_jump @SOMMAT_11 03C0: 1@ = actor $PLAYER_ACTOR car if 0ABE: vehicle 1@ engine_on // если двигатель уже работает, то отключать его не надо else_jump @SOMMAT_11 02D4: car 1@ turn_off_engine 041E: set_radio_station 12 067F: set_car 1@ lights 1 Car.RemoveReferences(1@) jump @SOMMAT_86 :SOMMAT_86 wait 0 if Actor.InCar($PLAYER_ACTOR, 1@) else_jump @SOMMAT_11 jump @SOMMAT_86 Но я как-то не понял, зачем этот скрипт? Ведь если тачка припаркована, у неё и так двигатель отключён. crips, можно использовать код 077A: set_actor 1@ acquaintance 4 to_actors_pedtype 0 Он заставляет актёра ненавидеть людей определённого типа. Последняя цифра – тип педов. В данном случае 0 – это игрок. Надо несколько раз написать код со всеми номерами 077A: set_actor 1@ acquaintance 4 to_actors_pedtype 4 077A: set_actor 1@ acquaintance 4 to_actors_pedtype 5 и так далее.
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
Recoil |
Дата: Среда, 21.10.2009, 17:31 | Сообщение # 113 |
Группа: Пользователи
Сообщений: 4
Замечания: 0%
Статус: Offline |
Quote (dim1988) Но я как-то не понял, зачем этот скрипт? Ведь если тачка припаркована, у неё и так двигатель отключён. Все дело в реализме( надо просто представить как будет в реале), в игре если CJ садится в припаркованный транспорт он еще и сесть не успел, а двигатель уже заведен( а я завожу с кнопки и со звуком стартера , да у меня звук стартера) Скрипт запуска двигателя работает прекрасно, если CJ выходит из машины выключив двигатель и заходит в нее вновь двигатель запускается только с кнопки, если не выключает и заходит вновь двигатель не глохнет. Но если транспорт просто припаркован и CJ заходит в него двигатель естественно запускается сам..... тут то и нужен дополнительный скрипт выключающий двигатель, но дело в том если CJ выкинет допустим кого нибудь из машины и сядет в нее двигатель приходиться запускать( точнее двигатель работает но машина не едет) разве это реалистично как в IRL?? Надеюсь нормально обьяснил, вообщем ничего не получается. |
|
| |
dim1988 |
Дата: Среда, 21.10.2009, 17:49 | Сообщение # 114 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Да, понятно. Попробуй тогда это :SOMMAT_11 wait 0 if Player.Defined($PLAYER_CHAR) else_jump @SOMMAT_11 wait 0 if Actor.InCar($PLAYER_ACTOR, 1@) else_jump @SOMMAT_11 03C0: 1@ = actor $PLAYER_ACTOR car if 8ABE: not vehicle 1@ engine_on else_jump @SOMMAT_11 02D4: car 1@ turn_off_engine 041E: set_radio_station 12 067F: set_car 1@ lights 1 Car.RemoveReferences(1@) jump @SOMMAT_86 :SOMMAT_86 wait 0 if Actor.InCar($PLAYER_ACTOR, 1@) else_jump @SOMMAT_11 jump @SOMMAT_86 Я просто не сразу понял зачем проверка, но теперь переделал её и если мотор не выключен, скрипт не действует.
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
crips |
Дата: Суббота, 24.10.2009, 20:05 | Сообщение # 115 |
Группа: Проверенные
Сообщений: 79
Замечания: 0%
Статус: Offline |
а можно ли сделать так что бы машина атокавала актёра,т.е давила его |
|
| |
dim1988 |
Дата: Воскресенье, 25.10.2009, 07:59 | Сообщение # 116 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Quote (crips) а можно ли сделать так что бы машина атокавала актёра,т.е давила его Если игрока, то можно этот код Car.SetDriverBehaviour($Car,2) или Car.SetDriverBehaviour($Car,4) Я просто не помню точно - один из этих кодов просто заставляет машину ездить за игроком, а другой – давить его.
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
crips |
Дата: Воскресенье, 25.10.2009, 18:19 | Сообщение # 117 |
Группа: Проверенные
Сообщений: 79
Замечания: 0%
Статус: Offline |
dim1988, а подскажи ещё плизз как сделать что бы машина глохла в опр. координатах, опкод на то что бы выключить мотор знаю,а вот как сделать что бы глохла в определённых координатах незнаю |
|
| |
dim1988 |
Дата: Воскресенье, 25.10.2009, 18:49 | Сообщение # 118 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Вот проверка на нахождение машины в координатах 01AF: car 74@ sphere 0 in_sphere 143@ 150@ 157@ radius 0.2 0.2 1.0 Вместо 143@ 150@ 157@ надо написать координаты
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
С_Johnson |
Дата: Воскресенье, 25.10.2009, 19:58 | Сообщение # 119 |
Группа: Проверенные
Сообщений: 515
Замечания: 0%
Статус: Offline |
Извените конечно если что не так. У мню не вопрос, а досадное замечание и даже возможно оно покажется смешным. Мню кажется, что авторам скриптов стоит обратить внимание на активацию скрипта. Тоесть для активации скрипта нужна задержка на какие то секунды, а не моментальная активация по нажатию. А то бывает так: На кнопке стаит два не конфликтующих между сабой скрипта. Но по нажатию этой кнопки включаются оба одновременно. Еслиб они актевировалсиь с задержкой было бы подругому. Конечно невозможно предугадать что именно над этой кнопкой работает ещё ктото и может получиться так, что задержа будет срабатывать так же как и в первом случае. Вопщем заколдованный круг получается и выхода не видно, одно неудобство. Пути решения этой проблемы есть для тех кто несмыслет в скриптах? Может есть какойто скрипт или прага? Мню непопадалось такое на глаза.
|
|
| |
dim1988 |
Дата: Воскресенье, 25.10.2009, 22:14 | Сообщение # 120 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Quote (kotikjonson) Мню кажется, что авторам скриптов стоит обратить внимание на активацию скрипта. Тоесть для активации скрипта нужна задержка на какие то секунды, а не моментальная активация по нажатию. И тогда они все начнут работать с задержкой. Ну а вообще почитать справку и научиться менять кнопки и делать задержки. Ничего сложного нет.
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |