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

Поправка пару багов в команде

xatab

Новичок
Приветствую, столкнулся с мелкими багами при использовании команды "usedrugs", хотел спросить как поправить и добавить 1 маленькую деталь

1. Не работает таймер на использование наркотиков. Стоит 10000 мс, после каждого юза наркотика должно идти кд на 10 сек, его почему то нет


Код:
if(DrugsUseTimer[playerid] > 10000)
    {
        format(string, sizeof(string), "Вы сможете употребить наркотики только через %d секунд!", DrugsUseTimer[playerid]);
        SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
        return 1;
    }
2. Проблема с этими строками. То есть пополнять хп наркотиками можно до 110 единиц хп, но если у тебя 108 допустим, и ты юзанешь команду еще раз, то пополнит на 112 хп, так как 4 грамма юзается. Как именно поправить, чтобы всегда до 110 доходило и не больше?

Код:
if(health >= 110.0) return SendClientMessage(playerid, COLOR_GREY,"Сейчас вы не можете употребить наркотики!");      
SetHealth(playerid, health + 4 + PlayerInfo[playerid][pDrugPerk]);
3. Как использовать эту строку? Пробовал сделать, чтобы писало сколько осталось наркотиков на руках после употребления. Это у меня хранится в статистике игрока, как подвязать в теории не знаю

Код:
SendClientMessage(playerid, COLOR_GREY, "Употреблено 2 грамма, осталось: ");
4. Пишу альтернативную команду - alias:usedrugs("/ud"); под самой командой В компиляторе выскакивает такая ошибка - error 010: invalid function or declaration. Гуглил, ничего не нашел. Смотрел как в руководстве делается, пишу все также и не работает. Не пойму

Код:
CMD:usedrugs(playerid, params[])//313
{
    new string[144];
    if(!PlayerInfo[playerid][pLogin]) return true;
    if(DrugsUseTimer[playerid] > 10000)
    {
        format(string, sizeof(string), "Вы сможете употребить наркотики через %d секунд!", DrugsUseTimer[playerid]);
        SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
        return 1;
    }
    if(PlayerInfo[playerid][pDrugs] < 1) return SendClientMessage(playerid, COLOR_GREY, "У вас нет столько наркотиков с собой!");
    new Float:health;
    GetPlayerHealth(playerid, health);
    if(health >= 110.0) return SendClientMessage(playerid, COLOR_GREY,"Сейчас вы не можете употребить наркотики!");
    SetHealth(playerid, health + 4 + PlayerInfo[playerid][pDrugPerk]);
    new level = GetPlayerDrunkLevel(playerid);
    SetPlayerDrunkLevel(playerid,level+700);
    SendClientMessage(playerid, COLOR_GREY, "Употреблено 2 грамма, осталось: ");
    PlayerInfo[playerid][pDrugs] -= 2;
    //SetPlayerDrunkLevel(playerid, narko[playerid] + level);
    if(PlayerInfo[playerid][pMaskuse] == 1) ProxDetector(10.0, playerid, "Неизвестный употребил наркотики", COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
    else
    {
        format(string, sizeof(string), "%s употребил наркотики", PlayerInfo[playerid][pName]);
        ProxDetector(10.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
    }
    //DrugsUseTimer[playerid] = 120;
    if(STDPlayer[playerid]==1)
    {
         STDPlayer[playerid] = 0;
         SendClientMessage(playerid, COLOR_LIGHTBLUE, "Вы подцепили Сифилис после употребления наркоты!");
    }
    else if(STDPlayer[playerid]==2)
    {
         STDPlayer[playerid] = 1;
         SendClientMessage(playerid, COLOR_LIGHTBLUE, "Вы подцепили Трипер после употребления наркоты!");
    }
    else if(STDPlayer[playerid]==3)
    {
         STDPlayer[playerid] = 2;
         SendClientMessage(playerid, COLOR_LIGHTBLUE, "Вы подцепили Гонорею после употребления наркоты!");
    }
    return true;
}
 
Сверху Снизу