#include <amxmodx>
#include <hamsandwich>
#include <fakemeta>
#include <fun>
#include <nvault>
#include <engine>
new bomb_plantedp,bomb_defusedp,kill_hs,kill,five_min,
ten_min,survival,ctwiin,tewiin
new kill_vic
new point[33],name[33],g_vault
new bool:bunny[33]=false,damagee[33]=false,speed[33]=false,grenade[33]=false
public plugin_init() {
register_event("DeathMsg","death","a")
register_event("SendAudio","ctwin","a","2&!%MRAD_terwin")
register_event("SendAudio","tewin","a","2&!%MRAD_ctwin")
bomb_plantedp = register_cvar("bomb_planted","5") // BOMBA LERAKASKOR
bomb_defusedp = register_cvar("bomb_defused","10") //BOMBA HATASTALANITASAKOR
kill = register_cvar("kill","5") // OLESENKENT
kill_hs = register_cvar("kill_hs","7") // FEJLOVESENKENT
five_min = register_cvar("five_minute","5") //5 PERCENKENT
ten_min = register_cvar("ten_minute","10") //10 PERCENKENT
ctwiin = register_cvar("ct_win","5") // CT GYOZELEM ESETEBEN
tewiin = register_cvar("te_win","5") // TERROR GYOZELEM
survival = register_cvar("survival","10") //TULELESKOR
kill_vic= register_cvar("kill_victim","2")
register_clcmd("say /bolt","show_menuu")
register_clcmd("say_team /bolt","show_menuu")
register_clcmd("say /shop","show_menuu")
register_clcmd("say_team /shop","show_menuu")
register_logevent("end",2,"1=Round_End")
RegisterHam(Ham_TakeDamage,"player","daamaagee")
}
public daamaagee(victim, inflictor, attacker, Float:damage){
if(damagee[attacker]){
SetHamParamFloat(attacker,Float:damage*2)
}
}
public grenade_throw(id,gid,tip){
if(grenade[id]){
if(tip==CSW_HEGRENADE) give_item(id,"weapon_hegrenade")
}
}
public end(id){
for(new i;i<get_playersnum();i++){
speed[i]=false
damagee[i]=false
grenade[i]=false
set_user_rendering(i, kRenderFxNone, 0, 0, 0, kRenderTransAlpha , 255);
}
}
public show_menuu(id){
new menu=menu_create("\rBolt:","menu_handler")
menu_additem(menu,"\y100 hp \R20P","1",0)
menu_additem(menu,"\y200 hp \R35P","2",0)
menu_additem(menu,"\y500 hp \R70P","3",0)
menu_additem(menu,"\yBunnyhop \R100P","4",0)
menu_additem(menu,"\yLathatatlansag \R70P","5",0)
menu_additem(menu,"\yGyorsasag \R40P","6",0)
menu_additem(menu,"\yNagyobb sebzes \R50P","7",0)
menu_additem(menu,"\yTitkor granat \R50P","8",0)
menu_display(id,menu,0)
}
public menu_handler(id,menu,item){
if(item==MENU_EXIT){
menu_destroy(menu)
return PLUGIN_HANDLED
}
new data[6],name[64]
new acces,callback
menu_item_getinfo(menu,item,acces,data,charsmax(data),name,charsmax(name),callback)
new key = str_to_num(data)
switch(key){
case 1:{
if(get_user_pont(id)>=20){
set_user_health(id,100)
set_user_pont(id,get_user_pont(id)-20)
}
}
case 2:{
if(get_user_pont(id)>=35){
set_user_health(id,200)
set_user_pont(id,get_user_pont(id)-35)
}
}
case 3:{
if(get_user_pont(id)>=70) {
set_user_health(id,500)
set_user_pont(id,get_user_pont(id)-70)
}
}
case 4:{
if(get_user_pont(id)>=100) {
bunny[id]=true
set_user_pont(id,get_user_pont(id)-100)
}
}
case 5:{
if(get_user_pont(id)>=70){
set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha , 0);
set_user_pont(id,get_user_pont(id)-70)
}
}
case 6:{
if(get_user_pont(id)>=40) {
speed[id]=true
set_user_pont(id,get_user_pont(id)-40)
}
}
case 7:{
if(get_user_pont(id)>=50){
damagee[id]=true
set_user_pont(id,get_user_pont(id)-50)
}
}
case 8:{
if(get_user_pont(id)>=50){
grenade[id]=true
give_item(id,"weapon_hegrenade")
set_user_pont(id,get_user_pont(id)-50)
}
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}
public ctwin(){
for(new i;i<get_playersnum();i++){
if(pev(i,pev_team) == 2){
set_user_pont(i,get_user_pont(i)+get_pcvar_num(ctwiin))
client_print(i,print_chat,"Kaptal +%d pontot,mert a nyerted csapatba vagy!",get_pcvar_num(ctwiin))
}
if(pev(i,pev_team) == 1){
if(is_user_alive(i)){
set_user_pont(i,get_user_pont(i)+get_pcvar_num(survival))
client_print(i,print_chat,"Kaptal +%d pontot,mert tulelted a kort!",get_pcvar_num(survival))
}
}
}
}
public tewin(){
for(new i;i<get_playersnum();i++){
if(pev(i,pev_team)==1){
set_user_pont(i,get_user_pont(i)+get_pcvar_num(tewiin))
client_print(i,print_chat,"Kaptal +%d pontot,mert csapatod nyerte a kort!",get_pcvar_num(tewiin))
}
else if(pev(i,pev_team) == 2){
if(is_user_alive(i)){
set_user_pont(i,get_user_pont(i)+get_pcvar_num(survival))
client_print(i,print_chat,"Kaptal +%d pontot,mert tulelted a kort!",get_pcvar_num(survival))
}
}
}
}
public client_putinserver(id) set_task(300.0,"fivee",id)
public fivee(id){
set_user_pont(id,get_user_pont(id)+get_pcvar_num(five_min))
client_print(id,print_chat,"Kaptal +%d pontot,mert jatszottal a szerveren 5 percet!",get_pcvar_num(five_min))
set_task(300.0,"tene",id)
}
public tene(id){
set_user_pont(id,get_user_pont(id)+get_pcvar_num(ten_min))
client_print(id,print_chat,"Kaptal +%d pontot,mert jatszottal a szerveren 10 percet!",get_pcvar_num(ten_min))
}
public death(id){
id = read_data(1)
if(read_data(3)){
set_user_pont(id,get_user_pont(id)+get_pcvar_num(kill_hs))
client_print(id,print_chat,"Kaptal +%d pontot a fejlovesert!",get_pcvar_num(kill_hs))
}
else{
set_user_pont(id,get_user_pont(id)+get_pcvar_num(kill))
client_print(id,print_chat,"Kaptal +%d pontot az olesert!",get_pcvar_num(kill))
}
if(get_user_pont(read_data(2)>=get_pcvar_num(kill_vic))){
client_print(read_data(2),print_chat,"Vesztettel %d pontot,mert megoltek!",get_pcvar_num(kill_vic))
set_user_pont(read_data(2),get_user_pont(read_data(2)-get_pcvar_num(kill_vic)))
}
}
public bomb_defused(id){
set_user_pont(id,get_user_pont(id)+get_pcvar_num(bomb_defusedp))
client_print(id,print_chat,"Kaptal +%d pontot,mert hatastalanitottad a bombat!",get_pcvar_num(bomb_defusedp))
}
public bomb_planted(id){
client_print(id,print_chat,"Kaptal +%d pontot,mert leraktad a bombat!",get_pcvar_num(bomb_plantedp))
set_user_pont(id,get_user_pont(id)+get_pcvar_num(bomb_plantedp))
}
stock get_user_pont(id) return point[id]
stock set_user_pont(id,ertek) point[id] = ertek
public client_disconnect(id){
mentes(id)
speed[id]=false
damagee[id]=false
grenade[id]=false
get_user_name(id,name,charsmax(name))
}
public mentes(id)
{
new vaultkey[64],vaultdata[256]
format(vaultkey,63,"%s-PONT", name[id])
format(vaultdata,255,"%d",get_user_pont(id))
nvault_set(g_vault,vaultkey,vaultdata)
return PLUGIN_CONTINUE
}
public client_connect(id){
speed[id]=false
grenade[id]=false
damagee[id]=false
betoltes(id)
}
public betoltes(id)
{
new vaultkey[64],vaultdata[256]
format(vaultkey,63,"%s-PONT", name[id])
nvault_get(g_vault,vaultkey,vaultdata,255)
set_user_pont(id,str_to_num(vaultdata))
return PLUGIN_CONTINUE;
}
public client_PreThink(id) {
if(bunny[id]){
entity_set_float(id, EV_FL_fuser2, 0.0) // Disable slow down after jumping
if (entity_get_int(id, EV_INT_button) & 2) {
new flags = entity_get_int(id, EV_INT_flags)
if (flags & FL_WATERJUMP)
return PLUGIN_CONTINUE
if ( entity_get_int(id, EV_INT_waterlevel) >= 2 )
return PLUGIN_CONTINUE
if ( !(flags & FL_ONGROUND) )
return PLUGIN_CONTINUE
new Float:velocity[3]
entity_get_vector(id, EV_VEC_velocity, velocity)
velocity[2] += 250.0
entity_set_vector(id, EV_VEC_velocity, velocity)
entity_set_int(id, EV_INT_gaitsequence, 6)
}
return PLUGIN_CONTINUE
}
else return PLUGIN_CONTINUE
return 1
}