Основы скриптинга (RU). Типы переменных Переменные - это места, куда вы можете хранить данные. В 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(Left == Right) != Левое не равно правому if(Left != Right) > Левое больше, чем правое if(Left > Right) >= Левое больше или равно правому if(Left >= Right) < Левое меньше, чем правое if(Left < Right) <= Левое меньше или равно правому if(Left <= Right) Оператор Значение Использование && И if(Left && Right) || ИЛИ if(Left || Right) ! НЕ if(!Variable) НЕ ИЛИ if(!(Left || Right)) НЕ И if(!(Left && Right)) ИЛИ ИЛИ if((Left && !Right)||(!Left && Right)) НЕ ИЛИ ИЛИ if(!((Left && !Right)||(!Left && Right))) Пример if(lvalue > rvalue) { /* Выполнить код */ } В этом примере если условие между lvalue и rvalue истинно, выполнится код. Условие представляет собой - если lvalue больше, чем rvalue...
|