got from xpaws jailbreak football plugin
http://forums.alliedmods.net/showthread.php?t=155255
ITS just an example of ball entity
LOADING FROM FILE
PHP Code:
get_mapname( g_szMapname, 31 );
strtolower( g_szMapname );
// File
new szDatadir[ 64 ];
get_localinfo( "amxx_datadir", szDatadir, charsmax( szDatadir ) );
formatex( szDatadir, charsmax( szDatadir ), "%s", szDatadir );
if( !dir_exists( szDatadir ) )
mkdir( szDatadir );
formatex( g_szFile, charsmax( g_szFile ), "%s/ball.ini", szDatadir );
if( !file_exists( g_szFile ) ) {
write_file( g_szFile, "// Ball Spawn Editor", -1 );
write_file( g_szFile, " ", -1 );
return; // We dont need to load file
}
new szData[ 256 ], szMap[ 32 ], szOrigin[ 3 ][ 16 ];
new iFile = fopen( g_szFile, "rt" );
while( !feof( iFile ) ) {
fgets( iFile, szData, charsmax( szData ) );
if( !szData[ 0 ] || szData[ 0 ] == ';' || szData[ 0 ] == ' ' || ( szData[ 0 ] == '/' && szData[ 1 ] == '/' ) )
continue;
parse( szData, szMap, 31, szOrigin[ 0 ], 15, szOrigin[ 1 ], 15, szOrigin[ 2 ], 15 );
if( equal( szMap, g_szMapname ) ) {
new Float:vOrigin[ 3 ];
vOrigin[ 0 ] = str_to_float( szOrigin[ 0 ] );
vOrigin[ 1 ] = str_to_float( szOrigin[ 1 ] );
vOrigin[ 2 ] = str_to_float( szOrigin[ 2 ] );
CreateBall( 0, vOrigin );
g_vOrigin = vOrigin;
break;
}
}
fclose( iFile );
}
SAVING
PHP Code:
{
new iBall, iEntity, Float:vOrigin[ 3 ];
while( ( iEntity = find_ent_by_class( iEntity, g_szBallName ) ) > 0 )
iBall = iEntity;
if( iBall > 0 )
entity_get_vector( iBall, EV_VEC_origin, vOrigin );
else
return PLUGIN_HANDLED;
new bool:bFound, iPos, szData[ 32 ], iFile = fopen( g_szFile, "r+" );
if( !iFile )
return PLUGIN_HANDLED;
while( !feof( iFile ) ) {
fgets( iFile, szData, 31 );
parse( szData, szData, 31 );
iPos++;
if( equal( szData, g_szMapname ) ) {
bFound = true;
new szString[ 256 ];
formatex( szString, 255, "%s %f %f %f", g_szMapname, vOrigin[ 0 ], vOrigin[ 1 ], vOrigin[ 2 ] );
write_file( g_szFile, szString, iPos - 1 );
break;
}
}
if( !bFound )
fprintf( iFile, "%s %f %f %f^n", g_szMapname, vOrigin[ 0 ], vOrigin[ 1 ], vOrigin[ 2 ] );
fclose( iFile );
client_print( id, print_chat, "* Successfully saved ball!" );
}
default: return PLUGIN_HANDLED;
}
return PLUGIN_HANDLED;
}
__________________