Raised This Month: $ Target: $400
 0% 

Plugin compiling help, with no errors


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Author Message
botz
AlliedModders Donor
Join Date: Jan 2015
Old 05-12-2015 , 15:45   Plugin compiling help, with no errors
Reply With Quote #1

Can someone help me remove "RCON_Password" and "amx_showrcon" out of this so in server

amx_cvar rcon_password ;doesnt work if it works it will show the rcon password
amx_showrcon rcon_password ;doesn twork, if it works it will show the rcon password

When i tried compiling my self i got errors

Thats why i need someones help removing amx_showrcon and "rcon_password" from amx_cvar please, these shouldnt work even tho rcon is enabled and fully works. Please someone help me removing this with rcon working! Thanks

PHP Code:
/* AMX Mod X
*   Admin Commands Plugin
*
* by the AMX Mod X Development Team
*  originally developed by OLO
*
* This file is part of AMX Mod X.
*
*
*  This program is free software; you can redistribute it and/or modify it
*  under the terms of the GNU General Public License as published by the
*  Free Software Foundation; either version 2 of the License, or (at
*  your option) any later version.
*
*  This program is distributed in the hope that it will be useful, but
*  WITHOUT ANY WARRANTY; without even the implied warranty of
*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
*  General Public License for more details.
*
*  You should have received a copy of the GNU General Public License
*  along with this program; if not, write to the Free Software Foundation, 
*  Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*  In addition, as a special exception, the author gives permission to
*  link the code of this program with the Half-Life Game Engine ("HL
*  Engine") and Modified Game Libraries ("MODs") developed by Valve, 
*  L.L.C ("Valve"). You must obey the GNU General Public License in all
*  respects for all of the code used other than the HL Engine and MODs
*  from Valve. If you modify this file, you may extend this exception
*  to your version of the file, but you are not obligated to do so. If
*  you do not wish to do so, delete this exception statement from your
*  version.
*/

#include <amxmodx>
#include <amxmisc>

// This is not a dynamic array because it would be bad for 24/7 map servers.
#define OLD_CONNECTION_QUEUE 10

new g_pauseCon
new Float:g_pausAble
new bool:g_Paused
new bool:g_PauseAllowed false
new g_addCvar[] = "amx_cvar add %s"

new pausable;
new 
rcon_password;
new 
timelimit;
new 
p_amx_tempban_maxtime;

// Old connection queue
new g_Names[OLD_CONNECTION_QUEUE][32];
new 
g_SteamIDs[OLD_CONNECTION_QUEUE][32];
new 
g_IPs[OLD_CONNECTION_QUEUE][32];
new 
g_Access[OLD_CONNECTION_QUEUE];
new 
g_Tracker;
new 
g_Size;

public 
Trie:g_tempBans
new Trie:g_tXvarsFlags;

stock InsertInfo(id)
{
    
    
// Scan to see if this entry is the last entry in the list
    // If it is, then update the name and access
    // If it is not, then insert it again.

    
if (g_Size 0)
    {
        new 
ip[32]
        new 
auth[32];

        
get_user_authid(idauthcharsmax(auth));
        
get_user_ip(idipcharsmax(ip), 1/*no port*/);

        new 
last 0;
        
        if (
g_Size sizeof(g_SteamIDs))
        {
            
last g_Size 1;
        }
        else
        {
            
last g_Tracker 1;
            
            if (
last 0)
            {
                
last g_Size 1;
            }
        }
        
        if (
equal(authg_SteamIDs[last]) &&
            
equal(ipg_IPs[last])) // need to check ip too, or all the nosteams will while it doesn't work with their illegitimate server
        
{
            
get_user_name(idg_Names[last], charsmax(g_Names[]));
            
g_Access[last] = get_user_flags(id);
            
            return;
        }
    }
    
    
// Need to insert the entry
    
    
new target 0;  // the slot to save the info at

    // Queue is not yet full
    
if (g_Size sizeof(g_SteamIDs))
    {
        
target g_Size;
        
        ++
g_Size;
        
    }
    else
    {
        
target g_Tracker;
        
        ++
g_Tracker;
        
// If we reached the end of the array, then move to the front
        
if (g_Tracker == sizeof(g_SteamIDs))
        {
            
g_Tracker 0;
        }
    }
    
    
get_user_authid(idg_SteamIDs[target], charsmax(g_SteamIDs[]));
    
get_user_name(idg_Names[target], charsmax(g_Names[]));
    
get_user_ip(idg_IPs[target], charsmax(g_IPs[]), 1/*no port*/);
    
    
g_Access[target] = get_user_flags(id);

}
stock GetInfo(iname[], namesizeauth[], authsizeip[], ipsize, &access)
{
    if (
>= g_Size)
    {
        
abort(AMX_ERR_NATIVE"GetInfo: Out of bounds (%d:%d)"ig_Size);
    }
    
    new 
target = (g_Tracker i) % sizeof(g_SteamIDs);
    
    
copy(namenamesizeg_Names[target]);
    
copy(authauthsizeg_SteamIDs[target]);
    
copy(ip,   ipsize,   g_IPs[target]);
    
access g_Access[target];
    
}
public 
client_disconnect(id)
{
    if (!
is_user_bot(id))
    {
        
InsertInfo(id);
    }
}

