|
Вниманию участников! Данный форум теперь является архивом и вскором времени здесь нельзя будет создавать новых тем! Просьба всем для общения и создания новых тем перейти на наш новый форум: http://amxmodx.su/
|
комада timeleft
|
|
| many | Дата: Пятница, 27.06.2008, 16:28:34 | Сообщение # 1 |
 Лейтенант
Группа: Пользователи
Сообщений: 49
Статус: Не в сети
| Вот плагин 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
Статус: Не в сети
| Напиши как у тебя получилось. Хотелось бы тоже так сделать.
|
| |
|
|
| draft | Дата: Понедельник, 30.06.2008, 04:00:09 | Сообщение # 3 |
 Полковник
Группа: Пользователи
Сообщений: 225
Статус: Не в сети
| Да, только так. И не забыть поставить PLUGIN_HANDLED, если остались только последние 3 раунда.
|
| |
|
|
| many | Дата: Воскресенье, 06.07.2008, 14:48:04 | Сообщение # 4 |
 Лейтенант
Группа: Пользователи
Сообщений: 49
Статус: Не в сети
| Да так получилось только столкнулся еще с одной проблемкой Почему то не блокируеться покупка оружия Код выглядит вот так 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
Статус: Не в сети
| 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
Статус: Не в сети
| не в этом дело...
|
| |
|
|
 | AMX Mod X Russian Community © 2006-2026  |  |
|
| |