Добро пожаловать!

Зарегистрировавшись у нас, вы сможете обсуждать, делиться и отправлять личные сообщения другим участникам нашего сообщества.

Зарегистрироваться!
  • Если Вы желаете помогать развитию проекта, готовы заполнять раздел(-ы) и подсказывать другим пользователям на портале, есть возможность попасть в команду редакторов. Для этого следует обратиться в техническую поддержку
Пользователь
Регистрация
25 Окт 2023
Сообщения
82
Не срабатывает отключение радужного клиста.

Код:
CMD:rclist(playerid)
{
 if(PI[playerid][pRainClist] != 1) return ErrorMessage(playerid, "Радужный клист не куплен, для покупки введите - /donate");
 if(IsAGang(playerid) && CaptureInfo) return ErrorMessage(playerid, "В данный момент идёт захват за территорию.");
 new enclisted;
 if(enclisted == 0)
 {
  RainBowTimer[playerid] = SetTimerEx("@__RainBowTimer", 1000, true, "d", playerid);
  SCM(playerid, COLOR_GREEN, "Вы успешно включили радужный клист!");
  enclisted++;
 }
 else
 {
     KillTimer(RainBowTimer[playerid]);
     SCM(playerid, COLOR_RED, "Вы успешно выключили радужный клист!");
 }
 return true;
}
@__RainBowTimer(playerid);
@__RainBowTimer(playerid)
{
 SetPlayerColor(playerid, RainBow[random(sizeof(RainBow))]);
 return 1;
}
 
Создатель WayDev
Команда форума
Администратор
Регистрация
13 Мар 2022
Сообщения
881
Таймер отключается, просто не настроен сброс клиста в нормальный вид и неправильно сделана проверка в самой команде.
Код:
CMD:rclist(playerid)
{
    if(PI[playerid][pRainClist] != 1)
        return ErrorMessage(playerid, "Радужный клист не куплен, для покупки введите - /donate");
    if(IsAGang(playerid) && CaptureInfo)
        return ErrorMessage(playerid, "В данный момент идёт захват за территорию.");

    if(!RainBowTimer[playerid]) {
        RainBowTimer[playerid] = SetTimerEx("@__RainBowTimer", 1000, true, "d", playerid);
        SCM(playerid, COLOR_GREEN, "Вы успешно включили радужный клист!");
    }
    else {
        SetPlayerColor(playerid, 0xFFFFFFFF);
   
        KillTimer(RainBowTimer[playerid]);
        SCM(playerid, COLOR_RED, "Вы успешно выключили радужный клист!");
    }
    return true;
}

@__RainBowTimer(playerid);
@__RainBowTimer(playerid) {
    SetPlayerColor(playerid, RainBow[random(sizeof(RainBow))]);
    return 1;
}
 
Пользователь
Регистрация
25 Окт 2023
Сообщения
82
Таймер отключается, просто не настроен сброс клиста в нормальный вид и неправильно сделана проверка в самой команде.
Код:
CMD:rclist(playerid)
{
    if(PI[playerid][pRainClist] != 1)
        return ErrorMessage(playerid, "Радужный клист не куплен, для покупки введите - /donate");
    if(IsAGang(playerid) && CaptureInfo)
        return ErrorMessage(playerid, "В данный момент идёт захват за территорию.");

    if(!RainBowTimer[playerid]) {
        RainBowTimer[playerid] = SetTimerEx("@__RainBowTimer", 1000, true, "d", playerid);
        SCM(playerid, COLOR_GREEN, "Вы успешно включили радужный клист!");
    }
    else {
        SetPlayerColor(playerid, 0xFFFFFFFF);
  
        KillTimer(RainBowTimer[playerid]);
        SCM(playerid, COLOR_RED, "Вы успешно выключили радужный клист!");
    }
    return true;
}

@__RainBowTimer(playerid);
@__RainBowTimer(playerid) {
    SetPlayerColor(playerid, RainBow[random(sizeof(RainBow))]);
    return 1;
}
Теперь клист после выключения не включается.
 
Создатель WayDev
Команда форума
Администратор
Регистрация
13 Мар 2022
Сообщения
881
@KEFER, забыл присвоить значение переменной после включения.

C++:
CMD:rclist(playerid)
{
    if(PI[playerid][pRainClist] != 1)
        return ErrorMessage(playerid, "Радужный клист не куплен, для покупки введите - /donate");
    if(IsAGang(playerid) && CaptureInfo)
        return ErrorMessage(playerid, "В данный момент идёт захват за территорию.");

    if(!RainBowTimer[playerid]) {
        RainBowTimer[playerid] = SetTimerEx("@__RainBowTimer", 1000, true, "d", playerid);
        SCM(playerid, COLOR_GREEN, "Вы успешно включили радужный клист!");
    }
    else {
        SetPlayerColor(playerid, 0xFFFFFFFF);
  
        KillTimer(RainBowTimer[playerid]);
        RainBowTimer[playerid] = false;
        
        SCM(playerid, COLOR_RED, "Вы успешно выключили радужный клист!");
    }
    return true;
}

@__RainBowTimer(playerid);
@__RainBowTimer(playerid) {
    SetPlayerColor(playerid, RainBow[random(sizeof(RainBow))]);
    return 1;
}
 
Сверху