⭐🚀 TkyNET | Blacklist ve Profesyonel DDoS Korumalı TeamSpeak 3 Sunucuları 🚀⭐
Sponsor Görsel
🌐 www.furiazm.com ⏰ 7/24 aktif Yönetim 💬 Discord.gg/furiaclancs 💰Ücretsiz Adminlik/Vip alımı 🌟 Türkiye’nin yeni en gelişmiş Zombie Plague sunucusu
Sponsor Görsel 2
SponsorSponsor

Color Chat Hatası

Color Chat Hatası
Hlds serverimde deniyorum eklentiyi clor chat hatası veriyor eklenti.
.smacsvakti_cete.sma(Dosya Boyutu: 44,5 KB | İndirme Sayısı: 4)
RE: Color Chat Hatası
.smadenebakalım.sma(Dosya Boyutu: 41,65 KB | İndirme Sayısı: 2)


dene bakalım
.smaşimdidenetekrar.sma(Dosya Boyutu: 41,63 KB | İndirme Sayısı: 5)
STEAM : TIKLA
Son Düzenleme: 26-07-2020, 13:51, Düzenleyen: Melih.7z
RE: Color Chat Hatası
Bekliyorum
@By.KinG
RE: Color Chat Hatası
colorchat.inc dosyası kurulu mu?
Linksta
RE: Color Chat Hatası
(26-07-2020, 15:55)By.KinG Adlı Kullanıcıdan Alıntı: colorchat.inc dosyası kurulu mu?
hlds ye baktım include dosyasında öyle bir inc bulamadım
RE: Color Chat Hatası
Denermisin,

PHP Kod:
        /*
            Jailbreak Gang System
            H3avY Ra1n
    
            Description
            -----------
            This plugin allows prisoners to create gangs and upgrade specific skills that apply to everybody in the gang.
    
    
            Gang Menu
            ---------
            Create a Gang         - Allows a user to create a gang by paying money.
            Invite to Gang         - Only the leader of the gang can invite people to the gang.
            Skills                 - Opens the skills menu, where any member of the gang can pay money to upgrade their skills.
            Top-10                 - Shows a MOTD with the top10 gangs, SORTED BY KILLS. (If you have a good way to sort it, please post it below)
            Leave Gang             - Allows a player to leave the gang. The leader cannot leave the gang until he transfers leadership to somebody else (explained later).
            Gang Leader Menu     - Shows a menu with options to disband the gang, kick a player from the gang, or transfer leadership to somebody else in the gang.
            Online Members         - Shows a list of gang members that are currently in the server.
    
    
            Skills
            ------
            HP - Increased health
            Stealing - Increased money earnings.
            Gravity - Lower Gravity
            Damage - Increased damage
            Stamina - Gives higher speed to players.
            Weapon Drop - Chance of making the guard drop the weapon when you knife them. (%1 chance increase per level)
    
    
            CVARS
            -----
            jb_gang_cost         - The cost to create a gang.
            jb_health_cost         - The cost to upgrade gang health.
            jb_stealing_cost     - The cost to upgrade gang money earning.
            jb_gravity_cost     - The cost to upgrade gang gravity.
            jb_damage_cost         - The cost to upgrade gang damage.
            jb_stamina_cost     - The cost to upgrade gang stamina (speed).
            jb_weapondrop_cost     - The cost to upgrade gang weapon drop percentage.
    
            Additionally there are CVars for the max level for each type of upgrade, so replace _cost above with _max.
            Also there are CVars for the amount per level, so replace _cost above with _per.
            
            jb_points_per_kill    - The amount of points you get for a kill
            jb_headshot_bonus    - The amount of points you get for a headshot
            
            jb_max_members        - The max amount of members a gang can hold
            jb_admin_create        - Whether or not an admin can create gangs without using points
    
            Credits
            -------
            F0RCE     - Original Plugin Idea
            Exolent    - SQLVault Include
            Drekes     - Freezetime Fix (I was too lazy) :)
    
    
            Changelog
            ---------
            September 26, 2011    - v1.0 -     Initial Release
            September 27, 2011    - v1.01 -     Added more cvars, fixed a few bugs.
            September 28, 2011    - v1.1 -     Added gang admins, jb points instead of money, and a few other things I can't remember :)
            January 21, 2011    - v1.1.1 -    Added a cvar for whether an admin can create a gang without using points.
            January 23, 2011    - v1.1.2 -     Fixed freezetime problem
    
    
            http://forums.alliedmods.net/showthread.php?p=1563919
    */

    /* Includes */
        
        #include < amxmodx >
        #include < amxmisc >
        #include < sqlvault_ex >
        #include < cstrike >
        #include < hamsandwich >
        #include < fun >

    /* Defines */
    
        #define ADMIN_CREATE    ADMIN_LEVEL_B

    /* Constants */
    
        
new const g_szVersion[ ] = "1.1.2";

        
enum _:GangInfo
        
{
            
Trie:GangMembers,
            
GangName[ 64 ],
            
GangHP,
            
GangStealing,
            
GangGravity,
            
GangDamage,
            
GangStamina,
            
GangWeaponDrop,
            
GangKills,
            
NumMembers
        
};
            
        
enum
        
{
            
VALUE_HP,
            
VALUE_STEALING,
            
VALUE_GRAVITY,
            
VALUE_DAMAGE,
            
VALUE_STAMINA,
            
VALUE_WEAPONDROP,
            
VALUE_KILLS
        
}

        
enum
        
{
            
STATUS_NONE,
            
STATUS_MEMBER,
            
STATUS_ADMIN,
            
STATUS_LEADER
        
};

        new const 
g_szGangValues[ ][ ] = 
        {
            
"HP",
            
"Stealing",
            
"Gravity",
            
"Damage",
            
"Stamina",
            
"WeaponDrop",
            
"Kills"
        
};

        new const 
g_szPrefix[ ] = "^04[Gang System]^01";

    
/* Tries */
    
        
new Trie:g_tGangNames;
        new 
Trie:g_tGangValues;

    
/* Vault */
    
        
new SQLVault:g_hVault;
        new 
SQLVault:g_hPointsVault;

    
/* Arrays */
    
        
new Array:g_aGangs;

    
/* Pcvars */
    
        
new g_pCreateCost;

        new 
g_pHealthCost;
        new 
g_pStealingCost;
        new 
g_pGravityCost;
        new 
g_pDamageCost;
        new 
g_pStaminaCost;
        new 
g_pWeaponDropCost;

        new 
g_pHealthMax;
        new 
g_pStealingMax;
        new 
g_pGravityMax;
        new 
g_pDamageMax;
        new 
g_pStaminaMax;
        new 
g_pWeaponDropMax;

        new 
g_pHealthPerLevel;
        new 
g_pStealingPerLevel;
        new 
g_pGravityPerLevel;
        new 
g_pDamagePerLevel;
        new 
g_pStaminaPerLevel;
        new 
g_pWeaponDropPerLevel;

        new 
g_pPointsPerKill;
        new 
g_pHeadshotBonus;

        new 
g_pMaxMembers;
        new 
g_pAdminCreate;

    
/* Integers */
    
        
new g_iGang[ 33 ];
        new 
g_iPoints[ 33 ];
        

    public 
