Difference between revisions of "Ru:DataPacks (SourceMod Scripting)"
MAGNAT2645 (talk | contribs) m (MAGNAT2645 moved page Ru:DataPacks to Ru:DataPacks (SourceMod Scripting): Url will be able to use with this) |
MAGNAT2645 (talk | contribs) m (→Создание DataPack) |
||
Line 17: | Line 17: | ||
=Создание DataPack= | =Создание DataPack= | ||
− | |||
Создать DataPack очень просто; всё, что вам нужно это дескриптор для записи DataPack в него. | Создать DataPack очень просто; всё, что вам нужно это дескриптор для записи DataPack в него. | ||
<pawn>Datapack dataPackHandle = new DataPack();</pawn> | <pawn>Datapack dataPackHandle = new DataPack();</pawn> |
Revision as of 07:50, 24 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
Создать 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);