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

[REQ] Ball Addon


Post New Thread Reply   
 
Thread Tools Display Modes
{PHILMAGROIN}
Senior Member
Join Date: Aug 2007
Location: In the middle of the des
Old 05-08-2010 , 13:41   Re: [REQ] Ball Addon
Reply With Quote #21

Quote:
Originally Posted by K.K.Lv View Post
@{PHILMAGROIN}
you plugin can not be work !!
It cannot work? it works on my test server. can you tell me whats not working? its not the best but thats why i put it here so someone can make it better if they need it.
__________________
[B]
{PHILMAGROIN} is offline
craigy09
Senior Member
Join Date: Mar 2010
Old 05-09-2010 , 03:20   Re: [REQ] Ball Addon
Reply With Quote #22

for some reason that ball works fine on lan but on a online server it spawns the ball but keep saying unknown command? u cant kick it around
craigy09 is offline
{PHILMAGROIN}
Senior Member
Join Date: Aug 2007
Location: In the middle of the des
Old 05-09-2010 , 03:33   Re: [REQ] Ball Addon
Reply With Quote #23

Quote:
Originally Posted by craigy09 View Post
for some reason that ball works fine on lan but on a online server it spawns the ball but keep saying unknown command? u cant kick it around
alright try it now
__________________
[B]
{PHILMAGROIN} is offline
FlyingHorse
Senior Member
Join Date: Apr 2010
Location: Under your bed.
Old 05-24-2010 , 15:48   Re: [REQ] Ball Addon
Reply With Quote #24

{PHILMAGROIN}? will that code work.. i want to be able to kick the ball pressing e.. And moving it while walking on it. exactly like soccermod.. doesn't look like ur code has that function
FlyingHorse is offline
Send a message via Skype™ to FlyingHorse
Kartoffel
Junior Member
Join Date: Apr 2010
Old 05-24-2010 , 15:51   Re: [REQ] Ball Addon
Reply With Quote #25

Quote:
Originally Posted by {PHILMAGROIN} View Post
[...]basically you spawn a ball where ever your aiming by typing in console amx_ball. You "kick" it by running into it and it gets "kicked" in which ever direction your crosshairs are aiming. When the ball is not moving and on the ground you have to jump onto it and hold crouch to "kick" it again.[...]
Look, here is it:

Only kicking by running trough it, ... Nothing like Soccerjam, but for start... why not?!

The Ballspawncreator / Ball Plugin or what ever, is private. They won´t release it for free, maybe if u pay sth.

Greetz
Kartoffel is offline
FlyingHorse
Senior Member
Join Date: Apr 2010
Location: Under your bed.
Old 05-24-2010 , 16:03   Re: [REQ] Ball Addon
Reply With Quote #26

This ball has bugs.. You cannot save the ball at the spot so it goes back on round spawn, you should be able to do that.. and sometimes the balls just stops working and you cannot move it
FlyingHorse is offline
Send a message via Skype™ to FlyingHorse
dienvidvejs
Junior Member
Join Date: Aug 2010
Old 08-23-2010 , 10:52   Re: [REQ] Ball Addon
Reply With Quote #27

^ Same problem
dienvidvejs is offline
lazarev
Veteran Member
Join Date: Sep 2008
Old 08-23-2010 , 12:37   Re: [REQ] Ball Addon
Reply With Quote #28

PHP Code:
#include < amxmodx >
#include < engine >
#include < fakemeta >
#include < hamsandwich >
#include < fun >

static const BALL_BOUNCE_GROUND[ ] = "kickball/bounce.wav";
static const 
g_szBallModel[ ]     = "models/kickball/ball.mdl";
static const 
g_szBallName[ ]      = "ball";

new 
g_iBallg_szFile128 ], g_szMapname32 ], g_iButtonsMenug_iTrailSprite;
new 
bool:g_bNeedBallcSpeedcDistance;
new 
Float:g_vOrigin];

public 
plugin_init( ) {
    
register_plugin"Jailbreak | Football""1.0""xPaw" );
    
    
/* Cvars */
    
cSpeed register_cvar("football_speed""200.0");
    
cDistance register_cvar("football_distance""520");
    
    
/* Register Forward */
    
register_forward(FM_PlayerPreThink"PlayerPreThink"0)
    
    
/* Current Weapon */
    
