Raised This Month: $ Target: $400
 0% 

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


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
danonix
Senior Member
Join Date: Dec 2012
Old 11-26-2014 , 11:59   Where to change gravity of the ball and make it more closer to player
Reply With Quote #1

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);


Last edited by danonix; 11-26-2014 at 15:43.
danonix 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 17:30.


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