Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <amxmodx>
- #include <amxmisc>
- #include <fun>
- #include <hamsandwich>
- #include <engine>
- #define PLUGIN "BHOP i multijump"
- #define VERSION "1.0"
- #define AUTHOR "AUTHOR"
- #define FL_WATERJUMP (1<<11)
- #define FL_ONGROUND (1<<9)
- #pragma semicolon 1
- #define ADMINACCESS ADMIN_CHAT
- new VIP[ 33 ];
- new jumpnum[33] = 0;
- new bool:dojump[33] = false;
- public plugin_init() {
- register_plugin(PLUGIN, VERSION, AUTHOR);
- RegisterHam(Ham_Spawn, "player", "Spawn", 1);
- register_cvar("amx_maxjumps","1");
- register_cvar("amx_mjadminonly","0");
- }
- public client_connect(id) {
- jumpnum[id] = 0;
- dojump[id] = false;
- VIP[id] = true;
- }
- public client_disconnect(id) {
- jumpnum[id] = 0;
- dojump[id] = false;
- }
- public Spawn(id)
- {
- if(get_user_flags(id) & (VIP[id]) & is_user_alive(id)) client_PreThink(id);
- if(get_user_flags(id) & (VIP[id]) & is_user_alive(id)) client_PreThink2(id);
- if(get_user_flags(id) & (VIP[id]) & is_user_alive(id)) client_PostThink(id);
- }
- public client_PreThink(id) {
- if(VIP[id]) {
- entity_set_float(id, EV_FL_fuser2, 0.0);
- 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;
- }
- public client_PreThink2(id)
- {
- if(VIP[id]) {
- if(!is_user_alive(id)) return PLUGIN_CONTINUE;
- if(get_cvar_num("amx_mjadminonly") && (!access(id,ADMINACCESS))) return PLUGIN_CONTINUE;
- new nbut = get_user_button(id);
- new obut = get_user_oldbutton(id);
- if((nbut & IN_JUMP) && !(get_entity_flags(id) & FL_ONGROUND) && !(obut & IN_JUMP))
- {
- if(jumpnum[id] < get_cvar_num("amx_maxjumps"))
- {
- dojump[id] = true;
- jumpnum[id]++;
- return PLUGIN_CONTINUE;
- }
- }
- if((nbut & IN_JUMP) && (get_entity_flags(id) & FL_ONGROUND))
- {
- jumpnum[id] = 0;
- return PLUGIN_CONTINUE;
- }
- return PLUGIN_CONTINUE;
- }
- return PLUGIN_CONTINUE;
- }
- public client_PostThink(id)
- {
- if(VIP[id]) {
- if(!is_user_alive(id)) return PLUGIN_CONTINUE;
- if(get_cvar_num("amx_mjadminonly") && (!access(id,ADMINACCESS))) return PLUGIN_CONTINUE;
- if(dojump[id] == true)
- {
- new Float:velocity[3];
- entity_get_vector(id,EV_VEC_velocity,velocity);
- velocity[2] = random_float(265.0,285.0);
- entity_set_vector(id,EV_VEC_velocity,velocity);
- dojump[id] = false;
- return PLUGIN_CONTINUE;
- }
- return PLUGIN_CONTINUE;
- }
- return PLUGIN_CONTINUE;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement