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

From AlliedModders Wiki
Jump to: navigation, search
m (Функции DataPack)
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
DataPack - легкий способ добавлять и перемещать различные типы данных в [[:Category:SourceMod Scripting|SourceMod Scripting]]. Since some things are not possible in SourcePawn, such as a function consuming a String, DataPacks help us get these Strings and other items where they need to go.
+
DataPack - легкий способ добавлять и перемещать различные типы данных в [[:Category:SourceMod Scripting|SourceMod Scripting]]. Так как некоторые вещи невозможны в SourcePawn, такие как функция потребления строчки, DataPackи помогают нам получать эти строчки и другие вещи, где они нужны.
Так как некоторые вещи невозможны в SourcePawn, такие как функция потребления строчки, DataPackи помогают нам получать эти строчки и другие вещи, где они нужны.
 
  
 
=Примеры использования DataPack=
 
=Примеры использования DataPack=
Line 18: Line 17:
  
 
=Создание DataPack=
 
=Создание DataPack=
Creating a DataPack is very simple; all you need is a Handle to write to.
 
 
Создать DataPack очень просто; всё, что вам нужно это дескриптор для записи DataPack в него.
 
Создать DataPack очень просто; всё, что вам нужно это дескриптор для записи DataPack в него.
 
<pawn>Datapack dataPackHandle = new DataPack();</pawn>
 
<pawn>Datapack dataPackHandle = new DataPack();</pawn>
Line 25: 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.
  
Line 60: Line 57:
  
 
==ReadPackString==
 
==ReadPackString==
This function can be used to read a String from a DataPack.
 
 
Эта функция может использоваться, чтобы прочитать (получить) строчку из DataPack.
 
Эта функция может использоваться, чтобы прочитать (получить) строчку из DataPack.
  
Line 68: Line 64:
  
 
==ResetPack==
 
==ResetPack==
This function resets your position in the DataPack.
 
 
Эта функция возвращает позицию DataPack в начало.
 
Эта функция возвращает позицию DataPack в начало.
  

Latest revision as of 06:52, 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

Эта функция может использоваться, чтобы прочитать (получить) строчку из 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);