AMX MOD X
Воскресенье, 25.01.2026, 03:39:16



Приветствую Вас Гость | RSS
[ Главная ] [ комада timeleft - AMX Mod X Форум ] [ Регистрация ] [ Вход ]
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]

Вниманию участников! Данный форум теперь является архивом и вскором времени здесь нельзя будет создавать новых тем! Просьба всем для общения и создания новых тем перейти на наш новый форум: http://amxmodx.su/

  • Страница 1 из 1
  • 1
Модератор форума: slogic, AlMod  
комада timeleft
manyДата: Пятница, 27.06.2008, 16:28:34 | Сообщение # 1
Лейтенант
Группа: Пользователи
Сообщений: 49
Репутация: 0
Статус: Не в сети
Вот плагин
Code
#include <amxmodx>
#include <amxmisc>
#include <fun>

#define PLUGIN    "Tree Last Rounds"
#define AUTHOR    "many"
#define VERSION    "0.0.1"

#define INITIATE_END_MAP 121212
#define CHANGE_MAP_TASK 121213
#define DISABLE_PLAYERS_TASK 121214

new bool:is_endmap = false;
new bool:is_2round = false;
new bool:is_3round = false;
new bool:is_changemap = false;
new Float:g_timelimit;
new Float:g_maxspeed;

public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR);

    register_logevent("evRoundStart", 2, "0=World triggered", "1=Round_Start");

    set_task(180.0, "InitiateEndMap", INITIATE_END_MAP, "", 0, "d");
       
    register_clcmd("buy", "cmdBlock");
    register_clcmd("buyammo1", "cmdBlock");
    register_clcmd("buyammo2", "cmdBlock");
    register_clcmd("buyequip", "cmdBlock");
    register_clcmd("cl_autobuy", "cmdBlock");
    register_clcmd("cl_rebuy", "cmdBlock");
}

public InitiateEndMap()
{
    remove_task(INITIATE_END_MAP);

    is_endmap = true;
       
    g_timelimit = get_cvar_float("mp_timelimit");

    client_print(0,print_center,"Three final rounds is coming up");
    client_print(0,print_center,"Three final rounds is coming up");
    client_print(0,print_center,"Three final rounds is coming up");
       
    return PLUGIN_CONTINUE;
}

public evRoundStart()    
{
    if (is_endmap)    
    {
     set_cvar_float("mp_timelimit", 0.0);
     client_print(0,print_center,"Three Rounds Left");
     client_print(0,print_center,"Three Rounds Left");
     client_print(0,print_center,"Three Rounds Left");
     is_endmap = false;
     is_2round = true;
     is_3round = false;
     is_changemap = false;
        
    }    
    else if (is_2round)    
    {
     client_print(0,print_center,"Two Rounds Left");
     client_print(0,print_center,"Two Rounds Left");
     client_print(0,print_center,"Two Rounds Left");
     is_endmap = false;
     is_2round = false;
     is_3round = true;
     is_changemap = false;
    }
    else if (is_3round)    
    {
     client_print(0,print_center,"One Round Left");
     client_print(0,print_center,"One Round Left");
     client_print(0,print_center,"One Round Left");
     is_endmap = false;
     is_2round = false;
     is_3round = false;
     is_changemap = true;
    }
    else if (is_changemap)
    {
     new nextmap[32];
        
     get_cvar_string("amx_nextmap", nextmap, 31);
        
     client_print(0,print_center,"Thank you for playing. Now switching to %s!", nextmap);
     client_print(0,print_center,"Thank you for playing. Now switching to %s!", nextmap);
     client_print(0,print_center,"Thank you for playing. Now switching to %s!", nextmap);
        
     g_maxspeed = get_cvar_float("sv_maxspeed");
        
     set_cvar_float("sv_maxspeed", 0.0);
        
     set_task(0.1, "disablePlayers", DISABLE_PLAYERS_TASK, "", 0, "a", 4);
        
     set_task(6.0, "changeMap", CHANGE_MAP_TASK);
    }

    return PLUGIN_CONTINUE;
}