plugin_init()
    {
        
register_plugin( "Jailbreak Gang System", g_szVersion, "H3avY Ra1n" );
        
        
g_aGangs                 = ArrayCreate( GangInfo );

        
g_tGangValues             = TrieCreate();
        
g_tGangNames             = TrieCreate();
        
        
g_hVault                 = sqlv_open_local( "jb_gangs", false );
        
sqlv_init_ex( g_hVault );

        
g_hPointsVault            = sqlv_open_local( "jb_points", true );
        
        
g_pCreateCost            = register_cvar( "jb_gang_cost",         "50" );
        
g_pHealthCost            = register_cvar( "jb_health_cost",         "20" );
        
g_pStealingCost         = register_cvar( "jb_stealing_cost",     "20" );
        
g_pGravityCost            = register_cvar( "jb_gravity_cost",     "20" );
        
g_pDamageCost            = register_cvar( "jb_damage_cost",         "20" );
        
g_pStaminaCost            = register_cvar( "jb_stamina_cost",     "20" );
        
g_pWeaponDropCost        = register_cvar( "jb_weapondrop_cost",     "20" );

        
g_pHealthMax            = register_cvar( "jb_health_max",         "10" );
        
g_pStealingMax            = register_cvar( "jb_stealing_max",     "10" );
        
g_pGravityMax            = register_cvar( "jb_gravity_max",         "10" ); // Max * Gravity Per Level must be LESS than 800
        
g_pDamageMax            = register_cvar( "jb_damage_max",         "10" );
        
g_pStaminaMax            = register_cvar( "jb_stamina_max",         "10" );
        
g_pWeaponDropMax        = register_cvar( "jb_weapondrop_max",     "10" );

        
g_pHealthPerLevel        = register_cvar( "jb_health_per",         "10"     );
        
g_pStealingPerLevel        = register_cvar( "jb_stealing_per",     "0.05"     );
        
g_pGravityPerLevel        = register_cvar( "jb_gravity_per",         "50"     );
        
g_pDamagePerLevel        = register_cvar( "jb_damage_per",         "3"     );
        
g_pStaminaPerLevel        = register_cvar( "jb_stamina_per",         "3"     );
        
g_pWeaponDropPerLevel     = register_cvar( "jb_weapondrop_per",     "1"     );

        
g_pPointsPerKill        = register_cvar( "jb_points_per_kill",    "3" );
        
g_pHeadshotBonus        = register_cvar( "jb_headshot_bonus",    "2" );
        
        
g_pMaxMembers            = register_cvar( "jb_max_members",        "10" );
        
g_pAdminCreate            = register_cvar( "jb_admin_create",     "0" ); // Admins can create gangs without points
        
        
register_cvar( "jb_gang_version", g_szVersion, FCVAR_SPONLY | FCVAR_SERVER );
        
        
register_menu( "Gang Menu", 1023, "GangMenu_Handler" );
        
register_menu( "Skills Menu", 1023, "SkillsMenu_Handler" );
        
        for( new 
i = 0; i < sizeof g_szGangValues; i++ )
        {
            
TrieSetCell( g_tGangValues, g_szGangValues[ i ], i );
        }

        
RegisterHam( Ham_Spawn, "player", "Ham_PlayerSpawn_Post", 1 );
        
RegisterHam( Ham_TakeDamage, "player", "Ham_TakeDamage_Pre", 0 );
        
RegisterHam( Ham_TakeDamage, "player", "Ham_TakeDamage_Post", 1 );
        
RegisterHam( Ham_Item_PreFrame, "player", "Ham_PlayerResetSpeedPost", 1);
        
        
register_event( "DeathMsg", "Event_DeathMsg", "a" );
                
        
register_clcmd( "say /cete", "Cmd_Gang" );
        
register_clcmd( "gang_name", "Cmd_CreateGang" );
        
        
LoadGangs();
    }

    public 
client_disconnect( id )
    {
        
g_iGang[ id ] = -1;
        
        new 
szAuthID[ 35 ];
        
get_user_authid( id, szAuthID, charsmax( szAuthID ) );
        
        
sqlv_set_num( g_hPointsVault, szAuthID, g_iPoints[ id ] );
    }

    public 
client_putinserver( id )
    {
        
g_iGang[ id ] = get_user_gang( id );
        new 
szAuthID[ 35 ];
        
get_user_authid( id, szAuthID, charsmax( szAuthID ) );
        
        
g_iPoints[ id ] = sqlv_get_num( g_hPointsVault, szAuthID );
    }

    public 
plugin_end()
    {
        
SaveGangs();
        
sqlv_close( g_hVault );
    }

    public 
Ham_PlayerSpawn_Post( id )
    {
        if( !
is_user_alive( id ) || cs_get_user_team( id ) != CS_TEAM_T )
            return 
HAM_IGNORED;
            
        if( 
g_iGang[ id ] == -1 )
        {
            return 
HAM_IGNORED;
        }
            
        new 
aData[ GangInfo ];
        
ArrayGetArray( g_aGangs, g_iGang[ id ], aData );
        
        new 
iHealth = 100 + aData[ GangHP ] * get_pcvar_num( g_pHealthPerLevel );
        
set_user_health( id, iHealth );
        
        new 
iGravity = 800 - ( get_pcvar_num( g_pGravityPerLevel ) * aData[ GangGravity ] );
        
set_user_gravity( id, float( iGravity ) / 800.0 );
            
        return 
HAM_IGNORED;
    }

    public 
Ham_TakeDamage_Pre( iVictim, iInflictor, iAttacker, Float:flDamage, iBits )
    {
        if( !
is_user_alive( iAttacker ) || cs_get_user_team( iAttacker ) != CS_TEAM_T )
            return 
HAM_IGNORED;
            
        if( 
g_iGang[ iAttacker ] == -1 )
            return 
HAM_IGNORED;
        
        new 
aData[ GangInfo ];
        
ArrayGetArray( g_aGangs, g_iGang[ iAttacker ], aData );
        
        
SetHamParamFloat( 4, flDamage + ( get_pcvar_num( g_pDamagePerLevel ) * ( aData[ GangDamage ] ) ) );
        
        return 
HAM_IGNORED;
    }

    public 
Ham_TakeDamage_Post( iVictim, iInflictor, iAttacker, Float:flDamage, iBits )
    {
        if( !
is_user_alive( iAttacker ) || g_iGang[ iAttacker ] == -1 || get_user_weapon( iAttacker ) != CSW_KNIFE || cs_get_user_team( iAttacker ) != CS_TEAM_T  )
        {
            return 
HAM_IGNORED;
        }
        
        new 
aData[ GangInfo ];
        
ArrayGetArray( g_aGangs, g_iGang[ iAttacker ], aData );
        
        new 
iChance = aData[ GangWeaponDrop ] * get_pcvar_num( g_pWeaponDropPerLevel );
        
        if( 
iChance == 0 )
            return 
HAM_IGNORED;
        
        new 
bool:bDrop = ( random_num( 1, 100 ) <= iChance );
        
        if( 
bDrop )
            
client_cmd( iVictim, "drop" );
        
        return 
HAM_IGNORED;
    }

    public 
Ham_PlayerResetSpeedPost( id )
    {
        if( 
g_iGang[ id ] == -1 || !is_user_alive( id ) || cs_get_user_team( id ) != CS_TEAM_T )
        {
            return 
HAM_IGNORED;
        }
        
        new 
aData[ GangInfo ];
        
ArrayGetArray( g_aGangs, g_iGang[ id ], aData );
        
        if( 
aData[ GangStamina ] > 0 && get_user_maxspeed( id ) > 1.0 )
            
set_user_maxspeed( id, 250.0 + ( aData[ GangStamina ] * get_pcvar_num( g_pStaminaPerLevel ) ) );
            
        return 
HAM_IGNORED;
    }

    public 
Event_DeathMsg()
    {
        new 
iKiller = read_data( 1 );
        new 
iVictim = read_data( 2 );
        
        if( !
is_user_alive( iKiller ) || cs_get_user_team( iVictim ) != CS_TEAM_CT || cs_get_user_team( iKiller ) != CS_TEAM_T )
            return 
PLUGIN_CONTINUE;
        
        new 
iTotal = get_pcvar_num( g_pPointsPerKill ) + ( bool:read_data( 3 ) ? get_pcvar_num( g_pHeadshotBonus ) : 0 );
        
        if( 
g_iGang[ iKiller ] > -1 )
        {
            new 
aData[ GangInfo ];
            
ArrayGetArray( g_aGangs, g_iGang[ iKiller ], aData );
            
aData[ GangKills ]++;
            
ArraySetArray( g_aGangs, g_iGang[ iKiller ], aData );
            
            
iTotal += iTotal * ( aData[ GangStealing ] * get_pcvar_num( g_pStealingPerLevel ) );
        }
        
        
g_iPoints[ iKiller ] += iTotal;
        
        return 
PLUGIN_CONTINUE;
    }

    public 