public 
plugin_init()
{
    
register_plugin("Admin Commands"AMXX_VERSION_STR"AMXX Dev Team")

    
register_dictionary("admincmd.txt")
    
register_dictionary("common.txt")
    
register_dictionary("adminhelp.txt")
    
    
    
register_concmd("amx_kick""cmdKick"ADMIN_KICK"<name or #userid> [reason]")
    
register_concmd("amx_ban""cmdBan"ADMIN_BAN|ADMIN_BAN_TEMP"<name or #userid> <minutes> [reason]")
    
register_concmd("amx_banip""cmdBanIP"ADMIN_BAN|ADMIN_BAN_TEMP"<name or #userid> <minutes> [reason]")
    
register_concmd("amx_addban""cmdAddBan"ADMIN_BAN"<^"authid^" or ip> <minutes> [reason]")
    
register_concmd("amx_unban""cmdUnban"ADMIN_BAN|ADMIN_BAN_TEMP"<^"authid^" or ip>")
    
register_concmd("amx_slay""cmdSlay"ADMIN_SLAY"<name or #userid>")
    
register_concmd("amx_slap""cmdSlap"ADMIN_SLAY"<name or #userid> [power]")
    
register_concmd("amx_leave""cmdLeave"ADMIN_KICK"<tag> [tag] [tag] [tag]")
    
register_concmd("amx_pause""cmdPause"ADMIN_CVAR"- pause or unpause the game")
    
register_concmd("amx_who""cmdWho"ADMIN_ADMIN"- displays who is on server")
    
register_concmd("amx_cvar""cmdCvar"ADMIN_CVAR"<cvar> [value]")
    
register_concmd("amx_xvar_float""cmdXvar"ADMIN_CVAR"<xvar> [value]")
    
register_concmd("amx_xvar_int""cmdXvar"ADMIN_CVAR"<xvar> [value]")
    
register_concmd("amx_plugins""cmdPlugins"ADMIN_ADMIN)
    
register_concmd("amx_modules""cmdModules"ADMIN_ADMIN)
    
register_concmd("amx_map""cmdMap"ADMIN_MAP"<mapname>")
    
register_concmd("amx_extendmap""cmdExtendMap"ADMIN_MAP"<number of minutes> - extend map")
    
register_concmd("amx_cfg""cmdCfg"ADMIN_CFG"<filename>")
    
register_concmd("amx_nick""cmdNick"ADMIN_SLAY"<name or #userid> <new nick>")
    
register_concmd("amx_last""cmdLast"ADMIN_BAN"- list the last few disconnected clients info");
    
register_clcmd("amx_rcon""cmdRcon"ADMIN_RCON"<command line>")
    
register_clcmd("amx_showrcon""cmdShowRcon"ADMIN_RCON"<command line>")
    
register_clcmd("pauseAck""cmdLBack")


    
rcon_password=get_cvar_pointer("rcon_password");
    
pausable=get_cvar_pointer("pausable");
    
timelimit=get_cvar_pointer"mp_timelimit" );
    
p_amx_tempban_maxtime register_cvar("amx_tempban_maxtime""4320");

    
g_tempBans TrieCreate();
}

public 
plugin_cfg()
{
    
// Cvars which can be changed only with rcon access
    
server_cmd(g_addCvar"rcon_password")
    
server_cmd(g_addCvar"amx_show_activity")
    
server_cmd(g_addCvar"amx_mode")
    
server_cmd(g_addCvar"amx_password_field")
    
server_cmd(g_addCvar"amx_default_access")
    
server_cmd(g_addCvar"amx_reserved_slots")
    
server_cmd(g_addCvar"amx_reservation")
    
server_cmd(g_addCvar"amx_sql_table");
    
server_cmd(g_addCvar"amx_sql_host");
    
server_cmd(g_addCvar"amx_sql_user");
    
server_cmd(g_addCvar"amx_sql_pass");
    
server_cmd(g_addCvar"amx_sql_db");
    
server_cmd(g_addCvar"amx_sql_type");
    
server_cmd(g_addCvar"amx_tempban_maxtime");

}

public 
cmdKick(idlevelcid)
{
    if (!
cmd_access(idlevelcid2))
        return 
PLUGIN_HANDLED

    
new arg[32]
    
read_argv(1argcharsmax(arg))
    new 
player cmd_target(idargCMDTARGET_OBEY_IMMUNITY CMDTARGET_ALLOW_SELF)
    
    if (!
player)
        return 
PLUGIN_HANDLED
    
    
new authid[32], authid2[32], name2[32], name[32], userid2reason[32]
    
    
get_user_authid(idauthidcharsmax(authid))
    
get_user_authid(playerauthid2charsmax(authid2))
    
get_user_name(playername2charsmax(name2))
    
get_user_name(idnamecharsmax(name))
    
userid2 get_user_userid(player)
    
read_argv(2reasoncharsmax(reason))
    
remove_quotes(reason)
    
    
log_amx("Kick: ^"%s<%d><%s><>^" kick ^"%s<%d><%s><>^" (reason ^"%s^")"nameget_user_userid(id), authidname2userid2authid2reason)

    
show_activity_key("ADMIN_KICK_1""ADMIN_KICK_2"namename2);

    if (
is_user_bot(player))
        
server_cmd("kick #%d"userid2)
    else
    {
        if (
reason[0])
            
server_cmd("kick #%d ^"%s^""userid2reason)
        else
            
server_cmd("kick #%d"userid2)
    }
    
    
console_print(id"[AMXX] Client ^"%s^" kicked"name2)
    
    return 
PLUGIN_HANDLED
}

public 
cmdUnban(idlevelcid)
{
    if (!
cmd_access(idlevelcid2))
        return 
PLUGIN_HANDLED
    
    
new arg[32], authid[32], name[32]
    
    
read_argv(1argcharsmax(arg))

    
get_user_authid(idauthidcharsmax(authid))

    if( ~
get_user_flags(id) & ( ADMIN_BAN ADMIN_RCON ) )
    {
        new 
storedAdminAuth[32]
        if( !
TrieGetString(g_tempBansargstoredAdminAuthcharsmax(storedAdminAuth)) || !equal(storedAdminAuthauthid) )
        {
            
console_print(id"%L"id"NO_ACC_COM"); // may be someone wants to create a new sentence and to translate it in all languages ?
            
return PLUGIN_HANDLED;
        }
    }
    
    if (
contain(arg".") != -1)
    {
        
server_cmd("removeip ^"%s^";writeip"arg)
        
console_print(id"[AMXX] %L"id"IP_REMOVED"arg)
    } else {
        
server_cmd("removeid %s;writeid"arg)
        
console_print(id"[AMXX] %L"id"AUTHID_REMOVED"arg)
    }

    
get_user_name(idnamecharsmax(name))

    
show_activity_key("ADMIN_UNBAN_1""ADMIN_UNBAN_2"namearg);

    
log_amx("Cmd: ^"%s<%d><%s><>^" unban ^"%s^""nameget_user_userid(id), authidarg)
    
    return 
PLUGIN_HANDLED
}

