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

Реклама


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

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Сообщений
    1,360
    Репутация:
    767 ±

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

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


    Для работы со скриптом понадобится: 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


    Копирование данной статьи без разрешения автора запрещено!
    Последний раз редактировалось Londlem; 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)

Ваши права

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