- /* 
-   
- 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 
-   
- --------- 
-   
- Banda keszitese 		- 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 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 Jatekosok 		- 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) <!-- s:) --><img src=\"{SMILIES_PATH}/icon_e_smile.gif\" alt=\":)\" title=\"mosoly\" /><!-- s:) --> 
-   
-   
-   
-   
-   
- 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 <!-- s:) --><img src=\"{SMILIES_PATH}/icon_e_smile.gif\" alt=\":)\" title=\"mosoly\" /><!-- s:) --> 
-   
- 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 
-   
-   
-   
-   
-   
-   
- */ 
-   
-   
-   
- /* Includes */ 
-   
-   
-   
- #include < amxmodx > 
-   
- #include < amxmisc > 
-   
- #include < sqlvault_ex > 
-   
- #include < cstrike > 
-   
- #include < colorchat > 
-   
- #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[ ][ ] =  
-   
- { 
-   
- "Elet", 
-   
- "Lopas", 
-   
- "Gravitacio", 
-   
- "Sebzes", 
-   
- "Kitartas", 
-   
- "FegyverDobas", 
-   
- "Olesek" 
-   
- }; 
-   
-   
-   
- new const g_szPrefix[ ] = "^04[Banda Mod]^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( "Banda Menu", 1023, "GangMenu_Handler" ); 
-   
- register_menu( "Kepesseg 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 /banda", "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 Csak ^03rabok ^01tudjak hasznalni ezt a menut.", 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 ),  "\yBanda Menu^n\wJelenlegi Banda:\y %s^n", aData[ GangName ] ); 
-   
- 	iLen	+=	formatex( szMenu[ iLen ], charsmax( szMenu ) - iLen, "\yJB Pontok: \w%i^n^n", g_iPoints[ id ] ); 
-   
- 	iLen	+=	formatex( szMenu[ iLen ], charsmax( szMenu ) - iLen, "\r1. \dBanda letrehozasa [%i Pont]^n", get_pcvar_num( g_pCreateCost ) ); 
-   
- } 
-   
-   
-   
- else 
-   
- { 
-   
- 	iLen 	= 	formatex( szMenu, charsmax( szMenu ),  "\yBanda Menu^n\wJelenlegi Banda:\r Nincs^n" ); 
-   
- 	iLen	+=	formatex( szMenu[ iLen ], charsmax( szMenu ) - iLen, "\yJB Pontok: \w%i^n^n", g_iPoints[ id ] ); 
-   
- 	iLen	+=	formatex( szMenu[ iLen ], charsmax( szMenu ) - iLen, "\r1. \wBanda letrehozasa [%i Pont]^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. \wJatekos meghivasa a bandaba^n" ); 
-   
- 	iKeys |= MENU_KEY_2; 
-   
- } 
-   
- else 
-   
- 	iLen	+=	formatex( szMenu[ iLen ], charsmax( szMenu ) - iLen, "\r2. \dJatekos meghivasa a bandaba^n" ); 
-   
-   
-   
- 	if( g_iGang[ id ] > -1 ) 
-   
- { 
-   
- 	iLen	+=	formatex( szMenu[ iLen ], charsmax( szMenu ) - iLen, "\r3. \wKepessegek^n" ); 
-   
- 	iKeys |= MENU_KEY_3; 
-   
- } 
-   
-   
-   
- else 
-   
- 	iLen	+=	formatex( szMenu[ iLen ], charsmax( szMenu ) - iLen, "\r3. \dKepessegek^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. \wBanda Elhagyasa^n" ); 
-   
- 	iKeys |= MENU_KEY_5; 
-   
- } 
-   
-   
-   
- else 
-   
- 	iLen	+=	formatex( szMenu[ iLen ], charsmax( szMenu ) - iLen, "\r5. \dBanda Elhagyasa^n" ); 
-   
-   
-   
-   
-   
- 	if( iStatus > STATUS_MEMBER ) 
-   
- { 
-   
- 	iLen	+=	formatex( szMenu[ iLen ], charsmax( szMenu ) - iLen, "\r6. \wBanda Admin Menu^n" ); 
-   
- 	iKeys |= MENU_KEY_6; 
-   
- } 
-   
-   
-   
- else 
-   
- 	iLen	+=	formatex( szMenu[ iLen ], charsmax( szMenu ) - iLen, "\r6. \dBanda Amdmin Menu^n" ); 
-   
-   
-   
- 	if( g_iGang[ id ] > -1 ) 
-   
- { 
-   
- 	iLen	+=	formatex( szMenu[ iLen ], charsmax( szMenu ) - iLen, "\r7. \wOnline Tagok^n" ); 
-   
- 	iKeys |= MENU_KEY_7; 
-   
- } 
-   
-   
-   
- else 
-   
- 	iLen	+=	formatex( szMenu[ iLen ], charsmax( szMenu ) - iLen, "\r7. \dOnline Tagok^n" ); 
-   
-   
-   
- 	iLen	+=	formatex( szMenu[ iLen ], charsmax( szMenu ) - iLen, "^n\r0. \wKilepes" ); 
-   
-   
-   
- 	show_menu( id, iKeys, szMenu, -1, "Banda 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 Nincs eleg pontod, hogy bandat hozz letre!", 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 Nincs eleg pontod, hogy bandat hozz letre.", g_szPrefix ); 
-   
- 	return PLUGIN_HANDLED; 
-   
- } 
-   
-   
-   
- else if( g_iGang[ id ] > -1 ) 
-   
- { 
-   
- 	ColorChat( id, NORMAL, "%s Nem hozhatsz letre bandat, mivel mar benne vagy egyben!", g_szPrefix ); 
-   
- 	return PLUGIN_HANDLED; 
-   
- } 
-   
-   
-   
- else if( cs_get_user_team( id ) != CS_TEAM_T ) 
-   
- { 
-   
- 	ColorChat( id, NORMAL, "%s Csak ^03rabok ^01tudnak bandat letrehozni!", g_szPrefix ); 
-   
- 	return PLUGIN_HANDLED; 
-   
- } 
-   
-   
-   
- new szArgs[ 60 ]; 
-   
- read_args( szArgs, charsmax( szArgs ) ); 
-   
-   
-   
- remove_quotes( szArgs ); 
-   
-   
-   
- if( TrieKeyExists( g_tGangNames, szArgs ) ) 
-   
- { 
-   
- 	ColorChat( id, NORMAL, "%s Ez a bandanev mar foglalt.", 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 Sikeresen letrehoztal egy bandat '^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( "Jatekos meghivasa:", "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 Sikeresen meghivtad %s , hogy csatlakozzon a bandahoz.", 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 Meghivott, hogy csatlakozz	%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, "Meghivas Elfogadasa", szInfo ); 
-   
- menu_additem( hMenu, "Meghivas Elutasitasa", "-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 Nem hagyhatod el a bandat, mert te vagy a vezere.", g_szPrefix ); 
-   
- 	return PLUGIN_HANDLED; 
-   
- } 
-   
-   
-   
- set_user_gang( id, iGang ); 
-   
-   
-   
- new aData[ GangInfo ]; 
-   
- ArrayGetArray( g_aGangs, iGang, aData ); 
-   
-   
-   
- ColorChat( id, NORMAL, "%s Sikeresen csatlakoztal a bandahoz ^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 ), "\yKepesseg Menu^n^n" ); 
-   
- iLen	+=	formatex( szMenu[ iLen ], 511 - iLen, "\r1. \wElet Fejlesztes [\rAr: \y%i Pontok\w] \y[Szint:%i/%i]^n", get_pcvar_num( g_pHealthCost ), aData[ GangHP ], get_pcvar_num( g_pHealthMax ) ); 
-   
- iLen	+=	formatex( szMenu[ iLen ], 511 - iLen, "\r2. \wLopas Fejlesztes [\rAr: \y%i Pontok\w] \y[Szint:%i/%i]^n", get_pcvar_num( g_pStealingCost ), aData[ GangStealing ], get_pcvar_num( g_pStealingMax ) ); 
-   
- iLen	+=	formatex( szMenu[ iLen ], 511 - iLen, "\r3. \wGravitacio Fejlesztes [\rAr: \y%i Pontok\w] \y[Szint:%i/%i]^n", get_pcvar_num( g_pGravityCost ), aData[ GangGravity ], get_pcvar_num( g_pGravityMax ) ); 
-   
- iLen	+=	formatex( szMenu[ iLen ], 511 - iLen, "\r4. \wSebzes Fejlesztes [\rAr: \y%i Pontok\w] \y[Szint:%i/%i]^n", get_pcvar_num( g_pDamageCost ), aData[ GangDamage ], get_pcvar_num( g_pDamageMax ) ); 
-   
- iLen	+=	formatex( szMenu[ iLen ], 511 - iLen, "\r5. \wFegyver Dobas Fejlesztes [\rAr: \y%i Pontok\w] \y[Szint:%i/%i]^n", get_pcvar_num( g_pWeaponDropCost ), aData[ GangWeaponDrop ], get_pcvar_num( g_pWeaponDropMax ) ); 
-   
- iLen	+=	formatex( szMenu[ iLen ], 511 - iLen, "\r6. \wSebesseg Fejlesztes [\rAr: \y%i Pontok\w] \y[Szint:%i/%i]^n", get_pcvar_num( g_pStaminaCost ), aData[ GangStamina ], get_pcvar_num( g_pStaminaMax ) ); 
-   
-   
-   
- iLen	+=	formatex( szMenu[ iLen ], 511 - iLen, "^n\r0. \wKilepes" ); 
-   
-   
-   
- show_menu( id, iKeys, szMenu, -1, "Kepesseg 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 A bandad elerte a maximalis szintet arra a kepessegre.", g_szPrefix  ); 
-   
- 			ShowSkillsMenu( id ); 
-   
- 			return PLUGIN_HANDLED; 
-   
- 		} 
-   
-   
-   
- 		new iRemaining = g_iPoints[ id ] - get_pcvar_num( g_pHealthCost ); 
-   
-   
-   
- 		if( iRemaining < 0 ) 
-   
- 		{ 
-   
- 			ColorChat( id, NORMAL, "%s Nincs eleg pontod a fejleszteshez.", 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 A bandad elerte a maximalis szintet arra a kepessegre.", g_szPrefix  ); 
-   
- 			ShowSkillsMenu( id ); 
-   
- 			return PLUGIN_HANDLED; 
-   
- 		} 
-   
-   
-   
- 		new iRemaining = g_iPoints[ id ] - get_pcvar_num( g_pStealingCost ); 
-   
-   
-   
- 		if( iRemaining < 0 ) 
-   
- 		{ 
-   
- 			ColorChat( id, NORMAL, "%s Nincs eleg pontod a fejleszteshez.", 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 A bandad elerte a maximalis szintet arra a kepessegre.", g_szPrefix  ); 
-   
- 			ShowSkillsMenu( id ); 
-   
- 			return PLUGIN_HANDLED; 
-   
- 		} 
-   
-   
-   
- 		new iRemaining = g_iPoints[ id ] - get_pcvar_num( g_pGravityCost ); 
-   
-   
-   
- 		if( iRemaining < 0 ) 
-   
- 		{ 
-   
- 			ColorChat( id, NORMAL, "%s Nincs eleg pontod a fejleszteshez.", 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 A bandad elerte a maximalis szintet arra a kepessegre.", g_szPrefix  ); 
-   
- 			ShowSkillsMenu( id ); 
-   
- 			return PLUGIN_HANDLED; 
-   
- 		} 
-   
-   
-   
- 		new iRemaining = g_iPoints[ id ] - get_pcvar_num( g_pDamageCost ); 
-   
-   
-   
- 		if( iRemaining < 0 ) 
-   
- 		{ 
-   
- 			ColorChat( id, NORMAL, "%s Nincs eleg pontod a fejleszteshez.", 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 A bandad elerte a maximalis szintet arra a kepessegre.", g_szPrefix  ); 
-   
- 			ShowSkillsMenu( id ); 
-   
- 			return PLUGIN_HANDLED; 
-   
- 		} 
-   
-   
-   
- 		new iRemaining = g_iPoints[ id ] - get_pcvar_num( g_pWeaponDropCost ); 
-   
-   
-   
- 		if( iRemaining < 0 ) 
-   
- 		{ 
-   
- 			ColorChat( id, NORMAL, "%s Nincs eleg pontod a fejleszteshez.", 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 A bandad elerte a maximalis szintet arra a kepessegre.", g_szPrefix  ); 
-   
- 			ShowSkillsMenu( id ); 
-   
- 			return PLUGIN_HANDLED; 
-   
- 		} 
-   
-   
-   
- 		new iRemaining = g_iPoints[ id ] - get_pcvar_num( g_pStaminaCost ); 
-   
-   
-   
- 		if( iRemaining < 0 ) 
-   
- 		{ 
-   
- 			ColorChat( id, NORMAL, "%s Nincs eleg pontod a fejleszteshez.", 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 ^01fejlesztette a banda kepessegeit.", g_szPrefix, szName ); 
-   
- 	} 
-   
-   
-   
- 	ColorChat( id, NORMAL, "%s Sikeresen fejlesztetted a bandad.", 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, "#", "Nev", "Olesek", "Elet", "Lopas",  
-   
- "Gravitacio", "Kitartas", "FegyverDobas", "Sebzes" ); 
-   
-   
-   
- 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, "Banda 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( "Biztosan ki akarsz lepni?", "LeaveConfirmMenu_Handler" ); 
-   
- menu_additem( hMenu, "Igen, ki szeretnek lepni", "0" ); 
-   
- menu_additem( hMenu, "Nem, eszem agaban sincs", "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 Elobb add at a vezetest valakinek mielott kilepnel.", g_szPrefix ); 
-   
- 			Cmd_Gang( id ); 
-   
-   
-   
- 			return PLUGIN_HANDLED; 
-   
- 		} 
-   
-   
-   
- 		ColorChat( id, NORMAL, "%s Sikeresen elhagytad a bandad.", 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( "Banda Vezer Menu", "LeaderMenu_Handler" ); 
-   
-   
-   
- new iStatus = getStatus( id, g_iGang[ id ] ); 
-   
-   
-   
- if( iStatus == STATUS_LEADER ) 
-   
- { 
-   
- 	menu_additem( hMenu, "Banda Feloszlatasa", "0" ); 
-   
- 	menu_additem( hMenu, "Vezer Atadasa", "1" ); 
-   
- 	menu_additem( hMenu, "Admin Hozzaadasa", "4" ); 
-   
- 	menu_additem( hMenu, "Admin Eltavolitasa", "5" ); 
-   
- } 
-   
-   
-   
- menu_additem( hMenu, "Kirugas a bandabol", "2" ); 
-   
- menu_additem( hMenu, "Banda nev megvaltoztatasa", "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( "Biztosan oszlatni akarod a bandat?", "DisbandConfirmMenu_Handler" ); 
-   
- menu_additem( hMenu, "Igen, oszlatni szeretnem", "0" ); 
-   
- menu_additem( hMenu, "Nem, eszem agaban sincs", "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 Sikeresen oszlattad a bandad.", 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 A banda oszlatva lett a vezeto altal.", 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( "Vezer atadasa:", "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 A jatekos nem talalhato.", 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 Te vagy a banda uj vezere.", g_szPrefix ); 
-   
- 		continue; 
-   
- 	} 
-   
-   
-   
- 	else if( g_iGang[ iTemp ] != g_iGang[ id ] ) 
-   
- 		continue; 
-   
-   
-   
- 		ColorChat( iTemp, NORMAL, "%s ^03%s^01 a banda uj vezere.", g_szPrefix, szName ); 
-   
- 	} 
-   
-   
-   
- 	return PLUGIN_HANDLED; 
-   
- } 
-   
-   
-   
-   
-   
- public ShowKickMenu( id ) 
-   
- { 
-   
- new iPlayers[ 32 ], iNum; 
-   
- get_players( iPlayers, iNum ); 
-   
-   
-   
- new hMenu = menu_create( "Bandabol valo kirugas:", "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 A jatekos nem talalhato.", 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 ki lett rugva a bandabol.", g_szPrefix, szName ); 
-   
- 	} 
-   
-   
-   
- 	ColorChat( iPlayer, NORMAL, "%s Ki lettel rugva a bandabol.", 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( "Jatekos Eloleptetese:", "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 ^01Adminna lett eloleptetve.", g_szPrefix, szName ); 
-   
- 	} 
-   
-   
-   
- 	ColorChat( iChosen, NORMAL, "%s ^01Adminna letettek elo.", g_szPrefix ); 
-   
-   
-   
- 	menu_destroy( hMenu ); 
-   
- 	return PLUGIN_HANDLED; 
-   
- } 
-   
-   
-   
- public ShowRemoveAdminMenu( id ) 
-   
- { 
-   
- new iPlayers[ 32 ], iNum; 
-   
- new szName[ 32 ], szData[ 6 ]; 
-   
- new hMenu = menu_create( "Jatekos Lefokozasa:", "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 ^01Le lett fokozva adminrol sima jatekosra.", g_szPrefix, szName ); 
-   
- 	} 
-   
-   
-   
- 	ColorChat( iChosen, NORMAL, "%s ^01Le lettel fokozva.", 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 Tagok:", "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[Tag]" ); 
-   
- 		} 
-   
-   
-   
- 		case STATUS_ADMIN: 
-   
- 		{ 
-   
- 			add( szName, charsmax( szName ), " \r[Admin]" ); 
-   
- 		} 
-   
-   
-   
- 		case STATUS_LEADER: 
-   
- 		{ 
-   
- 			add( szName, charsmax( szName ), " \r[Vezer]" ); 
-   
- 		} 
-   
- 	} 
-   
-   
-   
- 	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 ), "[JB Banda] A banda mar letezik: %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 ), "Elet=%i^n", aData[ GangHP ] ); 
-   
- 	fputs( iFile, szBuffer ); 
-   
-   
-   
- 	formatex( szBuffer, charsmax( szBuffer ), "Lopas=%i^n", aData[ GangStealing ] ); 
-   
- 	fputs( iFile, szBuffer ); 
-   
-   
-   
- 	formatex( szBuffer, charsmax( szBuffer ), "Gravitacio=%i^n", aData[ GangGravity ] ); 
-   
- 	fputs( iFile, szBuffer ); 
-   
-   
-   
- 	formatex( szBuffer, charsmax( szBuffer ), "Kitartas=%i^n", aData[ GangStamina ] ); 
-   
- 	fputs( iFile, szBuffer ); 
-   
-   
-   
- 	formatex( szBuffer, charsmax( szBuffer ), "FegyverDobas=%i^n", aData[ GangWeaponDrop ] ); 
-   
- 	fputs( iFile, szBuffer ); 
-   
-   
-   
- 	formatex( szBuffer, charsmax( szBuffer ), "Sebzes=%i^n", aData[ GangDamage ] ); 
-   
- 	fputs( iFile, szBuffer ); 
-   
-   
-   
- 	formatex( szBuffer, charsmax( szBuffer ), "Olesek=%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; 
-   
- }