This site is a testing version, but all data is shared with the live forum.


Raised This Month: $ Target: $400
 0% 

Parashute Only for Bots


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Author Message
Gooday
Junior Member
Join Date: Jan 2024
Old 05-05-2024 , 11:12   Parashute Only for Bots
Reply With Quote #1

I found this plugin down there.
https://forums.alliedmods.net/showthread.php?t=202853

This plugin is using Parachute admins only. I want to make it BOTS ONLY. I think it should be a little tweaks, but I'm noob in scripting. Hoping for you help. Have a nice Day.
PHP Code:
#include <amxmodx>
#include <hamsandwich>
#include <fakemeta>
#include <engine>

new para_ent[33]
new 
pDetachpFallSpeedpEnabled

new gBitAdmin
#define AddToBit(%1)        ( gBitAdmin |= (1<<%1) )
#define RemoveFromBit(%1)    ( gBitAdmin |= ~(1<<%1) )
#define IsInBit(%1)        ( gBitAdmin & %1 )

public plugin_precache()
    
precache_model("models/parachute.mdl")

public 
plugin_init()
{
    
register_plugin("Parachute""1.3""KRoT@L/JTP10181")     // edited by ^^KaMaZZ~.^
    
pEnabled register_cvar("sv_parachute""1" )
    
pFallSpeed register_cvar("parachute_fallspeed""100")
    
pDetach register_cvar("parachute_detach""1")
    
    
RegisterHam(Ham_Spawn"player""newSpawn"1)
    
register_event("DeathMsg""death_event""a")
}

public 
client_putinserver(id)
{
    static 
iFlags
    iFlags 
get_user_flags(id)
    
    if(
iFlags ADMIN_BAN)
        
AddToBit(id)
        
    
parachute_reset(id)
}

public 
client_disconnect(id)
{
    if(
IsInBit(id))
        
RemoveFromBit(id)

    
parachute_reset(id)
}

public 
newSpawn(id)
{
    if(
IsInBit(id))
    {
        if(
para_ent[id] > 0)
        {
            
remove_entity(para_ent[id])
            
fm_set_user_gravity(id1.0)
            
para_ent[id] = 0
        
}
    }
}

public 
death_event()
{
    new 
id read_data(2)
    
parachute_reset(id)
}

parachute_reset(id)
{
    if(
para_ent[id] > 0)
    {
        if (
is_valid_ent(para_ent[id]))
            
remove_entity(para_ent[id])
    }
        
    if (
is_user_alive(id))
        
fm_set_user_gravity(id1.0)

    
para_ent[id] = 0
}

