Описание:
Создаёт в виртуальной машине новое свойство или изменяет уже существующее.
Параметры:
id - ID виртуальной машины (по умолчанию 0). Желательно пропускать этот параметр (см. пример ниже) либо оставлять его равным нулю, т.к. в SA:MP используется всего одна виртуальная машина.
name - название свойства (используется только если значение свойства не является строковым).
value - значение свойства, если сохраняется целое число, или уникальный идентификатор свойства, если нужно сохранить строку (как правило, это хеш от сохраняемой строки).
string[] - сохраняемое строковое значение. Для сохранения свойств с целочисленными значениями этот параметр не нужен.
Возвращаемое значение:
Предыдущее значение свойства, если оно уже существовало, или 0, если оно только создано.
Пример использования:
Установка свойств разными способами (на примере целочисленного значения):См. также:
// 1-й способ: перечислить все параметры // 2-й способ: перечислить только нужные параметры с помощью их имён // 3-й способ: перечислить только нужные параметры, для пропуска ненужных поставить "_" // (не требуется перечислять каждый параметр по имени) // 4-й способ: поскольку последний параметр необязателен для сохранения // целочисленных значений, можно пропустить его (модификация 3-го способа)
Установка свойств со значениями целочисленного и строкового типа (для получения хеша имени свойства используется y_stringhash):
// создаём целочисленное свойство с именем "my_int1" и значением 23 // теперь создадим свойство "my_string1" со значением строкового типа "Sample text": // 1. вычислим хеш названия свойства // (для примера взято вычисление хеша средствами y_stringhash) new hash = YHash("my_string1", true, hash_fnv1); // 2. создадим свойство с хешем от имени "my_string1", сохранённым в переменной hash // и строковым значением "Sample text"
Получение предыдущего значения свойства при обновлении значения:
// для начала создадим свойство "my_int0" со значением 2 // с помощью getproperty получаем значение свойства и выводим его на экран // теперь устанавливаем новое значение свойства // при этом setproperty вернёт старое значение свойства, // которое будет сохранено в result // выведем новое (полученное с помощью getproperty) // и старое (сохранено в переменной result) значения свойства "my_int0"
Статью подготовил: Daniel_Cortez
Специально для Pro-Pawn.ruКопирование данной статьи на других ресурсах без разрешения автора запрещено!