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

10-12-2015
, 09:19
[Help] Rank Level
|
#1
|
Hello,, i have found this rank level in this forum and i want to make some changes ,,
i want that instead of Timeleft it be RoundsLeft and it shows how many rounds are left ,, any help ?? you can fuse them together tnx
Rank Level Code:
PHP Code:
/* Blizzards Plugins Comply With GNU General Public License
Rank Mod is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Under no circumstances are you allowed to redistribute and/or modify it claming that you are the original author of such plugin/modification. Rank Mod is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */
#include < amxmodx > #include < amxmisc > #include < fun > #include < nvault > #include < hamsandwich >
#pragma semicolon 1
#define PLUGIN "Rank Mod" #define VERSION "1.0" #define AUTHOR "Blizzard"
#define cm(%0) ( sizeof(%0) - 1 )
#define MAXLEVEL 13 #define MAXAUTH 4
enum _:mData { m_szRankName[ 32 ], m_iRankXP };
enum { STANDARD = 0, MOD, ADMIN, LEADER };
new const g_mPlayerData[ ][ mData ] = { { "Private", 0 }, { "Specialist", 50 }, { "Corporal", 200 }, { "Sargeant", 350 }, { "Staff Sargeant", 600 }, { "Warrant Officer", 1000 }, { "Chief Warrant Officer", 1500 }, { "Second Lieutenant", 2500 }, { "First Lieutenant", 5000 }, { "Captain", 8250 }, { "Major", 13500 }, { "Colonel", 20000 }, { "General", 30000 }, { "General of The Army", 45000 } };
new const g_mPlayerAuth[ ][ ] = { "Standard", "Moderator", "Admin", "Leader" };
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_plugin( PLUGIN, VERSION, AUTHOR ); // 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 ] = LEADER; else if( has_flag( id, "b" ) ) g_iPlayerStatus[ id ] = ADMIN; else if( has_flag( id, "c" ) ) g_iPlayerStatus[ id ] = MOD; else if( has_flag( id, "z" ) ) g_iPlayerStatus[ id ] = STANDARD; }
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 ] += 30; else if( HeadShot ) g_iPlayerXP[ iKiller ] += 10; else if( weapon == CSW_KNIFE && !HeadShot ) g_iPlayerXP[ iKiller ] += 30; else if( weapon != CSW_KNIFE && !HeadShot ) g_iPlayerXP[ iKiller ] += 5; else g_iPlayerXP[ iKiller ] += 5; 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^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, 0, 0.01, 0.18, 0, 6.0, 1.0, 0.0, 0.0, -1 ); if( g_iPlayerLevel[ id ] < MAXLEVEL ) { show_hudmessage(id, "[ %s ]^n^n[ Rank: -= %s =- ]^n[ XP: %i / %i ]^n^n[ TimeLeft: %d:%02d ]^n^n[ Status: %s ]", g_szHostName, g_mPlayerData[ g_iPlayerLevel[ id ] ][ m_szRankName ], g_iPlayerXP[ id ], g_mPlayerData[ g_iPlayerLevel[ id ] + 1 ][ m_iRankXP ], get_timeleft( ) / 60, get_timeleft( ) % 60, g_mPlayerAuth[ g_iPlayerStatus[ id ] ] ); } else { show_hudmessage(id, "[ %s ]^n^n[ Rank: -= %s =- ]^n[ XP: %i ]^n^n[ TimeLeft: %d:%02d ]^n^n[ Status: %s ]", g_szHostName, g_mPlayerData[ g_iPlayerLevel[ id ] ][ m_szRankName ], g_iPlayerXP[ id ], get_timeleft( ) / 60, get_timeleft( ) % 60, 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; } }
Rounds Left Code :
PHP Code:
new const PLUGINNAME[] = "Roundsleft" new const VERSION[] = "2.4" new const AUTHOR[] = "MisterJ" /*
THANKS ======== Johnny got his gun : He created the concept and made the first version.
ROUNDSLEFT ========== Allows the users to "say roundsleft" and remaining rounds will be displayed. This is useful if you are using default hlds cvar mp_maxrounds set to some value. There is also a command "amx_roundsleft" to view remaining rounds in console.
HOW TO INSTALL ============== 1. Name this file roundsleft.sma. 2. Compile it into roundsleft.amxx. 3. Put roundsleft.amxx into amxmodx/plugins directory. 4. Open up amxmodx/configs/plugins.ini and add a line to the end saying: roundsleft.amx 5. Done. Type reload in your server.
HOW TO USE ========== say roundsleft, say rounds, say roundleft, say round - all these will respond with remaining rounds if mp_maxrounds is set to anything higher than 0.
amx_roundsleft - displays remaining rounds in console. Works also from server console.
VERSION ======== 2.4
*/
#include <amxmodx> #include <amxmisc> #include <engine>
// Globals below new g_teamScore[2] // Globals above
public sayRoundsLeft(id) { new maxRounds = get_cvar_num("mp_maxrounds") if (id) { if (maxRounds == 0) { client_print(0, print_chat, "No rounds limit.") } else { new roundsleft = maxRounds - (g_teamScore[0] + g_teamScore[1]) client_print(0, print_chat, "Remaining rounds: %d", roundsleft) speakroundsleft(id, roundsleft) } }
return PLUGIN_CONTINUE }
speakroundsleft(id, roundsleft) { new numbers[256] getnumbers(roundsleft, numbers, 255) client_cmd(id, "spk ^"%s round remaining^"", numbers) //client_print(0, print_chat, "%s round%s remain", numbers, roundsleft > 1 ? "s" : "") }
public conRoundsLeft(id) { new maxRounds = get_cvar_num("mp_maxrounds") if (id) console_print(id,"Remaining rounds: %d",maxRounds - (g_teamScore[0] + g_teamScore[1])) else server_print("Remaining rounds: %d",maxRounds - (g_teamScore[0] + g_teamScore[1]))
return PLUGIN_HANDLED }
public teamScore(id) { new team[2] read_data(1,team,1) g_teamScore[(team[0]=='C')? 0 : 1] = read_data(2)
return PLUGIN_CONTINUE }
/* public newround_event(id) { if (is_user_bot(id)) return PLUGIN_CONTINUE
new maxRounds = get_cvar_num("mp_maxrounds") if (maxRounds) { set_hudmessage(0, 100, 0, -1.0, 0.65, 2, 0.02, 10.0, 0.01, 0.1, 2) show_hudmessage(id, "%d rounds remaining", maxRounds - (g_teamScore[0] + g_teamScore[1])) client_print(id, print_chat, "%d rounds remaining", maxRounds - (g_teamScore[0] + g_teamScore[1])) }
return PLUGIN_CONTINUE } */
public endround_event() { server_print("endround_event, %d entities in game", entity_count()) set_task(2.0, "endofroundspk")
return PLUGIN_CONTINUE }
public endofroundspk() { //server_print("endofroundspk") new maxRounds = get_cvar_num("mp_maxrounds") new roundsleft = maxRounds - (g_teamScore[0] + g_teamScore[1]) new nextmap[64] get_cvar_string("amx_nextmap", nextmap, 63) if (maxRounds) { set_hudmessage(255, 255, 255, -1.0, 0.85, 0, 0.0, 3.0, 0.0, 0.5, -1)
if (roundsleft == 100) show_hudmessage(0, "100 rounds remaining", roundsleft)
if (roundsleft == 80) show_hudmessage(0, "80 rounds remaining", roundsleft)
if (roundsleft == 60) show_hudmessage(0, "60 rounds remaining", roundsleft)
if (roundsleft == 50) show_hudmessage(0, "50 rounds remaining", roundsleft)
if (roundsleft == 40) show_hudmessage(0, "40 rounds remaining", roundsleft)
if (roundsleft == 30) show_hudmessage(0, "30 rounds remaining", roundsleft)
if (roundsleft == 20) show_hudmessage(0, "20 rounds remaining", roundsleft)
if (roundsleft == 10) show_hudmessage(0, "10 rounds remaining", roundsleft)
if (roundsleft == 5) show_hudmessage(0, "5 rounds remaining", roundsleft) if (roundsleft == 1) show_hudmessage(0, "The last round", roundsleft)
if (roundsleft == 0) show_hudmessage(0, "Nextmap is %s...", nextmap) }
if (roundsleft > 0) {
if (roundsleft == 90) client_cmd(0, "spk ^"ninety round remaining^"")
if (roundsleft == 80) client_cmd(0, "spk ^"eighty round remaining^"")
if (roundsleft == 70) client_cmd(0, "spk ^"seventy round remaining^"")
if (roundsleft == 60) client_cmd(0, "spk ^"sixty round remaining^"")
if (roundsleft == 50) client_cmd(0, "spk ^"fifty round remaining^"") if (roundsleft == 40) client_cmd(0, "spk ^"fourty round remaining^"")
if (roundsleft == 30) client_cmd(0, "spk ^"thirty round remaining^"")
if (roundsleft == 20) client_cmd(0, "spk ^"twenty round remaining^"")
if (roundsleft == 10) client_cmd(0, "spk ^"ten round remaining^"")
if (roundsleft == 5) client_cmd(0, "spk ^"five round remaining^"")
if (roundsleft == 1) client_cmd(0, "spk ^"the last round^"")
}
}
stock getnumbers(number, wordnumbers[], length) { if (number < 0) { format(wordnumbers, length, "error") return }
new numberstr[20] num_to_str(number, numberstr, 19) new stlen = strlen(numberstr), bool:getzero = false, bool:jumpnext = false if (stlen == 1) getzero = true
do { if (jumpnext) jumpnext = false else if (numberstr[0] != '0') { switch (stlen) { case 9: { if (getsingledigit(numberstr[0], wordnumbers, length)) format(wordnumbers, length, "%s hundred%s", wordnumbers, numberstr[1] == '0' && numberstr[2] == '0' ? " million" : "") } case 8: { jumpnext = gettens(wordnumbers, length, numberstr) if (jumpnext) format(wordnumbers, length, "%s million", wordnumbers) } case 7: { getsingledigit(numberstr[0], wordnumbers, length) format(wordnumbers, length, "%s million", wordnumbers) } case 6: { if (getsingledigit(numberstr[0], wordnumbers, length)) format(wordnumbers, length, "%s hundred%s", wordnumbers, numberstr[1] == '0' && numberstr[2] == '0' ? " thousand" : "") } case 5: { jumpnext = gettens(wordnumbers, length, numberstr) if (numberstr[0] == '1' || numberstr[1] == '0') format(wordnumbers, length, "%s thousand", wordnumbers) } case 4: { getsingledigit(numberstr[0], wordnumbers, length) format(wordnumbers, length, "%s thousand", wordnumbers) } case 3: { getsingledigit(numberstr[0], wordnumbers, length) format(wordnumbers, length, "%s hundred", wordnumbers) } case 2: jumpnext = gettens(wordnumbers, length, numberstr) case 1: { getsingledigit(numberstr[0], wordnumbers, length, getzero) break // could've trimmed, but of no use here } default: { format(wordnumbers, length, "%s TOO LONG", wordnumbers) break } } }
jghg_trim(numberstr, length, 1) stlen = strlen(numberstr) } while (stlen > 0)
// Trim a char from left if first char is a space (very likely) if (wordnumbers[0] == ' ') jghg_trim(wordnumbers, length, 1) }
// Returns true if next char should be jumped stock bool:gettens(wordnumbers[], length, numberstr[]) { new digitstr[11], bool:dont = false, bool:jumpnext = false switch (numberstr[0]) { case '1': { jumpnext = true switch (numberstr[1]) { case '0': digitstr = "ten" case '1': digitstr = "eleven" case '2': digitstr = "twelve" case '3': digitstr = "thirteen" case '4': digitstr = "fourteen" case '5': digitstr = "fifteen" case '6': digitstr = "sixteen" case '7': digitstr = "seventeen" case '8': digitstr = "eighteen" case '9': digitstr = "nineteen" default: digitstr = "TEENSERROR" } } case '2': digitstr = "twenty" case '3': digitstr = "thirty" case '4': digitstr = "fourty" case '5': digitstr = "fifty" case '6': digitstr = "sixty" case '7': digitstr = "seventy" case '8': digitstr = "eighty" case '9': digitstr = "ninety" case '0': dont = true // do nothing default : digitstr = "TENSERROR" } if (!dont) format(wordnumbers, length, "%s %s", wordnumbers, digitstr)
return jumpnext }
// Returns true when sets, else false stock getsingledigit(digit[], numbers[], length, bool:getzero = false) { new digitstr[11] switch (digit[0]) { case '1': digitstr = "one" case '2': digitstr = "two" case '3': digitstr = "three" case '4': digitstr = "four" case '5': digitstr = "five" case '6': digitstr = "six" case '7': digitstr = "seven" case '8': digitstr = "eight" case '9': digitstr = "nine" case '0': { if (getzero) digitstr = "zero" else return false } default : digitstr = "digiterror" } format(numbers, length, "%s %s", numbers, digitstr)
return true }
stock jghg_trim(stringtotrim[], len, charstotrim, bool:fromleft = true) { if (charstotrim <= 0) return
if (fromleft) { new maxlen = strlen(stringtotrim) if (charstotrim > maxlen) charstotrim = maxlen
format(stringtotrim, len, "%s", stringtotrim[charstotrim]) } else { new maxlen = strlen(stringtotrim) - charstotrim if (maxlen < 0) maxlen = 0
format(stringtotrim, maxlen, "%s", stringtotrim) } }
public addrounds(id, level, cid) { if (!cmd_access(id, level, cid, 2)) return PLUGIN_HANDLED
new arg[32] read_argv(1, arg, 31) new arglength = strlen(arg) for (new i = 0; i < arglength; i++) { if (!isdigit(arg[i])) { if (i != 0 || arg[0] != '-') { console_print(id, "Error: Enter only numbers, ie ^"amx_addrounds 10^"") return PLUGIN_HANDLED } } }
new roundstoadd = str_to_num(arg)
if (roundstoadd == 0) { console_print(id, "Error: Well duuuh. Enter a positive or negative value, ie ^"amx_addrounds 10^"") return PLUGIN_HANDLED }
new originalmaxrounds = get_cvar_num("mp_maxrounds")
new newmaxrounds = originalmaxrounds + roundstoadd
if (newmaxrounds < 1) newmaxrounds = 1
new roundschanged = newmaxrounds - originalmaxrounds
new Float:displayrounds = float(roundschanged) displayrounds *= displayrounds displayrounds = floatsqroot(displayrounds)
console_print(id, "%sing %d rounds...", roundschanged > 0 ? "Add" : "Remov", floatround(displayrounds))
set_cvar_num("mp_maxrounds", newmaxrounds)
conRoundsLeft(id)
return PLUGIN_HANDLED }
public plugin_init() { register_plugin(PLUGINNAME, VERSION, AUTHOR) register_clcmd("say round", "sayRoundsLeft") register_clcmd("say rounds", "sayRoundsLeft") register_clcmd("say roundleft", "sayRoundsLeft") register_clcmd("say roundsleft", "sayRoundsLeft", 0, "- displays remaining rounds") register_concmd("amx_roundsleft", "conRoundsLeft", 0, "- displays remaining rounds") register_concmd("amx_addrounds", "addrounds", ADMIN_CFG, "<rounds> - add/remove remaining rounds") register_event("TeamScore", "teamScore", "ab") //register_event("ResetHUD", "newround_event", "b") /* register_event("SendAudio","endround_event","a","2&%!MRAD_terwin","2&%!MRAD_ctwin","2&%!MRAD_rounddraw") register_event("TextMsg","endround_event","a","2&#Game_C","2&#Game_w") register_event("TextMsg","endround_event","a","2&#Game_will_restart_in") */ /* register_logevent("death_event",5,"1=killed","3=with") // L 03/08/2004 - 13:32:34: "xian<2><BOT><CT>" killed "SuperKaka<1><BOT><TERRORIST>" with "usp" // L 03/08/2004 - 13:32:34: World triggered "Round_End" */ // L 03/08/2004 - 13:32:34: World triggered "Round_End" /*register_logevent("endround_event", 3, "2=Round_End") register_logevent("endround_event", 3, "1=Round_End") register_logevent("endround_event", 3, "0=Round_End") register_logevent("endround_event", 3, "3=Round_End")*/ register_logevent("endround_event", 2, "0=World triggered", "1=Round_End") }
Last edited by romi; 10-12-2015 at 09:24.
|
|