public 
client_PreThink(id)
{
    if( !
get_pcvar_num(pEnabled) || !is_user_alive(id) || !IsInBit(id) ) 
        return;
    
    new 
Float:fallspeed get_pcvar_float(pFallSpeed) * -1.0
    
new Float:frame
    
    
new button get_user_button(id)
    new 
oldbutton get_user_oldbutton(id)
    new 
flags get_entity_flags(id)
    
    if (
para_ent[id] > && (flags FL_ONGROUND))
    {
        if (
get_pcvar_num(pDetach))
        {    
            if (
fm_get_user_gravity(id) == 0.1fm_set_user_gravity(id1.0)
            
            if (
entity_get_int(para_ent[id],EV_INT_sequence) != 2)
            {
                
entity_set_int(para_ent[id], EV_INT_sequence2)
                
entity_set_int(para_ent[id], EV_INT_gaitsequence1)
                
entity_set_float(para_ent[id], EV_FL_frame0.0)
                
entity_set_float(para_ent[id], EV_FL_fuser10.0)
                
entity_set_float(para_ent[id], EV_FL_animtime0.0)
                
entity_set_float(para_ent[id], EV_FL_framerate0.0)
                return
            }
            
            
frame entity_get_float(para_ent[id],EV_FL_fuser1) + 2.0
            entity_set_float
(para_ent[id],EV_FL_fuser1,frame)
            
entity_set_float(para_ent[id],EV_FL_frame,frame)
            
            if (
frame 254.0)
            {
                
remove_entity(para_ent[id])
                
para_ent[id] = 0
            
}
        }
        else
        {
            
remove_entity(para_ent[id])
            
fm_set_user_gravity(id1.0)
            
para_ent[id] = 0
        
}
        return
    }
    if (
button IN_USE)
    {
        new 
Float:velocity[3]
        
entity_get_vector(idEV_VEC_velocityvelocity)
        
        if (
velocity[2] < 0.0)
        {    
            if(
para_ent[id] <= 0)
            {
                
para_ent[id] = create_entity("info_target")
                if(
para_ent[id] > 0)
                {
                    
entity_set_string(para_ent[id],EV_SZ_classname,"parachute")
                    
entity_set_edict(para_ent[id], EV_ENT_aimentid)
                    
entity_set_edict(para_ent[id], EV_ENT_ownerid)
                    
entity_set_int(para_ent[id], EV_INT_movetypeMOVETYPE_FOLLOW)
                    
entity_set_model(para_ent[id], "models/parachute.mdl")
                    
entity_set_int(para_ent[id], EV_INT_sequence0)
                    
entity_set_int(para_ent[id], EV_INT_gaitsequence1)
                    
entity_set_float(para_ent[id], EV_FL_frame0.0)
                    
entity_set_float(para_ent[id], EV_FL_fuser10.0)
                }
            }
            if (
para_ent[id] > 0)
            {
                
entity_set_int(idEV_INT_sequence3)
                
entity_set_int(idEV_INT_gaitsequence1)
                
entity_set_float(idEV_FL_frame1.0)
                
entity_set_float(idEV_FL_framerate1.0)
                
fm_set_user_gravity(id0.1)
                
                
velocity[2] = (velocity[2] + 40.0 fallspeed) ? velocity[2] + 40.0 fallspeed
                entity_set_vector
(idEV_VEC_velocityvelocity)
                
                if (
entity_get_int(para_ent[id],EV_INT_sequence) == 0)
                {    
                    
frame entity_get_float(para_ent[id],EV_FL_fuser1) + 1.0
                    entity_set_float
(para_ent[id],EV_FL_fuser1,frame)
                    
entity_set_float(para_ent[id],EV_FL_frame,frame)
                    
                    if (
frame 100.0)
                    {
                        
entity_set_float(para_ent[id], EV_FL_animtime0.0)
                        
entity_set_float(para_ent[id], EV_FL_framerate0.4)
                        
entity_set_int(para_ent[id], EV_INT_sequence1)
                        
entity_set_int(para_ent[id], EV_INT_gaitsequence1)
                        
entity_set_float(para_ent[id], EV_FL_frame0.0)
                        
entity_set_float(para_ent[id], EV_FL_fuser10.0)
                    }
                }
            }
        }
        else if (
para_ent[id] > 0)
        {
            
remove_entity(para_ent[id])
            
fm_set_user_gravity(id1.0)
            
para_ent[id] = 0
        
}
    }
    else if ((
oldbutton IN_USE) && para_ent[id] > )
    {
        
remove_entity(para_ent[id])
        
fm_set_user_gravity(id1.0)
        
para_ent[id] = 0
    
}



stock Float:fm_get_user_gravity(index)
{
    new 
Float:gravity;
    
pev(indexpev_gravitygravity);
    
    return 
gravity;
}

stock fm_set_user_gravity(indexFloat:gravity 1.0)
{
    
set_pev(indexpev_gravitygravity);
    
    return 
1;
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ fbidis\\ ansi\\ ansicpg1252\\ deff0{\\ fonttbl{\\ f0\\ fnil\\ fcharset0 Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ ltrpar\\ lang13313\\ f0\\ fs16 \n\\ par }
*/ 

Last edited by Gooday; 05-05-2024 at 11:13.
Gooday 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 01:20.


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