Va hunter plugino kodas:
Code: Select all
/*================================================================================ ----------------------------------- -*- [ZP] Hunter L4D -*- ----------------------------------- ~~~~~~~~~~~~~~~ - Description - ~~~~~~~~~~~~~~~ This zombie has long jumps as well as the popular game L4D2 Well, this time the skill is good and better, to jump you have to press Ctrl + E and look where you want to jump. ================================================================================*/ #include <amxmodx>#include <fakemeta>#include <zombieplague> /*================================================================================[Customizations]=================================================================================*/ // Zombie Attributesnew const zclass_name[] = "Hunter"new const zclass_info[] = "Tu gali toli nusokti"new const zclass_model[] = "hunterv2_zp"new const zclass_clawmodel[] = "v_knife_zombie_hunter.mdl" const zclass_health = 1000const zclass_speed = 290 const Float:zclass_gravity = 0.6const Float:zclass_knockback = 1.0 new const leap_sound[4][] = { "left_4_dead2/hunter_jump.wav", "left_4_dead2/hunter_jump1.wav", "left_4_dead2/hunter_jump2.wav", "left_4_dead2/hunter_jump3.wav" } /*================================================================================Customization ends here!Any edits will be your responsibility=================================================================================*/ // Variablesnew g_hunter // Arraysnew Float:g_lastleaptime[33] // Cvar pointersnew cvar_force, cvar_cooldown // Plugin info.#define PLUG_VERSION "0.2"#define PLUG_AUTHOR "DJHD!" /*================================================================================[Init, CFG and Precache]=================================================================================*/ public plugin_precache(){ // Register the new class and store ID for reference g_hunter = zp_register_zombie_class(zclass_name, zclass_info, zclass_model, zclass_clawmodel, zclass_health, zclass_speed, zclass_gravity, zclass_knockback) // Sound static i for(i = 0; i < sizeof leap_sound; i++) precache_sound(leap_sound[i])} public plugin_init() { // Plugin Info register_plugin("[ZP] Zombie Class: Hunter Zombie", PLUG_VERSION, PLUG_AUTHOR) // Forward register_forward(FM_PlayerPreThink, "fw_PlayerPreThink") // Cvars cvar_force = register_cvar("zp_hunter_jump_force", "1000") cvar_cooldown = register_cvar("zp_hunter_jump_cooldown", "1.0") static szCvar[30] formatex(szCvar, charsmax(szCvar), "v%s by %s", PLUG_VERSION, PLUG_AUTHOR) register_cvar("zp_zclass_hunterl4d2", szCvar, FCVAR_SERVER|FCVAR_SPONLY)} /*================================================================================[Zombie Plague Forwards]=================================================================================*/ public zp_user_infected_post(id, infector){ // It's the selected zombie class if(zp_get_user_zombie_class(id) == g_hunter && !zp_get_user_nemesis(id)) { // Message client_print(id, print_chat, "[ZP] Noredamas toli nusokti spausk - ^"CTRL + E^"") }} /*================================================================================[Main Forwards]=================================================================================*/ public fw_PlayerPreThink(id){ if (!is_user_alive(id)) return if(is_user_connected(id)) { if (allowed_hunterjump(id)) { static Float:velocity[3] velocity_by_aim(id, get_pcvar_num(cvar_force), velocity) set_pev(id, pev_velocity, velocity) emit_sound(id, CHAN_STREAM, leap_sound [random_num(1, 3)], 1.0, ATTN_NORM, 0, PITCH_HIGH ) // Set the current super jump time g_lastleaptime[id] = get_gametime() } }} /*================================================================================[Internal Functions]=================================================================================*/ allowed_hunterjump(id){ if (!zp_get_user_zombie(id) && !zp_get_user_nemesis(id)) return false if (zp_get_user_zombie_class(id) != g_hunter) return false if (!((pev(id, pev_flags) & FL_ONGROUND) && (pev(id, pev_flags) & FL_DUCKING))) return false static buttons buttons = pev(id, pev_button) // Not doing a longjump (added bot support) if (!(buttons & IN_USE) && !is_user_bot(id)) return false static Float:cooldown cooldown = get_pcvar_float(cvar_cooldown) if (get_gametime() - g_lastleaptime[id] < cooldown) return false return true}/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang13322\\ f0\\ fs16 \n\\ par }*/