Raised This Month: $ Target: $400
 0% 

Add the cause of the plugin


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Author Message
FeeD
New Member
Join Date: Jun 2012
Old 06-23-2012 , 18:21   Add the cause of the plugin
Reply With Quote #1

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: (
FeeD 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 06:10.


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