#include <amxmodx>
#include <reapi>
//#define UstYazi /* Ust Yazinin Acik Olmasini Istemiyorsaniz Basina // Koyun. */
new const iChatTag[] = "^4Noble Masters Elder:^3";
new iCvars[4], szNextMap[32];
public plugin_init()
{
register_plugin("Tur Sistemi", "0.1", "LyNcH");
get_cvar_string("amx_nextmap", szNextMap, charsmax(szNextMap));
RegisterHookChain(RG_RoundEnd, "@RoundEnd", .post = true);
RegisterHookChain(RG_CSGameRules_RestartRound, "@RestartRound", .post = false);
bind_pcvar_num(create_cvar("tursistemi_swap", "10", _, "Kacinci roundda takimlar degissin", true, 1.0), iCvars[0]);
bind_pcvar_num(create_cvar("tursistemi_otomermi", "1", _, "Takimlar degistikten sonra oto mermi verilsin mi", _, _, true, 1.0), iCvars[1]);
bind_pcvar_num(create_cvar("tursistemi_bitissayisi", "20", _, "Kac olanin kazanacagini belirler", true, 1.0), iCvars[2]);
bind_pcvar_num(create_cvar("tursistemi_mapsecimi", "1", _, "1 Yaparsaniz Mac Bittiginde Restart Atar | 2 Yaparsaniz Mac Bittiginde Next Map Acilir", true, 1.0, true, 2.0), iCvars[3]);
}
#if defined UstYazi
public client_putinserver(id)
{
set_task(0.5, "@Hud", id + 12383848, .flags = "b");
}
@Hud(Taskid)
{
new id = Taskid - 12383848;
if(is_user_connected(id))
{
set_hudmessage(255, 255, 255, -1.0, 0.0, 0, 6.0, 12.0);
ShowSyncHudMsg(id, CreateHudSyncObj(), "Round: [%d]^nT: [%d] | CT: [%d]", get_member_game(m_iTotalRoundsPlayed)+1, get_member_game(m_iNumTerroristWins), get_member_game(m_iNumCTWins));
}
}
#endif
@RoundEnd(WinStatus:status, ScenarioEventEndRound:event, Float:tmDelay)
{
if(get_member_game(m_iTotalRoundsPlayed)+1 == iCvars[0])
{
for(new i = 0; i < 3; i++)
{
client_print_color(0,0, "%s Round Sayisi %i Oldugu Icin Takimlar Yer Degistiriyor !", iChatTag, iCvars[0]);
}
}
new iTotalWin[2];
iTotalWin[0] = get_member_game(m_iNumTerroristWins);
iTotalWin[1] = get_member_game(m_iNumCTWins);
if(iTotalWin[0] == iCvars[2] || iTotalWin[1] == iCvars[2])
{
for(new i = 0; i < 3; i++)
{
client_print_color(0,0, "%s Maci Kazanan Takim %s !", iChatTag, iTotalWin[0] == iCvars[2] ? "TE":"CT");
}
}
}
@RestartRound()
{
if(get_member_game(m_iTotalRoundsPlayed)+1 == iCvars[0])
{
rg_swap_all_players();
set_task(0.1, "@Settings", 99865);
}
if(get_member_game(m_iNumTerroristWins) == iCvars[2] || get_member_game(m_iNumCTWins) == iCvars[2])
{
@CheckMap();
}
}
@CheckMap()
{
switch(iCvars[3])
{
case 1:
{
set_member_game(m_iNumTerroristWins, 0);
set_member_game(m_iNumCTWins, 0);
set_cvar_num("sv_restart", 1);
client_print_color(0,0, "%s Restart Atiliyor !", iChatTag);
}
case 2:
{
set_task(5.0, "@ChangeToNextMap");
client_print_color(0,0, "%s Siradaki Map [ %s ] Aciliyor !", iChatTag, szNextMap);
}
}
}
@ChangeToNextMap()
{
server_cmd("changelevel %s", szNextMap);
}
@Settings()
{
for(new i = 1; i <= MaxClients; i++)
{
if(is_user_connected(i))
{
rg_add_account(i, 800, AS_SET);
rg_remove_all_items(i, false);
set_entvar(i, var_armorvalue, 0.0);
rg_give_item(i, "weapon_knife", GT_APPEND);
new TeamName:Team = get_member(i, m_iTeam);
switch(Team)
{
case TEAM_TERRORIST:
{
rg_give_item(i, "weapon_glock18", GT_APPEND);
if(iCvars[1]) rg_set_user_bpammo(i, WEAPON_GLOCK18, 120);
}
case TEAM_CT:
{
rg_give_item(i, "weapon_usp", GT_APPEND);
if(iCvars[1]) rg_set_user_bpammo(i, WEAPON_USP, 24);
}
}
}
}
new Players[32], NumAll;
get_players(Players, NumAll, "aceh", "TERRORIST");
new RandomT = Players[random_num(0, NumAll-1)];
if(is_user_alive(RandomT) && is_user_connected(RandomT))
{
rg_give_item(RandomT, "weapon_c4");
}
remove_task(99865);
}