/* amx_addban is a special command now.
 * If a user with rcon uses it, it bans the user.  No questions asked.
 * If a user without rcon but with ADMIN_BAN uses it, it will scan the old
 * connection queue, and if it finds the info for a player in it, it will
 * check their old access.  If they have immunity, it will not ban.
 * If they do not have immunity, it will ban.  If the user is not found,
 * it will refuse to ban the target.
 */
 
public cmdAddBan(idlevelcid)
{
    if (!
cmd_access(idlevelcid3true)) // check for ADMIN_BAN access
    
{
        if (
get_user_flags(id) & level// Getting here means they didn't input enough args
        
{
            return 
PLUGIN_HANDLED;
        }
        if (!
cmd_access(idADMIN_RCONcid3)) // If somehow they have ADMIN_RCON without ADMIN_BAN, continue
        
{
            return 
PLUGIN_HANDLED;
        }
    }

    new 
arg[32], authid[32], name[32], minutes[32], reason[32]
    
    
read_argv(1argcharsmax(arg))
    
read_argv(2minutescharsmax(minutes))
    
read_argv(3reasoncharsmax(reason))
    
    
    if (!(
get_user_flags(id) & ADMIN_RCON))
    {
        new 
bool:canban false;
        new 
bool:isip false;
        
// Limited access to this command
        
if (equali(arg"STEAM_ID_PENDING") ||
            
equali(arg"STEAM_ID_LAN") ||
            
equali(arg"HLTV") ||
            
equali(arg"4294967295") ||
            
equali(arg"VALVE_ID_LAN") ||
            
equali(arg"VALVE_ID_PENDING"))
        {
            
// Hopefully we never get here, so ML shouldn't be needed
            
console_print(id"Cannot ban %s"arg);
            return 
PLUGIN_HANDLED;
        }
        
        if (
contain(arg".") != -1)
        {
            
isip true;
        }
        
        
// Scan the disconnection queue
        
if (isip)
        {
            new 
IP[32];
            new 
Name[32];
            new 
dummy[1];
            new 
Access;
            for (new 
0g_Sizei++)
            {
                
GetInfo(iNamecharsmax(Name), dummy0IPcharsmax(IP), Access);
                
                if (
equal(IParg))
                {
                    if (
Access ADMIN_IMMUNITY)
                    {
                        
console_print(id"[AMXX] %s : %L"IPid"CLIENT_IMM"Name);
                        
                        return 
PLUGIN_HANDLED;
                    }
                    
// User did not have immunity
                    
canban true;
                }
            }
        }
        else
        {
            new 
Auth[32];
            new 
Name[32];
            new 
dummy[1];
            new 
Access;
            for (new 
0g_Sizei++)
            {
                
GetInfo(iNamecharsmax(Name), Authcharsmax(Auth), dummy0Access);
                
                if (
equal(Autharg))
                {
                    if (
Access ADMIN_IMMUNITY)
                    {
                        
console_print(id"[AMXX] %s : %L"Authid"CLIENT_IMM"Name);
                        
                        return 
PLUGIN_HANDLED;
                    }
                    
// User did not have immunity
                    
canban true;
                }
            }
        }
        
        if (!
canban)
        {
            
console_print(id"[AMXX] You may only ban recently disconnected clients.  Use ^"amx_last^" to view.");
            
            return 
PLUGIN_HANDLED;
        }
        
    }
    
    
// User has access to ban their target
    
if (contain(arg".") != -1)
    {
        
server_cmd("addip ^"%s^" ^"%s^";wait;writeip"minutesarg)
        
console_print(id"[AMXX] Ip ^"%s^" added to ban list"arg)
    } else {
        
server_cmd("banid %s %s;wait;writeid"minutesarg)
        
console_print(id"[AMXX] Authid ^"%s^" added to ban list"arg)
    }

    
get_user_name(idnamecharsmax(name))

    
show_activity_key("ADMIN_ADDBAN_1""ADMIN_ADDBAN_2"namearg);

    
get_user_authid(idauthidcharsmax(authid))
    
TrieSetString(g_tempBansargauthid)
    
log_amx("Cmd: ^"%s<%d><%s><>^" ban ^"%s^" (minutes ^"%s^") (reason ^"%s^")"nameget_user_userid(id), authidargminutesreason)

    return 
PLUGIN_HANDLED
}

public 
cmdBan(idlevelcid)
{
    if (!
cmd_access(idlevelcid3))
        return 
PLUGIN_HANDLED

    
new target[32], minutes[8], reason[64]
    
    
read_argv(1targetcharsmax(target))
    
read_argv(2minutescharsmax(minutes))
    
read_argv(3reasoncharsmax(reason))
    
    new 
player cmd_target(idtargetCMDTARGET_OBEY_IMMUNITY CMDTARGET_NO_BOTS CMDTARGET_ALLOW_SELF)
    
    if (!
player)
        return 
PLUGIN_HANDLED

    
new nNum str_to_num(minutes)
    if( 
nNum // since negative values result in permanent bans
    
{
        
nNum 0;
        
minutes "0";
    }
    if( ~
get_user_flags(id) & ( ADMIN_BAN ADMIN_RCON ) && (nNum <= || nNum get_pcvar_num(p_amx_tempban_maxtime)) )
    {
        
console_print(id"%L"id"NO_ACC_COM"); // may be someone wants to create a new sentence and to translate it in all languages ?
        
return PLUGIN_HANDLED
    
}

    new 
authid[32], name2[32], authid2[32], name[32]
    new 
userid2 get_user_userid(player)

    
get_user_authid(playerauthid2charsmax(authid2))
    
get_user_authid(idauthidcharsmax(authid))
    
get_user_name(playername2charsmax(name2))
    
get_user_name(idnamecharsmax(name))
    
    
log_amx("Ban: ^"%s<%d><%s><>^" ban and kick ^"%s<%d><%s><>^" (minutes ^"%s^") (reason ^"%s^")"nameget_user_userid(id), authidname2userid2authid2minutesreason)

    
TrieSetString(g_tempBansauthid2authid); // store all bans in case a permanent ban would override a temporary one.
    
    
new temp[64], banned[16]
    if (
nNum)
        
formatex(tempcharsmax(temp), "%L"player"FOR_MIN"minutes)
    else
        
formatex(tempcharsmax(temp), "%L"player"PERM")

    
formatex(bannedcharsmax(banned), "%L"player"BANNED")

    if (
reason[0])
        
server_cmd("kick #%d ^"%(%%s)^";wait;banid %s %s;wait;writeid"userid2reasonbannedtempminutesauthid2)
    else
        
server_cmd("kick #%d ^"%%s^";wait;banid %s %s;wait;writeid"userid2bannedtempminutesauthid2)

    
    
// Display the message to all clients

    
new msg[256];
    new 
len;
    new 
players[32], pnumplr
    get_players
(playerspnum"ch")
    for (new 
ii<pnumi++)
    {
        
plr players[i]

        
len formatex(msgcharsmax(msg), "%L"plr"BAN");
        
len += formatex(msg[len], charsmax(msg) - len" %s "name2);
        if (
nNum)
        {
            
len += formatex(msg[len], charsmax(msg) - len"%L"plr"FOR_MIN"minutes);
        }
        else
        {
            
len += formatex(msg[len], charsmax(msg) - len"%L"plr"PERM");
        }
        if (
strlen(reason) > 0)
        {
            
formatex(msg[len], charsmax(msg) - len" (%L: %s)"plr"REASON"reason);
        }
        
show_activity_id(plridnamemsg);
    }
    
    
console_print(id"[AMXX] %L"id"CLIENT_BANNED"name2)
    
    return 
PLUGIN_HANDLED
}

public 
cmdBanIP(idlevelcid)
{
    if (!
cmd_access(idlevelcid3))
        return 
PLUGIN_HANDLED
    
    
new target[32], minutes[8], reason[64]
    
    
read_argv(1targetcharsmax(target))
    
read_argv(2minutescharsmax(minutes))
    
read_argv(3reasoncharsmax(reason))
    
    new 
player cmd_target(idtargetCMDTARGET_OBEY_IMMUNITY CMDTARGET_NO_BOTS CMDTARGET_ALLOW_SELF)
    
    if (!
player)
        return 
PLUGIN_HANDLED

    
new nNum str_to_num(minutes)
    if( 
nNum // since negative values result in permanent bans
    
{
        
nNum 0;
        
minutes "0";
    }
    if( ~
get_user_flags(id) & ( ADMIN_BAN ADMIN_RCON ) && (nNum <= || nNum get_pcvar_num(p_amx_tempban_maxtime)) )
    {
        
console_print(id"%L"id"NO_ACC_COM"); // may be someone wants to create a new sentence and to translate it in all languages ?
        
return PLUGIN_HANDLED
    
}
    
    new 
authid[32], name2[32], authid2[32], name[32]
    new 
userid2 get_user_userid(player)
    
    
get_user_authid(playerauthid2charsmax(authid2))
    
get_user_authid(idauthidcharsmax(authid))
    
get_user_name(playername2charsmax(name2))
    
get_user_name(idnamecharsmax(name))
    
    
log_amx("Ban: ^"%s<%d><%s><>^" ban and kick ^"%s<%d><%s><>^" (minutes ^"%s^") (reason ^"%s^")"nameget_user_userid(id), authidname2userid2authid2minutesreason)

    
TrieSetString(g_tempBansauthid2authid);

    new 
temp[64], banned[16]
    if (
nNum)
        
formatex(tempcharsmax(temp), "%L"player"FOR_MIN"minutes)
    else
        
formatex(tempcharsmax(temp), "%L"player"PERM")
    
format(banned15"%L"player"BANNED")

    new 
address[32]
    
get_user_ip(playeraddresscharsmax(address), 1)

    if (
reason[0])
        
server_cmd("kick #%d ^"%(%%s)^";wait;addip ^"%s^" ^"%s^";wait;writeip"userid2reasonbannedtempminutesaddress)
    else
        
server_cmd("kick #%d ^"%%s^";wait;addip ^"%s^" ^"%s^";wait;writeip"userid2bannedtempminutesaddress)

    
// Display the message to all clients

    
new msg[256];
    new 
len;
    new 
players[32], pnumplr
    get_players
(playerspnum"ch")
    for (new 
ii<pnumi++)
    {
        
plr players[i]

        
len formatex(msgcharsmax(msg), "%L"plr"BAN");
        
len += formatex(msg[len], charsmax(msg) - len" %s "name2);
        if (
nNum)
        {
            
formatex(msg[len], charsmax(msg) - len"%L"plr"FOR_MIN"minutes);
        }
        else
        {
            
formatex(msg[len], charsmax(msg) - len"%L"plr"PERM");
        }
        if (
strlen(reason) > 0)
        {
            
formatex(msg[len], charsmax(msg) - len" (%L: %s)"plr"REASON"reason);
        }
        
show_activity_id(plridnamemsg);
    }

    
console_print(id"[AMXX] %L"id"CLIENT_BANNED"name2)
    
    return 
PLUGIN_HANDLED
}

public 
cmdSlay(idlevelcid)
{
    if (!
cmd_access(idlevelcid2))
        return 
PLUGIN_HANDLED
    
    
new arg[32]
    
    
read_argv(1argcharsmax(arg))
    
    new 
player cmd_target(idargCMDTARGET_OBEY_IMMUNITY CMDTARGET_ALLOW_SELF CMDTARGET_ONLY_ALIVE)
    
    if (!
player)
        return 
PLUGIN_HANDLED
    
    user_kill
(player)
    
    new 
authid[32], name2[32], authid2[32], name[32]
    
    
get_user_authid(idauthidcharsmax(authid))
    
get_user_name(idnamecharsmax(name))
    
get_user_authid(playerauthid2charsmax(authid2))
    
get_user_name(playername2charsmax(name2))
    
    
log_amx("Cmd: ^"%s<%d><%s><>^" slay ^"%s<%d><%s><>^""nameget_user_userid(id), authidname2get_user_userid(player), authid2)

    
show_activity_key("ADMIN_SLAY_1""ADMIN_SLAY_2"namename2);

    
console_print(id"[AMXX] %L"id"CLIENT_SLAYED"name2)
    
    return 
PLUGIN_HANDLED
}

public 
cmdSlap(idlevelcid)
{
    if (!
cmd_access(idlevelcid2))
        return 
PLUGIN_HANDLED

    
new arg[32]
    
    
read_argv(1argcharsmax(arg))
    new 
player cmd_target(idargCMDTARGET_OBEY_IMMUNITY CMDTARGET_ALLOW_SELF CMDTARGET_ONLY_ALIVE)
    
    if (!
player)
        return 
PLUGIN_HANDLED

    
new spower[32], authid[32], name2[32], authid2[32], name[32]
    
    
read_argv(2spowercharsmax(spower))
    
    new 
damage clampstr_to_num(spower), 0)
    
    
user_slap(playerdamage)
    
    
get_user_authid(idauthidcharsmax(authid))
    
get_user_name(idnamecharsmax(name))
    
get_user_authid(playerauthid2charsmax(authid2))
    
get_user_name(playername2charsmax(name2))
    
    
log_amx("Cmd: ^"%s<%d><%s><>^" slap with %d damage ^"%s<%d><%s><>^""nameget_user_userid(id), authiddamagename2get_user_userid(player), authid2)

    
show_activity_key("ADMIN_SLAP_1""ADMIN_SLAP_2"namename2damage);

    
console_print(id"[AMXX] %L"id"CLIENT_SLAPED"name2damage)
    
    return 
PLUGIN_HANDLED
}

public 
chMap(map[])
{
    
server_cmd("changelevel %s"map)
}

public 
cmdMap(idlevelcid)
{
    if (!
cmd_access(idlevelcid2))
        return 
PLUGIN_HANDLED

    
new arg[32]
    new 
arglen read_argv(1argcharsmax(arg))
    
    if (!
is_map_valid(arg))
    {
        
console_print(id"[AMXX] %L"id"MAP_NOT_FOUND")
        return 
PLUGIN_HANDLED
    
}

    new 
authid[32], name[32]
    
    
get_user_authid(idauthidcharsmax(authid))
    
get_user_name(idnamecharsmax(name))
    
    
show_activity_key("ADMIN_MAP_1""ADMIN_MAP_2"namearg);
    
    
log_amx("Cmd: ^"%s<%d><%s><>^" changelevel ^"%s^""nameget_user_userid(id), authidarg)
    
    new 
_modName[10]
    
get_modname(_modNamecharsmax(_modName))
    
    if (!
equal(_modName"zp"))
    {
        
message_begin(MSG_ALLSVC_INTERMISSION)
        
message_end()
    }
    
    
set_task(2.0"chMap"0argarglen 1)
    
    return 
PLUGIN_HANDLED
}

public 
cmdExtendMap(idlevelcid)
{
    if(!
cmd_access(idlevelcid2))
        return 
PLUGIN_HANDLED
    
    
new arg[32]
    
read_argv(1argcharsmax(arg))
    new 
mns str_to_num(arg)
    
    if(
mns <= 0)
        return 
PLUGIN_HANDLED
    
    
new mapname[32]
    
get_mapname(mapnamecharsmax(mapname))
    
set_pcvar_numtimelimit get_pcvar_numtimelimit ) + mns)
    
    new 
authid[32], name[32]
    
    
get_user_authid(idauthidcharsmax(authid))
    
get_user_name(idnamecharsmax(name))
    
    
show_activity_key("ADMIN_EXTEND_1""ADMIN_EXTEND_2"namemns)
    
    
log_amx("ExtendMap: ^"%s<%d><%s><>^" extended map ^"%s^" for %d minutes."nameget_user_userid(id), authidmapnamemns)
    
console_print(id"%L"id"MAP_EXTENDED"mapnamemns)
    
    return 
PLUGIN_HANDLED
}

