|
Member
|

12-28-2012
, 20:12
Convert const to aray and load data from .ini file
|
#1
|
First code works great, it is easy to replace RGB values and to don't show them in message.
PHP Code:
#include < amxmodx > #include < amxmisc >
new g_iMessagesCount, g_iVariable, g_iAdvertisementsSync;
enum _: BLEAHHH{ RED[ 3 ], GREEN[ 3 ], BLUE[ 3 ], MESSAGE[ 512 ] }
static const szMessages[ ][ BLEAHHH ] = { { 255, 000, 000, "1 = Hello, it Worked!" }, { 000, 255, 000, "2 = Hello, it Worked!" }, { 000, 000, 200, "3 = Hello, it Worked!" }, { 000, 200, 000, "4 = Hello, it Worked!" }, { 200, 000, 000, "5 = Hello, it Worked!" } }
public plugin_init( ) { register_plugin( "Messages Shower", "1.0b", "[dvL]aditza" );
g_iAdvertisementsSync = CreateHudSyncObj( ); g_iMessagesCount = sizeof( szMessages ) -1;
set_task( 5.0, "Task_HudMessages", .flags= "b" ); }
public Task_HudMessages( ) { if( g_iVariable > g_iMessagesCount ) g_iVariable = 0; set_hudmessage( szMessages[ g_iVariable ][ RED ], szMessages[ g_iVariable ][ GREEN ], szMessages[ g_iVariable ][ BLUE ], -1.0, 0.20, 0, 0.5, 12.0, 2.0, 2.0, -1 ); ShowSyncHudMsg( 0, g_iAdvertisementsSync, "%s", szMessages[ g_iVariable ][ MESSAGE] );
g_iVariable++; }
Below i tryed to "convert" the plugin, but i did a big and useless 
I think szRight must be divided into four parts R, G, B and the message. I realy need help to do that.
PHP Code:
#include < amxmodx > #include < amxmisc >
enum _: BLEAHHH{ RED[ 3 ], GREEN[ 3 ], BLUE[ 3 ], MESSAGE[ 512 ] }
static Array: g_iMessages, g_iMessagesCount, cLoadedDATA[ ][ BLEAHHH ], g_iAdvertisementsSync, g_iVariable;
public plugin_init( ) { register_plugin( "Messages Shower", "1.0b", "[dvL]aditza" );
g_iMessages = ArrayCreate( 32 ); g_iAdvertisementsSync = CreateHudSyncObj( );
new iFile = fopen( "addons/amxmodx/configs/Messages.ini", "rt" ); static szData[ 64 ], szLeft[ 16 ], szRight[ 256 ]; while( !feof( iFile ) ) { fgets( iFile, szData, 63 ); strtok( szData, szLeft, 15, szRight, 255, '@' ); trim( szLeft ); trim( szRight ); if( equali( szLeft, "HudMsg" ) ) { ArrayPushString( g_iMessages, szRight );
replace_all( szRight, 256, "#", "^n" );
g_iMessagesCount = ArraySize( g_iMessages ) -1;
formatex( cLoadedDATA[ g_iMessagesCount ][ MESSAGE ], 255, "%s", szRight ); } } fclose( iFile );
set_task( 2.0, "Task_SendMessages", .flags = "b" ); }
public Task_SendMessages( ) { if( g_iVariable > g_iMessagesCount ) g_iVariable = 0;
set_hudmessage( cLoadedDATA[ g_iVariable ][ RED ], cLoadedDATA[ g_iVariable ][ GREEN ], cLoadedDATA[ g_iVariable][ BLUE ], -1.0, 0.20, 0, 0.5, 12.0, 2.0, 2.0, -1 ); ShowSyncHudMsg( 0, g_iAdvertisementsSync, "%s, NR: %d", cLoadedDATA[ g_iVariable ][ MESSAGE ], g_iVariable )
g_iVariable++; }
Messages.ini:
HudMsg @ 250 010 200 Hello, it Worked! HudMsg @ 020 010 050 Hello, it Worked! HudMsg @ 250 010 200 Hello, it Worked! HudMsg @ 020 010 050 Hello, it Worked! HudMsg @ 250 010 200 Hello, it Worked! HudMsg @ 020 010 050 Hello, it Worked!
Last edited by twix_p; 12-28-2012 at 20:22.
|
|