register_event("CurWeapon""CurWeapon""be");
    
    
RegisterHamHam_ObjectCaps"player""FwdHamObjectCaps");
    
register_logevent"EventRoundStart"2"1=Round_Start" );
    
    
register_thinkg_szBallName"FwdThinkBall" );
    
register_touchg_szBallName"player""FwdTouchPlayer" );
    
    new const 
szEntity[ ][ ] = {
        
"worldspawn""func_wall""func_door",  "func_door_rotating",
        
"func_wall_toggle""func_breakable""func_pushable""func_train",
        
"func_illusionary""func_button""func_rot_button""func_rotating"
    
}
    
    for( new 
isizeof szEntityi++ )
        
register_touchg_szBallNameszEntity], "FwdTouchWorld" );
    
    
g_iButtonsMenu menu_create"\rBallMaker \y Menu""HandleButtonsMenu" );
    
    
menu_additemg_iButtonsMenu"\rCreate\w Ball""1" );
    
menu_additemg_iButtonsMenu"\rLoad\w Ball""2" );
    
menu_additemg_iButtonsMenu"\rDelete\y All\w Balls""3" );
    
menu_additemg_iButtonsMenu"\rSave""4" );
    
    
register_clcmd"say /ball""CmdButtonsMenu"ADMIN_KICK );
    
register_clcmd"say /reset""UpdateBall" );
}    
public 
PlayerPreThink(id) {
    if(!
is_user_alive(id))
        return 
PLUGIN_CONTINUE;
        
    if( 
is_valid_entg_iBall ) ) {
        static 
iOwneriOwner pevg_iBallpev_iuser1 );
        if( 
iOwner != id )
            
set_user_maxspeed(id230.0)
    }
    return 
PLUGIN_HANDLED;
}
public 
CurWeapon(id) {
    if(!
is_user_alive(id))
        return 
PLUGIN_CONTINUE;
    if( 
is_valid_entg_iBall ) ) {
        static 
iOwneriOwner pevg_iBallpev_iuser1 );
        if( 
iOwner == id )
            
set_user_maxspeed(idget_pcvar_float(cSpeed))
    }    
    return 
PLUGIN_HANDLED;
}
public 
UpdateBallid ) {
    if( !
id || get_user_flagsid ) & ADMIN_KICK ) {
        if( 
is_valid_entg_iBall ) ) {
            
entity_set_vectorg_iBallEV_VEC_velocityFloat:{ 0.00.00.0 } ); // To be sure ?
            
entity_set_origing_iBallg_vOrigin );
            
            
entity_set_intg_iBallEV_INT_movetypeMOVETYPE_BOUNCE );
            
entity_set_sizeg_iBallFloat:{ -15.0, -15.00.0 }, Float:{ 15.015.012.0 } );
            
entity_set_intg_iBallEV_INT_iuser1);
        }
    }
    
    return 
PLUGIN_HANDLED;
}

public 
plugin_precache( ) {
    
precache_modelg_szBallModel );
    
precache_soundBALL_BOUNCE_GROUND );
    
    
g_iTrailSprite precache_model"sprites/laserbeam.spr" );
    
    
get_mapnameg_szMapname31 );
    
strtolowerg_szMapname );
    
    
// File
    
new szDatadir64 ];
    
get_localinfo"amxx_datadir"szDatadircharsmaxszDatadir ) );
    
    
formatexszDatadircharsmaxszDatadir ), "%s"szDatadir );
    
    if( !
dir_existsszDatadir ) )
        
mkdirszDatadir );
    
    
formatexg_szFilecharsmaxg_szFile ), "%s/ball.ini"szDatadir );
    
    if( !
file_existsg_szFile ) ) {
        
write_fileg_szFile"// Ball Spawn Editor", -);
        
write_fileg_szFile" ", -);
        
        return; 
// We dont need to load file
    
}
    
    new 
szData256 ], szMap32 ], szOrigin][ 16 ];
    new 
iFile fopeng_szFile"rt" );
    
    while( !
feofiFile ) ) {
        
fgetsiFileszDatacharsmaxszData ) );
        
        if( !
szData] || szData] == ';' || szData] == ' ' || ( szData] == '/' && szData] == '/' ) )
            continue;
        
        
