#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <fvault>
#define PLUGIN "SkinRendszer"
#define VERSION "1.0"
#define AUTHOR "Mforce"
#define PREFIX "Psd#"
new const g_vaultName[] = "arany";
new pont[33];
new iSteamID[33][32];
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /menu", "ShowMenu")
register_concmd("amx_pontok", "admin_pontok", ADMIN_KICK," <Jatekos neve> - Kiirja a jatekos pontjait.");
register_event("DeathMsg", "halal", "a")
}
public halal() {
new killer = read_data(1)
new victim = read_data(2)
new kteam = get_user_team(killer)
new vteam = get_user_team(victim)
if(killer != victim && kteam != vteam) {
new mennyiseg = random_num(10, 100)
pont[killer] += mennyiseg
print_color(killer, "!g[%s]!y Kaptál !t[+%d] aranyat!y az ölésért!", PREFIX, mennyiseg)
}
}
public ShowMenu(id) {
new temp[128];
formatex(temp, charsmax(temp), "\r[Psd#]\d Only Dust2 Server^n\wArany: \y%d", pont[id]);
new menu = menu_create(temp, "mh_MyMenu");
formatex(temp, charsmax(temp), "AK47 Skinek[Hamarosan]");
menu_additem(menu, temp, "0", 0);
formatex(temp, charsmax(temp), "M4A1 Skinek[Hamarosan]");
menu_additem(menu, temp, "1", 0);
formatex(temp, charsmax(temp), "AWP Skinek[Hamarosan]");
menu_additem(menu, temp, "2", 0);
formatex(temp, charsmax(temp), "Deagle Skinek[Hamarosan]");
menu_additem(menu, temp, "3", 0);
formatex(temp, charsmax(temp), "Glock Skinek[Hamarosan]");
menu_additem(menu, temp, "4", 0);
formatex(temp, charsmax(temp), "USP Skinek[Hamarosan]");
menu_additem(menu, temp, "5", 0);
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_setprop(menu, MPROP_EXITNAME, "Kilepes");
menu_display(id, menu, 0);
return PLUGIN_HANDLED;
}
public mh_MyMenu(id, menu, item) {
if(item == MENU_EXIT)
{
menu_cancel(id);
return PLUGIN_HANDLED;
}
new command[6], name[64], access, callback;
menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback);
switch(item)
{
case 0: ShowMenu(id)
case 1: ShowMenu(id)
case 2: ShowMenu(id)
case 3: ShowMenu(id)
case 4: ShowMenu(id)
case 5: ShowMenu(id)
}
return PLUGIN_HANDLED;
}
public admin_pontok(id,level,cid)
{
if(!cmd_access(id, level, cid, 2))
return PLUGIN_HANDLED;
static arg[32];
read_argv(1, arg, 31);
new player = cmd_target(id, arg, 2);
if(!player)
return PLUGIN_HANDLED;
static name[32];
get_user_name(player, name, charsmax(name));
console_print(id, "-----------------------(#AranyRendszer#)-----------------------");
console_print(id, "%s Neve: %i aranyai.", name, pont[player]);
console_print(id, "-----------------------------------------------------------------");
return PLUGIN_HANDLED;
}
public client_putinserver(id) {
if (is_user_bot(id) || is_user_hltv(id))
return;
else {
get_user_authid(id, iSteamID[id], charsmax(iSteamID));
if (containi(iSteamID[id], "_ID_LAN") != -1) get_user_ip(id, iSteamID[id], charsmax(iSteamID), 1);
pont[id] = 0;
Load(id);
}
}
public client_disconnect(id) {
if (is_user_bot(id) || is_user_hltv(id))
return;
else Save(id);
}
Load(id) {
new szData[64]
new szKey[40]
formatex(szKey , 39, "%s" , iSteamID[id])
if(fvault_get_data(g_vaultName, szKey, szData, 31))
{
new iSpacePos = contain(szData, " ")
if(iSpacePos > -1)
{
new fpont[32];
parse(szData , fpont, 31)
pont[id] = str_to_num(fpont)
}
}
}
Save(id) {
new szData[64]
new szKey[40]
formatex(szKey, 39, "%s", iSteamID[id])
formatex(szData, 34, "%i ", pont[id])
fvault_set_data(g_vaultName, szKey, szData)
}
stock print_color(const id, const input[], any:...)
{
new count = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)
replace_all(msg, 190, "!g", "^4")
replace_all(msg, 190, "!y", "^1")
replace_all(msg, 190, "!t", "^3")
if (id) players[0] = id; else get_players(players, count, "ch")
{
for (new i = 0; i < count; i++)
{
if (is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
write_byte(players[i])
write_string(msg)
message_end()
}
}
}
return PLUGIN_HANDLED
}