Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.

Реклама


**Как получить V.I.P** (Перейти)
Чтобы заказать рекламу на Pro-Pawn.Ru, обращайтесь в Skype.
Баннерная реклама 200руб/мес, Текстовая 100руб/мес.
Показано с 1 по 1 из 1

Тема: setproperty

  1. #1
    Аватар для Daniel_Cortez
    new fuck_logic[0] = EOS;

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    1,653
    Репутация:
    2144 ±

    setproperty

    Описание:
    Создаёт в виртуальной машине новое свойство или изменяет уже существующее.

    Параметры:
    id - ID виртуальной машины (по умолчанию 0). Желательно пропускать этот параметр (см. пример ниже) либо оставлять его равным нулю, т.к. в SA:MP используется всего одна виртуальная машина.
    name - название свойства (используется только если значение свойства не является строковым).
    value - значение свойства, если сохраняется целое число, или уникальный идентификатор свойства, если нужно сохранить строку (как правило, это хеш от сохраняемой строки).
    string[] - сохраняемое строковое значение. Для сохранения свойств с целочисленными значениями этот параметр не нужен.

    Возвращаемое значение:
    Предыдущее значение свойства, если оно уже существовало, или 0, если оно только создано.

    Пример использования:
    Установка свойств разными способами (на примере целочисленного значения):
    PHP код:
    // 1-й способ: перечислить все параметры
    setproperty(0"my_int0"2"");

    // 2-й способ: перечислить только нужные параметры с помощью их имён
    setproperty(.name="my_int0", .value=2);

    // 3-й способ: перечислить только нужные параметры, для пропуска ненужных поставить "_"
    // (не требуется перечислять каждый параметр по имени)
    setproperty(_"my_int0"2_);

    // 4-й способ: поскольку последний параметр необязателен для сохранения
    // целочисленных значений, можно пропустить его (модификация 3-го способа)
    setproperty(_"my_int0"2); 
    Установка свойств со значениями целочисленного и строкового типа (для получения хеша имени свойства используется y_stringhash):
    PHP код:
    // создаём целочисленное свойство с именем "my_int1" и значением 23
    setproperty(_"my_int1"23);

    // теперь создадим свойство "my_string1" со значением строкового типа "Sample text":
    // 1. вычислим хеш названия свойства
    // (для примера взято вычисление хеша средствами y_stringhash)
    new hash YHash("my_string1"truehash_fnv1);
    // 2. создадим свойство с хешем от имени "my_string1", сохранённым в переменной hash
    // и строковым значением "Sample text"
    setproperty(__hash"Sample text"); 
    Получение предыдущего значения свойства при обновлении значения:
    PHP код:
    // для начала создадим свойство "my_int0" со значением 2
    setproperty(_"my_int0"2_);
    // с помощью getproperty получаем значение свойства и выводим его на экран
    printf("Значение свойства my_int0: %d"getproperty(_"my_int0"__));

    // теперь устанавливаем новое значение свойства
    // при этом setproperty вернёт старое значение свойства,
    // которое будет сохранено в result
    new result setproperty(_"my_int0"3_);
    // выведем новое (полученное с помощью getproperty)
    // и старое (сохранено в переменной result) значения свойства "my_int0"
    printf("Новое значение свойства my_int0: %d"getproperty(_"my_int0"__));
    printf("Старое значение свойства my_int0: %d"result); 
    См. также:


    Статью подготовил: Daniel_Cortez
    Специально для Pro-Pawn.ru
    Копирование данной статьи на других ресурсах без разрешения автора запрещено!
    Индивидуально в PM и Skype по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).
    SA-MP 0.4 is a lie

  2. 3 пользователя(ей) сказали cпасибо:
    Londlem (22.05.2014)Osetin (22.05.2014)[ForD] (22.05.2014)
 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •