[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Форум » Уроки SourceMod (SourcePawn) Скриптинга » Типы переменных (Float, String, Handle, bool Взято с world-source.ru)
Типы переменных
rootДата: Воскресенье, 03.02.2013, 01:25 | Сообщение # 1
Генералиссимус
Группа: Администраторы
Сообщений: 561
Статус: Offline
Типы Переменных 

Переменные необходимы для хранения различных данных. Так как есть разные типы данных (числа, строки, массивы и т.д.), то и переменные есть разные. Перед тем, как присвоить переменной какое-то значение, её нужно объявить (создать) с помощью ключевого слова 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);

Если вы присвоете переменной не тот тип значения, то произойдёт ошибка (увидите её при компиляции).
 
Форум » Форум » Уроки SourceMod (SourcePawn) Скриптинга » Типы переменных (Float, String, Handle, bool Взято с world-source.ru)
  • Страница 1 из 1
  • 1
Поиск: