Типы Переменных
Переменные необходимы для хранения различных данных. Так как есть разные типы данных (числа, строки, массивы и т.д.), то и переменные есть разные. Перед тем, как присвоить переменной какое-то значение, её нужно объявить (создать) с помощью ключевого слова new. Обязательно прочитайте эту статью, т.к. она поможет вам многое понять.
Если коротко, то есть такие типы переменных:
Код
new x; // 0 (целое число) | %d
new Float:x; // 0.0 (число с точкой) | %f
new bool:x; // false. Хранит значение true (правда 1) и false (ложь 0) | %d
new Srtring:x[3] = "wS"; // строка (надо указывать её размер) | %s
new Handle:x; // Уникальный идентификатор, например, 26001a | %x
new x[2]; // массив, содержащий 2 целых числа. 1 элемент: x[0], второй: x[1] | %d
Для теста:
Код
#include <sourcemod>
public OnPluginStart()
{
new Handle:PluginHandle = GetMyHandle();
PrintToServer("PluginHandle = %x, INVALID_HANDLE = %x", PluginHandle, INVALID_HANDLE);
// PluginHandle = 26001a, INVALID_HANDLE = 0
}
Как узнать, какой нужно тип переменной создать?
Это полностью зависит от типа значения, которое вы будете в ней хранить.
Например, есть функция CreateTimer:
Код
native Handle:CreateTimer(Float:interval, Timer:func, any:data=INVALID_HANDLE, flags=0);
Перед именем функции видно приставку 'Handle:' и ниже написано, что она возвращает: 'Handle to the timer object'. Это значит, что если мы хотим сохранить идентификатор таймера, то нужно создать Handle переменную.
Код
new Handle:xz = CreateTimer(1.0, zxFunc);
Если вы присвоете переменной не тот тип значения, то произойдёт ошибка (увидите её при компиляции).