| ~Ice*shOt |
05-31-2009 07:04 |
sounds, model, hp, grav, speed
Hi, can help for me ? give me code for sounds, knife model, player model,speed,hp , grav end etc.. give example for ths:
PHP Code:
#include <amxmodx> #include <fakemeta> #include <hamsandwich> #include <engine> #define PLUGIN "[ZP] Class Smoker" #define VERSION "0.3" #define AUTHOR "4eRT" //Main Class & Sprite Beam new g_zclass_smoker, g_Line new const generic_models[][] = { "models/player/Smoker/Smoker.mdl" } new const generic_hands[][] = { "models/player/Smoker/Smoker.mdl" } //Sounds new g_sndMiss[] = "zombie_plague/Smoker_TongueHit_miss.wav" new g_sndDrag[] = "zombie_plague/Smoker_TongueHit_drag.wav" //Some vars new g_hooked[33], g_hooksLeft[33] new g_zombie[33] new Float:g_lastHook[33] //Cvars new cvar_maxdrags, cvar_dragspeed, cvar_cooldown, cvar_dmg2stop, cvar_mates, cvar_bind public plugin_init() { cvar_dragspeed = register_cvar("zp_smoker_dragspeed", "160") cvar_maxdrags = register_cvar("zp_smoker_maxdrags", "10") cvar_cooldown = register_cvar("zp_smoker_cooldown", "5.0") cvar_dmg2stop = register_cvar("zp_smoker_dmg2stop", "200") cvar_mates = register_cvar("zp_smoker_mates", "0") cvar_bind = register_cvar("zp_smoker_bind", "1") register_event("ResetHUD", "newSpawn", "b") register_event("DeathMsg", "smoker_death", "a") RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage") register_clcmd("+drag","drag_start", ADMIN_USER, "bind ^"key^" ^"+drag^"") register_clcmd("-drag","drag_end") } public plugin_precache() { register_plugin(PLUGIN, VERSION, AUTHOR) precache_sound(g_sndDrag) precache_sound(g_sndMiss) for (new i = 0; i < sizeof generic_models; i++) precache_model(generic_models[i]) for (new i = 0; i < sizeof generic_hands; i++) precache_model(generic_hands[i]) g_Line = precache_model("sprites/zbeam4.spr") } public zp_user_infected_post(id, infector) { if (get_user_team(id) == 1) {
new mode = get_pcvar_num(cvar_bind)
if (mode == 1) { client_cmd(id, "bind v ^"+drag^"") client_print(id, print_chat, "[ZP] To drag player to youself hold ^'^'V^'^'") } else { client_print(id, print_chat, "[ZP] To drag player to youself (bind ^'^'key^'^' ^'^'+drag^'^') hold binded key") } } } public newSpawn(id) { g_hooksLeft[id] = get_pcvar_num(cvar_maxdrags) g_lastHook[id] = get_gametime()
if (g_hooked[id]) drag_end(id) } public drag_start(id) // starts drag, checks if player is Smoker, checks cvars { if (get_user_team(id) == 1) {
static Float:cdown cdown = get_pcvar_float(cvar_cooldown)
if (!is_user_alive(id)) { client_print(id, print_chat, "[ZP] You can't drag if you are dead!") return } if (g_hooksLeft[id] <= 0) { client_print(id, print_chat, "[ZP] You can't drag anymore!") return } new hooktarget, body get_user_aiming(id, hooktarget, body) if (is_user_alive(hooktarget)) { if (get_user_team(hooktarget) != get_user_team(id)) { g_hooked[id] = hooktarget emit_sound(hooktarget, CHAN_BODY, g_sndDrag, 1.0, ATTN_NORM, 0, PITCH_HIGH) } else { /*if (get_user_team(hooktarget) == get_user_team(id)) { if (get_pcvar_num(cvar_mates) == 1) {*/ //if (get_user_team(hooktarget) == get_user_team(id)) { if (get_user_team(hooktarget) == g_zombie[id]) { if (get_pcvar_num(cvar_mates) == 1) { // If is 1 , hook! g_hooked[id] = hooktarget emit_sound(hooktarget, CHAN_BODY, g_sndDrag, 1.0, ATTN_NORM, 0, PITCH_HIGH) //emit_sound(hooktarget, CHAN_BODY, g_sndMiss, 1.0, ATTN_NORM, 0, PITCH_HIGH) if (get_pcvar_num(cvar_mates) == 0) { // If is 0 , hook , but missed! g_hooked[id] = hooktarget emit_sound(hooktarget, CHAN_BODY, g_sndMiss, 1.0, ATTN_NORM, 0, PITCH_HIGH) } } else {
g_hooked[id] = 33 noTarget(id) emit_sound(hooktarget, CHAN_BODY, g_sndMiss, 1.0, ATTN_NORM, 0, PITCH_HIGH) return } } else { g_hooked[id] = 33 noTarget(id) emit_sound(hooktarget, CHAN_BODY, g_sndMiss, 1.0, ATTN_NORM, 0, PITCH_HIGH) return } } new parm[2] parm[0] = id parm[1] = hooktarget
set_task(0.1, "smoker_reelin", id, parm, 2, "b") harpoon_target(parm) } else { g_hooked[id] = 33 noTarget(id) emit_sound(hooktarget, CHAN_BODY, g_sndMiss, 1.0, ATTN_NORM, 0, PITCH_HIGH) } } else { return } } public smoker_reelin(parm[]) // dragging player to smoker { new id = parm[0] new victim = parm[1] if (!g_hooked[id]) return if (!is_user_alive(victim)) { drag_end(id) return } new Float:fl_Velocity[3] new idOrigin[3], vicOrigin[3] get_user_origin(victim, vicOrigin) get_user_origin(id, idOrigin) new distance = get_distance(idOrigin, vicOrigin) if (distance > 1) { new Float:fl_Time = distance / get_pcvar_float(cvar_dragspeed) fl_Velocity[0] = (idOrigin[0] - vicOrigin[0]) / fl_Time fl_Velocity[1] = (idOrigin[1] - vicOrigin[1]) / fl_Time fl_Velocity[2] = (idOrigin[2] - vicOrigin[2]) / fl_Time } else { fl_Velocity[0] = 0.0 fl_Velocity[1] = 0.0 fl_Velocity[2] = 0.0 } entity_set_vector(victim, EV_VEC_velocity, fl_Velocity) //<- rewritten. now uses engine } public drag_end(id) // drags end function { g_hooked[id] = 0 beam_remove(id) remove_task(id)
if (get_gametime() - g_lastHook[id] <= get_pcvar_float(cvar_cooldown)) { return } else { g_lastHook[id] = get_gametime() } } public smoker_death() // if smoker dies drag off { new id = read_data(2) if (g_hooked[id]) drag_end(id) } public fw_TakeDamage(victim, inflictor, attacker, Float:damage, damage_type) // if take damage drag off { if (victim == attacker || !is_user_connected(attacker)) { if (damage > 25) { drag_end(victim) return HAM_IGNORED; } }
if (get_user_team(attacker) != get_user_team(victim)) { if (damage > get_pcvar_num(cvar_dmg2stop)) { drag_end(victim) return HAM_IGNORED; } }
return HAM_IGNORED; } public client_disconnect(id) // if client disconnects drag off { if (id <= 0 || id > 32) return
if (g_hooked[id]) drag_end(id) } public harpoon_target(parm[]) // set beam (ex. tongue:) if target is player { new id = parm[0] new hooktarget = parm[1] message_begin(MSG_BROADCAST, SVC_TEMPENTITY) write_byte(8) // TE_BEAMENTS write_short(id) write_short(hooktarget) write_short(g_Line) // sprite index write_byte(0) // start frame write_byte(0) // framerate write_byte(200) // life write_byte(8) // width write_byte(1) // noise write_byte(155) // r, g, b write_byte(155) // r, g, b write_byte(55) // r, g, b write_byte(90) // brightness write_byte(10) // speed message_end() } public noTarget(id) // set beam if target isn't player { new endorigin[3] get_user_origin(id, endorigin, 3) message_begin(MSG_BROADCAST, SVC_TEMPENTITY) write_byte( TE_BEAMENTPOINT ); // TE_BEAMENTPOINT write_short(id) write_coord(endorigin[0]) write_coord(endorigin[1]) write_coord(endorigin[2]) write_short(g_Line) // sprite index write_byte(0) // start frame write_byte(0) // framerate write_byte(200) // life write_byte(8) // width write_byte(1) // noise write_byte(155) // r, g, b write_byte(155) // r, g, b write_byte(55) // r, g, b write_byte(75) // brightness write_byte(0) // speed message_end() } public beam_remove(id) // remove beam { message_begin(MSG_BROADCAST, SVC_TEMPENTITY) write_byte(99) //TE_KILLBEAM write_short(id) //entity message_end() }
|