public changeMap()    
{
    remove_task(CHANGE_MAP_TASK);
       
    new nextmap[32];
       
    get_cvar_string("amx_nextmap", nextmap, 31);
       
    server_cmd("changelevel %s", nextmap);
}

public disablePlayers()
{
    new players[32], num;
    get_players(players, num);
    for(new i=0;i<num; i++)
    {
     strip_user_weapons(players[i])
    }
}

public cmdBlock(id)
{
    if (is_changemap)
     return PLUGIN_HANDLED;

    return PLUGIN_CONTINUE;
}

public plugin_end()    
{
    set_cvar_float("mp_timelimit", g_timelimit);
    set_cvar_float("sv_maxspeed", g_maxspeed);
}

Плагин за 3 минуты до конца mp_timelimit делает mp_timelimit 0.0 и дает доиграть 3 раунда после чего меняеться карта.
Хотелось бы сделать так что бы после того как начинались 3 последних раунда команда timeleft выводила не 00:00 а количество оставшихся ранудов (типо 2 rounds left)
Как это сделать?
Придеться регистрировать clcmd "say timeleft" и ставить плагин в plugins.ini перед timeleft.amxx ???
Да кстати проверте код плз на ошибки)


Сообщение отредактировал many - Воскресенье, 06.07.2008, 14:51:13
 
ProffiДата: Воскресенье, 29.06.2008, 10:37:08 | Сообщение # 2
Подполковник
Группа: Пользователи
Сообщений: 117
Репутация: 3
Статус: Не в сети
Напиши как у тебя получилось. Хотелось бы тоже так сделать.
 
draftДата: Понедельник, 30.06.2008, 04:00:09 | Сообщение # 3
Полковник
Группа: Пользователи
Сообщений: 225
Репутация: 3
Статус: Не в сети
Да, только так. И не забыть поставить PLUGIN_HANDLED, если остались только последние 3 раунда.
 
manyДата: Воскресенье, 06.07.2008, 14:48:04 | Сообщение # 4
Лейтенант
Группа: Пользователи
Сообщений: 49
Репутация: 0
Статус: Не в сети
Да так получилось только столкнулся еще с одной проблемкой
Почему то не блокируеться покупка оружия
Код выглядит вот так
Code
#include <amxmodx>
#include <amxmisc>
#include <fun>

#define PLUGIN    "Three Last Rounds"
#define AUTHOR    "many"
#define VERSION    "0.0.5"

new nextmap[32];
new bool:is_1round = false;
new bool:is_2round = false;
new bool:is_3round = false;
new bool:is_roundover = false;
new bool:is_changemap = false;
new Float:g_timelimit;
new Float:g_maxspeed;

public plugin_init()
{
   register_plugin(PLUGIN, VERSION, AUTHOR);

   register_logevent("cmd_roundstart", 2, "0=World triggered", "1=Round_Start");

   set_task(90.0, "cmd_endmap", _, "", _, "d");
     
   register_clcmd("say timeleft", "cmd_timeleft", 0, "- when timelimit is 0 displays rounds left");   
   register_clcmd("buy", "cmd_block");                 //-вот блокировка
   register_clcmd("buyammo1", "cmd_block");      //-вот блокировка
   register_clcmd("buyammo2", "cmd_block");      //-вот блокировка
   register_clcmd("buyequip", "cmd_block");         //-вот блокировка
   register_clcmd("cl_autobuy", "cmd_block");       //-вот блокировка
   register_clcmd("cl_rebuy", "cmd_block");          //-вот блокировка
}

public cmd_endmap()
{   
   set_cvar_float("mp_timelimit", 0.0);

   is_1round = true;
     
   set_hudmessage(255, 255 ,255, 0.05, 0.45)
   show_hudmessage(0, "Final rounds is coming up")
     
   return PLUGIN_CONTINUE;
}

