Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <amxmodx>
- #include <amxmisc>
- #include <cstrike>
- #include <hamsandwich>
- #include <fakemeta>
- #include <fun>
- #include <engine>
- #include <fakemeta_util>
- #include <csx>
- #include <sqlx>
- // Hostname, nustatyk čia.
- #define HOSTNAME "[MIX Arena] #1 VirtualNET.LT"
- // Prefix'as prie tekstų
- #define PREFIX "^4MIX^1"
- // Flagas, pagal kurį bus atpažįstamas administratorius, kuris galės valdyti MIX serverį
- #define FLAG ADMIN_BAN
- #define MIX_HOST "127.0.0.1"
- #define MIX_USER "root"
- #define MIX_PASSWORD ""
- #define MIX_DATABASE "rush_arena"
- #define POINTS_KILL 1
- #define POINTS_DEATH -1
- #define POINTS_ACE 10
- #define POINTS_HS 3
- #define POINTS_MINI_ACE 5
- #define POINTS_MIX_PLAYED 20
- #define POINTS_MIX_LOST -10
- #define POINTS_MIX_WON 20
- #define POINTS_MIX_DRAW 5
- #define BOMB_PLANTED_POINTS 3
- #define BOMB_DEFUSED_POINTS 7
- enum
- {
- TASK_MVP = 15
- }
- new Handle:g_hTuple;
- new const szTables[][] =
- {
- "CREATE TABLE IF NOT EXISTS `mix_players` (`player_id` varchar(32) NOT NULL, `player_name` varchar(64), `kills` int(16) NOT NULL, `deaths` int(16) NOT NULL, `headshots` int(16), `m_aces` int(16), `aces` int(16), `mix_played` int(16) NOT NULL, `mix_won` int(16) NOT NULL, `mix_lost` int(16) NOT NULL, `mix_draw` int(16) NOT NULL, `points` int(16) NOT NULL, `last_online` varchar(64), PRIMARY KEY (`player_id`))",
- "CREATE TABLE IF NOT EXISTS `mix_games` (`id` int(32) NOT NULL AUTO_INCREMENT, `map_name` varchar(64) NOT NULL, `date` varchar(64), `rez_ct` int(16), `rez_t` int(16), PRIMARY KEY (`id`))",
- "CREATE TABLE IF NOT EXISTS `mix_gun` (`gun_id` int(32) NOT NULL, `kills` int(16), PRIMARY KEY (`gun_id`))",
- }
- new pKills[33], pDeaths[33], pHeadshots[33], pAces[33], pMiniAces[33], pMixPlayed[33], pMixLost[33], pMixDraw[33], pMixWon[33], pPoints[33], bool:pLoaded[33];
- new pTempKills[33], pTempDeaths[33], pTempHeadshots[33], pTempAces[33], pTempMiniAces[33], pTempPoints[33], pTempPlants[33], pTempDefusions[33];
- new pTempAK[33], pTempM4A1[33], pTempDeagle[33], pTempAWP[33], pTempUSP[33], pTempHE[33], pTempGlock[33], pTempKnives[33], pTempScout[33], pTempFamas[33];
- #define isAdmin(%1) (get_user_flags(%1) & FLAG)
- new scoreT, scoreCT, serverPassword[64], tempCT, tempT, tempCount;
- new bool:WarmUp = true, bool:KnifeRound, bool:passwordStatus, bool:canChat = true, bool:PrepareRound, bool:Fire;
- new Kills[33];
- new const BlockCmds[][] =
- {
- "amx_unban",
- "amx_rcon",
- "amx_cvar",
- "amxmodmenu"
- }
- new const Commands[][][] =
- {
- {"menu", "mainMenu"},
- {"mixmenu", "mainMenu"},
- {"live", "setLive"},
- {"rr", "restartRound"},
- {"restart", "restartRound"},
- {"wm", "warmUP"},
- {"warmup", "warmUP"},
- {"gg", "endGame"},
- {"stop", "endGame"},
- {"knife", "setKnife"},
- {"knf", "setKnife"},
- {"score", "getScore"},
- {"rez", "getScore"},
- {"pw", "infoPassword"},
- {"renkam", "setPrepare"}
- }
- public plugin_init()
- {
- register_plugin("MIX Panel", "1.5", "InvIs"); // Edit Terror.
- register_dictionary("mix_arena.txt");
- new szFmt[64];
- for(new i = 0; i < sizeof(BlockCmds); i++)
- {
- register_concmd(BlockCmds[i], "BlockConsole");
- }
- for(new i = 0; i < sizeof(Commands); i++)
- {
- format(szFmt, 63, "say .%s", Commands[i][0]);
- register_clcmd(szFmt, Commands[i][1]);
- format(szFmt, 63, "say /%s", Commands[i][0]);
- register_clcmd(szFmt, Commands[i][1]);
- format(szFmt, 63, "say !%s", Commands[i][0]);
- register_clcmd(szFmt, Commands[i][1]);
- format(szFmt, 63, "say_team .%s", Commands[i][0]);
- register_clcmd(szFmt, Commands[i][1]);
- format(szFmt, 63, "say_team /%s", Commands[i][0]);
- register_clcmd(szFmt, Commands[i][1]);
- format(szFmt, 63, "say_team !%s", Commands[i][0]);
- register_clcmd(szFmt, Commands[i][1]);
- }
- register_clcmd("jointeam", "cmd_block");
- register_clcmd("say .choose", "choosePlayers");
- register_clcmd("say /choose", "choosePlayers");
- register_clcmd("say .ban", "BanMenu");
- register_clcmd("say .kick", "KickMenu");
- register_clcmd("say .maps", "MapsMenu");
- register_clcmd("say .leave", "LeaveMenu");
- register_clcmd("say .chaton", "Chat");
- register_clcmd("say .chatoff", "ChatMenu");
- register_clcmd("say .ff", "FriendlyFire");
- register_clcmd("say .stats", "PlayerRank");
- register_clcmd("say .top", "showTOP");
- register_clcmd("say .rank", "showPlayerStats");
- register_clcmd("say .me", "showPlayerRank");
- register_clcmd("say .ace", "showPlayerAce");
- register_clcmd("SetPassword", "_SetPassword");
- register_clcmd("say /setstats", "Ranking");
- register_clcmd("say", "hookSay");
- server_cmd("sv_password ^"^"");
- register_event("DeathMsg", "DeathEvent", "a");
- RegisterHam(Ham_Spawn, "player", "PlayerSpawn", 1);
- register_logevent("RoundEnd", 2, "1=Round_End");
- register_event("SendAudio", "t_win", "a", "2&%!MRAD_terwin");
- register_event("SendAudio", "ct_win", "a", "2&%!MRAD_ctwin");
- register_forward(FM_Voice_SetClientListening, "ClientListen");
- server_cmd("hostname ^"%s^"", HOSTNAME);
- }
- public PlayerRank(id)
- {
- static query[512];
- formatex(query, charsmax(query), "SELECT COUNT(*) FROM mix_players WHERE points > '%d'", pPoints[id]);
- log_amx(query)
- static data[2];
- data[0] = id;
- SQL_ThreadQuery(g_hTuple, "QueryLoadStats", query, data, sizeof(data));
- return PLUGIN_HANDLED;
- }
- public QueryLoadStats(failstate, Handle:hQuery, error[], errnum, data[], size, Float:queuetime)
- {
- if(failstate == TQUERY_CONNECT_FAILED || failstate == TQUERY_QUERY_FAILED)
- {
- set_fail_state(error);
- }
- else
- {
- new id = data[0];
- if(SQL_NumResults(hQuery))
- {
- client_printcolor(id, "/y[/ctr%s/y] /yTaškai.: ^3%d ^4| /yNužudymai.: ^3%d ^4| /yMirtys.: ^3%d ^4| /yHS.: ^3%d ^4| /yMini-ACE.: ^3%d ^4| /yACE.: ^3%d", PREFIX, pPoints[id], pKills[id], pDeaths[id], pHeadshots[id], pMiniAces[id], pAces[id])
- client_printcolor(id, "/y[/ctr%s/y] /ySužaisti.: ^3%d ^4| /yLaimėta.: ^3%d ^4| /yPralaimėta.: ^3%d ^4| /yLygiosiomis.: ^3%d", PREFIX, pMixPlayed[id], pMixWon[id], pMixLost[id], pMixDraw[id])
- }
- }
- }
- public QueryLoadRank(failstate, Handle:hQuery, error[], errnum, data[], size, Float:queuetime)
- {
- if( failstate == TQUERY_CONNECT_FAILED || failstate == TQUERY_QUERY_FAILED)
- {
- set_fail_state(error);
- }
- else
- {
- new id = data[0];
- if(SQL_NumResults(hQuery))
- {
- new colRank = SQL_ReadResult(hQuery, 0) + 1;
- client_printcolor(id, "/y[/ctr%s/y] Tavo rankas yra /ctr%d", PREFIX, colRank);
- }
- }
- }
- public showPlayerRank(id)
- {
- static query[512];
- formatex(query, charsmax(query), "SELECT COUNT(*) FROM mix_players WHERE points > '%d'", pPoints[id]);
- log_amx(query)
- static data[2];
- data[0] = id;
- SQL_ThreadQuery(g_hTuple, "QueryLoadRank", query, data, sizeof(data));
- return PLUGIN_HANDLED;
- }
- public showPlayerStats(id)
- {
- new menu = menu_create("\w[\rMIX\w] Statistika\r", "showPlayerStatsHandler");
- new players[32], pnum, tempid;
- new szName[35], szUserId[35];
- get_players(players, pnum);
- for(new i; i<pnum; i++)
- {
- tempid = players[i];
- if(!is_user_connected(tempid)) continue;
- get_user_name(tempid, szName, charsmax(szName));
- get_user_authid(tempid, szUserId, 34);
- menu_additem(menu, szName, szUserId, 0);
- }
- menu_display(id, menu, 0);
- return PLUGIN_HANDLED;
- }
- public showPlayerStatsHandler(id, menu, item)
- {
- if(item == MENU_EXIT)
- {
- menu_destroy(menu)
- return PLUGIN_HANDLED;
- }
- new szData[64], szName[64];
- new _access, item_callback;
- menu_item_getinfo(menu, item, _access, szData, charsmax(szData), szName, charsmax(szName), item_callback);
- new link[128];
- format(link, 127, "http://cs.saudyk.lt/stats/player.php?sid=%s", szData);
- show_motd(id, link, "Player statistika");
- menu_destroy(menu);
- return PLUGIN_HANDLED;
- }
- public BanMenu(id)
- {
- if(!isAdmin(id))
- return PLUGIN_HANDLED;
- client_cmd(id, "amx_banmenu");
- return PLUGIN_HANDLED;
- }
- public KickMenu(id)
- {
- if(!isAdmin(id))
- return PLUGIN_HANDLED;
- client_cmd(id, "amx_kickmenu");
- return PLUGIN_HANDLED;
- }
- public MapsMenu(id)
- {
- if(!isAdmin(id))
- return PLUGIN_HANDLED;
- client_cmd(id, "amx_mapmenu");
- return PLUGIN_HANDLED;
- }
- public LeaveMenu(id)
- {
- if(!isAdmin(id))
- return PLUGIN_HANDLED;
- client_cmd(id, "amx_bandisconnectedmenu");
- return PLUGIN_HANDLED;
- }
- public ChatMenu(id)
- {
- if(!isAdmin(id)) return PLUGIN_HANDLED;
- canChat = false;
- client_printcolor(id, "/y[/ctr%s/y] Pokalbiai išjungti!", PREFIX);
- return PLUGIN_HANDLED;
- }
- public Chat(id)
- {
- if(!isAdmin(id))
- return PLUGIN_HANDLED;
- canChat = true;
- client_printcolor(id, "/y[/ctr%s/y] Pokalbiai ijungti!", PREFIX);
- return PLUGIN_HANDLED;
- }
- public showStats(id)
- {
- new link[128], steamid[64];
- get_user_authid(id, steamid, 63);
- format(link, 127, "http://cs.saudyk.lt/stats/player.php?sid=%s", steamid);
- show_motd(id, link, "Player statistika");
- }
- public showTOP(id)
- {
- new link[128];
- format(link, 127, "http://cs.saudyk.lt/stats/top.php");
- show_motd(id, link, "Player top 15 statistika");
- }
- public plugin_cfg()
- {
- set_task(0.5, "MySQLx_Init");
- }
- public MySQLx_Init()
- {
- g_hTuple = SQL_MakeDbTuple(MIX_HOST, MIX_USER, MIX_PASSWORD, MIX_DATABASE);
- for(new i = 0; i < sizeof szTables; i++)
- {
- SQL_ThreadQuery(g_hTuple, "QuerySetData", szTables[i]);
- }
- }
- public QuerySetData(iFailState, Handle:hQuery, szError[], iError, iData[], iDataSize, Float:fQueueTime)
- {
- if( iFailState == TQUERY_CONNECT_FAILED || iFailState == TQUERY_QUERY_FAILED)
- {
- log_amx("%s", szError);
- return;
- }
- }
- public ClientListen(pid, id)
- {
- if(pid == id) return 1;
- if(is_user_connected(id))
- {
- new szTeam[2];
- szTeam[0] = get_pdata_int(id, 114);
- szTeam[1] = get_pdata_int(pid, 114);
- if(szTeam[0] == szTeam[1] || WarmUp || KnifeRound || PrepareRound)
- {
- engfunc(EngFunc_SetClientListening, pid, id, 1);
- return 4;
- }
- engfunc(EngFunc_SetClientListening, pid, id, 0);
- return 4;
- }
- return 1;
- }
- public client_connect(id)
- {
- if(WarmUp)
- {
- set_task(1.0, "RespawnPlayer")
- }
- if(!WarmUp && !PrepareRound)
- {
- if(get_playersnum() < 10)
- {
- set_task(1.0, "set_password")
- }
- }
- pTempKills[id] = 0;
- pTempDeaths[id] = 0;
- pTempHeadshots[id] = 0;
- pTempAces[id] = 0;
- pTempMiniAces[id] = 0;
- pTempPoints[id] = 0;
- pTempPlants[id] = 0;
- pTempDefusions[id] = 0;
- pKills[id] = 0;
- pDeaths[id] = 0;
- pHeadshots[id] = 0;
- pAces[id] = 0;
- pMiniAces[id] = 0;
- pMiniAces[id] = 0;
- pMiniAces[id] = 0;
- pMixPlayed[id] = 0;
- pMixLost[id] = 0;
- pMixDraw[id] = 0;
- pMixWon[id] = 0;
- pPoints[id] = 0;
- pLoaded[id] = false;
- LoadPlayerData(id);
- }
- public InsertGame()
- {
- new szQuery[3800];
- new map_name[64];
- get_mapname(map_name, 63)
- formatex(szQuery, 3799, "REPLACE INTO `mix_games` (`map_name`, `date`, `rez_ct`, `rez_t`) VALUES ('%s', NOW(), '%d', '%d');", map_name, scoreCT, scoreT);
- SQL_ThreadQuery( g_hTuple, "QuerySetData", szQuery);
- }
- public SavePlayer(id)
- {
- if(!pLoaded[id])
- return PLUGIN_HANDLED;
- if(pPoints[id] < 0)
- pPoints[id] = 0;
- new Name[64], steam[64];
- get_user_name(id, Name, 63);
- get_user_authid(id, steam, 63);
- static szQuery[3800];
- formatex(szQuery, 3799, "REPLACE INTO `mix_players` (`player_id`, `player_name`, `kills`, `deaths`, `headshots`, `aces`, `m_aces`, `mix_played`, `mix_lost`, `mix_won`, `mix_draw`, `points`, `last_online`) VALUES ('%s', '%s', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', NOW());", steam, GetSecureName(Name), pKills[id], pDeaths[id], pHeadshots[id], pAces[id], pMiniAces[id], pMixPlayed[id], pMixLost[id], pMixWon[id], pMixDraw[id], pPoints[id]);
- #if AMXX_VERSION_NUM >= 183
- SQL_SetCharset(g_hTuple,"utf8");
- #endif
- SQL_ThreadQuery(g_hTuple, "QuerySetData", szQuery);
- return PLUGIN_CONTINUE;
- }
- public LoadPlayerData(id)
- {
- new steam[64];
- get_user_authid(id, steam, 63);
- static szQuery[256], iData[1];
- formatex(szQuery, 255, "SELECT * FROM `mix_players` WHERE (`player_id` = '%s');", steam);
- iData[0] = id;
- SQL_ThreadQuery(g_hTuple, "QuerySelectData", szQuery, iData, 1);
- return PLUGIN_CONTINUE;
- }
- public QuerySelectData(iFailState, Handle:hQuery, szError[], iError, iData[], iDataSize, Float:fQueueTime)
- {
- if(iFailState == TQUERY_CONNECT_FAILED || iFailState == TQUERY_QUERY_FAILED)
- {
- log_amx("%s", szError);
- return;
- }
- else
- {
- new id = iData[0];
- new data_kills = SQL_FieldNameToNum(hQuery, "kills");
- new data_deaths = SQL_FieldNameToNum(hQuery, "deaths");
- new data_headshots = SQL_FieldNameToNum(hQuery, "headshots");
- new data_aces = SQL_FieldNameToNum(hQuery, "aces");
- new data_mini_aces = SQL_FieldNameToNum(hQuery, "m_aces");
- new data_mix_played = SQL_FieldNameToNum(hQuery, "mix_played");
- new data_mix_lost = SQL_FieldNameToNum(hQuery, "mix_lost");
- new data_mix_draw = SQL_FieldNameToNum(hQuery, "mix_draw");
- new data_mix_won = SQL_FieldNameToNum(hQuery, "mix_won");
- new data_points = SQL_FieldNameToNum(hQuery, "points");
- while (SQL_MoreResults(hQuery))
- {
- pKills[id] = SQL_ReadResult(hQuery, data_kills);
- pDeaths[id] = SQL_ReadResult(hQuery, data_deaths);
- pHeadshots[id] = SQL_ReadResult(hQuery, data_headshots);
- pAces[id] = SQL_ReadResult(hQuery, data_aces);
- pMiniAces[id] = SQL_ReadResult(hQuery, data_mini_aces);
- pMixPlayed[id] = SQL_ReadResult(hQuery, data_mix_played);
- pMixLost[id] = SQL_ReadResult(hQuery, data_mix_lost);
- pMixDraw[id] = SQL_ReadResult(hQuery, data_mix_draw);
- pMixWon[id] = SQL_ReadResult(hQuery, data_mix_won);
- pPoints[id] = SQL_ReadResult(hQuery, data_points);
- SQL_NextRow(hQuery);
- }
- pLoaded[id] = true;
- }
- }
- public client_disconnected(id)
- {
- if(!WarmUp && !PrepareRound)
- {
- if(1 <= get_user_team(id) <= 2)
- {
- server_cmd("sv_password ^"^"");
- client_printcolor(0, "/y[/ctr%s/y] Žaidėjas: /g%s /ypaliko žaidimą!", PREFIX, get_admin_name(id))
- }
- }
- if(!WarmUp && !PrepareRound)
- {
- if(get_playersnum() < 10)
- {
- set_task(1.0, "set_password")
- }
- }
- }
- public bomb_planted(planter)
- {
- if(!WarmUp && !PrepareRound)
- {
- pTempPlants[planter]++;
- pPoints[planter] += BOMB_PLANTED_POINTS;
- client_printcolor(planter, "/y[/ctr%s/y] Gavai /ctr%d/y taškų", PREFIX, BOMB_PLANTED_POINTS);
- SavePlayer(planter);
- }
- }
- public bomb_defused(defuser)
- {
- if(!WarmUp && !PrepareRound)
- {
- pTempDefusions[defuser]++;
- pPoints[defuser] += BOMB_DEFUSED_POINTS;
- client_printcolor(defuser, "/y[/ctr%s/y] Gavai /ctr%d/y taškų", PREFIX, BOMB_DEFUSED_POINTS);
- SavePlayer(defuser);
- }
- }
- public t_win(id)
- {
- if(!WarmUp && !KnifeRound && !PrepareRound) scoreT++;
- if(KnifeRound)
- {
- if(tempT)
- {
- showTeamMenu(tempT);
- }
- }
- }
- public ct_win(id)
- {
- if(!WarmUp && !KnifeRound && !PrepareRound) scoreCT++;
- if(KnifeRound)
- {
- if(tempCT)
- {
- showTeamMenu(tempCT);
- }
- }
- }
- public PlayerSpawn(id)
- {
- if(WarmUp && is_user_connected(id))
- {
- cs_set_user_money(id, 16000);
- }
- Kills[id] = 0;
- return PLUGIN_HANDLED;
- }
- public RoundEnd()
- {
- if(WarmUp) server_cmd("hostname ^"%s [Apsilimas]^"", HOSTNAME);
- else if(KnifeRound) server_cmd("hostname ^"%s [Knife Round]^"", HOSTNAME);
- else if(PrepareRound) server_cmd("hostname ^"%s [Renkamos Komandos]^"", HOSTNAME);
- else
- {
- if(scoreT == 16 || scoreCT == 16)
- {
- server_cmd("hostname ^"[Zaidimas baigtas - CT: %i | T: %i] %s^"", scoreCT, scoreT, HOSTNAME);
- }
- else if(scoreT == 15 || scoreCT == 15)
- {
- server_cmd("hostname ^"[Live (MB) - CT: %i | T: %i] %s^"", scoreCT, scoreT, HOSTNAME);
- }
- else
- {
- if(scoreCT+scoreT == 15)
- {
- server_cmd("hostname ^"[Live - CT: %i | T: %i] %s^"", scoreCT, scoreT, HOSTNAME);
- }
- else
- {
- server_cmd("hostname ^"[Live - T: %i | CT: %i] %s^"", scoreT, scoreCT, HOSTNAME);
- }
- }
- }
- if(!WarmUp && !KnifeRound && !PrepareRound)
- {
- for(new i = 1; i <= 32; i++)
- {
- if(is_user_connected(i))
- {
- if(Kills[i] == 4)
- {
- client_printcolor(0, "/y[/ctr%s/y] Žaidėjas: /g%s /yPadare /ctrMINI ACE", PREFIX, get_admin_name(i));
- client_printcolor(0, "/y[/ctr%s/y] Žaidėjas: /g%s /yuž MINI ACE /ctrgauna /g%i tašku!", PREFIX, get_admin_name(i), POINTS_MINI_ACE);
- if(!WarmUp && !PrepareRound)
- {
- // Temp
- pTempMiniAces[i]++;
- pTempPoints[i] += POINTS_MINI_ACE;
- pMiniAces[i]++;
- pPoints[i] += POINTS_MINI_ACE;
- SavePlayer(i);
- }
- }
- else if(Kills[i] == 5)
- {
- client_printcolor(0, "/y[/ctr%s/y] Žaidėjas: /g%s /yPadare /ctrACE", PREFIX, get_admin_name(i));
- client_printcolor(0, "/y[/ctr%s/y] Žaidėjas: /g%s /yuž ACE /ctrgauna /g%i tašku!", PREFIX, get_admin_name(i), POINTS_ACE);
- // Temp
- pTempAces[i]++;
- pTempPoints[i] += POINTS_ACE;
- pAces[i]++;
- pPoints[i] += POINTS_ACE;
- SavePlayer(i);
- }
- }
- }
- if(scoreCT + scoreT == 15)
- {
- new temp = scoreCT;
- scoreCT = scoreT;
- scoreT = temp;
- client_printcolor(0, "/y[/ctr%s/y] Keičiamos komandos!", PREFIX);
- changeTeams();
- server_cmd("sv_restart 5");
- }
- client_printcolor(0, "/y[/ctr%s/y] CT's: /g%i /y|| T's: /g%i", PREFIX, scoreCT, scoreT);
- if(scoreT == 15 && scoreCT == 15)
- {
- client_printcolor(0, "/y[/ctr%s/y] /gŽaidimas baigtas. /yNei viena komanda nelaimėjo!", PREFIX);
- client_printcolor(0, "/y[/ctr%s/y] /gŽaidėjai gauna po: /g%i tašku!", PREFIX, POINTS_MIX_DRAW);
- drawGame();
- setEndGame();
- }
- else if(scoreT == 15) client_printcolor(0, "/y[/ctr%s/y] Terrorists MB", PREFIX);
- else if(scoreCT == 15) client_printcolor(0, "/y[/ctr%s/y] Counter-Terrorists MB", PREFIX);
- else if(scoreT == 16)
- {
- TeamWon(1);
- client_printcolor(0, "/y[/ctr%s/y] /gŽaidimas baigtas. Laimėjo: /yTerrorists komanda!", PREFIX);
- client_printcolor(0, "/y[/ctr%s/y] /gTerrorists komandoje esantys žaidėjai už pergalę gauna po: /g%i tašku!", PREFIX, POINTS_MIX_WON);
- setEndGame();
- }
- else if(scoreCT == 16)
- {
- TeamWon(2);
- client_printcolor(0, "/y[/ctr%s/y] /gŽaidimas baigtas. Laimėjo: /yCounter-Terrorists komanda!", PREFIX);
- client_printcolor(0, "/y[/ctr%s/y] /gCounter-Terrorists komandoje esantys žaidėjai už pergalę gauna po: /g%i tašku!", PREFIX, POINTS_MIX_WON);
- setEndGame();
- }
- }
- }
- public changeTeams()
- {
- for(new i = 1; i <= 32; i++)
- {
- add_delay(i);
- }
- }
- public changeTeam(id)
- {
- if(is_user_connected(id))
- {
- switch(get_user_team(id))
- {
- case 2: cs_set_user_team(id, CS_TEAM_T);
- case 1: cs_set_user_team(id, CS_TEAM_CT);
- }
- }
- }
- add_delay(id)
- {
- switch(id)
- {
- case 1..5: set_task(0.1, "changeTeam", id);
- case 6..10: set_task(0.2, "changeTeam", id);
- case 11..15: set_task(0.3, "changeTeam", id);
- case 16..20: set_task(0.4, "changeTeam", id);
- case 21..25: set_task(0.5, "changeTeam", id);
- case 26..32: set_task(0.6, "changeTeam", id);
- }
- }
- public DeathEvent(victim, attacker)
- {
- new attacker = read_data(1);
- new victim = read_data(2);
- new hs = read_data(3);
- new weapon_name[32]; read_data(4, weapon_name, 31);
- if(WarmUp)
- {
- set_task(1.0, "RespawnPlayer", victim);
- }
- else if(1 <= victim <= 32 && 1 <= attacker <= 32)
- {
- if(!WarmUp && !PrepareRound)
- {
- Kills[attacker]++;
- pKills[attacker]++;
- pPoints[attacker] += POINTS_KILL;
- client_printcolor(attacker, "/y[/ctr%s/y] Gavai /ctr%d/y taškų už nužudymą", PREFIX, POINTS_KILL);
- pTempKills[attacker]++;
- pTempPoints[attacker] += POINTS_KILL;
- if(hs)
- {
- pTempHeadshots[attacker]++;
- pTempPoints[attacker] += POINTS_HS;
- pHeadshots[attacker]++;
- pPoints[attacker] += POINTS_HS;
- }
- pTempDeaths[victim]++;
- pTempPoints[victim] += POINTS_DEATH;
- client_printcolor(victim, "/y[/ctr%s/y] Praradai /ctr%d/y taškų už mirtį", PREFIX, POINTS_DEATH);
- pDeaths[victim]++;
- pPoints[victim] += POINTS_DEATH;
- SavePlayer(victim);
- SavePlayer(attacker);
- if(containi(weapon_name, "ak47") != -1) InsertWeaponKill(CSW_AK47);
- else if(containi(weapon_name, "m4a1") != -1) InsertWeaponKill(CSW_M4A1);
- else if(containi(weapon_name, "deagle") != -1) InsertWeaponKill(CSW_DEAGLE);
- else if(containi(weapon_name, "awp") != -1) InsertWeaponKill(CSW_AWP);
- else if(containi(weapon_name, "usp") != -1) InsertWeaponKill(CSW_USP);
- else if(containi(weapon_name, "glock") != -1) InsertWeaponKill(CSW_GLOCK18);
- else if(containi(weapon_name, "he") != -1) InsertWeaponKill(CSW_HEGRENADE);
- else if(containi(weapon_name, "knife") != -1) InsertWeaponKill(CSW_KNIFE);
- else if(containi(weapon_name, "scout") != -1) InsertWeaponKill(CSW_SCOUT);
- else if(containi(weapon_name, "famas") != -1) InsertWeaponKill(CSW_FAMAS);
- if(containi(weapon_name, "ak47") != -1) { pTempAK[attacker]++; InsertWeaponAK47(attacker); }
- else if(containi(weapon_name, "m4a1") != -1) { pTempM4A1[attacker]++; InsertWeaponM4A1(attacker); }
- else if(containi(weapon_name, "deagle") != -1) { pTempDeagle[attacker]++; InsertWeaponDeagle(attacker); }
- else if(containi(weapon_name, "awp") != -1) { pTempAWP[attacker]++; InsertWeaponAWP(attacker); }
- else if(containi(weapon_name, "usp") != -1) { pTempUSP[attacker]++; InsertWeaponUSP(attacker); }
- else if(containi(weapon_name, "glock") != -1) { pTempGlock[attacker]++; InsertWeaponGlock(attacker); }
- else if(containi(weapon_name, "he") != -1) { pTempHE[attacker]++; InsertWeaponHE(attacker); }
- else if(containi(weapon_name, "knife") != -1) { pTempKnives[attacker]++; InsertWeaponKnives(attacker); }
- else if(containi(weapon_name, "scout") != -1) { pTempScout[attacker]++; InsertWeaponScout(attacker); }
- else if(containi(weapon_name, "famas") != -1) { pTempFamas[attacker]++; InsertWeaponFamas(attacker); }
- }
- }
- }
- public RespawnPlayer(id)
- {
- if(!is_user_alive(id) && is_user_connected(id) && 1 <= get_user_team(id) <= 2)
- {
- ExecuteHamB(Ham_CS_RoundRespawn, id);
- }
- }
- public event_CurWeapon(id)
- {
- if(KnifeRound && get_user_weapon(id) != CSW_KNIFE)
- {
- engclient_cmd(id, "weapon_knife");
- }
- }
- public infoPassword(id)
- {
- if(!passwordStatus)
- {
- client_printcolor(id, "/y[/ctr%s/y] Serverio slaptažodis: /g%s", PREFIX, serverPassword);
- }
- else
- {
- client_printcolor(id, "/y[/ctr%s/y] Serverio slaptažodis išjungtas!", PREFIX, serverPassword);
- }
- return PLUGIN_HANDLED;
- }
- public hookSay(id)
- {
- if(!canChat)
- {
- client_printcolor(id, "/y[/ctr%s/y] Pokalbiai šiuo metu yra išjungti!", PREFIX);
- client_printcolor(id, "/y[/ctr%s/y] Galimos komandos: /g.rez .stats .top", PREFIX);
- return PLUGIN_HANDLED;
- }
- return PLUGIN_CONTINUE;
- }
- public cmd_block(id)
- {
- if(!WarmUp && !PrepareRound)
- {
- if(1 <= get_user_team(id) <= 2)
- return PLUGIN_HANDLED;
- }
- return PLUGIN_CONTINUE;
- }
- public BlockConsole(id)
- {
- return PLUGIN_HANDLED;
- }
- public mainMenu(id)
- {
- if(!isAdmin(id))
- return PLUGIN_HANDLED;
- new menu = menu_create("\w[\yMIX\w] \rPagrindinis meniu", "onMainMenu");
- new szMsg[64];
- menu_additem(menu, "Valdymas");
- format(szMsg, 63, "\wPokalbiai \d[%s\d]", canChat ? "\yĮjungti" : "\rIšjungti");
- menu_additem(menu, szMsg);
- if(serverPassword[0]) format(szMsg, 63, "\wSlaptažodis \d[\y%s\d]", serverPassword);
- else format(szMsg, 63, "\wSlaptažodis \d[\rNėra\d]");
- menu_additem(menu, szMsg);
- menu_additem(menu, "Išmesti žaidėją");
- menu_additem(menu, "Išbaninti žaidėją");
- menu_additem(menu, "Keisti žemėlapį");
- menu_additem(menu, "Atsijungusių žaidėjų sąrašas");
- menu_display(id, menu, 0)
- return PLUGIN_HANDLED;
- }
- public onMainMenu(id, menu, item)
- {
- switch(item)
- {
- case 0: actMix(id);
- case 1:
- {
- canChat = !canChat;
- mainMenu(id);
- return PLUGIN_HANDLED;
- }
- case 2: optionsPassword(id);
- case 3: client_cmd(id, "amx_kickmenu");
- case 4: client_cmd(id, "amx_banmenu");
- case 5: client_cmd(id, "amx_mapmenu");
- case 6: client_cmd(id, "amx_bandisconnectedmenu");
- }
- menu_destroy(menu);
- return PLUGIN_HANDLED;
- }
- public optionsPassword(id)
- {
- if(!isAdmin(id))
- return PLUGIN_HANDLED;
- new szText[64];
- if(serverPassword[0]) format(szText, 63, "\w[\yMIX\w] \rSlaptažodis \d(\y%s\d)", serverPassword);
- else format(szText, 63, "\w[\yMIX\w] \rSlaptažodis \d(\rNėra\d)");
- new menu = menu_create(szText, "onOptionsPassword");
- format(szText, 63, "\wSlaptažodis \d[%s\d]", passwordStatus ? "\yĮjungtas" : "\rIšjungtas");
- menu_additem(menu, szText);
- menu_additem(menu, "Keisti slaptažodį");
- menu_additem(menu, "Ištrinti slaptažodį");
- menu_display(id, menu, 0);
- return PLUGIN_HANDLED;
- }
- public onOptionsPassword(id, menu, item)
- {
- switch(item)
- {
- case MENU_EXIT:
- {
- mainMenu(id);
- return PLUGIN_HANDLED;
- }
- case 0:
- {
- if(serverPassword[0])
- {
- passwordStatus = !passwordStatus;
- if(passwordStatus)
- {
- server_cmd("sv_password", serverPassword);
- }
- else server_cmd("sv_password ^"^"");
- }
- else
- {
- if(passwordStatus)
- passwordStatus = false;
- client_printcolor(id, "/y[/ctr%s/y] Nenustatytas slaptažodis!", PREFIX);
- }
- }
- case 1: client_cmd(id, "messagemode SetPassword");
- case 2: format(serverPassword, 63, "");
- }
- optionsPassword(id);
- return PLUGIN_HANDLED;
- }
- public _SetPassword(id)
- {
- if(!isAdmin(id))
- return;
- new szTemp[64];
- read_args(szTemp, charsmax(szTemp));
- remove_quotes(szTemp);
- format(serverPassword, 63, szTemp);
- optionsPassword(id);
- if(!passwordStatus)
- {
- server_cmd("sv_password %s", serverPassword);
- client_printcolor(0, "/y[/ctr%s/y] /g%s/y] Serverio slaptažodis: /g%s" , PREFIX, get_admin_name(id), szTemp);
- }
- }
- public actMix(id)
- {
- if(!isAdmin(id))
- return PLUGIN_HANDLED;
- new menu = menu_create("\w[\yMIX\w] \rValdymas", "onactMix");
- menu_additem(menu, "Pradėti žaidimą");
- menu_additem(menu, "Pasiruošti");
- menu_additem(menu, "Apšilimas");
- menu_additem(menu, "Knife");
- menu_additem(menu, "FFA");
- menu_additem(menu, "Perkrauti roundą");
- menu_additem(menu, "Užbaigti žaidimą");
- menu_display(id, menu, 0);
- return PLUGIN_HANDLED;
- }
- public onactMix(id, menu, item)
- {
- switch(item)
- {
- case 0: setLive(id);
- case 1: setPrepare(id);
- case 2: warmUP(id);
- case 3: setKnife(id);
- case 4: FriendlyFire(id);
- case 5: restartRound(id);
- case 6: endGame(id);
- }
- menu_destroy(menu);
- }
- public setPrepare(id)
- {
- if(!isAdmin(id))
- return PLUGIN_HANDLED;
- if(get_playersnum() >= 10)
- {
- server_cmd("sv_restart 1");
- KnifeRound = false;
- PrepareRound = true;
- WarmUp = false;
- scoreCT = 0;
- scoreT = 0;
- tempCount = 0;
- tempCT = 0;
- tempT = 0;
- for(new i = 1; i <= 32; i++)
- {
- if(is_user_connected(id) && (1 <= get_user_team(i) <= 2))
- {
- if(is_user_alive(i))
- user_silentkill(i);
- cs_set_user_team(i, CS_TEAM_SPECTATOR);
- }
- }
- client_printcolor(0, "/y[/ctr%s/y] [/g%s/y] Pasiruošimas prasidėjo! Administratorius tuoj išrinks lyderius!", PREFIX, get_admin_name(id));
- showPrepareMenu(id);
- }
- else
- {
- client_printcolor(id, "/y[/ctr%s/y] Pasiruošimas negali būti pradėtas todel kad trūksta žaidėjų!", PREFIX);
- }
- return PLUGIN_HANDLED;
- }
- public showPrepareMenu(id)
- {
- if(!isAdmin(id))
- return PLUGIN_HANDLED;
- new menu = menu_create("\w[\yMIX\w] \rPasirinkite kas eis į Counter Terrorist", "onPrepareCT");
- new players[32], num;
- get_players(players, num, "ch");
- new szText[64], ui[32];
- for(new i; i < num; i++)
- {
- format(ui, 31, "%d",get_user_userid(players[i]))
- if(pPoints[players[i]] <= 10000)
- {
- formatex(szText, charsmax(szText), "\d%s - %d", get_admin_name(players[i]), pPoints[players[i]]);
- }
- else if(pPoints[players[i]] <= 20000)
- {
- formatex(szText, charsmax(szText), "\w%s - %d", get_admin_name(players[i]), pPoints[players[i]]);
- }
- if(pPoints[players[i]] <= 30000)
- {
- formatex(szText, charsmax(szText), "\y%s - %d", get_admin_name(players[i]), pPoints[players[i]]);
- }
- else
- {
- formatex(szText, charsmax(szText), "\r%s - %d", get_admin_name(players[i]), pPoints[players[i]]);
- }
- menu_additem(menu, szText, ui);
- }
- menu_display(id, menu, 0);
- return PLUGIN_HANDLED;
- }
- public onPrepareCT(id, menu, item)
- {
- new szData[6], szName[64];
- new _access, item_callback;
- menu_item_getinfo(menu, item, _access, szData, charsmax(szData), szName, charsmax(szName), item_callback);
- new userid = str_to_num(szData);
- new player = find_player("k", userid);
- switch(item)
- {
- case MENU_EXIT:
- {
- if(PrepareRound) showPrepareMenu(id);
- return PLUGIN_HANDLED;
- }
- default: if(PrepareRound && is_user_connected(player)) cs_set_user_team(player, CS_TEAM_CT);
- }
- if(PrepareRound)
- {
- tempCT = player;
- client_printcolor(0, "/y[/ctr%s/y] CT lyderis bus: /g%s", PREFIX, szName);
- client_printcolor(0, "/y[/ctr%s/y] Administratorius tuoj išrinks T lyderį!", PREFIX);
- showPrepareMenuT(id);
- }
- return PLUGIN_HANDLED;
- }
- public showPrepareMenuT(id)
- {
- if(!isAdmin(id))
- return PLUGIN_HANDLED;
- new menu = menu_create("\w[\yMIX\w] \rPasirinkite kas eis į Terrorist", "onPrepareT");
- new players[32], num;
- get_players(players, num, "ceh", "SPECTATOR");
- new szText[64], ui[32];
- for(new i; i < num; i++)
- {
- format(ui, 31, "%d",get_user_userid(players[i]))
- if(pPoints[players[i]] <= 10000)
- {
- formatex(szText, charsmax(szText), "\d%s - %d", get_admin_name(players[i]), pPoints[players[i]]);
- }
- else if(pPoints[players[i]] <= 20000)
- {
- formatex(szText, charsmax(szText), "\w%s - %d", get_admin_name(players[i]), pPoints[players[i]]);
- }
- if(pPoints[players[i]] <= 30000)
- {
- formatex(szText, charsmax(szText), "\y%s - %d", get_admin_name(players[i]), pPoints[players[i]]);
- }
- else
- {
- formatex(szText, charsmax(szText), "\r%s - %d", get_admin_name(players[i]), pPoints[players[i]]);
- }
- menu_additem(menu, szText, ui);
- }
- menu_display(id, menu, 0)
- return PLUGIN_HANDLED;
- }
- public onPrepareT(id, menu, item)
- {
- new szData[6], szName[64];
- new _access, item_callback;
- menu_item_getinfo( menu, item, _access, szData,charsmax(szData), szName, charsmax(szName), item_callback);
- new userid = str_to_num(szData);
- new player = find_player("k", userid);
- switch(item)
- {
- case MENU_EXIT:
- {
- if(PrepareRound) showPrepareMenuT(id);
- return PLUGIN_HANDLED;
- }
- default: if(PrepareRound && is_user_connected(player)) cs_set_user_team(player, CS_TEAM_T)
- }
- if(PrepareRound)
- {
- tempT = player;
- client_printcolor(0, "/y[/ctr%s/y] T lyderis bus: /g%s", PREFIX, szName);
- client_printcolor(0, "/y[/ctr%s/y] Lyderiai pradeda rinktis žaidėjus!", PREFIX);
- client_printcolor(0, "/y[/ctr%s/y] /gDemesio: /yJeigu Lyderiams dings meniu su zaideju pasirinkimu, chate rasykite /ctr.choose", PREFIX);
- ShowList(tempCT);
- }
- return PLUGIN_HANDLED;
- }
- public choosePlayers(id)
- {
- switch(tempCount)
- {
- case 0, 2, 4, 6: if(tempT == id) ShowList(id);
- case 1, 3, 5, 7: if(tempCT == id) ShowList(id);
- }
- return PLUGIN_HANDLED;
- }
- public showTeamMenu(id)
- {
- new menu = menu_create("\w[\yMIX\w] \rPasirinkite komandą", "onTeamChange")
- menu_additem(menu, "Pasilikti");
- menu_additem(menu, "Keistis komandomis");
- menu_display(id, menu, 0);
- return PLUGIN_HANDLED;
- }
- public onTeamChange(id, menu, item)
- {
- switch(item)
- {
- case 0:
- {
- client_printcolor(0, "/y[/ctr%s/y] Sprendimas: /gPasilikti", PREFIX);
- setServerLive();
- }
- case 1:
- {
- client_printcolor(0, "/y[/ctr%s/y] Sprendimas: /gkeistis komandomis", PREFIX);
- changeTeams();
- set_task(2.0, "setServerLive", 1);
- }
- }
- }
- public ShowList(id)
- {
- new menu = menu_create("\w[\yMIX\w] \rPasirinkite komandos draugą", "onShowList")
- new players[32], num;
- get_players(players, num, "ceh", "SPECTATOR");
- new szText[64], ui[32];
- for(new i; i < num; i++)
- {
- format(ui, 31, "%d",get_user_userid(players[i]));
- if(pPoints[players[i]] <= 10000)
- {
- formatex(szText, charsmax(szText), "\d%s - %d", get_admin_name(players[i]), pPoints[players[i]]);
- }
- else if(pPoints[players[i]] <= 20000)
- {
- formatex(szText, charsmax(szText), "\w%s - %d", get_admin_name(players[i]), pPoints[players[i]]);
- }
- if(pPoints[players[i]] <= 30000)
- {
- formatex(szText, charsmax(szText), "\y%s - %d", get_admin_name(players[i]), pPoints[players[i]]);
- }
- else
- {
- formatex(szText, charsmax(szText), "\r%s - %d", get_admin_name(players[i]), pPoints[players[i]]);
- }
- menu_additem(menu, szText, ui)
- }
- menu_display(id, menu, 0);
- return PLUGIN_HANDLED;
- }
- public onShowList(id, menu, item)
- {
- new szData[6], szName[64];
- new _access, item_callback;
- new Where;
- switch(tempCount)
- {
- case 0, 2, 4, 6: Where = 0;
- case 1, 3, 5, 7: Where = 1;
- default: Where = -1;
- }
- menu_item_getinfo(menu, item, _access, szData,charsmax(szData), szName,charsmax(szName), item_callback);
- new userid = str_to_num(szData);
- new player = find_player("k", userid);
- switch(item)
- {
- case MENU_EXIT:
- {
- if(PrepareRound) ShowList(id)
- return PLUGIN_HANDLED;
- }
- default: if(PrepareRound && is_user_connected(player))
- {
- if(Where == 0)
- {
- cs_set_user_team(player, CS_TEAM_CT);
- }
- else
- {
- cs_set_user_team(player, CS_TEAM_T);
- }
- }
- }
- if(PrepareRound)
- {
- tempCount++;
- client_printcolor(0, "/y[/ctr%s/y] [/g%s /yPasirinko /g%s", PREFIX, get_admin_name(id), szName);
- if(tempCount < 8)
- {
- ShowList(Where == 1 ? tempCT : tempT);
- }
- else
- {
- /*KnifeRound = true;
- PrepareRound = false;
- WarmUp = false;
- scoreCT = 0;
- scoreT = 0;
- server_cmd("mp_roundtime 1.8")
- server_cmd("mp_buytime 0.30")
- server_cmd("mp_startmoney 16000")
- server_cmd("mp_freezetime 7")
- server_cmd("sv_restart 1")*/
- client_printcolor(0, "/y[/ctr%s/y] Komandų rinkimasis baigtas!", PREFIX)
- setServerLive()
- }
- }
- return PLUGIN_HANDLED;
- }
- public restartRound(id)
- {
- if(!isAdmin(id))
- return PLUGIN_HANDLED;
- server_cmd("sv_restart 1");
- client_printcolor(0, "/y[/ctr%s/y] Perkrautas roundas!", PREFIX);
- return PLUGIN_HANDLED;
- }
- public setServerLive()
- {
- KnifeRound = false;
- PrepareRound = false;
- WarmUp = false;
- scoreCT = 0;
- scoreT = 0;
- server_cmd("mp_roundtime 1.8")
- server_cmd("mp_buytime 0.30")
- server_cmd("mp_startmoney 800")
- server_cmd("mp_freezetime 7")
- server_cmd("sv_restart 3")
- set_task(1.0, "set_password");
- client_printcolor(0, "/y[/ctr%s/y] Žaidimas Prasidėjo! Gero žaidimo jums linki - Administracija!", PREFIX)
- server_cmd("hostname ^"[Live - Counter-Terrorist [0] - [0] Terrorist] %s^"", HOSTNAME)
- return PLUGIN_HANDLED;
- }
- public setLive(id)
- {
- if(!isAdmin(id))
- return PLUGIN_HANDLED
- KnifeRound = false;
- PrepareRound = false;
- WarmUp = false;
- scoreCT = 0;
- scoreT = 0;
- server_cmd("mp_roundtime 1.8");
- server_cmd("mp_buytime 0.30");
- server_cmd("mp_startmoney 800");
- server_cmd("mp_freezetime 7");
- server_cmd("sv_restart 3");
- set_task(1.0, "set_password");
- client_printcolor(0, "/y[/ctr%s/y] Žaidimas Prasidėjo! Gero žaidimo jums linki - Administracija!", PREFIX);
- server_cmd("hostname ^"[Live - Counter-Terrorist [0] - [0] Terrorist] %s^"", HOSTNAME)
- return PLUGIN_HANDLED;
- }
- public setRestart(id)
- {
- if(!isAdmin(id))
- return PLUGIN_HANDLED;
- server_cmd("sv_restart 1");
- client_printcolor(0, "/y[/ctr%s/y] Perkrautas roundas!", PREFIX);
- return PLUGIN_HANDLED;
- }
- public warmUP(id)
- {
- if(!isAdmin(id))
- return PLUGIN_HANDLED;
- passwordStatus = false;
- KnifeRound = false;
- PrepareRound = false;
- WarmUp = true;
- scoreCT = 0;
- scoreT = 0;
- server_cmd("mp_roundtime 600");
- server_cmd("mp_buytime 999999");
- server_cmd("mp_startmoney 16000");
- server_cmd("mp_freezetime 0");
- server_cmd("sv_password ^"^"");
- server_cmd("sv_restart 1");
- client_printcolor(0, "/y[/ctr%s/y] [/g%s/y] Apšilimas Prasidėjo!", PREFIX, get_admin_name(id));
- server_cmd("hostname ^"%s [Apšilimas]^"", HOSTNAME)
- return PLUGIN_HANDLED;
- }
- public setKnife(id)
- {
- if(!isAdmin(id))
- return PLUGIN_HANDLED;
- KnifeRound = true;
- PrepareRound = false;
- WarmUp = false;
- scoreCT = 0;
- scoreT = 0;
- server_cmd("mp_roundtime 1.8");
- server_cmd("mp_buytime 0.30");
- server_cmd("mp_startmoney 800");
- server_cmd("mp_freezetime 7");
- server_cmd("sv_restart 1");
- client_printcolor(0, "/y[/ctr%s/y] [/g%s/y] Prasidėjo peilių roundas! Sėkmės!", PREFIX, get_admin_name(id));
- return PLUGIN_HANDLED;
- }
- public FriendlyFire(id)
- {
- if(!isAdmin(id))
- return PLUGIN_HANDLED;
- if(Fire == true)
- {
- server_cmd( "mp_friendlyfire 0" );
- client_printcolor(0, "/y[/ctr%s/y] FriendlyFire /yOFF!", PREFIX);
- Fire = false;
- }
- else
- {
- server_cmd( "mp_friendlyfire 1" );
- client_printcolor(0, "/y[/ctr%s/y] FriendlyFire /yON!", PREFIX);
- Fire = true;
- }
- return PLUGIN_HANDLED;
- }
- public drawGame()
- {
- for(new i = 1; i <= 32; i++)
- {
- if(is_user_connected(i) && (1 <= get_user_team(i) <= 2))
- {
- pMixPlayed[i]++;
- pPoints[i] += POINTS_MIX_PLAYED;
- pMixDraw[i]++;
- pPoints[i] += POINTS_MIX_DRAW;
- SavePlayer(i);
- }
- }
- }
- public TeamWon(team)
- {
- for(new i = 1; i <= 32; i++)
- {
- if(is_user_connected(i) && (1 <= get_user_team(i) <= 2))
- {
- pMixPlayed[i]++;
- pPoints[i] += POINTS_MIX_PLAYED;
- if(get_user_team(i) == team)
- {
- pMixWon[i]++;
- pPoints[i] += POINTS_MIX_WON;
- }
- else
- {
- pMixLost[i]++;
- pPoints[i] += POINTS_MIX_LOST;
- }
- SavePlayer(i);
- }
- }
- }
- public setEndGame()
- {
- showMVP();
- InsertGame();
- passwordStatus = false;
- KnifeRound = false;
- PrepareRound = false;
- WarmUp = true;
- canChat = true;
- scoreCT = 0;
- scoreT = 0;
- server_cmd("mp_roundtime 600");
- server_cmd("mp_startmoney 16000");
- server_cmd("mp_buytime 999999");
- server_cmd("mp_freezetime 0");
- server_cmd("sv_password ^"^"");
- client_printcolor(0, "/y[/ctr%s/y] Žaidimas baigtas! Laukite žemėlapio keitimo!", PREFIX);
- server_cmd("hostname ^"%s [Apšilimas]^"", HOSTNAME);
- return PLUGIN_HANDLED;
- }
- public endGame(id)
- {
- if(!isAdmin(id))
- return PLUGIN_HANDLED;
- showMVP();
- InsertGame();
- passwordStatus = false;
- KnifeRound = false;
- PrepareRound = false;
- WarmUp = true;
- canChat = true;
- scoreCT = 0;
- scoreT = 0;
- server_cmd("mp_roundtime 600");
- server_cmd("mp_startmoney 16000");
- server_cmd("mp_buytime 999999");
- server_cmd("mp_freezetime 0");
- server_cmd("sv_password ^"^"");
- server_cmd("sv_restart 1");
- client_printcolor(0, "/y[/ctr%s/y] Įjungtas apšilimas! Laukite žemėlapio keitimo!", PREFIX);
- server_cmd("hostname ^"%s [Apšilimas]^"", HOSTNAME);
- return PLUGIN_HANDLED;
- }
- public showMVP()
- {
- new KillerName[256], DeathsName[256], BombPName[256], BombDName[256];
- new iPlayers[32], pNum, Tempid;
- new topKillerid, topDeathsid, topBombPid, topBombDid;
- new topKills, topDeaths, topBombP, topBombD;
- get_players(iPlayers, pNum, "ch");
- for(new i ; i < pNum ; i++)
- {
- Tempid = iPlayers[i];
- if(pTempKills[Tempid] >= topKills && pTempKills[Tempid])
- {
- topKills = pTempKills[Tempid];
- topKillerid = Tempid;
- }
- if(pTempDeaths[Tempid] >= topDeaths && pTempDeaths[Tempid])
- {
- topDeaths = pTempDeaths[Tempid];
- topDeathsid = Tempid;
- }
- if(pTempPlants[Tempid] >= topBombP && pTempPlants[Tempid])
- {
- topBombP = pTempPlants[Tempid];
- topBombPid = Tempid;
- }
- if(pTempDefusions[Tempid] >= topBombD && pTempDefusions[Tempid])
- {
- topBombD = pTempDefusions[Tempid];
- topBombDid = Tempid;
- }
- }
- if(1 <= topKillerid <= get_maxplayers())
- {
- get_user_name(topKillerid, KillerName, charsmax(KillerName));
- }
- if(1 <= topDeathsid <= get_maxplayers())
- {
- get_user_name(topDeathsid, DeathsName, charsmax(DeathsName));
- }
- if(1 <= topBombPid <= get_maxplayers())
- {
- get_user_name(topBombPid, BombPName, charsmax(BombPName));
- }
- if(1 <= topBombDid <= get_maxplayers())
- {
- get_user_name(topBombDid, BombDName, charsmax(BombDName));
- }
- for(new i ; i < pNum ; i++)
- {
- Tempid = iPlayers[i];
- if(pTempKills[Tempid] == topKills && Tempid != topKillerid && pTempKills[Tempid])
- {
- new LineToAdd[65] = ",";
- new szName[64]; get_user_name(Tempid, szName, charsmax(szName));
- add(LineToAdd, charsmax(LineToAdd), szName);
- add(KillerName, charsmax(KillerName) - strlen(BombDName) , LineToAdd);
- }
- if(pTempDeaths[Tempid] == topDeaths && Tempid != topDeathsid && pTempDeaths[Tempid])
- {
- new LineToAdd[65] = ",";
- new szName[64]; get_user_name(Tempid, szName, charsmax(szName));
- add(LineToAdd, charsmax(LineToAdd), szName);
- add(DeathsName, charsmax(DeathsName) - strlen(DeathsName) , LineToAdd);
- }
- if(pTempPlants[Tempid] == topBombP && Tempid != topBombPid && pTempPlants[Tempid])
- {
- new LineToAdd[65] = ","
- new szName[64]; get_user_name(Tempid, szName, charsmax(szName));
- add(LineToAdd, charsmax(LineToAdd), szName);
- add(BombPName, charsmax(BombPName) - strlen(BombPName) , LineToAdd);
- }
- if(pTempDefusions[Tempid] == topBombD && Tempid != topBombDid && pTempDefusions[Tempid])
- {
- new LineToAdd[65] = ",";
- new szName[64]; get_user_name(Tempid, szName, charsmax(szName));
- add(LineToAdd, charsmax(LineToAdd), szName);
- add(BombDName, charsmax(BombDName) - strlen(BombDName), LineToAdd);
- }
- }
- new msgToDisplay[456] = "%L";
- format(msgToDisplay, charsmax(msgToDisplay), msgToDisplay, LANG_PLAYER, "RANKING_MVP", scoreCT, scoreT, strlen(KillerName) ? KillerName : "NONE", topKills, strlen(DeathsName) ? DeathsName : "NONE", topDeaths,
- strlen(BombPName) ? BombPName : "NONE", topBombP, strlen(BombDName) ? BombDName : "NONE", topBombD);
- set_task(1.0, "RankingTable", TASK_MVP, msgToDisplay, strlen(msgToDisplay), "b")
- }
- public RankingTable(msgToDisplay[], TASK_MVP)
- {
- new iPlayers[32], pNum, id;
- for(new i ; i < pNum ; i++)
- {
- id = iPlayers[i];
- }
- set_hudmessage(255, 255, 255, -1.0, 0.10, 0, 6.0, 30.0)
- show_hudmessage(0, msgToDisplay);
- client_cmd(id, "say /setstats");
- }
- public Ranking(id)
- {
- static query[512];
- formatex(query, charsmax(query), "SELECT COUNT(*) FROM mix_players WHERE points > '%d'", pTempPoints[id]);
- log_amx(query)
- static data[2];
- data[0] = id;
- SQL_ThreadQuery(g_hTuple, "RankTableMVP", query, data, sizeof(data));
- return PLUGIN_HANDLED;
- }
- public RankTableMVP(failstate, Handle:hQuery, error[], errnum, data[], size, Float:queuetime)
- {
- if(failstate == TQUERY_CONNECT_FAILED || failstate == TQUERY_QUERY_FAILED)
- {
- set_fail_state(error);
- }
- else
- {
- new id = data[0];
- new msgToDisplay[456] = "%L";
- if(SQL_NumResults(hQuery))
- {
- format(msgToDisplay, charsmax(msgToDisplay), msgToDisplay, LANG_PLAYER, "RANKTABLE_MVP", pTempPoints[id], pTempKills[id], pTempDeaths[id], pTempHeadshots[id], pTempPlants[id], pTempDefusions[id], pTempMiniAces[id], pTempAces[id]);
- set_hudmessage(255, 255, 255, -1.0, 0.35, 0, 6.0, 30.0)
- show_hudmessage(id, msgToDisplay, "^n%L", LANG_PLAYER, "RANKTABLE_MVP", pTempPoints[id], pTempKills[id], pTempDeaths[id], pTempHeadshots[id], pTempPlants[id], pTempDefusions[id], pTempMiniAces[id], pTempAces[id]);
- }
- }
- }
- public restart(id)
- {
- server_cmd("restart");
- }
- public getScore(id)
- {
- if(WarmUp || KnifeRound || PrepareRound)
- client_printcolor(id, "/y[/ctr%s/y] Žaidimas šiuo metu nevyksta!", PREFIX);
- else client_printcolor(id, "/y[/ctr%s/y] CT's: /g%i /y|| T's: /g%i", PREFIX, scoreCT, scoreT);
- return PLUGIN_HANDLED;
- }
- public showPlayerAce(id)
- {
- static query[512];
- formatex(query, charsmax(query), "SELECT COUNT(*) FROM mix_players WHERE points > '%d'", pPoints[id]);
- log_amx(query)
- static data[2];
- data[0] = id;
- SQL_ThreadQuery(g_hTuple, "QueryLoadAce", query, data, sizeof(data));
- return PLUGIN_HANDLED;
- }
- public QueryLoadAce(failstate, Handle:hQuery, error[], errnum, data[], size, Float:queuetime)
- {
- if( failstate == TQUERY_CONNECT_FAILED
- || failstate == TQUERY_QUERY_FAILED )
- {
- set_fail_state(error);
- }
- else
- {
- new id = data[0];
- if(SQL_NumResults(hQuery))
- {
- if(SQL_NumResults(hQuery))
- {
- client_printcolor(id, "/y[/ctr%s/y] /yMini-ACE ^3%d ^4| /yACE ^3%d", PREFIX, pMiniAces[id], pAces[id])
- }
- }
- }
- }
- public set_password(id)
- {
- new rnd = random_num(99, 9999);
- new serverPassword[10];
- num_to_str(rnd, serverPassword, 9);
- server_cmd("sv_password %s", serverPassword);
- }
- public InsertWeaponKill(wpnindex)
- {
- new szQuery[3800];
- formatex( szQuery, 3799, "INSERT INTO `mix_gun` (`gun_id`, `kills`) VALUES (%d, 1) ON DUPLICATE KEY UPDATE `kills` = `kills` + 1;", wpnindex);
- log_amx(szQuery)
- SQL_ThreadQuery( g_hTuple, "QuerySetData", szQuery);
- }
- stock get_admin_name(id)
- {
- new name[64]
- get_user_name(id, name, 63)
- return name
- }
- stock client_printcolor(const id, const input[], any:...)
- {
- new count = 1, players[32];
- static msg[191];
- vformat(msg, 190, input, 3);
- replace_all(msg,190,"/g","^4"); // green txt
- replace_all(msg,190,"/y","^1"); // orange txt
- replace_all(msg,190,"/ctr","^3"); // team txt
- replace_all(msg,190,"/w","^0"); // team txt
- if(id) players[0] = id; else get_players(players,count,"ch");
- for(new i = 0; i < count; i++)
- if(is_user_connected(players[i]))
- {
- message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
- write_byte(players[i]);
- write_string(msg);
- message_end();
- }
- }
- GetSecureName(const name[])
- {
- static secureName[64];
- copy(secureName, charsmax(secureName), name);
- replace_all(secureName, charsmax(secureName), "\", "\\");
- replace_all(secureName, charsmax(secureName), "'", "\'");
- replace_all(secureName, charsmax(secureName), "`", "\`");
- return secureName;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement