Difference between revisions of "Ru:DataPacks (SourceMod Scripting)"
MAGNAT2645 (talk | contribs) |
MAGNAT2645 (talk | contribs) (Removed old english text) |
||
Line 1: | Line 1: | ||
− | DataPack - легкий способ добавлять и перемещать различные типы данных в [[:Category:SourceMod Scripting|SourceMod Scripting]]. | + | DataPack - легкий способ добавлять и перемещать различные типы данных в [[:Category:SourceMod Scripting|SourceMod Scripting]]. Так как некоторые вещи невозможны в SourcePawn, такие как функция потребления строчки, DataPackи помогают нам получать эти строчки и другие вещи, где они нужны. |
− | Так как некоторые вещи невозможны в SourcePawn, такие как функция потребления строчки, DataPackи помогают нам получать эти строчки и другие вещи, где они нужны. | ||
=Примеры использования DataPack= | =Примеры использования DataPack= |
Revision as of 12:30, 22 November 2016
DataPack - легкий способ добавлять и перемещать различные типы данных в SourceMod Scripting. Так как некоторые вещи невозможны в SourcePawn, такие как функция потребления строчки, DataPackи помогают нам получать эти строчки и другие вещи, где они нужны.
Contents
Примеры использования DataPack
Синтаксис:
//написание DataPack pack = new DataPack(); pack.WriteCell(23); pack.WriteString("I'm a little teapot."); //чтение pack.Reset(); //возвращает позицию в начало, необходимо для чтения данных. int cellValue = pack.ReadCell(); char buffer[1024]; pack.ReadString(buffer, 1024);
Создание DataPack
Creating a DataPack is very simple; all you need is a Handle to write to. Создать DataPack очень просто; всё, что вам нужно это дескриптор для записи DataPack в него.
Datapack dataPackHandle = new DataPack();
Для более подробной информации по использованию дескрипторов, смотрите Handle API (SourceMod).
Функции DataPack
On you have created your DataPack, you can use a variety of functions to manage the DataPack. Когда вы создадите DataPack, вы можете использовать множество функций, чтобы управлять DataPack.
WritePackCell
Синтаксис:
native void WritePackCell(Handle pack, int cell);
WritePackFloat
Эта функция может использоваться, чтобы записать дробь в DataPack.
Синтаксис:
native void WritePackFloat(Handle pack, float val);
WritePackString
Эта функция может использоваться, чтобы записать строчку в DataPack.
Синтаксис:
native void WritePackString(Handle pack, const char[] str);
ReadPackCell
Синтаксис:
native any ReadPackCell(Handle pack);
ReadPackFloat
Эта функция может использоваться, чтобы прочитать (получить) дробь из DataPack.
Синтаксис:
native float ReadPackFloat(Handle pack);
ReadPackString
This function can be used to read a String from a DataPack. Эта функция может использоваться, чтобы прочитать (получить) строчку из DataPack.
Синтаксис:
native void ReadPackString(Handle pack, char[] buffer, maxlen);
ResetPack
This function resets your position in the DataPack. Эта функция возвращает позицию DataPack в начало.
Синтаксис:
native void ResetPack(Handle pack, bool clear=false);
GetPackPosition
Эта функция возвращает текущую позицию в DataPack.
Синтаксис:
native int GetPackPosition(Handle pack);
SetPackPosition
Эта функция устанавливает текущую позицию в DataPack.
Синтаксис:
native void SetPackPosition(Handle pack, int position);
Отключение DataPack
Чтобы отключить DataPack, нужно просто закрыть его дескриптор.
Пример:
CloseHandle(dataPackHandle);