Cmd_Gang( id )
    {    
        if( !
is_user_connected( id ) || cs_get_user_team( id ) != CS_TEAM_T )
        {
            
ColorChat( id, NORMAL, "%s Sadece ^03mahkumlar ^01erisebilir.", g_szPrefix );
            return 
PLUGIN_HANDLED;
        }
        
        static 
szMenu[ 512 ], iLen, aData[ GangInfo ], iKeys, iStatus;
        
        
iKeys = MENU_KEY_0 | MENU_KEY_4;
        
        
iStatus = getStatus( id, g_iGang[ id ] );
        
        if( 
g_iGang[ id ] > -1 )
        {
            
ArrayGetArray( g_aGangs, g_iGang[ id ], aData );
            
iLen     =     formatex( szMenu, charsmax( szMenu ),  "\yCete Menu^n\wMevcut Cete:\y %s^n", aData[ GangName ] );
            
iLen    +=    formatex( szMenu[ iLen ], charsmax( szMenu ) - iLen, "\yJB Miktari: \w%i^n^n", g_iPoints[ id ] );
            
iLen    +=    formatex( szMenu[ iLen ], charsmax( szMenu ) - iLen, "\r1. \dCete Olustur [%i CSMCoins]^n", get_pcvar_num( g_pCreateCost ) );
        }
        
        else
        {
            
iLen     =     formatex( szMenu, charsmax( szMenu ),  "\yCete Menu^n\wMevcut Cete:\r Yok^n" );
            
iLen    +=    formatex( szMenu[ iLen ], charsmax( szMenu ) - iLen, "\yCSMCoins Miktari: \w%i^n^n", g_iPoints[ id ] );
            
iLen    +=    formatex( szMenu[ iLen ], charsmax( szMenu ) - iLen, "\r1. \wCete Olustur [%i CSMCoins]^n", get_pcvar_num( g_pCreateCost ) );
            
            
iKeys |= MENU_KEY_1;
        }
        
        
        if( 
iStatus > STATUS_MEMBER && g_iGang[ id ] > -1 && get_pcvar_num( g_pMaxMembers ) > aData[ NumMembers ] )
        {
            
iLen    +=    formatex( szMenu[ iLen ], charsmax( szMenu ) - iLen, "\r2. \wCetene Oyuncu Davet Et^n" );
            
iKeys |= MENU_KEY_2;
        }
        else
            
iLen    +=    formatex( szMenu[ iLen ], charsmax( szMenu ) - iLen, "\r2. \dCetene Oyuncu Davet Et^n" );
        
        if( 
g_iGang[ id ] > -1 )
        {
            
iLen    +=    formatex( szMenu[ iLen ], charsmax( szMenu ) - iLen, "\r3. \wBeceriler^n" );
            
iKeys |= MENU_KEY_3;
        }
        
        else
            
iLen    +=    formatex( szMenu[ iLen ], charsmax( szMenu ) - iLen, "\r3. \dBeceriler^n" );
            
        
iLen    +=    formatex( szMenu[ iLen ], charsmax( szMenu ) - iLen, "\r4. \wTop-10^n" );
        
        if( 
g_iGang[ id ] > -1 )
        {
            
iLen    +=    formatex( szMenu[ iLen ], charsmax( szMenu ) - iLen, "\r5. \wCeteden Ayril^n" );
            
iKeys |= MENU_KEY_5;
        }
        
        else
            
iLen    +=    formatex( szMenu[ iLen ], charsmax( szMenu ) - iLen, "\r5. \dCeteden Ayril^n" );
        
        
        if( 
iStatus > STATUS_MEMBER )
        {
            
iLen    +=    formatex( szMenu[ iLen ], charsmax( szMenu ) - iLen, "\r6. \wCete Admin Menu^n" );
            
iKeys |= MENU_KEY_6;
        }
        
        else
            
iLen    +=    formatex( szMenu[ iLen ], charsmax( szMenu ) - iLen, "\r6. \dCete Admin Menu^n" );
        
        if( 
g_iGang[ id ] > -1 )
        {
            
iLen    +=    formatex( szMenu[ iLen ], charsmax( szMenu ) - iLen, "\r7. \wAktif Uyeler^n" );
            
iKeys |= MENU_KEY_7;
        }
            
        else
            
iLen    +=    formatex( szMenu[ iLen ], charsmax( szMenu ) - iLen, "\r7. \dAktif Uyeler^n" );
        
        
iLen    +=    formatex( szMenu[ iLen ], charsmax( szMenu ) - iLen, "^n\r0. \wMenuyu Kapat" );
        
        
show_menu( id, iKeys, szMenu, -1, "Gang Menu" );
        
        return 
PLUGIN_CONTINUE;
    }

    public 
GangMenu_Handler( id, iKey )
    {
        switch( ( 
iKey + 1 ) % 10 )
        {
            case 
0: return PLUGIN_HANDLED;
            
            case 
1: 
            {
                if( 
get_pcvar_num( g_pAdminCreate ) && get_user_flags( id ) & ADMIN_CREATE )
                {
                    
client_cmd( id, "messagemode gang_name" );
                }
                
                else if( 
g_iPoints[ id ] < get_pcvar_num( g_pCreateCost ) )
                {
                    
ColorChat( id, NORMAL, "%s Bir çete oluþturmak için yeterli CSMCoins yok!", g_szPrefix );
                    return 
PLUGIN_HANDLED;
                }
                
                else
                    
client_cmd( id, "messagemode gang_name" );
            }
            
            case 
2:
            {
                
ShowInviteMenu( id );
            }
            
            case 
3:
            {
                
ShowSkillsMenu( id );
            }
            
            case 
4:
            {
                
Cmd_Top10( id );
            }
            
            case 
5:
            {
                
ShowLeaveConfirmMenu( id );
            }
            
            case 
6:
            {
                
ShowLeaderMenu( id );
            }
            
            case 
7:
            {
                
ShowMembersMenu( id );
            }
        }
        
        return 
PLUGIN_HANDLED;
    }

    public 
Cmd_CreateGang( id )
    {
        new 
bool:bAdmin = false;
        
        if( 
get_pcvar_num( g_pAdminCreate ) && get_user_flags( id ) & ADMIN_CREATE )
        {
            
bAdmin = true;
        }
        
        else if( 
g_iPoints[ id ] < get_pcvar_num( g_pCreateCost ) )
        {
            
ColorChat( id, NORMAL, "%s Bir çete oluþturmak için yeterli CSMCoins yok!", g_szPrefix );
            return 
PLUGIN_HANDLED;
        }
        
        else if( 
g_iGang[ id ] > -1 )
        {
            
ColorChat( id, NORMAL, "%s Zaten bir cetedesin.", g_szPrefix );
            return 
PLUGIN_HANDLED;
        }
        
        else if( 
cs_get_user_team( id ) != CS_TEAM_T )
        {
            
ColorChat( id, NORMAL, "[GAREZ]%s Sadece ^03mahkumlarla ^01cete olusturabilirsiniz.", g_szPrefix );
            return 
PLUGIN_HANDLED;
        }
        
        new 
szArgs[ 60 ];
        
read_args( szArgs, charsmax( szArgs ) );
        
        
remove_quotes( szArgs );
        
        if( 
TrieKeyExists( g_tGangNames, szArgs ) )
        {
            
ColorChat( id, NORMAL, "[GAREZ]%s Bu cete ismi zaten kullanimda lutfen baska bi isim deneyin.", g_szPrefix );
            
Cmd_Gang( id );
            return 
PLUGIN_HANDLED;
        }
        
        new 
aData[ GangInfo ];
        
        
aData[ GangName ]         = szArgs;
        
aData[ GangHP ]         = 0;
        
aData[ GangStealing ]     = 0;
        
aData[ GangGravity ]     = 0;
        
aData[ GangStamina ]     = 0;
        
aData[ GangWeaponDrop ] = 0;
        
aData[ GangDamage ]     = 0;
        
aData[ NumMembers ]     = 0;
        
aData[ GangMembers ]     = _:TrieCreate();
        
        
ArrayPushArray( g_aGangs, aData );
        
        if( !
bAdmin )
            
g_iPoints[ id ] -= get_pcvar_num( g_pCreateCost );
        
        
set_user_gang( id, ArraySize( g_aGangs ) - 1, STATUS_LEADER );
        
        
ColorChat( id, NORMAL, "%s Tebrikler.Basariyla cete olusturuldu. '^03%s^01'.", g_szPrefix, szArgs );
        
        return 
PLUGIN_HANDLED;
    }

    public 
ShowInviteMenu( id )
    {    
        new 
iPlayers[ 32 ], iNum;
        
get_players( iPlayers, iNum );
        
        new 
szInfo[ 6 ], hMenu;
        
hMenu = menu_create( "Bir Oyuncu Davet etmek için seçin:", "InviteMenu_Handler" );
        new 
szName[ 32 ];
        
        for( new 
i = 0, iPlayer; i < iNum; i++ )
        {
            
iPlayer = iPlayers[ i ];
            
            
            if( 
iPlayer == id || g_iGang[ iPlayer ] == g_iGang[ id ] || cs_get_user_team( iPlayer ) != CS_TEAM_T )
                continue;
                
            
get_user_name( iPlayer, szName, charsmax( szName ) );
            
            
num_to_str( iPlayer, szInfo, charsmax( szInfo ) );
            
            
menu_additem( hMenu, szName, szInfo );
        }
            
        
menu_display( id, hMenu, 0 );
    }

    public 
InviteMenu_Handler( id, hMenu, iItem )
    {
        if( 
iItem == MENU_EXIT )
        {
            
Cmd_Gang( id );
            return 
PLUGIN_HANDLED;
        }
        
        new 
szData[ 6 ], iAccess, hCallback, szName[ 32 ];
        
menu_item_getinfo( hMenu, iItem, iAccess, szData, 5, szName, 31, hCallback );
        
        new 
iPlayer = str_to_num( szData );

        if( !
is_user_connected( iPlayer ) )
            return 
PLUGIN_HANDLED;
            
        
ShowInviteConfirmMenu( id, iPlayer );

        
ColorChat( id, NORMAL, "%s Ceteye katilma istegivar %s ", g_szPrefix, szName );
        
        
Cmd_Gang( id );
        return 
PLUGIN_HANDLED;
    }

    public 
ShowInviteConfirmMenu( id, iPlayer )
    {
        new 
szName[ 32 ];
        
get_user_name( id, szName, charsmax( szName ) );
        
        new 
aData[ GangInfo ];
        
ArrayGetArray( g_aGangs, g_iGang[ id ], aData );
        
        new 
szMenuTitle[ 128 ];
        
formatex( szMenuTitle, charsmax( szMenuTitle ), "%s Size katilmak icin davet var    %s", szName, aData[ GangName ] );
        new 
hMenu = menu_create( szMenuTitle, "InviteConfirmMenu_Handler" );
        
        new 
szInfo[ 6 ];
        
num_to_str( g_iGang[ id ], szInfo, 5 );
        
        
menu_additem( hMenu, "Daveti kabul et.", szInfo );
        
menu_additem( hMenu, "Reddet", "-1" );
        
        
menu_display( iPlayer, hMenu, 0 );    
    }

    public 
InviteConfirmMenu_Handler( id, hMenu, iItem )
    {
        if( 
iItem == MENU_EXIT )
            return 
PLUGIN_HANDLED;
        
        new 
szData[ 6 ], iAccess, hCallback;
        
menu_item_getinfo( hMenu, iItem, iAccess, szData, 5, _, _, hCallback );
        
        new 
iGang = str_to_num( szData );
        
        if( 
iGang == -1 )
            return 
PLUGIN_HANDLED;
        
        if( 
getStatus( id, g_iGang[ id ] ) == STATUS_LEADER )
        {
            
ColorChat( id, NORMAL, "%s Lider iken çete býrakamazsýnýz.", g_szPrefix );
            return 
PLUGIN_HANDLED;
        }
        
        
set_user_gang( id, iGang );
        
        new 
aData[ GangInfo ];
        
ArrayGetArray( g_aGangs, iGang, aData );
        
        
ColorChat( id, NORMAL, "%s Basariyla ceteye uye olundu. ^03%s^01.", g_szPrefix, aData[ GangName ] );
        
        return 
PLUGIN_HANDLED;
    }
        

    public 
ShowSkillsMenu( id )
    {    
        static 
szMenu[ 512 ], iLen, iKeys, aData[ GangInfo ];
        
        if( !
iKeys )
        {
            
iKeys = MENU_KEY_1 | MENU_KEY_2 | MENU_KEY_3 | MENU_KEY_4 | MENU_KEY_5 | MENU_KEY_6 | MENU_KEY_0;
        }
        
        
ArrayGetArray( g_aGangs, g_iGang[ id ], aData );
        
        
iLen    =    formatex( szMenu, charsmax( szMenu ), "\ySkills Menu^n^n" );
        
iLen    +=    formatex( szMenu[ iLen ], 511 - iLen, "\r1. \wHP Yukselt [\rMaliyet: \y%i  CSMCoins\w] \y[Level:%i/%i]^n", get_pcvar_num( g_pHealthCost ), aData[ GangHP ], get_pcvar_num( g_pHealthMax ) );
        
iLen    +=    formatex( szMenu[ iLen ], 511 - iLen, "\r2. \wHirsizlik Yukselt [\rMaliyet: \y%i CSMCoins\w] \y[Level:%i/%i]^n", get_pcvar_num( g_pStealingCost ), aData[ GangStealing ], get_pcvar_num( g_pStealingMax ) );
        
iLen    +=    formatex( szMenu[ iLen ], 511 - iLen, "\r3. \wYercekimi Yukselt [\rMaliyet: \y%i CSMCoins\w] \y[Level:%i/%i]^n", get_pcvar_num( g_pGravityCost ), aData[ GangGravity ], get_pcvar_num( g_pGravityMax ) );
        
iLen    +=    formatex( szMenu[ iLen ], 511 - iLen, "\r4. \wHasar Yukselt [\rMaliyet: \y%i CSMCoins\w] \y[Level:%i/%i]^n", get_pcvar_num( g_pDamageCost ), aData[ GangDamage ], get_pcvar_num( g_pDamageMax ) );
        
iLen    +=    formatex( szMenu[ iLen ], 511 - iLen, "\r5. \wSilah Birakma Yukselt [\rMaliyet: \y%i CSMCoins\w] \y[Level:%i/%i]^n", get_pcvar_num( g_pWeaponDropCost ), aData[ GangWeaponDrop ], get_pcvar_num( g_pWeaponDropMax ) );
        
iLen    +=    formatex( szMenu[ iLen ], 511 - iLen, "\r6. \wHiz Yukselt [\rMaliyet: \y%i CSMCoins\w] \y[Level:%i/%i]^n", get_pcvar_num( g_pStaminaCost ), aData[ GangStamina ], get_pcvar_num( g_pStaminaMax ) );
        
        
iLen    +=    formatex( szMenu[ iLen ], 511 - iLen, "^n\r0. \wMenuyu Kapat" );
        
        
show_menu( id, iKeys, szMenu, -1, "Skills Menu" );
    }

    public 
SkillsMenu_Handler( id, iKey )
    {
        new 
aData[ GangInfo ];
        
ArrayGetArray( g_aGangs, g_iGang[ id ], aData );
        
        switch( ( 
iKey + 1 ) % 10 )
        {
            case 
0: 
            {
                
Cmd_Gang( id );
                return 
PLUGIN_HANDLED;
            }
            
            case 
1:
            {
                if( 
aData[ GangHP ] == get_pcvar_num( g_pHealthMax ) )
                {
                    
ColorChat( id, NORMAL, "%s Cete icin bu beceri en yuksek seviyede.", g_szPrefix  );
                    
ShowSkillsMenu( id );
                    return 
PLUGIN_HANDLED;
                }
                
                new 
iRemaining = g_iPoints[ id ] - get_pcvar_num( g_pHealthCost );
                
                if( 
iRemaining < 0 )
                {
                    
ColorChat( id, NORMAL, "%s Bunun icin yeterli CSMCoins yok.", g_szPrefix );
                    
ShowSkillsMenu( id );
                    return 
PLUGIN_HANDLED;
                }
                
                
aData[ GangHP ]++;
                
                
g_iPoints[ id ] = iRemaining;
            }
            
            case 
2:
            {
                if( 
aData[ GangStealing ] == get_pcvar_num( g_pStealingMax ) )
                {
                    
ColorChat( id, NORMAL, "%s Cetede bu beceri en yuksek seviyede", g_szPrefix  );
                    
ShowSkillsMenu( id );
                    return 
PLUGIN_HANDLED;
                }
                
                new 
iRemaining = g_iPoints[ id ] - get_pcvar_num( g_pStealingCost );
                
                if( 
iRemaining < 0 )
                {
                    
ColorChat( id, NORMAL, "%s Bunun icin yeterli CSMCoins Yok.", g_szPrefix );
                    
ShowSkillsMenu( id );
                    return 
PLUGIN_HANDLED;
                }
                
                
aData[ GangStealing ]++;
                
                
g_iPoints[ id ] = iRemaining;
            }
            
            case 
3:
            {
                if( 
aData[ GangGravity ] == get_pcvar_num( g_pGravityMax ) )
                {
                    
ColorChat( id, NORMAL, "%s Cetede bu beceri en yuksek seviyede.", g_szPrefix  );
                    
ShowSkillsMenu( id );
                    return 
PLUGIN_HANDLED;
                }
                
                new 
iRemaining = g_iPoints[ id ] - get_pcvar_num( g_pGravityCost );
                
                if( 
iRemaining < 0 )
                {
                    
ColorChat( id, NORMAL, "%s Bunun icin yeterli CSMCoins Yok.", g_szPrefix );
                    
ShowSkillsMenu( id );
                    return 
PLUGIN_HANDLED;
                }
                
                
aData[ GangGravity ]++;
                
                
g_iPoints[ id ] = iRemaining;
            }
            
            case 
4:
            {
                if( 
aData[ GangDamage ] == get_pcvar_num( g_pDamageMax ) )
                {
                    
ColorChat( id, NORMAL, "%s Cetede bu beceri en yuksek seviyede.", g_szPrefix  );
                    
ShowSkillsMenu( id );
                    return 
PLUGIN_HANDLED;
                }
                
                new 
iRemaining = g_iPoints[ id ] - get_pcvar_num( g_pDamageCost );
                
                if( 
iRemaining < 0 )
                {
                    
ColorChat( id, NORMAL, "%s Bunun icin yeterli CSMCoins Yok..", g_szPrefix );
                    
ShowSkillsMenu( id );
                    return 
PLUGIN_HANDLED;
                }
                
                
aData[ GangDamage ]++;
                
                
g_iPoints[ id ] = iRemaining;
            }
            
            case 
5:
            {
                if( 
aData[ GangWeaponDrop ] == get_pcvar_num( g_pWeaponDropMax ) )
                {
                    
ColorChat( id, NORMAL, "%s Cetede bu beceri en yuksek seviyede.", g_szPrefix  );
                    
ShowSkillsMenu( id );
                    return 
PLUGIN_HANDLED;
                }
                
                new 
iRemaining = g_iPoints[ id ] - get_pcvar_num( g_pWeaponDropCost );
                
                if( 
iRemaining < 0 )
                {
                    
ColorChat( id, NORMAL, "%s Bunun icin yeterli CSMCoins Yok.", g_szPrefix );
                    
ShowSkillsMenu( id );
                    return 
PLUGIN_HANDLED;
                }
                
                
aData[ GangWeaponDrop ]++;
                
                
g_iPoints[ id ] = iRemaining;
            }
            
            case 
6:
            {
                if( 
aData[ GangStamina ] == get_pcvar_num( g_pStaminaMax ) )
                {
                    
ColorChat( id, NORMAL, "%s Cetede bu beceri en yuksek seviyede.", g_szPrefix  );
                    
ShowSkillsMenu( id );
                    return 
PLUGIN_HANDLED;
                }
                
                new 
iRemaining = g_iPoints[ id ] - get_pcvar_num( g_pStaminaCost );
                
                if( 
iRemaining < 0 )
                {
                    
ColorChat( id, NORMAL, "%s Bunun icin yeterli CSMCoins Yok..", g_szPrefix );
                    
ShowSkillsMenu( id );
                    return 
PLUGIN_HANDLED;
                }
                
                
aData[ GangStamina ]++;
                
                
g_iPoints[ id ] = iRemaining;
            }
        }
        
        
ArraySetArray( g_aGangs, g_iGang[ id ], aData );
        
        new 
iPlayers[ 32 ], iNum, iPlayer;
        new 
szName[ 32 ];
        
get_players( iPlayers, iNum );
        
        for( new 
i = 0; i < iNum; i++ )
        {
            
iPlayer = iPlayers[ i ];
            
            if( 
iPlayer == id || g_iGang[ iPlayer ] != g_iGang[ id ] )
                continue;
                
            
ColorChat( iPlayer, NORMAL, "%s ^03%s ^01Yetenek bir seviye yukseltildi.", g_szPrefix, szName );
        }
        
        
ColorChat( id, NORMAL, "%s Basariyla cetenin seviyesini yukselttiniz.", g_szPrefix );
        
        
ShowSkillsMenu( id );
        
        return 
PLUGIN_HANDLED;
    }
            
        
    public 
