Ще се опитам да ти го направя утре.
Код за потвърждение: Избери целия код
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <nvault>
#include <playedTime>
#define IsPlayer(%1) (1 <= %1 <= g_players)
#define TOTALLEVELS 12
new const Levels[TOTALLEVELS] = {
25,
50,
100,
200,
300,
500,
750,
1000,
1250,
1500,
1750,
2000,
}
new const LevelNames[TOTALLEVELS][] = {
"Noob",
"Beginner",
"Learning",
"Knifer",
"Rambo",
"Butcher",
"Matrix",
"Probhop",
"Freak",
"Racer",
"Kill Bill",
"Respected Player"
}
new gTime[33], gLevel[33];
new g_vault
public plugin_init()
{
register_plugin("Ranks", "1.1" ,"Rmix");
g_vault = nvault_open("RankStats");
register_logevent ( "CmdRoundStart", 2, "1=Round_Start" )
set_task(60.0, "CheckLevel", _, _, _, "b", 0)
}
public plugin_end()
{
nvault_close(g_vault);
}
public CmdRoundStart ( )
{
new players [ 32 ], numb, id
get_players ( players, numb, "a" )
for ( new i; i < numb; i++ )
{
CmdShowHud (id)
}
}
public CheckLevel(id)
{
gTime[ id ] = get_user_ptime(id)
if( gTime[id] >= Levels[gLevel[id]] )
{
gLevel[id]++;
new szName[33];
get_user_name(id, szName, charsmax(szName));
client_print(id,print_chat,"*[Ranks] Congratulations You are [Level: %i/%i] with Title %s!", gLevel[id], TOTALLEVELS, LevelNames[gLevel[id]-1]);
}
}
public CmdShowHud (id)
{
set_hudmessage ( 50, 50, 50, -1.0, 0.01 )
show_hudmessage ( id, "*[Ranks]Level: %i/%i | RankName: %i | Points: $%i", gLevel[id], TOTALLEVELS , LevelNames[gLevel[id]-1], gTime[id] )
set_task ( 0.2, "CmdShowHud", id )
}
public client_connect(id)
{
LoadData(id);
}
public client_disconnect(id)
{
SaveData(id);
gTime[id] = 0;
gLevel[id] = 0;
}
public SaveData(id)
{
new name[35];
get_user_name(id,name,34);
new vaultkey[64],vaultdata[256];
format(vaultkey,63,"%s", name);
format(vaultdata,255,"%i#%i#",gTime[id],gLevel[id]);
nvault_set(g_vault,vaultkey,vaultdata);
return PLUGIN_CONTINUE;
}
LoadData(id) {
new name[35];
get_user_name(id,name,34);
new vaultkey[64],vaultdata[256];
format(vaultkey,63,"%s",name);
format(vaultdata,255,"%i#%i#",gTime[id],gLevel[id]);
nvault_get(g_vault,vaultkey,vaultdata,255);
replace_all(vaultdata, 255, "#", " ");
new playerxp[32], playerlevel[32];
parse(vaultdata, playerxp, 31, playerlevel, 31);
gTime[id] = str_to_num(playerxp);
gLevel[id] = str_to_num(playerlevel);
return PLUGIN_CONTINUE;
}
Ако не стане, утре.