[CELO] Разбор небольшого скрипта
|
|
Moze |
Дата: Суббота, 12.01.2013, 21:24 | Сообщение # 1
|
Новичок
Сообщений: 22
Статус: Offline
|
Разбор находится прямо в скрипте
{$VERSION 3.1.0027} {$CLEO .cs}
0000: NOP // Дабы избежать ошибки 0000 в дальнейшем
:TEST_13 // Название метки wait 0 // Задержка 0 миллисекунд дабы избежать вылета if // Если 0AB0: key_pressed 105 // Если клавиша Num 9 нажата то проходим дальше. else_jump @TEST_13 // Если нет то возвращаемся в начало потока TEST_13
:tp1 // Название новой метки wait 0 // Опять же задержка 0 миллисекунд Actor.PutAt($PLAYER_ACTOR, 496.6906, 792.3008, -21.8118) // ТП нас в указанную точку wait 2000 // Задержка 2000 миллисекунд ( Обычная задержка, ставится по желанию )
:2 // Название новой метки wait 0 // Опять же задержка 0 миллисекунд if // Если 0AB0: 107 // Если клавиша Num+ нажата то проходим дальше. jf @tp2 // Иначе переходим в поток tp2 ( Он дальше )
jump @TEST_13 // Если кнопка была нажата то прыгаем в начало скрипта
:tp2 // Название новой метки wait 0 // Опять же задержка 0 миллисекунд Actor.PutAt($PLAYER_ACTOR, 578.8381, 798.0106, -29.1205) // ТП нас в указанную точку wait 1500 // Задержка 1500 миллисекунд ( Обычная задержка, ставится по желанию )
:3 // Название новой метки wait 0 // Опять же задержка 0 миллисекунд if // Если 0AB0: 107 // Если клавиша Num+ нажата то проходим дальше. jf @tp3 // Иначе переходим в поток tp3 ( Он дальше )
jump @TEST_13 // Если кнопка была нажата то прыгаем в начало скрипта
:tp3 // Название новой метки wait 0 // Опять же задержка 0 миллисекунд Actor.PutAt($PLAYER_ACTOR, 629.7269, 792.7391, -30.8763) // ТП нас в указанную точку wait 1500 // Задержка 1500 миллисекунд ( Обычная задержка, ставится по желанию )
:4 // Название новой метки wait 0 // Опять же задержка 0 миллисекунд if // Если 0AB0: 107 // Если клавиша Num+ нажата то проходим дальше. jf @tp1 // Иначе переходим в поток tp1 (К началу телепортов )
jump @TEST_13 // Если кнопка была нажата то прыгаем в начало скрипта
Сообщение отредактировал Moze - Суббота, 12.01.2013, 23:17 |
|
|
|
danya777_kirov |
Дата: Суббота, 12.01.2013, 22:00 | Сообщение # 2
|
Бывалый
Сообщений: 347
Статус: Offline
|
Что тут? Я ничего не понял. В языке CLEO есть массивы, циклы, высокоуровневые конструкции (условия, все дела), почему вы их не используете? С виду это сложно, но на самом деле легко и удобно...
помогаю по пхп хтмл в лс писать <br\> верстаю сайты в лс тоже помог ставь +++ в репку
|
|
|
|
Moze |
Дата: Суббота, 12.01.2013, 22:05 | Сообщение # 3
|
Новичок
Сообщений: 22
Статус: Offline
|
Цитата (danya777_kirov) Что тут? Я ничего не понял. В языке CLEO есть массивы, циклы, высокоуровневые конструкции (условия, все дела), почему вы их не используете? С виду это сложно, но на самом деле легко и удобно...
Я недавно начал, видимо не дошёл ещё до этого дела..
|
|
|
|
MelomanCool |
Дата: Суббота, 12.01.2013, 22:17 | Сообщение # 4
|
Советник
Сообщений: 757
Статус: Offline
|
Классно описал, но все же, пара замечаний: Цитата wait 0 // Опять же задержка0 миллисекунд Давно хотел написать одну чудесную мысль. Когда-то, читав справку, я прочел о том, что нужно ставить wait 0, чтобы не зависало. Я начал ставить задержки где надо и не надо, думая, что так скрипт будет стабильнее. Но потом я прочитал всего одну фразу, очень точно сформулированную: в каждом цикле должна быть хотя бы одна задержка. Учитывая, что этот скрипт также является циклом, скажу, что там можно обойтись и одной задержкой при проверке всех клавиш, экономия кода и времени. Каждый скрипт является потоком, причем одним. То, что ты называешь потоками - это же метки ![smile](http://s24.ucoz.net/sm/17/smile.gif) Добавлено (12.01.2013, 22:17) ---------------------------------------------
Цитата Я недавно начал, видимо не дошёл ещё до этого дела.. Все так начинали. Однако, с циклами и константани код короче, читабельнее и удобнее.
Ушел
|
|
|
|
Moze |
Дата: Суббота, 12.01.2013, 23:18 | Сообщение # 5
|
Новичок
Сообщений: 22
Статус: Offline
|
MelomanCool, Исправил ![smile](http://s24.ucoz.net/sm/17/smile.gif) Добавлено (12.01.2013, 23:18) --------------------------------------------- MelomanCool, Возможно, только у меня так.. но, если после создания новой метки не стоит wait 0 то игра виснет, поэтому после каждой метки я ставлю wait 0.
|
|
|
|
MelomanCool |
Дата: Воскресенье, 13.01.2013, 10:50 | Сообщение # 6
|
Советник
Сообщений: 757
Статус: Offline
|
Со временем поймешь где нужно ставить я тоже не сразу понял. Если вкратце: метка 1 wait 0 если ... Иначе метка 2 ...
Метка 2 если ... Иначе метка 3 ...
Метка 3 если... Иначе метка 1 ...
Ушел
|
|
|
|
Cortez |
Дата: Воскресенье, 13.01.2013, 13:04 | Сообщение # 7
|
Боец
Сообщений: 136
Статус: Offline
|
Полезный скрипт,я кокраз искал это!
|
|
|
|
MelomanCool |
Дата: Воскресенье, 13.01.2013, 13:28 | Сообщение # 8
|
Советник
Сообщений: 757
Статус: Offline
|
Кстати, а зачем он? Куда телепорт?
Ушел
|
|
|
|
Moze |
Дата: Воскресенье, 13.01.2013, 17:18 | Сообщение # 9
|
Новичок
Сообщений: 22
Статус: Offline
|
Цитата (MelomanCool) Кстати, а зачем он? Куда телепорт?
В карьер, все точки рядом стоят
|
|
|
|
cooles |
Дата: Вторник, 15.01.2013, 20:51 | Сообщение # 10
|
|
По правилам оформляем.
|
|
|
|