- Код: Выделить всё
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <hamsandwich>
#include <fun>
#include <fakemeta>
#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "Author"
new t_wins
new ct_wins
new PlayerNum
new RoundNum = 0
new bool:g_bCheckStartMatch[33]
new bool:g_bStartMatch[33]
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_event("HLTV", "StartRound", "a", "1=0", "2=0")
register_logevent("Event_GameCommencing", 2, "1=Game_Commencing");
register_logevent("EventRestartRound", 2, "1&Restart_Round_");
register_event("SendAudio", "t_win", "a", "2&%!MRAD_terwin")
register_event("SendAudio", "ct_win", "a", "2&%!MRAD_ctwin")
}
public StartRound(id)
{
RoundNum++
set_task(1.0,"StartMatch")
if(RoundNum == 1)
{
set_task(1.5,"KnifeRound")
}
if(t_wins >= 15){
set_task( 10.0 ,"SwitchTeams" );
client_print(0,print_center,"Terrorist match WIN")
}
if(ct_wins >= 15){
set_task( 10.0 ,"SwitchTeams" );
client_print(0,print_center,"Counter-Terrorist match WIN")
}
}
public StartMatch(id)
{
if(PlayerNum == 10){
g_bStartMatch[id] = true
}
}
public EventRestartRound(id)
{
RoundNum = 0
t_wins = 0
ct_wins = 0
PlayerNum = 0
g_bStartMatch[id] = false
}
public Event_GameCommencing(id)
{
RoundNum = 0
t_wins = 0
ct_wins = 0
PlayerNum = 0
g_bStartMatch[id] = false
}
public t_win(id)
{
PlayerNum = get_playersnum()
if(g_bStartMatch[id])
{
t_wins++
set_hudmessage(0, 255, 0, -1.0, -1.0, 0, 6.0, 3.0)
show_hudmessage(id, "Komanda T pobedila v etom raunde")
}
}
public ct_win(id)
{
PlayerNum = get_playersnum()
if(g_bStartMatch[id])
{
t_wins++
set_hudmessage(0, 255, 0, -1.0, -1.0, 0, 6.0, 3.0)
show_hudmessage(id, "Komanda CT pobedila v etom raunde")
}
}
public SwitchTeams()
{
new iPlayers[32], iNum;
get_players(iPlayers, iNum, "h");
if( iNum )
{
new id;
for(--iNum; iNum>=0; iNum--)
{
id = iPlayers[iNum];
switch( cs_get_user_team(id) )
{
case CS_TEAM_T: cs_set_user_team( id, CS_TEAM_CT );
case CS_TEAM_CT: cs_set_user_team( id, CS_TEAM_T );
}
server_cmd("sv_restart 1")
}
}
}
public KnifeRound(id)
{
set_hudmessage(0, 255, 0, -1.0, -1.0, 0, 6.0, 3.0)
show_hudmessage(id, "Razminka na knife")
new plist_public[32], pnum_public
get_players(plist_public, pnum_public)
for (new i = 0; i < pnum_public; i++) {
if (is_user_connected(plist_public[i]) == 1 && is_user_alive(plist_public[i]) == 1){
strip_user_weapons(plist_public[i])
cs_set_user_money(plist_public[i],0)
give_item(plist_public[i], "weapon_knife")
}
}
}
public RandomTeam()
{
new iPlayers[32], iNum;
get_players(iPlayers, iNum, "h");
if( iNum )
{
new id;
for(--iNum; iNum>=0; iNum--)
{
id = iPlayers[iNum];
switch( random_num(1,2))
{
case 1: CS_TEAM_T: cs_set_user_team( id, CS_TEAM_CT );
case 2: CS_TEAM_CT: cs_set_user_team( id, CS_TEAM_T );
}
server_cmd("sv_restart 1")
}
}
Помогите с реализацией. Мне нужно:
1)Когда собирается 10 человек, делается автоматический рестарт
2)Идет рандомное распределение по командам + рестарт
3)После спавна раунд на ножах.
Вся проблема в том, что у меня получается бесконечный рестарт. Идет распределение по командам, потом рестарт и все заново. Как это исправить?