Код за потвърждение: Избери целия код
#include <amxmodx>
#include <nvault>
#include <hamsandwich>
#include <colorchat>
#define SAVE_TYPE 1
#define MSG_TAG "FREE VIP"
new p_kills, p_flags;
new g_iVault;
new g_iKills[33];
new g_szData[33][35];
new bool:g_bFlagged[33];
public plugin_init()
{
register_plugin("Pro Become V.I.P.", "re1.0.4", "didoWEE");
register_cvar( "pb_vip_version", "re1.0.4", FCVAR_SERVER | FCVAR_SPONLY);
p_kills = register_cvar("amx_vip_kills", "5"); // The number of kills you need to become V.I.P.
p_flags = register_cvar("amx_vip_flags", "abcsn"); // The flags you get when you become V.I.P.
g_iVault = nvault_open("pb_vip");
RegisterHam(Ham_Spawn, "player", "fwdPlayerSpawn", 1);
RegisterHam(Ham_Killed, "player", "fwdPlayerKilled", 1);
}
public fwdPlayerSpawn(id)
{
if(!is_user_alive(id))
return HAM_IGNORED;
if(!is_real_player(id))
return HAM_IGNORED;
if(g_bFlagged[id])
return HAM_IGNORED;
if(!g_iKills[id])
ColorChat(id,GREEN, "^4[%s] ^1Players who play ^3regularly ^1are rewarded with ^4V.I.P. ^1privileges", MSG_TAG);
ColorChat(id,GREEN, "^4[%s] ^1You need^3 %i ^1kills more to become ^4V.I.P.", MSG_TAG, (get_pcvar_num(p_kills)-g_iKills[id]));
return HAM_IGNORED;
}
public fwdPlayerKilled(victim, killer, shouldgib)
{
if(!is_user_connected(killer))
return HAM_IGNORED;
if(killer == victim)
return HAM_IGNORED;
if(!is_real_player(killer))
return HAM_IGNORED;
if(g_bFlagged[killer])
return HAM_IGNORED;
g_iKills[killer]++;
SaveData(killer);
if(g_iKills[killer] < get_pcvar_num(p_kills))
{
ColorChat(killer,GREEN, "^4[%s] ^1You need ^3%i ^1kills more to become ^4V.I.P.", MSG_TAG, (get_pcvar_num(p_kills)-g_iKills[killer]));
return HAM_IGNORED;
}
g_bFlagged[killer] = true;
new flags[24];
get_pcvar_string(p_flags, flags, charsmax(flags));
set_user_flags(killer, read_flags(flags));
new name[32];
get_user_name(killer, name, charsmax(name));
ColorChat(0,GREEN, "^4[%s] ^1Congratulation to^4 %s^1 for reaching^3 %i ^1kills and becoming ^4V.I.P.", MSG_TAG, name, get_pcvar_num(p_kills));
return HAM_IGNORED;
}
public client_authorized(id)
UpdateData(id);
public client_infochanged(id)
set_task(0.1, "UpdateData", id);
public client_disconnected(id)
remove_task(id);
public UpdateData(id)
{
if(!is_real_player(id))
return PLUGIN_HANDLED;
static flags[24];
get_pcvar_string(p_flags, flags, charsmax(flags));
if(get_user_flags(id) & read_flags(flags))
{
g_bFlagged[id] = true;
return PLUGIN_CONTINUE;
}
switch(SAVE_TYPE)
{
case 1: get_user_name(id, g_szData[id], charsmax(g_szData[]));
case 2: get_user_ip(id, g_szData[id], charsmax(g_szData[]), 1);
case 3: get_user_authid(id, g_szData[id], charsmax(g_szData[]));
}
LoadData(id);
if(g_iKills[id] < get_pcvar_num(p_kills))
{
g_bFlagged[id] = false;
return PLUGIN_HANDLED;
}
set_user_flags(id, read_flags(flags));
g_bFlagged[id] = true;
return PLUGIN_CONTINUE;
}
LoadData(id)
{
new data[16];
g_iKills[id] = nvault_get(g_iVault, g_szData[id], data, charsmax(data)) ? str_to_num(data):0;
}
SaveData(id)
{
new data[16];
num_to_str(g_iKills[id], data, charsmax(data));
nvault_set(g_iVault, g_szData[id], data);
}
bool:is_real_player(id)
return ((is_user_bot(id) || is_user_hltv(id)) ? false : true);