Junior Member
|
10-09-2014
, 10:48
Re: can't compile plugin (pug_cs.sma)
|
#5
|
pug_captains
Code:
#if defined _pug_captains_included
#endinput
#endif
#define _pug_captains_included
#define TASK_HUDLIST 6676
new g_iCaptain[2];
public PugTeamsCaptains()
{
new iPlayers[32],iNum;
get_players(iPlayers,iNum,"h");
new iPlayer,sName[2][32],sTeam[2][32];
if(iNum > 4)
{
arrayset(g_iCaptain,0,sizeof(g_iCaptain));
for(new i;i < iNum;i++)
{
iPlayer = iPlayers[i];
if(!g_iCaptain[0])
{
g_iCaptain[0] = iPlayer;
get_user_name(iPlayer,sName[0],charsmax(sName[]));
PugSetClientTeam(iPlayer,1);
PugGetTeamName(1,sTeam[0]);
continue;
}
if(!g_iCaptain[1])
{
g_iCaptain[1] = iPlayer;
get_user_name(iPlayer,sName[1],charsmax(sName[]));
PugSetClientTeam(iPlayer,2);
PugGetTeamName(2,sTeam[1]);
continue;
}
user_silentkill(iPlayer);
PugSetClientTeam(iPlayer,3);
}
set_cvar_num("sv_restart",1);
set_task(0.5,"PugCaptainHud",TASK_HUDLIST, .flags="b");
set_task(2.0,"PugCaptainMenu",g_iCaptain[random_num(0,1)]);
client_print_color(0,print_team_grey,"^4%s^1 %L",g_sHead,LANG_SERVER,"PUG_CAPTAINS_ARE",sName[0],sTeam[0],sName[1],sTeam[1]);
}
else
{
client_print_color(0,print_team_grey,"^4%s^1 %L",g_sHead,LANG_SERVER,"PUG_CAPTAINS_MIN");
ContinueGenForward(Fw_PugFirstHalf);
}
}
public PugCaptainMenu(id)
{
if(!is_user_connected(id))
{
new iPlayers[32],iNum,iPlayer;
get_players(iPlayers,iNum,"eh","SPECTATOR");
iPlayer = iPlayers[random(iNum)];
new sName[32];
get_user_name(iPlayer,sName,charsmax(sName));
new sTeam[32];
if(id == g_iCaptain[0])
{
g_iCaptain[0] = iPlayer;
PugSetClientTeam(iPlayer,1);
PugGetTeamName(1,sTeam);
}
else if(id == g_iCaptain[1])
{
g_iCaptain[1] = iPlayer;
PugSetClientTeam(iPlayer,2);
PugGetTeamName(2,sTeam);
}
client_print_color(0,print_team_grey,"^4%s^1 %L",g_sHead,LANG_SERVER,"PUG_CAPTAIN_NEW",sTeam,sName);
set_task(2.0,"PugCaptainMenu",iPlayer);
return;
}
new iPlayers[32],iNum;
get_players(iPlayers,iNum,"eh","SPECTATOR");
if(iNum)
{
if(is_user_bot(id)) PugCaptainAutoPick(id);
else
{
PugCancelMenuClient(id);
new iMenu = menu_create("Spectators:","PugMenuCaptainHandler",1);
new iPlayer,sName[32],sNum[3];
for(new i;i < iNum;i++)
{
iPlayer = iPlayers[i];
num_to_str(iPlayer,sNum,charsmax(sNum));
get_user_name(iPlayer,sName,charsmax(sName));
menu_additem(iMenu,sName,sNum);
}
menu_setprop(iMenu,MPROP_EXIT,MEXIT_NEVER);
PugDisplayMenuSingle(id,iMenu);
set_task(10.0,"PugCaptainAutoPick",id);
}
}
else
{
remove_task(TASK_HUDLIST);
ContinueGenForward(Fw_PugFirstHalf);
}
}
public PugMenuCaptainHandler(id,iMenu,iKey)
{
if(iKey != MENU_EXIT)
{
new iAccess,sData[3],sOption[32],iBack;
menu_item_getinfo(iMenu,iKey,iAccess,sData,charsmax(sData),sOption,charsmax(sOption),iBack);
new iPlayer = str_to_num(sData);
if(is_user_connected(iPlayer) && is_user_connected(id))
{
remove_task(id);
PugSetClientTeam(iPlayer,PugGetClientTeam(id));
PugRespawnClient(iPlayer);
new sName[2][32];
get_user_name(id,sName[0],charsmax(sName[]));
get_user_name(iPlayer,sName[1],charsmax(sName[]));
client_print_color(0,print_team_grey,"^4%s^1 %L",g_sHead,LANG_SERVER,"PUG_VOTE_CHOOSED",sName[0],sName[1]);
}
set_task(2.0,"PugCaptainMenu",(id == g_iCaptain[0]) ? g_iCaptain[1] : g_iCaptain[0]);
}
return PLUGIN_HANDLED;
}
public PugCaptainAutoPick(id)
{
PugCancelMenuClient(id);
new iPlayers[32],iNum;
get_players(iPlayers,iNum,"eh","SPECTATOR");
if(iNum)
{
new iPlayer = iPlayers[random(iNum)];
if(is_user_connected(iPlayer) && is_user_connected(id))
{
PugSetClientTeam(iPlayer,PugGetClientTeam(id));
PugRespawnClient(iPlayer);
new sName[2][32];
get_user_name(id,sName[0],charsmax(sName[]));
get_user_name(iPlayer,sName[1],charsmax(sName[]));
client_print_color(0,print_team_grey,"^4%s^1 %L",g_sHead,LANG_SERVER,"PUG_VOTE_CHOOSED",sName[0],sName[1]);
}
set_task(2.0,"PugCaptainMenu",(id == g_iCaptain[0]) ? g_iCaptain[1] : g_iCaptain[0]);
}
else
{
remove_task(TASK_HUDLIST);
ContinueGenForward(Fw_PugFirstHalf);
}
}
#include <pug_natives>
public PugCaptainHud()
{
new sTRs[512],sCTs[512],sName[32];
new iPlayers[32],iNum,iPlayer;
get_players(iPlayers,iNum,"h");
for(new i;i < iNum;i++)
{
iPlayer = iPlayers[i];
get_user_name(iPlayer,sName,charsmax(sName));
if(g_iCaptain[0] == iPlayer || g_iCaptain[1] == iPlayer)
{
format(sName,charsmax(sName),"%s (C)",sName);
}
switch(PugGetClientTeam(iPlayer))
{
case 1:
{
format(sTRs,charsmax(sTRs),"%s%s^n",sTRs,sName);
}
case 2:
{
format(sCTs,charsmax(sCTs),"%s%s^n",sCTs,sName);
}
}
}
static sTeam[2][32];
PugGetTeamName(1,sTeam[0]);
PugGetTeamName(2,sTeam[1]);
set_hudmessage(255,0,0,0.23,0.02,0,0.0,0.6,0.0,0.0,1);
show_hudmessage(0,"%s:",sTeam[0]);
set_hudmessage(255,255,255,0.23,0.05,0,0.0,0.6,0.0,0.0,2);
show_hudmessage(0,sTRs);
set_hudmessage(0,0,255,0.58,0.02,0,0.0,0.6,0.0,0.0,3);
show_hudmessage(0,"%s:",sTeam[1]);
set_hudmessage(255,255,255,0.58,0.05,0,0.0,0.6,0.0,0.0,4);
show_hudmessage(0,sCTs);
}
pug_const
Code:
#if defined _pug_const_included
#endinput
#endif
#define _pug_const_included
#include <amxmodx>
#pragma semicolon 1
#define PUG_CMD_LVL ADMIN_LEVEL_A
#define PUG_MAX_TEAMS 32
#define PUG_MIN_PLAYERS 5
#define PUG_STATUS_LIVE 0
#define PUG_STATUS_CLEAR 0
#define PUG_STATUS_DEAD (1<<0)
#define PUG_STATUS_WAITING (1<<1)
#define PUG_STATUS_PAUSED (1<<2)
#define PUG_STATUS_UNPAUSED (1<<3)
#define get_x_var(%0) (get_xvar_num(get_xvar_id(%0)))
#define set_x_var(%0,%1) (set_xvar_num(get_xvar_id(%0),%1))
#define GET_PUG_STATUS() get_x_var("g_iStatus")
#define SET_PUG_STATUS(%0) set_x_var("g_iStatus",%0)
stock ADD_PUG_STATUS(iStatus)
{
do
{
new id = get_xvar_id("g_iStatus");
set_xvar_num(id,get_xvar_num(id) | iStatus);
}
while(0)
}
stock REMOVE_PUG_STATUS(iStatus)
{
do
{
new id = get_xvar_id("g_iStatus");
set_xvar_num(id,get_xvar_num(id) & ~iStatus);
}
while(0)
}
enum _:PugStage
{
PUG_STAGE_WAITING = 0,
PUG_STAGE_READY,
PUG_STAGE_START,
PUG_STAGE_FIRSTHALF,
PUG_STAGE_INTERMISSION,
PUG_STAGE_SECONDHALF,
PUG_STAGE_OVERTIME,
PUG_STAGE_END
};
stock const g_sStage[PugStage][] =
{
"Waiting",
"Readying",
"Starting",
"First Half",
"Intermission",
"Second Half",
"Overtime",
"Finished"
};
#define GET_PUG_STAGE() get_x_var("g_iStage")
#define SET_PUG_STAGE(%0) set_x_var("g_iStage",%0)
#define GET_PUG_ROUND() get_x_var("g_iRounds")
#define GET_CVAR_TOTAL_ROUNDS() get_pcvar_num(get_x_var("g_pMaxRounds"))
#define GET_CVAR_OT_ROUNDS() get_pcvar_num(get_x_var("g_pMaxOTRounds"))
#define GET_CVAR_MAXPLAYERS() get_pcvar_num(get_x_var("g_pMaxPlayers"))
#define SET_CVAR_MAXPLAYERS(%0) set_cvar_num("g_pMaxPlayers",%0)
#define GET_CVAR_MINPLAYERS() get_pcvar_num(get_x_var("g_pMinPlayers"))
#define SET_CVAR_MINPLAYERS(%0) set_cvar_num("g_pMinPlayers",%0)
stock PugGetConfigsDir(sName[],iLen)
{
get_localinfo("amxx_configsdir",sName,iLen);
format(sName,iLen,"%s/pug-config",sName);
}
stock g_sHead[] = "[PUG]";
pug_forwards
Code:
#if defined _pug_forwards_included
#endinput
#endif
#define _pug_forwards_included
#include <gen_forw_stocks>
forward PugPreStart(GEN_FORW_ID(iForward));
forward PugFirstHalf(GEN_FORW_ID(iForward));
forward PugIntermission(GEN_FORW_ID(iForward));
forward PugSecondHalf(GEN_FORW_ID(iForward));
forward PugIntermissionOT(GEN_FORW_ID(iForward));
forward PugOvertime(GEN_FORW_ID(iForward));
forward PugAllReady(GEN_FORW_ID(iForward));
forward PugRoundStart();
forward PugRoundStartFailed();
forward PugRoundEnd(iWinner);
forward PugRoundEndFailed();
forward PugWinner(iWinner);
forward PugFinished();
pug_menu
Code:
#if defined _pug_menu_included
#endinput
#endif
#define _pug_menu_included
stock bool:g_bVoted[33];
stock g_iMenuTemp[33];
stock GET_PUG_VOTING()
{
if(xvar_exists("g_bVoting"))
{
return get_xvar_num(get_xvar_id("g_bVoting"));
}
return 0;
}
stock PugDisplayMenuAll(iMenu)
{
new iPlayers[32],iNum,iPlayer;
get_players(iPlayers,iNum,"ch");
for(new i;i < iNum;i++)
{
iPlayer = iPlayers[i];
g_iMenuTemp[iPlayer] = iMenu;
PugDisplayMenuClient(iPlayer);
}
}
stock PugDisplayMenuSingle(id,iMenu)
{
g_iMenuTemp[id] = iMenu;
PugDisplayMenuClient(id);
}
public PugDisplayMenuClient(id)
{
new iMenu,iKeys;
new iMenuUP = player_menu_info(id,iMenu,iKeys);
if((iMenuUP <= 0) || (iMenu < 0))
{
menu_display(id,g_iMenuTemp[id],0);
}
else set_task(1.0,"PugDisplayMenuClient",id);
}
stock PugCancelMenu()
{
new iPlayers[32],iNum;
get_players(iPlayers,iNum,"ch");
for(new i;i < iNum;i++)
{
menu_cancel(iPlayers[i]);
}
show_menu(0,0,"^n",1);
}
stock PugCancelMenuClient(id)
{
menu_cancel(id);
show_menu(id,0,"^n",1);
}
stock bool:PugShoudStopVote()
{
new iPlayers[32],iNum;
get_players(iPlayers,iNum,"ch");
for(new i;i < iNum;i++)
{
if(!g_bVoted[iPlayers[i]])
{
return false;
}
}
return true;
}
pug_modspecific
Code:
#if defined _pug_modspecific_included
#endinput
#endif
#define _pug_modspecific_included
native PugGetPlayers();
native PugGetPlayersTeam(iTeam);
native PugTeamsRandomize();
native PugTeamsBalance();
native PugTeamsOptmize();
native PugGetClientTeam(id);
native PugSetClientTeam(id,iTeam);
native PugRespawnClient(id);
native PugSetGodMode(id,iGodMode);
native PugSetClientMoney(id,iMoney,iFlash);
native PugRemoveC4(iRemove);
pug_natives
Code:
#if defined _pug_natives_included
#endinput
#endif
#define _pug_natives_included
#include <amxconst>
native PugPause();
native PugUnPause();
native PugSetPauseCall(iFunctionID,iPluginID = INVALID_PLUGIN_ID);
native PugCallRoundStart();
native PugCallRoundEnd(iWinner);
native PugCallReset();
native PugSwapTeams(iTeamA,iTeamB);
native PugRegisterTeam(sTeam[]);
native PugNumTeams();
native PugGetTeamName(iTeam,sName[32]);
native PugSetTeamName(iTeam,sName[32]);
native PugSetTeamScore(iTeam,iScore);
native PugGetTeamScore(iTeam);
pug_ready
Code:
#if defined _pug_ready_included
#endinput
#endif
#define _pug_ready_included
native PugNativeReadyPlayers(iFunctionID,iPluginID = -1);
native PugNativeRegisterReadyDisPlay(iFunctionID,iPluginID = -1);
pug_stocks
Code:
#if defined _pug_stocks_included
#endinput
#endif
#define _pug_stocks_included
#include <pug_const>
#pragma semicolon 1
stock PugMessage(id,sLang[])
{
if(!id) server_print("%s %L",g_sHead,LANG_SERVER,sLang);
client_print_color
(
id,
print_team_grey,
"^4%s^1 %L",
g_sHead,
(id == 0) ? LANG_SERVER : LANG_PLAYER,
sLang
);
return PLUGIN_HANDLED;
}
stock PugRegisterCommand(const sCommand[],const sFunction[],iFlags = 0,const sInfo[]="")
{
static sBuffer[16];
formatex(sBuffer,charsmax(sBuffer),".%s",sCommand);
register_clcmd(sBuffer,sFunction,iFlags,sInfo);
}
stock PugRegisterAdminCommand(const sCommand[],const sFunction[],iFlags = 0,const sInfo[]="")
{
static sBuffer[16];
formatex(sBuffer,charsmax(sBuffer),"!%s",sCommand);
register_concmd(sBuffer,sFunction,iFlags,sInfo);
}
stock PugAdminCommand(id,sCommand[],sLang[],iCheck)
{
if(iCheck)
{
new sName[32];
get_user_name(id,sName,charsmax(sName));
client_print_color(0,print_team_grey,"^4%s^1 %L",g_sHead,LANG_SERVER,sLang,sName);
}
client_print_color(id,print_team_grey,"^4%s^1 %L",g_sHead,LANG_PLAYER,iCheck ? "PUG_CMD_SUCCESS" : "PUG_CMD_FAILURE",sCommand);
}
stock PugAdminCommandClient(id,sCommand[],sLang[],iClient,iCheck)
{
if(iCheck)
{
new sName[32];
get_user_name(iClient,sName,charsmax(sName));
client_print_color(0,print_team_grey,"^4%s^1 %L",g_sHead,LANG_SERVER,sLang,sName);
}
client_print_color(id,print_team_grey,"^4%s^1 %L",g_sHead,LANG_PLAYER,iCheck ? "PUG_CMD_SUCCESS" : "PUG_CMD_FAILURE",sCommand);
}
stock PugDisconnect(const id,const sReason[] = "",any:...)
{
if(sReason[0])
{
new sMessage[192];
vformat(sMessage,charsmax(sMessage),sReason,3);
message_begin(MSG_ONE_UNRELIABLE,SVC_DISCONNECT,{0,0,0},id);
write_string(sMessage);
message_end();
}
else server_cmd("kick #%i",get_user_userid(id));
}
like this?
|
|