Raised This Month: $ Target: $400
 0% 

[ZP] [ES] Bazooka NEMESIS! By [C]apo[S]trike!!!


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Author Message
capostrike93
Veteran Member
Join Date: Feb 2009
Location: adios y??
Old 02-27-2009 , 04:18   [ZP] [ES] Bazooka NEMESIS! By [C]apo[S]trike!!!
Reply With Quote #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 explosiontrailwhite
new hasjet[33]
new 
cvar_RocketDelaycvar_RocketSpeedcvar_RocketDmgcvar_Dmg_range
 
 
public plugin_init() {
    
register_plugin(PLUGINNAMEVERSIONAUTHOR)
 
    
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 
idid <= 32id++) hasjet[id] = 0;
}
 
public 
fm_startFrame(){
 
    
gltime get_gametime()
    static 
id
    
for (id 1id <= 32id++)
    {
        
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
(rocketEV_SZ_classname"zp_jp_rocket")
        
entity_set_model(rocketROCKET_MDL)
 
        
entity_set_size(rocketFloat:{0.00.00.0}, Float:{0.00.00.0})
        
entity_set_int(rocketEV_INT_movetypeMOVETYPE_FLY)
        
entity_set_int(rocketEV_INT_solidSOLID_BBOX)
 
        new 
Float:vSrc[3]
        
entity_get_vector(playerEV_VEC_originvSrc)
 
        new 
Float:Aim[3],Float:origin[3]
        
VelocityByAim(player64Aim)
        
entity_get_vector(player,EV_VEC_origin,origin)
 
        
vSrc[0] += Aim[0]
        
vSrc[1] += Aim[1]
        
entity_set_origin(rocketvSrc)
 
        new 
Float:velocity[3], Float:angles[3]
        
VelocityByAim(playerget_pcvar_num(cvar_RocketSpeed), velocity)
 
        
entity_set_vector(rocketEV_VEC_velocityvelocity)
        
vector_to_angle(velocityangles)
        
entity_set_vector(rocketEV_VEC_anglesangles)
        
entity_set_edict(rocket,EV_ENT_owner,player)
        
entity_set_float(rocketEV_FL_takedamage1.0)
 
        
message_begin(MSG_BROADCASTSVC_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(rocketCHAN_WEAPONROCKET_SOUND1.0ATTN_NORM0PITCH_NORM)
 
        
shot[player] = true
        last_Rocket
[player] = gltime get_pcvar_num(cvar_RocketDelay)
                if(
rocket == 0){
                
client_print(playerprint_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(entitychannel, 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_EmitSoundplayerCHAN_WEAPONgetrocket1.0ATTN_NORM0PITCH_NORM)
        
client_print(playerprint_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(ptrptd) {
    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(ptrEV_VEC_originfOrigin)
            
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(playeritemid){
 
 
    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 
133i++) {
        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(killervictimweapon[], headshot)
{
        
set_msg_block(get_user_msgid("DeathMsg"), BLOCK_SET)
    
ExecuteHamB(Ham_Killedvictimkiller2// set last param to 2 if you want victim to gib
    
set_msg_block(get_user_msgid("DeathMsg"), BLOCK_NOT)
 
 
    
message_begin(MSG_BROADCASTget_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(killerkname31)
    
get_user_team(killerkteam9)
    
get_user_authid(killerkauthid31)
 
    
get_user_name(victimvname31)
    
get_user_team(victimvteam9)
    
get_user_authid(victimvauthid31)
 
    
log_message("^"%s<%d><%s><%s>^" killed ^"%s<%d><%s><%s>^" with ^"%s^""
    
knameget_user_userid(killer), kauthidkteam
     
vnameget_user_userid(victim), vauthidvteamweapon)
 
     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(1get_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(id010)



y modificarlo por:

PHP Code:
if ((mode == MODE_NONE && (!preventconsecutive || g_lastmode != MODE_NEMESIS) && random_num(1get_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(id010)
    
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)
capostrike93 is offline
 



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 17:10.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode