#include <amxmodx>
#include <engine>
#define FL_WATERJUMP (1<<11) // player jumping out of water
#define FL_ONGROUND (1<<9) // At rest / on the ground
new bekapcsolas
new choice[2]
public plugin_init() {
register_plugin("Super Bunny Hopper", "1.2", "Cheesy Peteza")
register_cvar("sbhopper_version", "1.2", FCVAR_SERVER)
register_cvar("bh_enabled", "1")
register_cvar("bh_autojump", "1")
register_cvar("bh_showusage", "1")
register_menucmd(register_menuid("menu1"),(1<<0)|(1<<1),"szavazatok")
bekapcsolas = register_cvar("amx_bhopszavazas", "1")
}
public szavazas() {
if (get_pcvar_num(bekapcsolas) == 1)
{
show_menu(0,(1<<0)|(1<<1), "Szeretnel bunnyhopot?^n^n1: Igen^n2: Nem", 15, "menu1")
set_task(15.0,"eredmeny")
choice[0] = 0
choice[1] = 0
return PLUGIN_HANDLED
}
return PLUGIN_CONTINUE
}
public szavazatok(id,key){
new name[32]
get_user_name(id,name,31)
new what[6] = "Igen"
if (key == 1) what = "Nem"
client_print(0,print_chat,"* %s szavazata: %s", name, what)
++choice[key]
return PLUGIN_HANDLED
}
public eredmeny(id){
if (choice[0] >= choice[1]){
server_cmd("bh_enabled 1")
server_cmd("bh_autojump 1")
client_print(0,print_chat,"* Bunnyhop bekapcsolva. (Legyen: ^"%d^") (Ne legyen: ^"%d^"). *",choice[0],choice[1])
} else {
server_cmd("bh_enabled 0")
server_cmd("bh_autojump 0")
client_print(0,print_chat,"* Nincs Bunnyhop. (Legyen: ^"%d^") (Ne legyen: ^"%d^"). *",choice[0],choice[1])
}
return PLUGIN_CONTINUE
}
public client_PreThink(id) {
if (!get_cvar_num("bh_enabled"))
return PLUGIN_CONTINUE
entity_set_float(id, EV_FL_fuser2, 0.0) // Disable slow down after jumping
if (!get_cvar_num("bh_autojump"))
return PLUGIN_CONTINUE
// Code from CBasePlayer::Jump (player.cpp) Make a player jump automatically
if (entity_get_int(id, EV_INT_button) & 2) { // If holding jump
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) // Play the Jump Animation
}
return PLUGIN_CONTINUE
}
public client_authorized(id)
set_task(30.0, "showUsage", id)
public showUsage(id) {
if ( !get_cvar_num("bh_enabled") || !get_cvar_num("bh_showusage") )
return PLUGIN_HANDLED
if ( !get_cvar_num("bh_autojump") ) {
client_print(id, print_chat, "[AMX] Bunnyhop bekapcsolva! Csak nyomd fojamatosan az ugra'st!")
} else {
client_print(id, print_chat, "[AMX] Bunnyhop bekapcsolva!Csak nyomd fojamatosan az ugra'st!")
}
return PLUGIN_HANDLED
}