Cmd_Top10( id )
    {
        new 
iSize = ArraySize( g_aGangs );
        
        new 
iOrder[ 100 ][ 2 ];
        
        new 
aData[ GangInfo ];
        
        for( new 
i = 0; i < iSize; i++ )
        {
            
ArrayGetArray( g_aGangs, i, aData );
            
            
iOrder[ i ][ 0 ] = i;
            
iOrder[ i ][ 1 ] = aData[ GangKills ];
        }
        
        
SortCustom2D( iOrder, iSize, "Top10_Sort" );
        
        new 
szMessage[ 2048 ];
        
formatex( szMessage, charsmax( szMessage ), "<body bgcolor=#000000><font color=#FFB000><pre>" );
        
format( szMessage, charsmax( szMessage ), "%s%2s %-22.22s %7s %4s %10s %9s %9s %11s %8s^n", szMessage, "#", "Isim", "Oldurmeler", "HP", "Calma", 
            
"Yercekimi", "Dayaniklilik", "Silah Dusurme", "Hasar" );
            
        for( new 
i = 0; i < min( 10, iSize ); i++ )
        {
            
ArrayGetArray( g_aGangs, iOrder[ i ][ 0 ], aData );
            
            
format( szMessage, charsmax( szMessage ), "%s%-2d %22.22s %7d %4d %10d %9d %9d %11d %8d^n", szMessage, i + 1, aData[ GangName ], 
            
aData[ GangKills ], aData[ GangHP ], aData[ GangStealing ], aData[ GangGravity ], aData[ GangStamina], aData[ GangWeaponDrop ], aData[ GangDamage ] );
        }
        
        
show_motd( id, szMessage, "GAREZ | Cete Top 10" );
    }

    public 
Top10_Sort( const iElement1[ ], const iElement2[ ], const iArray[ ], szData[], iSize ) 
    {
        if( 
iElement1[ 1 ] > iElement2[ 1 ] )
            return -
1;
        
        else if( 
iElement1[ 1 ] < iElement2[ 1 ] )
            return 
1;
        
        return 
0;
    }

    public 
ShowLeaveConfirmMenu( id )
    {
        new 
hMenu = menu_create( "Ceteden ayrilmak istediginize emin misiniz ?", "LeaveConfirmMenu_Handler" );
        
menu_additem( hMenu, "Evet,Ayril", "0" );
        
menu_additem( hMenu, "Hayir,Kal", "1" );
        
        
menu_display( id, hMenu, 0 );
    }

    public 
LeaveConfirmMenu_Handler( id, hMenu, iItem )
    {
        if( 
iItem == MENU_EXIT )
            return 
PLUGIN_HANDLED;
        
        new 
szData[ 6 ], iAccess, hCallback;
        
menu_item_getinfo( hMenu, iItem, iAccess, szData, 5, _, _, hCallback );
        
        switch( 
str_to_num( szData ) )
        {
            case 
0: 
            {
                if( 
getStatus( id, g_iGang[ id ] ) == STATUS_LEADER )
                {
                    
ColorChat( id, NORMAL, "%s Bu ceteden ayrilmadan once liderligi baskasina aktarmaniz gerekir!", g_szPrefix );
                    
Cmd_Gang( id );
                    
                    return 
PLUGIN_HANDLED;
                }
                
                
ColorChat( id, NORMAL, "%s Basariyla cete kaldi.", g_szPrefix );
                
set_user_gang( id, -1 );
                
Cmd_Gang( id );
            }
            
            case 
1: Cmd_Gang( id );
        }
        
        return 
PLUGIN_HANDLED;
    }

    public 
ShowLeaderMenu( id )
    {
        new 
hMenu = menu_create( "Cete Yonetici Menu", "LeaderMenu_Handler" );
        
        new 
iStatus = getStatus( id, g_iGang[ id ] );
        
        if( 
iStatus == STATUS_LEADER )
        {
            
menu_additem( hMenu, "Ceteyi Dagit", "0" );
            
menu_additem( hMenu, "Liderligi Devret", "1" );
            
menu_additem( hMenu, "Yetkili Ekle", "4" );
            
menu_additem( hMenu, "Yetkili Kaldir", "5" );
        }
        
        
menu_additem( hMenu, "Ceteden At", "2" );
        
menu_additem( hMenu, "Cete Adini Degistir", "3" );
        
        
        
menu_display( id, hMenu, 0 );
    }

    public 
LeaderMenu_Handler( id, hMenu, iItem )
    {
        if( 
iItem == MENU_EXIT )
        {
            
Cmd_Gang( id );
            return 
PLUGIN_HANDLED;
        }
        
        new 
iAccess, hCallback, szData[ 6 ];
        
menu_item_getinfo( hMenu, iItem, iAccess, szData, 5, _, _, hCallback );
        
        switch( 
str_to_num( szData ) )
        {
            case 
0:
            {
                
ShowDisbandConfirmMenu( id );
            }
            
            case 
1:
            {
                
ShowTransferMenu( id );
            }
            
            case 
2:
            {
                
ShowKickMenu( id );
            }
            
            case 
3:
            {
                
client_cmd( id, "messagemode New_Name" );
            }
            
            case 
4:
            {
                
ShowAddAdminMenu( id );
            }
            
            case 
5:
            {
                
ShowRemoveAdminMenu( id );
            }
        }
        
        return 
PLUGIN_HANDLED;
    }

    public 
ShowDisbandConfirmMenu( id )
    {
        new 
hMenu = menu_create( "Ceteyi dagitmak istediginizden emin misiniz ?", "DisbandConfirmMenu_Handler" );
        
menu_additem( hMenu, "Evet,Simdi Dagit", "0" );
        
menu_additem( hMenu, "Hayir", "1" );
        
        
menu_display( id, hMenu, 0 );
    }

    public 
DisbandConfirmMenu_Handler( id, hMenu, iItem )
    {
        if( 
iItem == MENU_EXIT )
            return 
PLUGIN_HANDLED;
        
        new 
szData[ 6 ], iAccess, hCallback;
        
menu_item_getinfo( hMenu, iItem, iAccess, szData, 5, _, _, hCallback );
        
        switch( 
str_to_num( szData ) )
        {
            case 
0: 
            {
                
                
ColorChat( id, NORMAL, "%s Basariyla cete dagitildi.", g_szPrefix );
                
                new 
iPlayers[ 32 ], iNum;
                
                
get_players( iPlayers, iNum );
                
                new 
iPlayer;
                
                for( new 
i = 0; i < iNum; i++ )
                {
                    
iPlayer = iPlayers[ i ];
                    
                    if( 
iPlayer == id )
                        continue;
                    
                    if( 
g_iGang[ id ] != g_iGang[ iPlayer ] )
                        continue;

                    
ColorChat( iPlayer, NORMAL, "%s Cete lider tarafindan dagitildi..", g_szPrefix );
                    
set_user_gang( iPlayer, -1 );
                }
                
                new 
iGang = g_iGang[ id ];
                
                
set_user_gang( id, -1 );
                
                
ArrayDeleteItem( g_aGangs, iGang );

                
Cmd_Gang( id );
            }
            
            case 
1: Cmd_Gang( id );
        }
        
        return 
PLUGIN_HANDLED;
    }

    public 
