/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <fvault>
#define PLUGIN "PontRendszer"
#define VERSION "1.0"
#define AUTHOR "mforce"
#define PREFIX "PontRendszer"
new const g_szVault1[] = "KES_MENU"
new fegyo[33], pont[33];
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say_team /pontok", "ShowMenu");
register_clcmd("say /pontok", "ShowMenu");
register_clcmd("say_team /menu", "ShowMenu");
register_clcmd("say /menu", "ShowMenu");
register_event("CurWeapon", "fegyver_valtas", "be", "1=1");
register_event("DeathMsg", "halal", "a");
}
public plugin_precache() {
precache_model("models/pontok/elso/v_knife.mdl");
precache_model("models/pontok/masodik/v_knife.mdl");
precache_model("models/pontok/harmadik/v_knife.mdl");
}
public fegyver_valtas(id) {
new fegyver = get_user_weapon(id)
if(fegyo[id] == 1 && fegyver == CSW_KNIFE)
{
set_pev(id, pev_viewmodel2, "models/pontok/elso/v_knife.mdl")
}
else if(fegyo[id] == 2 && fegyver == CSW_KNIFE)
{
set_pev(id, pev_viewmodel2, "models/pontok/masodik/v_knife.mdl")
}
else if(fegyo[id] == 3 && fegyver == CSW_KNIFE)
{
set_pev(id, pev_viewmodel2, "models/pontok/harmadik/v_knife.mdl")
}
}
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) {
pont[killer] ++
ChatColor(killer, "^4[%s]^1 Kaptál^3 1 pontot^1 az ölésért!", PREFIX)
}
}
public ShowMenu(id) {
new menucim[128], menukapcs[4][128];
formatex(menucim, charsmax(menucim), "\r[%s] \wKés menü ^nPontok: \y%i", PREFIX, pont[id]);
formatex(menukapcs[0], charsmax(menukapcs[]), "%s", fegyo[id] == 0 ? "Alap kés \y|AKTÍV|":"Alap kés");
formatex(menukapcs[1], charsmax(menukapcs[]), "%s", fegyo[id] == 1 ? "Első kés \y|AKTÍV|":"Első kés \r|100| Pont");
formatex(menukapcs[2], charsmax(menukapcs[]), "%s", fegyo[id] == 2 ? "Második kés \y|AKTÍV|":"Második kés \r|200| Pont");
formatex(menukapcs[3], charsmax(menukapcs[]), "%s", fegyo[id] == 3 ? "Harmadik kés \y|AKTÍV|":"Harmadik kés \r|300| Pont");
new menu = menu_create( menucim, "mh_MyMenu");
menu_additem(menu, menukapcs[0], "0", 0);
menu_additem(menu, menukapcs[1], "1", 0);
menu_additem(menu, menukapcs[2], "2", 0);
menu_additem(menu, menukapcs[3], "3", 0);
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_setprop(menu, MPROP_BACKNAME, "Vissza");
menu_setprop(menu, MPROP_NEXTNAME, "Előre");
menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
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: {
fegyo[id] = 0;
ChatColor(id, "^4[%s]^1 Megkaptad az^3 ALAP^1 kést!", PREFIX)
}
case 1: {
if(pont[id] >= 100)
{
fegyo[id] = 1;
// ha le akarod vonni azt a 100pontot, akkor ide pont[id] -= 100;
ChatColor(id, "^4[%s]^1 Megkaptad az^3 ELSŐ^1 kést!", PREFIX)
}
else
{
ChatColor(id, "^4[%s]^1 Sajnos nincs elég pontod...", PREFIX)
}
}
case 2: {
if(pont[id] >= 200)
{
fegyo[id] = 2;
ChatColor(id, "^4[%s]^1 Megkaptad a^3 MÁSODIK^1 kést!", PREFIX)
}
else
{
ChatColor(id, "^4[%s]^1 Sajnos nincs elég pontod...", PREFIX)
}
}
case 3: {
if(pont[id] >= 300)
{
fegyo[id] = 3;
ChatColor(id, "^4[%s]^1 Megkaptad a^3 HARMADIK^1 kést!", PREFIX)
}
else
{
ChatColor(id, "^4[%s]^1 Sajnos nincs elég pontod...", PREFIX)
}
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public client_authorized(id) Load(id);
public client_disconnect(id) Save(id);
public Save(id)
{
if (!is_user_connected(id) || is_user_bot(id) || is_user_hltv(id))
return;
new SteamID[35];
get_user_authid(id,SteamID,34);
if(contain(SteamID,"_ID_LAN") != -1 || contain(SteamID,"STEAM_0:4") != -1 || contain(SteamID,"VALVE") != -1 || equali(SteamID,"STEAM_666:88:666"))
get_user_ip(id,SteamID,34,1);
new szData[40];
formatex(szData,charsmax(szData),"%i %i", pont[id], fegyo[id]);
fvault_set_data(g_szVault1,SteamID,szData);
}
public Load(id)
{
if (!is_user_connected(id) || is_user_bot(id) || is_user_hltv(id))
return;
new SteamID[35];
get_user_authid(id, SteamID, 34);
if(contain(SteamID,"_ID_LAN") != -1 || contain(SteamID,"STEAM_0:4") != -1 || contain(SteamID,"VALVE") != -1 || equali(SteamID,"STEAM_666:88:666"))
get_user_ip(id,SteamID,34,1);
new szData[40],pontok[8],fegyok[8];
if(fvault_get_data(g_szVault1,SteamID,szData,charsmax(szData)))
{
parse(szData,pontok,charsmax(pontok),fegyok,charsmax(fegyok));
pont[id] = str_to_num(pontok);
fegyo[id] = str_to_num(fegyok);
}
else
{
pont[id] = 0;
fegyo[id] = 0;
}
}
stock ChatColor(id, const szMessage[], any:...) {
static szMsg[190], IdMsg; vformat(szMsg, charsmax(szMsg), szMessage, 3);
if(!IdMsg) IdMsg = get_user_msgid("SayText");
message_begin(MSG_ONE, IdMsg, .player = id);
write_byte(id);
write_string(szMsg);
message_end();
}