az én megoldásomban volt egy két logikai hiba amit kijavítottam ha kell vkinek:
Kód:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
new roundcounter, swap_teams_round;
new nMSGS, nT1, nT2, nR, nDraw;
public plugin_init()
{
register_plugin("Swap Teams","0.6","addam");
register_dictionary("swapteams.txt");
swap_teams_round = register_cvar("swap_teams_round","5");
register_event("SendAudio", "nice_team_score_ct", "a", "2&%!MRAD_ctwin");
register_event("SendAudio", "nice_team_score_t", "a", "2&%!MRAD_terwin");
register_event("SendAudio","noveld","a","2=%!MRAD_terwin","2=%!MRAD_ctwin","2=%!MRAD_rounddraw");
nMSGS = CreateHudSyncObj();
}
public noveld()
{
set_task(3.0, "nice_team_score_msg");
nR++;
roundcounter++;
if (roundcounter >= get_pcvar_num(swap_teams_round)) {
if (nDraw == 1) nDraw = 0; else nDraw = 1;
set_task(2.0,"korvege");
roundcounter = 0;
}
}
public korvege()
{
client_print(0,print_center,"%L",0,"SWAP_1");
set_task(1.0,"Event_Round_End");
}
public Event_Round_End(){
set_cvar_num("mp_limitteams", 0);
new CsTeams:team;
new Players[32];
new playerCount, i, player;
get_players(Players, playerCount, "h");
for (i=0; i<playerCount; i++) {
player = Players[i];
team=cs_get_user_team(player);
if(team==CS_TEAM_CT)
{
cs_set_user_team(player, CS_TEAM_T)
} else if(team==CS_TEAM_T) {
cs_set_user_team(player, CS_TEAM_CT)
}
cs_reset_user_model(player);
}
set_cvar_num("mp_limitteams", 1);
set_task(6.0,"rezetmodelsz");
}
public rezetmodelsz() {
new Players[32]
new playerCount, i, player
get_players(Players, playerCount, "h")
for (i=0; i<playerCount; i++) {
player = Players[i]
cs_reset_user_model(player)
}
}
public nice_team_score_msg()
{
new nPlayers[32], nNums, nPlayer_S
get_players(nPlayers, nNums, "c")
for(new i = 0; i < nNums; i++)
{
nPlayer_S = nPlayers[i];
}
set_hudmessage(255, 255, 255, -1.0, 0.25, 1, 6.0, 12.0, 0.1, 0.1);
ShowSyncHudMsg(0, nMSGS, "%L: %d vs. %L: %d^nKor: %d - Jatekosok: %d^n",0,"TEAM_1", nT1,0,"TEAM_2", nT2, nR, nPlayer_S);
}
public nice_team_score_ct()
{
if (nDraw) nT1++; else nT2++;
}
public nice_team_score_t()
{
if (nDraw) nT2++; else nT1++;
}