AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Trash (https://forums.alliedmods.net/forumdisplay.php?f=22)
-   -   [ZP] [ES] Bazooka NEMESIS! By [C]apo[S]trike!!! (https://forums.alliedmods.net/showthread.php?t=86531)

capostrike93 02-27-2009 04:18

[ZP] [ES] Bazooka NEMESIS! By [C]apo[S]trike!!!
 
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...

capostrike93 02-27-2009 04:20

Re: Bazooka NEMESIS! By [C]apo[S]trike!!!
 
Por sierto si ven errores o necesitan ayuda diganme por favor :)

+KARMA o SOLO DI GRACIAS!

nicolazo103 02-27-2009 07:34

Re: [ZP] [ES] Bazooka NEMESIS! By [C]apo[S]trike!!!
 
Groso, lo unico malo, es que me lo pone como el cuchillo y queda un poco mal, pero muy bueno, +karma
Eso es usar la imaginacion

alan_el_more 02-27-2009 07:50

Re: [ZP] [ES] Bazooka NEMESIS! By [C]apo[S]trike!!!
 
Es Facil Hacer Eso Nicolazo.

Capostrike93 Trata De Usar Un Forward Que Cuando Sos Nemesis Te De La Bazooka Asi No Hay Necesidad De Editar El Sma Del Zombie Plague.

EDITO: Este Plugin Tiene Un Bug: Si Sos Nemesis, Disparas La bazooka, tenes que esperar 1 min hasta que recargue Y Si Hay Una Nueva Ronda Y Hay Un Nemesis Es Problable Que No Tenga Bazooka Porque No Se Renueva El Tiempo De Recarga.

Starsailor 02-27-2009 10:13

Re: [ZP] [ES] Bazooka NEMESIS! By [C]apo[S]trike!!!
 
http://forums.alliedmods.net/showpos...postcount=1258

sos el autor por modificarle algo ?

PHP Code:

#define AUTHOR            "[C]apo[s]trike" 


dogandcat 02-27-2009 11:41

Re: [ZP] [ES] Bazooka NEMESIS! By [C]apo[S]trike!!!
 
ban the user, he has claimed as the autor of the plugin :S

capostrike93 02-27-2009 14:19

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

Quote:

Groso, lo unico malo, es que me lo pone como el cuchillo y queda un poco mal, pero muy bueno, +karma
Eso es usar la imaginacion
Eso lo podemos arreglar ahorita aver si le hago una modificasion...

Quote:

Este Plugin Tiene Un Bug: Si Sos Nemesis, Disparas La bazooka, tenes que esperar 1 min hasta que recargue Y Si Hay Una Nueva Ronda Y Hay Un Nemesis Es Problable Que No Tenga Bazooka Porque No Se Renueva El Tiempo De Recarga.
Lo de esperar un minuto es para que el nemesis no abuse de la bazoka si no seria INVENSIBLE!!
Lo del bug creo que no deves adelantar bugs que no existen...
Yo lo prove en mi server y no le vi ningun fallo solo le pongo el model y ya...


Y PUES SIGAN OPINANDO Y REPORTANDO BUGS

+KARMA SI AYUDE

alan_el_more 02-27-2009 15:50

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

Originally Posted by larito (Post 770287)
anda isiste lo q yo dige en http://forums.alliedmods.net/showthread.php?t=85904 ensima q pones ese plugin a tu nombre q nadamas lo modificaste el de jetpack+bazooka:nono::down:

Esto Dijiste?

http://forums.alliedmods.net/showpos...3&postcount=33

Starsailor 02-27-2009 17:44

Re: [ZP] [ES] Bazooka NEMESIS! By [C]apo[S]trike!!!
 
a mi me das risa vos capostrike, que por modificarle un par de cosas te consideras el autor, en ese caso en tu plugin del camper me tendria que considerar autor yo porque te hice la mitad del codigo mas o menos

veo que sos nuevo en el foro, no te vendria mal leer las reglas antes de postear

Starsailor 02-27-2009 17:48

Re: [ZP] [ES] Bazooka NEMESIS! By [C]apo[S]trike!!!
 
ya se y por eso te lo digo pero no hace falta reirte de las otras personas,
larito esta aprendiendo, dejalo tranquilo


All times are GMT -4. The time now is 15:09.

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