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

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Адрес
    Ярославль
    Сообщений
    1,366
    Репутация:
    774 ±

    Простая система голода

     Демонстрация


    Для работы со скриптом понадобится: progressbar (в оригинальной версии ещё зачем-то zcmd приписали к инклюдам).

     Код

    PHP код:
    #include <a_samp>
    #include <progress>

    #define HUNGER_SUB_INTERVAL \
        
    1000
        
    #define HEALTH_SUB_INTERVAL \
        
    1000
        
    #define HUNGER_SUB_HEALTH \
        
    5

    new
        
    PlayerBarpHungerBar[MAX_PLAYERS],
        
    progressBarTimer[MAX_PLAYERS],
        
    healthBarTimer[MAX_PLAYERS],
        
    pHunger[MAX_PLAYERS],
        
    pHungerHealth[MAX_PLAYERS]
    ;

    public 
    OnFilterScriptInit();

    public 
    OnPlayerSpawn(playerid)
    {
        
    pHunger[playerid] = 100;
        
    pHungerHealth[playerid] = 100;

        
    pHungerBar[playerid] = CreatePlayerProgressBar(playerid547.558.059.050x52875AFF100.0);
        
    ShowPlayerProgressBar(playeridpHungerBar[playerid]);

        
    SetPlayerProgressBarValue(playeridpHungerBar[playerid], 100);
        
    UpdatePlayerProgressBar(playeridpHungerBar[playerid]);

        
    progressBarTimer[playerid] = SetTimer("@__hungerBarUpdate"HUNGER_SUB_INTERVAL1); // Потеря голода. HUNGER_SUB_INTERVAL = (по умолчанию: 1 секунда), измените это значение на своё

        
    return 1;
    }

    @
    __hungerBarUpdate(playerid);
    @
    __hungerBarUpdate(playerid)
    {
        if(
    pHunger[playerid] == 0)
        {
            
    KillTimer(progressBarTimer[playerid]);
            
    healthBarTimer[playerid] = SetTimer("@__healthBarUpdate"HEALTH_SUB_INTERVAL1); // Потеря здоровья. HEALTH_SUB_INTERVAL = (по умолчанию: 1 секунда), измените это значение на своё
        
    }
        else if(
    pHunger[playerid] > 0)
        {
            
    pHunger[playerid] -= HUNGER_SUB_HEALTH;

            
    SetPlayerProgressBarValue(playeridpHungerBar[playerid], pHunger[playerid]);
            
    UpdatePlayerProgressBar(playeridpHungerBar[playerid]);
        }
    }

    @
    __healthBarUpdate(playerid);
    @
    __healthBarUpdate(playerid)
    {
        new
            
    Floatp_id_health
        
    ;

        
    pHungerHealth[playerid] -= HUNGER_SUB_HEALTH;
        
    SetPlayerHealth(playeridpHungerHealth[playerid]);

        if(
    GetPlayerHealth(playeridp_id_health) == 0)
            
    KillTimer(healthBarTimer[playerid]);



    Оригинал: http://forum.sa-mp.com/showthread.php?t=510091
    Автор: Mionee
    Дополнение к коду: Londlem

    Специально для: Pro-Pawn.Ru


    Копирование данной статьи без разрешения автора запрещено!
    Последний раз редактировалось L0ndl3m; 02.05.2014 в 23:26.

  2. 5 пользователя(ей) сказали cпасибо:
    #mike (07.05.2014) Brendan (24.11.2014) Max_Tolk (05.11.2016) ߣΘnÐγ* (09.05.2014) wAx (15.05.2014)
 

 

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

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

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

Ваши права

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