public cmd_roundstart()   
{
   if (is_1round)   
   {   
    set_hudmessage(255, 255 ,255, 0.05, 0.45)
    show_hudmessage(0, "Three Rounds Left")
      
    is_1round = false;
    is_2round = true;
    is_3round = false;
    is_changemap = false;
    is_roundover = false;
      
   }   
   else if (is_2round)   
   {
    set_hudmessage(255, 255 ,255, 0.05, 0.45)
    show_hudmessage(0, "Two Rounds Left")
      
    is_1round = false;
    is_2round = false;
    is_3round = true;
    is_changemap = false;
    is_roundover = false;
   }
   else if (is_3round)   
   {
    set_hudmessage(255, 255 ,255, 0.05, 0.45)
    show_hudmessage(0, "Last Round")
      
    is_1round = false;
    is_2round = false;
    is_3round = false;
    is_changemap = true;
    is_roundover = false;
   }
   else if (is_changemap)
   {   
    get_cvar_string("amx_nextmap", nextmap, 31);
      
    set_hudmessage(255, 255 ,255, 0.05, 0.45)
    show_hudmessage(0, "Thank you for playing. Now switching to %s!", nextmap)
      
    g_maxspeed = get_cvar_float("sv_maxspeed");
      
    set_cvar_float("sv_maxspeed", 0.0);
      
    set_task(0.1, "cmd_disableplayers");
      
    set_task(6.0, "cmd_changemap");
   }

   return PLUGIN_CONTINUE;
}

public cmd_changemap()   
{
   get_cvar_string("amx_nextmap", nextmap, 31);
     
   server_cmd("changelevel %s", nextmap);
}

public cmd_disableplayers()
{
   new players[32], num;
   get_players(players, num);
   for(new i=0;i<num; i++)
   {
    if(is_user_alive(players[i]))
     strip_user_weapons(players[i])
   }
     
   is_roundover = true
   is_1round = false;
   is_2round = false;
   is_3round = false;
   is_changemap = false;
}

public cmd_block(id)
{
   if (is_roundover)
    return PLUGIN_HANDLED;     //-вот блокировка

   return PLUGIN_CONTINUE;
}

public cmd_timeleft(id)
{
   if(is_1round)
   {
    client_print(0, print_chat, "Time limit set to 0, three final rounds is coming up")
    return PLUGIN_HANDLED
   }
   else if(is_2round)   
   {
    client_print(0, print_chat, "Rounds Left: 3")
    return PLUGIN_HANDLED
   }
   else if (is_3round)
   {
    client_print(0, print_chat, "Rounds Left: 2")
    return PLUGIN_HANDLED
   }
   else if (is_changemap)   
   {
    client_print(0, print_chat, "Round Left: 1")
    return PLUGIN_HANDLED
   }
   else if (is_roundover)   
   {
    get_cvar_string("amx_nextmap", nextmap, 31);
    client_print(0, print_chat, " Now switching to %s ", nextmap)
    return PLUGIN_HANDLED
   }
   return PLUGIN_CONTINUE
}

public plugin_end()   
{
   set_cvar_float("mp_timelimit", g_timelimit);
   set_cvar_float("sv_maxspeed", g_maxspeed);
   is_1round = false;
   is_2round = false;
   is_3round = false;
   is_roundover = false;
   is_changemap = false;
}


Сообщение отредактировал many - Воскресенье, 06.07.2008, 14:49:10
 