parseszDataszMap31szOrigin], 15szOrigin], 15szOrigin], 15 );
        
        if( 
equalszMapg_szMapname ) ) {
            new 
Float:vOrigin];
            
            
vOrigin] = str_to_floatszOrigin] );
            
vOrigin] = str_to_floatszOrigin] );
            
vOrigin] = str_to_floatszOrigin] );
            
            
CreateBall0vOrigin );
            
            
g_vOrigin vOrigin;
            
            break;
        }
    }
    
    
fcloseiFile );
}

public 
CmdButtonsMenuid ) {
    if( 
get_user_flagsid ) & ADMIN_RCON )
        
menu_displayidg_iButtonsMenu);
    
    return 
PLUGIN_HANDLED;
}

public 
HandleButtonsMenuidiMenuiItem ) {
    if( 
iItem == MENU_EXIT )
        return 
PLUGIN_HANDLED;
    
    new 
szKey], _Access_Callback;
    
menu_item_getinfoiMenuiItem_AccessszKey1""0_Callback );
    
    new 
iKey str_to_numszKey );
    
    switch( 
iKey ) {
        case 
1:    {
            if( 
pev_validg_iBall ) )
                return 
PLUGIN_CONTINUE;
                
            
CreateBallid );
        }
        case 
2: {
            if( 
is_valid_entg_iBall ) ) {
                
entity_set_vectorg_iBallEV_VEC_velocityFloat:{ 0.00.00.0 } ); // To be sure ?
                
entity_set_origing_iBallg_vOrigin );
                
                
entity_set_intg_iBallEV_INT_movetypeMOVETYPE_BOUNCE );
                
entity_set_sizeg_iBallFloat:{ -15.0, -15.00.0 }, Float:{ 15.015.012.0 } );
                
entity_set_intg_iBallEV_INT_iuser1);
                
client_printidprint_chat"* Successfully loaded ball!" );
            }
        }
        case 
3: {
            new 
iEntity;
            
            while( ( 
iEntity find_ent_by_classiEntityg_szBallName ) ) > )
                
remove_entityiEntity );
            
client_printidprint_chat"* Successfully removed the balls!" );
        }
        case 
4: {
            new 
iBalliEntityFloat:vOrigin];
            
            while( ( 
iEntity find_ent_by_classiEntityg_szBallName ) ) > )
                
iBall iEntity;
            
            if( 
iBall )
                
entity_get_vectoriBallEV_VEC_originvOrigin );
            else
                return 
PLUGIN_HANDLED;
            
            new 
bool:bFoundiPosszData32 ], iFile fopeng_szFile"r+" );
            
            if( !
iFile )
                return 
PLUGIN_HANDLED;
            
            while( !
feofiFile ) ) {
                
fgetsiFileszData31 );
                
parseszDataszData31 );
                
                
iPos++;
                
                if( 
equalszDatag_szMapname ) ) {
                    
bFound true;
                    
                    new 
szString256 ];
                    
formatexszString255"%s %f %f %f"g_szMapnamevOrigin], vOrigin], vOrigin] );
                    
                    
write_fileg_szFileszStringiPos );
                    
                    break;
                }
            }
            
            if( !
bFound )
                
fprintfiFile"%s %f %f %f^n"g_szMapnamevOrigin], vOrigin], vOrigin] );
            
            
fcloseiFile );
            
            
client_printidprint_chat"* Successfully saved ball!" );
        }
        default: return 
PLUGIN_HANDLED;
    }
    
    
menu_displayidg_iButtonsMenu);
    
    return 
PLUGIN_HANDLED;
}

public 
EventRoundStart( ) {
    if( !
g_bNeedBall )
        return;
    
    if( !
is_valid_entg_iBall ) )
        
CreateBall0g_vOrigin );
    else {
        
entity_set_vectorg_iBallEV_VEC_velocityFloat:{ 0.00.00.0 } ); // To be sure ?
        
entity_set_origing_iBallg_vOrigin );
        
        
entity_set_intg_iBallEV_INT_solidSOLID_BBOX );
        
entity_set_intg_iBallEV_INT_movetypeMOVETYPE_BOUNCE );
        
entity_set_sizeg_iBallFloat:{ -15.0, -15.00.0 }, Float:{ 15.015.012.0 } );
        
