|
Вопросы по созданию скриптов
|
|
| dim1988 |
Дата: Воскресенье, 19.07.2009, 18:43 | Сообщение # 1 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Ответы на самые часто задаваемые вопросы
Как сохранить (компилировать) скрипт? Почему не следует использовать в клео скриптах глобальные переменные? Как узнать координаты мест, через какую прогу? Как поместить игрока в интерьер? Опкод, который открывает все дома в СА Запись в переменную ближайшего педа и проверка его модели Как заставить актёров ходить по определённым координатам Проверка нажатия определённой клавиши Пак пути с анимацией Как сделать так, чтоб 2 миссии следовали друг за другом? Как актёру дать оружие? Как создать транспорт Как создать жёлтый маркер для входа в интерьер? При компиляции выдаёт ошибку перехода на нулевой оффсет,что это и как исправить? Как транспорту присвоить определённый цвет? Что делать если пишет ожидалось 'x' параметров? Как написать цветной текст? Номера костей актёра Что такое gosub? Опкоды, связанные с созданием огня Как изменить оружие банд? Образец добавления в игру объектов Проверка нажатия клавиши в игре и список значений Путь или scmpath Как изменить цвет затемнения экрана? Как записать в переменную случайное число из интервала Список стилей боя Как привязать эффект к кости актёра? Как произвести действия, над педами, созданными игрой Как заменить модель игрока Как заставить актёра поднять руки, как при аресте Сброс анимации Как метнуть объект? Как из одного скрипта запустить другой?
+ файл от пользователя нашего сайта Absolute . Здесь перечислены все вопросы из этой этой темы и ответы на них. Скачать |
| |
| |
| dim1988 |
Дата: Воскресенье, 13.05.2012, 20:02 | Сообщение # 3121 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Quote (Jin) Я уже спрашивал ,но скажети всё как поределить тип персонажа?само условие,или возможно тип сделать пременноый и определить чему равна эта пременная? 089F: get_actor 1@ pedtype_to 0@ Далее проверяешь значение переменной. Quote (SHREDER) Ай-йа-йай я не то сказал мне нужно ни эффект а ОБЪЕКТ приделать к педу Какая разница, ответ тот же
SHREDER, когда тут пишешь коды скрипта, используй спойлеры. Code [spoiler] – открыть спойлер [/spoiler] – закрыть спойлер
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
| |
| |
| SHREDER |
Дата: Понедельник, 14.05.2012, 16:58 | Сообщение # 3122 |
|
Группа: Пользователи
Сообщений: 49
Замечания: 0%
Статус: Offline |
Quote (dim1988) используй спойлеры
Учтем
Почему билдер сигарету не компилирует? Я #CIGAR пишу а он говорит неизвесная модель.  Добавлено (14.05.2012, 06:57) --------------------------------------------- А есть такая проверка подошел ли актор на заданное расстояние?  Добавлено (14.05.2012, 06:58) --------------------------------------------- К другому актору? Добавлено (14.05.2012, 16:56) --------------------------------------------- ААА вы живы?  Добавлено (14.05.2012, 16:58) --------------------------------------------- Специально наверно не заходите 
[url=http://nick-name.ru/sertificates/777287/][img]http://nick-name.ru/forum/Vanya_8778.gif[/img][/url] |
| |
| |
| Den_spb |
Дата: Понедельник, 14.05.2012, 23:58 | Сообщение # 3123 |
Мастер по скриптингу
Группа: Проверенные
Сообщений: 295
Замечания: 0%
Статус: Offline |
Quote (SHREDER) Почему билдер сигарету не компилирует? Я #CIGAR пишу а он говорит неизвесная модель. Замени #CIGAR на ID-номер модели. Для этого вставь курсор между любыми двумя буквами #CIGAR и нажми Ctrl+Alt+H Quote (SHREDER) А есть такая проверка подошел ли актор на заданное расстояние? К другому актору? Есть два способа: 1.Определяются координаты обоих актёров (вводишь в Поиск опкодов actor store pos), затем вычисляется расстояние между двумя точками (distance between point). Полученное число сравнивается с заданной величиной 2.Определяются координаты одного из актёров. Далее применяется проверка нахождения второго актёра в радиусе от точки (actor near point) |
| |
| |
| SHREDER |
Дата: Вторник, 15.05.2012, 04:39 | Сообщение # 3124 |
|
Группа: Пользователи
Сообщений: 49
Замечания: 0%
Статус: Offline |
Den_spb, спасибо все помогло  Добавлено (15.05.2012, 04:32) --------------------------------------------- Скажите как правильно этот опкод заполнять
А то у меня сигарета сантиметрах в 20 от руки
070A: AS_actor $MyAct11 attach_to_object $obj offset 0.1 0.0 0.0 on_bone 6 16 perform_animation "M_SMKLEAN_LOOP" IFP_file "SMOKING" time 1 Добавлено (15.05.2012, 04:39) --------------------------------------------- И не в той руке 
[url=http://nick-name.ru/sertificates/777287/][img]http://nick-name.ru/forum/Vanya_8778.gif[/img][/url] |
| |
| |
| Den_spb |
Дата: Вторник, 15.05.2012, 06:35 | Сообщение # 3125 |
Мастер по скриптингу
Группа: Проверенные
Сообщений: 295
Замечания: 0%
Статус: Offline |
За расположение объекта относительно руки отвечают оффсеты (смещения) - 0.1 0.0 0.0 . Попробуй поставить 0.0 0.0 0.0 Чтобы объект был в другой руке, надо поменять номер кости (bone - 6). Список номеров есть в одном из вопросов первого сообщения темы. |
| |
| |
| SHREDER |
Дата: Вторник, 15.05.2012, 13:13 | Сообщение # 3126 |
|
Группа: Пользователи
Сообщений: 49
Замечания: 0%
Статус: Offline |
Блин фигня какая-то эта сигарета вообще не к педу приделана она в воздухе висит  Добавлено (15.05.2012, 13:13) --------------------------------------------- Возле руки. Так сначала было я кость поменял а сигара там же.
[url=http://nick-name.ru/sertificates/777287/][img]http://nick-name.ru/forum/Vanya_8778.gif[/img][/url] |
| |
| |
| dim1988 |
Дата: Вторник, 15.05.2012, 13:22 | Сообщение # 3127 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
SHREDER, скопируй код из какого-нибудь готового скрипта с сигаретой.
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
| |
| |
| SHREDER |
Дата: Вторник, 15.05.2012, 13:34 | Сообщение # 3128 |
|
Группа: Пользователи
Сообщений: 49
Замечания: 0%
Статус: Offline |
АЙЙЙЙЙЙЙ вобщем я опять намутил нето все ужу хорошо только сигарета от руки далеко вот так: Добавлено (15.05.2012, 13:32) --------------------------------------------- блин как спойлер для картинки то сделать  Добавлено (15.05.2012, 13:34) --------------------------------------------- Все, все отстал щас найду где нить.
[url=http://nick-name.ru/sertificates/777287/][img]http://nick-name.ru/forum/Vanya_8778.gif[/img][/url] |
| |
| |
| SPIRITS |
Дата: Среда, 16.05.2012, 17:59 | Сообщение # 3129 |
|
Группа: Проверенные
Сообщений: 103
Замечания: 0%
Статус: Offline |
SHREDER, В главе анимации для актеров есть пример с сигаретой там все найдешь |
| |
| |
| SHREDER |
Дата: Пятница, 18.05.2012, 19:32 | Сообщение # 3130 |
|
Группа: Пользователи
Сообщений: 49
Замечания: 0%
Статус: Offline |
Да не надо уже я там цыфырки покрутил и она как надо встала. Добавлено (18.05.2012, 19:32) --------------------------------------------- Посоны! Срочно требуется узнать:
1.Как сделать чтоб когда в интерьер зайдеш вставленная музыка играла?
2.Как сделать чтоб при вводе указанных кнопок у CJ`я врубалась анимация?
[url=http://nick-name.ru/sertificates/777287/][img]http://nick-name.ru/forum/Vanya_8778.gif[/img][/url] |
| |
| |
| Lost_forever |
Дата: Пятница, 18.05.2012, 23:08 | Сообщение # 3131 |
Скриптер
Группа: Проверенные
Сообщений: 705
Замечания: 0%
Статус: Offline |
Quote (SHREDER) 1.Как сделать чтоб когда в интерьер зайдеш вставленная музыка играла?
Смотря какая музыка тебе нужна.
Вот, набросал тут по-быстрому:
Если игрок войдёт в 3-й интерьер(Дом CJ'я, например), то начнёт играть музыка:
Игровая(soundtrack'и из игры):
Code {$CLEO .cs}
//-----Main-----
0000:NOP
:InteriorMusic wait 0 if Player.Defined($PLAYER_CHAR) then wait 100 077E: get_active_interior_to 0@ // Заносим "активный" интерьер в переменную. if // Если 0@ == 3 // Номер нашего интерьера равен 3 then // Тогда wait 0 0AAC: 1@ = load_audiostream "CLEO\mp3\law_2c.mp3" // Загружаем файл wait 100 0AAD: set_audiostream 1@ perform_action 1 // Проигрываем файл 0@ = 0.0 // Обнуляем переменную с интерьером else // Иначе wait 0 0@ = 0.0 // Обнуляем переменную jump @InteriorMusic // Прыгаем в начало end end
:InteriorMusic_off // Выключение Soundtrack'a wait 0 077E: get_active_interior_to 0@ // Заносим активный интерьер в переменную "0@" if not 0@ == 3 // Если активный интерьер не равен 3 then // Тогда 0AAD: set_audiostream 1@ perform_action 1 // Останавливаем soundtrack 0@ = 0.0 // Обнуляем переменную 0AAE: release_audiostream 1@ // Выгружаем файл wait 100 jump @InteriorMusic // Прыгаем в начало else 0@ = 0.0 // Обнуляем переменную wait 100 jump @InteriorMusic_off // Проверяем заново end 0A93: end_custom_thread
Своя (свой .mp3 файл):
Code {$CLEO .cs}
//-----Main-----
0000:NOP
:InteriorMusic wait 0 if Player.Defined($PLAYER_CHAR) then wait 100 077E: get_active_interior_to 0@ // Заносим "активный" интерьер в переменную. if // Если 0@ == 3 // Номер нашего интерьера равен 3 then // Тогда wait 0 0AAC: 1@ = load_audiostream "CLEO\mp3\filename.mp3" // Загружаем файл wait 100 0AAD: set_audiostream 1@ perform_action 1 // Проигрываем файл 0@ = 0.0 // Обнуляем переменную с интерьером else // Иначе wait 0 0@ = 0.0 // Обнуляем переменную jump @InteriorMusic // Прыгаем в начало end end
:InteriorMusic_off // Выключение Soundtrack'a wait 0 077E: get_active_interior_to 0@ // Заносим активный интерьер в переменную "0@" if not 0@ == 3 // Если активный интерьер не равен 3 then // Тогда 0AAD: set_audiostream 1@ perform_action 1 // Останавливаем soundtrack 0@ = 0.0 // Обнуляем переменную 0AAE: release_audiostream 1@ // Выгружаем файл wait 100 jump @InteriorMusic // Прыгаем в начало else 0@ = 0.0 // Обнуляем переменную wait 100 jump @InteriorMusic_off // Проверяем заново end 0A93: end_custom_thread
Quote 2.Как сделать чтоб при вводе указанных кнопок у CJ`я врубалась анимация?
Довольно просто. Делаешь проверку на нажатие клавиш, после чего присваиваешь актёру(в твоем случае это будет $PLAYER_ACTOR) анимацию. О том, как "работать" с анимацией, можно почитать в справке Sanny Builder'a.
Forever |
| |
| |
| SHREDER |
Дата: Суббота, 19.05.2012, 16:39 | Сообщение # 3132 |
|
Группа: Пользователи
Сообщений: 49
Замечания: 0%
Статус: Offline |
А есть такая анимация штоб нормально танцевал, а то я всякую фигню, а не танцы нашел?
[url=http://nick-name.ru/sertificates/777287/][img]http://nick-name.ru/forum/Vanya_8778.gif[/img][/url] |
| |
| |
| dim1988 |
Дата: Суббота, 19.05.2012, 19:21 | Сообщение # 3133 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
SHREDER, а откуда нам знать, что в твоём понимании нормально и фигня? Ты видел мой скрипт РЭП 2? Там полно этих анимаций. И там ещё не всё возможное, в тех файлах анимаций есть больше.
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
| |
| |
| SHREDER |
Дата: Суббота, 19.05.2012, 20:36 | Сообщение # 3134 |
|
Группа: Пользователи
Сообщений: 49
Замечания: 0%
Статус: Offline |
А как из этой анимации вылезти? а то я включил а обратно ни как
[url=http://nick-name.ru/sertificates/777287/][img]http://nick-name.ru/forum/Vanya_8778.gif[/img][/url] |
| |
| |
| Lost_forever |
Дата: Суббота, 19.05.2012, 22:39 | Сообщение # 3135 |
Скриптер
Группа: Проверенные
Сообщений: 705
Замечания: 0%
Статус: Offline |
Quote (SHREDER) А как из этой анимации вылезти? а то я включил а обратно ни как Читай справку, там всё написано.
Forever |
| |
| |
| wmysterio |
Дата: Суббота, 19.05.2012, 22:49 | Сообщение # 3136 |
|
Группа: Проверенные
Сообщений: 51
Замечания: 0%
Статус: Offline |
Возможно ли как то проверить: "Существует модель с ID 667?"(номер ID любой, написал для примера)
Сообщение отредактировал wmysterio - Суббота, 19.05.2012, 22:50 |
| |
| |
| SHREDER |
Дата: Воскресенье, 20.05.2012, 07:31 | Сообщение # 3137 |
|
Группа: Пользователи
Сообщений: 49
Замечания: 0%
Статус: Offline |
Кароче скажите кто нить опкод который останавливает анимацию я уже все справки и мануалы облазил нету нифига
[url=http://nick-name.ru/sertificates/777287/][img]http://nick-name.ru/forum/Vanya_8778.gif[/img][/url] |
| |
| |
| dim1988 |
Дата: Воскресенье, 20.05.2012, 09:56 | Сообщение # 3138 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Quote (wmysterio) Возможно ли как то проверить: "Существует модель с ID 667?"(номер ID любой, написал для примера) Воспользуйся поиском в МЕДе. Quote (SHREDER) Кароче скажите кто нить опкод который останавливает анимацию я уже все справки и мануалы облазил нету нифига Можно 05B9: AS_actor $PLAYER_ACTOR stay_idle -1 ms, но это не всегда срабатывает. Можно 0792: disembark_instantly_actor $PLAYER_ACTOR, но тогда остановка будет резкой.
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
| |
| |
| wmysterio |
Дата: Воскресенье, 20.05.2012, 14:57 | Сообщение # 3139 |
|
Группа: Проверенные
Сообщений: 51
Замечания: 0%
Статус: Offline |
Quote (dim1988) Воспользуйся поиском в МЕДе. Я имею ввиду сркиптово, типа model.defined(667)
Quote (SHREDER) Кароче скажите кто нить опкод который останавливает анимацию я уже все справки и мануалы облазил нету нифига Я использую опкод:Code 0812: AS_actor $ACTOR perform_animation "LRGIRL_IDLELOOP" IFP_file "LOWRIDER" 4.0 loopA 0 lockX 0 lockY 0 lockF 0 time 3000 // versionB И анимация прекращается после истечения заданного времени. |
| |
| |
| dim1988 |
Дата: Воскресенье, 20.05.2012, 15:10 | Сообщение # 3140 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Quote (wmysterio) Я имею ввиду сркиптово, типа model.defined(667) Можно попробовать загрузить модель как обычно, и если такая не загрузится – значит её нет.
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
| |
| |
| Den_spb |
Дата: Воскресенье, 20.05.2012, 18:01 | Сообщение # 3141 |
Мастер по скриптингу
Группа: Проверенные
Сообщений: 295
Замечания: 0%
Статус: Offline |
wmysterio, попробуй 87DE: not model 271@ exists // versionB |
| |
| |
| SHREDER |
Дата: Воскресенье, 20.05.2012, 19:29 | Сообщение # 3142 |
|
Группа: Пользователи
Сообщений: 49
Замечания: 0%
Статус: Offline |
Dim1988 спасибо мне и так нормально
[url=http://nick-name.ru/sertificates/777287/][img]http://nick-name.ru/forum/Vanya_8778.gif[/img][/url] |
| |
| |
| wmysterio |
Дата: Воскресенье, 20.05.2012, 22:41 | Сообщение # 3143 |
|
Группа: Проверенные
Сообщений: 51
Замечания: 0%
Статус: Offline |
Quote (Den_spb) попробуй 87DE: not model 271@ exists // versionB Рэспект!!! Работает!! спасибо большое!!! |
| |
| |
| SHREDER |
Дата: Понедельник, 21.05.2012, 07:43 | Сообщение # 3144 |
|
Группа: Пользователи
Сообщений: 49
Замечания: 0%
Статус: Offline |
Подстава полная! Че в справке номера всех интерьеров есть, а клуба Алхамбра нету?
[url=http://nick-name.ru/sertificates/777287/][img]http://nick-name.ru/forum/Vanya_8778.gif[/img][/url] |
| |
| |
| Lost_forever |
Дата: Понедельник, 21.05.2012, 23:37 | Сообщение # 3145 |
Скриптер
Группа: Проверенные
Сообщений: 705
Замечания: 0%
Статус: Offline |
Quote (SHREDER) Подстава полная! Че в справке номера всех интерьеров есть, а клуба Алхамбра нету? А Google уже не катит, не?
Interiors
Code Club; ID 17 ;493.390991,-22.722799,1000.679687
Forever |
| |
| |
| SHREDER |
Дата: Вторник, 22.05.2012, 06:06 | Сообщение # 3146 |
|
Группа: Пользователи
Сообщений: 49
Замечания: 0%
Статус: Offline |
Фига... А как в гугле то? По каким критериям?
[url=http://nick-name.ru/sertificates/777287/][img]http://nick-name.ru/forum/Vanya_8778.gif[/img][/url] |
| |
| |
| SPIRITS |
Дата: Вторник, 22.05.2012, 12:10 | Сообщение # 3147 |
|
Группа: Проверенные
Сообщений: 103
Замечания: 0%
Статус: Offline |
А можно ли удалить созданную корону? Вот я создал корону 024F: create_corona_with_radius 20.0 type 2 lensflares 0 with_color 255 0 0 at -2802.759 2604.473 163.7403 но как ее удалить? |
| |
| |
| SHREDER |
Дата: Вторник, 22.05.2012, 16:43 | Сообщение # 3148 |
|
Группа: Пользователи
Сообщений: 49
Замечания: 0%
Статус: Offline |
А есть такая проверка ударил ли CJ кого-нибудь?
[url=http://nick-name.ru/sertificates/777287/][img]http://nick-name.ru/forum/Vanya_8778.gif[/img][/url] |
| |
| |
| dim1988 |
Дата: Вторник, 22.05.2012, 16:49 | Сообщение # 3149 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
SPIRITS, лол, а чё её удалять? Она же появляется на долю секунды, если только она не в цикле.
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
| |
| |
| SPIRITS |
Дата: Вторник, 22.05.2012, 22:49 | Сообщение # 3150 |
|
Группа: Проверенные
Сообщений: 103
Замечания: 0%
Статус: Offline |
Как дать оружие которое записано в переменную, вот например 0470: 0@ = actor $PLAYER_ACTOR current_weapon оружие которое носит игрок записано в 0@ и как его дать актеру 3@Добавлено (22.05.2012, 21:44) --------------------------------------------- 01F5: $PLAYER_FRIEND = get_player_actor 3@ А что значит этот опкод? Добавлено (22.05.2012, 21:53) --------------------------------------------- И как сделать что бы созданный актер повторял движения игрока я создал актера и вставил его в группу игрока но как сделать что бы он повторял движения актера он стреляет в того кого игрок стреляет Добавлено (22.05.2012, 22:49) ---------------------------------------------
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--------------- 0000: NOP
:NONAME_2 0001: wait 0 ms 00D6: if 0256: player $PLAYER_CHAR defined 004D: jump_if_false @NONAME_2 00D6: if and 0AB0: key_pressed 77 0AB0: key_pressed 80 004D: jump_if_false @NONAME_2 04C4: store_coords_to 0@ 1@ 2@ from_actor $PLAYER_ACTOR with_offset 0.5 0.0 0.0 0001: wait 500 ms 009A: 3@ = create_actor_pedtype 4 model #NULL at 0@ 1@ 2@ 02AB: set_actor 3@ immunities BP 1 FP 1 EP 1 CP 1 MP 1 0631: put_actor 3@ in_group $PLAYER_GROUP 02E2: set_actor 3@ weapon_accuracy_to 100 0001: wait 1000 ms 0002: jump @NONAME_135
:NONAME_135 0001: wait 0 ms 00D6: if and 0AB0: key_pressed 77 0AB0: key_pressed 80 004D: jump_if_false @NONAME_175 009B: destroy_actor 3@ 0001: wait 500 ms 0002: jump @NONAME_2
:NONAME_175 0470: 4@ = actor $PLAYER_ACTOR current_weapon 00D6: if 056D: actor 3@ defined 004D: jump_if_false @NONAME_175 01B2: give_actor 3@ weapon 4@ ammo 1000 // Load the weapon model before using this 0001: wait 1500 ms 0002: jump @NONAME_222
:NONAME_222 0AD2: 5@ = player $PLAYER_CHAR targeted_actor //IF and SET 00D6: if 056D: actor 5@ defined 004D: jump_if_false @NONAME_222 05E2: AS_actor 3@ kill_actor 5@ 0001: wait 500 ms 0002: jump @NONAME_135 В чем ошибка, вылетает после создания актера |
| |
| |