stock bool:onlyRcon(const name[])
{
    new 
ptr=get_cvar_pointer(name);
    if (
ptr && get_pcvar_flags(ptr) & FCVAR_PROTECTED)
    {
        return 
true;
    }
    return 
false;
}

public 
cmdCvar(idlevelcid)
{
    if (!
cmd_access(idlevelcid2))
        return 
PLUGIN_HANDLED
    
    
new arg[32], arg2[64]
    
    
read_argv(1argcharsmax(arg))
    
read_argv(2arg2charsmax(arg2))
    
    new 
pointer;
    
    if (
equal(arg"add") && (get_user_flags(id) & ADMIN_RCON))
    {
        if ((
pointer=get_cvar_pointer(arg2))!=0)
        {
            new 
flags=get_pcvar_flags(pointer);
            
            if (!(
flags FCVAR_PROTECTED))
            {
                
set_pcvar_flags(pointer,flags FCVAR_PROTECTED);
            }
        }
        return 
PLUGIN_HANDLED
    
}
    
    if ((
pointer=get_cvar_pointer(arg))==0)
    {
        
console_print(id"[AMXX] %L"id"UNKNOWN_CVAR"arg)
        return 
PLUGIN_HANDLED
    
}
    
    if (
onlyRcon(arg) && !(get_user_flags(id) & ADMIN_RCON))
    {
        
// Exception for the new onlyRcon rules:
        //   sv_password is allowed to be modified by ADMIN_PASSWORD
        
if (!(equali(arg,"sv_password") && (get_user_flags(id) & ADMIN_PASSWORD)))
        {
            
console_print(id"[AMXX] %L"id"CVAR_NO_ACC")
            return 
PLUGIN_HANDLED
        
}
    }
    
    if (
read_argc() < 3)
    {
        
get_pcvar_string(pointerarg2charsmax(arg2))
        
console_print(id"[AMXX] %L"id"CVAR_IS"argarg2)
        return 
PLUGIN_HANDLED
    
}

    new 
authid[32], name[32]
    
    
get_user_authid(idauthidcharsmax(authid))
    
get_user_name(idnamecharsmax(name))
    
    
log_amx("Cmd: ^"%s<%d><%s><>^" set cvar (name ^"%s^") (value ^"%s^")"nameget_user_userid(id), authidargarg2)
    
set_pcvar_string(pointerarg2)
    
    
    
// Display the message to all clients

    
new cvar_val[64];
    new 
players[32], pnumplr
    get_players
(playerspnum"ch")
    for (new 
ii<pnumi++)
    {
        
plr players[i]
        if (
get_pcvar_flags(pointer) & FCVAR_PROTECTED || equali(arg"rcon_password"))
        {
            
formatex(cvar_valcharsmax(cvar_val), "*** %L ***"plr"PROTECTED");
        }
        else
        {
            
copy(cvar_valcharsmax(cvar_val), arg2);
        }
        
show_activity_id(plridname"%L"plr"SET_CVAR_TO"""argcvar_val);
    }

    
console_print(id"[AMXX] %L"id"CVAR_CHANGED"argarg2)
    
    return 
PLUGIN_HANDLED
}

