Целочисленный тип
Этот тип переменной по умолчанию, он используется для хранения целых чисел. Вы не должны использовать числа с десятичной точкой, так как они не целые числа, даже в том случае, когда числа после десятичной точки - все нули (например, 5.00), все равно это технически не целое число.
Пример
Code: Select all
new integer = 1337; // Объявляет новую целочисленную переменную с именем "integer" и устанавливает ее значение в "1337".
new integer; // Объявляет новую целочисленную переменную с именем "integer" с автоматическим значением "0".
Возможное использование
if(integer == 1337) { /* Сделать что-либо */ }
Вещественный тип
Переменные вещественного типа могут хранить десятичные числа, так называемые числа "с плавающей точкой".
Пример
Code: Select all
new Float:float; // Объявляет новую пустую вещественную перменную с именем "float".
new Float:float = 2.0; // Объявляет новую вещественную перменную с именем "float" и устанавливает ее значение в "2.0".
Возможное использование
SetPlayerPos(playerid, float, 2.0, 1400.0);
Глобальные переменные
Они объявляются в начале скрипта и они доступны всему скрипту, т. е. обратиться к переменной можно из любой автовызываемой функции. Локальные переменные объявляются в теле автовызываемой функции и они доступны только в внутри этой функции, из другой функции скрипта, ее вызвать нельзя.
Code: Select all
new pawn; // это глобальная переменная
public OnGameModeInit()
{
new samp; // это локальная переменная
return 1;
}
Строка – это место для хранения букв или символов. Строки должны быть помещены в массив, так как каждая ячейка может содержать букву. Чтобы объявить строковую переменную, нужно написать следующее:
Code: Select all
new pawn[5] = “samp”;
Таким образом мы создали строковую переменную и присвоили ей значение «samp». Число в квадратных скобках означает количество ячеек выделенное для строки. Почему 5 ячеек, когда слово состоит из 4 букв, потому что вы должны указать экстра-ячейку для идентификатора строки – 0. Тоесть цифра в квадратных скобках всегда больше значения переменной на единицу. Переменные могут быть предназначены как для всех игроков, так и для конкретного игрока. Если мы хотим сделать переменную индивидуальной для каждого игрока, то мы пишем так, пишу для всех типов переменных:
Code: Select all
new pawn[MAX_PLAYERS] = 25; //переменная целочисленного типа для каждого игрока
new Float:pawn[MAX_PLAYERS] = 25.4; //переменная вещественного типа для каждого игрока
new bool:pawn[MAX_PLAYERS] = true; //переменная логического типа для каждого игрока
MAX_PLAYERS означает, что переменная будет использоваться для всех игроков, т.е. для каждого игрока у переменной свое значение. Если точнее, то у разных игроков разные значения этой переменной.
Code: Select all
new pawn[MAX_VEHICLES] = 25; //переменная целочисленного типа для каждого транспорта
new Float:pawn[MAX_VEHICLES] = 25.4; //переменная вещественного типа для каждого транспорта
new bool:pawn[MAX_VEHICLES] = true; //переменная логического типа для каждого транспорта
MAX_VEHICLES означает, что переменная будет использоваться для всего транспорта, т.е. для каждого транспорта у переменной свое значение. Чтобы обратиться к такой переменной нужно написать следующее, пишу пример для обоих вариантов:
Code: Select all
pawn[playerid] = 5; // устанавливаем значение переменной для игрока на 5
pawn[vehicleid] = 5; // устанавливаем значение переменной для транспорта на 5