Вопросы по созданию КЛЕО-скриптов 2
|
|
EmilioDurhamCop | Дата: Среда, 22.08.2012, 00:03 | Сообщение # 181 |
Группа: Пользователи
Сообщений: 33
Статус: Offline
| Большое спасибо! Появятся вопросы, буду писать! Добавлено (22.08.2012, 00:03) --------------------------------------------- И последнее, как сделать, чтобы в скрипте при нажатии клавиши появились и Смоук, и Райдер, и Цезарь? Не подскажешь?
|
|
| |
Den_spb | Дата: Среда, 22.08.2012, 00:14 | Сообщение # 182 |
Создатель сайта
Группа: Администраторы
Сообщений: 1600
Статус: Offline
| Попробуй сам написать. Код останется тем же, но вместо одной модели актёра надо загрузить 3 модели, также по 3 раза надо использовать команду создания актёра, команду выдачи оружия, команду снятия флага уникальности (remove references).
|
|
| |
EmilioDurhamCop | Дата: Среда, 22.08.2012, 00:16 | Сообщение # 183 |
Группа: Пользователи
Сообщений: 33
Статус: Offline
| У меня Санни наезжает на команду then, пишет, что команда неизвестная!
|
|
| |
Den_spb | Дата: Среда, 22.08.2012, 00:18 | Сообщение # 184 |
Создатель сайта
Группа: Администраторы
Сообщений: 1600
Статус: Offline
| Значит пропущен if (должно быть if..then..end или if..then..else..end)
|
|
| |
EmilioDurhamCop | Дата: Среда, 22.08.2012, 00:31 | Сообщение # 185 |
Группа: Пользователи
Сообщений: 33
Статус: Offline
| А, блин. Как всегда. Добавлено (22.08.2012, 00:31) --------------------------------------------- Я прописываю в коде: 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--------------- wait 0
:NONAME_4 wait 0 if Player.Defined($PLAYER_CHAR) jf @NONAME_157 if 0AB0: key_pressed 73 jf @NONAME_157 04C4: store_coords_to 0@ 1@ 2@ from_actor $PLAYER_ACTOR with_offset 0.0 5.0 0.0 023C: load_special_actor 'SWEET' as 1 // models 290-299 023C: load_special_actor 'RYDER' as 2 // models 290-299 023C: load_special_actor 'SMOKE' as 3 // models 290-299 Model.Load(#MICRO_UZI) 038B: load_requested_models 1@ = Actor.Create(Gang2, #SPECIAL01, 0@, 1@, 2@) 2@ = Actor.Create(Gang2, #SPECIAL02, 0@, 1@, 2@) 3@ = Actor.Create(Gang2, #SPECIAL03, 0@, 1@, 2@) 01B2: give_actor 3@ weapon 28 ammo 60 // Load the weapon model before using this Model.Destroy(#MICRO_UZI) Actor.RemoveReferences(3@) wait 2000
:NONAME_157 jump @NONAME_4 Но создается один и тот же актёр (Свит). Как это исправить?
|
|
| |
Den_spb | Дата: Среда, 22.08.2012, 00:54 | Сообщение # 186 |
Создатель сайта
Группа: Администраторы
Сообщений: 1600
Статус: Offline
| Ошибка здесь:Quote 1@ = Actor.Create(Gang2, #SPECIAL01, 0@, 1@, 2@) 2@ = Actor.Create(Gang2, #SPECIAL02, 0@,1@, 2@) // вместо Y координаты используется указатель первого актёра 3@ = Actor.Create(Gang2, #SPECIAL03, 0@, 1@, 2@) // вместо Y и Z координаты используются указатели первого и второго актёра В результате актёры будут созданы неизвестно где. Надо применить другие (свободные) переменные:Code 3@ = Actor.Create(Gang2, #SPECIAL01, 0@, 1@, 2@) 0@ += 2.0 4@ = Actor.Create(Gang2, #SPECIAL02, 0@, 1@, 2@) 0@ += 2.0 5@ = Actor.Create(Gang2, #SPECIAL03, 0@, 1@, 2@) А координату X (0@) я изменил для того, чтобы актёры не создавались "друг в друге". Команду RemoveReferences надо применить ко всем трём актёрам:Code Actor.RemoveReferences(3@) Actor.RemoveReferences(4@) Actor.RemoveReferences(5@) Эта команда снимает флаг уникальности, благодаря чему игра сможет удалить актёра, если он погибнет или окажется далеко от игрока. П.С. Для редактирования скрипта лучше открывать исходник (Файл - Открыть - *txt), а не декомпилировать скрипт (не щелкать по cs-файлу).
|
|
| |
DK22Pac | Дата: Среда, 22.08.2012, 04:05 | Сообщение # 187 |
$player_actor
Группа: Проверенные
Сообщений: 559
Статус: Offline
| EmilioDurhamCop, справку читай. Хочешь писать скрипты - читай справку.
|
|
| |
EmilioDurhamCop | Дата: Среда, 22.08.2012, 06:10 | Сообщение # 188 |
Группа: Пользователи
Сообщений: 33
Статус: Offline
| Quote EmilioDurhamCop, справку читай. Хочешь писать скрипты - читай справку. DK22Pac, я поражаюсь, хоть и в первый за SB. Мне не особо понятна документация.
Добавлено (22.08.2012, 06:10) --------------------------------------------- Я закончил со скриптом и получилось создать сразу трёх актеров. Слушайте, как вы думайте, с указанием автора и писателя такого, как ты (Den_spb) можно заливать на популярные сайты про GTA? Или только на личное пользование?
Сообщение отредактировал EmilioDurhamCop - Среда, 22.08.2012, 06:12 |
|
| |
Den_spb | Дата: Среда, 22.08.2012, 09:44 | Сообщение # 189 |
Создатель сайта
Группа: Администраторы
Сообщений: 1600
Статус: Offline
| Quote (EmilioDurhamCop) Мне не особо понятна документация. То, что сначала справка малопонятна - это нормально. Но изучать её всё равно нужно - там есть много полезных статей, которые пригодятся в дальнейшем.
Quote (EmilioDurhamCop) Слушайте, как вы думайте, с указанием автора и писателя такого, как ты (Den_spb) можно заливать на популярные сайты про GTA? Залить-то можно, конечно, но по-моему этот скрипт будет интересен немногим - слишком простой, да и похожие аналоги давно есть.
|
|
| |
EmilioDurhamCop | Дата: Среда, 22.08.2012, 14:28 | Сообщение # 190 |
Группа: Пользователи
Сообщений: 33
Статус: Offline
| Quote (EmilioDurhamCop) Залить-то можно, конечно, но по-моему этот скрипт будет интересен немногим - слишком простой, да и похожие аналоги давно есть. Но он вылетать-то не будет! На кривые скрипты многие писают кипятком. А так вообще прикольно. Кстати, видео скоро будет.
|
|
| |
DK22Pac | Дата: Среда, 22.08.2012, 14:41 | Сообщение # 191 |
$player_actor
Группа: Проверенные
Сообщений: 559
Статус: Offline
| Quote (EmilioDurhamCop) можно заливать на популярные сайты про GTA? А зачем тебе это? Денег захотелоь? Популярности на тех же сайтах? Если первое, то лучше сейчас же тебя забанить.
|
|
| |
EmilioDurhamCop | Дата: Среда, 22.08.2012, 15:01 | Сообщение # 192 |
Группа: Пользователи
Сообщений: 33
Статус: Offline
| Quote (DK22Pac) А зачем тебе это? Денег захотелоь? Популярности на тех же сайтах? Если первое, то лучше сейчас же тебя забанить. Издеваешься? Я же знал, что ты такой попадешься. Только почему ты агришься? Короче говоря, ничего вешать не собирался.
|
|
| |
Vital | Дата: Среда, 22.08.2012, 16:59 | Сообщение # 193 |
Группа: Проверенные
Сообщений: 206
Статус: Offline
| EmilioDurhamCop, здесь с нарушением правил всё строго, ты не воспринимай так резко. А вообще советую изучать так: (я изучал именно так) -сперва почитать справку, желательно с начальных понятий и уроков -научиться создавать простые скрипты, схожие с уроками из справки -дополнять и усложнять ранее созданные скрипты -изучать дополнительные возможности, которые помогут облегчить написание скриптов (gosub, if..then.else, циклы и т.д.) -при необходимости искать сайты с примерами и объяснением скриптов -чтобы изучить новые приёмы и набрать опыта, смотри, как пишут скрипты известные скриптеры (ZAZ,Script,DK22Pac,Yelmi и многие другие). Я так научился некоторым вещам (а именно: команды velocity для объектов, команда $I (include) и др.) -если что-то отсутствует в справке или интернете, поищи подобные вещи в оригинальном main.scm или чужих скриптах (только без плагиата) И вот ещё совет: когда научишься основам и начнёшь писать простые скрипты, тебе захочется большего, а простыми средствами порой сложно добиться больших результатов, поэтому учись использовать циклы (repeat, for, while (while true)), а также конструкции if..then..else..end. И помни, что их можно вложить друг в друга (например, один цикл в другой). Это мне теперь помогло создать некоторые вещи, которые я бы раньше назвал ужасно сложными. Я, например, долго не хотел даже смотреть на массивы, но теперь наконец начал с ними создавать скрипты (осуществил давнюю мечту: три охранника, у каждого свой маркер, исчезающий после смерти и возможность дать своё оружие каждому из них). Удачи в изучении! P.S. И будь терпелив, не бросай на начале. И если возникнет ошибка или вопрос (а я вижу, что у тебя их много), то сперва внимательно рассмотри скрипт и сам (как нас учили на информатике) пройди по каждому шагу скрипта, проверяя себя на наличие ошибок.
SCRIPTER
|
|
| |
EmilioDurhamCop | Дата: Четверг, 23.08.2012, 10:53 | Сообщение # 194 |
Группа: Пользователи
Сообщений: 33
Статус: Offline
| Vital, так-то спасибо за речь. Мне нравится то, что говоришь. Придёт время и как нельзя кстати начать учиться скриптингу.
Добавлено (23.08.2012, 10:53) --------------------------------------------- Мне нужно заменить в скрипте букву i на 1. Справку обнюхал, сделал все как надо, но нажатой остается не только буква i, но и добавляется 1. В результате, с двух букв получается, я create'чу актеров. Можно ли это исправить?
Сообщение отредактировал EmilioDurhamCop - Четверг, 23.08.2012, 10:54 |
|
| |
Den_spb | Дата: Четверг, 23.08.2012, 17:13 | Сообщение # 195 |
Создатель сайта
Группа: Администраторы
Сообщений: 1600
Статус: Offline
| Нужно исправить номер кнопки в команде 0AB0. Вторую команду 0AB0 добавлять не надо.
|
|
| |