Difference between revisions of "Ru:DataPacks (SourceMod Scripting)"
MAGNAT2645 (talk | contribs) |
MAGNAT2645 (talk | contribs) m (→Функции DataPack) |
||
(4 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | DataPack - легкий способ добавлять и перемещать различные типы данных в [[:Category:SourceMod Scripting|SourceMod Scripting]]. | + | DataPack - легкий способ добавлять и перемещать различные типы данных в [[:Category:SourceMod Scripting|SourceMod Scripting]]. Так как некоторые вещи невозможны в SourcePawn, такие как функция потребления строчки, DataPackи помогают нам получать эти строчки и другие вещи, где они нужны. |
− | Так как некоторые вещи невозможны в SourcePawn, такие как функция потребления строчки, DataPackи помогают нам получать эти строчки и другие вещи, где они нужны. | ||
=Примеры использования DataPack= | =Примеры использования DataPack= | ||
Line 18: | Line 17: | ||
=Создание DataPack= | =Создание DataPack= | ||
− | |||
Создать DataPack очень просто; всё, что вам нужно это дескриптор для записи DataPack в него. | Создать DataPack очень просто; всё, что вам нужно это дескриптор для записи DataPack в него. | ||
<pawn>Datapack dataPackHandle = new DataPack();</pawn> | <pawn>Datapack dataPackHandle = new DataPack();</pawn> | ||
Line 25: | Line 23: | ||
=Функции DataPack= | =Функции DataPack= | ||
− | |||
Когда вы создадите DataPack, вы можете использовать множество функций, чтобы управлять DataPack. | Когда вы создадите DataPack, вы можете использовать множество функций, чтобы управлять DataPack. | ||
Line 60: | Line 57: | ||
==ReadPackString== | ==ReadPackString== | ||
− | |||
Эта функция может использоваться, чтобы прочитать (получить) строчку из DataPack. | Эта функция может использоваться, чтобы прочитать (получить) строчку из DataPack. | ||
Line 68: | Line 64: | ||
==ResetPack== | ==ResetPack== | ||
− | |||
Эта функция возвращает позицию DataPack в начало. | Эта функция возвращает позицию DataPack в начало. | ||
Latest revision as of 06:52, 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
Когда вы создадите 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
Эта функция может использоваться, чтобы прочитать (получить) строчку из DataPack.
Синтаксис:
native void ReadPackString(Handle pack, char[] buffer, maxlen);
ResetPack
Эта функция возвращает позицию 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);