AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   Where to change gravity of the ball and make it more closer to player (https://forums.alliedmods.net/showthread.php?t=252125)

danonix 11-26-2014 11:59

Where to change gravity of the ball and make it more closer to player
 
Hello,

Where I can do these things in this code? Thanks!

PHP Code:

public FwdThinkBall(ent
{
    if(!
pev_valid(ent))
        return 
PLUGIN_HANDLED;
    
    
set_pev(entpev_nextthinkhalflife_time()+0.05);
    
    new 
Float:EntOrigin[3], Float:EntVelocity[3];
    
pev(entpev_originEntOrigin); 
    
pev(entpev_velocityEntVelocity); 
    
    new 
owner pev(entpev_iuser1);
    new 
solid pev(entpev_solid);
    
    static 
Float:LastThink;
    if(
LastThink get_gametime()) 
    {
        if(
floatround(vector_length(EntVelocity)) > 10
        {
            
message_begin(MSG_BROADCASTSVC_TEMPENTITY);
            
write_byte(TE_KILLBEAM);
            
write_short(g_ball);
            
message_end();
            
            
message_begin(MSG_BROADCASTSVC_TEMPENTITY);
            
write_byte(TE_BEAMFOLLOW);
            
write_short(g_ball);
            
write_short(g_trail);
            
write_byte(10);
            
write_byte(10);
            
write_byte(0);//r
            
write_byte(0);//g
            
write_byte(0);//b
            
write_byte(255);//alpha ?
            
message_end();
        }
        
LastThink get_gametime()+3.0;
    }
    
    if(
owner
    {
        new 
Float:OwnerOrigin[3];
        
pev(ownerpev_originOwnerOrigin); 
        
        if(!
is_user_alive(owner))
        {
            
OwnerOrigin[2] += 5.0;
            
            
set_pev(entpev_iuser10);
            
set_pev(entpev_originOwnerOrigin); 
            
set_pev(entpev_velocityFloat:{1.01.00.0}); 
            return 
PLUGIN_CONTINUE;
        }
        
        if(
solid != SOLID_NOT)
            
set_pev(entpev_solidSOLID_NOT);
        
        
set_pev(entpev_framepev(entpev_frame));
        
set_pev(entpev_animtime0.0);
        
set_pev(entpev_framerate0.0);
        
        new 
Float:Angles[3], Float:vReturn[3];
        
pev(ownerpev_v_angleAngles);
        
        
vReturn[0] = (floatcos(Angles[1], degrees) * 55.0) + OwnerOrigin[0];
        
vReturn[1] = (floatsin(Angles[1], degrees) * 55.0) + OwnerOrigin[1];
        
vReturn[2] = OwnerOrigin[2] - ((pev(ownerpev_flags) & FL_DUCKING) ?10.030.0);
        
        
set_pev(entpev_originvReturn); 
        
set_pev(entpev_velocityFloat:{1.01.00.0}); 
    } 
    else 
    {
        if(
solid != SOLID_TRIGGER)
            
set_pev(entpev_solidSOLID_TRIGGER);
        
        static 
Float:VerticalOrigin;
        if(!
EntVelocity[2]) 
        {
            
set_pev(entpev_framepev(entpev_frame));
            
set_pev(entpev_animtime0.0);
            
set_pev(entpev_framerate0.0);
            
            static 
iCounts;
            if(
VerticalOrigin EntOrigin[2]) 
            {
                
iCounts++;
                if(
iCounts 10
                {
                    
iCounts 0;
                    
UpdateBall();
                }
            }
            else
            {
                
iCounts 0;
                if(
PointContents(EntOrigin) != CONTENTS_EMPTY)
                    
UpdateBall();
            }
            
VerticalOrigin EntOrigin[2];
        }
    }
    return 
PLUGIN_CONTINUE;
}

KickBall(id)
{
new 
Float:origin[3];
pev(g_ballpev_originorigin); 

if(
PointContents(origin) != CONTENTS_EMPTY)
    return 
PLUGIN_HANDLED;
    
    new 
Float:velocity[3], Float:Angles[3];
    
velocity_by_aim(id630velocity);
    
pev(idpev_v_angleAngles);
    
Angles[0] = 0.0;
    
set_pev(g_ballpev_anglesAngles);
    
    
set_pev(g_ballpev_solidSOLID_TRIGGER);
    
set_pev(g_ballpev_framepev(g_ballpev_frame));
    
set_pev(g_ballpev_animtimeget_gametime());
    
set_pev(g_ballpev_framerate1.0);
    
    
set_pev(g_ballpev_iuser10);
    
set_pev(g_ballpev_velocityvelocity); 
    
    
jail_set_user_speed(id250.0);    
    return 
PLUGIN_CONTINUE;
}

UpdateBall()
{
if(!
pev_valid(g_ball))
    return
    
    
set_pev(g_ballpev_velocityFloat:{0.00.00.1}); 
    
set_pev(g_ballpev_minsFloat:{-15.0, -15.00.0});
    
set_pev(g_ballpev_maxsFloat:{15.015.015.0});
    
    
set_pev(g_ballpev_solidSOLID_TRIGGER);
    
set_pev(g_ballpev_frame0.0);
    
set_pev(g_ballpev_animtime0.0);
    
set_pev(g_ballpev_framerate0.0);
    
set_pev(g_ballpev_iuser10);
    
    
set_pev(g_ballpev_origing_origin);




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

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