/////////////////////////////////////////////////////////////////////////////
//==============================
//= Szintrendszer =
//==============================
//
//---------------------
//- Description -
//---------------------
//
//This plugin include the features:
//** XP System - nVault
//** Level System - nVault
//** Cvars to control all bonus per lvl
//** Commands to Add & Remove XP
//** Level behind the Nick Name
//** Bonus Per level
//** ADM Chat Colors Support
//** ...
//
//----------------------
//- Requirements -
//----------------------
//
//** AMXX: Version 1.8.1
//** AMXX Modules: Cstrike, Fun, Engine, Fakemeta, ColorChat, nVault and Hamsandwich modules
//
//----------------------
//- Installation -
//----------------------
//
//1- Download and compile the plugin from:
//2- Upload the amxx file to your server (cstrike>addons>amxmodx>plugins).
//3- Edit the config file and add the plugin (cstrike>addons>amxmodx>configs>plugins.ini).
//
//----------------------
//- Contact Info -
//----------------------
//
//For reporting bugs or post your feedback visit:
//https://forums.alliedmods.net/showthread.php?p=1810627
//
//If you want some private job PM ME on alliedmodders Forum's or send me and email to:
//freestyle_steam@hotmail.com
//
//-----------------
//- Credits -
//-----------------
//
//** Ex1ne
//- XP System & Level System
//
//** matsi
//- Observations and optimizations
//
//** tre3fla
//- Suggestion and request
//
//** ConnorMcLeod
//- Suggestion, SayTxt and Admin Chat Colors Code
//
//** xBatista
//- ShowHud Help
//
//------------------
//- Updates Logs -
//------------------
//
//** v0.0.1 [Oct 2012]
//- First Release
//
//** v0.0.2 [Oct 2012]
//- Optimize & Improve Code
//
//** v0.0.3 [Oct 2012]
//- Optimize Code
//
//** v0.0.4 [Oct 2012]
//- Improve Level Prefix and Personal Info
//
//** v0.0.5 [Oct 2012]
//- Optimize EventDeathMsg
//- Improve Check Level
//
//** v0.0.6 [Oct 2012]
//- Fix Damage Bug
//- Fix Messages Bugs
//
//** v0.0.7 [Oct 2012]
//- Fix Index of Bounds
//
//** v0.0.8 [Oct 2012]
//- Added feature Admin Chat Colors
//
//** v0.0.9 [Oct 2012]
//- Fix some Bugs & Added XP Reward MSG CVAR
//
//** v1.0 [Jan 2013]
//- Fix Give & Remove XP Command
//
////////////////////////////////////////////////////////////////////
#include <amxmodx>
#include <amxmisc>
#include <nvault>
#include <colorchat>
#include <cstrike>
#include <fun>
#include <hamsandwich>
#include <fakemeta>
new Level[33], eXP[33]
new KillXp, HsXp, HeXp/*, KnifeXp*/
new gVault
new const szPrefix[] = "[^4Szintrendszer^3] -"
#define MaxLevels 12
#define IsPlayer(%1) ( 1 <= %1 <= g_iMaxPlayers )
#define TASK_SHOW_HUD 10113
new g_msgHudSync
new bool:is_user_ignored[ 33 ]
new const Levels[MaxLevels] =
{
50, // Respected Player #0
100, // Respected Player #1
150, // Respected Player #2
200, // Respected Player #3
250, // Respected Player #4
300, // Respected Player #5
350, // Respected Player #6
400, // Respected Player #7
450, // Respected Player #8
550, // Respected Player #9
600, // Respected Player #10
650, // Respected Player #11
700, // Respected Player #12
750, // Respected Player #13
800, // Respected Player #14
850, // Respected Player #15
900, // Respected Player #16
950, // Respected Player #17
1000, // Respected Player #18
1050, // Respected Player #19
1100, // Respected Player #20
1150, // Respected Player #21
1200, // Respected Player #22
1250, // Respected Player #23
1300, // Respected Player #24
1350, // Respected Player #25
1400, // Respected Player #26
1450, // Respected Player #27
1500, // Respected Player #28
1550, // Respected Player #29
1600, // Respected Player #30
1700, // Respected Player #31
1800, // Respected Player #32
1900, // Respected Player #33
2000, // Respected Player #34
2100, // Respected Player #35
2200, // Respected Player #36
2300, // Respected Player #37
2400, // Respected Player #38
2500, // Respected Player #39
2600, // Respected Player #40
2700, // Respected Player #41
2800, // Respected Player #42
2900, // Respected Player #43
3000, // Respected Player #44
3100, // Respected Player #45
3200, // Respected Player #46
3300, // Respected Player #47
3400, // Respected Player #48
3500, // Respected Player #49
3600, // Respected Player #50
3700, // Respected Player #51
3800, // Respected Player #52
3900, // Respected Player #53
4000, // Respected Player #54
4100, // Respected Player #55
4200, // Respected Player #56
4300, // Respected Player #57
4400, // Respected Player #58
4500, // Respected Player #59
4600, // Respected Player #60
4800, // Respected Player #61
5000, // Respected Player #62
5200, // Respected Player #63
5400, // Respected Player #64
5600, // Respected Player #65
5800, // Respected Player #66
6000, // Respected Player #67
6200, // Respected Player #68
6400, // Respected Player #69
6600, // Respected Player #70
6800, // Respected Player #71
7000, // Respected Player #72
7200, // Respected Player #73
7400, // Respected Player #74
7600, // Respected Player #75
7800, // Respected Player #76
8000, // Respected Player #77
8200, // Respected Player #78
8400, // Respected Player #79
8600, // Respected Player #80
8800, // Respected Player #81
9000, // Respected Player #82
9200, // Respected Player #83
9400, // Respected Player #84
9600, // Respected Player #85
9800, // Respected Player #86
10000, // Respected Player #87
10200, // Respected Player #88
10400, // Respected Player #89
11000, // Respected Player #90
11500, // Respected Player #91
12000, // Respected Player #92
12500, // Respected Player #93
13000, // Respected Player #94
13500, // Respected Player #95
14000, // Respected Player #96
14500, // Respected Player #97
15000, // Respected Player #98
15500, Respected Player #99
}
new const Prefix[MaxLevels +1][] =
{
"LVL 0", // 0
"LVL 1", // 1
"LVL 2", // 2
"LVL 3", // 3
"LVL 4", // 4
"LVL 5", // 5
"LVL 6", // 6
"LVL 7", // 7
"LVL 8", // 8
"LVL 9", // 9
"LVL 10", // 10
"LVL 11", // 11
"LVL 12", // 12
"LVL 13", // 13
"LVL 14", // 14
"LVL 15", // 15
"LVL 16", // 16
"LVL 17", // 17
"LVL 18" // 18
"LVL 19", // 19
"LVL 20" // 20
"LVL 21", // 21
"LVL 22", // 22
"LVL 23", // 23
"LVL 24", // 24
"LVL 25", // 25
"LVL 26", // 26
"LVL 27", // 27
"LVL 28", // 28
"LVL 29", // 29
"LVL 30", // 30
"LVL 31", // 31
"LVL 32", // 32
"LVL 33", // 33
"LVL 34", // 34
"LVL 35", // 35
"LVL 36", // 36
"LVL 37", // 37
"LVL 38", // 38
"LVL 39", // 39
"LVL 40", // 40
"LVL 41", // 41
"LVL 42", // 42
"LVL 43", // 43
"LVL 44", // 44
"LVL 45", // 45
"LVL 46", // 46
"LVL 47", // 47
"LVL 48", // 48
"LVL 49", // 49
"LVL 50", // 50
"LVL 51", // 51
"LVL 52", // 52
"LVL 53", // 53
"LVL 54", // 54
"LVL 55", // 55
"LVL 56", // 56
"LVL 57", // 57
"LVL 58", // 58
"LVL 59", // 59
"LVL 60", // 60
"LVL 61", // 61
"LVL 62", // 62
"LVL 63", // 63
"LVL 64", // 64
"LVL 65", // 65
"LVL 66", // 66
"LVL 67", // 67
"LVL 68", // 68
"LVL 69", // 69
"LVL 70", // 70
"LVL 71", // 71
"LVL 72", // 72
"LVL 73", // 73
"LVL 74", // 74
"LVL 75", // 75
"LVL 76", // 76
"LVL 77", // 77
"LVL 78", // 78
"LVL 79", // 79
"LVL 80", // 80
"LVL 81", // 81
"LVL 82", // 82
"LVL 83", // 83
"LVL 84", // 84
"LVL 85", // 85
"LVL 86", // 86
"LVL 87", // 87
"LVL 88", // 88
"LVL 89", // 89
"LVL 90", // 90
"LVL 91", // 91
"LVL 92", // 92
"LVL 93", // 93
"LVL 94", // 94
"LVL 95", // 95
"LVL 96", // 96
"LVL 97", // 97
"LVL 98", // 98
"LVL 99", 99
}
// Bonus Stuff
new healthperlevel,
armorperlevel,
speedperlevel,
damageperlevel,
gravityperlvl
new g_iMaxPlayers
// ADMIN CHAT COLORS by ConnorMcLeod
enum _:ADMIN_DATAS
{
m_szName[32],
m_iFlag
}
new const AdminsDatas[][ADMIN_DATAS] =
{
{"Owner", ADMIN_IMMUNITY},
{"Manager", ADMIN_BAN},
// {"SuperAdmin", ADMIN_CFG},
{"Admin", ADMIN_KICK},
{"VIP", ADMIN_RESERVATION}
};
public plugin_init()
{
register_plugin("Deathrun XP & Level Mod", "0.0.9", "Freestyle")
register_message(get_user_msgid("SayText"),"Message_SayText"); // CREDITS TO ConnorMcLeod
RegisterHam ( Ham_Spawn, "player", "Ham_CheckOthers_Bonus", 1);
RegisterHam ( Ham_TakeDamage, "player", "Ham_CheckDamage_Bonus", .Post = false );
RegisterHam ( Ham_Item_PreFrame, "player", "Ham_CheckSpeed_Bonus", 1);
g_iMaxPlayers = get_maxplayers( );
register_cvar( "AdminChatColors_On", "1" ); // Admin Tag - Example: [Admin] Freestyle
register_cvar( "XP_Reward_MSG", "1" ); // Message of the XP Gain
// CHAT COMMANDS //
register_clcmd ( "say /xp", "ShowPlayerXP")
register_clcmd ( "say_team /xp", "ShowPlayerXP")
register_clcmd ( "say /level", "ShowPlayerLevel")
register_clcmd ( "say_team /level", "ShowPlayerLevel")
// XP SYSTEM //
KillXp = register_cvar("drxp_per_kill", "1")
HsXp = register_cvar("drxp_per_hs", "1")
HeXp = register_cvar("drxp_per_nade_kill", "2")
//KnifeXp = register_cvar("drxp_per_knife_kill", "2")
// Give & Remove XP //
register_concmd ( "give_xp", "CmdAddXP", ADMIN_RCON, "<nick, #userid, authid | @all> <xp>" )
register_concmd ( "remove_xp", "CmdRemoveXP", ADMIN_RCON, "<nick, #userid, authid | @all> <xp>" )
/* Bonus Stuff */
// Health Per Level //
healthperlevel = register_cvar("health_per_lvl", "0")
// Armor Per Level //
armorperlevel = register_cvar("armor_per_lvl", "0")
// Speed Per Level //
speedperlevel = register_cvar("speed_per_lvl", "0")
// Gravity Per Level //
gravityperlvl = register_cvar("gravity_per_lvl", "0") // NERVER MORE THAN 66 PER LVL
// Damage Per Level //
damageperlevel = register_cvar("damage_per_lvl", "0")
g_msgHudSync = CreateHudSyncObj()
}
public plugin_cfg( )
{
gVault = nvault_open( "DEATHRUN_XP" )
if ( gVault == INVALID_HANDLE )
set_fail_state( "Error opening nVault" );
}
/* INFO ABOUT PERSONAL XP/LEVEL */
public ShowPlayerXP(id)
{
ColorChat(id, GREY, "%s Neked ^4%i^3 XP-d van es a szinted: ^4%s^3!", szPrefix, eXP[id], Prefix[Level[id]])
}
public ShowPlayerLevel(id)
{
new name[32]
get_user_name(id, name, sizeof(name) -1)
ColorChat(id, GREY, "%s A te szinted: ^4%s^3 ^4%i^3 XP-vel!", szPrefix, Prefix[Level[id]], eXP[id])
}
public Ham_CheckDamage_Bonus( pevVictim, pevInflictor, pevAttacker, Float:flDamage, iDmgBits )
{
if( !( 1 <= pevAttacker <= g_iMaxPlayers) )
{
return HAM_HANDLED;
}
if( !is_user_alive( pevAttacker ) )
{
return HAM_HANDLED;
}
SetHamParamFloat( 4 , flDamage + ( get_pcvar_num( damageperlevel ) * Level[ pevAttacker ] ) )
return HAM_IGNORED;
}
/* Speed Check */
public Ham_CheckSpeed_Bonus( id )
{
if( !is_user_alive( id ) || cs_get_user_team( id ) != CS_TEAM_T )
{
return HAM_IGNORED;
}
set_user_maxspeed( id, 250.0 + ( get_pcvar_num(speedperlevel) * Level[ id ] ) );
return HAM_IGNORED;
}
/* HP & AP & Gravity Check */
public Ham_CheckOthers_Bonus(id)
{
if( !is_user_alive( id ) || cs_get_user_team( id ) != CS_TEAM_T )
return HAM_IGNORED;
// HP Check
new HPCheck = ( get_user_health(id) + get_pcvar_num(healthperlevel) * Level[ id ] );
set_user_health( id, HPCheck );
// AP Check
new APCheck = ( get_user_armor(id) + get_pcvar_num(armorperlevel) * Level[ id ] );
set_user_armor( id, APCheck );
// Gravity
new GRAVITYCheck = 800 - ( get_pcvar_num( gravityperlvl ) * Level[ id ] );
if(get_pcvar_num(gravityperlvl) > 66)
{
set_user_gravity( id, float( 8 ) / 800.0 );
}
else
{
set_user_gravity( id, float( GRAVITYCheck ) / 800.0 );
}
remove_task( TASK_SHOW_HUD + id );
set_task(0.1, "ShowHud", TASK_SHOW_HUD + id)
return HAM_IGNORED;
}
/* Respected Player Join / Leave Stuff */
public LvL_12_PlayerJoin(id)
{
new name[32]
get_user_name(id, name, sizeof(name) -1)
ColorChat(0, GREY, "%s ^4Egy LegenD : ^1%s^4 belepett,^1%i^4 XP-je van!", szPrefix, name, eXP[id])
}
public LvL_12_PlayerRemove(id)
{
new name[32]
get_user_name(id, name, sizeof(name) -1)
ColorChat(0, GREY, "%s ^4Egy LegenD : %s lelepett %i XP-je van!", szPrefix, name, eXP[id])
}
public plugin_end( )
nvault_close( gVault )
public client_putinserver(id)
{
LoadData(id)
set_task( 3.0, "ShowHud", id, .flags = "b" );
if(Level[id] == 12)
{
set_task(5.0, "LvL_12_PlayerJoin", id)
}
}
public client_disconnect(id)
{
SaveData(id)
if(Level[id] == 12)
{
set_task(1.0, "LvL_12_PlayerRemove", id)
}
}
/* XP REWARDS */
public client_death( iKiller, iVictim, wpnindex, hitplace )
{
new vname[32]
new kname[32]
get_user_name( iKiller, kname, charsmax( kname ) )
get_user_name( iVictim, vname, charsmax( vname ) )
if( is_user_ignored[ iKiller ] )
return PLUGIN_HANDLED_MAIN
get_user_name( iKiller, kname, charsmax( kname ) )
get_user_name( iVictim, vname, charsmax( vname ) )
if( iKiller != iVictim && ( 1 <= iKiller <= g_iMaxPlayers ) && ( 1 <= iVictim <= g_iMaxPlayers ) && !( hitplace == HIT_HEAD ) && !( wpnindex == CSW_HEGRENADE ) )
{
eXP[iKiller] += get_pcvar_num(KillXp)
if( get_cvar_num("XP_Reward_MSG") == 1 )
{
ColorChat ( iKiller, GREY, "%s Kaptal^4 %i^3 XP-t mert megolted ^4 %s^3-t", szPrefix, get_pcvar_num(KillXp), vname )
}
}
if( hitplace == HIT_HEAD )
{
eXP[iKiller] += get_pcvar_num(HsXp)
if( get_cvar_num("XP_Reward_MSG") == 1 )
{
ColorChat ( iKiller, GREY, "%s Kaptal^4 %i^3 XP-t mert megolted ^4 %s^3-t", szPrefix, get_pcvar_num (HsXp), vname )
}
}
if( wpnindex == CSW_HEGRENADE && iKiller != iVictim )
{
eXP[iKiller] += get_pcvar_num(HeXp)
if( get_cvar_num("XP_Reward_MSG") == 1 )
{
ColorChat( iKiller, GREEN, "%s Kaptal^4 %i^3 XP-t mert megolted ^4 %s^3-t", szPrefix, get_pcvar_num (HeXp), vname )
}
}
CheckLevel(iKiller)
SaveData(iKiller)
return PLUGIN_CONTINUE
}
public CheckLevel(id)
{
if(Level[id] < MaxLevels-1)
{
while(eXP[id] >= Levels[Level[id]])
{
Level[id] += 1
ColorChat(id, GREY, "%s Gratulalok szintet leptel, mostani szinted szama : ^4%i^3", szPrefix, Level[id])
}
}
}
/* HUD PERMANENT INFO */
public ShowHud(task)
{
new id = task - TASK_SHOW_HUD
if(!is_user_alive(id))
return;
set_hudmessage(0, 0, 0, 0.02, 0.33, 0, 0.0, 0.3, 0.0, 0.0)
ShowSyncHudMsg(id, g_msgHudSync,"[Szinted : %s]^n[XP-d : %i]", Prefix[Level[id]], eXP[id])
set_task(0.1, "ShowHud", TASK_SHOW_HUD + id)
}
/* nVault Stuff */
public SaveData(id)
{
new AuthID[35]
get_user_authid(id,AuthID,34)
new vaultkey[64],vaultdata[256]
format(vaultkey,63,"%s-Mod",AuthID)
format(vaultdata,255,"%i#%i#",eXP[id],Level[id])
nvault_set(gVault,vaultkey,vaultdata)
return PLUGIN_CONTINUE
}
public LoadData(id)
{
new AuthID[35]
get_user_authid(id,AuthID,34)
new vaultkey[64],vaultdata[256]
format(vaultkey,63,"%s-Mod",AuthID)
format(vaultdata,255,"%i#%i#",eXP[id],Level[id])
nvault_get(gVault,vaultkey,vaultdata,255)
replace_all(vaultdata, 255, "#", " ")
new playerxp[32], playerlevel[32]
parse(vaultdata, playerxp, 31, playerlevel, 31)
eXP[id] = str_to_num(playerxp)
Level[id] = str_to_num(playerlevel)
return PLUGIN_CONTINUE
}
/* Remove And Add XP */
public CmdAddXP ( iPlayer, level, cid )
{
if( !cmd_access( iPlayer, level, cid, 3 ) ) return PLUGIN_HANDLED;
new arg [ 32 ]
read_argv ( 1, arg, 31 )
new AddXP [ 32 ]
read_argv ( 2, AddXP, charsmax ( AddXP ) )
new XPtoGive = str_to_num ( AddXP )
new AdminName [ 32 ]
new TargetName [ 32 ]
get_user_name ( iPlayer, AdminName, charsmax ( AdminName ) )
if( arg[0]=='@' )
{
if( equali(arg[1],"All") || equali(arg[1],"ALL") )
{
new players[32], totalplayers, All
get_players( players, totalplayers )
for ( new i = 0; i < totalplayers; i++ )
{
All = players[ i ]
eXP[ All ] += XPtoGive
}
CheckLevel( All )
ColorChat ( 0, GREY, "%s ^1%s^3 adott^1 %i^3 XP-t minden ^1 jatekosnak^3!", szPrefix, AdminName, XPtoGive )
}
else if( equali(arg[1],"T") || equali(arg[1],"t") )
{
new players[32], totalplayers, T
get_players( players, totalplayers )
for ( new i = 0; i < totalplayers; i++ )
{
if ( get_user_team(players[ i ]) == 1 )
{
T = players[ i ]
eXP[ T ] += XPtoGive
}
}
CheckLevel( T )
ColorChat ( 0, GREY, "%s ^1%s^3 adott^1 %i^3 XP-t minden^1 Terrornak^3!", szPrefix, AdminName, XPtoGive )
}
else if( equali(arg[1],"CT") || equali(arg[1],"ct") )
{
new players[32], totalplayers, CT
get_players( players, totalplayers )
for( new i = 0; i < totalplayers; i++ )
{
if( get_user_team(players[ i ] ) == 2 )
{
CT = players[ i ]
eXP[ CT ] += XPtoGive
}
}
CheckLevel( CT )
ColorChat ( 0, GREY, "%s ^1%s^3 adott^1 %i^3 XP-t minden^1 CT-nek^3!", szPrefix, AdminName, XPtoGive )
}
}
else
{
new iTarget = cmd_target( iPlayer, arg, 3 )
get_user_name ( iTarget, TargetName, charsmax ( TargetName ) )
if( iTarget )
{
eXP[ iTarget ] += XPtoGive
CheckLevel( iTarget )
ColorChat ( 0, GREY, "%s ^1%s^3 adott^1 %i^3 XP-t ^1 %s-nek^3", szPrefix, AdminName, XPtoGive, TargetName )
}
}
return PLUGIN_HANDLED
}
public CmdRemoveXP ( iPlayer, level, cid )
{
if( !cmd_access(iPlayer, level, cid, 3) ) return PLUGIN_HANDLED;
new arg [ 32 ]
read_argv ( 1, arg, 31 )
new RemoveXP [ 32 ]
read_argv ( 2, RemoveXP, charsmax ( RemoveXP ) )
new XPtoRemove = str_to_num ( RemoveXP )
new AdminName [ 32 ]
new TargetName [ 32 ]
get_user_name ( iPlayer, AdminName, charsmax ( AdminName ) )
if( arg[0]=='@' )
{
if( equali(arg[1],"All") || equali(arg[1],"ALL") )
{
new players[32], totalplayers, All
get_players( players, totalplayers )
for ( new i = 0; i < totalplayers; i++ )
{
All = players[ i ]
eXP[ All ] -= XPtoRemove
}
CheckLevel( All )
ColorChat ( 0, GREY, "%s ^1%s^3 elvett^1 %i^3 XP-t ^1mindenkitol^3!", szPrefix, AdminName, XPtoRemove )
}
else if( equali(arg[1],"T") || equali(arg[1],"t") )
{
new players[32], totalplayers, T
get_players( players, totalplayers )
for ( new i = 0; i < totalplayers; i++ )
{
if ( get_user_team(players[ i ]) == 1 )
{
T = players[ i ]
eXP[ T ] -= XPtoRemove
}
}
CheckLevel( T )
ColorChat ( 0, GREY, "%s ^1%s^3 elvett^1 %i^3 XP-t minden^1 Terroristatol^3!", szPrefix, AdminName, XPtoRemove )
}
else if( equali(arg[1],"CT") || equali(arg[1],"ct") )
{
new players[32], totalplayers, CT
get_players( players, totalplayers )
for( new i = 0; i < totalplayers; i++ )
{
if( get_user_team(players[ i ] ) == 2 )
{
CT = players[ i ]
eXP[ CT ] -= XPtoRemove
}
}
CheckLevel( CT )
ColorChat ( 0, GREY, "%s ^1%s^3 elvett^1 %i^3 XP-t minden^1 CT-tol^3!", szPrefix, AdminName, XPtoRemove )
}
}
else
{
new iTarget = cmd_target( iPlayer, arg, 3 )
get_user_name ( iTarget, TargetName, charsmax ( TargetName ) )
if( !iTarget )
return PLUGIN_HANDLED
eXP[ iTarget ] -= XPtoRemove
CheckLevel( iTarget )
ColorChat ( 0, GREY, "%s ^1%s^3 adott^1 %i^3 XP-t ^1 %s-nek^3", szPrefix, AdminName, XPtoRemove, TargetName )
}
return PLUGIN_HANDLED
}
/* Level Behind Nick & AdminChatColors
CREDITS TO ConnorMcLeod */
public Message_SayText(msgId,msgDest,msgEnt)
{
new id = get_msg_arg_int(1);
if( is_user_connected(id) )
{
if( get_cvar_num("AdminChatColors_On") == 1 )
{
new flags = get_user_flags(id)
for(new i; i<sizeof(AdminsDatas); i++)
{
if( flags & AdminsDatas[i][m_iFlag] )
{
new szChannel[64]
get_msg_arg_string(2, szChannel, charsmax(szChannel))
if( equal(szChannel, "#Cstrike_Chat_All") )
{
formatex(szChannel, charsmax(szChannel), "^4[%s - %s] ^3%%s1 ^1: %%s2", Prefix[Level[id]], AdminsDatas[i][m_szName])
set_msg_arg_string(2, szChannel)
}
else if( !equal(szChannel, "#Cstrike_Name_Change") )
{
format(szChannel, charsmax(szChannel), "^4[%s - %s] %s", Prefix[Level[id]], AdminsDatas[i][m_szName], szChannel)
set_msg_arg_string(2, szChannel)
}
return
}
else
{
new szChannel[64]
get_msg_arg_string(2, szChannel, charsmax(szChannel))
if( equal(szChannel, "#Cstrike_Chat_All") )
{
formatex(szChannel, charsmax(szChannel), "^4[%s] ^3%%s1 ^1: %%s2", Prefix[Level[id]])
set_msg_arg_string(2, szChannel)
}
else if( !equal(szChannel, "#Cstrike_Name_Change") )
{
format(szChannel, charsmax(szChannel), "^4[%s] %s", Prefix[Level[id]], szChannel)
set_msg_arg_string(2, szChannel)
}
return
}
}
}
else
{
new szChannel[64]
get_msg_arg_string(2, szChannel, charsmax(szChannel));
if( equal(szChannel, "#Cstrike_Chat_All") )
{
formatex(szChannel, charsmax(szChannel), "^4[%s] ^3%%s1 ^1: %%s2", Prefix[Level[id]])
set_msg_arg_string(2, szChannel)
}
else if( !equal(szChannel, "#Cstrike_Name_Change") )
{
format(szChannel, charsmax(szChannel), "^4[%s] %s", Prefix[Level[id]], szChannel)
set_msg_arg_string(2, szChannel)
}
return
}
}
}