Junior Member
|
09-09-2013
, 02:19
[Ayuda] Print_CLient con colores
|
#1
|
hola que tal gente como estan,
tengo un pequeño problema sobre como colocarle colores a los print client, yo lo se poner pero en letras normales me refiero a script que no dependan de un Language file, pero este scrim depende de un Language file y se me hace muy complicado ponerle los colores verdes y los de team,
Este es el codigo:
Code:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fakemeta>
#include <hamsandwich>
#include <csx>
#pragma semicolon 1
#define PUG_TASK_VOTE 1337
#define PUG_TASK_READY 1338
#define PUG_TASK_CAPTAIN 1339
#define PUG_TASK_AUTO_CLOSE 1440
#define PUG_ValidTeam(%0) (CS_TEAM_T <= %0 <= CS_TEAM_CT)
new PUG_szHead[] = "[APG]";
new PUG_iStage;
enum _:PUG_STAGE
{
PUG_STAGE_PREGAME = 0,
PUG_STAGE_VOTING,
PUG_STAGE_FIRST,
PUG_STAGE_INTERMISSION,
PUG_STAGE_SECOND,
PUG_STAGE_OT_INTERMISSION,
PUG_STAGE_OVERTIME,
PUG_STAGE_END
};
new PUG_szStage[PUG_STAGE][] = {"Pregame","Voting","First Half","Intermission","Second Half","OT Intermission","Overtime","Finished"};
new bool:PUG_iReady[33];
new bool:PUG_iMuted[33];
new PUG_iScores[2]; // 0 TRs, 1 CTs
new PUG_iRounds[3]; // 0 Rounds, 1 Invalid, 2 OT
new PUG_szTeams[2][] = {"Terrorists","Counter-Terrorists"};
enum _:PUG_VOTE_STAGE
{
PUG_VOTE_NONE = 0,
PUG_VOTE_MAP,
PUG_VOTE_TEAMS,
PUG_VOTE_CONFIG,
PUG_VOTE_OVERTIME,
PUG_VOTE_CAPTAINS
};
new PUG_iMenu;
#define PUG_MAX_MAPS 32
new PUG_VoteMapMenu;
new PUG_VoteTeamMenu;
new PUG_VoteConfigMenu;
new PUG_VoteOvertimeMenu;
new PUG_VoteMapVotes[PUG_MAX_MAPS];
new PUG_VoteMapNames[PUG_MAX_MAPS][32];
new PUG_VoteMapCount;
new PUG_VoteTeamVotes[5];
new PUG_VoteConfigVotes[3];
new PUG_VoteOvertimeVotes[3];
new bool:PUG_Voted[33];
new PUG_iCaptain[2]; // 0 TR, 1 CT
new bool:PUG_iRound;
new PUG_iHits[33][33];
new PUG_iDamage[33][33];
new PUG_sv_restart;
new PUG_mapcyclefile;
new PUG_sv_visiblemaxplayers;
new PUG_mp_startmoney;
new PUG_mp_Freezetime;
new PUG_MinPlayers;
new PUG_MaxPlayers;
new PUG_VoteMap;
new PUG_VoteDelay;
new PUG_SwitchDelay;
new PUG_MaxRounds;
new PUG_OverTimeRounds;
new PUG_AllowSPEC;
new PUG_AllowHLTV;
new PUG_ForceRestart;
new PUG_HelpFile;
new PUG_TeamMoney;
new PUG_ForceReadyTime;
new PUG_AllowStats;
new PUG_ConfigVote;
new PUG_OvertimeVote;
new PUG_ReconnectTime;
new PUG_PregameConfig;
new PUG_ReadyConfig;
new PUG_FirstConfig;
new PUG_IntermissionConfig;
new PUG_SecondConfig;
new PUG_IntermissionOTConfig;
new PUG_OvertimeConfig;
new PUG_FinishedConfig;
new PUG_OnVoteCommandsBlocked[][] = {"buy","buyequip","radio1","radio2","radio3","chooseteam","jointeam","joinclass"};
#define SLOT_PRIMARY 1
#define SLOT_SECONDARY 2
#define SLOT_C4 5
new PUG_WeaponSlots[] =
{
0,
2, //CSW_P228
0,
1, //CSW_SCOUT
4, //CSW_HEGRENADE
1, //CSW_XM1014
5, //CSW_C4
1, //CSW_MAC10
1, //CSW_AUG
4, //CSW_SMOKEGRENADE
2, //CSW_ELITE
2, //CSW_FIVESEVEN
1, //CSW_UMP45
1, //CSW_SG550
1, //CSW_GALIL
1, //CSW_FAMAS
2, //CSW_USP
2, //CSW_GLOCK18
1, //CSW_AWP
1, //CSW_MP5NAVY
1, //CSW_M249
1, //CSW_M3
1, //CSW_M4A1
1, //CSW_TMP
1, //CSW_G3SG1
4, //CSW_FLASHBANG
2, //CSW_DEAGLE
1, //CSW_SG552
1, //CSW_AK47
3, //CSW_KNIFE
1 //CSW_P90
};
new PUG_MaxBPAmmo[] =
{
0,
52, //CSW_P228
0,
90, //CSW_SCOUT
1, //CSW_HEGRENADE
32, //CSW_XM1014
1, //CSW_C4
100, //CSW_MAC10
90, //CSW_AUG
1, //CSW_SMOKEGRENADE
120, //CSW_ELITE
100, //CSW_FIVESEVEN
100, //CSW_UMP45
90, //CSW_SG550
90, //CSW_GALIL
90, //CSW_FAMAS
100, //CSW_USP
120, //CSW_GLOCK18
30, //CSW_AWP
120, //CSW_MP5NAVY
200, //CSW_M249
32, //CSW_M3
90, //CSW_M4A1
120, //CSW_TMP
90, //CSW_G3SG1
2, //CSW_FLASHBANG
35, //CSW_DEAGLE
90, //CSW_SG552
90, //CSW_AK47
0, //CSW_KNIFE
100 //CSW_P90
};
new Trie:PUG_MutedSteamIDs;
new Trie:PUG_RestrictedWeapons;
new Trie:PUG_ReconnectSteamIDs;
new PUG_RestrictWeapons[][] = {"shield","flash","hegren","sgren","defuser","primammo","secammo","buyammo1","buyammo2"};
public plugin_init()
{
register_plugin("Pug MOD XT (Rewritten)",AMXX_VERSION_STR,"SmileY (And Others)");
register_dictionary("PUG.txt");
PUG_MinPlayers = register_cvar("pug_minplayers","10"); // Min. Players to start a PUG
PUG_MaxPlayers = register_cvar("pug_maxplayers","10"); // Max. Players in server
PUG_VoteMap = register_cvar("pug_votemap","1"); // Use Vote Map? (DON'T ADD IT ON ANY CONFIG FILE!)
PUG_VoteDelay = register_cvar("pug_vote_delay","10.0"); // Delay in vote sessions
PUG_SwitchDelay = register_cvar("pug_switch_delay","5.0"); // Delay to switch the teams
PUG_MaxRounds = register_cvar("pug_rounds","30"); // Rounds in total (15 + 15 in each side)
PUG_OverTimeRounds = register_cvar("pug_ot_rounds","6"); // Rounds in Overtime (3 + 3 in each side)
PUG_AllowSPEC = register_cvar("pug_allowspec","1"); // Allow Spectactors in server?
PUG_AllowHLTV = register_cvar("pug_allowhltv","1"); // Allow HLTV in server?
PUG_ForceRestart = register_cvar("pug_force_restart","1"); // Force restart the round in some voting sessions or in changing teams
PUG_HelpFile = register_cvar("pug_help","help.txt"); // File contains the HTML code, or maybe the Address of any webpage (This is the .help command)
PUG_TeamMoney = register_cvar("pug_team_money","1"); // Show a teammate money?
PUG_ForceReadyTime = register_cvar("pug_forceready_time","120"); // Time in seconds to force a player use the .ready command (Set 0 to deactivate)
PUG_AllowStats = register_cvar("pug_allow_stats","1"); // Allow the stats commands: Like .dmg, .hp, .hpteam, .hpall, .rdmg, .sum and others
PUG_ConfigVote = register_cvar("pug_config_vote","1"); // Starts a voting to config file (0 to use the directly CAL.cfg :)
PUG_OvertimeVote = register_cvar("pug_overtime_vote","1"); // In case of a tie: (1 to use voting to Overtime, 2 force a end of match with a DRAW score, 0 Force a directly Overtime)
PUG_ReconnectTime = register_cvar("pug_reconnect_time","30"); // Anti Reconnect feature (In Live only) (0 to disable)
PUG_PregameConfig = register_cvar("pug_pregame_cfg","pregame.rc"); // Pregame config file
PUG_ReadyConfig = register_cvar("pug_ready_cfg","ready.rc"); // Voting ''
PUG_FirstConfig = register_cvar("pug_first_cfg","cal.rc"); // default CAL ''
PUG_IntermissionConfig = register_cvar("pug_intermission_cfg","intermission.rc"); // Intermission ''
PUG_SecondConfig = register_cvar("pug_second_cfg","cal.rc"); // Second Half ''
PUG_IntermissionOTConfig = register_cvar("pug_intermission_ot_cfg","intermission.rc"); // Overtime Itnermission ''
PUG_OvertimeConfig = register_cvar("pug_overtime_cfg","cal-ot.rc"); // Overtime Config (CAL)
PUG_FinishedConfig = register_cvar("pug_finished_cfg","finished.rc"); // Finished ''
PUG_sv_restart = get_cvar_pointer("sv_restart");
PUG_mapcyclefile = get_cvar_pointer("mapcyclefile");
PUG_sv_visiblemaxplayers = get_cvar_pointer("sv_visiblemaxplayers");
PUG_mp_startmoney = get_cvar_pointer("mp_startmoney");
PUG_mp_Freezetime = get_cvar_pointer("mp_freezetime");
register_clcmd("say","PUG_SayFilter");
register_clcmd("say_team","PUG_SayFilter");
register_clcmd(".help","PUG_cmdHelp",_,"Brings up client help info");
register_clcmd(".ready","PUG_cmdReadyUP",_,"Tells the server player is ready");
register_clcmd("ready","PUG_cmdReadyUP",_,"Tells the server player is ready");
register_clcmd(".notready","PUG_cmdReadyDown",_,"Tells the server player is not ready");
register_clcmd(".score","PUG_cmdScores",_,"Display the scores");
register_clcmd(".status","PUG_cmdStatus",_,"Display a status of the game");
register_clcmd(".round","PUG_cmdRound",_,"Display the round");
register_clcmd(".respawn","PUG_HamKilledPost",_,"Respawn a player in Pregame");
register_clcmd(".dmg","PUG_cmdDMG",_,"Shows damage you have done to other clients");
register_clcmd(".rdmg","PUG_cmdRDMG",_,"Shows damage done to you by other clients");
register_clcmd(".sum","PUG_cmdSUM",_,"Shows the summary of the Round");
register_clcmd(".hp","PUG_cmdHP",_,"Shows health of other clients (Enemy Only)");
register_clcmd(".hpteam","PUG_cmdHPTeam",_,"Shows health of other clients (Team Only)");
register_clcmd(".hpall","PUG_cmdHPAll",_,"Shows health of other clients (All clients)");
register_clcmd(".startpug","PUG_cmdStart",ADMIN_CFG,"Forces the PUG to start");
register_clcmd(".stoppug","PUG_cmdStop",ADMIN_CFG,"Forces the PUG to end");
register_clcmd(".resetpug","PUG_cmdReset",ADMIN_CFG,"Restart the current PUG");
register_clcmd(".message","PUG_cmdMessage",ADMIN_CHAT,"<Message> - Send a message");
register_clcmd(".kill","PUG_cmdKill",ADMIN_SLAY,"<Name or #ID> - Kills a client");
register_clcmd(".kick","PUG_cmdKick",ADMIN_KICK,"<Name or #ID> - Kicks a client");
register_clcmd(".mute","PUG_cmdMute",ADMIN_CHAT,"<Name or #ID> - Mutes a client");
register_clcmd(".unmute","PUG_cmdUnMute",ADMIN_CHAT,"<Name or #ID> - Unmutes a client");
register_clcmd(".forceready","PUG_cmdForceReady",ADMIN_CFG,"<Name | #ID | ALL | T | C> - Forces a client to be ready");
register_clcmd(".forceunready","PUG_cmdForceUnReady",ADMIN_CFG,"<Name | #ID | ALL | T | C> - Forces a client to be unready");
PUG_VoteMapMenu = menu_create("Vote Map:","PUG_MenuHandler");
menu_setprop(PUG_VoteMapMenu,MPROP_NEXTNAME,"Next");
menu_setprop(PUG_VoteMapMenu,MPROP_BACKNAME,"Back");
menu_setprop(PUG_VoteMapMenu,MPROP_EXIT,MEXIT_NEVER);
PUG_VoteTeamMenu = menu_create("Team Type:","PUG_MenuHandler");
menu_additem(PUG_VoteTeamMenu,"Capitanes","1");
menu_additem(PUG_VoteTeamMenu,"Al azar","2");
menu_additem(PUG_VoteTeamMenu,"Sin ordenar","3");
menu_additem(PUG_VoteTeamMenu,"\dKnife Round","4");
menu_setprop(PUG_VoteTeamMenu,MPROP_EXIT,MEXIT_NEVER);
PUG_VoteConfigMenu = menu_create("Config Type:","PUG_MenuHandler");
menu_additem(PUG_VoteConfigMenu,"CAL (15 Rondas, 1:45 min, $800)","1");
menu_additem(PUG_VoteConfigMenu,"CEVO (15 Rondas, 2:00 min, $800)","2");
menu_setprop(PUG_VoteConfigMenu,MPROP_EXIT,MEXIT_NEVER);
PUG_VoteOvertimeMenu = menu_create("Play Overtime?","PUG_MenuHandler");
menu_additem(PUG_VoteOvertimeMenu,"Si","1");
menu_additem(PUG_VoteOvertimeMenu,"No","2");
menu_setprop(PUG_VoteOvertimeMenu,MPROP_EXIT,MEXIT_NEVER);
PUG_MutedSteamIDs = TrieCreate();
PUG_RestrictedWeapons = TrieCreate();
PUG_ReconnectSteamIDs = TrieCreate();
for(new i;i < sizeof(PUG_RestrictWeapons);i++) TrieSetCell(PUG_RestrictedWeapons,PUG_RestrictWeapons[i],1);
for(new i;i < sizeof(PUG_OnVoteCommandsBlocked);i++) register_clcmd(PUG_OnVoteCommandsBlocked[i],"PUG_CheckCommands");
register_event("ResetHUD","PUG_ReadyList","b");
register_logevent("PUG_RoundStart",2,"1=Round_Start");
register_event("SendAudio","PUG_SendAudio","a","2&%!MRAD_terwin","2&%!MRAD_ctwin","2&%!MRAD_rounddraw");
RegisterHam(Ham_Spawn,"player","PUG_HamSpawnPost",1);
RegisterHam(Ham_Killed,"player","PUG_HamKilledPost",1);
register_message(get_user_msgid("Money"),"PUG_msgMoney");
register_forward(FM_SetModel,"PUG_fwSetModel",1);
register_forward(FM_Voice_SetClientListening,"PUG_fwSetVoice");
register_event("CurWeapon","PUG_CurWeapon","be","1=1");
register_menucmd(register_menuid("#Buy",1),511,"PUG_MenuBuy");
register_menucmd(-28,511,"PUG_MenuBuy");
register_menucmd(register_menuid("BuyItem",1),511,"PUG_MenuItem");
register_menucmd(-34,511,"PUG_MenuItem");
register_clcmd("jointeam","PUG_JoinTeam");
register_menucmd(-2,(1<<0)|(1<<1)|(1<<4)|(1<<5),"PUG_TeamSelect");
register_menucmd(register_menuid("Team_Select",1),(1<<0)|(1<<1)|(1<<4)|(1<<5),"PUG_TeamSelect");
}
public plugin_cfg()
{
new szFile[64];
get_configsdir(szFile,charsmax(szFile));
formatex(szFile,charsmax(szFile),"%s/maps.ini",szFile);
if(file_exists(szFile))
{
PUG_LoadMaps(szFile);
if(PUG_VoteMapCount) return;
}
else
{
get_pcvar_string(PUG_mapcyclefile,szFile,charsmax(szFile));
PUG_LoadMaps(szFile);
}
set_task(get_pcvar_float(PUG_SwitchDelay),"PUG_Status",PUG_STAGE_PREGAME);
}
public PUG_LoadMaps(const szFileName[])
{
new iFile = fopen(szFileName,"rb");
new szText[256],szDesc[48],iNum[10];
while((PUG_VoteMapCount < PUG_MAX_MAPS) && !feof(iFile) && fgets(iFile,szText,charsmax(szText)))
{
if(szText[0]==';') continue;
szText[strlen(szText)] = '^0';
strbreak(szText,PUG_VoteMapNames[PUG_VoteMapCount],charsmax(PUG_VoteMapNames),szDesc,charsmax(szDesc));
if(!is_map_valid(PUG_VoteMapNames[PUG_VoteMapCount])) continue;
new szMapName[32];
get_mapname(szMapName,charsmax(szMapName));
if(equali(szMapName,PUG_VoteMapNames[PUG_VoteMapCount])) continue;
if(szDesc[0] == '^0') strtok(PUG_VoteMapNames[PUG_VoteMapCount],szDesc,charsmax(szDesc),"",0,'.',1);
formatex(iNum,charsmax(iNum),"%i",PUG_VoteMapCount);
menu_additem(PUG_VoteMapMenu,PUG_VoteMapNames[PUG_VoteMapCount],iNum);
PUG_VoteMapCount++;
}
fclose(iFile);
}
public PUG_Status(PUG_STAGE_CONST)
{
PUG_iStage = PUG_STAGE_CONST;
switch(PUG_STAGE_CONST)
{
case PUG_STAGE_PREGAME:
{
new szConfig[32];
get_pcvar_string(PUG_PregameConfig,szConfig,charsmax(szConfig));
arrayset(PUG_iReady,false,sizeof(PUG_iReady));
PUG_Confg(szConfig,1);
arrayset(PUG_iScores,0,sizeof(PUG_iScores));
arrayset(PUG_iRounds,0,sizeof(PUG_iRounds));
client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_STARTING",PUG_szStage[PUG_iStage]);
}
case PUG_STAGE_VOTING:
{
new szConfig[32];
get_pcvar_string(PUG_ReadyConfig,szConfig,charsmax(szConfig));
PUG_Confg(szConfig,1);
if(PUG_iMenu == PUG_VOTE_CONFIG)
{
arrayset(PUG_Voted,false,sizeof(PUG_Voted));
arrayset(PUG_VoteConfigVotes,0,sizeof(PUG_VoteConfigVotes));
show_menu(0,0,"^n",1);
new iPlayers[32],iNum,Players;
get_players(iPlayers,iNum,"ch");
for(new i;i < iNum;i++)
{
Players = iPlayers[i];
menu_display(Players,PUG_VoteConfigMenu);
}
set_task(get_pcvar_float(PUG_VoteDelay),"PUG_VoteEnd",PUG_TASK_VOTE);
client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CONFIG_VOTE_START");
return PLUGIN_HANDLED;
}
if(PUG_iMenu == PUG_VOTE_OVERTIME)
{
switch(get_pcvar_num(PUG_OvertimeVote))
{
case 1:
{
arrayset(PUG_Voted,false,sizeof(PUG_Voted));
arrayset(PUG_VoteOvertimeVotes,0,sizeof(PUG_VoteOvertimeVotes));
show_menu(0,0,"^n",1);
new iPlayers[32],iNum,Players;
get_players(iPlayers,iNum,"ch");
for(new i;i < iNum;i++)
{
Players = iPlayers[i];
menu_display(Players,PUG_VoteOvertimeMenu);
}
set_task(get_pcvar_float(PUG_VoteDelay),"PUG_VoteEnd",PUG_TASK_VOTE);
client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_OVERTIME_VOTE");
return PLUGIN_HANDLED;
}
case 2:
{
PUG_iMenu = PUG_VOTE_NONE;
PUG_Status(PUG_STAGE_END);
client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_END_SCORE_TIED",PUG_iScores[0],PUG_iScores[1]);
}
default: PUG_Status(PUG_STAGE_OT_INTERMISSION);
}
}
if(get_pcvar_num(PUG_VoteMap))
{
PUG_iMenu = PUG_VOTE_MAP;
arrayset(PUG_Voted,false,sizeof(PUG_Voted));
arrayset(PUG_VoteMapVotes,0,PUG_VoteMapCount);
show_menu(0,0,"^n",1);
new iPlayers[32],iNum,Players;
get_players(iPlayers,iNum,"ch");
for(new i;i < iNum;i++)
{
Players = iPlayers[i];
menu_display(Players,PUG_VoteMapMenu);
}
set_task(get_pcvar_float(PUG_VoteDelay),"PUG_VoteEnd",PUG_TASK_VOTE);
client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_VOTEMAP_START");
}
else
{
PUG_iMenu = PUG_VOTE_TEAMS;
arrayset(PUG_Voted,false,sizeof(PUG_Voted));
arrayset(PUG_VoteTeamVotes,0,sizeof(PUG_VoteTeamVotes));
show_menu(0,0,"^n",1);
new iPlayers[32],iNum,Players;
get_players(iPlayers,iNum,"ch");
for(new i;i < iNum;i++)
{
Players = iPlayers[i];
menu_display(Players,PUG_VoteTeamMenu);
}
set_task(get_pcvar_float(PUG_VoteDelay),"PUG_VoteEnd",PUG_TASK_VOTE);
client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_VOTE_TEAM_START");
}
}
case PUG_STAGE_FIRST:
{
new szConfig[32];
get_pcvar_string(PUG_FirstConfig,szConfig,charsmax(szConfig));
PUG_Confg(szConfig,0);
PUG_LO3();
client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_STARTING_HALF",PUG_szStage[PUG_iStage]);
}
case PUG_STAGE_INTERMISSION:
{
new szConfig[32];
get_pcvar_string(PUG_IntermissionConfig,szConfig,charsmax(szConfig));
PUG_Confg(szConfig,0);
arrayset(PUG_iReady,false,charsmax(PUG_iReady));
set_task(get_pcvar_float(PUG_SwitchDelay),"PUG_SwapTeams");
client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_STARTING_INTERMISSION",PUG_szStage[PUG_iStage]);
}
case PUG_STAGE_SECOND:
{
new szConfig[32];
get_pcvar_string(PUG_SecondConfig,szConfig,charsmax(szConfig));
PUG_Confg(szConfig,0);
PUG_LO3();
client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_STARTING_SECOND_HALF",PUG_szStage[PUG_iStage],PUG_iScores[1],PUG_iScores[0]);
}
case PUG_STAGE_OT_INTERMISSION:
{
new szConfig[32];
get_pcvar_string(PUG_IntermissionOTConfig,szConfig,charsmax(szConfig));
PUG_Confg(szConfig,0);
PUG_iRounds[2] = 0;
arrayset(PUG_iReady,false,charsmax(PUG_iReady));
set_task(get_pcvar_float(PUG_SwitchDelay),"PUG_SwapTeams");
client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_STARTING_INTERMISSION",PUG_szStage[PUG_iStage]);
}
case PUG_STAGE_OVERTIME:
{
new szConfig[32];
get_pcvar_string(PUG_OvertimeConfig,szConfig,charsmax(szConfig));
PUG_Confg(szConfig,0);
PUG_LO3();
client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_STARTING_SECOND_HALF",PUG_szStage[PUG_iStage],PUG_iScores[1],PUG_iScores[0]);
}
case PUG_STAGE_END:
{
new szConfig[32];
get_pcvar_string(PUG_FinishedConfig,szConfig,charsmax(szConfig));
PUG_Confg(szConfig,1);
arrayset(PUG_iScores,0,sizeof(PUG_iScores));
arrayset(PUG_iRounds,0,sizeof(PUG_iRounds));
arrayset(PUG_iReady,false,charsmax(PUG_iReady));
if(!get_pcvar_num(PUG_VoteMap)) set_pcvar_num(PUG_VoteMap,1);
PUG_RestoreOrder();
}
}
return PLUGIN_HANDLED;
}
public PUG_LO3()
{
set_task(0.2,"PUG_RestartRound",_,"1",1);
set_task(2.2,"PUG_RestartRound",_,"2",1);
set_task(5.8,"PUG_RestartRound",_,"3",1);
set_task(10.0,"PUG_LiveMessage");
}
public PUG_LiveMessage()
{
set_hudmessage(0,255,0,-1.0,0.3,0,6.0,6.0);
show_hudmessage(0,"--- [AGP] EL PUG/SCRIM HA COMENZADO [AGP] ---");
}
public PUG_SwapTeams()
{
new iPlayers[32],iNum,Players;
get_players(iPlayers,iNum,"h");
for(new i;i < iNum;i++)
{
Players = iPlayers[i];
switch(cs_get_user_team(Players))
{
case CS_TEAM_T: cs_set_user_team(Players,CS_TEAM_CT);
case CS_TEAM_CT: cs_set_user_team(Players,CS_TEAM_T);
}
}
new iTemp = PUG_iScores[1];
PUG_iScores[1] = PUG_iScores[0];
PUG_iScores[0] = iTemp;
if(get_pcvar_num(PUG_ForceRestart)) set_pcvar_num(PUG_sv_restart,1);
PUG_ReadyList();
}
public PUG_SayFilter(id)
{
new szArgs[192];
read_args(szArgs,charsmax(szArgs));
remove_quotes(szArgs);
if(szArgs[0] == '.')
{
client_cmd(id,szArgs);
return PLUGIN_HANDLED;
}
if(PUG_iMuted[id]) // Muted after PUG chat commands ^^
{
client_print(id,print_chat,"%s Te han Muteado, creo q por sapo!",PUG_szHead);
return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE;
}
public PUG_fwSetVoice(iReciver,iSender,bool:bListen)
{
if(PUG_iMuted[iSender] && is_user_connected(iSender) && is_user_connected(iReciver))
{
engfunc(EngFunc_SetClientListening,iReciver,iSender,0);
return FMRES_SUPERCEDE;
}
return FMRES_IGNORED;
}
public client_connect(id) set_task(15.0,"PUG_ReadyList");
public client_authorized(id) // Thanks to Rukia for theese funcitons
{
set_pcvar_num(PUG_sv_visiblemaxplayers,get_pcvar_num(PUG_MaxPlayers));
if(PUG_GetPlayers() >= get_pcvar_num(PUG_MinPlayers))
{
if(is_user_hltv(id) && !get_pcvar_num(PUG_AllowHLTV))
{
new szReason[32];
formatex(szReason,charsmax(szReason),"%s %L",PUG_szHead,LANG_PLAYER,"PUG_KICK_HLTV");
PUG_Disconnect(id,szReason);
return PLUGIN_HANDLED;
}
else if(!get_pcvar_num(PUG_AllowSPEC))
{
new szReason[32];
formatex(szReason,charsmax(szReason),"%s %L",PUG_szHead,LANG_PLAYER,"PUG_FULL");
PUG_Disconnect(id,szReason);
return PLUGIN_HANDLED;
}
}
if(get_playersnum(1) > get_pcvar_num(PUG_MaxPlayers))
{
if(!is_user_hltv(id) || !get_pcvar_num(PUG_AllowHLTV))
{
new szReason[32];
formatex(szReason,charsmax(szReason),"%s %L",PUG_szHead,LANG_PLAYER,"PUG_FULL");
return PLUGIN_HANDLED;
}
}
new szSteam[35];
get_user_authid(id,szSteam,charsmax(szSteam));
if(PUG_iStage == PUG_STAGE_FIRST || PUG_iStage == PUG_STAGE_SECOND || PUG_iStage == PUG_STAGE_END)
{
new Float:iReconnectTime = get_pcvar_float(PUG_ReconnectTime);
if(iReconnectTime && TrieKeyExists(PUG_ReconnectSteamIDs,szSteam))
{
new Float:iTime,szReason[64];
TrieGetCell(PUG_ReconnectSteamIDs,szSteam,iTime);
iTime = iReconnectTime - (get_gametime () - iTime);
formatex(szReason,charsmax(szReason),"%s %L",PUG_szHead,LANG_PLAYER,"PUG_RECONNECT_TIME",floatround(iTime));
PUG_Disconnect(id,szReason);
set_task(iReconnectTime,"PUG_ClearReconnectSteamID",_,szSteam,sizeof(szSteam));
}
}
if(TrieKeyExists(PUG_MutedSteamIDs,szSteam))
{
new iMuted;
TrieGetCell(PUG_MutedSteamIDs,szSteam,iMuted);
if(iMuted) PUG_iMuted[id] = true;
}
PUG_iReady[id] = false;
arrayset(PUG_iHits[id],0,sizeof(PUG_iHits[]));
arrayset(PUG_iDamage[id],0,sizeof(PUG_iDamage[]));
PUG_ReadyList();
set_task(15.0,"PUG_IntroDisplay",id);
return PLUGIN_CONTINUE;
}
public PUG_IntroDisplay(id)
{
new iTime = (get_pcvar_num(PUG_ForceReadyTime) / 60);
}
public client_putinserver(id)
{
PUG_ReadyList();
if(PUG_iStage == PUG_STAGE_PREGAME || PUG_iStage == PUG_STAGE_INTERMISSION || PUG_iStage == PUG_STAGE_OT_INTERMISSION ||PUG_iStage == PUG_STAGE_END)
{
new Float:fTime = get_pcvar_float(PUG_ForceReadyTime);
if(fTime && !is_user_bot(id) && !is_user_hltv(id) && !is_user_admin(id)) set_task(fTime,"PUG_ForceReadyDisconnect",id + PUG_TASK_READY);
}
else if(PUG_iStage == PUG_STAGE_VOTING && PUG_iMenu == PUG_VOTE_CAPTAINS)
{
if(!is_user_connected(PUG_iCaptain[0]))
{
PUG_iCaptain[0] = id;
new szName[32];
get_user_name(PUG_iCaptain[0],szName,charsmax(szName));
client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_NEW_CAPTAIN_TR",szName);
}
else if(!is_user_connected(PUG_iCaptain[1]))
{
PUG_iCaptain[1] = id;
new szName[32];
get_user_name(PUG_iCaptain[1],szName,charsmax(szName));
client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_NEW_CAPTAIN_CT",szName);
}
}
}
public PUG_ForceReadyDisconnect(id)
{
if(PUG_iStage == PUG_STAGE_PREGAME || PUG_iStage == PUG_STAGE_INTERMISSION || PUG_iStage == PUG_STAGE_OT_INTERMISSION || PUG_iStage == PUG_STAGE_END)
{
id -= PUG_TASK_READY;
new iTime = (get_pcvar_num(PUG_ForceReadyTime) / 60);
new szReason[50];
formatex(szReason,charsmax(szReason),"%L",LANG_PLAYER,"PUG_READY_KICK",iTime,(iTime > 1) ? "minutes" : "minute");
PUG_Disconnect(id,szReason);
}
}
public client_infochanged(id) set_task(0.1,"PUG_ReadyList");
public client_disconnect(id)
{
if(PUG_iMuted[id]) PUG_iMuted[id] = false;
if(task_exists(id + PUG_TASK_READY)) remove_task(id + PUG_TASK_READY);
set_task(0.1,"PUG_ReadyList");
for(new i;i < sizeof(PUG_iHits);i++)
{
PUG_iHits[i][id] = 0;
PUG_iDamage[i][id] = 0;
}
set_pcvar_num(PUG_sv_visiblemaxplayers,get_pcvar_num(PUG_MaxPlayers));
if(PUG_iStage == PUG_STAGE_FIRST || PUG_iStage == PUG_STAGE_SECOND || PUG_iStage == PUG_STAGE_END)
{
if(get_pcvar_float(PUG_ReconnectTime))
{
new szSteam[35];
get_user_authid(id,szSteam,charsmax(szSteam));
TrieSetCell(PUG_ReconnectSteamIDs,szSteam,get_gametime());
}
}
}
public PUG_ClearReconnectSteamID(const szSteam[35]) TrieDeleteKey(PUG_ReconnectSteamIDs,szSteam);
public PUG_ReadyList()
{
if(PUG_iStage == PUG_STAGE_PREGAME || PUG_iStage == PUG_STAGE_INTERMISSION || PUG_iStage == PUG_STAGE_OT_INTERMISSION || PUG_iStage == PUG_STAGE_END) PUG_ReadyDisplay(99999.0);
else if(PUG_iStage == PUG_STAGE_VOTING && PUG_iMenu == PUG_VOTE_CAPTAINS) PUG_CaptainDisplay(99999.0);
return PLUGIN_HANDLED;
}
public PUG_ReadyDisplay(Float:fTime)
{
new szReady[1056],szNotReady[1056],szName[32];
new iPlayers[32],iNum,Players;
get_players(iPlayers,iNum,"ch");
new iReadys;
for(new i;i < iNum;i++)
{
Players = iPlayers[i];
get_user_name(Players,szName,charsmax(szName));
if(PUG_iReady[Players])
{
iReadys++;
formatex(szReady,charsmax(szReady),"%s%s^n",szReady,szName);
}
else formatex(szNotReady,charsmax(szNotReady),"%s%s^n",szNotReady,szName);
}
new iMinPlayers = get_pcvar_num(PUG_MinPlayers);
set_hudmessage(255,0,0,0.23,0.02,0,0.0,fTime,0.0,0.0,3);
show_hudmessage(0,"No listos (%d of %d):",PUG_GetPlayers() - iReadys,iMinPlayers);
set_hudmessage(0,255,0,0.58,0.02,0,0.0,fTime,0.0,0.0,2);
show_hudmessage(0,"Listos (%d of %d):",iReadys,iMinPlayers);
set_hudmessage(255,255,225,0.58,0.05,0,0.0,fTime,0.0,0.0,1);
show_hudmessage(0,szReady);
set_hudmessage(255,255,225,0.23,0.05,0,0.0,fTime,0.0,0.0,4);
show_hudmessage(0,szNotReady);
}
public PUG_CaptainDisplay(Float:fTime)
{
new szTRs[1056],szCTs[1056]/*,szSPECs[1056]*/,szName[40],szName1[40];
new iPlayers[32],iNum,Players;
get_players(iPlayers,iNum,"h");
for(new i;i < iNum;i++)
{
Players = iPlayers[i];
get_user_name(Players,szName,charsmax(szName));
if(PUG_iCaptain[0] == Players || PUG_iCaptain[1] == Players) formatex(szName1,charsmax(szName1),"%s (C)",szName);
else szName1 = szName;
switch(cs_get_user_team(Players))
{
case CS_TEAM_T: formatex(szTRs,charsmax(szTRs),"%s%s^n",szTRs,szName1);
case CS_TEAM_CT: formatex(szCTs,charsmax(szCTs),"%s%s^n",szCTs,szName1);
/*default: formatex(szSPECs,charsmax(szSPECs),"%s%s^n",szSPECs,szName1);*/
}
}
set_hudmessage(255,0,0,0.70,0.16,0,0.0,fTime,0.0,0.0,1);
show_hudmessage(0,"Terrorists:");
set_hudmessage(255,255,255,0.70,0.19,0,0.0,fTime,0.0,0.0,2);
show_hudmessage(0,szTRs);
set_hudmessage(0,0,255,0.70,0.51,0,0.0,fTime,0.0,0.0,3);
show_hudmessage(0,"Counter-Terrorist:");
set_hudmessage(255,255,255,0.70,0.54,0,0.0,fTime,0.0,0.0,4);
show_hudmessage(0,szCTs);
/*set_dhudmessage(0,255,0,0.70,0.71,0,0.0,1.1,0.0,0.0,false);
show_hudmessage(0,"Espectadores:");
set_hudmessage(255,255,255,0.70,0.74,0,0.0,1.1,0.0,0.0,false);
show_dhudmessage(0,szSPECs);*/
}
public PUG_cmdHelp(id)
{
new szMotd[128]; // May be a URL :)
get_pcvar_string(PUG_HelpFile,szMotd,charsmax(szMotd));
show_motd(id,szMotd,"Server commands");
return PLUGIN_HANDLED;
}
public PUG_cmdReadyUP(id)
{
if(PUG_iStage == PUG_STAGE_PREGAME || PUG_iStage == PUG_STAGE_INTERMISSION || PUG_iStage == PUG_STAGE_OT_INTERMISSION || PUG_iStage == PUG_STAGE_END)
{
if(PUG_iReady[id]) client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_YOU_ARE_ALREADY_READY");
else
{
if(task_exists(id + PUG_TASK_READY)) remove_task(id + PUG_TASK_READY);
PUG_iReady[id] = true;
new szName[32];
get_user_name(id,szName,charsmax(szName));
client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_READY_UP",szName);
}
PUG_CheckPlayers();
}
else client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_NOTALLOWED");
return PLUGIN_HANDLED;
}
public PUG_cmdReadyDown(id)
{
if(PUG_iStage == PUG_STAGE_PREGAME || PUG_iStage == PUG_STAGE_INTERMISSION || PUG_iStage == PUG_STAGE_OT_INTERMISSION || PUG_iStage == PUG_STAGE_END)
{
if(!PUG_iReady[id]) client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_YOU_NOT_READY");
else
{
new iTime = get_pcvar_num(PUG_ForceReadyTime);
if(iTime && !is_user_bot(id) && !is_user_hltv(id)) set_task(float(iTime),"PUG_ForceReadyDisconnect",id + PUG_TASK_READY);
PUG_iReady[id] = false;
new szName[32];
get_user_name(id,szName,charsmax(szName));
client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_READY_DOWN",szName);
}
PUG_CheckPlayers();
}
else client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_NOTALLOWED");
return PLUGIN_HANDLED;
}
public PUG_CheckPlayers()
{
new iMinPlayers = get_pcvar_num(PUG_MinPlayers);
new iPlayers[32],iNum,Players;
get_players(iPlayers,iNum,"ch");
new iReadys;
for(new i;i < iNum;i++)
{
Players = iPlayers[i];
if(PUG_iReady[Players]) iReadys++;
}
switch(PUG_iStage)
{
case PUG_STAGE_PREGAME,PUG_STAGE_END:
{
if(iReadys >= iMinPlayers) PUG_Status(PUG_STAGE_VOTING);
else PUG_ReadyList();
}
case PUG_STAGE_INTERMISSION:
{
if(iReadys >= iMinPlayers) PUG_Status(PUG_STAGE_SECOND);
else PUG_ReadyList();
}
case PUG_STAGE_OT_INTERMISSION:
{
if(iReadys >= iMinPlayers) PUG_Status(PUG_STAGE_OVERTIME);
else PUG_ReadyList();
}
}
}
public PUG_CheckCommands(id)
{
if(PUG_iMenu != PUG_VOTE_NONE) return PLUGIN_HANDLED;
return PLUGIN_CONTINUE;
}
public PUG_MenuHandler(id,iMenu,iItem)
{
new szData[6],szOption[64],iAccess,iCallBack;
menu_item_getinfo(iMenu,iItem,iAccess,szData,charsmax(szData),szOption,charsmax(szOption),iCallBack);
new szName[32];
get_user_name(id,szName,charsmax(szName));
switch(PUG_iMenu)
{
case PUG_VOTE_MAP:
{
if(iItem == MENU_EXIT || !task_exists(PUG_TASK_VOTE)) return PLUGIN_HANDLED;
PUG_VoteMapVotes[str_to_num(szData)]++;
PUG_Voted[id] = true;
client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_VOTED",szName,szOption);
if(PUG_StopVote() && task_exists(PUG_TASK_VOTE))
{
remove_task(PUG_TASK_VOTE);
PUG_VoteEnd();
}
}
case PUG_VOTE_TEAMS:
{
if(iItem == MENU_EXIT || !task_exists(PUG_TASK_VOTE)) return PLUGIN_HANDLED;
if(contain(szOption,"\d") != -1)
{
replace_all(szOption,charsmax(szOption),"\d","");
client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_OPTION_DISABLED",szOption);
menu_display(id,iMenu);
return PLUGIN_HANDLED;
}
else
{
replace_all(szOption,charsmax(szOption),"\d","");
PUG_VoteTeamVotes[str_to_num(szData)]++;
PUG_Voted[id] = true;
client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_VOTED",szName,szOption);
if(PUG_StopVote() && task_exists(PUG_TASK_VOTE))
{
remove_task(PUG_TASK_VOTE);
PUG_VoteEnd();
}
}
}
case PUG_VOTE_CONFIG:
{
if(iItem == MENU_EXIT || !task_exists(PUG_TASK_VOTE)) return PLUGIN_HANDLED;
PUG_VoteConfigVotes[str_to_num(szData)]++;
PUG_Voted[id] = true;
client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_VOTED",szName,szOption);
if(PUG_StopVote() && task_exists(PUG_TASK_VOTE))
{
remove_task(PUG_TASK_VOTE);
PUG_VoteEnd();
}
}
case PUG_VOTE_OVERTIME:
{
if(iItem == MENU_EXIT || !task_exists(PUG_TASK_VOTE)) return PLUGIN_HANDLED;
PUG_VoteOvertimeVotes[str_to_num(szData)]++;
PUG_Voted[id] = true;
client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_VOTED",szName,szOption);
if(PUG_StopVote() && task_exists(PUG_TASK_VOTE))
{
remove_task(PUG_TASK_VOTE);
PUG_VoteEnd();
}
}
case PUG_VOTE_CAPTAINS:
{
if(iItem == MENU_EXIT)
{
menu_display(id,iMenu);
return PLUGIN_HANDLED;
}
new iPlayer = str_to_num(szData);
new szName[2][32];
get_user_name(id,szName[0],charsmax(szName[]));
get_user_name(iPlayer,szName[1],charsmax(szName[]));
cs_set_user_team(iPlayer,cs_get_user_team(id));
client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CHOOSED",szName[0],szName[1]);
set_pcvar_num(PUG_sv_restart,1);
remove_task(id + PUG_TASK_AUTO_CLOSE);
if(is_user_connected(PUG_iCaptain[0]) && is_user_connected(PUG_iCaptain[1])) set_task(1.5,"PUG_CaptainMenu",id == PUG_iCaptain[0] ? PUG_iCaptain[1] : PUG_iCaptain[0]);
else
{
set_task(5.0,"PUG_CaptainJoin",id == PUG_iCaptain[0] ? PUG_iCaptain[0] : PUG_iCaptain[1]);
client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_WAIT_NEW_CAPTAIN");
}
menu_destroy(iMenu);
}
}
return PLUGIN_HANDLED;
}
public PUG_VoteEnd()
{
show_menu(0,0,"^n",1);
switch(PUG_iMenu)
{
case PUG_VOTE_MAP:
{
PUG_iMenu = PUG_VOTE_NONE;
new iWinner,iWinnerVotes,iVotes;
for(new i;i < PUG_VoteMapCount;++i)
{
iVotes = PUG_VoteMapVotes[i];
if(iVotes > iWinnerVotes)
{
iWinner = i;
iWinnerVotes = iVotes;
}
else if(iVotes == iWinnerVotes)
{
if(random_num(0,1))
{
iWinner = i;
iWinnerVotes = iVotes;
}
}
}
if(!PUG_VoteMapVotes[iWinner])
{
new iDelay = get_pcvar_num(PUG_VoteDelay);
client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_RESTART_VOTE","votemap",iDelay);
set_task(float(iDelay),"PUG_Status",PUG_STAGE_VOTING);
return PLUGIN_HANDLED;
}
else
{
set_pcvar_num(PUG_VoteMap,0);
client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_WON_VOTE",PUG_VoteMapNames[iWinner]);
set_task(get_pcvar_float(PUG_SwitchDelay),"PUG_ChangeMap",_,PUG_VoteMapNames[iWinner],sizeof(PUG_VoteMapNames));
}
}
case PUG_VOTE_TEAMS:
{
PUG_iMenu = PUG_VOTE_NONE;
new iWin1 = ((PUG_VoteTeamVotes[1] + PUG_VoteTeamVotes[2]) == 0 ? 0 : (PUG_VoteTeamVotes[1] > PUG_VoteTeamVotes[2]) ? 1 : 2);
new iWin2 = ((PUG_VoteTeamVotes[3] + PUG_VoteTeamVotes[4]) == 0 ? 0 : (PUG_VoteTeamVotes[3] > PUG_VoteTeamVotes[4]) ? 3 : 4);
new iWinner = ((iWin1 + iWin2) == 0 ? 0 : (iWin1 > iWin2) ? iWin1 : iWin2);
switch(iWinner)
{
case 0:
{
new iDelay = get_pcvar_num(PUG_VoteDelay);
client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_RESTART_VOTE","voting",iDelay);
set_task(float(iDelay),"PUG_Status",PUG_STAGE_VOTING);
}
case 1:
{
new iPlayers[32],iNum,Players;
get_players(iPlayers,iNum,"h");
if(iNum <= (get_pcvar_num(PUG_MaxPlayers) / 2))
{
PUG_iMenu = PUG_VOTE_TEAMS;
new iDelay = get_pcvar_num(PUG_VoteDelay);
set_pcvar_num(PUG_VoteMap,0);
client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_RESTART_VOTE_TEAM","voting",iDelay);
set_task(float(iDelay),"PUG_Status",PUG_STAGE_VOTING);
}
else
{
PUG_iMenu = PUG_VOTE_CAPTAINS;
for(new i;i < iNum;i++)
{
Players = iPlayers[i];
user_silentkill(Players);
cs_set_user_team(Players,CS_TEAM_SPECTATOR);
}
PUG_iCaptain[0] = iPlayers[random(iNum)];
PUG_iCaptain[1] = iPlayers[random(iNum)];
while(PUG_iCaptain[0] == PUG_iCaptain[1]) PUG_iCaptain[1] = iPlayers[random(iNum)];
cs_set_user_team(PUG_iCaptain[0],CS_TEAM_T);
cs_set_user_team(PUG_iCaptain[1],CS_TEAM_CT);
new szName0[32],szName1[32]; // I not consider to use the 2d array to store the names: Its not working O.o
get_user_name(PUG_iCaptain[0],szName0,charsmax(szName0));
get_user_name(PUG_iCaptain[1],szName1,charsmax(szName1));
client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_THE_CAPTAINS",szName0,szName1);
client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_IF_PLAYER_NOT");
set_pcvar_num(PUG_sv_restart,1);
set_task(1.5,"PUG_CaptainMenu",random(2) ? PUG_iCaptain[0] : PUG_iCaptain[1]);
}
}
case 2:
{
new iTeam;
new iPlayers[32],iNum,Players;
get_players(iPlayers,iNum,"ch");
for(new i;i < iNum;i++)
{
Players = iPlayers[i];
switch(cs_get_user_team(Players))
{
case CS_TEAM_T:
{
if(!iTeam)
{
iTeam = random_num(1,2);
cs_set_user_team(Players,_:iTeam);
}
else
{
cs_set_user_team(Players,(iTeam == 1) ? 2 : 1);
iTeam = 0;
}
}
case CS_TEAM_CT:
{
if(!iTeam)
{
iTeam = random_num(1,2);
cs_set_user_team(Players,_:iTeam);
}
else
{
cs_set_user_team(Players,(iTeam == 1) ? 2 : 1);
iTeam = 0;
}
}
}
}
client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_VOTETEAM_RANDOM");
if(get_pcvar_num(PUG_ConfigVote))
{
PUG_iMenu = PUG_VOTE_CONFIG;
PUG_Status(PUG_STAGE_VOTING);
}
else set_task(get_pcvar_float(PUG_SwitchDelay),"PUG_Status",PUG_STAGE_FIRST);
}
case 3:
{
client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_VOTETEAM_UNSORT");
if(get_pcvar_num(PUG_ConfigVote))
{
PUG_iMenu = PUG_VOTE_CONFIG;
PUG_Status(PUG_STAGE_VOTING);
}
else set_task(get_pcvar_float(PUG_SwitchDelay),"PUG_Status",PUG_STAGE_FIRST);
}
case 4:
{
new iDelay = get_pcvar_num(PUG_SwitchDelay);
client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_VOTETEAM_KNIFE","voting",iDelay);
set_task(float(iDelay),"PUG_Status",PUG_STAGE_VOTING);
}
}
}
case PUG_VOTE_CONFIG:
{
PUG_iMenu = PUG_VOTE_NONE;
new iWinner = ((PUG_VoteConfigVotes[1] + PUG_VoteConfigVotes[2]) == 0 ? 0 : (PUG_VoteConfigVotes[1] > PUG_VoteConfigVotes[2]) ? 1 : 2);
switch(iWinner)
{
case 0:
{
new iDelay = get_pcvar_num(PUG_VoteDelay);
client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_RESTART_VOTE","voting",iDelay);
PUG_iMenu = PUG_VOTE_CONFIG;
set_task(float(iDelay),"PUG_Status",PUG_STAGE_VOTING);
}
case 1:
{
client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_WON_VOTE","CAL");
PUG_SetConfigs("pregame.rc","ready.rc","cal.rc","intermission.rc","cal.rc","intermission.rc","cal-ot.rc","finished.rc");
set_task(get_pcvar_float(PUG_SwitchDelay),"PUG_Status",PUG_STAGE_FIRST);
}
case 2:
{
client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_WON_VOTE","CEVO");
PUG_SetConfigs("pregame.rc","ready.rc","cevo.rc","intermission.rc","cevo.rc","intermission.rc","cevo-ot.rc","finished.rc");
set_task(get_pcvar_float(PUG_SwitchDelay),"PUG_Status",PUG_STAGE_FIRST);
}
}
}
case PUG_VOTE_OVERTIME:
{
PUG_iMenu = PUG_VOTE_NONE;
new iWinner = ((PUG_VoteOvertimeVotes[1] + PUG_VoteOvertimeVotes[2]) == 0 ? 0 : (PUG_VoteOvertimeVotes[1] > PUG_VoteOvertimeVotes[2]) ? 1 : 2);
switch(iWinner)
{
case 0:
{
new iDelay = get_pcvar_num(PUG_VoteDelay);
client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_RESTART_VOTE","voting",iDelay);
PUG_iMenu = PUG_VOTE_OVERTIME;
set_task(float(iDelay),"PUG_Status",PUG_STAGE_VOTING);
}
case 1: set_task(get_pcvar_float(PUG_SwitchDelay),"PUG_Status",PUG_STAGE_OT_INTERMISSION);
case 2:
{
PUG_Status(PUG_STAGE_END);
client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_END_SCORE_TIED",PUG_iScores[0],PUG_iScores[1]);
}
}
}
}
return PLUGIN_HANDLED;
}
public PUG_CaptainMenu(id)
{
new PUG_MenuCaptain = menu_create("Escolha um jogador:","PUG_MenuHandler");
if(is_user_bot(id))
{
PUG_AutoTask(id + PUG_TASK_AUTO_CLOSE);
return PLUGIN_HANDLED;
}
set_task(11.5,"PUG_AutoTask",id + PUG_TASK_AUTO_CLOSE);
new iPlayers[32],iNum,Players;
get_players(iPlayers,iNum,"h");
if(!iNum)
{
if(get_pcvar_num(PUG_ConfigVote))
{
PUG_iMenu = PUG_VOTE_CONFIG;
PUG_Status(PUG_STAGE_VOTING);
}
else set_task(get_pcvar_float(PUG_SwitchDelay),"PUG_Status",PUG_STAGE_FIRST);
client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_VOTETEAM_LACK_PLAYER");
return PLUGIN_HANDLED;
}
new szName[32],szID[10];
for(new i;i < iNum;i++)
{
Players = iPlayers[i];
if(cs_get_user_team(Players) != CS_TEAM_SPECTATOR) continue;
get_user_name(Players,szName,charsmax(szName));
num_to_str(Players,szID,charsmax(szID));
menu_additem(PUG_MenuCaptain,szName,szID);
}
menu_setprop(PUG_MenuCaptain,MPROP_BACKNAME,"Back");
menu_setprop(PUG_MenuCaptain,MPROP_NEXTNAME,"Next");
menu_setprop(PUG_MenuCaptain,MPROP_EXIT,MEXIT_NEVER);
menu_display(id,PUG_MenuCaptain);
return PLUGIN_HANDLED;
}
public PUG_AutoTask(id)
{
id -= PUG_TASK_AUTO_CLOSE;
new iPlayers[32],iNum,Players;
get_players(iPlayers,iNum,"h");
new iRandom = random(iNum);
new bool:bSpec;
for(new i;i < iNum;i++)
{
Players = iPlayers[i];
if(cs_get_user_team(Players) == CS_TEAM_SPECTATOR) bSpec = true;
}
if(!bSpec)
{
if(get_pcvar_num(PUG_ConfigVote))
{
PUG_iMenu = PUG_VOTE_CONFIG;
PUG_Status(PUG_STAGE_VOTING);
}
else set_task(get_pcvar_float(PUG_SwitchDelay),"PUG_Status",PUG_STAGE_FIRST);
return PLUGIN_HANDLED;
}
while(cs_get_user_team(iPlayers[iRandom]) != CS_TEAM_SPECTATOR) iRandom = random(iNum);
if(is_user_connected(id))
{
set_pcvar_num(PUG_sv_restart,1);
cs_set_user_team(iPlayers[iRandom],cs_get_user_team(id));
set_task(1.5,"PUG_CaptainMenu",id == PUG_iCaptain[0] ? PUG_iCaptain[1] : PUG_iCaptain[0]);
}
else
{
set_task(3.0,"PUG_CaptainJoin",id == PUG_iCaptain[0] ? PUG_iCaptain[1] : PUG_iCaptain[0]);
client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_VOTETEAM_WAIT_NEW_CAPTAIN");
}
show_menu(id,0,"^n",1);
return PLUGIN_HANDLED;
}
public PUG_CaptainJoin(iNext)
{
if(is_user_connected(PUG_iCaptain[0]) && is_user_connected(PUG_iCaptain[1])) set_task(1.5,"PUG_CaptainMenu",iNext);
else
{
set_task(3.0,"PUG_CaptainJoin",iNext);
client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_VOTETEAM_WAIT_NEW_CAPTAIN");
}
}
public PUG_ChangeMap(const szMap[])
{
if(is_map_valid(szMap)) server_cmd("changelevel %s",szMap);
else
{
if(!get_pcvar_num(PUG_VoteMap)) set_pcvar_num(PUG_VoteMap,1);
PUG_Status(PUG_STAGE_VOTING);
client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_VOTEMAP_INVALID_MAP",szMap);
}
}
public PUG_RestartRound(const szSeconds[]) set_pcvar_num(PUG_sv_restart,str_to_num(szSeconds));
public PUG_SendAudio()
{
new szMessage[32];
read_data(2,szMessage,charsmax(szMessage));
if(PUG_iStage == PUG_STAGE_FIRST || PUG_iStage == PUG_STAGE_SECOND || PUG_iStage == PUG_STAGE_OVERTIME)
{
PUG_iRound = false;
if(containi(szMessage,"terwin") != -1)
{
PUG_iScores[0]++;
PUG_iRounds[0]++;
PUG_iRounds[2]++;
console_print(0,"%s %L",PUG_szHead,LANG_SERVER,"PUG_ROUND_WON_BY",PUG_iRounds[0],PUG_szTeams[0]);
}
else if(containi(szMessage,"ctwin") != -1)
{
PUG_iScores[1]++;
PUG_iRounds[0]++;
PUG_iRounds[2]++;
console_print(0,"%s %L",PUG_szHead,LANG_SERVER,"PUG_ROUND_WON_BY",PUG_iRounds[0],PUG_szTeams[1]);
}
else
{
PUG_iRounds[1]++;
console_print(0,"%s %L",PUG_szHead,LANG_SERVER,"PUG_ROUND_INVALID");
}
PUG_CheckScores();
}
}
public PUG_CheckScores()
{
switch(PUG_iStage)
{
case PUG_STAGE_FIRST:
{
new iHalfRounds = (get_pcvar_num(PUG_MaxRounds) / 2);
if(PUG_iRounds[0] == iHalfRounds) PUG_Status(PUG_STAGE_INTERMISSION);
}
case PUG_STAGE_SECOND:
{
new iRoundsTotal = get_pcvar_num(PUG_MaxRounds);
new iMatchRounds = (iRoundsTotal / 2);
if(PUG_iScores[0] == (iMatchRounds + 1))
{
PUG_Status(PUG_STAGE_END);
client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_END_GAME_TRS",PUG_iScores[0],PUG_iScores[1]);
}
else if(PUG_iScores[1] == (iMatchRounds + 1))
{
PUG_Status(PUG_STAGE_END);
client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_END_GAME_CTS",PUG_iScores[1],PUG_iScores[0]);
}
else if(PUG_iRounds[0] == iRoundsTotal)
{
PUG_iMenu = PUG_VOTE_OVERTIME;
PUG_Status(PUG_STAGE_VOTING);
}
}
case PUG_STAGE_OVERTIME:
{
new iOT = get_pcvar_num(PUG_OverTimeRounds);
new iRoundsOT = (iOT / 2);
if(PUG_iRounds[2] == iRoundsOT) PUG_Status(PUG_STAGE_OT_INTERMISSION);
else if((PUG_iScores[0] - PUG_iScores[1]) >= (iRoundsOT + 1))
{
PUG_Status(PUG_STAGE_END);
client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_END_GAME_TRS",PUG_iScores[0],PUG_iScores[1]);
}
else if((PUG_iScores[1] - PUG_iScores[0]) >= (iRoundsOT + 1))
{
PUG_Status(PUG_STAGE_END);
client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_END_GAME_CTS",PUG_iScores[1],PUG_iScores[0]);
}
}
}
}
public PUG_RoundStart()
{
for(new i = 0; i < sizeof(PUG_iHits); ++i)
{
arrayset(PUG_iHits[i],0,sizeof(PUG_iHits[]));
arrayset(PUG_iDamage[i],0,sizeof(PUG_iDamage[]));
}
if(PUG_iStage == PUG_STAGE_FIRST || PUG_iStage == PUG_STAGE_SECOND || PUG_iStage == PUG_STAGE_OVERTIME)
{
PUG_iRound = true;
new iNumTR,iNumCT;
new iTeamTR[32],iTeamCT[32];
get_players(iTeamTR,iNumTR,"eh","TERRORIST");
get_players(iTeamCT,iNumCT,"eh","CT");
new iTeam = (get_pcvar_num(PUG_MinPlayers) / 2);
if(iNumTR <= (iTeam - 2))
{
if(PUG_iRounds[0] >= 5) set_pcvar_num(PUG_VoteMap,1);
PUG_Status(PUG_STAGE_PREGAME);
client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_RESTARTING_GAME_LACK",iNumTR ? (iTeam - iNumTR) : iTeam,PUG_szTeams[0]);
}
else if(iNumCT <= (iTeam - 2))
{
if(PUG_iRounds[0] >= 5) set_pcvar_num(PUG_VoteMap,1);
PUG_Status(PUG_STAGE_PREGAME);
client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_RESTARTING_GAME_LACK",iNumTR ? (iTeam - iNumTR) : iTeam,PUG_szTeams[1]);
}
if(!PUG_iRounds[0] || PUG_iRounds[0] == (get_pcvar_num(PUG_MaxRounds) / 2)) return PLUGIN_HANDLED;
else PUG_cmdScores(0);
}
return PLUGIN_CONTINUE;
}
public PUG_cmdScores(id)
{
if(is_user_bot(id)) return PLUGIN_CONTINUE;
if(PUG_iStage == PUG_STAGE_PREGAME || PUG_iStage == PUG_STAGE_VOTING || PUG_iStage == PUG_STAGE_END) client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_NOTALLOWED");
else
{
if(PUG_iScores[0] > PUG_iScores[1]) client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_SCORE_WINNING",PUG_szTeams[0],PUG_iScores[0],PUG_iScores[1]);
else if(PUG_iScores[0] < PUG_iScores[1]) client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_SCORE_WINNING",PUG_szTeams[1],PUG_iScores[1],PUG_iScores[0]);
else client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_SCORE_TIED",PUG_iScores[0],PUG_iScores[1]);
}
return PLUGIN_HANDLED;
}
public PUG_cmdStatus(id)
{
client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_STATUS_PLAYERS",get_playersnum(),get_pcvar_num(PUG_MinPlayers),get_pcvar_num(PUG_MaxPlayers),PUG_szStage[PUG_iStage]);
if(PUG_iStage != PUG_STAGE_PREGAME && PUG_iStage != PUG_STAGE_VOTING && PUG_iStage != PUG_STAGE_END)
{
client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_STATUS_ROUNDS",PUG_iRounds[0],PUG_iRounds[1],PUG_iScores[1],PUG_iScores[0]);
}
return PLUGIN_HANDLED;
}
public PUG_cmdRound(id)
{
if(PUG_iStage == PUG_STAGE_FIRST || PUG_iStage == PUG_STAGE_SECOND || PUG_iStage == PUG_STAGE_OVERTIME) client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_ROUND",PUG_iRounds[0],(PUG_iRounds[0] + 1));
else client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_NOTALLOWED");
return PLUGIN_HANDLED;
}
public PUG_GetPlayers()
{
new iPlayers[32],iNum,Players;
get_players(iPlayers,iNum,"ch");
new iNumber;
for(new i;i < iNum;i++)
{
Players = iPlayers[i];
switch(cs_get_user_team(Players))
{
case CS_TEAM_T: iNumber++;
case CS_TEAM_CT: iNumber++;
}
}
return iNumber;
}
public PUG_HamSpawnPost(id)
{
if(PUG_iStage == PUG_STAGE_FIRST || PUG_iStage == PUG_STAGE_SECOND || PUG_iStage == PUG_STAGE_OVERTIME)
{
if(get_pcvar_num(PUG_TeamMoney)) PUG_ShowMoney(id,cs_get_user_team(id));
}
}
public PUG_ShowMoney(id,CsTeams:iTeam)
{
if(!PUG_iRounds[0] || PUG_iRounds[0] == (get_pcvar_num(PUG_MaxRounds) / 2)) return;
new iMoney,szName[32];
new szHud[512];
new iPlayers[32],iNum,Players;
get_players(iPlayers,iNum,"h");
for(new i;i < iNum;i++)
{
Players = iPlayers[i];
if(iTeam == cs_get_user_team(Players))
{
iMoney = cs_get_user_money(Players);
get_user_name(Players,szName,charsmax(szName));
formatex(szHud,charsmax(szHud),"%s%s $ %d^n",szHud,szName,iMoney);
}
}
new Float:fFreezetime = get_pcvar_float(PUG_mp_Freezetime);
set_hudmessage(255,255,255,0.58,0.05,0,0.0,fFreezetime,0.0,0.0,1);
show_hudmessage(id,szHud);
set_hudmessage(0,255,0,0.58,0.02,0,0.0,fFreezetime,0.0,0.0,2);
show_hudmessage(id,"Dinero Del Equipo");
}
public PUG_HamKilledPost(id)
{
if(PUG_iStage == PUG_STAGE_PREGAME || PUG_iStage == PUG_STAGE_INTERMISSION || PUG_iStage == PUG_STAGE_OT_INTERMISSION || PUG_iStage == PUG_STAGE_END)
{
if(is_user_connected(id))
{
if(PUG_ValidTeam(cs_get_user_team(id)) && !is_user_alive(id)) set_task(0.75,"PUG_Respawn",id);
}
}
}
public PUG_Respawn(id)
{
ExecuteHam(Ham_CS_RoundRespawn,id);
set_pev(id,pev_takedamage,DAMAGE_NO);
set_task(6.0,"PUG_UnProtect",id);
}
public PUG_UnProtect(id) if(is_user_connected(id)) set_pev(id,pev_takedamage,DAMAGE_AIM);
public PUG_msgMoney(msgID,iDest,id)
{
if(PUG_iStage == PUG_STAGE_PREGAME || PUG_iStage == PUG_STAGE_INTERMISSION || PUG_iStage == PUG_STAGE_OT_INTERMISSION || PUG_iStage == PUG_STAGE_END)
{
if(is_user_alive(id)) cs_set_user_money(id,get_pcvar_num(PUG_mp_startmoney),0);
return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE;
}
public PUG_fwSetModel(iEntity)
{
if(PUG_iStage == PUG_STAGE_PREGAME || PUG_iStage == PUG_STAGE_INTERMISSION || PUG_iStage == PUG_STAGE_OT_INTERMISSION || PUG_iStage == PUG_STAGE_END)
{
if(!pev_valid(iEntity)) return;
static const szWeaponbox[] = "weaponbox";
static szClassname[10];
pev(iEntity,pev_classname,szClassname,charsmax(szClassname));
if(equal(szClassname,szWeaponbox)) set_pev(iEntity,pev_nextthink,get_gametime() + 0.1);
}
}
public PUG_CurWeapon(id)
{
if(PUG_iStage == PUG_STAGE_PREGAME || PUG_iStage == PUG_STAGE_INTERMISSION || PUG_iStage == PUG_STAGE_OT_INTERMISSION || PUG_iStage == PUG_STAGE_END)
{
new iWeapon = get_user_weapon(id);
if(iWeapon == CSW_C4) cs_set_user_plant(id,0,0);
if(PUG_WeaponSlots[iWeapon] == SLOT_PRIMARY || PUG_WeaponSlots[iWeapon] == SLOT_SECONDARY)
{
new iAmmo = cs_get_user_bpammo(id,iWeapon);
if(iAmmo < PUG_MaxBPAmmo[iWeapon]) cs_set_user_bpammo(id,iWeapon,PUG_MaxBPAmmo[iWeapon]);
}
}
}
public client_command(id)
{
if(PUG_iStage == PUG_STAGE_PREGAME || PUG_iStage == PUG_STAGE_INTERMISSION || PUG_iStage == PUG_STAGE_OT_INTERMISSION || PUG_iStage == PUG_STAGE_END)
{
new szCommand[32];
read_argv(0,szCommand,charsmax(szCommand));
strtolower(szCommand);
if(containi(szCommand,"vban")) PUG_HamKilledPost(id);
if(TrieKeyExists(PUG_RestrictedWeapons,szCommand)) return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE;
}
public CS_InternalCommand(id,const szCmd[])
{
if(PUG_iStage == PUG_STAGE_PREGAME || PUG_iStage == PUG_STAGE_INTERMISSION || PUG_iStage == PUG_STAGE_OT_INTERMISSION || PUG_iStage == PUG_STAGE_END)
{
new szCommand[32];
copy(szCommand, charsmax(szCommand),szCmd);
strtolower(szCommand);
if(TrieKeyExists(PUG_RestrictedWeapons,szCommand)) return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE;
}
public PUG_MenuBuy(id,iKey)
{
if(PUG_iStage == PUG_STAGE_PREGAME || PUG_iStage == PUG_STAGE_INTERMISSION || PUG_iStage == PUG_STAGE_OT_INTERMISSION || PUG_iStage == PUG_STAGE_END)
{
if(iKey == 5 || iKey == 6) return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE;
}
public PUG_MenuItem(id,iKey)
{
if(PUG_iStage == PUG_STAGE_PREGAME || PUG_iStage == PUG_STAGE_INTERMISSION || PUG_iStage == PUG_STAGE_OT_INTERMISSION || PUG_iStage == PUG_STAGE_END)
{
switch(iKey)
{
case 2,3,4,6,7: return PLUGIN_HANDLED;
}
}
return PLUGIN_CONTINUE;
}
public client_damage(iAttacker,iVictim,iDamage,iWeapon,iPlace,TA)
{
PUG_iDamage[iAttacker][iVictim] += iDamage;
PUG_iHits[iAttacker][iVictim]++;
}
public PUG_cmdDMG(id)
{
if(!get_pcvar_num(PUG_AllowStats))
{
client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_STATS_INACTIVE");
return PLUGIN_HANDLED;
}
if(PUG_iStage == PUG_STAGE_FIRST || PUG_iStage == PUG_STAGE_SECOND || PUG_iStage == PUG_STAGE_OVERTIME)
{
if(!is_user_alive(id) || !PUG_iRound)
{
new szName[32];
new iPlayers[32],iNum,Players;
get_players(iPlayers,iNum,"h");
new iDamage,iHits,iCheck;
for(new i;i < iNum;i++)
{
Players = iPlayers[i];
iHits = PUG_iHits[id][Players];
if(iHits)
{
iCheck++;
iDamage = PUG_iDamage[id][Players];
if(Players == id) client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_DMG_SELF",iHits,(iHits > 1) ? "times" : "time",iDamage);
else
{
get_user_name(Players,szName,charsmax(szName));
client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_DMG",szName,iHits,(iHits > 1) ? "times" : "time",iDamage);
}
}
}
if(!iCheck) client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_DMG_NONE");
}
else client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_NOTALLOWED");
}
else client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_NOTALLOWED");
return PLUGIN_HANDLED;
}
public PUG_cmdRDMG(id)
{
if(!get_pcvar_num(PUG_AllowStats))
{
client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_STATS_INACTIVE");
return PLUGIN_HANDLED;
}
if(PUG_iStage == PUG_STAGE_FIRST || PUG_iStage == PUG_STAGE_SECOND || PUG_iStage == PUG_STAGE_OVERTIME)
{
if(!is_user_alive(id) || !PUG_iRound)
{
new szName[32];
new iPlayers[32],iNum,Players;
get_players(iPlayers,iNum,"h");
new iRDamage,iHits,iCheck;
for(new i;i < iNum;i++)
{
Players = iPlayers[i];
iHits = PUG_iHits[Players][id];
if(iHits)
{
iCheck++;
iRDamage = PUG_iDamage[Players][id];
if(Players == id) client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_DMG_SELF",iHits,(iHits > 1) ? "times" : "time",iRDamage);
else
{
get_user_name(Players,szName,charsmax(szName));
client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_RDMG",szName,iHits,(iHits > 1) ? "times" : "time",iRDamage);
}
}
}
iHits = PUG_iHits[0][id];
if(iHits)
{
iRDamage = PUG_iDamage[0][id];
client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_RDMG","WordSpawn",iHits,(iHits > 1) ? "times" : "time",iRDamage);
}
if(!iCheck) client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_RDMG_NONE");
}
else client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_NOTALLOWED");
}
else client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_NOTALLOWED");
return PLUGIN_HANDLED;
}
public PUG_cmdSUM(id)
{
if(!get_pcvar_num(PUG_AllowStats))
{
client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_STATS_INACTIVE");
return PLUGIN_HANDLED;
}
if(PUG_iStage == PUG_STAGE_FIRST || PUG_iStage == PUG_STAGE_SECOND || PUG_iStage == PUG_STAGE_OVERTIME)
{
if(!is_user_alive(id) || !PUG_iRound)
{
new szName[32];
new iPlayers[32],iNum,Players;
get_players(iPlayers,iNum,"h");
new iDamage,iHits,iRDamage,iRHits,iCheck;
for(new i;i < iNum;i++)
{
Players = iPlayers[i];
iHits = PUG_iHits[id][Players];
iRHits = PUG_iHits[Players][id];
if(iHits || iRHits)
{
iCheck++;
iDamage = PUG_iDamage[id][Players];
iRDamage = PUG_iDamage[Players][id];
get_user_name(Players,szName,charsmax(szName));
client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_SUM_DMG",iDamage,iHits,iRDamage,iRHits,szName,((is_user_alive(Players)) ? get_user_health(Players) : 0));
}
}
iRHits = PUG_iHits[0][id];
iRDamage = PUG_iDamage[0][id];
if(iHits || iRDamage) client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_SUM_WORD_DMG",iHits,iRDamage,"WorldSpawn");
if(!iCheck) client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_SUM_NONE");
}
else client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_NOTALLOWED");
}
else client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_NOTALLOWED");
return PLUGIN_HANDLED;
}
public PUG_cmdHP(id)
{
if(!get_pcvar_num(PUG_AllowStats))
{
client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_STATS_INACTIVE");
return PLUGIN_HANDLED;
}
if(PUG_iStage == PUG_STAGE_FIRST || PUG_iStage == PUG_STAGE_SECOND || PUG_iStage == PUG_STAGE_OVERTIME)
{
if(!is_user_alive(id) || !PUG_iRound)
{
new szName[32];
new iPlayers[32],iNum,Players;
get_players(iPlayers,iNum,"ah");
if(!iNum)
{
client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_HP_ALIVE");
return PLUGIN_HANDLED;
}
for(new i;i < iNum;i++)
{
Players = iPlayers[i];
if(!is_user_alive(Players) || Players == id) continue;
if(cs_get_user_team(id) == cs_get_user_team(Players)) continue;
get_user_name(Players,szName,charsmax(szName));
client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_HP_AP",szName,get_user_health(Players),get_user_armor(Players));
}
}
else client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_NOTALLOWED");
}
else client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_NOTALLOWED");
return PLUGIN_HANDLED;
}
public PUG_cmdHPTeam(id)
{
if(!get_pcvar_num(PUG_AllowStats))
{
client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_STATS_INACTIVE");
return PLUGIN_HANDLED;
}
if(PUG_iStage == PUG_STAGE_FIRST || PUG_iStage == PUG_STAGE_SECOND || PUG_iStage == PUG_STAGE_OVERTIME)
{
if(!is_user_alive(id) || !PUG_iRound)
{
new szName[32];
new iPlayers[32],iNum,Players;
get_players(iPlayers,iNum,"ah");
if(!iNum)
{
client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_HP_TEAM_ALIVE");
return PLUGIN_HANDLED;
}
for(new i;i < iNum;i++)
{
Players = iPlayers[i];
if(!is_user_alive(Players) || Players == id) continue;
if(cs_get_user_team(id) != cs_get_user_team(Players)) continue;
get_user_name(Players,szName,charsmax(szName));
client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_HP_AP",szName,get_user_health(Players),get_user_armor(Players));
}
}
else client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_NOTALLOWED");
}
else client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_NOTALLOWED");
return PLUGIN_HANDLED;
}
public PUG_cmdHPAll(id)
{
if(!get_pcvar_num(PUG_AllowStats))
{
client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_STATS_INACTIVE");
return PLUGIN_HANDLED;
}
if(PUG_iStage == PUG_STAGE_FIRST || PUG_iStage == PUG_STAGE_SECOND || PUG_iStage == PUG_STAGE_OVERTIME)
{
if(!is_user_alive(id) || !PUG_iRound)
{
new szName[32];
new iPlayers[32],iNum,Players;
get_players(iPlayers,iNum,"ah");
if(!iNum)
{
client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_HP_ALIVE");
return PLUGIN_HANDLED;
}
for(new i;i < iNum;i++)
{
Players = iPlayers[i];
if(!is_user_alive(Players) || Players == id) continue;
get_user_name(Players,szName,charsmax(szName));
client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_HP_AP",szName,get_user_health(Players),get_user_armor(Players));
}
}
else client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_NOTALLOWED");
}
else client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_NOTALLOWED");
return PLUGIN_HANDLED;
}
public PUG_cmdStart(id,level,cid)
{
if(!cmd_access(id,level,cid,1)) return PLUGIN_HANDLED;
switch(PUG_iStage)
{
case PUG_STAGE_PREGAME:
{
new szName[32];
get_user_name(id,szName,charsmax(szName));
client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_FORCE",szName,"start");
PUG_Status(PUG_STAGE_FIRST);
}
default: client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_NOTALLOWED");
}
return PLUGIN_HANDLED;
}
public PUG_cmdStop(id,level,cid)
{
if(!cmd_access (id,level,cid,1)) return PLUGIN_HANDLED;
switch(PUG_iStage)
{
case PUG_STAGE_FIRST .. PUG_STAGE_OVERTIME:
{
new szName[32];
get_user_name(id,szName,charsmax(szName));
client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_FORCE",szName,"end");
if(PUG_iScores[0] > PUG_iScores[1]) client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_END_GAME_TRS",PUG_iScores[0],PUG_iScores[1]);
else if(PUG_iScores[0] < PUG_iScores[1]) client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_END_GAME_CTS",PUG_iScores[1],PUG_iScores[0]);
else client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_END_SCORE_TIED",PUG_iScores[0],PUG_iScores[1]);
PUG_Status(PUG_STAGE_END);
}
default: client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_NOTALLOWED");
}
return PLUGIN_CONTINUE;
}
public PUG_cmdReset(id,level,cid)
{
if(!cmd_access(id,level,cid,1)) return PLUGIN_HANDLED;
switch(PUG_iStage)
{
case PUG_STAGE_PREGAME: client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_NOTALLOWED");
default:
{
new szName[32];
get_user_name(id,szName,charsmax(szName));
client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_FORCE",szName,"restart");
PUG_Status(PUG_STAGE_PREGAME);
}
}
return PLUGIN_HANDLED;
}
public PUG_cmdMessage(id,level,cid)
{
if(!cmd_access(id,level,cid,2)) return PLUGIN_HANDLED;
static szMessage[192];
read_args(szMessage,charsmax(szMessage));
remove_quotes(szMessage);
static szName[32];
get_user_name(id,szName,charsmax(szName));
client_print(0,print_chat,"%s ADMIN: %s: %s",PUG_szHead,szName,szMessage);
return PLUGIN_HANDLED;
}
public PUG_cmdKill(id,level,cid)
{
if(!cmd_access(id,level,cid,2)) return PLUGIN_HANDLED;
static szArg[32];
read_argv(1,szArg,charsmax(szArg));
new iPlayer = cmd_target(id,szArg,CMDTARGET_ALLOW_SELF | CMDTARGET_OBEY_IMMUNITY | CMDTARGET_ONLY_ALIVE);
if(!iPlayer) return PLUGIN_HANDLED;
else
{
user_kill(iPlayer,0); // Decrase the Frags its a CAL rule :P
new szName[2][32];
get_user_name(id,szName[0],charsmax(szName[]));
get_user_name(iPlayer,szName[1],charsmax(szName[]));
client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_KILLED",szName[0],szName[1]);
}
return PLUGIN_HANDLED;
}
public PUG_cmdKick(id,level,cid)
{
if(!cmd_access(id,level,cid,2)) return PLUGIN_HANDLED;
static szPlayer[32];
read_argv(1,szPlayer,charsmax(szPlayer));
static szReason[64];
read_argv(2,szReason,charsmax(szReason));
new iPlayer = cmd_target(id,szPlayer,CMDTARGET_ALLOW_SELF | CMDTARGET_OBEY_IMMUNITY);
if(!iPlayer) return PLUGIN_HANDLED;
else
{
if(!szReason[0]) PUG_Disconnect(iPlayer,"Kicked by Admin.");
else PUG_Disconnect(iPlayer,szReason);
}
return PLUGIN_HANDLED;
}
public PUG_cmdMute(id,level,cid)
{
if(!cmd_access(id,level,cid,2)) return PLUGIN_HANDLED;
static szArg[32];
read_argv(1,szArg,charsmax(szArg));
new iPlayer = cmd_target(id,szArg,CMDTARGET_OBEY_IMMUNITY);
if(!iPlayer) return PLUGIN_HANDLED;
else
{
PUG_iMuted[iPlayer] = true;
new szSteam[35];
get_user_authid(iPlayer,szSteam,charsmax(szSteam));
TrieSetCell(PUG_MutedSteamIDs,szSteam,1);
new szName[2][32];
get_user_name(id,szName[0],charsmax(szName[]));
get_user_name(iPlayer,szName[1],charsmax(szName[]));
client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_MUTE",szName[0],szName[1],"muted");
}
return PLUGIN_HANDLED;
}
public PUG_cmdUnMute(id,level,cid)
{
if(!cmd_access(id,level,cid,2)) return PLUGIN_HANDLED;
static szArg[32];
read_argv(1,szArg,charsmax(szArg));
new iPlayer = cmd_target(id,szArg,CMDTARGET_OBEY_IMMUNITY);
if(!iPlayer) return PLUGIN_HANDLED;
else
{
new szSteam[35];
get_user_authid(iPlayer,szSteam,charsmax(szSteam));
if(!PUG_iMuted[id] && !TrieKeyExists(PUG_MutedSteamIDs,szSteam))
{
client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_NOTALLOWED");
return PLUGIN_HANDLED;
}
PUG_iMuted[iPlayer] = false;
TrieDeleteKey(PUG_MutedSteamIDs,szSteam);
new szName[2][32];
get_user_name(id,szName[0],charsmax(szName[]));
get_user_name(iPlayer,szName[1],charsmax(szName[]));
client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_MUTE",szName[0],szName[1],"unmuted");
}
return PLUGIN_HANDLED;
}
public PUG_cmdForceReady(id,level,cid)
{
if(!cmd_access(id,level,cid,2)) return PLUGIN_HANDLED;
static szArg[32];
read_argv(1,szArg,charsmax(szArg));
switch(szArg[0])
{
case 'A','*':
{
new iPlayers[32],iNum,Players;
get_players(iPlayers,iNum,"ch");
for(new i;i < iNum;i++)
{
Players = iPlayers[i];
if(!PUG_iReady[Players]) PUG_cmdReadyUP(iPlayers[i]);
}
new szName[32];
get_user_name(id,szName,charsmax(szName));
client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_F_READY_ALL",szName);
}
case 'T':
{
new iPlayers[32],iNum,Players;
get_players(iPlayers,iNum,"che","TERRORIST");
for(new i;i < iNum;i++)
{
Players = iPlayers[i];
if(!PUG_iReady[Players]) PUG_cmdReadyUP(iPlayers[i]);
new szName[32];
get_user_name(id,szName,charsmax(szName));
client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_F_READY_TEAM",szName,PUG_szTeams[0]);
}
}
case 'C':
{
new iPlayers[32],iNum,Players;
get_players(iPlayers,iNum,"che","CT");
for(new i;i < iNum;i++)
{
Players = iPlayers[i];
if(!PUG_iReady[Players]) PUG_cmdReadyUP(iPlayers[i]);
new szName[32];
get_user_name(id,szName,charsmax(szName));
client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_F_READY_TEAM",szName,PUG_szTeams[1]);
}
}
default:
{
new iPlayer = cmd_target(id,szArg,CMDTARGET_OBEY_IMMUNITY);
if(!iPlayer) return PLUGIN_HANDLED;
else
{
if(!PUG_iReady[iPlayer]) PUG_cmdReadyUP(iPlayer);
new szName[2][32];
get_user_name(id,szName[0],charsmax(szName[]));
get_user_name(iPlayer,szName[1],charsmax(szName[]));
client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_F_READY_CLIENT",szName[0],szName[1]);
}
}
}
return PLUGIN_HANDLED;
}
public PUG_cmdForceUnReady(id,level,cid)
{
if(!cmd_access(id,level,cid,2)) return PLUGIN_HANDLED;
static szArg[32];
read_argv(1,szArg,charsmax(szArg));
switch(szArg[0])
{
case 'A','*':
{
new iPlayers[32],iNum,Players;
get_players(iPlayers,iNum,"ch");
for(new i;i < iNum;i++)
{
Players = iPlayers[i];
if(PUG_iReady[Players]) PUG_cmdReadyDown(iPlayers[i]);
}
new szName[32];
get_user_name(id,szName,charsmax(szName));
client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_F_UNREADY_ALL",szName);
}
case 'T':
{
new iPlayers[32],iNum,Players;
get_players(iPlayers,iNum,"che","TERRORIST");
for(new i;i < iNum;i++)
{
Players = iPlayers[i];
if(PUG_iReady[Players]) PUG_cmdReadyDown(iPlayers[i]);
new szName[32];
get_user_name(id,szName,charsmax(szName));
client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_F_UNREADY_TEAM",szName,PUG_szTeams[0]);
}
}
case 'C':
{
new iPlayers[32],iNum,Players;
get_players(iPlayers,iNum,"che","CT");
for(new i;i < iNum;i++)
{
Players = iPlayers[i];
if(PUG_iReady[Players]) PUG_cmdReadyDown(iPlayers[i]);
new szName[32];
get_user_name(id,szName,charsmax(szName));
client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_F_UNREADY_TEAM",szName,PUG_szTeams[1]);
}
}
default:
{
new iPlayer = cmd_target(id,szArg,CMDTARGET_OBEY_IMMUNITY);
if(!iPlayer) return PLUGIN_HANDLED;
else
{
if(PUG_iReady[iPlayer]) PUG_cmdReadyDown(iPlayer);
new szName[2][32];
get_user_name(id,szName[0],charsmax(szName[]));
get_user_name(iPlayer,szName[1],charsmax(szName[]));
client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_F_UNREADY_CLIENT",szName[0],szName[1]);
}
}
}
return PLUGIN_HANDLED;
}
public PUG_JoinTeam(id)
{
if(PUG_iStage == PUG_STAGE_VOTING) return PLUGIN_HANDLED;
new szArg[3];
read_argv(1,szArg,charsmax(szArg));
return PUG_CheckTeams(id,str_to_num(szArg));
}
public PUG_TeamSelect(id,iKey) return PUG_CheckTeams(id,iKey + 1);
public PUG_CheckTeams(id,iNew)
{
new iOld = _:cs_get_user_team(id);
new iMax = get_pcvar_num(PUG_MaxPlayers);
new iTRs,iCTs;
new iPlayers[32],iNum,Players;
get_players(iPlayers,iNum,"h");
for(new i;i < iNum;i++)
{
Players = iPlayers[i];
switch(cs_get_user_team(Players))
{
case CS_TEAM_T: iTRs++;
case CS_TEAM_CT: iCTs++;
}
}
if(iNew == iOld)
{
client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_SELECTTEAM_SAMETEAM");
engclient_cmd(id,"chooseteam");
return PLUGIN_HANDLED;
}
else if((iNew == 1) && (iTRs >= iMax / 2))
{
client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_SELECTTEAM_TEAMFULL");
engclient_cmd(id,"chooseteam");
return PLUGIN_HANDLED;
}
else if((iNew == 2) && (iCTs >= iMax / 2))
{
client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_SELECTTEAM_TEAMFULL");
engclient_cmd(id,"chooseteam");
return PLUGIN_HANDLED;
}
else if(iNew == 6 && !get_pcvar_num(PUG_AllowSPEC))
{
if(access(id,ADMIN_IMMUNITY)) return PLUGIN_CONTINUE;
client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_SELECTTEAM_NOSPC");
engclient_cmd(id,"chooseteam");
return PLUGIN_HANDLED;
}
else if(iNew == 5) return PLUGIN_CONTINUE;
switch(PUG_iStage)
{
case PUG_STAGE_VOTING .. PUG_STAGE_OVERTIME:
{
if(1 <= iOld <= 2)
{
client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_SELECTTEAM_NOSWITCH");
return PLUGIN_HANDLED;
}
}
}
return PLUGIN_CONTINUE;
}
public PUG_RestoreOrder()
{
while(PUG_GetPlayers() > get_pcvar_num(PUG_MaxPlayers))
{
new iTest = 999999999,iWho,iTime;
new iPlayers[32],iNum,Players;
get_players(iPlayers,iNum,"ch");
for(new i;i < iNum;i++)
{
Players = iPlayers[i];
if(!is_user_hltv(Players))
{
iTime = get_user_time(Players);
if(iTest > iTime)
{
iTest = iTime;
iWho = Players;
}
}
}
new szReason[32];
formatex(szReason,charsmax(szReason),"%s %L",PUG_szHead,LANG_PLAYER,"PUG_FULL");
PUG_Disconnect(iWho,szReason);
}
}
stock PUG_StopVote()
{
new iPlayers[32],iNum,Players;
get_players(iPlayers,iNum,"ch");
for(new i;i < iNum;i++)
{
Players = iPlayers[i];
if(!PUG_Voted[Players]) return 0;
}
return 1;
}
stock PUG_Confg(const szFile[],iRestart = 0)
{
new szAmxx[128];
get_configsdir(szAmxx,charsmax(szAmxx));
server_cmd("exec %s/pug/%s",szAmxx,szFile);
if(iRestart) set_pcvar_num(PUG_sv_restart,iRestart);
set_pcvar_num(PUG_sv_visiblemaxplayers,get_pcvar_num(PUG_MaxPlayers));
}
stock PUG_SetConfigs(const szPregame[],const szReady[],const szFirst[],const szIntermission[],const szSecond[],const szOTIntermission[],const szOvertime[],const szFinished[])
{
set_pcvar_string(PUG_PregameConfig,szPregame);
set_pcvar_string(PUG_ReadyConfig,szReady);
set_pcvar_string(PUG_FirstConfig,szFirst);
set_pcvar_string(PUG_IntermissionConfig,szIntermission);
set_pcvar_string(PUG_SecondConfig,szSecond);
set_pcvar_string(PUG_IntermissionOTConfig,szOTIntermission);
set_pcvar_string(PUG_OvertimeConfig,szOvertime);
set_pcvar_string(PUG_FinishedConfig,szFinished);
}
stock PUG_Disconnect(const id,const szReason[] = "")
{
message_begin(MSG_ONE,SVC_DISCONNECT,_,id);
write_string(szReason);
message_end();
}
Por lo menos, quiero ponerle colores a esta linea: client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_FORCE",sz Name,"start");
en que lugar coloco el ^x04=?
|
|