Swacky
Новичок
Доброго времени суток, такой вопрос возник, хочу сделать автоматическое обновление диалога каждую секунду. Допустим игрок ввел /events, и показывало сколько времени осталось до начала соревнования, без повторного ввода команды. Сейчас вводишь /events и время замораживается.
Сама система /events
Как это выглядит
Сама система /events
PHP:
stock ShowEvents(playerid)
{//ShowEvents
new StringX[2048], String[180], ClosestEvents = 0;
strcat(StringX, "{FFFF00}Соревнования в ближайшие 3 минуты:\n");
if (DMTimer <= 180 && DMTimer > 0 && DMPlayers < DMLimit)
{
if (DMTimer < 60){format (String, sizeof(String),"{33FF00}/dm\t\t{FF8C00}Десматч <<{FFFFFF}%s{FF8C00}>> начнется через {FFFFFF}%d{FF8C00} секунд. Игроков: {FFFFFF}%d\n",DMName[DMid], DMTimer, DMPlayers);}
else{new emin = DMTimer/60;format (String, sizeof(String),"{33FF00}/dm\t\t{FF8C00}Десматч <<{FFFFFF}%s{FF8C00}>> начнется через {FFFFFF}%d{FF8C00} минут {FFFFFF}%d{FF8C00} секунд. Игроков: {FFFFFF}%d\n",DMName[DMid], emin, DMTimer - emin*60, DMPlayers);}
strcat(StringX, String); ClosestEvents++;
}
else if (DMTimeToEnd > 0 && DMPlayers < DMLimit)
{
format (String, sizeof(String),"{33FF00}/dm\t\t{FF8C00}Десматч <<{FFFFFF}%s{FF8C00}>> идет прямо сейчас! Игроков: {FFFFFF}%d\n",DMName[DMid], DMPlayers);
strcat(StringX, String); ClosestEvents++;
}
if (DerbyTimer < 180 && DerbyTimer > 0 && DerbyPlayers < DerbyLimit)
{
if (DerbyTimer < 60){format (String, sizeof(String),"{33FF00}/derby\t\t{9966CC}Дерби <<{FFFFFF}%s{9966CC}>> начнется через {FFFFFF}%d{9966CC} секунд. Игроков: {FFFFFF}%d\n",DerbyName[Derbyid], DerbyTimer, DerbyPlayers);}
else{new emin = DerbyTimer/60;format (String, sizeof(String),"{33FF00}/derby\t\t{9966CC}Дерби <<{FFFFFF}%s{9966CC}>> начнется через {FFFFFF}%d{9966CC} минут {FFFFFF}%d{9966CC} секунд. Игроков: {FFFFFF}%d\n",DerbyName[Derbyid], emin, DerbyTimer - emin*60, DerbyPlayers);}
strcat(StringX, String); ClosestEvents++;
}
if (ZMTimer < 180 && ZMTimer > 0 && ZMPlayers < ZMLimit)
{
if (ZMTimer < 60){format (String, sizeof(String),"{33FF00}/zombie\t{E60020}Зомби-Выживание <<{FFFFFF}%s{E60020}>> начнется через {FFFFFF}%d{E60020} секунд. Игроков: {FFFFFF}%d\n",ZMName[ZMid], ZMTimer, ZMPlayers);}
else{new emin = ZMTimer/60;format (String, sizeof(String),"{33FF00}/zombie\t{E60020}Зомби-Выживание <<{FFFFFF}%s{E60020}>> начнется через {FFFFFF}%d{E60020} минут {FFFFFF}%d{E60020} секунд. Игроков: {FFFFFF}%d\n",ZMName[ZMid], emin, ZMTimer - emin*60, ZMPlayers);}
strcat(StringX, String); ClosestEvents++;
}
if (FRTimer < 180 && FRTimer > 0 && FRPlayers < FRLimit)
{
if (FRTimer < 60){format (String, sizeof(String),"{33FF00}/race\t\t{007FFF}Гонка начнется через {FFFFFF}%d{007FFF} секунд. Игроков: {FFFFFF}%d\n", FRTimer, FRPlayers);}
else{new emin = FRTimer/60;format (String, sizeof(String),"{33FF00}/race\t\t{007FFF}Гонка начнется через {FFFFFF}%d{007FFF} минут {FFFFFF}%d{007FFF} секунд. Игроков: {FFFFFF}%d\n", emin, FRTimer - emin*60, FRPlayers);}
strcat(StringX, String);
format(String,sizeof(String),"\t\t{007FFF}Старт: {FFFFFF}%s{007FFF}. Финиш: {FFFFFF}%s{007FFF}.\n",FRName[FRStart],FRName[FRFinish]);
strcat(StringX, String); ClosestEvents++;
}
if (GGTimer < 180 && GGTimer > 0 && GGPlayers < GGLimit)
{
if (GGTimer < 60){format (String, sizeof(String),"{33FF00}/gungame\t{FF6666}Гонка Вооружений <<{FFFFFF}%s{FF6666}>> начнется через {FFFFFF}%d{FF6666} секунд. Игроков: {FFFFFF}%d\n",GGName[GGid], GGTimer, GGPlayers);}
else{new emin = GGTimer/60;format (String, sizeof(String),"{33FF00}/gungame\t{FF6666}Гонка Вооружений <<{FFFFFF}%s{FF6666}>> начнется через {FFFFFF}%d{FF6666} минут {FFFFFF}%d{FF6666} секунд. Игроков: {FFFFFF}%d\n",GGName[GGid], emin, GGTimer - emin*60, GGPlayers);}
strcat(StringX, String); ClosestEvents++;
}
else if (GGTimeToEnd > 0 && GGPlayers < GGLimit)
{
format (String, sizeof(String),"{33FF00}/gungame\t{FF6666}Гонка Вооружений <<{FFFFFF}%s{FF6666}>> идет прямо сейчас! Игроков: {FFFFFF}%d\n",GGName[GGid], GGPlayers);
strcat(StringX, String); ClosestEvents++;
}
if (XRTimer <= 180 && XRTimer > 0 && XRPlayers < XRLimit)
{
if (XRTimer < 60){format (String, sizeof(String),"{33FF00}/xrace\t\t{FFD700}Легендарная Гонка <<{FFFFFF}%s{FFD700}>> начнется через {FFFFFF}%d{FFD700} секунд. Игроков: {FFFFFF}%d\n",XRName[XRid], XRTimer, XRPlayers);}
else{new emin = XRTimer/60;format (String, sizeof(String),"{33FF00}/xrace\t\t{FFD700}Легендарная Гонка <<{FFFFFF}%s{FFD700}>> начнется через {FFFFFF}%d{FFD700} минут {FFFFFF}%d{FFD700} секунд. Игроков: {FFFFFF}%d\n",XRName[XRid], emin, XRTimer - emin*60, XRPlayers);}
strcat(StringX, String); ClosestEvents++;
}
if (ClosestEvents == 0)
{
format (String, sizeof(String),"{AFAFAF}В ближайшие 3 минуты нет никаких соревнований.\nПодождите немного или займитесь чем-нибудь другим.\n",GGName[GGid], GGPlayers);
strcat(StringX, String); ClosestEvents++;
}
ShowPlayerDialog(playerid, 999, 0, "Доступные соревнования", StringX, "ОК", "");
return 1;
}//ShowEvents
Последнее редактирование модератором:
