Raised This Month: $ Target: $400
 0% 

[HELP] Rank System


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Author Message
fLaXXiE
Member
Join Date: Apr 2011
Old 05-14-2011 , 15:18   [HELP] Rank System
Reply With Quote #1

This plugin is private so i deleted only a little party of it! SORRY

I need to add to my rank mod, so admins can give and remove rank points.

PHP Code:
#include < amxmodx >
#include < amxmodx >
#include < amxmisc >
#include < cstrike >
#include < hamsandwich >
#include < fun >
#include < fakemeta >
#include < xs >
#include < colorchat >
#include <nvault>

#define IsPlayer(%1)  (1 <= %1 <= g_players) 
#define TOTALLEVELS 12
#define prefix "^x04[FB] Prisoner Rank:^x03"

new gXP[33], gLevel[33];
new 
points_killpoints_hs;
new 
g_vaultg_players;

public 
plugin_init()
{
    
register_plugin("Rank""1.0""fLaXXiE");
 
    
register_event("DeathMsg""eDeath""a");
 
    
points_kill register_cvar("hnsrank_kill""1");
    
points_hs register_cvar("hnsrank_hs","2");
    
g_vault nvault_open("HNSRANK");
    
g_players get_maxplayers();
    
    
register_clcmd("say /rank""ShowHud");
    
register_clcmd("say_team /rank""ShowHud");
}

public 
plugin_end()
{
    
nvault_close(g_vault);
}

public 
eDeath(id
{
    new 
killer read_data(1);
    new 
victim read_data(2);
    new 
gpoints_kill get_pcvar_num(points_kill);
    new 
gpoints_hs get_pcvar_num(points_hs);    
    
    if ( 
cs_get_user_team killer ) != CS_TEAM_CT )
    {
 
        if( 
IsPlayer(killer) && is_user_connected(killer) )
        {
            if( 
victim != killer )
        {
                if( 
cs_get_user_team(victim) != cs_get_user_team(killer) )
                {
                    if( 
is_user_alive(killer) )
                {
                        if(!
read_data(3))
                        {
                            
gXP[killer] += gpoints_kill
                            ColorChat 
killerGREY"%s You gained^x04 %d^x03 Points!"prefixgpoints_kill );
                        }
                        else if(
read_data(3))
                        {
                            
gXP[killer] += (gpoints_kill 2);
                            
ColorChat killerGREY"%s You gained^x04 3^x03 Points! (^x04Headshot^x03)"prefix, (gpoints_hs gpoints_kill ) );
                        }
    
                    
CheckLevel(killer);
                    
SaveData(killer);
                    }
                }
            }
        }    
    }
    return 
PLUGIN_HANDLED;
}

public 
CheckLevel(id)
{
    if( 
gXP[id] >= RANK[gLevel[id]] )
    {
        
gLevel[id]++;
        new 
szName[33];
        
get_user_name(idszNamecharsmax(szName));
        
ColorChat 0GREY"%s Congratulations to^x04 %s^x03! He now has title:^4 %s"prefixszNameRANKNAMES[gLevel[id]-1]);
    }
}

public 
ShowHud(id)
{
    new 
iLevelName[100];
    if( 
gLevel[id] > )
    {
        
formatex(iLevelNamecharsmax(iLevelName), "%s"RANKNAMES[gLevel[id]]);
    }
    else 
    {
        
formatex(iLevelNamecharsmax(iLevelName), "Noob");
    }
    
    new 
szName[33];
    
get_user_name(idszNamecharsmax(szName));
    
ColorChat 0GREY"%s %s has title:^x04 %s^x03 (^4 %d/%d^x03 )"prefixszNameiLevelNamegXP[id], RANK[gLevel[id]]);
}

public 
client_connect(id)
{
    
LoadData(id);
}

public 
client_disconnect(id)
{
    
SaveData(id);
    
gXP[id] = 0;
    
gLevel[id] = 0;
}

public 
SaveData(id)
{
    new 
AuthID[35];
    
get_user_authid(id,AuthID,34);

    new 
vaultkey[64],vaultdata[256];
    
format(vaultkey,63,"%s-FG"AuthID);
    
format(vaultdata,255,"%i#%i#",gXP[id],gLevel[id]);
    
nvault_set(g_vault,vaultkey,vaultdata);
    return 
PLUGIN_CONTINUE;
}

LoadData(id)
{
    new 
AuthID[35];
    
get_user_authid(id,AuthID,34);

    new 
vaultkey[64],vaultdata[256];
    
format(vaultkey,63,"%s-FG",AuthID);
    
format(vaultdata,255,"%i#%i#",gXP[id],gLevel[id]);
    
nvault_get(g_vault,vaultkey,vaultdata,255);

    
replace_all(vaultdata255"#"" ");

    new 
playerxp[32], playerlevel[32];

    
parse(vaultdataplayerxp31playerlevel31);

    
gXP[id] = str_to_num(playerxp);
    
gLevel[id] = str_to_num(playerlevel);

    return 
PLUGIN_CONTINUE;

}

Print(
iPlayer, const sMsg[], any:...)
{
    static 
iiPlayer iPlayer get_Player();
    if ( !
) return;
    
    new 
sMessage[256];
    new 
len formatex(sMessagesizeof(sMessage) - 1"");
    
vformat(sMessage[len], sizeof(sMessage) - lensMsg3);
    
sMessage[192] = '^0';
        
    static 
msgid_SayText;
    if ( !
msgid_SayText msgid_SayText get_user_msgid("SayText");
    
    new const 
team_Names[][] =
    {
        
"",
        
"TERRORIST",
        
"CT",
        
"SPECTATOR"
    
};
        
    new 
sTeam get_user_team(i);
    
    
team_Info(iiPlayerteam_Names[0]);
        
    
message_begin(iPlayer MSG_ONE_UNRELIABLE MSG_BROADCASTmsgid_SayText_iPlayer);
    
write_byte(i);
    
write_string(sMessage);
    
message_end();
        
    
team_Info(iiPlayerteam_Names[sTeam]);
}

team_Info(receiversendersTeam[])
{
    static 
msgid_TeamInfo;
    if ( !
msgid_TeamInfo msgid_TeamInfo get_user_msgid("TeamInfo");
    
    
message_begin(sender MSG_ONE_UNRELIABLE MSG_BROADCASTmsgid_TeamInfo_sender);
    
write_byte(receiver);
    
write_string(sTeam);
    
message_end();
}

get_Player()
{
    for ( new 
iPlayer 1iPlayer <= get_maxplayers(); iPlayer++ )
    {
        return 
iPlayer;
    }
    
    return 
0;

fLaXXiE is offline
Send a message via MSN to fLaXXiE Send a message via Skype™ to fLaXXiE
 



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 04:23.


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