public 
cmdXvar(idlevelcid)
{
    if( !
cmd_access(idlevelcid2) )
    {
        return 
PLUGIN_HANDLED;
    }

    new 
cmd[15], arg1[32], arg2[32];
    
    
read_argv(0cmdcharsmax(cmd));
    
read_argv(1arg1charsmax(arg1));
    
trim(arg1);
    if( 
read_argc() > )
    {
        
read_argv(2arg2charsmax(arg2));
        
trim(arg2);

        if( 
equali(arg1"add") )
        {
            if( 
get_user_flags(id) & ADMIN_RCON && xvar_exists(arg2) )
            {
                if( !
g_tXvarsFlags )
                {
                    
g_tXvarsFlags TrieCreate();
                }
                
TrieSetCell(g_tXvarsFlagsarg21);
            }
            return 
PLUGIN_HANDLED;
        }
    }

    new 
bFloat equali(cmd"amx_xvar_float");

    new 
xvar get_xvar_idarg1 );

    if( 
xvar == -)
    {
        
console_print(id"[AMXX] %L"id"UNKNOWN_XVAR"arg1)
        return 
PLUGIN_HANDLED
    
}

    new 
any:value;

    if( !
arg2[0] ) // get value
    
{
        
value get_xvar_num(xvar);
        if( 
bFloat )
        {
            
float_to_str(valuearg2charsmax(arg2));
        }
        else
        {
            
num_to_str(valuearg2charsmax(arg2));
        }
        
console_print(id"[AMXX] %L"id"XVAR_IS"arg1arg2);
        return 
PLUGIN_HANDLED;
    }

    
