Скрипты‎ > ‎

Скрипты SQF

    Скрипты sqf поддерживают больший функционал, по равнению с sqs. Бисы даже рекомендуют использовать их вместо sqs, но всё же для небольших задач, по-моему подойдут и sqs. В sqf скриптах проще, на мой взгляд, сделать цикл, который будет повторяться пока сохраняется условие, да и многое стало проще сделать именно в sqf, так что их мы рассмотри достаточно подробно.

    Интересная, на мой взгляд цитата Wass:
    "Если вы гуру SQS скриптов, то идите читать мою статью по SQF скриптам, а SQS забудьте как страшный сон."

    Взглянем на отличия от sqs:
    Все строки в SQF должны заканчиваться символом ; пример:
_man = _this select 0;
    Но тут тоже не обошлось без подвохов, например, вы можете записать скрипт не так как понимает его игра, и в этом случае символ ; будет уже не нужен, вот например:
    Игра воспримет строку скрипта вот так:

if (_i==0) then {_a=_a+1;} else {_b=_b+1;};
    А Вы записали эти строчки вот так (значительно удобнее):
if (_i==0) then {
_a=_a+1;
}
else {
_b=_b+1;
};
    Как отсюда следует: завершающие скобки блока заканчиваются символом }; скобки внутри блоков просто символом }, но каждая строчка символом ; просто запомните это и всё. Вскоре, практикуясь (это обязательно, практика - самое важное, что необходимо скриптеру), Вы всё запомните.
    Обратите внимание - символы @ ? ~ отсутствуют,вместо них используются команды.
    @ заменяеться на WaitUntil, например:
WaitUntil {!alive men};
    ?условие : заменяется на if (условие) then {}; например:
 if (!alive men) then {hint "men is dead!"};
    ~1 заменяется на sleep 1; 
    Команда exit тоже отсутствует, впрочем она и не нужна.
    Вообще список команд изрядно пополнился и сейчас, по ходу изучения sqf, мы их рассмотрим.


Комментарии в скрипте. 
    Теперь Вы можете оставлять комментарии прямо в скрипте, что бы Вам было легче разобраться, если скрипт очень большой. Есть несколько способов:
        1. использование символов // перед текстом комментария, например:

{code};
//здесь комментарий который не читается игрой
{code};
        2. если комментарий у нас растянут на несколько строк, лучше использовать для его открытия символы /* и для закрытия */
{code};
/*
символы
напечатанные здесь
будут пропущены игрой
*/
{code};
    комментарии можно вставлять не только между строками кода, но и после строк кода, например:
{code}; //этот код предназначен для...

    Это основные отличия от sqs.