Difference between revisions of "Ru:DataPacks (SourceMod Scripting)"

From AlliedModders Wiki
Jump to: navigation, search
m (Создание DataPack)
m (Функции DataPack)
Line 23: Line 23:
  
 
=Функции DataPack=
 
=Функции DataPack=
On you have created your DataPack, you can use a variety of functions to manage the DataPack.
 
 
Когда вы создадите DataPack, вы можете использовать множество функций, чтобы управлять DataPack.
 
Когда вы создадите DataPack, вы можете использовать множество функций, чтобы управлять DataPack.
  

Revision as of 06:51, 24 November 2016

DataPack - легкий способ добавлять и перемещать различные типы данных в SourceMod Scripting. Так как некоторые вещи невозможны в SourcePawn, такие как функция потребления строчки, DataPackи помогают нам получать эти строчки и другие вещи, где они нужны.

Примеры использования 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

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);