Типы переменных
Переменные - это места, куда вы можете хранить данные. В PAWN имена переменных чувствительны к регистру, поэтому переменная "lolhax" не то же самое, что и "LOLHAX" или "lOLhAx" к примеру; имена переменных должны также начинаться с буквы алфавита (A-Z)
Целочисленный тип
Этот тип переменной по умолчанию, он используется для хранения целых чисел. Вы не должны использовать числа с десятичной точкой, так как они не целые числа, даже в том случае, когда числа после десятичной точки - все нули (например, 5.00), все равно это технически не целое число.
Пример
new integer = 1337; // Объявляет новую целочисленную переменную с именем "integer" и устанавливает ее значение в "1337". new integer; // Объявляет новую целочисленную переменную с именем "integer" с автоматическим значением "0".
Возможное использование
if(integer == 1337) { /* Сделать что-либо */ }
Вещественный тип
Переменные вещественного типа могут хранить десятичные числа, так называемые числа "с плавающей точкой".
Пример
new Float:float; // Объявляет новую пустую вещественную перменную с именем "float". new Float:float = 2.0; // Объявляет новую вещественную перменную с именем "float" и устанавливает ее значение в "2.0".
Возможное использование
SetPlayerPos(playerid, float, 2.0, 1400.0);
Строка
Строки - это места для хранения символов (букв и/или символов). Строки должны быть помещены в массив, так что каждая ячейка может содержать букву, вы должны указать экстра-ячейку для идентификатора строки - "0".
Примеры
new string[7] = "String"; // 7 - это число ячеек, необходимых для хранения каждой буквы в строке, в том числе и идентификатора. new string[7]; string[0] = 'S'; string[1] = 't'; string[2] = 'r'; string[3] = 'i'; string[4] = 'n'; string[5] = 'g'; string[6] = 0;
Обычное использование
new string[255];
Возможное использование
SendClientMessage(playerid, 0xFFFFFFAA, string);
Логический тип
Используется для результатов "истина" (true) или "ложь" (false). True эквивалентен "1" и false эквивалентен "0", новые переменные этого типа автоматически принимают значение false.
Примеры
new bool:boolname;
Возможное использование
if(boolname == true) { /* Сделать что-либо */ }
Массив
Массивы - это большие места для хранения данных, виртуальные таблицы. Вы можете иметь одномерные и многомерные массивы. Вам нужно создать новый массив вещественного или логического типа так же, как вы создаете переменные, не массивы, использую предопределенные имена тегов (bool:, Float:).
Заметьте, что в массиве вы НЕ МОЖЕТЕ использовать последний столбец или линию
Одномерный массив
Одномерный массив - это один столбец, разбитый на указанное число ячеек.
new onedimensionalarray[CELLS];
Пример
new onedimensionarray[5] = {4, 6, 7, 9, 2}; // "5", написанная в [], указывает, сколько ячеек выделено для хранения данных.
Возможное использование
new randomnumber = random(sizeof(onedimensionalarray)); // Получает случайное число для ячейки. printf("Random number is: %d", onedimensionalarray[random]); // Использует случайное число для выбора ячейки.
Двумерный массив
Двумерный массив позволяет вам иметь много строк и столбцов.
new twodimensionalarray[ROWS][COLLUMNS];
Пример
new Float:twodimensionarray[4][3] = { {3.0, 4.5, 5.76}, // Столбец номер 0 {10.85, 76.34, 23.54}, // Столбец номер 1 {2.32, 10.23, 80.2}, // Столбец номер 2 {6.6666, 45.3, 32.64} // Столбец номер 3 };
Возможное использование
SetPlayerPos(playerid, twodimensionalarray[2][2], twodimensionalarray[3][1], twodimensionalarray[2][0]);
Трехмерный массив - строка двумерных массивов
new treedimensionalarray[ROWS][COLLUMNS][Z];
Строка двумерных массивов
new twodimensionalarraystring[ROWS][COLLUMNS][255]; // для строки в 256 байт
Условные конструкции
Условные конструкции позволяют Вам посмотреть, удоволетворяют ли данные условиям, а затем в зависимости от результата выполнить код. Наиболее распространенный тип условных конструкций - if/else-конструкция, но помимо нее есть много других: case, цикл for и цикл while.
if/else
if/else-конструкции позволяют вам посмотреть, удоволетворяют ли данные условию при помощи опреаторов, и если это так, то выполнить код.
Операторы сравнения
Операторы сравнения более всег оиспользуются в выражениях if/else; они проверяют соотношение между двумя наборами данных перед выполнением кода.
Пример
if(lvalue > rvalue) { /* Выполнить код */ }
В этом примере если условие между lvalue и rvalue истинно, выполнится код. Условие представляет собой - если lvalue больше, чем rvalue...