/* qKKKJ plugin
*
* (c) Készült: 2013 Készítette: qKKKJ
* Minden jog fenntartva!
*
*/
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <nvault>
#include <hamsandwich>
#include <engine>
new pont[33]
new hs,oles
new g_vault
new bool:g_aranyak[33] = false
new bool:g_aranym4[33] = false
new bool:g_aranydezi[33] = false
public plugin_init() {
register_plugin("pontrendszer","1.0","qKKKJ")
hs = register_cvar("HS", "10")
oles = register_cvar("oles", "5")
register_event("DeathMsg", "halal", "a")
register_clcmd("say /shop", "bolt")
register_clcmd("say /pont", "pontjaim")
g_vault = nvault_open("pontmentes")
register_event("CurWeapon", "Event_CurWeapon", "be", "1=1")
RegisterHam( Ham_TakeDamage , "player" , "PlayerHurt", 0);
register_event("HLTV", "event_new_round", "a", "1=0", "2=0")
}
public plugin_precache()
{
precache_model("models/aranyak/v_aranyak.mdl")
precache_model("models/aranyak/p_aranyak.mdl")
precache_model("models/aranydezi/p_aranydezi.mdl")
precache_model("models/aranydezi/v_aranydezi.mdl")
precache_model("models/aranydm4/v_aranym4.mdl")
precache_model("models/aranydm4/p_aranym4.mdl")
}
public event_new_round(id)
{
g_aranyak[id] = false
g_aranym4[id] = false
g_aranydezi[id] = false
}
public client_connect(id)
{
LoadData(id)
}
public client_disconnect(id)
{
SaveData(id)
}
public SaveData(id)
{
new name[32]
get_user_name(id, name, 31)
new vaultkey[64],vaultdata[256]
format(vaultkey,63,"%sBBPONT", name)
format(vaultdata,255,"%i",pont[id])
nvault_set(g_vault,vaultkey,vaultdata)
return PLUGIN_CONTINUE
}
public LoadData(id)
{
new name[32]
get_user_name(id, name, 31)
new vaultkey[64],vaultdata[256]
format(vaultkey,63,"%sBBPONT", name)
format(vaultdata,255,"%i",pont[id])
nvault_get(g_vault,vaultkey,vaultdata,255)
replace_all(vaultdata, 255, "#", " ")
new pontok[33]
parse(vaultdata, pontok)
pont[id] = str_to_num(pontok)
return PLUGIN_CONTINUE
}
public pontjaim(id)
{
client_print(id, print_chat, "Pontjaid: %d", pont[id])
}
public halal()
{
new killer = read_data(1)
new victim = read_data(2)
if(killer != victim && get_user_team(killer) != get_user_team(victim) && read_data(3))
{
pont[killer] += get_pcvar_num(hs)
}
if(killer != victim && get_user_team(killer) != get_user_team(victim))
{
pont[killer] += get_pcvar_num(oles)
}
return PLUGIN_CONTINUE
}
public bolt(id)
{
new menu = menu_create("Bolt ", "bolt_hand");
menu_additem(menu, "VIP menu", "", 0); // case 0
menu_additem(menu, "Fegyverek", "", 0); // case 1
menu_additem(menu, "Kepessegek", "", 0); // case 2
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, menu, 0);
return PLUGIN_HANDLED;
}
public bolt_hand(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: vipmenu(id)
case 1: fegyverek(id)
case 2: kepessegek(id)
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public vipmenu(id)
{
if(get_user_flags(id) & ADMIN_LEVEL_H)
{
new menu = menu_create("Vip menu", "vipmenu_hand");
menu_additem(menu, "AWP [10] pont", "", 0); // case 0
menu_additem(menu, "CT/T Magozo [20] pont", "", 0); // case 1
menu_additem(menu, "Arany AK [30] pont", "", 0); // case 2
menu_additem(menu, "Arany M4 [30] pon", "", 0); // case 3
menu_additem(menu, "Arany Dezi [30] pont", "", 0); // case 4
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, menu, 0);
}
else client_print(id, print_chat, "Nincs elerhetoseged ehhez a menuhoz")
return PLUGIN_CONTINUE
}
public vipmenu_hand(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:
{
if(pont[id] >= 10)
{
give_item(id, "weapon_awp")
cs_set_user_bpammo(id, CSW_AWP, 35)
pont[id] -= 10
client_print(id, print_chat, "Sikeres vasarlas")
}
else client_print(id, print_chat, "Nincs eleg pontod")
}
case 1:
{
if(pont[id] >= 20 && cs_get_user_team(id) == CS_TEAM_CT)
{
give_item(id, "weapon_sg550")
cs_set_user_bpammo(id, CSW_SG550, 120)
pont[id] -= 20
client_print(id, print_chat, "Sikeres vasarlas")
}
if(pont[id] >= 20 && cs_get_user_team(id) == CS_TEAM_T)
{
give_item(id, "weapon_sg552")
cs_set_user_bpammo(id, CSW_SG552, 120)
pont[id] -= 20
client_print(id, print_chat, "Sikeres vasarlas")
}
else client_print(id, print_chat, "Nincs eleg pontod")
}
case 2:
{
if(pont[id] >= 30)
{
g_aranyak[id] = true
pont[id] -= 30
client_print(id, print_chat, "Sikeres vasarlas")
}
else client_print(id, print_chat, "Nincs eleg pontod")
}
case 3:
{
if(pont[id] >= 30)
{
g_aranym4[id] = true
pont[id] -= 30
client_print(id, print_chat, "Sikeres vasarlas")
}
else client_print(id, print_chat, "Nincs eleg pontod")
}
case 4:
{
if(pont[id] >= 30)
{
g_aranydezi[id] = true
pont[id] -= 30
client_print(id, print_chat, "Sikeres vasarlas")
}
else client_print(id, print_chat, "Nincs eleg pontod")
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public fegyverek(id)
{
new menu = menu_create("Fegyver menu", "fegyver_hand");
menu_additem(menu, "AWP [30] pont", "", 0); // case 0
menu_additem(menu, "CT/T Magozo [50] pont", "", 0); // case 1
menu_additem(menu, "Arany AK [80] pont", "", 0); // case 2
menu_additem(menu, "Arany M4 [80] pon", "", 0); // case 3
menu_additem(menu, "Arany Dezi [80] pont", "", 0); // case 4
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, menu, 0);
return PLUGIN_HANDLED;
}
public fegyver_hand(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:
{
if(pont[id] >= 30)
{
give_item(id, "weapon_awp")
cs_set_user_bpammo(id, CSW_AWP, 35)
pont[id] -= 30
client_print(id, print_chat, "Sikeres vasarlas")
}
else client_print(id, print_chat, "Nincs eleg pontod")
}
case 1:
{
if(pont[id] >= 50 && cs_get_user_team(id) == CS_TEAM_CT)
{
give_item(id, "weapon_sg550")
cs_set_user_bpammo(id, CSW_SG550, 120)
pont[id] -= 50
client_print(id, print_chat, "Sikeres vasarlas")
}
if(pont[id] >= 50 && cs_get_user_team(id) == CS_TEAM_T)
{
give_item(id, "weapon_sg552")
cs_set_user_bpammo(id, CSW_SG552, 120)
pont[id] -= 50
client_print(id, print_chat, "Sikeres vasarlas")
}
else client_print(id, print_chat, "Nincs eleg pontod")
}
case 2:
{
if(pont[id] >= 80)
{
g_aranyak[id] = true
pont[id] -= 30
client_print(id, print_chat, "Sikeres vasarlas")
}
else client_print(id, print_chat, "Nincs eleg pontod")
}
case 3:
{
if(pont[id] >= 80)
{
g_aranym4[id] = true
pont[id] -= 30
client_print(id, print_chat, "Sikeres vasarlas")
}
else client_print(id, print_chat, "Nincs eleg pontod")
}
case 4:
{
if(pont[id] >= 80)
{
g_aranydezi[id] = true
pont[id] -= 30
client_print(id, print_chat, "Sikeres vasarlas")
}
else client_print(id, print_chat, "Nincs eleg pontod")
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public kepessegek(id)
{
new menu = menu_create("Kepesseg menu", "kep_hand");
menu_additem(menu, "Gyorsasag [20] pont", "", 0); // case 0
menu_additem(menu, "Gravitacio [20] pont", "", 0); // case 1
menu_additem(menu, "+50hp [2] pont", "", 0); // case 2
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, menu, 0);
return PLUGIN_HANDLED;
}
public kep_hand(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:
{
if(pont[id] >= 20)
{
set_user_maxspeed(id, 500.0)
pont[id] -= 20
client_print(id, print_chat, "Sikeres vasarlas")
}
else client_print(id, print_chat, "Nincs eleg pontod")
}
case 1:
{
if(pont[id] >= 20)
{
set_user_gravity(id, 0.8)
pont[id] -= 20
client_print(id, print_chat, "Sikeres vasarlas")
}
else client_print(id, print_chat, "Nincs eleg pontod")
}
case 2:
{
if(pont[id] >= 2)
{
set_user_health(id, get_user_health(id)+50)
pont[id] -= 2
client_print(id, print_chat, "Sikeres vasarlas")
}
else client_print(id, print_chat, "Nincs eleg pontod")
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
//Arany fegyverek cuccai
public Event_CurWeapon(id)
{
new weapon = get_user_weapon(id)
new vModel[56],pModel[56]
if(weapon == CSW_AK47 && g_aranyak[id])
{
format(vModel,55,"models/aranyak/v_aranyak.mdl")
format(pModel,55,"models/aranyak/p_aranyak.mdl")
}
if(weapon == CSW_M4A1 && g_aranym4[id])
{
format(vModel,55,"models/aranym4/v_aranym4.mdl")
format(pModel,55,"models/aranym4/p_aranym4.mdl")
}
if(weapon == CSW_DEAGLE && g_aranydezi[id])
{
format(vModel,55,"models/aranydezi/v_aranydezi.mdl")
format(vModel,55,"models/aranydezi/p_aranydezi.mdl")
}
entity_set_string(id, EV_SZ_viewmodel, vModel)
entity_set_string(id, EV_SZ_weaponmodel, pModel)
}
public PlayerHurt( victim,inflictor,attacker,Float:damage, DamageBits )
{
new weapon = get_user_weapon(attacker)
if(weapon == CSW_AK47 && g_aranyak[attacker])
{
SetHamParamFloat(4, damage * 1.50);
}
if(weapon == CSW_M4A1 && g_aranym4[attacker])
{
SetHamParamFloat(4, damage * 1.50);
}
if(weapon == CSW_DEAGLE && g_aranydezi[attacker])
{
SetHamParamFloat(4, damage * 1.50);
}
}