// set value
    
if( g_tXvarsFlags && TrieKeyExists(g_tXvarsFlagsarg1) && ~get_user_flags(id) & ADMIN_RCON )
    {
        
console_print(id"[AMXX] %L"id"XVAR_NO_ACC");
        return 
PLUGIN_HANDLED;
    }

    new 
endPos;
    if( 
bFloat )
    {
        
value strtof(arg2endPos);
        if( !
endPos )
        {
            return 
PLUGIN_HANDLED;
        }
    }
    else
    {
        
value strtol(arg2endPos);
        if( !
endPos )
        {
            return 
PLUGIN_HANDLED;
        }
    }

    
set_xvar_num(xvarvalue);

    
// convert back value to string so admin can know value has been set correctly
    
if( bFloat )
    {
        
float_to_str(valuearg2charsmax(arg2));
    }
    else
    {
        
num_to_str(valuearg2charsmax(arg2));
    }

    new 
authid[32], name[32];
    
    
get_user_authid(idauthidcharsmax(authid));
    
get_user_name(idnamecharsmax(name));
    
    
log_amx("Cmd: ^"%s<%d><%s><>^" set xvar (name ^"%s^") (value ^"%s^")"nameget_user_userid(id), authidarg1arg2);
    
    
// Display the message to all clients
    
new players[32], pnumplr;
    
get_players(playerspnum"ch");
    for (new 
ii<pnumi++)
    {
        
plr players[i];
        
show_activity_id(plridname"%L"plr"SET_XVAR_TO"""arg1arg2);
    }
    
    
console_print(id"[AMXX] %L"id"XVAR_CHANGED"arg1arg2);

    return 
PLUGIN_HANDLED;
}