entity_set_intg_iBallEV_INT_iuser1);
    }
}

public 
FwdHamObjectCapsid ) {
    if( 
pev_validg_iBall ) && is_user_aliveid ) ) {
        static 
iOwneriOwner pevg_iBallpev_iuser1 );
        
        if( 
iOwner == id )
            
KickBallid );
    }
}

// BALL BRAIN :)
////////////////////////////////////////////////////////////
public FwdThinkBalliEntity ) {
    if( !
is_valid_entg_iBall ) )
        return 
PLUGIN_HANDLED;
    
    
entity_set_floatiEntityEV_FL_nextthinkhalflife_time( ) + 0.05 );
    
    static 
Float:vOrigin], Float:vBallVelocity];
    
entity_get_vectoriEntityEV_VEC_originvOrigin );
    
entity_get_vectoriEntityEV_VEC_velocityvBallVelocity );
    
    static 
iOwneriOwner peviEntitypev_iuser1 );
    static 
iSolidiSolid peviEntitypev_solid );
    
    
// Trail --- >
    
static Float:flGametimeFloat:flLastThink;
    
flGametime get_gametime( );
    
    if( 
flLastThink flGametime ) {
        if( 
floatroundvector_lengthvBallVelocity ) ) > 10 ) {
            
message_beginMSG_BROADCASTSVC_TEMPENTITY );
            
write_byteTE_KILLBEAM );
            
write_shortg_iBall );
            
message_end( );
            
            
message_beginMSG_BROADCASTSVC_TEMPENTITY );
            
write_byteTE_BEAMFOLLOW );
            
write_shortg_iBall );
            
write_shortg_iTrailSprite );
            
write_byte10 );
            
write_byte10 );
            
write_byte);
            
write_byte50 );
            
write_byte255 );
            
write_byte200 );
            
message_end( );
        }
        
        
flLastThink flGametime 3.0;
    }
    
// Trail --- <
    
    
if( iOwner ) {
        static 
Float:vOwnerOrigin];
        
entity_get_vectoriOwnerEV_VEC_originvOwnerOrigin );
        
        static const 
Float:vVelocity] = { 1.01.00.0 };
        
        if( !
is_user_aliveiOwner ) ) {
            
entity_set_intiEntityEV_INT_iuser1);
            
            
vOwnerOrigin] += 5.0;
            
            
entity_set_originiEntityvOwnerOrigin );
            
entity_set_vectoriEntityEV_VEC_velocityvVelocity );
            
            return 
PLUGIN_CONTINUE;
        }
        
        if( 
iSolid != SOLID_NOT )
            
set_peviEntitypev_solidSOLID_NOT );
        
        static 
Float:vAngles], Float:vReturn];
        
entity_get_vectoriOwnerEV_VEC_v_anglevAngles );
        
        
vReturn] = ( floatcosvAngles], degrees ) * 55.0 ) + vOwnerOrigin];
        
vReturn] = ( floatsinvAngles], degrees ) * 55.0 ) + vOwnerOrigin];
        
vReturn] = vOwnerOrigin];
        
vReturn] -= ( entity_get_intiOwnerEV_INT_flags ) & FL_DUCKING ) ? 10 30;
        
        
entity_set_vectoriEntityEV_VEC_velocityvVelocity );
        
entity_set_originiEntityvReturn );
    } else {
        if( 
iSolid != SOLID_BBOX )
            
set_peviEntitypev_solidSOLID_BBOX );
        
        static 
Float:flLastVerticalOrigin;
        
        if( 
vBallVelocity] == 0.0 ) {
            static 
iCounts;
            
            if( 
flLastVerticalOrigin vOrigin] ) {
                
iCounts++;
                
                if( 
iCounts 10 ) {
                    
iCounts 0;
                    
                    
UpdateBall);
                }
            } else {
                
iCounts 0;
                
                if( 
PointContentsvOrigin ) != CONTENTS_EMPTY )
                    
UpdateBall);
            }
            
            
flLastVerticalOrigin vOrigin];
        }
    }
    
    return 
PLUGIN_CONTINUE;
}

KickBallid ) {
    
set_user_maxspeed(id230.0)
    static 
Float:vOrigin];
    
