|
Member
Join Date: Jul 2014
Location: Far Far AwaY From YoU!
|

11-13-2015
, 04:54
Help Hud simple request
|
#1
|
Hello ,,, i have found this rank hud in this forum : BLacking98-RankMod.sma
and i want to make some changes ,, what i really want is that i wont if player is zombie the hud rank be on Red Color and if it's human it be on Blue Color can anyone help me ? tnx
Code:
PHP Code:
#include < amxmodx > #include < amxmisc > #include < fun > #include < nvault > #include < hamsandwich >
#pragma semicolon 1
#define cm(%0) ( sizeof(%0) - 1 )
#define MAXLEVEL 13 #define MAXAUTH 4
enum _:mData { m_szRankName[ 32 ], m_iRankXP };
enum { Player = 0, Admin, Head, Kryesor };
new const g_mPlayerData[ ][ mData ] = { { "1", 0 }, { "2", 50 }, { "3", 200 }, { "4", 350 }, { "5", 600 }, { "6", 1000 }, { "7", 1500 }, { "8", 2500 }, { "9", 5000 }, { "10", 8250 }, { "11", 13500 }, { "12", 20000 }, { "13", 30000 }, { "14", 45000 } };
new const g_mPlayerAuth[ ][ ] = { "Player", "Admin", "Head", "Kryesor" };
new const g_sLevelUp[ ] = { "RankMod/Rank-Mod-LvlUp.mp3" };
// Integers new g_iPlayerXP[ 33 ] = 0; new g_iPlayerLevel[ 33 ] = 0; new g_iPlayerStatus[ 33 ] = 3;
// Booleans new g_bToggleHud[ 33 ] = true; new g_bAdvertSeen[ 33 ] = false;
// Strings new g_szHostName[ 64 ];
// Cvars new g_Vault;
public plugin_init() { // Register Events register_event( "DeathMsg", "Event_DeathMsg", "a" ); // Register Messages register_message( get_user_msgid( "StatusValue" ), "msgStatusValue" ); // Register Ham RegisterHam( Ham_Spawn, "player", "CBase_PlayerPost_Spawn", 1 ); // Register Client Commands register_clcmd( "say /hud", "cmdToggleHud" ); register_clcmd( "say /manage", "cmdManagePlayers" ); }
public plugin_precache( ) { precache_sound( g_sLevelUp ); }
public plugin_cfg( ) { get_cvar_string( "hostname", g_szHostName, cm( g_szHostName ) ); g_Vault = nvault_open( "Rank-Mod" ); }
public client_authorized( id ) { if( has_flag( id, "a" ) ) g_iPlayerStatus[ id ] = Kryesor; else if( has_flag( id, "w" ) ) g_iPlayerStatus[ id ] = Head; else if( has_flag( id, "b" ) ) g_iPlayerStatus[ id ] = Admin; else if( has_flag( id, "z" ) ) g_iPlayerStatus[ id ] = Player; }
public client_putinserver( id ) { g_bToggleHud[ id ] = true; g_bAdvertSeen[ id ] = false; set_task( 0.9, "ShowHud", id, _, _, "b" ); LoadData( id ); }
public client_disconnect( id ) { SaveData( id ); }
public Event_DeathMsg( ) { new iKiller = read_data( 1 ); new iVictim = read_data( 2 ); new HeadShot = read_data( 3 ); new clip, ammo, weapon = get_user_weapon( iKiller, clip, ammo ); if( iVictim != iKiller ) { if( HeadShot && weapon == CSW_KNIFE ) g_iPlayerXP[ iKiller ] += 2; else if( HeadShot ) g_iPlayerXP[ iKiller ] += 3; else if( weapon == CSW_KNIFE && !HeadShot ) g_iPlayerXP[ iKiller ] += 5; else if( weapon != CSW_KNIFE && !HeadShot ) g_iPlayerXP[ iKiller ] += 5; else g_iPlayerXP[ iKiller ] += 1; if( g_iPlayerLevel[ iKiller ] < MAXLEVEL ) { if( g_iPlayerXP[ iKiller ] >= g_mPlayerData[ g_iPlayerLevel[ iKiller ] + 1 ][ m_iRankXP ] ) { g_iPlayerLevel[ iKiller ]++; set_dhudmessage( 0, 255, 0, -1.0, 0.60, 1, 3.0, 3.0, 1.5, 1.5 ); show_dhudmessage( iKiller, "You Have Been Promoted To LeveL: ^n^n %s", g_mPlayerData[ g_iPlayerLevel[ iKiller ] ][ m_szRankName ] ); client_cmd( iKiller, "mp3 play sound/%s", g_sLevelUp ); } } } } // Toggle Showing Hud Message On / Off public cmdToggleHud( id ) { g_bToggleHud[ id ] = !g_bToggleHud[ id ]; return PLUGIN_HANDLED; }
// Shows The Rank Information Message public ShowHud( id ) { if( g_bToggleHud[ id ] ) { set_hudmessage(0, 255, 255, 0.01, 0.18, 0, 6.0, 1.0, 0.0, 0.0, -1 ); if( g_iPlayerLevel[ id ] < MAXLEVEL ) { show_hudmessage(id, "[ %s ]^n[ Level: %s ]^n[ XP: %i / %i ]^n[ Status: %s ]", g_szHostName, g_mPlayerData[ g_iPlayerLevel[ id ] ][ m_szRankName ], g_iPlayerXP[ id ], g_mPlayerData[ g_iPlayerLevel[ id ] + 1 ][ m_iRankXP ], g_mPlayerAuth[ g_iPlayerStatus[ id ] ] ); } else { show_hudmessage(id, "[ %s ]^n[ Rank: -= %s =- ]^n[ XP: %i ]^n[ Status: %s ]", g_szHostName, g_mPlayerData[ g_iPlayerLevel[ id ] ][ m_szRankName ], g_iPlayerXP[ id ], g_mPlayerAuth[ g_iPlayerStatus[ id ] ] ); } } }
//////////////////// // StatusValueMsg // //////////////////// public msgStatusValue( msgid, dest, id ) { new flag, value; flag = get_msg_arg_int( 1 ); value = get_msg_arg_int( 2 ); if( !value ) { return PLUGIN_CONTINUE; } if( flag == 2 ) { new text[ 128 ]; if( get_user_team( value ) == get_user_team( id ) ) formatex( text, charsmax( text ), "1 %%p2 HP: %d ( %s )", get_user_health( value ), g_mPlayerData[ g_iPlayerLevel[ value ] ][ m_szRankName ] ); else formatex( text, charsmax( text ), "1 %%p2 ( %s )", g_mPlayerData[ g_iPlayerLevel[ value ] ][ m_szRankName ] ); message_begin( MSG_ONE_UNRELIABLE, get_user_msgid( "StatusText" ), _, id ); write_byte( 0 ); write_string( text ); message_end( ); } return PLUGIN_CONTINUE; }
////////////////////////////////// /* MANAGE PLAYERS RANKS */ ////////////////////////////////// public cmdManagePlayers( id ) { if( !has_flag( id, "a" ) ) return PLUGIN_HANDLED; new menu = menu_create( "Manage Player Ranks:", "Players_Handler" ); new iPlayers[ 32 ], iNum, i, Players; new szUserID[ 32 ], szName[ 64 ]; get_players( iPlayers, iNum ); for( i = 0; i < iNum; i++ ) { Players = iPlayers[ i ]; formatex( szName, cm( szName ), "%s ( \r%s\w )", get_nick( Players ), g_mPlayerData[ g_iPlayerLevel[ Players ] ][ m_szRankName ] ); formatex( szUserID, cm( szUserID ), "%d", get_user_userid( Players ) ); menu_additem( menu, szName, szUserID ); } menu_display( id, menu ); return PLUGIN_HANDLED; }
public Players_Handler( id, menu, item ) { if( item == MENU_EXIT ) { menu_destroy( menu ); return PLUGIN_HANDLED; } new item_access, callback; new info[ 64 ], name[ 32 ]; menu_item_getinfo( menu, item, item_access, info, cm( info ), name, cm( name ), callback ); new userid = str_to_num( info ); new player = find_player( "k", userid );
ChoosePlayerRank( id, player ); return PLUGIN_HANDLED; }
public ChoosePlayerRank( index, Choosen ) { new szTitle[ 101 ], szChoosen[ 5 ]; formatex( szTitle, cm( szTitle ), "Change \r%s\y Rank To:", get_nick( Choosen ) ); new menu = menu_create( szTitle, "PlayerRank_Handler" ); num_to_str( Choosen, szChoosen, cm( szChoosen ) ); for( new i = 0; i < sizeof( g_mPlayerData ); i++ ) menu_additem( menu, g_mPlayerData[ i ][ m_szRankName ], szChoosen );
menu_display( index, menu ); return PLUGIN_HANDLED; }
public PlayerRank_Handler( id, menu, item ) { if( item == MENU_EXIT ) { menu_destroy( menu ); return PLUGIN_HANDLED; } new item_access, callback; new info[ 64 ], name[ 32 ]; menu_item_getinfo( menu, item, item_access, info, cm( info ), name, cm( name ), callback ); new player = str_to_num( info ); g_iPlayerXP[ player ] = g_mPlayerData[ item ][ m_iRankXP ]; g_iPlayerLevel[ player ] = item; set_dhudmessage( 0, random( 256 ), 0, -1.0, 0.60, 1, 3.0, 3.0, 1.5, 1.5 ); show_dhudmessage( player, "ADMIN: %s Has Changed Your Rank To^n^n-= %s =-", get_nick( id ), g_mPlayerData[ g_iPlayerLevel[ player ] ][ m_szRankName ] ); client_cmd( player, "mp3 play sound/%s", g_sLevelUp ); menu_destroy( menu ); return PLUGIN_HANDLED; } public plugin_end( ) { nvault_close( g_Vault ); }
/////////////////////////////////// /* STOCKS */ /////////////////////////////////// stock Color( id, String[ ], any:... ) { static szMsg[ 192 ]; vformat( szMsg, charsmax( szMsg ), String, 3 ); replace_all( szMsg, charsmax( szMsg ), "!n", "^1" ); replace_all( szMsg, charsmax( szMsg ), "!t", "^3" ); replace_all( szMsg, charsmax( szMsg ), "!g", "^4" ); static msgSayText = 0; if( !msgSayText ) msgSayText = get_user_msgid( "SayText" ); new Players[ 32 ], iNum = 1, i; if( id ) Players[ 0 ] = id; else get_players( Players, iNum, "ch" ); for( --iNum; iNum >= 0; iNum-- ) { i = Players[ iNum ]; message_begin( MSG_ONE_UNRELIABLE, msgSayText, _, i ); write_byte( i ); write_string( szMsg ); message_end( ); } }
stock get_nick( index ) { new szName[ 32 ]; get_user_name( index, szName, cm( szName ) ); return szName; }
////////////////////////////////////////// /* DHUD MESSAGE STOCKS */ ////////////////////////////////////////// stock __dhud_color; stock __dhud_x; stock __dhud_y; stock __dhud_effect; stock __dhud_fxtime; stock __dhud_holdtime; stock __dhud_fadeintime; stock __dhud_fadeouttime; stock __dhud_reliable;
stock set_dhudmessage( red = 0, green = 160, blue = 0, Float:x = -1.0, Float:y = 0.65, effects = 2, Float:fxtime = 6.0, Float:holdtime = 3.0, Float:fadeintime = 0.1, Float:fadeouttime = 1.5, bool:reliable = false ) { #define clamp_byte(%1) ( clamp( %1, 0, 255 ) ) #define pack_color(%1,%2,%3) ( %3 + ( %2 << 8 ) + ( %1 << 16 ) )
__dhud_color = pack_color( clamp_byte( red ), clamp_byte( green ), clamp_byte( blue ) ); __dhud_x = _:x; __dhud_y = _:y; __dhud_effect = effects; __dhud_fxtime = _:fxtime; __dhud_holdtime = _:holdtime; __dhud_fadeintime = _:fadeintime; __dhud_fadeouttime = _:fadeouttime; __dhud_reliable = _:reliable;
return 1; }
stock show_dhudmessage( index, const message[], any:... ) { new buffer[ 128 ]; new numArguments = numargs();
if( numArguments == 2 ) { send_dhudMessage( index, message ); } else if( index || numArguments == 3 ) { vformat( buffer, charsmax( buffer ), message, 3 ); send_dhudMessage( index, buffer ); } else { new playersList[ 32 ], numPlayers; get_players( playersList, numPlayers, "ch" );
if( !numPlayers ) { return 0; }
new Array:handleArrayML = ArrayCreate();
for( new i = 2, j; i < numArguments; i++ ) { if( getarg( i ) == LANG_PLAYER ) { while( ( buffer[ j ] = getarg( i + 1, j++ ) ) ) {} j = 0;
if( GetLangTransKey( buffer ) != TransKey_Bad ) { ArrayPushCell( handleArrayML, i++ ); } } }
new size = ArraySize( handleArrayML );
if( !size ) { vformat( buffer, charsmax( buffer ), message, 3 ); send_dhudMessage( index, buffer ); } else { for( new i = 0, j; i < numPlayers; i++ ) { index = playersList[ i ];
for( j = 0; j < size; j++ ) { setarg( ArrayGetCell( handleArrayML, j ), 0, index ); }
vformat( buffer, charsmax( buffer ), message, 3 ); send_dhudMessage( index, buffer ); } }
ArrayDestroy( handleArrayML ); }
return 1; }
stock send_dhudMessage( const index, const message[] ) { message_begin( __dhud_reliable ? ( index ? MSG_ONE : MSG_ALL ) : ( index ? MSG_ONE_UNRELIABLE : MSG_BROADCAST ), SVC_DIRECTOR, _, index ); { write_byte( strlen( message ) + 31 ); write_byte( DRC_CMD_MESSAGE ); write_byte( __dhud_effect ); write_long( __dhud_color ); write_long( __dhud_x ); write_long( __dhud_y ); write_long( __dhud_fadeintime ); write_long( __dhud_fadeouttime ); write_long( __dhud_holdtime ); write_long( __dhud_fxtime ); write_string( message ); } message_end(); }
////////////////////////////////// /* SAVE/LOAD STOCKS */ ////////////////////////////////// stock SaveData( index ) { new szAuthID[ 35 ], szData[ 64 ]; get_user_authid( index, szAuthID, cm( szAuthID ) ); formatex( szData, cm( szData ), "%i %i", g_iPlayerXP[ index ], g_iPlayerLevel[ index ] ); nvault_set( g_Vault, szAuthID, szData ); }
stock LoadData( index ) { new szAuthID[ 35 ], szData[ 64 ]; get_user_authid( index, szAuthID, cm( szAuthID ) ); new XP[ 32 ], LVL[ 15 ]; if( nvault_get( g_Vault, szAuthID, szData, cm( szData ) ) && parse( szData, XP, 31, LVL, 14 ) ) { g_iPlayerXP[ index ] = str_to_num( XP ); g_iPlayerLevel[ index ] = str_to_num( LVL ); } else { g_iPlayerXP[ index ] = 0; g_iPlayerLevel[ index ] = 0; } }
Last edited by romi; 11-13-2015 at 09:14.
|
|