Veteran Member
Join Date: Feb 2009
Location: adios y??
|
02-27-2009
, 04:18
[ZP] [ES] Bazooka NEMESIS! By [C]apo[S]trike!!!
|
#1
|
BAZOOKA NEMESIS FULL RELEASE (Beta)
By CAPOSTRIKE!!!
PASO 1 CREAR zp_extra_bazooka.sma y poner esto:
PHP Code:
#include <amxmodx> #include <fun> #include <engine> #include <fakemeta> #include <hamsandwich> #include <zombieplague> #define PLUGINNAME "Bazooka Nemesis" #define VERSION "BETA" #define AUTHOR "indefinido" /* EL AUTOR ES INDEFINIDO POR QUE EL PLUGIN ES UNA MODIFICASION HECHA POR MI DEL JETPACK + BAZOOKA Y ADAPTADO PARA SER PARA NEMESIS Y Y SOLO DEJANDOLE LA BAZOOKA PERO NO ME ACUERDO EL AUTOR Y PUES HAY MUCHOS AUTORES DEL JET PACK Y NO SE CUAL SEA EL VERDADERO */ #define TE_EXPLOSION 3 #define TE_BEAMFOLLOW 22 #define TE_BEAMCYLINDER 21 new ROCKET_MDL[64] = "models/rpgrocket.mdl" new ROCKET_SOUND[64] = "weapons/rocketfire1.wav" new getrocket[64] = "items/9mmclip2.wav" new bool:rocket[33] = false new bool:rksound[33] = false new bool:shot[33] = false new Float:gltime = 0.0 new Float:last_Rocket[33] = 0.0 new explosion, trail, white new hasjet[33] new cvar_RocketDelay, cvar_RocketSpeed, cvar_RocketDmg, cvar_Dmg_range public plugin_init() { register_plugin(PLUGINNAME, VERSION, AUTHOR) register_clcmd("dararmanemesis","darbazooka") cvar_RocketDelay=register_cvar("zp_bz_rocket_delay","60.0") cvar_RocketSpeed=register_cvar("zp_bz_rocket_speed","1200") cvar_RocketDmg=register_cvar("zp_bz_rocket_damage","150") cvar_Dmg_range=register_cvar("zp_bz_damage_radius","50") register_event("CurWeapon", "check_models", "be") register_event("DeathMsg", "player_die", "a") register_event("HLTV", "event_round_start", "a", "1=0", "2=0") register_forward(FM_StartFrame, "fm_startFrame") register_forward(FM_EmitSound, "emitsound") } public plugin_precache() { precache_model("models/p_rpg.mdl") precache_model("models/v_rpg.mdl") precache_model("models/w_rpg.mdl") precache_sound("jetpack.wav") precache_sound("jp_blow.wav") precache_model(ROCKET_MDL) precache_sound(ROCKET_SOUND) precache_sound(getrocket) explosion = precache_model("sprites/zerogxplode.spr") trail = precache_model("sprites/smoke.spr") white = precache_model("sprites/white.spr") } public client_putinserver(id) { rocket[id] = false hasjet[id] = 0 } public client_disconnect(id) { rocket[id] = false hasjet[id] = 0 } public event_round_start() { remove_jetpacks(); for (new id; id <= 32; id++) hasjet[id] = 0; } public fm_startFrame(){ gltime = get_gametime() static id for (id = 1; id <= 32; id++) { jp_forward(id) } } public jp_forward(player) { if (!hasjet[player]) return FMRES_IGNORED check_rocket(player) new clip,ammo new wpnid = get_user_weapon(player,clip,ammo) if (wpnid == CSW_KNIFE){ if((pev(player,pev_button)&IN_ATTACK2)){ attack2(player) } } return FMRES_IGNORED } public attack2(player) { if (rocket[player]) { new rocket = create_entity("info_target") if(rocket == 0) return PLUGIN_CONTINUE entity_set_string(rocket, EV_SZ_classname, "zp_jp_rocket") entity_set_model(rocket, ROCKET_MDL) entity_set_size(rocket, Float:{0.0, 0.0, 0.0}, Float:{0.0, 0.0, 0.0}) entity_set_int(rocket, EV_INT_movetype, MOVETYPE_FLY) entity_set_int(rocket, EV_INT_solid, SOLID_BBOX) new Float:vSrc[3] entity_get_vector(player, EV_VEC_origin, vSrc) new Float:Aim[3],Float:origin[3] VelocityByAim(player, 64, Aim) entity_get_vector(player,EV_VEC_origin,origin) vSrc[0] += Aim[0] vSrc[1] += Aim[1] entity_set_origin(rocket, vSrc) new Float:velocity[3], Float:angles[3] VelocityByAim(player, get_pcvar_num(cvar_RocketSpeed), velocity) entity_set_vector(rocket, EV_VEC_velocity, velocity) vector_to_angle(velocity, angles) entity_set_vector(rocket, EV_VEC_angles, angles) entity_set_edict(rocket,EV_ENT_owner,player) entity_set_float(rocket, EV_FL_takedamage, 1.0) message_begin(MSG_BROADCAST, SVC_TEMPENTITY) write_byte(TE_BEAMFOLLOW) write_short(rocket) write_short(trail) write_byte(25) write_byte(5) write_byte(224) write_byte(224) write_byte(255) write_byte(255) message_end() emit_sound(rocket, CHAN_WEAPON, ROCKET_SOUND, 1.0, ATTN_NORM, 0, PITCH_NORM) shot[player] = true last_Rocket[player] = gltime + get_pcvar_num(cvar_RocketDelay) if(rocket == 0){ client_print(player, print_center, "Cargando Bazooka..") } } return PLUGIN_CONTINUE } public check_models(id) { if (zp_get_user_zombie(id) || zp_get_user_survivor(id)) return FMRES_IGNORED if(hasjet[id]) { new clip,ammo new wpnid = get_user_weapon(id,clip,ammo) if ( wpnid == CSW_KNIFE ) { switchmodel(id) } return PLUGIN_CONTINUE } return PLUGIN_CONTINUE } public switchmodel(id) { entity_set_string(id,EV_SZ_viewmodel,"models/v_rpg.mdl") entity_set_string(id,EV_SZ_weaponmodel,"models/p_rpg.mdl") } public remove_jetpacks() { new nextitem = find_ent_by_class(-1,"zp_jp_jetpack") while(nextitem) { remove_entity(nextitem) nextitem = find_ent_by_class(-1,"zp_jp_jetpack") } return PLUGIN_CONTINUE } public emitsound(entity, channel, const sample[]) { if(is_user_alive(entity)) { new clip,ammo new weapon = get_user_weapon(entity,clip,ammo) if(hasjet[entity] && weapon == CSW_KNIFE) { if(equal(sample,"weapons/knife_slash1.wav")) return FMRES_SUPERCEDE if(equal(sample,"weapons/knife_slash2.wav")) return FMRES_SUPERCEDE if(equal(sample,"weapons/knife_deploy1.wav")) return FMRES_SUPERCEDE if(equal(sample,"weapons/knife_hitwall1.wav")) return FMRES_SUPERCEDE if(equal(sample,"weapons/knife_hit1.wav")) return FMRES_SUPERCEDE if(equal(sample,"weapons/knife_hit2.wav")) return FMRES_SUPERCEDE if(equal(sample,"weapons/knife_hit3.wav")) return FMRES_SUPERCEDE if(equal(sample,"weapons/knife_hit4.wav")) return FMRES_SUPERCEDE if(equal(sample,"weapons/knife_stab.wav")) return FMRES_SUPERCEDE } } return FMRES_IGNORED } public check_rocket(player) { if (last_Rocket[player] > gltime) { rk_forbidden(player) rksound[player] = true } else { if (shot[player]) { rksound[player] = false shot[player] = false } rk_sound(player) rk_allow(player) } } public rk_allow(player) { rocket[player] = true } public rk_forbidden(player) { rocket[player] = false } public rk_sound(player) { if (!rksound[player]) { engfunc(EngFunc_EmitSound, player, CHAN_WEAPON, getrocket, 1.0, ATTN_NORM, 0, PITCH_NORM) client_print(player, print_center, "[Bazooka] Recargada y Lista !!!") rksound[player] = true } else if (rksound[player]) { } } public player_die() { new id = read_data(2) if(hasjet[id]) { cmdDrop(id) hasjet[id] = 0 rocket[id] = false } return PLUGIN_CONTINUE } public cmdDrop(id) { if(hasjet[id]) { new clip,ammo new weapon = get_user_weapon(id,clip,ammo) if(weapon == CSW_KNIFE) { if(!zp_get_user_zombie(id)){ entity_set_string(id,EV_SZ_viewmodel,"models/v_knife.mdl") entity_set_string(id,EV_SZ_weaponmodel,"models/p_knife.mdl") } return PLUGIN_HANDLED } } return PLUGIN_CONTINUE } public pfn_touch(ptr, ptd) { if(is_valid_ent(ptr)) { new classname[32] entity_get_string(ptr,EV_SZ_classname,classname,31) if(equal(classname, "zp_jp_rocket")) { new Float:fOrigin[3] new iOrigin[3] entity_get_vector(ptr, EV_VEC_origin, fOrigin) FVecIVec(fOrigin,iOrigin) jp_radius_damage(ptr) message_begin(MSG_BROADCAST,SVC_TEMPENTITY,iOrigin) write_byte(TE_EXPLOSION) write_coord(iOrigin[0]) write_coord(iOrigin[1]) write_coord(iOrigin[2]) write_short(explosion) write_byte(30) write_byte(15) write_byte(0) message_end() message_begin(MSG_ALL,SVC_TEMPENTITY,iOrigin) write_byte(TE_BEAMCYLINDER) write_coord(iOrigin[0]) write_coord(iOrigin[1]) write_coord(iOrigin[2]) write_coord(iOrigin[0]) write_coord(iOrigin[1]) write_coord(iOrigin[2]+200) write_short(white) write_byte(0) write_byte(1) write_byte(6) write_byte(8) write_byte(1) write_byte(255) write_byte(255) write_byte(192) write_byte(128) write_byte(5) message_end() if(is_valid_ent(ptd)) { new classname2[32] entity_get_string(ptd,EV_SZ_classname,classname2,31) if(equal(classname2,"func_breakable")) force_use(ptr,ptd) } remove_entity(ptr) } } return PLUGIN_CONTINUE } public darbazooka(player, itemid){ new clip,ammo new weapon = get_user_weapon(player,clip,ammo) if(zp_get_user_nemesis(player)){ hasjet[player] = 1 rocket[player] = true client_cmd(player,"spk items/gunpickup2.wav") if(weapon == CSW_KNIFE){ switchmodel(player) } else { engclient_cmd(player,"weapon_knife"),switchmodel(player) } } } stock jp_radius_damage(entity) { new id = entity_get_edict(entity,EV_ENT_owner) for(new i = 1; i < 33; i++) { if(is_user_alive(i)) { new dist = floatround(entity_range(entity,i)) if(dist <= get_pcvar_num(cvar_Dmg_range)) { new hp = get_user_health(i) new Float:damage = get_pcvar_float(cvar_RocketDmg) new Origin[3] get_user_origin(i,Origin) if(!zp_get_user_nemesis(i)) { if(hp > damage) jp_take_damage(i,floatround(damage),Origin,DMG_BLAST) else log_kill(id,i,"Jetpack Rocket",0) } } } } } stock log_kill(killer, victim, weapon[], headshot) { set_msg_block(get_user_msgid("DeathMsg"), BLOCK_SET) ExecuteHamB(Ham_Killed, victim, killer, 2) // set last param to 2 if you want victim to gib set_msg_block(get_user_msgid("DeathMsg"), BLOCK_NOT) message_begin(MSG_BROADCAST, get_user_msgid("DeathMsg")) write_byte(killer) write_byte(victim) write_byte(headshot) write_string(weapon) message_end() if(get_user_team(killer)!=get_user_team(victim)) set_user_frags(killer,get_user_frags(killer) +1) if(get_user_team(killer)==get_user_team(victim)) set_user_frags(killer,get_user_frags(killer) -1) new kname[32], vname[32], kauthid[32], vauthid[32], kteam[10], vteam[10] get_user_name(killer, kname, 31) get_user_team(killer, kteam, 9) get_user_authid(killer, kauthid, 31) get_user_name(victim, vname, 31) get_user_team(victim, vteam, 9) get_user_authid(victim, vauthid, 31) log_message("^"%s<%d><%s><%s>^" killed ^"%s<%d><%s><%s>^" with ^"%s^"", kname, get_user_userid(killer), kauthid, kteam, vname, get_user_userid(victim), vauthid, vteam, weapon) return PLUGIN_CONTINUE; } stock jp_take_damage(victim,damage,origin[3],bit) { message_begin(MSG_ONE,get_user_msgid("Damage"),{0,0,0},victim) write_byte(21) write_byte(20) write_long(bit) write_coord(origin[0]) write_coord(origin[1]) write_coord(origin[2]) message_end() set_user_health(victim,get_user_health(victim)-damage) }
Paso dos ya compilado y agregado a plugins.ini..
Abrir el zombie_plague35 o zombieplague40 SMA
y buscar
PHP Code:
if ((mode == MODE_NONE && (!preventconsecutive || g_lastmode != MODE_NEMESIS) && random_num(1, get_pcvar_num(cvar_nemchance)) == get_pcvar_num(cvar_nem) && iPlayersnum >= get_pcvar_num(cvar_nemminplayers)) || mode == MODE_NEMESIS) { // Nemesis Mode g_nemround = true g_lastmode = MODE_NEMESIS // Turn player into nemesis zombieme(id, 0, 1, 0) }
y modificarlo por:
PHP Code:
if ((mode == MODE_NONE && (!preventconsecutive || g_lastmode != MODE_NEMESIS) && random_num(1, get_pcvar_num(cvar_nemchance)) == get_pcvar_num(cvar_nem) && iPlayersnum >= get_pcvar_num(cvar_nemminplayers)) || mode == MODE_NEMESIS) { // Nemesis Mode g_nemround = true g_lastmode = MODE_NEMESIS // Turn player into nemesis zombieme(id, 0, 1, 0) console_cmd(id, "dararmanemesis") }
COMPILAR EL ZOMBIEPLAGUE35 0 40 Y REMPLASAR EL ZOMBIEPLAGUE35 O 40 AMXX
+KARMA SI AYUDE!! ME COSTO TRABAJO HACERLO...
Last edited by capostrike93; 02-27-2009 at 18:39.
Reason: Arreglado el problema de autor.. (creo)
|
|