ShowTransferMenu( id )
    {
        new 
iPlayers[ 32 ], iNum;
        
get_players( iPlayers, iNum, "e", "TERRORIST" );
        
        new 
hMenu = menu_create( "Liderligi transfer etmek istedigini sec:", "TransferMenu_Handler" );
        new 
szName[ 32 ], szData[ 6 ];
        
        for( new 
i = 0, iPlayer; i < iNum; i++ )
        {
            
iPlayer = iPlayers[ i ];
            
            if( 
g_iGang[ iPlayer ] != g_iGang[ id ] || id == iPlayer )
                continue;
                
            
get_user_name( iPlayer, szName, charsmax( szName ) );
            
num_to_str( iPlayer, szData, charsmax( szData ) );
            
            
menu_additem( hMenu, szName, szData );
        }
        
        
menu_display( id, hMenu, 0 );
    }

    public 
TransferMenu_Handler( id, hMenu, iItem )
    {
        if( 
iItem == MENU_EXIT )
        {
            
ShowLeaderMenu( id );
            return 
PLUGIN_HANDLED;
        }
        
        new 
iAccess, hCallback, szData[ 6 ], szName[ 32 ];
        
        
menu_item_getinfo( hMenu, iItem, iAccess, szData, 5, szName, charsmax( szName ), hCallback );
        
        new 
iPlayer = str_to_num( szData );
        
        if( !
is_user_connected( iPlayer ) )
        {
            
ColorChat( id, NORMAL, "%s Bu oyuncu artik bagli.", g_szPrefix );
            
ShowTransferMenu( id );
            return 
PLUGIN_HANDLED;
        }
        
        
set_user_gang( iPlayer, g_iGang[ id ], STATUS_LEADER );
        
set_user_gang( id, g_iGang[ id ], STATUS_ADMIN );
        
        
Cmd_Gang( id );
        
        new 
iPlayers[ 32 ], iNum, iTemp;
        
get_players( iPlayers, iNum );

        for( new 
i = 0; i < iNum; i++ )
        {
            
iTemp = iPlayers[ i ];
            
            if( 
iTemp == iPlayer )
            {
                
ColorChat( iTemp, NORMAL, "%s Cetenin yeni lideri sensin.", g_szPrefix );
                continue;
            }
            
            else if( 
g_iGang[ iTemp ] != g_iGang[ id ] )
                continue;
            
            
ColorChat( iTemp, NORMAL, "%s ^03%s^01 Cetenin yeni lideri oldu..", g_szPrefix, szName );
        }
        
        return 
PLUGIN_HANDLED;
    }


    public 
ShowKickMenu( id )
    {
        new 
iPlayers[ 32 ], iNum;
        
get_players( iPlayers, iNum );
        
        new 
hMenu = menu_create( "Cetenden Uye At:", "KickMenu_Handler" );
        new 
szName[ 32 ], szData[ 6 ];
        
        
        for( new 
i = 0, iPlayer; i < iNum; i++ )
        {
            
iPlayer = iPlayers[ i ];
            
            if( 
g_iGang[ iPlayer ] != g_iGang[ id ] || id == iPlayer )
                continue;
                
            
get_user_name( iPlayer, szName, charsmax( szName ) );
            
num_to_str( iPlayer, szData, charsmax( szData ) );
            
            
menu_additem( hMenu, szName, szData );
        }
        
        
menu_display( id, hMenu, 0 );
    }

    public 
KickMenu_Handler( id, hMenu, iItem )
    {
        if( 
iItem == MENU_EXIT )
        {
            
ShowLeaderMenu( id );
            return 
PLUGIN_HANDLED;
        }
        
        new 
iAccess, hCallback, szData[ 6 ], szName[ 32 ];
        
        
menu_item_getinfo( hMenu, iItem, iAccess, szData, 5, szName, charsmax( szName ), hCallback );
        
        new 
iPlayer = str_to_num( szData );
        
        if( !
is_user_connected( iPlayer ) )
        {
            
ColorChat( id, NORMAL, "%s Bu oyuncu artik bagli", g_szPrefix );
            
ShowTransferMenu( id );
            return 
PLUGIN_HANDLED;
        }
        
        
set_user_gang( iPlayer, -1 );
        
        
Cmd_Gang( id );
        
        new 
iPlayers[ 32 ], iNum, iTemp;
        
get_players( iPlayers, iNum );
        
        for( new 
i = 0; i < iNum; i++ )
        {
            
iTemp = iPlayers[ i ];
            
            if( 
iTemp == iPlayer || g_iGang[ iTemp ] != g_iGang[ id ] )
                continue;
            
            
ColorChat( iTemp, NORMAL, "%s ^03%s^01 Ceteden atildi.", g_szPrefix, szName );
        }
        
        
ColorChat( iPlayer, NORMAL, "%s Ceteden atildiniz.", g_szPrefix, szName );
        
        return 
PLUGIN_HANDLED;
    }

    public 
ChangeName_Handler( id )
    {
        if( 
g_iGang[ id ] == -1 || getStatus( id, g_iGang[ id ] ) == STATUS_MEMBER )
        {
            return;
        }
        
        new 
iGang = g_iGang[ id ];
        
        new 
szArgs[ 64 ];
        
read_args( szArgs, charsmax( szArgs ) );
        
        new 
iPlayers[ 32 ], iNum;
        
get_players( iPlayers, iNum );
        
        new 
bool:bInGang[ 33 ];
        new 
iStatus[ 33 ];
        
        for( new 
i = 0, iPlayer; i < iNum; i++ )
        {
            
iPlayer = iPlayers[ i ];
            
            if( 
g_iGang[ id ] != g_iGang[ iPlayer ] )
                continue;
        
            
bInGang[ iPlayer ] = true;
            
iStatus[ iPlayer ] = getStatus( id, iGang );
            
            
set_user_gang( iPlayer, -1 );
        }
        
        new 
aData[ GangInfo ];
        
ArrayGetArray( g_aGangs, iGang, aData );
        
        
aData[ GangName ] = szArgs;
        
        
ArraySetArray( g_aGangs, iGang, aData );
        
        for( new 
i = 0, iPlayer; i < iNum; i++ )
        {
            
iPlayer = iPlayers[ i ];
            
            if( !
bInGang[ iPlayer ] )
                continue;
            
            
set_user_gang( iPlayer, iGang, iStatus[ id ] );
        }
    }
        
    public 
ShowAddAdminMenu( id )
    {
        new 
iPlayers[ 32 ], iNum;
        new 
szName[ 32 ], szData[ 6 ];
        new 
hMenu = menu_create( "Oyuncuyu terfi et:", "AddAdminMenu_Handler" );
        
        
get_players( iPlayers, iNum );
        
        for( new 
i = 0, iPlayer; i < iNum; i++ )
        {
            
iPlayer = iPlayers[ i ];
            
            if( 
g_iGang[ id ] != g_iGang[ iPlayer ] || getStatus( iPlayer, g_iGang[ iPlayer ] ) > STATUS_MEMBER )
                continue;
            
            
get_user_name( iPlayer, szName, charsmax( szName ) );
            
            
num_to_str( iPlayer, szData, charsmax( szData ) );
            
            
menu_additem( hMenu, szName, szData );
        }
        
        
menu_display( id, hMenu, 0 );
    }

    public 
AddAdminMenu_Handler( id, hMenu, iItem )
    {
        if( 
iItem == MENU_EXIT )
        {
            
menu_destroy( hMenu );
            
ShowLeaderMenu( id );
            return 
PLUGIN_HANDLED;
        }
        
        new 
iAccess, hCallback, szData[ 6 ], szName[ 32 ];
        
        
menu_item_getinfo( hMenu, iItem, iAccess, szData, charsmax( szData ), szName, charsmax( szName ), hCallback );
        
        new 
iChosen = str_to_num( szData );
        
        if( !
is_user_connected( iChosen ) )
        {
            
menu_destroy( hMenu );
            
ShowLeaderMenu( id );
            return 
PLUGIN_HANDLED;
        }
        
        
set_user_gang( iChosen, g_iGang[ id ], STATUS_LEADER );
        
        new 
iPlayers[ 32 ], iNum;
        
get_players( iPlayers, iNum );
        
        for( new 
i = 0, iPlayer; i < iNum; i++ )
        {
            
iPlayer = iPlayers[ i ];
            
            if( 
g_iGang[ iPlayer ] != g_iGang[ id ] || iPlayer == iChosen )
                continue;
            
            
ColorChat( iPlayer, NORMAL, "%s ^03%s ^01Cetenin yoneticisi atandi.", g_szPrefix, szName );
        }
        
        
ColorChat( iChosen, NORMAL, "%s ^01Cetenin yoneticisi terfi edildi", g_szPrefix );
        
        
menu_destroy( hMenu );
        return 
PLUGIN_HANDLED;
    }

    public 
