#include <amxmodx>
#include <engine>
#include <nvault>
#include <hamsandwich>
#include <fun>
#include <cstrike>
#include <colorchat>
new g_vault
new cvar_oles
new gGravityCvar
new pont[33]
public plugin_init() {
register_plugin("Pontrendszer", "1.0", "Golo ->Edit:#Extraaa")
register_clcmd("say /bolt", "boltmenu")
register_clcmd("say /pont", "pontjaim")
cvar_oles = register_cvar("Olespont", "5")
gGravityCvar = register_cvar( "deathrun_gravity_power", "0.7" )
register_event("DeathMsg", "halal", "a")
g_vault = nvault_open("pont")
}
public pontjaim(id)
{
ColorChat(id, BLUE, "^4[SzerverPrefix] # ^3Pontjaid: ^4 %d", pont[id])
}
public halal()
{
if(read_data(1) != read_data(2) && read_data(3))
{
pont[read_data(1)] += get_pcvar_num(cvar_oles)
}
}
public boltmenu(id)
{
new menu = menu_create("\y~ \d[Bolt\d] \rVálassz \y~", "handler");
menu_additem(menu, "\rÚjra\yéledés \d[45 pont\d]", "0", 0); // case 0
menu_additem(menu, "\rHe GGránát[30 pont\d]", "1", 0); // case 1
menu_additem(menu, "\r+50 Páncél \d[\y65 \rpont\d]", "2", 0); // case 2
menu_additem(menu, "\r+50 Élet \d[15 pont\d]", "3", 0);
menu_additem(menu, "\rKissebb Gravitáció \d[25 pont\d]", "4", 0);
menu_additem(menu, "\rHe+Flash Gránát \d[45 pont\d]", "5", 0);
menu_additem(menu, "\rDeagle \d[30 pont\d]", "6", 0);
menu_additem(menu, "\rAWP \d[10 pont\d]", "7", 0);
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, menu);
}
public handler(id, menu, item)
{
if( item == MENU_EXIT )
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new data[6], szName[64];
new access, callback;
menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
new key = str_to_num(data);
switch(key)
{
case 0:
{
if(pont[id]>=45){
ExecuteHamB(Ham_CS_RoundRespawn, id);
register_cvar("sv_respawn", "1")
pont[id]-=45
}
else ColorChat(id, TEAM_COLOR, "^4[SzerverPrefix] # Sajnos nincs elég pontod!")
}
case 1:
{
if(pont[id]>=30){
give_item(id, "weapon_hegrenade")
pont[id]-=30
}
else ColorChat(id, TEAM_COLOR, "^4[SzerverPrefix] # Sajnos nincs elég pontod!")
}
case 2:
{
if(pont[id]>=65){
set_user_armor(id,get_user_armor(id)+50)
pont[id]-=65
}
else ColorChat(id, TEAM_COLOR, "^4[SzerverPrefix] # Sajnos nincs elég pontod!")
}
case 3:
{
if(pont[id]>=15){
set_user_health(id,get_user_health(id)+50)
pont[id]-=15
}
else ColorChat(id, TEAM_COLOR, "^4[SzerverPrefix] # Sajnos nincs elég pontod!")
}
case 4:
{
if(pont[id]>=25){
set_user_gravity( id, get_pcvar_float( gGravityCvar ) );
pont[id]-=25
}
else ColorChat(id, TEAM_COLOR, "^4[SzerverPrefix] # Sajnos nincs elég pontod!")
}
case 5:
{
if(pont[id]>=45){
give_item(id, "weapon_hegrenade")
give_item(id, "weapon_flashbang")
pont[id]-=45
}
else ColorChat(id, TEAM_COLOR, "^4[SzerverPrefix] # Sajnos nincs elég pontod!")
}
case 6:
{
if(pont[id]>=30){
give_item(id, "weapon_deagle");
give_item(id,"ammo_50ae");
give_item(id,"ammo_50ae");
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae");
give_item(id,"ammo_50ae")
pont[id]-=30
}
else ColorChat(id, TEAM_COLOR, "^4[SzerverPrefix] # Sajnos nincs elég pontod!")
}
case 7:
{
if(pont[id]>=10){
give_item(id, "weapon_awp");
give_item(id,"ammo_338magnum");
give_item(id,"ammo_338magnum");
give_item(id,"ammo_338magnum");
give_item(id, "weapon_knife");
pont[id]-=10
}
else ColorChat(id, TEAM_COLOR, "^4[SzerverPrefix] # Sajnos nincs elég pontod!")
}
}
}
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,"%s-PONT", name)
format(vaultdata,255,"%i#%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,"%s-PONT", name)
format(vaultdata,255,"%i#%i#",pont[id])
nvault_get(g_vault,vaultkey,vaultdata,255)
replace_all(vaultdata, 255, "#", " ")
new ponts[32]
parse(vaultdata, ponts, 31)
pont[id] = str_to_num(ponts)
return PLUGIN_CONTINUE
}