entity_get_vectorg_iBallEV_VEC_originvOrigin );
    
    if( 
PointContentsvOrigin ) != CONTENTS_EMPTY )
        return 
PLUGIN_HANDLED;

    new 
Float:vVelocity];
    
velocity_by_aimidget_pcvar_num(cDistance), vVelocity );
        
    
set_pevg_iBallpev_solidSOLID_BBOX );
    
entity_set_sizeg_iBallFloat:{ -15.0, -15.00.0 }, Float:{ 15.015.012.0 } );
    
entity_set_intg_iBallEV_INT_iuser1);
    
entity_set_vectorg_iBallEV_VEC_velocityvVelocity );
        
    return 
PLUGIN_CONTINUE;
}

// BALL TOUCHES
////////////////////////////////////////////////////////////
public FwdTouchPlayerBallid ) {
    if( 
is_user_botid ) )
        return 
PLUGIN_CONTINUE;
    
    static 
iOwneriOwner pevBallpev_iuser1 );
    
    if( 
iOwner == ) {
        
entity_set_intBallEV_INT_iuser1id );
        
set_user_maxspeed(idget_pcvar_float(cSpeed))
    }
    return 
PLUGIN_CONTINUE;
}

public 
FwdTouchWorldBallWorld ) {
    static 
Float:vVelocity];
    
entity_get_vectorBallEV_VEC_velocityvVelocity );
    
    if( 
floatroundvector_lengthvVelocity ) ) > 10 ) {
        
vVelocity] *= 0.85;
        
vVelocity] *= 0.85;
        
vVelocity] *= 0.85;
        
        
entity_set_vectorBallEV_VEC_velocityvVelocity );
        
        
emit_soundBallCHAN_ITEMBALL_BOUNCE_GROUND1.0ATTN_NORM0PITCH_NORM );
    }

    return 
PLUGIN_CONTINUE;
}


// ENTITIES CREATING
////////////////////////////////////////////////////////////
CreateBallidFloat:vOrigin] = { 0.00.00.0 } ) {
    if( !
id && vOrigin] == 0.0 && vOrigin] == 0.0 && vOrigin] == 0.0 )
        return 
0;
    
    
g_bNeedBall true;
    
    
g_iBall create_entity"info_target" );
    
    if( 
is_valid_entg_iBall ) ) {
        
entity_set_stringg_iBallEV_SZ_classnameg_szBallName );
        
entity_set_intg_iBallEV_INT_solidSOLID_BBOX );
        
entity_set_intg_iBallEV_INT_movetypeMOVETYPE_BOUNCE );
        
entity_set_modelg_iBallg_szBallModel );
        
entity_set_sizeg_iBallFloat:{ -15.0, -15.00.0 }, Float:{ 15.015.012.0 } );
        
        
entity_set_floatg_iBallEV_FL_framerate0.0 );
        
entity_set_intg_iBallEV_INT_sequence);
        
        
entity_set_floatg_iBallEV_FL_nextthinkget_gametime( ) + 0.05 );
        
        
client_printidprint_chat"* Successfully created ball!" );
        
        if( 
id ) {
            new 
iOrigin];
            
get_user_originidiOrigin);
            
IVecFVeciOriginvOrigin );
            
            
vOrigin] += 5.0;
            
            
entity_set_origing_iBallvOrigin );
        } else
            
entity_set_origing_iBallvOrigin );
        
        
g_vOrigin vOrigin;
        
        return 
g_iBall;
    }
    
    return -
1;

lazarev is offline
Vechta
Veteran Member
Join Date: Jun 2010
Old 08-23-2010 , 12:58   Re: [REQ] Ball Addon
Reply With Quote #29

This is awesome thank you very much ^^
Vechta is offline
sb123
Senior Member
Join Date: Jan 2007
Old 08-23-2010 , 13:07   Re: [REQ] Ball Addon
Reply With Quote #30

The new football model
entity_set_int( g_iBall, EV_INT_sequence, 0 );
change
entity_set_int( g_iBall, EV_INT_sequence, 2);
Attached Files
File Type: zip ball5.zip (11.3 KB, 290 views)
__________________
sb123 is offline
Send a message via ICQ to sb123 Send a message via MSN to sb123 Send a message via Yahoo to sb123
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 14:46.


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