setproperty
Материал из Pro-Pawn Wiki
Описание:
Создаёт новое свойство или изменяет значение уже существующего свойства.
Параметры:
(id=0, const name[]="", value=cellmin, const string[]="") |
id | ID свойства (необязательный параметр). Может использоваться в качестве ID скрипта в хост-приложениях, поддерживающих работу сразу нескольких скриптов. |
const name[] | Название, по которому функция будет искать свойство (необязательный параметр). |
value | Значение свойства (необязательный параметр). Если название (name ) не указано, функция будет искать свойство по ID и значению.
|
const string[] | Cтроковое значение свойства (необязательный параметр). |
Возвращаемое значение:
Предыдущее значение свойства (ячейка Pawn), если свойство существовало ранее, или 0, если оно только создано.
При выгрузке/перезагрузке гейммода или фильтрскрипта удаляются все свойства, даже те, которые были созданы другими скриптами. |
Пример использования:
main()
{
// Создадим свойство с названием "prop1", ID равным нулю и значением 10.
setproperty(0, "prop1", 10);
// Создадим ещё одно свойство, на этот раз для хранения строки ("abcd123").
// Поскольку нужно сохранить строку, название указывать не следует.
setproperty(1, "", 23, "abcd123");
new string[10];
new value;
// Получим и выведем значение свойства "prop1".
value = getproperty(0, "prop1");
// Вывод: "prop1: 10"
printf("prop1: %d", value);
// Получим строковое значение из другого свойства.
// Поиск производится по ID и одиночному (не строковому) значению -
// указываем их те же, что и в вызове setproperty() при создании свойства.
getproperty(1, "", 23, string);
// Также не следует забывать, что полученная строка будет упакованная
// и её придётся распаковать, чтобы она правильно выводилась через printf().
strunpack(string, string);
// Вывод: "Безымянное свойство<1, 23>: "abcd123""
printf("Безымянное свойство<1, 23>: \"%s\"", string);
}
{
// Создадим свойство с названием "prop1", ID равным нулю и значением 10.
setproperty(0, "prop1", 10);
// Создадим ещё одно свойство, на этот раз для хранения строки ("abcd123").
// Поскольку нужно сохранить строку, название указывать не следует.
setproperty(1, "", 23, "abcd123");
new string[10];
new value;
// Получим и выведем значение свойства "prop1".
value = getproperty(0, "prop1");
// Вывод: "prop1: 10"
printf("prop1: %d", value);
// Получим строковое значение из другого свойства.
// Поиск производится по ID и одиночному (не строковому) значению -
// указываем их те же, что и в вызове setproperty() при создании свойства.
getproperty(1, "", 23, string);
// Также не следует забывать, что полученная строка будет упакованная
// и её придётся распаковать, чтобы она правильно выводилась через printf().
strunpack(string, string);
// Вывод: "Безымянное свойство<1, 23>: "abcd123""
printf("Безымянное свойство<1, 23>: \"%s\"", string);
}
См. также: