Учимся писать и читать скрипты. Часть 1.


В первую очередь стоит отметить, что скрипт - это сценарий (или определённая последовательность), строгое выполнение тех или иных команд в определённой последовательности, которые будут (или же не будут) выполняться, если наступит (или не наступит) определённое действие (попросту говоря, активируется ли та или команда или нет). Разберём один маленький скриптик - как же он устроен.

dim_flt 20 
dim_act 20
dim_frm 20

Это шапка скрипта. Фактически для любого скрипта она одинокова. Советую использовать именно в таком виде, даже если в Вашем варианте нет, например, акторов, или фреймов. И в таком количестве. Впрочем, с количеством проще: используйте ровно столько акторов (персонажей) и фреймов (мест, куда они будут телепортироваться, куда будут идти или ехать), сколько предполагаете задействовать в скрипте, но с небольшим запасом на случай, если будете исправлять скрипт, добавляя новых персонажей, чтобы потом лихорадочно не искать неизвестную, еле заметную ошибочку, из-за которой всё будет как-то не так ;)

findactor 0, "Tommy"
findactor 1, "NULL"

Это список задействованных персонажей (акторов) скрипта. Параметр "NULL" обозначает "нулевой" (это по-немецки) и означает как бы "временный, несуществующий" актор. Таким образом чаще всего показывают для удобства дальнейшего просмотра скрипта, например, актор машины (или персонажа), который (-ая) будет находиться поблизости Томми, если далее в скрипте будет задействована такая команда "findnearactor 0, 1, CAR[Enemy]" (чтобы видно было, что, например, случайная машина из трафика задействована именно под цифрой "1", а не другой).

findframe 0, "Tommy"

Это задействованный список фреймов (в данном случае для Тома).

let flt[0] = 0

Это какой-то параметр, равный нулю, значению которого будет задействовано позднее. В таких случаях настоятельно советую использовать начальные значения параметров, начиная с нулевых, а не сразу с 5 или 10 (не с бухты-барахты, в общем).

label 101

Это первая метка (лэйбл), с неё часто начинается любая основная часть скриптов.

... // какие-то команды
if flt[0] = 1, -1, 102

Условная команда, указывающая, что при значении равном единице, действие скрипта перейдёт дальше (вниз), а если значение будет иным (в данном случае, равное нулю, т.к. сразу под шапкой скрипта значение параметра было определено именно нулю), то переход в метку 102.

... // какие-то команды в этом скрипте
let flt[0] = 0

Возвращаем значение, равное нулю, чтобы в следующий раз задействовать метку 102.

goto 101

Этой командой зацикливаем скрипт, таким образом произойдёт переход, возврат к первой метке, в данном случае - к метке 101.

label 102 // метка 102
... // какие-то команды в этом скрипте
let flt[0] = 1

Теперь ставим значение параметра равным единице, чтобы задействовать то содержание скрипта, что идёт под меткой 101 сразу после проверочной команды  "if flt[0] = 1, -1, 102". Таким образом произойдёт переход вниз скрипта, переход дальше по содержанию, а не в метку 102.

goto 101

Этой командой-меткой зацикливаем скрипт в метку 101. Таким образом произойдёт возврат для выполнения повторного действия в данном скрипте.


Продолжение следует...



Смотрите также

  • Как делать моды
  • Как вставить самолёт


  • Наш блог

    body {background:url(/img/mafia-forever_ru/Fon_bubble.jpg) repeat #E2EDF3!important;} body {background:url(/img/mafia-forever_ru/Fon_rose.gif) repeat #E2EDF3!important;} body {background:url(/img/mafia-forever_ru/Fon3.jpg) fixed no-repeat;} body {background:url(/img/mafia-forever_ru/Fon6.jpg) fixed no-repeat;} body {background:url(/img/mafia-forever_ru/Fon_Moscow.jpg) fixed no-repeat;}

    Interessante

    Mafia Beta

    Наша кнопка


    Получить код

    Партнёры

    Alive mod

    MAFIATOWN

    Mafia-Game.Ru

    Mafia.GameCentral.cz

    Famille Mafieuse

    Lukyanov

    MafiaPub

    В Союзе

    ТОП.НОВОСЁЛ.РУ

    Топ 5 файлов





    Тэги










                         200stran.ru
    2013- © Alive Bars. Сделано в России. С душой.
    Немного о скриптах. Webgamer. RSS-лента. В Союзе.
    Rambler's Top100 Rating@Mail.ru HotLog