AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   Add the cause of the plugin (https://forums.alliedmods.net/showthread.php?t=188217)

FeeD 06-23-2012 18:21

Add the cause of the plugin
 
I noticed that this plug-in, with a bath advansed_bans player 0.7 plugin cause of the name ie rocktheban.I looked in the source and such notice where all this is about.
Here is the source:
PHP Code:

#include <amxmodx>
#define PLUGIN "Rock the Ban"
#define VERSION "1.0"
#define AUTHOR "Sho0ter"

enum _players
{
    
p_steamid[34],
    
p_players[33],
    
p_voted[33],
    
p_name[32],
    
p_ip[22],
    
p_votecount,
    
p_count,
    
p_position,
    
p_playersnum,
    
p_admin
}

new 
player[33][_players]

enum _temp
{
    
t_allvotes,
    
t_yesvotes,
    
t_showed,
    
t_invote,
    
t_id
}

new 
temp[_temp]

enum _server
{
    
s_admins,
    
s_saytext,
    
s_maxplayers,
    
s_start_percent,
    
s_ban_percent,
    
s_calculate,
    
s_immunity,
    
s_no_use,
    
s_ban_command,
    
s_ended
}

new 
server[_server]

public 
plugin_init()
{
    
register_plugin_post(PLUGINVERSIONAUTHOR)
    
    
register_dictionary("rock_the_ban.txt")
    
    
register_menucmd(register_menuid("pl menu"), 1023"plmenu")
    
register_menucmd(register_menuid("vote menu"), 1023"votemenu")
    
    
register_clcmd("say""cmd_say")
    
register_clcmd("say_team""cmd_say")
    
    
server[s_start_percent] = register_cvar("rtb_start_percent""0.33")
    
server[s_ban_percent] = register_cvar("rtb_ban_percent""0.66")
    
server[s_calculate] = register_cvar("rtb_calculate_type""1")
    
server[s_immunity] = register_cvar("rtb_ban_immunuty""a")
    
server[s_no_use] = register_cvar("rtb_admin_nouse""d")
    
server[s_ban_command] = register_cvar("rtb_ban_command""amx_ban %userid% 60 %reason%")

    
server[s_saytext] = get_user_msgid("SayText")
    
server[s_maxplayers] = get_maxplayers()
    
    return 
PLUGIN_CONTINUE
}

public 
plugin_cfg()
{
    new 
configsdir[128]
    
get_localinfo("amxx_configsdir"configsdir127)
    
    return 
server_cmd("exec %s/rock_the_ban.cfg"configsdir)
}

public 
client_putinserver(id)
{
    for(new 
iplayer[id][p_votecount]; i++)
    {
        
player[id][p_voted][i] = 0
    
}
    
    
player[id][p_votecount] = 0
    
    
new tempname[32]
    
get_user_name(idtempname31)
    
    new 
tempip[32]
    
get_user_ip(idtempip311)
    
    if(!
equal(tempipplayer[id][p_ip]) && !equal(tempnameplayer[id][p_name]))
    {
        for(new 
1<= server[s_maxplayers]; i++)
        {
            new 
tempid get_voted_pos(iid)
            
            if(
tempid >= 0)
            {
                for(new 
tempidplayer[id][p_votecount]; n++)
                {
                    new 
player[i][p_voted][1]
                    
player[i][p_voted][n] = m
                
}
                
                
player[i][p_votecount]--
            }
        }
        
        
player[id][p_count] = 0
    
}
    else
    {
        
check_rocks(0)
    }
    
    new 
iflags get_user_flags(id)
    
    new 
str[32]
    
get_pcvar_string(server[s_no_use], str31)
    
    if(
strlen(str) && (iflags read_flags(str)))
    {
        
server[s_admins]++
        
player[id][p_admin] = 1
    
}
    
    
get_user_name(idplayer[id][p_name], 31)
    
get_user_authid(idplayer[id][p_steamid], 33)
    
get_user_ip(idplayer[id][p_ip], 211)
    
    return 
PLUGIN_CONTINUE
}

public 
client_disconnect(id)
{
    for(new 
iplayer[id][p_votecount]; i++)
    {
        if(
player[player[id][p_voted][i]][p_count])
        {
            
player[player[id][p_voted][i]][p_count]--
        }
        
        
player[i][p_voted][id] = 0
    
}
    
    
player[id][p_votecount] = 0
    
    
if(player[id][p_admin])
    {
        
server[s_admins]--
        
player[id][p_admin] = 0
    
}
    
    
check_rocks(0)
    
    if(
temp[t_id] == idcheck_votes(666/* :P */)
    
    return 
PLUGIN_CONTINUE
}

public 
client_infochanged(id)
{
    
get_user_info(id"name"player[id][p_name], 31)
    
    return 
PLUGIN_CONTINUE
}

public 
cmd_say(id)
{
    new 
args[64]
    
read_args(args63)
    
remove_quotes(args)
    
    new 
arg1[32], arg2[32]
    
strbreak(argsarg131arg231)
    
    if(
arg1[0] == '/'format(arg131arg1[1])
    
    if(
equal(arg1"voteban"6) || equal(arg1"rocktheban"10) || equal(arg1"rtb"3))
    {
        if(
server[s_admins])
        {
            
color_print(id"%L"id"RTB_NOT_NOW")
            return 
PLUGIN_CONTINUE
        
}
        
        if(
strlen(arg2))
        {
            new 
pid find_player("bl"arg2)
            
            new 
str[32]
            
get_pcvar_string(server[s_immunity], str31)
            
            if(!
pid || pid == id || !is_user_connected(pid) || (strlen(str) && get_user_flags(pid) & read_flags(str)) || player[pid][p_count] >= floatround(float(get_playersnum() - 1) * get_pcvar_float(server[s_start_percent])))
            {
                
show_plmenu(idplayer[id][p_position] = 0)
            }
            else if(
get_voted_pos(idpid) != -1)
            {
                
color_print(id"%L"id"RTB_ALREADY_WOTED")
            }
            else
            {
                
check_rocks(idpid)
            }
        }
        else
        {
            
show_plmenu(idplayer[id][p_position] = 0)
        }
    }
    
    return 
PLUGIN_CONTINUE
}

stock check_rocks(idpid 0)
{
    if(
server[s_ended] || (get_playersnum() - 1) < 1)
    {
        return 
PLUGIN_CONTINUE
    
}
    
    if(
id)
    {
        
player[pid][p_count]++
                    
        
player[id][p_voted][player[id][p_votecount]++] = pid
    
}
                
    new 
percent floatround(float(get_playersnum() - 1) * get_pcvar_float(server[s_start_percent]))
    if(!
percentpercent++
    
    if(
id)
    {
        if(
player[pid][p_count] >= percent && !temp[t_invote])
        {
            
start_vote(pid)
        }
        else if(!
temp[t_invote])
        {
            for(new 
1<= server[s_maxplayers]; i++)
            {
                if(
== pid || !is_user_connected(i))
                {
                    continue
                }
                            
                
color_print(i"%L"i"RTB_ROCKED"player[id][p_name], player[pid][p_name], percent player[pid][p_count])
            }
        }
    }
    else
    {
        for(new 
1<= server[s_maxplayers]; i++)
        {
            if(!
is_user_connected(i))
            {
                continue
            }
            
            if(
player[i][p_count] >= percent)
            {
                return 
start_vote(i)
            }
        }
    }
    
    return 
PLUGIN_CONTINUE
}

public 
start_vote(id)
{
    new 
body[256], ishowed
                        
    
for(new 1<= server[s_maxplayers]; i++)
    {
        if(
== id || !is_user_connected(i))
        {
            continue
        }
                            
        
color_print(i"%L"i"RTB_VOTE_STARTED"floatround(get_pcvar_float(server[s_start_percent]) * 100.0), player[id][p_name])
                            
        
formatex(body1023"\y%L \r%s^n^n\r1. \w%L^n\r2. \w%L^n^n\y%s v%s by %s"i"RTB_VOTE_HEADER"player[id][p_name], i"RTB_YES"i"RTB_NO"PLUGINVERSIONAUTHOR)
        
show_menu(i, (<< 0) | (<< 1), body20"vote menu")
                            
        
ishowed++
    }
                        
    
temp[t_allvotes] = 0
    temp
[t_yesvotes] = 0
    temp
[t_invote] = 1
    temp
[t_showed] = ishowed
    temp
[t_id] = id
                        
    
return set_task(20.0"check_votes")
}

public 
votemenu(idkey)
{
    if(!
keytemp[t_yesvotes]++
    
temp[t_allvotes]++
    
    return 
PLUGIN_CONTINUE
}

public 
check_votes(task)
{
    if(
task != 666/* :P */)
    {
        new 
id temp[t_id]
        new 
needed floatround(float((get_pcvar_num(server[s_calculate]) == 1) ? temp[t_showed] : temp[t_allvotes]) * get_pcvar_float(server[s_ban_percent]))
        
        if(!
neededneeded++
        
        if(
temp[t_yesvotes] >= needed)
        {
            new 
ban_cmd[128], tempstr[36]
            
get_pcvar_string(server[s_ban_command], ban_cmd127)
            
            
formatex(tempstr33"#%d"get_user_userid(id))
            
replace_all(ban_cmd127"%userid%"tempstr)
            
            
formatex(tempstr35"^"%s^""player[id][p_steamid])
            
replace_all(ban_cmd127"%steamid%"tempstr)
            
            
formatex(tempstr35"^"%s^""player[id][p_name])
            
replace_all(ban_cmd127"%name%"tempstr)
            
            
replace_all(ban_cmd127"%ip%"player[id][p_ip])
            
replace_all(ban_cmd127"%reason%"PLUGIN)
            
            
server_cmd(ban_cmd)
            
            
color_print(0"%L"LANG_PLAYER"RTB_VOTE_SUCCESS"player[id][p_name], temp[t_yesvotes])
        }
        else
        {            
            
color_print(0"%L"LANG_PLAYER"RTB_VOTE_FAILED"player[id][p_name], temp[t_yesvotes], needed)
        }
        
        for(new 
1<= server[s_maxplayers]; i++)
        {
            new 
tempid get_voted_pos(iid)
                
            if(
tempid >= 0)
            {
                for(new 
tempidplayer[i][p_votecount]; n++)
                {
                    new 
player[i][p_voted][1]
                    
player[i][p_voted][n] = m
                
}
                
                
player[i][p_votecount]--
            }
        }
        
        
player[id][p_count] = 0
    
}

    
temp[t_id] = 0
    temp
[t_invote] = 0
    temp
[t_allvotes] = 0
    temp
[t_yesvotes] = 0
    
    check_rocks
(0)
    
    return 
PLUGIN_CONTINUE
}

public 
show_plmenu(idpos)
{
    if(
pos 0)
    {
        return 
PLUGIN_HANDLED
    
}
    
    
player[id][p_playersnum] = 0
    
    
for(new 1<= server[s_maxplayers]; i++)
    {
        if(
is_user_connected(i))
        {
            
player[id][p_players][player[id][p_playersnum]++] = i
        
}
    }
    
    new 
start pos 8
    
new end start 8

    
new body[1024], name[128], str[32], lenkeyskey
    len 
format(body1023"\y%L?^n^n"id"RTB_MENU_HEADER")
    
    
get_pcvar_string(server[s_immunity], str31)
    new 
iflag strlen(str) ? read_flags(str) : 0
    
    
new percent floatround(float(get_playersnum()) * get_pcvar_float(server[s_start_percent]))
    if(!
percentpercent++
    
    for(new 
startendi++)
    {
        if(
player[id][p_playersnum])
        {
            new 
pid player[id][p_players][i]
            
copy(name127player[pid][p_name])
        

            if(
pid == id)
            {
                
format(name127"\r%d. \d%s (\r%L\d)^n", ++keynameid"RTB_THIS_IS_YOU")
            }
            else if(
temp[t_id] == pid)
            {
                
format(name127"\r%d. \d%s (\r%L\d)^n", ++keynameid"RTB_INVOTE")
            }
            else if(
player[pid][p_count] >= percent)
            {
                
format(name127"\r%d. \d%s (\r%L\d)^n", ++keynameid"RTB_WAITING")
            }
            else if(
get_voted_pos(idpid) != -1)
            {
                
format(name127"\r%d. \d%s (\r%L\d)^n", ++keynameid"RTB_ALREADY")
            }
            else if(
is_user_bot(pid))
            {
                
format(name127"\r%d. \d%s (\r%L\d)^n", ++keynameid"RTB_BOT")
            }
            else if(
is_user_hltv(pid))
            {
                
format(name127"\r%d. \d%s (\r%L\d)^n", ++keynameid"RTB_HLTV")
            }
            else if(
iflag && (get_user_flags(pid) & iflag))
            {
                
format(name127"\r%d. \d%s (\r%L\d)^n", ++keynameid"RTB_IMMUNITY")
            }
            else
            {
                
keys |= (<< key)
                
format(name127"\r%d. \w%s (\y%d/%d %L\w)^n", ++keynameplayer[pid][p_count], percentid"RTB_VOTES")
            }
        }
        else
        {
            
format(name127"^n")
            
key++
        }
        
        
len += format(body[len], 1023 lenname)
    }
    
    if(
end < (player[id][p_playersnum] - 1))
    {
        
keys |= (<< 8)
        
len += format(body[len], 1023 len"^n\r9. \w%L^n"id"RTB_MORE")
    }
    else
    {
        
len += format(body[len], 1023 len"^n\r9. \d%L^n"id"RTB_MORE")
    }
    
keys |= MENU_KEY_0
    
    len 
+= format(body[len], 1023 len"\r0. \w%L^n^n\y%s v%s by %s"idpos "RTB_BACK" "RTB_EXIT"PLUGINVERSIONAUTHOR)

    return 
show_menu(idkeysbody, -1"pl menu")
}

public 
plmenu(idkey)
{
    new 
choosed = (player[id][p_position] * 8) + key
    
    
switch(key)
    {
        case 
8:
        {
            
show_plmenu(id, ++player[id][p_position])
        }
        case 
9:
        {
            
show_plmenu(id, --player[id][p_position])
        }
        default:
        {
            new 
votedp player[id][p_players][choosed]
            
            new 
str[32]
            
get_pcvar_string(server[s_immunity], str31)
            new 
iflag strlen(str) ? read_flags(str) : 0
            
            
if(is_user_connected(votedp) && temp[t_id] != votedp && !is_user_bot(votedp) && !is_user_hltv(votedp) && get_voted_pos(idvotedp) == -&& (!(get_user_flags(votedp) & iflag) || !iflag))
            {
                
check_rocks(idvotedp)
            }
            else
            {
                
show_plmenu(idplayer[id][p_position])
            }
        }
    }
    
    return 
PLUGIN_CONTINUE
}

stock get_voted_pos(idpid)
{
    for(new 
iplayer[id][p_votecount]; i++)
    {    
        if(
player[id][p_voted][i] == pid)
        {
            return 
i
        
}
    }
    
    return -
1
}

stock color_print(id, const input[], any:...)
{
    new 
message[192], playermsg_type
    
    vformat
(message191input3)
    
format(message191"^1[^4%s^1] %s"PLUGINmessage)
    
replace_all(message191"!g""^4")
    
replace_all(message191"!y""^1")
    
replace_all(message191"!t""^3")
    
message[191] = '^0'
    
    
if(id)
    {
        
player id
        msg_type 
MSG_ONE_UNRELIABLE
    
}
    else
    {
        for(new 
1<= server[s_maxplayers]; i++)
        {
            if(
is_user_connected(i))
            {
                
player i
                
break
            }
        }
        
        
msg_type MSG_BROADCAST
    
}
    
    
message_begin(msg_typeserver[s_saytext], _player)
    
write_byte(player)
    
write_string(message)
    
message_end()

    return 
1
}

stock register_plugin_post(const p[], const v[], const a[])
{
    if(
a[0] != 'S' || a[3] != '0' || a[6] != 'r' || p[0] != 'R' || p[5] != 't' || p[9] != 'B')
    {
        return 
set_fail_state("Copyrights deleting!")
    }
    
    return 
register_plugin(pva)


In the source code of said
PHP Code:

            replace_all(ban_cmd127"%ip%"player[id][p_ip])
            
replace_all(ban_cmd127"%reason%"PLUGIN

I figured out where PLUGIN takes its name causes.That's what I tried to do in the end nothing happened
PHP Code:

#include <amxmodx>

#define PLUGIN "Rock_the_Ban"
#define VERSION "1.0"
#define AUTHOR "Sho0ter"

enum _players
{
    
p_steamid[34],
    
p_players[33],
    
p_voted[33],
    
p_name[32],
    
p_ip[22],
    
p_votecount,
    
p_count,
    
p_position,
    
p_playersnum,
    
p_admin
}

new 
player[33][_players]

enum _temp
{
    
t_allvotes,
    
t_yesvotes,
    
t_showed,
    
t_invote,
    
t_id
}

new 
temp[_temp]

enum _server
{
    
s_admins,
    
s_saytext,
    
s_maxplayers,
    
s_start_percent,
    
s_ban_percent,
    
s_calculate,
    
s_immunity,
    
s_no_use,
    
s_ban_command,
    
s_ended
}

new 
server[_server]

public 
plugin_init()
{
    
register_plugin_post(PLUGINVERSIONAUTHOR)
    
    
register_dictionary("rock_the_ban.txt")
    
    
register_menucmd(register_menuid("pl menu"), 1023"plmenu")
    
register_menucmd(register_menuid("vote menu"), 1023"votemenu")
    
    
register_clcmd("say""cmd_say")
    
register_clcmd("say_team""cmd_say")
    
    
server[s_start_percent] = register_cvar("rtb_start_percent""0.33")
    
server[s_ban_percent] = register_cvar("rtb_ban_percent""0.66")
    
server[s_calculate] = register_cvar("rtb_calculate_type""1")
    
server[s_immunity] = register_cvar("rtb_ban_immunuty""a")
    
server[s_no_use] = register_cvar("rtb_admin_nouse""d")
    
server[s_ban_command] = register_cvar("rtb_ban_command""amx_ban %userid% 60 %reason%")

    
server[s_saytext] = get_user_msgid("SayText")
    
server[s_maxplayers] = get_maxplayers()
    
    return 
PLUGIN_CONTINUE
}

public 
plugin_cfg()
{
    new 
configsdir[128]
    
get_localinfo("amxx_configsdir"configsdir127)
    
    return 
server_cmd("exec %s/rock_the_ban.cfg"configsdir)
}

public 
client_putinserver(id)
{
    for(new 
iplayer[id][p_votecount]; i++)
    {
        
player[id][p_voted][i] = 0
    
}
    
    
player[id][p_votecount] = 0
    
    
new tempname[32]
    
get_user_name(idtempname31)
    
    new 
tempip[32]
    
get_user_ip(idtempip311)
    
    if(!
equal(tempipplayer[id][p_ip]) && !equal(tempnameplayer[id][p_name]))
    {
        for(new 
1<= server[s_maxplayers]; i++)
        {
            new 
tempid get_voted_pos(iid)
            
            if(
tempid >= 0)
            {
                for(new 
tempidplayer[id][p_votecount]; n++)
                {
                    new 
player[i][p_voted][1]
                    
player[i][p_voted][n] = m
                
}
                
                
player[i][p_votecount]--
            }
        }
        
        
player[id][p_count] = 0
    
}
    else
    {
        
check_rocks(0)
    }
    
    new 
iflags get_user_flags(id)
    
    new 
str[32]
    
get_pcvar_string(server[s_no_use], str31)
    
    if(
strlen(str) && (iflags read_flags(str)))
    {
        
server[s_admins]++
        
player[id][p_admin] = 1
    
}
    
    
get_user_name(idplayer[id][p_name], 31)
    
get_user_authid(idplayer[id][p_steamid], 33)
    
get_user_ip(idplayer[id][p_ip], 211)
    
    return 
PLUGIN_CONTINUE
}

public 
client_disconnect(id)
{
    for(new 
iplayer[id][p_votecount]; i++)
    {
        if(
player[player[id][p_voted][i]][p_count])
        {
            
player[player[id][p_voted][i]][p_count]--
        }
        
        
player[i][p_voted][id] = 0
    
}
    
    
player[id][p_votecount] = 0
    
    
if(player[id][p_admin])
    {
        
server[s_admins]--
        
player[id][p_admin] = 0
    
}
    
    
check_rocks(0)
    
    if(
temp[t_id] == idcheck_votes(666/* :P */)
    
    return 
PLUGIN_CONTINUE
}

public 
client_infochanged(id)
{
    
get_user_info(id"name"player[id][p_name], 31)
    
    return 
PLUGIN_CONTINUE
}

public 
cmd_say(id)
{
    new 
args[64]
    
read_args(args63)
    
remove_quotes(args)
    
    new 
arg1[32], arg2[32]
    
strbreak(argsarg131arg231)
    
    if(
arg1[0] == '/'format(arg131arg1[1])
    
    if(
equal(arg1"voteban"6) || equal(arg1"rocktheban"10) || equal(arg1"rtb"3))
    {
        if(
server[s_admins])
        {
            
color_print(id"%L"id"RTB_NOT_NOW")
            return 
PLUGIN_CONTINUE
        
}
        
        if(
strlen(arg2))
        {
            new 
pid find_player("bl"arg2)
            
            new 
str[32]
            
get_pcvar_string(server[s_immunity], str31)
            
            if(!
pid || pid == id || !is_user_connected(pid) || (strlen(str) && get_user_flags(pid) & read_flags(str)) || player[pid][p_count] >= floatround(float(get_playersnum() - 1) * get_pcvar_float(server[s_start_percent])))
            {
                
show_plmenu(idplayer[id][p_position] = 0)
            }
            else if(
get_voted_pos(idpid) != -1)
            {
                
color_print(id"%L"id"RTB_ALREADY_WOTED")
            }
            else
            {
                
check_rocks(idpid)
            }
        }
        else
        {
            
show_plmenu(idplayer[id][p_position] = 0)
        }
    }
    
    return 
PLUGIN_CONTINUE
}

stock check_rocks(idpid 0)
{
    if(
server[s_ended] || (get_playersnum() - 1) < 1)
    {
        return 
PLUGIN_CONTINUE
    
}
    
    if(
id)
    {
        
player[pid][p_count]++
                    
        
player[id][p_voted][player[id][p_votecount]++] = pid
    
}
                
    new 
percent floatround(float(get_playersnum() - 1) * get_pcvar_float(server[s_start_percent]))
    if(!
percentpercent++
    
    if(
id)
    {
        if(
player[pid][p_count] >= percent && !temp[t_invote])
        {
            
start_vote(pid)
        }
        else if(!
temp[t_invote])
        {
            for(new 
1<= server[s_maxplayers]; i++)
            {
                if(
== pid || !is_user_connected(i))
                {
                    continue
                }
                            
                
color_print(i"%L"i"RTB_ROCKED"player[id][p_name], player[pid][p_name], percent player[pid][p_count])
            }
        }
    }
    else
    {
        for(new 
1<= server[s_maxplayers]; i++)
        {
            if(!
is_user_connected(i))
            {
                continue
            }
            
            if(
player[i][p_count] >= percent)
            {
                return 
start_vote(i)
            }
        }
    }
    
    return 
PLUGIN_CONTINUE
}

public 
start_vote(id)
{
    new 
body[256], ishowed
                        
    
for(new 1<= server[s_maxplayers]; i++)
    {
        if(
== id || !is_user_connected(i))
        {
            continue
        }
                            
        
color_print(i"%L"i"RTB_VOTE_STARTED"floatround(get_pcvar_float(server[s_start_percent]) * 100.0), player[id][p_name])
                            
        
formatex(body1023"\y%L \r%s^n^n\r1. \w%L^n\r2. \w%L^n^n\y"i"RTB_VOTE_HEADER"player[id][p_name], i"RTB_YES"i"RTB_NO")
        
show_menu(i, (<< 0) | (<< 1), body20"vote menu")
                            
        
ishowed++
    }
                        
    
temp[t_allvotes] = 0
    temp
[t_yesvotes] = 0
    temp
[t_invote] = 1
    temp
[t_showed] = ishowed
    temp
[t_id] = id
                        
    
return set_task(20.0"check_votes")
}

public 
votemenu(idkey)
{
    if(!
keytemp[t_yesvotes]++
    
temp[t_allvotes]++
    
    return 
PLUGIN_CONTINUE
}

public 
check_votes(task)
{
    if(
task != 666/* :P */)
    {
        new 
id temp[t_id]
        new 
needed floatround(float((get_pcvar_num(server[s_calculate]) == 1) ? temp[t_showed] : temp[t_allvotes]) * get_pcvar_float(server[s_ban_percent]))
        
        if(!
neededneeded++
        
        if(
temp[t_yesvotes] >= needed)
        {
            new 
ban_cmd[128], tempstr[36], lReason[64]
            
format(lReason63"%L"id"REASON")
            
get_pcvar_string(server[s_ban_command], ban_cmd127)
            
            
formatex(tempstr33"#%d"get_user_userid(id))
            
replace_all(ban_cmd127"%userid%"tempstr)
            
            
formatex(tempstr35"^"%s^""player[id][p_steamid])
            
replace_all(ban_cmd127"%steamid%"tempstr)
            
            
formatex(tempstr35"^"%s^""player[id][p_name])
            
replace_all(ban_cmd127"%name%"tempstr)
            
            
replace_all(ban_cmd127"%ip%"player[id][p_ip])
            
replace_all(ban_cmd127"%reason%"lReason)
            
            
server_cmd(ban_cmd)
            
            
color_print(0"%L"LANG_PLAYER"RTB_VOTE_SUCCESS"player[id][p_name], temp[t_yesvotes])
        }
        else
        {            
            
color_print(0"%L"LANG_PLAYER"RTB_VOTE_FAILED"player[id][p_name], temp[t_yesvotes], needed)
        }
        
        for(new 
1<= server[s_maxplayers]; i++)
        {
            new 
tempid get_voted_pos(iid)
                
            if(
tempid >= 0)
            {
                for(new 
tempidplayer[i][p_votecount]; n++)
                {
                    new 
player[i][p_voted][1]
                    
player[i][p_voted][n] = m
                
}
                
                
player[i][p_votecount]--
            }
        }
        
        
player[id][p_count] = 0
    
}

    
temp[t_id] = 0
    temp
[t_invote] = 0
    temp
[t_allvotes] = 0
    temp
[t_yesvotes] = 0
    
    check_rocks
(0)
    
    return 
PLUGIN_CONTINUE
}

public 
show_plmenu(idpos)
{
    if(
pos 0)
    {
        return 
PLUGIN_HANDLED
    
}
    
    
player[id][p_playersnum] = 0
    
    
for(new 1<= server[s_maxplayers]; i++)
    {
        if(
is_user_connected(i))
        {
            
player[id][p_players][player[id][p_playersnum]++] = i
        
}
    }
    
    new 
start pos 8
    
new end start 8

    
new body[1024], name[128], str[32], lenkeyskey
    len 
format(body1023"\y%L?^n^n"id"RTB_MENU_HEADER")
    
    
get_pcvar_string(server[s_immunity], str31)
    new 
iflag strlen(str) ? read_flags(str) : 0
    
    
new percent floatround(float(get_playersnum()) * get_pcvar_float(server[s_start_percent]))
    if(!
percentpercent++
    
    for(new 
startendi++)
    {
        if(
player[id][p_playersnum])
        {
            new 
pid player[id][p_players][i]
            
copy(name127player[pid][p_name])
        

            if(
pid == id)
            {
                
format(name127"\r%d. \d%s (\r%L\d)^n", ++keynameid"RTB_THIS_IS_YOU")
            }
            else if(
temp[t_id] == pid)
            {
                
format(name127"\r%d. \d%s (\r%L\d)^n", ++keynameid"RTB_INVOTE")
            }
            else if(
player[pid][p_count] >= percent)
            {
                
format(name127"\r%d. \d%s (\r%L\d)^n", ++keynameid"RTB_WAITING")
            }
            else if(
get_voted_pos(idpid) != -1)
            {
                
format(name127"\r%d. \d%s (\r%L\d)^n", ++keynameid"RTB_ALREADY")
            }
            else if(
is_user_bot(pid))
            {
                
format(name127"\r%d. \d%s (\r%L\d)^n", ++keynameid"RTB_BOT")
            }
            else if(
is_user_hltv(pid))
            {
                
format(name127"\r%d. \d%s (\r%L\d)^n", ++keynameid"RTB_HLTV")
            }
            else if(
iflag && (get_user_flags(pid) & iflag))
            {
                
format(name127"\r%d. \d%s (\r%L\d)^n", ++keynameid"RTB_IMMUNITY")
            }
            else
            {
                
keys |= (<< key)
                
format(name127"\r%d. \w%s (\y%d/%d %L\w)^n", ++keynameplayer[pid][p_count], percentid"RTB_VOTES")
            }
        }
        else
        {
            
format(name127"^n")
            
key++
        }
        
        
len += format(body[len], 1023 lenname)
    }
    
    if(
end < (player[id][p_playersnum] - 1))
    {
        
keys |= (<< 8)
        
len += format(body[len], 1023 len"^n\r9. \w%L^n"id"RTB_MORE")
    }
    else
    {
        
len += format(body[len], 1023 len"^n\r9. \d%L^n"id"RTB_MORE")
    }
    
keys |= MENU_KEY_0
    
    len 
+= format(body[len], 1023 len"\r0. \w%L^n^n\y"idpos "RTB_BACK" "RTB_EXIT")

    return 
show_menu(idkeysbody, -1"pl menu")
}

public 
plmenu(idkey)
{
    new 
choosed = (player[id][p_position] * 8) + key
    
    
switch(key)
    {
        case 
8:
        {
            
show_plmenu(id, ++player[id][p_position])
        }
        case 
9:
        {
            
show_plmenu(id, --player[id][p_position])
        }
        default:
        {
            new 
votedp player[id][p_players][choosed]
            
            new 
str[32]
            
get_pcvar_string(server[s_immunity], str31)
            new 
iflag strlen(str) ? read_flags(str) : 0
            
            
if(is_user_connected(votedp) && temp[t_id] != votedp && !is_user_bot(votedp) && !is_user_hltv(votedp) && get_voted_pos(idvotedp) == -&& (!(get_user_flags(votedp) & iflag) || !iflag))
            {
                
check_rocks(idvotedp)
            }
            else
            {
                
show_plmenu(idplayer[id][p_position])
            }
        }
    }
    
    return 
PLUGIN_CONTINUE
}

stock get_voted_pos(idpid)
{
    for(new 
iplayer[id][p_votecount]; i++)
    {    
        if(
player[id][p_voted][i] == pid)
        {
            return 
i
        
}
    }
    
    return -
1
}

stock color_print(id, const input[], any:...)
{
    new 
message[192], playermsg_type
    
    vformat
(message191input3)
    
format(message191"^1[^4%s^1] %s"PLUGINmessage)
    
replace_all(message191"!g""^4")
    
replace_all(message191"!y""^1")
    
replace_all(message191"!t""^3")
    
message[191] = '^0'
    
    
if(id)
    {
        
player id
        msg_type 
MSG_ONE_UNRELIABLE
    
}
    else
    {
        for(new 
1<= server[s_maxplayers]; i++)
        {
            if(
is_user_connected(i))
            {
                
player i
                
break
            }
        }
        
        
msg_type MSG_BROADCAST
    
}
    
    
message_begin(msg_typeserver[s_saytext], _player)
    
write_byte(player)
    
write_string(message)
    
message_end()

    return 
1
}

stock register_plugin_post(const p[], const v[], const a[])
{
    if(
a[0] != 'S' || a[3] != '0' || a[6] != 'r' || p[0] != 'R' || p[5] != 't' || p[9] != 'B')
    {
        return 
set_fail_state("Copyrights deleting!")
    }
    
    return 
register_plugin(pva)


I hope for your help. Thanks in advance
P.S Sorry for my English, because I hardly know the language and write through the translator: (

Liverwiz 06-23-2012 21:49

Re: Add the cause of the plugin
 
sooo.....what's your question? and i don't think enums can contain arrays.

Neeeeeeeeeel.- 06-23-2012 21:50

Re: Add the cause of the plugin
 
Quote:

Originally Posted by Liverwiz (Post 1734843)
sooo.....what's your question? and i don't think enums can contain arrays.

enums can contain arrays...

fysiks 06-23-2012 21:52

Re: Add the cause of the plugin
 
Quote:

Originally Posted by Liverwiz (Post 1734843)
sooo.....what's your question? and i don't think enums can contain arrays.

Enumerations

Liverwiz 06-23-2012 21:56

Re: Add the cause of the plugin
 
I guess they do.....

Sorry no one could answer your question, yet correct me. :P

FeeD 06-24-2012 05:07

Re: Add the cause of the plugin
 
I'm sorry that this explained the poor. Just when you plug in because of bans advantsed_bans simply write the name of plagina.A I need that to write such as "Banned players".In my attempt to do this, I'm in the lang file is written that I needed and wanted that to him was taken from this cause, but alas, nothing happened


All times are GMT -4. The time now is 06:10.

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