Raised This Month: $51 Target: $400
 12% 

[ZP] Survivor Block Jetpack


Post New Thread Reply   
 
Thread Tools Display Modes
Unknown Guy
Member
Join Date: Dec 2014
Location: Munich, Germany
Old 03-22-2015 , 07:08   Re: [ZP] Survivor Block Jetpack
Reply With Quote #11

Quote:
Originally Posted by XeOn Cp View Post
i can't take picture because when i'm clicking in Cs 1.6 , Print Screen ____ StsRq , it is taking picture too late. so you can use the plugin that i attached above and see, when you fly , there are other flame sprite.
again, if anyone can edit plugin that i attached, it would be nice, your plugin yokomo is really nice , just in Topic, i was talking about other jetpack. with your jetpack - if player turn into Survivor, jetpack is automatically dropping, and i said other thing, i needed, if player turn into survivor, jetpack must be blocked ( survivor has jetpack, but he can't fly with it, only jump) and in next round, the player will have this jetpack again. and could fly too. just survivor need to block jetpack. not drop.
Press F5 in game to take screenshot in cs 1.6. If i imagine you mean that flame when we fly? When we fly it show fire or flame in air then it dissapear in sky? Right?
Unknown Guy is offline
XeOn Cp
Senior Member
Join Date: Jan 2014
Old 03-22-2015 , 08:24   Re: [ZP] Survivor Block Jetpack
Reply With Quote #12

F5 isn't working...
it doesn't need any picture, if anyone is interested with this Fire or Flame, they can check this plugin...
please do not post about other plugins here, i just pleased to edit plugin that i attached...
XeOn Cp is offline
thekiller123
Member
Join Date: Dec 2012
Old 04-03-2015 , 18:52   Re: [ZP] Survivor Block Jetpack
Reply With Quote #13

Try:

PHP Code:
#include <amxmodx> 
#include <fakemeta> 
#include <hamsandwich> 
#include <zombie_plague_advance> 

new const ClassnameJetPack[] = "n4d_jetpack" 
new const ClassnameRocket[] = "n4d_bazooka" 
new const ModelVJetPack[] = "models/v_jetpack.mdl" 
new const ModelPJetPack[] = "models/p_jetpack.mdl" 
new const ModelWJetPack[] = "models/w_jetpack.mdl" 
new const ModelRocket[] = "models/rpgrocket.mdl" 
new const SoundPickup[] = "items/gunpickup2.wav" 
new const SoundShoot[] = "zs/at4-1.wav" 
new const SoundTravel[] = "zs/bfuu.wav" 
new const SoundFly[] = "zs/fly.wav" 
new const SoundBlow[] = "zs/blow.wav" 

new bool:bHasJetPack[33
new 
Float:fJetpackFuel[33
new 
Float:fLastShoot[33
new 
SprExpSprTrailItemJetPackiAllocInfoTargetiMaxClientsMsgSayText 
new CvarMaxFuelCvarRadiusCvarDamageCvarSpeedCvarCooldownCvarRegenCvarRocketSpeed 
new Float:CMaxFuelFloat:CRadiusFloat:CDamageCSpeedFloat:CCooldownFloat:CRegenCRocketSpeed 
#define IsPlayer(%0) (1<=%0<=iMaxClients) 
#define ZP_TEAM_HUMAN (1<<1) 
#define ZP_PLUGIN_HANDLED 97 
#define PevEntType pev_flSwimTime 
#define EntTypeJetPack 3904 
#define EntTypeRocket 9340 

// Uncomment this to draw ring effect 
#define DrawRing 

// Uncomment this to draw flame effect 
#define DrawFlame 

#if defined DrawRing 
new SprRing 
#endif 

#if defined DrawFlame 
new SprFlame 
#endif 

public plugin_precache() 

    
precache_sound(SoundPickup
    
precache_sound(SoundShoot
    
precache_sound(SoundTravel
    
precache_sound(SoundFly
    
precache_sound(SoundBlow

    
SprExp precache_model("sprites/fire_explode.spr"
    
SprTrail precache_model("sprites/smoke.spr"

    
#if defined DrawFlame 
    
SprFlame precache_model("sprites/xfireball3.spr"
    
#endif 

    #if defined DrawRing 
    
SprRing precache_model("sprites/shockwave.spr"
    
#endif 

    
precache_model(ModelVJetPack
    
precache_model(ModelPJetPack
    
precache_model(ModelWJetPack
    
precache_model(ModelRocket


public 
plugin_init() 

    
register_plugin("New Jetpack""0.0.2""Bad_Bud,ZmOutStanding,Connor,wbyokomo"

    
register_event("HLTV""OnNewRound""a""1=0""2=0"
    
register_logevent("OnRoundEnd"2"1=Round_End"

    
RegisterHam(Ham_Killed"player""OnPlayerKilled"
    
RegisterHam(Ham_Player_Jump"player""OnPlayerJump"
    
RegisterHam(Ham_Weapon_SecondaryAttack"weapon_knife""OnKnifeSecAtkPost"1
    
RegisterHam(Ham_Item_Deploy"weapon_knife""OnKnifeDeployPost"1

    
register_forward(FM_PlayerPreThink"OnPlayerPreThink"
    
register_forward(FM_Touch"OnTouch"

    
CvarMaxFuel register_cvar("jp_maxfuel""460.0"
    
CvarRadius register_cvar("jp_radius""250.0"
    
CvarDamage register_cvar("jp_damage""600.0"
    
CvarSpeed register_cvar("jp_speed""350"
    
CvarCooldown register_cvar("jp_cooldown""10.0"
    
CvarRegen register_cvar("jp_regen""0.5"
    
CvarRocketSpeed register_cvar("jp_rocket_speed""1500"

    
iMaxClients get_maxplayers() 
    
MsgSayText get_user_msgid("SayText"
    
ItemJetPack zp_register_extra_item("Jetpack"35ZP_TEAM_HUMAN ZP_TEAM_SURVIVOR ZP_TEAM_SNIPER

    
register_clcmd("drop""CmdDropJP"


public 
plugin_cfg() 

    
iAllocInfoTarget engfunc(EngFunc_AllocString"info_target"


public 
client_putinserver(id

    
ResetValues(id


public 
client_disconnect(id

    
ResetValues(id


public 
OnNewRound() 

    
RemoveAllJetPack() 
    
CMaxFuel get_pcvar_float(CvarMaxFuel
    
CRadius get_pcvar_float(CvarRadius
    
CDamage get_pcvar_float(CvarDamage
    
CSpeed get_pcvar_num(CvarSpeed
    
CCooldown get_pcvar_float(CvarCooldown
    
CRegen get_pcvar_float(CvarRegen
    
CRocketSpeed get_pcvar_num(CvarRocketSpeed


public 
OnRoundEnd() 

    
RemoveAllJetPack() 


public 
OnPlayerKilled(id

    if(
bHasJetPack[id]) DropJetPack(id); 

    
ResetValues(id


public 
OnPlayerJump(id

    if(
bHasJetPack[id] && fJetpackFuel[id] > 0.0 && !zp_get_user_survivor(id) && get_user_weapon(id) && pev(idpev_button) & IN_DUCK && ~pev(idpev_flags) & FL_ONGROUND)   
    { 
        static 
Float:vVelocity[3], Float:upSpeed 
        pev
(idpev_velocityvVelocity
        
upSpeed vVelocity[2] + 35.0 
        velocity_by_aim
(idCSpeedvVelocity
        
vVelocity[2] = upSpeed 300.0 300.0 upSpeed 
        set_pev
(idpev_velocityvVelocity

        
#if defined DrawFlame 
        
pev(idpev_originvVelocity
        
engfunc(EngFunc_MessageBeginMSG_PVSSVC_TEMPENTITYvVelocity0
        
write_byte(TE_SPRITE
        
engfunc(EngFunc_WriteCoordvVelocity[0]) 
        
engfunc(EngFunc_WriteCoordvVelocity[1]) 
        
engfunc(EngFunc_WriteCoordvVelocity[2]) 
        
write_short(SprFlame
        
write_byte(8
        
write_byte(128
        
message_end() 
        
#endif 

        
fJetpackFuel[id] > 80.0 emit_sound(idCHAN_STREAMSoundFlyVOL_NORMATTN_NORM0,  PITCH_NORM) : emit_sound(idCHAN_STREAMSoundBlowVOL_NORMATTN_NORM0PITCH_NORM); 
        
fJetpackFuel[id] -= 1.0 
    



public 
zp_user_humanized_pre(idsurvivor)
{
        if(
zp_is_survivor_round())
        {
        if(
bHasJetPack[id]) DropJetPack(id); 
        
        
ResetValues(id)
    }


public 
zp_user_infected_pre(id

    if(
bHasJetPack[id]) DropJetPack(id); 

    
ResetValues(id


public 
zp_extra_item_selected(iditem

    if(
item == ItemJetPack
    { 
        if(
bHasJetPack[id]) 
        { 
            
zp_colored_print(id"^x04[ZP]^x01 You already have this item!"
            return 
ZP_PLUGIN_HANDLED
        } 

        
bHasJetPack[id] = true 
        zp_colored_print
(id"^x04[ZP]^x01 JetPack usage:^x04 JUMP+DUCK^x01 -- fly |^x04 SECATTACK^x01 -- shoot rocket."
        
engclient_cmd(id"weapon_knife"
        
ReplaceModel(id
    } 

    return 
PLUGIN_CONTINUE


public 
OnKnifeSecAtkPost(ent2

    if(
pev_valid(ent2) == 2
    { 
        static 
idFloat:ctime 
        id 
get_pdata_cbase(ent2414
        
ctime get_gametime() 
        if(
is_user_alive(id) && bHasJetPack[id] && fLastShoot[id] < ctime
        { 
            new 
ent engfunc(EngFunc_CreateNamedEntityiAllocInfoTarget
            if(
ent
            { 
                
engfunc(EngFunc_SetModelentModelRocket
                
engfunc(EngFunc_SetSizeentFloat:{0.00.00.0}, Float:{0.00.00.0}) 
                new 
Float:fOrigin[3
                
pev(idpev_originfOrigin
                
fOrigin[2] += 16.0 
                engfunc
(EngFunc_SetOriginentfOrigin
                
set_pev(entpev_classnameClassnameRocket
                
set_pev(entpev_dmg100.0
                
set_pev(entpev_ownerid
                
velocity_by_aim(idCRocketSpeedfOrigin
                
set_pev(entpev_velocityfOrigin
                new 
Float:vecAngles[3
                
engfunc(EngFunc_VecToAnglesfOriginvecAngles
                
set_pev(entpev_anglesvecAngles
                
set_pev(entPevEntTypeEntTypeRocket)     
                
set_pev(entpev_movetypeMOVETYPE_FLY
                
set_pev(entpev_effectsEF_LIGHT
                
set_pev(entpev_solidSOLID_BBOX

                
emit_sound(idCHAN_STATICSoundShootVOL_NORMATTN_NORM0PITCH_NORM
                
emit_sound(entCHAN_WEAPONSoundTravelVOL_NORMATTN_NORM0PITCH_NORM

                
message_begin(MSG_BROADCASTSVC_TEMPENTITY
                
write_byte(TE_BEAMFOLLOW
                
write_short(ent
                
write_short(SprTrail
                
write_byte(40
                
write_byte(5
                
write_byte(224
                
write_byte(224
                
write_byte(255
                
write_byte(192
                
message_end() 

                
fLastShoot[id] = ctime+CCooldown 
            

            else 
            { 
                
client_print(idprint_chat"[JpDebug] Failed to create rocket!"
                
fLastShoot[id] = ctime+1.5 
            

        } 
    } 


public 
OnKnifeDeployPost(ent

    if(
pev_valid(ent) == 2
    { 
        static 
idid get_pdata_cbase(ent414
        if(
is_user_alive(id) && bHasJetPack[id]) ReplaceModel(id); 
    } 


public 
OnPlayerPreThink(id

    if(
bHasJetPack[id] && fJetpackFuel[id] < CMaxFuel
    { 
        static 
buttonbutton pev(idpev_button
        if(!(
button IN_DUCK) && !(button IN_JUMP)) fJetpackFuel[id] += CRegen
    } 


public 
OnTouch(entid

    if(
pev_valid(ent)) 
    { 
        if(
pev(entPevEntType) == EntTypeJetPack
        { 
            if(
IsPlayer(id) && is_user_alive(id) && !zp_get_user_zombie(id) && !zp_get_user_survivor(id) && !bHasJetPack[id]) 
            { 
                
engfunc(EngFunc_RemoveEntityent
                
bHasJetPack[id] = true 
                emit_sound
(idCHAN_STATICSoundPickupVOL_NORMATTN_NORM0PITCH_NORM
                
engclient_cmd(id,"weapon_knife"
                
ReplaceModel(id
            } 
        } 
        else if(
pev(entPevEntType) == EntTypeRocket
        { 
            static 
Float:fOrigin[3
            
pev(entpev_originfOrigin

            
engfunc(EngFunc_MessageBeginMSG_PVSSVC_TEMPENTITYfOrigin0
            
write_byte(TE_EXPLOSION
            
engfunc(EngFunc_WriteCoordfOrigin[0]) 
            
engfunc(EngFunc_WriteCoordfOrigin[1]) 
            
engfunc(EngFunc_WriteCoordfOrigin[2]) 
            
write_short(SprExp
            
write_byte(40
            
write_byte(30
            
write_byte(10
            
message_end() 

            
#if defined DrawRing 
            
engfunc(EngFunc_MessageBeginMSG_PVSSVC_TEMPENTITYfOrigin0
            
write_byte(TE_BEAMCYLINDER
            
engfunc(EngFunc_WriteCoordfOrigin[0]) 
            
engfunc(EngFunc_WriteCoordfOrigin[1]) 
            
engfunc(EngFunc_WriteCoordfOrigin[2]) 
            
engfunc(EngFunc_WriteCoordfOrigin[0]) 
            
engfunc(EngFunc_WriteCoordfOrigin[1]) 
            
engfunc(EngFunc_WriteCoordfOrigin[2]+555.0
            
write_short(SprRing
            
write_byte(0
            
write_byte(1
            
write_byte(6
            
write_byte(8
            
write_byte(10
            
write_byte(224
            
write_byte(224
            
write_byte(255
            
write_byte(192
            
write_byte(5
            
message_end() 
            
#endif 

            
static attackerattacker pev(entpev_owner
            if(!
is_user_connected(attacker)) 
            { 
                
engfunc(EngFunc_RemoveEntityent
                return 
FMRES_IGNORED
            } 

            if(
pev_valid(id) && !is_user_connected(id)) 
            { 
                static 
szClassname[32
                
pev(idpev_classnameszClassname31
                if(
equal(szClassname"func_breakable") && (pev(idpev_solid) != SOLID_NOT)) 
                { 
                    
dllfunc(DLLFunc_Useident
                } 
            } 

            static 
victimvictim = -
            
while((victim engfunc(EngFunc_FindEntityInSpherevictimfOriginCRadius)) != 0
            { 
                if(
is_user_alive(victim) && zp_get_user_zombie(victim)) 
                { 
                    static 
Float:originV[3], Float:distFloat:damage 
                    pev
(victimpev_originoriginV
                    
dist get_distance_f(fOriginoriginV
                    
damage CDamage-(CDamage/CRadius)*dist 
                    
if(damage 0.0
                    { 
                        
ExecuteHamB(Ham_TakeDamagevictimentattackerdamageDMG_BULLET
                        
// client_print(attacker, print_chat, "[JpDebug] Rocket damage: %.1f", damage) 
                    

                } 
            } 

            
engfunc(EngFunc_RemoveEntityent
        } 
    } 

    return 
FMRES_IGNORED


public 
CmdDropJP(id

    if(
is_user_alive(id) && bHasJetPack[id] && get_user_weapon(id) == CSW_KNIFE
    { 
        
DropJetPack(id
        
ResetValues(id
        
set_pev(idpev_viewmodel2"models/v_knife.mdl"
        
set_pev(idpev_weaponmodel2"models/p_knife.mdl"
        return 
PLUGIN_HANDLED
    } 

    return 
PLUGIN_CONTINUE


ReplaceModel(id

    
set_pev(idpev_viewmodel2ModelVJetPack
    
set_pev(idpev_weaponmodel2ModelPJetPack


DropJetPack(id

    new 
Float:fAim[3], Float:fOrigin[3
    
velocity_by_aim(id64fAim
    
pev(idpev_originfOrigin
    
fOrigin[0] += fAim[0
    
fOrigin[1] += fAim[1

    new 
ent engfunc(EngFunc_CreateNamedEntityiAllocInfoTarget
    if(
ent
    { 
        
engfunc(EngFunc_SetModelentModelWJetPack
        
engfunc(EngFunc_SetSizeentFloat:{-4.0,-4.0,-4.0}, Float:{4.0,4.0,4.0}) 
        
engfunc(EngFunc_SetOriginentfOrigin
        
set_pev(entpev_classnameClassnameJetPack
        
set_pev(entpev_dmg100.0
        
set_pev(entPevEntTypeEntTypeJetPack
        
set_pev(entpev_movetypeMOVETYPE_TOSS
        
set_pev(entpev_solidSOLID_TRIGGER
    } 


RemoveAllJetPack() 

    new 
ent engfunc(EngFunc_FindEntityByString, -1"classname"ClassnameJetPack
    while(
ent 0
    { 
        
engfunc(EngFunc_RemoveEntityent
        
ent engfunc(EngFunc_FindEntityByString, -1"classname"ClassnameJetPack
    } 


ResetValues(id

    
bHasJetPack[id] = false 
    fJetpackFuel
[id] = get_pcvar_float(CvarMaxFuel


zp_colored_print(target, const message[], any:...) 

    static 
buffer[512], iargscount 
    argscount 
numargs() 

    if (!
target
    { 
        static 
iPlayers[32], iNumjplayer 
        get_players
(iPlayersiNum"ch"
        for (
0iNumj++) 
        { 
            
player iPlayers[j
            static 
changed[5], changedcount 
            changedcount 


            
for (2argscounti++) 
            { 
                if (
getarg(i) == LANG_PLAYER
                { 
                    
setarg(i0player
                    
changed[changedcount] = 
                    changedcount
++ 
                } 
            } 

            
vformat(buffercharsmax(buffer), message3
            
message_begin(MSG_ONE_UNRELIABLEMsgSayText_player
            
write_byte(player
            
write_string(buffer
            
message_end() 

            for (
0changedcounti++) setarg(changed[i], 0LANG_PLAYER); 
        } 
    } 
    else 
    { 
        
vformat(buffercharsmax(buffer), message3
        
message_begin(MSG_ONEMsgSayText_target
        
write_byte(target
        
write_string(buffer
        
message_end() 
    } 


Last edited by thekiller123; 04-05-2015 at 15:49.
thekiller123 is offline
XeOn Cp
Senior Member
Join Date: Jan 2014
Old 04-04-2015 , 07:45   Re: [ZP] Survivor Block Jetpack
Reply With Quote #14

didn't work.
XeOn Cp is offline
Depresie
Veteran Member
Join Date: Nov 2013
Old 04-04-2015 , 14:20   Re: [ZP] Survivor Block Jetpack
Reply With Quote #15

maybe ?

public OnPlayerJump(id)
{
if(
bHasJetPack[id] && fJetpackFuel[id] > 0.0 && get_user_weapon(id) && pev(id, pev_button) & IN_DUCK && ~pev(id, pev_flags) & FL_ONGROUND && !zp_get_user_survivor(id))
{
static
Float:vVelocity[3], Float:upSpeed
pev
(id, pev_velocity, vVelocity)
upSpeed = vVelocity[2] + 35.0
velocity_by_aim
(id, CSpeed, vVelocity)
vVelocity[2] = upSpeed > 300.0 ? 300.0 : upSpeed
set_pev
(id, pev_velocity, vVelocity)

#if defined DrawFlame
pev(id, pev_origin, vVelocity)
engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, vVelocity, 0)
write_byte(TE_SPRITE)
engfunc(EngFunc_WriteCoord, vVelocity[0])
engfunc(EngFunc_WriteCoord, vVelocity[1])
engfunc(EngFunc_WriteCoord, vVelocity[2])
write_short(SprFlame)
write_byte(8)
write_byte(128)
message_end()
#endif

fJetpackFuel[id] > 80.0 ? emit_sound(id, CHAN_STREAM, SoundFly, VOL_NORM, ATTN_NORM, 0, PITCH_NORM) : emit_sound(id, CHAN_STREAM, SoundBlow, VOL_NORM, ATTN_NORM, 0, PITCH_NORM);
fJetpackFuel[id] -= 1.0
}
}

Last edited by Depresie; 04-04-2015 at 14:24.
Depresie is offline
yokomo
Surprise Ascot!
Join Date: May 2010
Location: Malaysia
Old 04-04-2015 , 14:37   Re: [ZP] Survivor Block Jetpack
Reply With Quote #16

Quote:
Originally Posted by Depresie View Post
maybe ?

public OnPlayerJump(id)
{
if(
bHasJetPack[id] && fJetpackFuel[id] > 0.0 && get_user_weapon(id) && pev(id, pev_button) & IN_DUCK && ~pev(id, pev_flags) & FL_ONGROUND && !zp_get_user_survivor(id))
{
static
Float:vVelocity[3], Float:upSpeed
pev
(id, pev_velocity, vVelocity)
upSpeed = vVelocity[2] + 35.0
velocity_by_aim
(id, CSpeed, vVelocity)
vVelocity[2] = upSpeed > 300.0 ? 300.0 : upSpeed
set_pev
(id, pev_velocity, vVelocity)

#if defined DrawFlame
pev(id, pev_origin, vVelocity)
engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, vVelocity, 0)
write_byte(TE_SPRITE)
engfunc(EngFunc_WriteCoord, vVelocity[0])
engfunc(EngFunc_WriteCoord, vVelocity[1])
engfunc(EngFunc_WriteCoord, vVelocity[2])
write_short(SprFlame)
write_byte(8)
write_byte(128)
message_end()
#endif

fJetpackFuel[id] > 80.0 ? emit_sound(id, CHAN_STREAM, SoundFly, VOL_NORM, ATTN_NORM, 0, PITCH_NORM) : emit_sound(id, CHAN_STREAM, SoundBlow, VOL_NORM, ATTN_NORM, 0, PITCH_NORM);
fJetpackFuel[id] -= 1.0
}
}
Code:
if(bHasJetPack[id] && fJetpackFuel[id] > 0.0 && get_user_weapon(id) && pev(id, pev_button) & IN_DUCK && ~pev(id, pev_flags) & FL_ONGROUND && !zp_get_user_survivor(id))    
This save more check:
Code:
if(bHasJetPack[id] && fJetpackFuel[id] > 0.0 && !zp_get_user_survivor(id) && get_user_weapon(id) && pev(id, pev_button) & IN_DUCK && ~pev(id, pev_flags) & FL_ONGROUND)    
__________________
Team-MMG CS1.6 Servers:
✅ MultiMod -- 103.179.44.152:27016
✅ Zombie Plague -- 103.179.44.152:27015
✅ Zombie Escape -- 103.179.44.152:27017
✅ Klassik Kombat -- 103.179.44.152:27018
✅ Boss-Battle -- 103.179.44.152:27019
yokomo is offline
Reply



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 06:25.


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