Делаем новые миссии. CLEO - скрипты, cutscene, статьи, программы. Игровые новости.
 
Внимание!

На многих форумах часто приходится читать, что IFP-ANPK-TOOL не хочет открывать ped.ifp. Для особо одаренных, то есть тех, кому лень читать описание поясняю, что IFP-ANPK-TOOL разработан исключительно для создания, редактирования IFP файлов cutscene. Файлы эти находятся в cuts.img и их формат (ANPK) отличается от файлов анимаций таких как в ped.ifp (ANP3). По этой причине IFP-ANPK-TOOL не открывает ped.ifp файл, а созданный с его помощью новый файл не работает отдельно от файлов DAT и CUT.

ЧаВо(FAQ)

Главная »» CLEO 3

Cписок cодержимого


CLEO 3 - что это такое?

CLEO 3 – это следующий шаг в развитии проекта CLEO, расширяющего границы возможностей скриптинга San Andreas. После установки библиотеки CLEO вы получаете все то, что может библиотека CLEO 2, а также некоторые нововведения третьей версии.
CLEO 3 позволяет добавлять новые скрипты без необходимости начала новой игры. Строго говоря. для них не имеет значения состояние вашего main.scm. CLEO-скрипты запускаются и функционируют отдельно от main.scm.
Подняться к началу

Чем отличается CLEO скрипт, от скриптов main.scm?

По большому счету отличий практически нет. CLEO – скрипты с расширением .cs не нуждаются в запуске, то есть они стартуют при запуске игры самостоятельно. В CLEO – скриптах не рекомендуется использовать глобальные переменные, спокойно можно использовать только $ONMISSION, $PLAYER_ACTOR, $PLAYER_CHAR, а также локальные от 0@ до 31@. Так же нельзя использовать опкод 004E: end_thread. Если Вам необходимо остановить Ваш CLEO – скрипт используйте опкод 0A93: end_custom_thread.
Подняться к началу

Есть ли шаблон для CLEO - скрипта?

Шаблоном для любого CLEO-скрипта может быть только одна строка
{$CLEO}
все остальное зависит от самого скрипта и его назначения.
{$CLEO} - директива компилятора, она сообщает компилятору о том, что скрипт нужно компилировать без заголовка.
Подняться к началу

Как написать простой CLEO-скрипт?

Для начала нужно определиться, что желаем увидеть в результате.

Допустим нам необходимо организовать парковку транспорта в определенном месте. Для этого нет необходимости проверять существует ли игрок или нет, а так же нет необходимости организовывать бесконечный цикл. Посему пишем скрипт:
Код:
{$CLEO}
wait 0
014B: 0@ = init_parked_car_generator #MTBIKE color -1 -1 0 alarm 0 door_lock 0 0 10000 at 2470.5559 -1670.0945 12.1164 angle 196.6768
0A17: set_parked_car_generator 0@ flag 1
014C: set_parked_car_generator 0@ cars_to_generate_to 101

014B: 1@ = init_parked_car_generator #ADMIRAL color -1 -1 0 alarm 0 door_lock 0 0 10000 at 2476.3293 -1678.3358 13.338 angle 247.8133
0A17: set_parked_car_generator 1@ flag 1
014C: set_parked_car_generator 1@ cars_to_generate_to 101
// Таким образом можно организовать парковку до 32 авто
0A93: end_custom_thread


Если же есть необходимость, чтобы скрипт работал постоянно, то есть организовать бесконечный цикл, поступаем следующим образом:
Код:
{$CLEO}
0000:

:HEALTH
0001: wait 0 ms
00D6: if
0256: player $PLAYER_CHAR defined
004D: jump_if_false @HEALTH
0226: 0@ = actor $PLAYER_ACTOR health
if
0019: 0@ > 25
jf @HEALTH_1
jump @HEALTH

:HEALTH_1
00A0: store_actor $PLAYER_ACTOR position_to 1@ 2@ 3@
018C: play_sound 1053 at 1@ 2@ 3@
wait 300
jump @HEALTH


0000: - опкод не обрабатываемый игрой, он нам нужен здесь лишь для того, чтобы не допустить возврат на первую метку скрипта. Для чего это нужно делать читайте в Sanny Builder Help: CLEO 3 Code Library/FAQ по CLEO 3
Подняться к началу

Как запустить нужный мне CLEO – скрипт из другого CLEO – скрипта?

Для начала необходимо усвоить одно условие: все скрипты с расширением .cs запускаются при старте игры.
Если есть необходимость не запускать скрипт при старте игры, а запустить его при выполнении определенного условия в другом скрипте. Для этого нужный нам скрипт необходимо компилировать с расширением отличным от .cs. Например с расширением .my. Просто пропишите в директиве {$CLEO .my}.
Для примера напишем скрипт где будем проверять нажатие определенной клавиши, и если клавиша будет нажата запускаем другой скрипт.
Код:
{$CLEO}
0000:

:START
0001: wait 0 ms
00D6: if and
0256: player $PLAYER_CHAR defined
0AB0: key_pressed 53 // клавиша «5»
004D: jump_if_false @START
0A92: create_custom_thread "text.my"
0A93: end_custom_thread


Теперь пишем скрипт text.my, для наглядности выводим текст бокс
Код:

{$CLEO .my}
wait 0
03E5: show_text_box 'HELP101' // Respect can be earned be passing certain missions, killing rival gangs members, gaining territory and tagging.
0A93: end_custom_thread

сохраняем как text.txt а затем компилируем. У нас получилось два CLEO – скрипта START.cs и text.my. Все запускаем игру и при нажатии клавиши «5» наблюдаем работу скрипта text.my.
Подняться к началу


[ Вернуться к началу ЧаВо(FAQ) раздела ]

Реклама
www.premiercosmetics.ru Косметику Premier купить
premiercosmetics.ru

Вверх     Вернуться на главную. Вход в Систему. Статьи. Скачать. Миссии. ФОРУМ Обратная связь.   
   
   
Яндекс.Метрика
   
   
- Генерация страницы: 0.02 секунд -