ShowRemoveAdminMenu( id )
    {
        new 
iPlayers[ 32 ], iNum;
        new 
szName[ 32 ], szData[ 6 ];
        new 
hMenu = menu_create( "Alt sinifa indirmek istediginiz uyeyi secin:", "RemoveAdminMenu_Handler" );
        
        
get_players( iPlayers, iNum );
        
        for( new 
i = 0, iPlayer; i < iNum; i++ )
        {
            
iPlayer = iPlayers[ i ];
            
            if( 
g_iGang[ id ] != g_iGang[ iPlayer ] || getStatus( iPlayer, g_iGang[ iPlayer ] ) != STATUS_ADMIN )
                continue;
            
            
get_user_name( iPlayer, szName, charsmax( szName ) );
            
            
num_to_str( iPlayer, szData, charsmax( szData ) );
            
            
menu_additem( hMenu, szName, szData );
        }
        
        
menu_display( id, hMenu, 0 );
    }

    public 
RemoveAdminMenu_Handler( id, hMenu, iItem )
    {
        if( 
iItem == MENU_EXIT )
        {
            
menu_destroy( hMenu );
            
ShowLeaderMenu( id );
            return 
PLUGIN_HANDLED;
        }
        
        new 
iAccess, hCallback, szData[ 6 ], szName[ 32 ];
        
        
menu_item_getinfo( hMenu, iItem, iAccess, szData, charsmax( szData ), szName, charsmax( szName ), hCallback );
        
        new 
iChosen = str_to_num( szData );
        
        if( !
is_user_connected( iChosen ) )
        {
            
menu_destroy( hMenu );
            
ShowLeaderMenu( id );
            return 
PLUGIN_HANDLED;
        }
        
        
set_user_gang( iChosen, g_iGang[ id ], STATUS_MEMBER );
        
        new 
iPlayers[ 32 ], iNum;
        
get_players( iPlayers, iNum );
        
        for( new 
i = 0, iPlayer; i < iNum; i++ )
        {
            
iPlayer = iPlayers[ i ];
            
            if( 
g_iGang[ iPlayer ] != g_iGang[ id ] || iPlayer == iChosen )
                continue;
            
            
ColorChat( iPlayer, NORMAL, "%s ^03%s ^01Cete yoneticiliginden dusuruldu.", g_szPrefix, szName );
        }
        
        
ColorChat( iChosen, NORMAL, "%s ^01Cete yoneticiliginden dusuruldu.", g_szPrefix );
        
        
menu_destroy( hMenu );
        return 
PLUGIN_HANDLED;
    }
        
    public 
ShowMembersMenu( id )
    {
        new 
szName[ 64 ], iPlayers[ 32 ], iNum;
        
get_players( iPlayers, iNum );
        
        new 
hMenu = menu_create( "Online Uyeler:", "MemberMenu_Handler" );
        
        for( new 
i = 0, iPlayer; i < iNum; i++ )
        {
            
iPlayer = iPlayers[ i ];
            
            if( 
g_iGang[ id ] != g_iGang[ iPlayer ] )
                continue;
            
            
get_user_name( iPlayer, szName, charsmax( szName ) );
            
            switch( 
getStatus( iPlayer, g_iGang[ id ] ) )
            {
                case 
STATUS_MEMBER:
                {
                    
add( szName, charsmax( szName ), " \r[Uye]" );
                }
                
                case 
STATUS_ADMIN:
                {
                    
add( szName, charsmax( szName ), " \r[Yetkili]" );
                }
                
                case 
STATUS_LEADER:
                {
                    
add( szName, charsmax( szName ), " \r[Yonetici]" );
                }
            }

            
menu_additem( hMenu, szName );
        }
        
        
menu_display( id, hMenu, 0 );
    }

    public 
MemberMenu_Handler( id, hMenu, iItem )
    {
        if( 
iItem == MENU_EXIT )
        {
            
menu_destroy( hMenu );
            
Cmd_Gang( id );
            return 
PLUGIN_HANDLED;
        }
        
        
menu_destroy( hMenu );
        
        
ShowMembersMenu( id )
        return 
PLUGIN_HANDLED;
    }

    
// Credits to Tirant from zombie mod and xOR from xRedirect
    
public LoadGangs()
    {
        new 
szConfigsDir[ 60 ];
        
get_configsdir( szConfigsDir, charsmax( szConfigsDir ) );
        
add( szConfigsDir, charsmax( szConfigsDir ), "/jb_gangs.ini" );
        
        new 
iFile = fopen( szConfigsDir, "rt" );
        
        new 
aData[ GangInfo ];
        
        new 
szBuffer[ 512 ], szData[ 6 ], szValue[ 6 ], i, iCurGang;
        
        while( !
feof( iFile ) )
        {
            
fgets( iFile, szBuffer, charsmax( szBuffer ) );
            
            
trim( szBuffer );
            
remove_quotes( szBuffer );
            
            if( !
szBuffer[ 0 ] || szBuffer[ 0 ] == ';' ) 
            {
                continue;
            }
            
            if( 
szBuffer[ 0 ] == '[' && szBuffer[ strlen( szBuffer ) - 1 ] == ']' )
            {
                
copy( aData[ GangName ], strlen( szBuffer ) - 2, szBuffer[ 1 ] );
                
aData[ GangHP ] = 0;
                
aData[ GangStealing ] = 0;
                
aData[ GangGravity ] = 0;
                
aData[ GangStamina ] = 0;
                
aData[ GangWeaponDrop ] = 0;
                
aData[ GangDamage ] = 0;
                
aData[ GangKills ] = 0;
                
aData[ NumMembers ] = 0;
                
aData[ GangMembers ] = _:TrieCreate();
                
                if( 
TrieKeyExists( g_tGangNames, aData[ GangName ] ) )
                {
                    new 
szError[ 256 ];
                    
formatex( szError, charsmax( szError ), "[GAREZ] Zaten bir cete var: %s", aData[ GangName ] );
                    
set_fail_state( szError );
                }
                
                
ArrayPushArray( g_aGangs, aData );
                
                
TrieSetCell( g_tGangNames, aData[ GangName ], iCurGang );

                
log_amx( "Gang Created: %s", aData[ GangName ] );
                
                
iCurGang++;
                
                continue;
            }
            
            
strtok( szBuffer, szData, 31, szValue, 511, '=' );
            
trim( szData );
            
trim( szValue );
            
            if( 
TrieGetCell( g_tGangValues, szData, i ) )
            {
                
ArrayGetArray( g_aGangs, iCurGang - 1, aData );
                
                switch( 
i )
                {                    
                    case 
VALUE_HP:
                        
aData[ GangHP ] = str_to_num( szValue );
                    
                    case 
VALUE_STEALING:
                        
aData[ GangStealing ] = str_to_num( szValue );
                    
                    case 
VALUE_GRAVITY:
                        
aData[ GangGravity ] = str_to_num( szValue );
                    
                    case 
VALUE_STAMINA:
                        
aData[ GangStamina ] = str_to_num( szValue );
                    
                    case 
VALUE_WEAPONDROP:
                        
aData[ GangWeaponDrop ] = str_to_num( szValue );
                        
                    case 
VALUE_DAMAGE:
                        
aData[ GangDamage ] = str_to_num( szValue );
                    
                    case 
VALUE_KILLS:
                        
aData[ GangKills ] = str_to_num( szValue );
                }
                
                
ArraySetArray( g_aGangs, iCurGang - 1, aData );
            }
        }
        
        new Array:
aSQL;
        
sqlv_read_all_ex( g_hVault, aSQL );
        
        new 
aVaultData[ SQLVaultEntryEx ];
        
        new 
iGang;
        
        for( 
i = 0; i < ArraySize( aSQL ); i++ )
        {
            
ArrayGetArray( aSQL, i, aVaultData );
            
            if( 
TrieGetCell( g_tGangNames, aVaultData[ SQLVEx_Key2 ], iGang ) )
            {
                
ArrayGetArray( g_aGangs, iGang, aData );
                
                
TrieSetCell( aData[ GangMembers ], aVaultData[ SQLVEx_Key1 ], str_to_num( aVaultData[ SQLVEx_Data ] ) );
                
                
aData[ NumMembers ]++;
                
                
ArraySetArray( g_aGangs, iGang, aData );
            }
        }
        
        
fclose( iFile );
    }

    public 