public 
cmdPlugins(idlevelcid)
{
    if (!
cmd_access(idlevelcid1))
        return 
PLUGIN_HANDLED
        
    
if (id==0// If server executes redirect this to "amxx plugins" for more in depth output
    
{
        
server_cmd("amxx plugins");
        
server_exec();
        return 
PLUGIN_HANDLED;
    }

    new 
name[32], version[32], author[32], filename[32], status[32]
    new 
lName[32], lVersion[32], lAuthor[32], lFile[32], lStatus[32]

    
format(lNamecharsmax(lName), "%L"id"NAME")
    
format(lVersioncharsmax(lVersion), "%L"id"VERSION")
    
format(lAuthorcharsmax(lAuthor), "%L"id"AUTHOR")
    
format(lFilecharsmax(lFile), "%L"id"FILE")
    
format(lStatuscharsmax(lStatus), "%L"id"STATUS")

    new 
StartPLID=0;
    new 
EndPLID;

    new 
Temp[96]

    new 
num get_pluginsnum()
    
    if (
read_argc() > 1)
    {
        
read_argv(1,Temp,charsmax(Temp));
        
StartPLID=str_to_num(Temp)-1// zero-based
    
}

    
EndPLID=min(StartPLID 10num);
    
    new 
running 0
    
    console_print
(id"----- %L -----"id"LOADED_PLUGINS")
    
console_print(id"%-18.17s %-11.10s %-17.16s %-16.15s %-9.8s"lNamelVersionlAuthorlFilelStatus)

    new 
i=StartPLID;
    while (
<EndPLID)
    {
        
get_plugin(i++, filenamecharsmax(filename), namecharsmax(name), versioncharsmax(version), authorcharsmax(author), statuscharsmax(status))
        
console_print(id"%-18.17s %-11.10s %-17.16s %-16.15s %-9.8s"nameversionauthorfilenamestatus)
        
        if (
status[0]=='d' || status[0]=='r'// "debug" or "running"
            
running++
    }
    
console_print(id"%L"id"PLUGINS_RUN"EndPLID-StartPLIDrunning)
    
console_print(id"----- %L -----",id,"HELP_ENTRIES",StartPLID 1,EndPLID,num);
    
    if (
EndPLID num)
    {
        
formatex(Temp,charsmax(Temp),"----- %L -----",id,"HELP_USE_MORE"EndPLID 1);
        
replace_all(Temp,charsmax(Temp),"amx_help","amx_plugins");
        
console_print(id,"%s",Temp);
    }
    else
    {
        
formatex(Temp,charsmax(Temp),"----- %L -----",id,"HELP_USE_BEGIN");
        
replace_all(Temp,charsmax(Temp),"amx_help","amx_plugins");
        
console_print(id,"%s",Temp);
    }

    return 
PLUGIN_HANDLED
}

public 
cmdModules(idlevelcid)
{
    if (!
cmd_access(idlevelcid1))
        return 
PLUGIN_HANDLED

    
new name[32], version[32], author[32], statussStatus[16]
    new 
lName[32], lVersion[32], lAuthor[32], lStatus[32];

    
format(lNamecharsmax(lName), "%L"id"NAME")
    
format(lVersioncharsmax(lVersion), "%L"id"VERSION")
    
format(lAuthorcharsmax(lAuthor), "%L"id"AUTHOR")
    
format(lStatuscharsmax(lStatus), "%L"id"STATUS")

    new 
num get_modulesnum()
    
    
console_print(id"%L:"id"LOADED_MODULES")
    
console_print(id"%-23.22s %-11.10s %-20.19s %-11.10s"lNamelVersionlAuthorlStatus)
    
    for (new 
0numi++)
    {
        
get_module(inamecharsmax(name), authorcharsmax(author), versioncharsmax(version), status)
        
        switch (
status)
        {
            case 
module_loadedcopy(sStatuscharsmax(sStatus), "running")
            default: 
            {
                
copy(sStatuscharsmax(sStatus), "bad load");
                
copy(namecharsmax(name), "unknown");
                
copy(authorcharsmax(author), "unknown");
                
copy(versioncharsmax(version), "unknown");
            }
        }
        
        
console_print(id"%-23.22s %-11.10s %-20.19s %-11.10s"nameversionauthorsStatus)
    }
    
console_print(id"%L"id"NUM_MODULES"num)

    return 
PLUGIN_HANDLED
}

public 
cmdCfg(idlevelcid)
{
    if (!
cmd_access(idlevelcid2))
        return 
PLUGIN_HANDLED
    
    
new arg[128]
    
read_argv(1argcharsmax(arg))
    
    if (!
file_exists(arg))
    {
        
console_print(id"[AMXX] %L"id"FILE_NOT_FOUND"arg)
        return 
PLUGIN_HANDLED
    
}
    
    new 
authid[32], name[32]
    
    
get_user_authid(idauthidcharsmax(authid))
    
get_user_name(idnamecharsmax(name))
    
    
log_amx("Cmd: ^"%s<%d><%s><>^" execute cfg (file ^"%s^")"nameget_user_userid(id), authidarg)
    
    
console_print(id"[AMXX] Executing file ^"%s^""arg)
    
server_cmd("exec %s"arg)

    
show_activity_key("ADMIN_CONF_1""ADMIN_CONF_2"namearg);

    return 
PLUGIN_HANDLED
}

public 
cmdLBack()
{
    if (!
g_PauseAllowed)
        return 
PLUGIN_CONTINUE    

    
new paused[25]
    
    
format(paused24"%L"g_pauseCong_Paused "UNPAUSED" "PAUSED")
    
set_pcvar_float(pausableg_pausAble)
    
console_print(g_pauseCon"[AMXX] Server %s"paused)
    
g_PauseAllowed false
    
    
if (g_Paused)
        
g_Paused false
    
else 
        
g_Paused true
    
    
return PLUGIN_HANDLED
}

public 
cmdPause(idlevelcid)
{
    if (!
cmd_access(idlevelcid1))
        return 
PLUGIN_HANDLED 
    
    
new authid[32], name[32], slayer id
    
    get_user_authid
(idauthidcharsmax(authid)) 
    
get_user_name(idnamecharsmax(name)) 
    if (
pausable!=0)
    {
        
g_pausAble get_pcvar_float(pausable)
    }
    
    if (!
slayer)
        
slayer find_player("h"
    
    if (!
slayer)
    { 
        
console_print(id"[AMXX] %L"id"UNABLE_PAUSE"
        return 
PLUGIN_HANDLED
    
}

    
set_pcvar_float(pausable1.0)
    
g_PauseAllowed true
    client_cmd
(slayer"pause;pauseAck")
    
    
log_amx("Cmd: ^"%s<%d><%s><>^" %s server"nameget_user_userid(id), authidg_Paused "unpause" "pause")
    
    
console_print(id"[AMXX] %L"idg_Paused "UNPAUSING" "PAUSING")

    
// Display the message to all clients

    
new players[32], pnum
    get_players
(playerspnum"ch")
    for (new 
ii<pnumi++)
    {
        
show_activity_id(players[i], idname"%L server"ig_Paused "UNPAUSE" "PAUSE");
    }

    
g_pauseCon id
    
    
return PLUGIN_HANDLED


public 
cmdShowRcon(idlevelcid)
{
    if (!
cmd_access(idlevelcid2))
        return 
PLUGIN_HANDLED
        
    
new password[64]
    
    
get_pcvar_string(rcon_passwordpassword63)
    
    if (!
password[0])
    {
        
cmdRcon(idlevelcid)
    } else {
        new 
args[128]
        
        
read_args(argscharsmax(args))
        
client_cmd(id"rcon_password %s"password)
        
client_cmd(id"rcon %s"args)
    }
    
    return 
PLUGIN_HANDLED
}

public 
cmdRcon(idlevelcid)
{
    if (!
cmd_access(idlevelcid2))
        return 
PLUGIN_HANDLED
    
    
new arg[128], authid[32], name[32]
    
    
read_args(argcharsmax(arg))
    
get_user_authid(idauthidcharsmax(authid))
    
get_user_name(idnamecharsmax(name))
    
    
log_amx("Cmd: ^"%s<%d><%s><>^" server console (cmdline ^"%s^")"nameget_user_userid(id), authidarg)
    
    
console_print(id"[AMXX] %L"id"COM_SENT_SERVER"arg)
    
server_cmd("%s"arg)
    
    return 
PLUGIN_HANDLED
}

public 
cmdWho(idlevelcid)
{
    if (!
cmd_access(idlevelcid1))
        return 
PLUGIN_HANDLED

    
new players[32], inumcl_on_server[64], authid[32], name[32], flagssflags[32], plr
    
new lImm[16], lRes[16], lAccess[16], lYes[16], lNo[16]
    
    
formatex(lImmcharsmax(lImm), "%L"id"IMMU")
    
formatex(lRescharsmax(lRes), "%L"id"RESERV")
    
formatex(lAccesscharsmax(lAccess), "%L"id"ACCESS")
    
formatex(lYescharsmax(lYes), "%L"id"YES")
    
formatex(lNocharsmax(lNo), "%L"id"NO")
    
    
get_players(playersinum)
    
format(cl_on_servercharsmax(cl_on_server), "%L"id"CLIENTS_ON_SERVER")
    
console_print(id"^n%s:^n #  %-16.15s %-20s %-8s %-4.3s %-4.3s %s"cl_on_server"nick""authid""userid"lImmlReslAccess)
    
    for (new 
0inum; ++a)
    {
        
plr players[a]
        
get_user_authid(plrauthidcharsmax(authid))
        
get_user_name(plrnamecharsmax(name))
        
flags get_user_flags(plr)
        
get_flags(flagssflagscharsmax(sflags))
        
console_print(id"%2d  %-16.15s %-20s %-8d %-6.5s %-6.5s %s"plrnameauthid
        
get_user_userid(plr), (flags&ADMIN_IMMUNITY) ? lYes lNo, (flags&ADMIN_RESERVATION) ? lYes lNosflags)
    }
    
    
console_print(id"%L"id"TOTAL_NUM"inum)
    
get_user_authid(idauthidcharsmax(authid))
    
get_user_name(idnamecharsmax(name))
    
log_amx("Cmd: ^"%s<%d><%s><>^" ask for players list"nameget_user_userid(id), authid
    
    return 
PLUGIN_HANDLED
}

hasTag(name[], tags[4][32], tagsNum)
{
    for (new 
0tagsNum; ++a)
        if (
contain(nametags[a]) != -1)
            return 
a
    
return -1
}

public 
cmdLeave(idlevelcid)
{
    if (!
cmd_access(idlevelcid2))
        return 
PLUGIN_HANDLED
    
    
new argnum read_argc()
    new 
ltags[4][32]
    new 
ltagsnum 0
    
    
for (new 15; ++a)
    {
        if (
argnum)
            
read_argv(altags[ltagsnum++], charsmax(ltags[]))
        else
            
ltags[ltagsnum++][0] = 0
    
}
    
    new 
nick[32], irespnum get_maxplayers() + 1count 0lReason[128]
    
    for (new 
1pnum; ++b)
    {
        if (!
is_user_connected(b) && !is_user_connecting(b)) continue

        
get_user_name(bnickcharsmax(nick))
        
ires hasTag(nickltagsltagsnum)
        
        if (
ires != -1)
        {
            
console_print(id"[AMXX] %L"id"SKIP_MATCH"nickltags[ires])
            continue
        }
        
        if (
get_user_flags(b) & ADMIN_IMMUNITY)
        {
            
console_print(id"[AMXX] %L"id"SKIP_IMM"nick)
            continue
        }
        
        
console_print(id"[AMXX] %L"id"KICK_PL"nick)
        
        if (
is_user_bot(b))
            
server_cmd("kick #%d"get_user_userid(b))
        else
        {
            
formatex(lReasoncharsmax(lReason), "%L"b"YOU_DROPPED")
            
server_cmd("kick #%d ^"%s^""get_user_userid(b), lReason)
        }
        
count++
    }
    
    
console_print(id"[AMXX] %L"id"KICKED_CLIENTS"count)
    
    new 
authid[32], name[32]

    
get_user_authid(idauthidcharsmax(authid))
    
get_user_name(idnamecharsmax(name))
    
log_amx("Kick: ^"%s<%d><%s><>^" leave some group (tag1 ^"%s^") (tag2 ^"%s^") (tag3 ^"%s^") (tag4 ^"%s^")"nameget_user_userid(id), authidltags[0], ltags[1], ltags[2], ltags[3])

    
show_activity_key("ADMIN_LEAVE_1""ADMIN_LEAVE_2"nameltags[0], ltags[1], ltags[2], ltags[3]);

    return 
PLUGIN_HANDLED
}

public 
cmdNick(idlevelcid)
{
    if (!
cmd_access(idlevelcid3))
        return 
PLUGIN_HANDLED

    
new arg1[32], arg2[32], authid[32], name[32], authid2[32], name2[32]

    
read_argv(1arg1charsmax(arg1))
    
read_argv(2arg2charsmax(arg2))

    new 
player cmd_target(idarg1CMDTARGET_OBEY_IMMUNITY CMDTARGET_ALLOW_SELF)
    
    if (!
player)
        return 
PLUGIN_HANDLED

    get_user_authid
(idauthidcharsmax(authid))
    
get_user_name(idnamecharsmax(name))
    
get_user_authid(playerauthid2charsmax(authid2))
    
get_user_name(playername2charsmax(name2))

    
set_user_info(player"name"arg2)

    
log_amx("Cmd: ^"%s<%d><%s><>^" change nick to ^"%s^" ^"%s<%d><%s><>^""nameget_user_userid(id), authidarg2name2get_user_userid(player), authid2)

    
show_activity_key("ADMIN_NICK_1""ADMIN_NICK_2"namename2arg2);

    
console_print(id"[AMXX] %L"id"CHANGED_NICK"name2arg2)

    return 
PLUGIN_HANDLED
}

public 
cmdLast(idlevelcid)
{
    if (!
cmd_access(idlevelcid1))
    {
        return 
PLUGIN_HANDLED;
    }
    
    new 
name[32];
    new 
authid[32];
    new 
ip[32];
    new 
flags[32];
    new 
access;
    
    
    
// This alignment is a bit weird (it should grow if the name is larger)
    // but otherwise for the more common shorter name, it'll wrap in server console
    // Steam client display is all skewed anyway because of the non fixed font.
    
console_print(id"%19s %20s %15s %s""name""authid""ip""access");
    
    for (new 
0g_Sizei++)
    {
        
GetInfo(inamecharsmax(name), authidcharsmax(authid), ipcharsmax(ip), access);
        
        
get_flags(accessflagscharsmax(flags));
        
        
console_print(id"%19s %20s %15s %s"nameauthidipflags);
    }
    
    
console_print(id"%d old connections saved."g_Size);
    
    return 
PLUGIN_HANDLED;

__________________
botz is offline
 



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 20:12.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode