Итак, в этом уроке мы разберём структуру любого CLEO-скрипта, также скачайте Sanny Builder по этой ссылке: здесь.
Итак, пример CLEO-скрипта (он создаёт возле ворот зоны 69 маркер перемещающий игрока внутрь):
Код: Выделить всё
// 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
wait 0
if
0101: actor $PLAYER_ACTOR in_sphere 214.0 1875.957 13.1406 radius 1.5 1.5 10.5 sphere 1 stopped
else_jump @NONAME_2
select_interior 0
0860: link_actor $PLAYER_ACTOR to_interior 0
Actor.PutAt($PLAYER_ACTOR, 214.0, 1870.319, 13.1406)
fade 1 13
wait 2000
jump @NONAME_2
:NONAME_2 //название потока
wait 0 //ждать 0 милисекунд
if //если
0101: actor $PLAYER_ACTOR in_sphere 214.0 1875.957 13.1406 radius 1.5 1.5 10.5 sphere 1 stopped //игрок остановится в маркере радиусом 1.5 1.5 10.5 находящемся в координатах 214.0 1875.957 13.1406
else_jump @NONAME_2 //иначе вернутся к началу потока
select_interior 0 //если игрок встал в маркер
0860: link_actor $PLAYER_ACTOR to_interior 0 //то переместить его
Actor.PutAt($PLAYER_ACTOR, 214.0, 1870.319, 13.1406) //переместить его в эту точку
fade 1 13
wait 2000 //ждать две секундыjump @NONAME_2 //вернутся к началу потока
Как мы видим скрипт достаточно короткий, хотя создаёт маркер и перемещает игрока с одной точки в другую. А теперь рассмотрим теоретическую структуру скрипта:
Код: Выделить всё
{$cleo .cs} //Даём понять Sanny Builder, что это именно CLEO-скрипт
//----------------------------------Main-------------------------------
0000:nop
:potock //открывает поток, слово стоящее после двоеточия называется [b]меткой[/b]
wait 0 //задержка, её нужно делать Число может быть не более 20000 (20 секунд)
//здесь находится код скрипта
NNNN: //Здесь находится опкод, их может быть несколько (где N - символ (цифра или буква)). Список опкодов можно посмотреть в справке Sanny Buildera.
wait 2000 //задержка перед концом скрипта
end_thread // Завершает скрипт, можно также использовать эту команду: jump @potok
Автор: © Михаил