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

Тема: UpdateTimer, PVar

  1. #1
    Аватар для vovandolg
    Пользователь

    Статус
    Оффлайн
    Регистрация
    17.11.2015
    Адрес
    Stavropol
    Сообщений
    1,369
    Репутация:
    113 ±

    UpdateTimer, PVar

    Вот в паблике таймера стоит к примеру такой код:
      Открыть/закрыть
    PHP код:
        if(GoGo == true)
        {
            if(
    IsPlayerInRangeOfPoint(playeridxyzrange))
            {
                if(!
    GetPVarInt(playerid,"Chek"))
                {
                    
    SetPVarInt(playerid,"Chek",1);
                    
    Действие1();
                }
            }
            else
            {
                if(
    GetPVarInt(playerid,"Chek"))
                {
                    
    DeletePVar(playerid,"Chek");
                    
    Действие2();
                }
            }
        } 

    На данный момент этот код в таймере(1 сек обновление), отправляет одно Действие1(); в секунду, поставить больше и будет дольше считать, вот тут я запутался, а вообще можно ли так сделать чтобы не обновлял SetPVarInt(playerid,"Chek",1); пока ты в данном Rage.

    Надо так чтобы Действие1(); не апдейтилось пока не пере зайдешь в данный Range(с помощью PVar вообще возможно ли такое?).

  2. #2
    Аватар для Sp1ke
    Пользователь

    Статус
    Оффлайн
    Регистрация
    01.03.2015
    Сообщений
    245
    Репутация:
    55 ±
    Цитата Сообщение от vovandolg Посмотреть сообщение
    Надо так чтобы Действие1(); не апдейтилось пока не пере зайдешь в данный Range(с помощью PVar вообще возможно ли такое?).
    Можно остановить выполнение скрипта с помощью
    PHP код:
    return 
    Цитата Сообщение от vovandolg Посмотреть сообщение
    отправляет одно Действие1(); в секунду, поставить больше и будет дольше считать
    wtf?

  3. #3
    Аватар для vovandolg
    Пользователь

    Статус
    Оффлайн
    Регистрация
    17.11.2015
    Адрес
    Stavropol
    Сообщений
    1,369
    Репутация:
    113 ±
    Я имел ввиду что вот тут
    PHP код:
     SetPVarInt(playerid,"Chek",1); 
    Вместо 1 накрутить 999 к примеру чтобы не циклилось часто

    - - - Добавлено - - -

    Цитата Сообщение от Sp1ke Посмотреть сообщение
    Можно остановить выполнение скрипта с помощью
    PHP код:
    return 
    wtf?
    Это в таймере, причем тут return
    Каждую секунду затрагивает эту часть кода, вот чтобы не часто апдейтилось сделать побольше цифры

  4. #4
    Аватар для Desulaid
    лесоруб продакшен

    Статус
    Оффлайн
    Регистрация
    15.03.2015
    Адрес
    Slobodskoy
    Сообщений
    667
    Репутация:
    236 ±
    Что на счет такого варианта?

    PHP код:
    forward @Update(playerid);
    public @
    Update(playerid)
    {
        
    SetTimerEx("@Update"1_000false"i"playerid);
        if (
    IsPlayerInRangeOfPoint(playeridxyzrange) && GetVParInt(playerid"hz") == 1)
        {
            
    // действие один
            
    return 1;
        }
        
    // действие два
        
    return 1;

    Мне идея ежесекундного удаления pvar не очень нравится. Можно просто установить значение pvar и ждать игрока в определенном положении, а остальные варианты просто игнорировать.

  5. #5
    Аватар для vovandolg
    Пользователь

    Статус
    Оффлайн
    Регистрация
    17.11.2015
    Адрес
    Stavropol
    Сообщений
    1,369
    Репутация:
    113 ±
    Суть моей идеи такова:
    Пипл зашёл в данный Range и у него выполнилось действие(если GoGo был активен)
    Пипл стоит в Range не чего не должно обновляться(как на данный момент идёт обновление каждую секунду и тем самым подгружает Действие1 сто раз)
    Пипл вышел с Range сработало Действие2
    Конец...
    Вот так я хотел.
    Последний раз редактировалось vovandolg; 28.12.2015 в 01:48.

 

 

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

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

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

Ваши права

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