• Уважаемый Гость.
    - Прежде чем создать свою тему, пожалуйста, попробуй воспользоваться этим -> ПОИСКОМ !!!
    - После решения Вашего вопроса (проблемы) - нажмите "Лучший ответ", на сообщении, которое его решило. За игнорирование этого действия - Вы получите соответствующее предупреждение. Мы - стараемся Вам помочь. Уделите 10 секунд - чтобы нажать кнопку. (Если у Вас нет такой возможности - укажите в последнем своем сообщении какой ответ Вы считаете лучшим. Наши модераторы сделают это за Вас)
    ЗАПРЕЩЕНО:
    - Cоздавать темы с названиями "Помогите", "Плиз", "Ошибка", "Не могу найти", "Хелп" и тому подобное;
    - Cоздавать темы без детального описания того, что нужно исправить.
    - Cоздавать темы из одного скриншота.
    За игнор правил форума - Ваша тема будет удалена, а Вы получите системное предупреждение.

Команда /use постояно збрасывает хп

Alexander_Biss

Умник
Кароче суть вопроса почему команда постояно збрасывает хп у игрока когда он юзает наркотики
Может быть 50 оно покажет 100 и реско назад но может быть меньше 50
З шансом 80% Что оно поставит нужное мне каличество хп.
Но это не всегда так глатко с рабатывает.

C++:
CMD:use(playerid, params[])
{
    if(TextResetCMD[playerid] > gettime()) return SendClientMessage(playerid, COLOR_GREY, "Не флуди");
    else if(IsPlayerInDynamicArea(playerid, AreaInfo[arGreenZone][16])) return SendClientMessage(playerid, COLOR_GREY, "[Ошибка] В данном месте вы не можете использовать наркотики!");
    else if(!pInfo[playerid][pDrugs]) return SendClientMessage(playerid, COLOR_GREY, "У вас нет наркотиков!");
    else if(GetPVarInt(playerid, "DrugsTime") > gettime()) return SendClientMessage(playerid, COLOR_GREY, "Употреблять наркотики можно раз в минуту!");
    if(sscanf(params, "d", params[0])) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /use [граммы]");
    if(params[0] < 1 || params[0] > 10) return SendClientMessage(playerid, COLOR_GREY, "За раз можно употребить не более 10 грамм!");
    if(pInfo[playerid][pDrugs] < params[0]) return SendClientMessage(playerid, COLOR_GREY, "У Вас недостаточно наркотиков.");

    new Float:health;
    GetPlayerHealth(playerid, health);
    switch(params[0])
    {
        case 1: SetHealth(playerid, health+10);
        case 2:    SetHealth(playerid, health+20);
        case 3: SetHealth(playerid, health+30);
        case 4: SetHealth(playerid, health+40);
        case 5: SetHealth(playerid, health+50);
        case 6: SetHealth(playerid, health+60);
        case 7:    SetHealth(playerid, health+70);
        case 8: SetHealth(playerid, health+80);
        case 9: SetHealth(playerid, health+90);
        case 10: SetHealth(playerid, health+100);
    }
    GetPlayerHealth(playerid, health);
    if(health >= 100) SetHealth(playerid, 100);

    pInfo[playerid][pDrugs] -= params[0];
    if(IsPlayerInAnyVehicle(playerid)) ApplyAnimation(playerid,"FOOD","EAT_Burger",4.1,0,0,0,0,0,1);
    else ApplyAnimation(playerid,"SMOKING","M_smk_drag",4.1,0,0,0,0,0,1);
    //SetTimerEx("@DrugEffectGone", 60000, false, "i", playerid);
    SetPVarInt(playerid, "DrugsTime", gettime()+60);
    MeAction(playerid, "принимает дозу наркотиков");
    SetPlayerTime(playerid,17,0);
    SetPlayerDrunkLevel(playerid, 3000);
    SetPlayerWeather(playerid, -68);
    return 1;
}
Выявляеться что сокок хп я себе не прибавлял оно даст например 30 хп и -30 hp На следуйщую секунду
 
Последнее редактирование:
Сверху Снизу