ProffiДата: Вторник, 08.07.2008, 00:07:37 | Сообщение # 5
Подполковник
Группа: Пользователи
Сообщений: 117
Репутация: 3
Статус: Не в сети
Quote
register_clcmd("galil", "cmdBlock");
register_clcmd("defender", "cmdBlock");
register_clcmd("ak47", "cmdBlock");
register_clcmd("cv47", "cmdBlock");
register_clcmd("scout", "cmdBlock");
register_clcmd("sg552", "cmdBlock");
register_clcmd("krieg552", "cmdBlock");
register_clcmd("awp", "cmdBlock");
register_clcmd("magnum", "cmdBlock");
register_clcmd("g3sg1", "cmdBlock");
register_clcmd("d3au1", "cmdBlock");
register_clcmd("famas", "cmdBlock");
register_clcmd("clarion", "cmdBlock");
register_clcmd("m4a1", "cmdBlock");
register_clcmd("aug", "cmdBlock");
register_clcmd("bullpup", "cmdBlock");
register_clcmd("sg550", "cmdBlock");
register_clcmd("krieg550", "cmdBlock");
register_clcmd("glock", "cmdBlock");
register_clcmd("9x19mm", "cmdBlock");
register_clcmd("usp", "cmdBlock");
register_clcmd("km45", "cmdBlock");
register_clcmd("p228", "cmdBlock");
register_clcmd("228compact", "cmdBlock");
register_clcmd("deagle", "cmdBlock");
register_clcmd("nighthawk", "cmdBlock");
register_clcmd("elites", "cmdBlock");
register_clcmd("fn57", "cmdBlock");
register_clcmd("fiveseven", "cmdBlock");
register_clcmd("m3", "cmdBlock");
register_clcmd("12gauge", "cmdBlock");
register_clcmd("xm1014", "cmdBlock");
register_clcmd("autoshotgun", "cmdBlock");
register_clcmd("mac10", "cmdBlock");
register_clcmd("tmp", "cmdBlock");
register_clcmd("mp", "cmdBlock");
register_clcmd("mp5", "cmdBlock");
register_clcmd("smg", "cmdBlock");
register_clcmd("ump45", "cmdBlock");
register_clcmd("p90", "cmdBlock");
register_clcmd("c90", "cmdBlock");
register_clcmd("m249", "cmdBlock");
register_clcmd("primammo", "cmdBlock");
register_clcmd("secammo", "cmdBlock");
register_clcmd("vest", "cmdBlock");
register_clcmd("vesthelm", "cmdBlock");
register_clcmd("flash", "cmdBlock");
register_clcmd("hegren", "cmdBlock");
register_clcmd("sgren", "cmdBlock");
register_clcmd("nvgs", "cmdBlock");
register_clcmd("defuser", "cmdBlock");
register_clcmd("shield", "cmdBlock");
register_clcmd("buyammo1", "cmdBlock");
register_clcmd("buyammo2", "cmdBlock");
register_clcmd("impulse 201", "cmdBlock");
register_clcmd("jointeam 1", "cmdBlock");
register_clcmd("chooseteam", "cmdBlock");
register_clcmd("buy", "cmdBlock");
register_clcmd("buyammo1", "cmdBlock");
register_clcmd("buyammo2", "cmdBlock");
register_clcmd("buyequip", "cmdBlock");
register_clcmd("cl_autobuy", "cmdBlock");
register_clcmd("cl_rebuy", "cmdBlock");
register_clcmd("cl_setautobuy", "cmdBlock");
register_clcmd("cl_setrebuy", "cmdBlock");
register_clcmd("fullupdate", "cmdBlock");
register_clcmd("radio1", "cmdBlock");
register_clcmd("radio2", "cmdBlock");
register_clcmd("radio3", "cmdBlock");
register_clcmd("coverme", "cmdBlock");
register_clcmd("takepoint", "cmdBlock");
register_clcmd("holdpos", "cmdBlock");
register_clcmd("regroup", "cmdBlock");
register_clcmd("followme", "cmdBlock");
register_clcmd("takingfire", "cmdBlock");
register_clcmd("go", "cmdBlock");
register_clcmd("fallback", "cmdBlock");
register_clcmd("sticktog", "cmdBlock");
register_clcmd("getinpos", "cmdBlock");
register_clcmd("stormfront", "cmdBlock");
register_clcmd("report", "cmdBlock");
register_clcmd("roger", "cmdBlock");
register_clcmd("enemyspot", "cmdBlock");
register_clcmd("needbackup", "cmdBlock");
register_clcmd("sectorclear", "cmdBlock");
register_clcmd("inposition", "cmdBlock");
register_clcmd("reportingin", "cmdBlock");
register_clcmd("getout", "cmdBlock");
register_clcmd("negative", "cmdBlock");
register_clcmd("enemydown", "cmdBlock");
 
manyДата: Четверг, 10.07.2008, 18:33:24 | Сообщение # 6
Лейтенант
Группа: Пользователи
Сообщений: 49
Репутация: 0
Статус: Не в сети
не в этом дело...
 
  • Страница 1 из 1
  • 1
Поиск:

AMX Mod X Russian Community © 2006-2026