MISTER_DNOWNIK | Дата: Суббота, 13.10.2012, 21:03 | Сообщение # 1 |
 Пользователь
| Итак если вы решили освоить скриптинг, то это для вас.
начинаем. Открываем Sanny Builder. Нажимаем Файл/Создать. Появится вкладка под названием «Безымянный». В ней увидите число 0001. В последствии в каждой строке будут появлятся следующие числа – 0002, 0003, 0004 и т.д. - это номера строк. Каждый опкод должен помещаться в одной строке. Если нам нужно сделать клео скрипт, то в первой строке пишем
{$CLEO .cs}
или просто
{$CLEO}
Теперь напишем название cleo. Делается это так
0662: NOP "name"
name – название. теперь нужно создать имя поток. или проще говоря метку. это делаешь так: thread "name" name - имя потока потоки (или же метки) служат для разделения cleo скрипта на части. т.е. это как шкавчик с папками. один поток - одна папка с бумагами. другой - другая. чтобы создать сам поток нужно поставить знак : затем без пробела имя потока (в данном случае name) и потом через такую черточку _номер(любое число) получиться вот так:
{$CLEO} thread "name" 0662: NOP "name" :Name_1
при создании следующего потока используйте :name_2 :Name_47 name_28473 и т.п каждый поток должен иметь свой номер и больше никакой. создать поток с одним и тем же номером равносильно клонированию одежды в шкафу. в общем с этим ясно. едем дальше. сразу после создания ЛЮБОГО потока нужно написать wait 0 иначе будет вылет это обозначает подождать 0 миллисекунд. если написать wait 1000 то скрипт начнет работать через секунду после старта игры. получиться так: :Name_1 wait 0
чтож. самое самое готово. теперь думаем: с чего начинает работать почти любой скрипт?... Думаем.. Правильно! с нажатий клавишь! теперь поговорим об условиях. они обозначаються словом if затем пишеться условие, и потом добавляеться jf @метка_номер не понятно? Сейчас всё разжуём! jf расшифровываеться как jump if false. проще говоря если условие не будет соблюдаться то он пойдёт на метку_номер. условными опкодами являються прверочные опкоды. например 0AB0: key_pressed ID вместо ID поставляем число ID'да клавиши. (посмотреть его можно в справка>помощь>CLEO 3 Code Library> список значений кнопок для 0AB0) открыли? отлично. вы видите таблицу нажатий клавишь. первый столбец - имя клавиши. второй - ID клавиши, третий - какаято куйня но сейчас не об этом. в общем взяли ID клавиши, например J это ID 74. значит в скрипте пишем 0AB0: key_pressed 74. итак у вас должно получиться вот так:
:Name_1 // создаём поток wait 0 // ждём 0 мс if // если 0AB0: key_pressed 74 // нажата клавиша 74 (это J клавиша) jf @Name_1 // если не нажата то возвращаемся на name_1 т.е. на начало скрипта
думаю это понятно. теперь нужно задать действие скрипту. например пополение здоровья это выполняется следующим опкодом: Actor.Health($PLAYER_ACTOR) = 100
$PLAYER_ACTOR - глобальная переменная или просто игрок, которым мы играем 100 - колличество жизней итак. мы вроде разобрали опкод. теперь нам нужно вернуться на начало. делаеться это так: jump @name_1
в итоге у вас должно получиться
{$CLEO} thread "name" 0662: NOP "name" :Name_1 wait 0 if 0AB0: key_pressed 74 jf @Name_1 Actor.Health($PLAYER_ACTOR) = 100 jump @Name_1
этот простенький cleo скрипт на кнопку J пополняет вам здоровье! позравляем! это ваш первый cleo скрипт! все опкоды с действиями можно найти в сервис>инструменты>поиск опкодов. удачи
|
|
| |