SaveGangs()
    {
        new 
szConfigsDir[ 64 ];
        
get_configsdir( szConfigsDir, charsmax( szConfigsDir ) );
        
        
add( szConfigsDir, charsmax( szConfigsDir ), "/jb_gangs.ini" );
        
        if( 
file_exists( szConfigsDir ) )
            
delete_file( szConfigsDir );
            
        new 
iFile = fopen( szConfigsDir, "wt" );
            
        new 
aData[ GangInfo ];
        
        new 
szBuffer[ 256 ];

        for( new 
i = 0; i < ArraySize( g_aGangs ); i++ )
        {
            
ArrayGetArray( g_aGangs, i, aData );
            
            
formatex( szBuffer, charsmax( szBuffer ), "[%s]^n", aData[ GangName ] );
            
fputs( iFile, szBuffer );
            
            
formatex( szBuffer, charsmax( szBuffer ), "HP=%i^n", aData[ GangHP ] );
            
fputs( iFile, szBuffer );
            
            
formatex( szBuffer, charsmax( szBuffer ), "Hirsizlik=%i^n", aData[ GangStealing ] );
            
fputs( iFile, szBuffer );
            
            
formatex( szBuffer, charsmax( szBuffer ), "Yer Cekimi=%i^n", aData[ GangGravity ] );
            
fputs( iFile, szBuffer );
            
            
formatex( szBuffer, charsmax( szBuffer ), "Dayaniklilik=%i^n", aData[ GangStamina ] );
            
fputs( iFile, szBuffer );
            
            
formatex( szBuffer, charsmax( szBuffer ), "Silah Dusurme=%i^n", aData[ GangWeaponDrop ] );
            
fputs( iFile, szBuffer );
            
            
formatex( szBuffer, charsmax( szBuffer ), "Hasar=%i^n", aData[ GangDamage ] );
            
fputs( iFile, szBuffer );
            
            
formatex( szBuffer, charsmax( szBuffer ), "Oldurmeler=%i^n^n", aData[ GangKills ] );
            
fputs( iFile, szBuffer );
        }
        
        
fclose( iFile );
    }
        
        

    
set_user_gang( id, iGang, iStatus=STATUS_MEMBER )
    {
        new 
szAuthID[ 35 ];
        
get_user_authid( id, szAuthID, charsmax( szAuthID ) );

        new 
aData[ GangInfo ];
        
        if( 
g_iGang[ id ] > -1 )
        {
            
ArrayGetArray( g_aGangs, g_iGang[ id ], aData );
            
TrieDeleteKey( aData[ GangMembers ], szAuthID );
            
aData[ NumMembers ]--;
            
ArraySetArray( g_aGangs, g_iGang[ id ], aData );
            
            
sqlv_remove_ex( g_hVault, szAuthID, aData[ GangName ] );
        }

        if( 
iGang > -1 )
        {
            
ArrayGetArray( g_aGangs, iGang, aData );
            
TrieSetCell( aData[ GangMembers ], szAuthID, iStatus );
            
aData[ NumMembers ]++;
            
ArraySetArray( g_aGangs, iGang, aData );
            
            
sqlv_set_num_ex( g_hVault, szAuthID, aData[ GangName ], iStatus );        
        }

        
g_iGang[ id ] = iGang;
        
        return 
1;
    }
        
    
get_user_gang( id )
    {
        new 
szAuthID[ 35 ];
        
get_user_authid( id, szAuthID, charsmax( szAuthID ) );
        
        new 
aData[ GangInfo ];
        
        for( new 
i = 0; i < ArraySize( g_aGangs ); i++ )
        {
            
ArrayGetArray( g_aGangs, i, aData );
            
            if( 
TrieKeyExists( aData[ GangMembers ], szAuthID ) )
                return 
i;
        }
        
        return -
1;
    }
                
    
getStatus( id, iGang )
    {
        if( !
is_user_connected( id ) || iGang == -1 )
            return 
STATUS_NONE;
            
        new 
aData[ GangInfo ];
        
ArrayGetArray( g_aGangs, iGang, aData );
        
        new 
szAuthID[ 35 ];
        
get_user_authid( id, szAuthID, charsmax( szAuthID ) );
        
        new 
iStatus;
        
TrieGetCell( aData[ GangMembers ], szAuthID, iStatus );
        
        return 
iStatus;
    }
/* Fun functions
*
* by Numb
*
* This file is provided as is (no warranties).
*/

#if defined _colorchat_included
  #endinput
#endif
#define _colorchat_included

enum Color
{
    
NORMAL = 1, // clients scr_concolor cvar color
    
GREEN, // Green Color
    
TEAM_COLOR, // Red, grey, blue
    
GREY, // grey
    
RED, // Red
    
BLUE, // Blue
}

new 
TeamName[][] = 
{
    
"",
    
"TERRORIST",
    
"CT",
    
"SPECTATOR"
}

ColorChat(id, Color:type, const msg[], {Float,Sql,Result,_}:...)
{
    new 
message[256];

    switch(
type)
    {
        case 
NORMAL: // clients scr_concolor cvar color
        
{
            
message[0] = 0x01;
        }
        case 
GREEN: // Green
        
{
            
message[0] = 0x04;
        }
        default: 
// White, Red, Blue
        
{
            
message[0] = 0x03;
        }
    }

    
vformat(message[1], 251, msg, 4);

    
// Make sure message is not longer than 192 character. Will crash the server.
    
message[192] = '^0';

    new 
team, ColorChange, index, MSG_Type;
    
    if(
id)
    {
        
MSG_Type = MSG_ONE;
        
index = id;
    } else {
        
index = FindPlayer();
        
MSG_Type = MSG_ALL;
    }
    
    
team = get_user_team(index);
    
ColorChange = ColorSelection(index, MSG_Type, type);

    
ShowColorMessage(index, MSG_Type, message);
        
    if(
ColorChange)
    {
        
Team_Info(index, MSG_Type, TeamName[team]);
    }
}

ShowColorMessage(id, type, message[])
{
    static 
bool:saytext_used;
    static 
get_user_msgid_saytext;
    if(!
saytext_used)
    {
        
get_user_msgid_saytext = get_user_msgid("SayText");
        
saytext_used = true;
    }
    
message_begin(type, get_user_msgid_saytext, _, id);
    
write_byte(id)        
    
write_string(message);
    
message_end();    
}

Team_Info(id, type, team[])
{
    static 
bool:teaminfo_used;
    static 
get_user_msgid_teaminfo;
    if(!
teaminfo_used)
    {
        
get_user_msgid_teaminfo = get_user_msgid("TeamInfo");
        
teaminfo_used = true;
    }
    
message_begin(type, get_user_msgid_teaminfo, _, id);
    
write_byte(id);
    
write_string(team);
    
message_end();

    return 
1;
}

ColorSelection(index, type, Color:Type)
{
    switch(
Type)
    {
        case 
RED:
        {
            return 
Team_Info(index, type, TeamName[1]);
        }
        case 
BLUE:
        {
            return 
Team_Info(index, type, TeamName[2]);
        }
        case 
GREY:
        {
            return 
Team_Info(index, type, TeamName[0]);
        }
    }

    return 
0;
}

FindPlayer()
{
    new 
i = -1;

    while(
i <= get_maxplayers())
    {
        if(
is_user_connected(++i))
            return 
i;
    }

    return -
1;
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1049\\ f0\\ fs16 \n\\ par }
*/ 
MawiŞ*
RE: Color Chat Hatası
deniyorum

knk birde bunu jb modundan çıkartırmısınız acaba

Knk 5 tane hata çıktı.
hlds de deniyorum orda komut ekranında kopyala yapıştır yok denermisin acaba sen compile edip bakarmısın
Son Düzenleme: 26-07-2020, 17:10, Düzenleyen: Muhammet Bulut
RE: Color Chat Hatası
(26-07-2020, 17:07)Muhammet Bulut Adlı Kullanıcıdan Alıntı: deniyorum

knk birde bunu jb modundan çıkartırmısınız acaba

Bu eklentiyi en son 2016 yılında kullanmışdı bi arkadaşım sanırım büyük eklenti aynı zamanda bu jb ye özel olmaması gerek fun bir eklenti isminde jb yazıyor yazmasına bakma özellikleri ona göredir ancak çok cvar vardı sanki çoğunu cvar eklemişlerdir uğraşırsan düzenlersin sadece cvardan ancak eklentide değişiklik yapacak zamanım yok üzgünüm
MawiŞ*
RE: Color Chat Hatası
(26-07-2020, 17:07)Muhammet Bulut Adlı Kullanıcıdan Alıntı: deniyorum

knk birde bunu jb modundan çıkartırmısınız acaba

Knk 5 tane hata çıktı.
hlds de deniyorum orda komut ekranında kopyala yapıştır yok denermisin acaba sen compile edip bakarmısın
https://forums.alliedmods.net/showthread.php?t=169907

buradaki .inc dosyalarını sunucuna kur
MawiŞ*
RE: Color Chat Hatası
tamam kurup haber vericem

knk eklentide 26 tane hata var dediğim gibi komut ekranında oldugu için kopyalayamıyorum ne yapmam lazım
Son Düzenleme: 26-07-2020, 17:16, Düzenleyen: Muhammet Bulut

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Konuyu Okuyanlar: 1 Ziyaretçi
Task