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

[REQ] Map Ball Spawn Creation


Post New Thread Reply   
 
Thread Tools Display Modes
minimiller
Veteran Member
Join Date: Aug 2007
Location: United Kingdom
Old 05-05-2010 , 11:34   Re: [REQ] Map Ball Spawn Creation
Reply With Quote #51

ill sell the .amxx for £10
theres a 50% chance that it spawns balls, 50% chance that it does fuck all and a 100% chance that it breaks your server
interested?
__________________
minimiller is offline
Send a message via MSN to minimiller
t*stylez
BANNED
Join Date: Apr 2010
Old 05-05-2010 , 18:45   Re: [REQ] Map Ball Spawn Creation
Reply With Quote #52

Quote:
Originally Posted by minimiller View Post
ill sell the .amxx for £10
theres a 50% chance that it spawns balls, 50% chance that it does fuck all and a 100% chance that it breaks your server
interested?
i might be
/sarcasm
t*stylez is offline
alfre
Member
Join Date: Feb 2010
Old 06-13-2011 , 16:01   Re: [REQ] Map Ball Spawn Creation
Reply With Quote #53

bump
alfre is offline
Send a message via Skype™ to alfre
hosimosi
Senior Member
Join Date: Apr 2013
Old 11-20-2013 , 15:01   Re: [REQ] Map Ball Spawn Creation
Reply With Quote #54

you guys looking for this ?

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;


Last edited by hosimosi; 11-20-2013 at 16:38.
hosimosi is offline
Reply


Thread Tools
Display Modes

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 11:19.


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