/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <engine>
#include <amxmisc>
#include <amxconst>
#include <core>
#include <cstrike>
#include <fakemeta>
#include <hamsandwich>
#include <fun>
#include <sqlx>
#include <regex>

#define BNm_Includes 0
#define BNm_Event 0

#if BNm_Includes == 1

#include <dollar>
#include <egg_event>

#endif

#define BNm_Advert 0
#define BNm_Fragrace 0
#define BNm_TypeWord 0
#define BNm_NYJatek 0
#define BNm_ResetScore 0
#define BNm_WeaponMenu 0
#define BNm_Demo 0

#define PLUGIN "Black Night mod"
#define VERSION "2.0"
#define AUTHOR "Adek"
//CREDIT: KOVA, és minden olyan személy akinek a hlmodon lévő pluginjából inspirálódtam(utólag írtam, hozzá ezt a sort és nem tudom pontosan!)
#define Prefix ".:[Black*.*Night]:."

#if BNm_Event == 1
#define MaxSizeEgg 7
#endif

#if BNm_Advert == 1
new Array:g_Advert;
new g_AdvertSize;
#endif

#if BNm_WeaponMenu == 1
const NETOLTS = ((1<<CSW_HEGRENADE)|(1<<CSW_SMOKEGRENADE)|(1<<CSW_FLASHBANG)|(1<<CSW_KNIFE)|(1<<CSW_C4));
#endif

  static const SQLINFO[][] = { "", "", "", ""};
  static Query[10048];
  new Handle:g_SqlTuple;

//NATIVE 
#if BNm_Event == 1
new Easter_Event[33][MaxSizeEgg];
new OpenedEggCounter[33];
#endif

//
#if BNm_WeaponMenu == 1
new PlayersNow, g_Round;
#endif

#if BNm_Demo == 1
new const DemoName[] = "blacknight2020"
#endif
#if BNm_WeaponMenu == 1
new const g_MaxAmmo[] = 
{
0,
52, //CSW_P228
0, 
90, //CSW_SCOUT
0,  //CSW_HEGRENADE
32,  //CSW_XM1014
0,  //CSW_C4
100,//CSW_MAC10
90, //CSW_AUG
0,  //CSW_SMOKEGRENADE
120,//CSW_ELITE
100,//CSW_FIVESEVEN
100,//CSW_UMP45
90, //CSW_SG550
90, //CSW_GALIL
90, //CSW_FAMAS
100,//CSW_USP
120,//CSW_GLOCK18
30, //CSW_AWP
120,//CSW_MP5NAVY
200,//CSW_M249
32,  //CSW_M3
90, //CSW_M4A1
120,//CSW_TMP
90, //CSW_G3SG1
0,  //CSW_FLASHBANG
35,  //CSW_DEAGLE
90, //CSW_SG552
90, //CSW_AK47
0,  //CSW_KNIFE
100//CSW_P90
};
enum _:weaponMenu_Properties
{
  Name[46],
  weaponEnt[16],
  ChatName[46]
};
//Fegyver hozzáadása a fegyvermenühöz!
//Fegyvermenübe a név / fegyverid / Chatbe mit írjon ki(Az ... választottad!)
  new const WeaponMenuNames[][weaponMenu_Properties] =
{
  {"\r[\yM4A1 Csomag\r]", "weapon_m4a1", "M4A1 Csomag"},
  {"\r[\yAK47 Csomag\r]", "weapon_ak47", "AK47 Csomag"},
  {"\r[\yAWP Csomag\r] \wCsapatonként 2 ember", "weapon_awp", "AWP Csomag"},
  {"\r[\yFAMAS Csomag\r]", "weapon_famas", "FAMAS Csomag"},
  {"\r[\yMP5 Csomag\r]", "weapon_mp5navy", "MP5 Csomag"},
  {"\r[\ySCOUT Csomag\r]", "weapon_scout", "SCOUT Csomag"},
  {"\r[\yXM1014 Csomag\r]", "weapon_xm1014", "XM1014 Csomag"},
  {"\r[\yM3 Csomag\r]", "weapon_m3", "M3 Csomag"}
}
#endif
#if BNm_TypeWord == 1
enum _:searchword_properties
{
  SearchedWord[7],
  isWord
};
new any:SearchWord[searchword_properties];
#endif
enum _:cvar_properties
{
  g_costvip,
  g_costprefix,
};
new any:ServerCvars[cvar_properties];

new const AdminPermissions[][][] =
{
	{"[Játékos]", "z", "0",}, //0
	{"[Fejlesztő]", "abcvnmlpoikujzhtgrfedwsayc", "1"}, //1
	{"[Tulajdonos]", "abcvnmlpoikujzhtgrfedwsayc", "1"}, //2
	{"[SzuperAdmin]", "abmcfscdtiue", "1"}, //3
	{"[FőAdmin]", "bmcfscdtiue", "0"}, //4
	{"[Admin]", "bmcfscdtiu", "0"},  //5
  {"[Prémium V.I.P]", "mcfstiue", "0"}  //6
};
#if BNm_Fragrace == 1
new const view_hud[][] =
{
	"A Fragverseny véget ért!^nElső: %s",
	"A Fragverseny véget ért!^nElső: %s | Második: %s",
	"A Fragverseny véget ért!^nElső: %s | Második: %s | Harmadik: %s",
	"Jelenleg Fragverseny van (%s-%s)^n1. %s - ÖléS: %i",
	"Jelenleg Fragverseny van (%s-%s)^n1. %s - ÖléS: %i | ^n2. %s - ÖléS: %i",
	"Jelenleg Fragverseny van (%s-%s)^n1. %s - ÖléS: %i | ^n2. %s - ÖléS: %i | ^n3. %s - ÖléS: %i",
	"A Fragverseny elkezdődik %s-kor..."
}
enum _:Fragrace_Properties
{
  StartTime[32],
  EndTime[32],
  kills,
  bool:SwitchFrag,
  bool:FirstTask,
  x_tempid
};
new FragRacers[33][Fragrace_Properties];
new FragInfo[Fragrace_Properties];
#endif
enum _:weapon_Properties
{
  Id,
  name[32],
  model[128],
  type[16],
  neededkills,
  killsinweapon
}
static const Empty[weapon_Properties];
//Kés skin hozzáadása
//következő szám / Kés neve / model / CSW_KNIFE / ölésszám ami kell hozzá.
new const WeaponKnife[][weapon_Properties] =
{
  {0, "Default Knife", "models/v_knife.mdl", CSW_KNIFE, 0},
  {1, "Butterfly Fade", "models/bn/knife/ButterflyFade.mdl", CSW_KNIFE, 10},
  {2, "Butterfly BloodyWeb", "models/bn/knife/ButterflyKnifeBloodyWeb.mdl", CSW_KNIFE, 20},
  {3, "Butterfly CrimsonWeb", "models/bn/knife/ButterflyKnifeCrimsonWeb.mdl", CSW_KNIFE, 50},
  {4, "Falion Killing", "models/bn/knife/FalionKilling.mdl", CSW_KNIFE, 80},
  {5, "Karambit Superfurry", "models/bn/knife/KarambitSuperfurry.mdl", CSW_KNIFE, 100},
  {6, "Karambit TigerTooth", "models/bn/knife/KarambitTigerTooth.mdl", CSW_KNIFE, 120},
  {7, "Karambit Ultraibolya", "models/bn/knife/Karambitultraibolya.mdl", CSW_KNIFE, 150},
  {8, "Karambit BlueDreamer", "models/bn/knife/KarambitBlueDreamer.mdl", CSW_KNIFE, 180},
  {9, "M9 Bayonet Damascus Steel", "models/bn/knife/M9BayonetDamascusSteel.mdl", CSW_KNIFE, 250},
  {10, "M9 Bayonet DopplerSapphire", "models/bn/knife/M9BayonetDopplerSapphire.mdl", CSW_KNIFE, 300},
  {11, "M9 Bayonet Dragon Soul", "models/bn/knife/M9BayonetDragonSoul.mdl", CSW_KNIFE, 350},
  {12, "M9 Bayonet Gamma Doppler Phase", "models/bn/knife/M9BayonetGammaDopplerPhase.mdl", CSW_KNIFE, 400}
}
new const WeaponAK[][weapon_Properties] =
{
  {0, "Default AK47", "models/v_ak47.mdl", CSW_AK47, 0},
  {1, "Bloodsport AK47", "models/bn/ak/Bloodsport.mdl", CSW_AK47, 50},
  {2, "Curzon AK47", "models/bn/ak/Curzon.mdl", CSW_AK47, 100},
  {3, "Demon AK47", "models/bn/ak/Demon.mdl", CSW_AK47, 200},
  {4, "Illusion AK47", "models/bn/ak/Illusion.mdl", CSW_AK47, 400},
  {5, "Meres AK47", "models/bn/ak/Meres.mdl", CSW_AK47, 800},
  {6, "Neon Revolution AK47", "models/bn/ak/NeonRevolution.mdl", CSW_AK47, 1600},
  {7, "Overdrive AK47", "models/bn/ak/Overdrive.mdl", CSW_AK47, 3200},
  {8, "Ringleader AK47", "models/bn/ak/Ringleader.mdl", CSW_AK47, 6400},
  {9, "Rise Purple AK47", "models/bn/ak/RisePurple.mdl", CSW_AK47, 12800},
  {10, "Starladder AK47", "models/bn/ak/Starladder.mdl", CSW_AK47, 25600},
  {11, "Tigerstrike AK47", "models/bn/ak/Tigerstrike.mdl", CSW_AK47, 51200},
  {12, "Vulcan AK47", "models/bn/ak/Vulcan.mdl", CSW_AK47, 102400}
}

new const WeaponM4A1[][weapon_Properties] =
{
  {0, "Default M4A1", "models/v_m4a1.mdl", CSW_M4A1, 0},
  {1, "Flashback M4A1", "models/bn/m4a1/Flashback.mdl", CSW_M4A1, 50},
  {2, "Golden Coil M4A1", "models/bn/m4a1/GoldenCoil.mdl", CSW_M4A1, 100},
  {3, "Hellfire M4A1", "models/bn/m4a1/Hellfire.mdl", CSW_M4A1, 200},
  {4, "Kendall M4A1", "models/bn/m4a1/Kendall.mdl", CSW_M4A1, 400},
  {5, "Lightning Blue M4A1", "models/bn/m4a1/LightningBlue.mdl", CSW_M4A1, 800},
  {6, "Neon Electro M4A1", "models/bn/m4a1/NeonElectro.mdl", CSW_M4A1, 1600},
  {7, "OPTIMUS M4A1", "models/bn/m4a1/OPTIMUS.mdl", CSW_M4A1, 3200},
  {8, "Pathfinder M4A1", "models/bn/m4a1/Pathfinder.mdl", CSW_M4A1, 6400},
  {9, "Shark's Carnage M4A1", "models/bn/m4a1/Shark'sCarnage.mdl", CSW_M4A1, 12800},
  {10, "Starladder M4A1", "models/bn/m4a1/Starladder.mdl", CSW_M4A1, 25600},
  {11, "Ultimate M4A1", "models/bn/m4a1/Ultimate.mdl", CSW_M4A1, 51200},
  {12, "Vanquish M4A1", "models/bn/m4a1/Vanquish.mdl", CSW_M4A1, 102400}
}

new const WeaponAWP[][weapon_Properties] =
{
  {0, "Default AWP", "models/v_awp.mdl", CSW_AWP, 0},
  {1, "Asiimov Fnatic AWP", "models/bn/awp/AsiimovFnatic.mdl", CSW_AWP, 50},
  {2, "Bercut AWP", "models/bn/awp/Bercut.mdl", CSW_AWP, 100},
  {3, "BlackRock AWP", "models/bn/awp/BlackRock.mdl", CSW_AWP, 200},
  {4, "Blood Hunter AWP", "models/bn/awp/BloodHunter.mdl", CSW_AWP, 400},
  {5, "Fenrir AWP", "models/bn/awp/Fenrir.mdl", CSW_AWP, 800},
  {6, "Meres AWP", "models/bn/awp/Meres.mdl", CSW_AWP, 1600},
  {7, "Phobos v2 AWP", "models/bn/awp/Phobosv2.mdl", CSW_AWP, 3200},
  {8, "Ronin AWP", "models/bn/awp/Ronin.mdl", CSW_AWP, 6400},
  {9, "Villámcsavar AWP", "models/bn/awp/villamcsavar.mdl", CSW_AWP, 12800},
  {10, "Viper Strike AWP", "models/bn/awp/ViperStrike.mdl", CSW_AWP, 25600},
  {11, "Vulkan AWP", "models/bn/awp/vulkan.mdl", CSW_AWP, 51200},
  {12, "Wild Style AWP", "models/bn/awp/WildStyle.mdl", CSW_AWP, 102400}
}

new const WeaponDeagle[][weapon_Properties] =
{
  {0, "Default Deagle", "models/v_deagle.mdl", CSW_DEAGLE, 0},
  {1, "Black and Red Deagle", "models/bn/deagle/BlackandRed.mdl", CSW_DEAGLE, 50},
  {2, "Blaze Deagle", "models/bn/deagle/Blaze.mdl", CSW_DEAGLE, 100},
  {3, "Carp Koi Deagle", "models/bn/deagle/CarpKoi.mdl", CSW_DEAGLE, 200},
  {4, "Dragon Leader Deagle", "models/bn/deagle/DragonLeader.mdl", CSW_DEAGLE, 400},
  {5, "Eagle Glory Deagle", "models/bn/deagle/EagleGlory.mdl", CSW_DEAGLE, 800},
  {6, "IDN Deagle", "models/bn/deagle/IDN.mdl", CSW_DEAGLE, 1600},
  {7, "Kumicho Dragon Fix Deagle", "models/bn/deagle/KumichoDragonFix.mdl", CSW_DEAGLE, 3200},
  {8, "Scala Deagle", "models/bn/deagle/Scala.mdl", CSW_DEAGLE, 6400}
}

new KnifeSkinKills[33][30][weapon_Properties];
new AKSkinKills[33][30][weapon_Properties];
new M4A1SkinKills[33][30][weapon_Properties];
new AWPSkinKills[33][30][weapon_Properties];
new DeagleSkinKills[33][30][weapon_Properties];

new WeaponKnifeSize = sizeof(WeaponKnife);
new WeaponAKSize = sizeof(WeaponAK);
new WeaponM4A1Size = sizeof(WeaponM4A1);
new WeaponAWPSize = sizeof(WeaponAWP);
new WeaponDeagleSize = sizeof(WeaponDeagle);

#if BNm_Advert == 1
enum _:announcment_Properties
{
  message[512],
  uniqid
}
#endif
enum _:Deathsmg_Properties
{
  Damagers,
  DamagedHit,
  WhoGetDamage,
}
new Player_Death[33][Deathsmg_Properties];
enum _:player_Settings
{
  s_lefthud,
  s_bottomhud,
}
new Player_Settings[33][player_Settings];
enum _:player_Properties
{
  PlayerName[64],
  steamid[32],
  ip[32],
  SelectedAK,
  SelectedM4A1,
  SelectedAWP,
  SelectedDEAGLE,
  SelectedKnife,
  Knifeshow,
  PlayerBought,
  havePrefix,
  ChatPrefix[32],
  k_ak47,
  k_m4a1,
  k_awp,
  k_deagle,
  k_knife,
  Float:l_exp,
  l_name[32],
  a_Id,
  Float:money,
  v_isVip,
  v_time,
  PlayTime,
  ad_level,
  ad_EndTime
}
new Player_Info[33][player_Properties];
#if BNm_NYJatek == 1
enum _:prizegame_Properties
{
  p_EndTime,
  kills,
  TypedTime,
  isPrizeGoing,
  FirstPrize[64],
  SecondPrize[64],
  ThirdPrize[64],
  FirstPrizePhoto[64],
  SecondPrizePhoto[64],
  ThirdPrizePhoto[64],
  PrizerName[64]
};
new PrizeGame[33][prizegame_Properties];
new ServerPrizeGame[prizegame_Properties];
new Prize_Top15_list[15][prizegame_Properties];
#endif
enum _:level_Properties
{
  r_name[32],
  Float:r_exp
};
#if BNm_Event == 1
enum _:easter_rewards
{
  Eggname[32],
};
new const EasterReward[][easter_rewards] =
{
  {"Ölés"},
  {"Dollár"},
  {"EXP"},
  {"Lassítás"},
  {"Drog"},
  {"Gyorsítás"}
};
#endif
new const RankInfo[][level_Properties] =
{
  {"Kritikus helyzet"},
  {"Kadét"},
  {"Terapeutás Player", 50.00},
  {"Adekszeretoje", 100.00},
  {"Himringyo", 200.00},
  {"SZIPUUUS", 400.00},
  {"SexyBaby", 800.00},
  {"Nova Ura", 1600.00},
  {"Sipii Élettársa", 3200.00},
  {"Hadnagy", 6400.00},
  {"Búzaaa", 12800.00},
  {"Vezérezredes", 25600.00},
  {"Pusztító", 51200.00},
  {"A RETTENTHETETLEN", 102400.00}
};

#if BNm_WeaponMenu == 1
enum _:TEAMS {T, CT};
new g_Awps[TEAMS];
new g_AwpCanAdd = 0;
#endif
new String[512], StringHud[512], StringMotd[1536];
new MaxPlayerInServer;

#if BNm_Event == 1
new g_iMsgSetFOV;
#endif

public plugin_init()
{
  register_impulse(201, "MainMenu");
  register_plugin(PLUGIN, VERSION, AUTHOR);

  #if BNm_Event == 1
  g_iMsgSetFOV = get_user_msgid("SetFOV");
  #endif

  ServerCvars[g_costvip] = register_cvar("vip_cost", "50.00");
  ServerCvars[g_costprefix] = register_cvar("prefix_cost", "300.00");

  register_clcmd("getword", "checkword")
  #if BNm_ResetScore == 1
  register_clcmd("say /rs", "cmdResetScore");
  register_clcmd("say !rs", "cmdResetScore");
  register_clcmd("say @rs", "cmdResetScore");
  #endif

  register_clcmd("chatprefixbuy", "get_Prefix");

  register_clcmd("say /menu", "MainMenu");
  register_clcmd("say /skin", "MainMenu");
  register_clcmd("say /sms", "SMSMotd", ADMIN_IMMUNITY);

  #if BNm_Event == 1
  register_clcmd("say /tojas", "teszttojas");
  register_clcmd("say /addtojas", "GiveEggs");
  #endif

  #if BNm_NYJatek == 1
  register_clcmd("FirstPrize", "get_FirstPrize", ADMIN_IMMUNITY)
  register_clcmd("FirstPrizePhoto", "get_FirstPrizePhoto", ADMIN_IMMUNITY)
  register_clcmd("SecondPrize", "get_SecondPrize", ADMIN_IMMUNITY)
  register_clcmd("SecondPrizePhoto", "get_SecondPrizePhoto", ADMIN_IMMUNITY)
  register_clcmd("ThirdPrize", "get_ThirdPrize", ADMIN_IMMUNITY)
  register_clcmd("ThirdPrizePhoto", "get_ThirdPrizePhoto", ADMIN_IMMUNITY)
  

  register_clcmd("say /nymenu", "PrizeGameMenu");
  register_clcmd("getPrizeGameTime", "get_TimePrizeGame");
  #endif

  #if BNm_WeaponMenu == 1
  register_clcmd("say /guns", "WeaponMenu");
  register_clcmd("say /fegyo", "WeaponMenu");
  register_clcmd("say /fegyver", "WeaponMenu");
  #endif

  #if BNm_Fragrace == 1
  register_clcmd("say /fragmenu", "FragMenu")
  register_clcmd("say /kills", "FragKillViewer")

  register_clcmd("START_TIME", "loadStart");
  register_clcmd("END_TIME", "loadEnd");
  register_clcmd("INDOK", "reset_kuld");
  #endif

  register_concmd("give_kills", "CmdGiveKills", _, "<accountid> <tipus> <mennyiseg>");
  register_concmd("remove_kills", "CmdGetKills", _, "<accountid> <tipus> <mennyiseg>");
  register_concmd("change_money", "cmdAddorRemoveDollar", _, "<accountid> <mennyiseg> <0/1>") 
  register_concmd("set_prefix", "cmdSetPrefix", _, "<accountid> <prefixnev>")
  register_concmd("remove_prefix", "cmdRemovePrefix", _, "<accountid>")
  #if BNm_Advert == 1
  register_concmd("add_advert", "cmdAddAdvert", _, "<message>");
  register_concmd("remove_advert", "cmdRemoveAdvert", _, "<Advert id>");
  register_concmd("list_advert", "cmdListAdvert", _, "<list>");
  #endif
  register_concmd("add_vip", "cmdGiveVip", _, "<accountid> <ido(napban)>");
  register_concmd("remove_vip", "cmdRemoveVip", _, "<accountid>");
  register_concmd("give_admin", "CmdSetAdmin", _, "<#id> <jog> | <1 Fejleszto> <2 Tulaj> <3 SzuperAdmin> <2 FoAdmin> <5 Admin>");

  register_event("DeathMsg", "WhenDie", "a");
  register_event("Damage", "TakeDamage", "be", "2!0", "3=0", "4!0" );

  RegisterHam(Ham_Spawn,"player","PlayerSpawn", 1);

  #if BNm_WeaponMenu == 1
  RegisterHam(Ham_Spawn,"player","WeaponMenu", 1);
  #endif

  RegisterHam(Ham_Item_Deploy, "weapon_knife", "ChangeWeapon", 1);
  RegisterHam(Ham_Item_Deploy, "weapon_ak47", "ChangeWeapon", 1);
  RegisterHam(Ham_Item_Deploy, "weapon_m4a1", "ChangeWeapon", 1);
  RegisterHam(Ham_Item_Deploy, "weapon_awp", "ChangeWeapon", 1);
  RegisterHam(Ham_Item_Deploy, "weapon_deagle", "ChangeWeapon", 1);

  register_clcmd("say", "cmdSayHookAll")
  register_clcmd("say_team", "cmdSayHookTeam")
  register_plugin("Black Night mod", "1.0", "Adek")

  #if BNm_Advert == 1
  set_task(60.0, "Announcment",_,_,_,"b");
  #endif
  set_task(0.1, "OnMapStart",_,_,_,"c");

  #if BNm_TypeWord == 1
  set_task(75.0, "TypeWord",_,_,_,"b");
  #endif
  set_task(0.8, "Check",_,_,_,"b");

  register_event("HLTV", "NewRoundStart", "a", "1=0", "2=0");
  // Add your code here...
  MaxPlayerInServer = get_maxplayers();
}
public plugin_precache()
{
    #if BNm_Advert == 1
    g_Advert = ArrayCreate(256);
    #endif
    
    for(new i; i < WeaponKnifeSize; i++) precache_model(WeaponKnife[i][model]);
    for(new i; i < WeaponAKSize; i++) precache_model(WeaponAK[i][model]);
    for(new i; i < WeaponM4A1Size; i++) precache_model(WeaponM4A1[i][model]);  
    for(new i; i < WeaponAWPSize; i++) precache_model(WeaponAWP[i][model]);
    for(new i; i < WeaponDeagleSize; i++) precache_model(WeaponDeagle[i][model]);

    RegisterHam(Ham_Spawn,"func_buyzone","buyZoneSpawn") 
}

#if BNm_Includes == 1
public plugin_natives()
{
  register_native("get_user_dollar","native_get_user_dollar",1);
  register_native("set_user_dollar","native_set_user_dollar",1);
  register_native("add_user_egg", "native_add_user_egg",1);
}
public native_add_user_egg(index, eggIndex)
{
  Easter_Event[index][eggIndex]++;
}
public Float:native_get_user_dollar(index)
{
	return Player_Info[index][money];
}
public Float:native_set_user_dollar(index,Float:amount)
{
	Player_Info[index][money]=amount;
}
#endif
public Set_Permissions(id)
{
	new Flags;
	Flags = read_flags(AdminPermissions[Player_Info[id][ad_level]][1]);
	set_user_flags(id, Flags);
}
public CmdSetAdmin(id, level, cid)
{
  if(!str_to_num(AdminPermissions[Player_Info[id][ad_level]][2])){
    client_print(id, print_console, "Nincs elérhetőseg ehhez a parancshoz!");
    return PLUGIN_HANDLED;
  }

  new Arg1[32], Arg2[32], Arg_Int[2], iId;

  read_argv(1, Arg1, charsmax(Arg1));
  read_argv(2, Arg2, charsmax(Arg2));

  Arg_Int[0] = str_to_num(Arg1);
  Arg_Int[1] = str_to_num(Arg2);

  if(Arg_Int[0] < 1 || Arg_Int[1] >= sizeof(AdminPermissions))
    return PLUGIN_HANDLED;	

  for(new i = 1; i < 33; i++)
  {
    if(Player_Info[i][a_Id] == Arg_Int[0])
    {
      Player_Info[i][ad_level] = Arg_Int[1];
      Set_Permissions(i);
      iId = i;
    }
  }
  client_print_color(0,print_team_default, "^3%s ^4%s %s ^1jogott kapott!", Prefix, Player_Info[iId][PlayerName], AdminPermissions[Arg_Int[1]][0]);

  return PLUGIN_HANDLED;
}
public SMSMotd(id)
{
  new jatekfizetes[50] = "https://jatekfizetes.hu";
  new len;
  len += formatex(StringMotd[len], charsmax(StringMotd) - len, "<HTML><HEAD><meta charset=^"UTF-8^"><TITLE>SMS</TITLE></HEAD>");
  len += formatex(StringMotd[len], charsmax(StringMotd) - len, "<BODY><center>");
  len += formatex(StringMotd[len], charsmax(StringMotd) - len, "<h1><center>Black Night Támogatás</center></h1><h2>Csomagok:</h2>")
  len += formatex(StringMotd[len], charsmax(StringMotd) - len, "Elkündendő üzenet:<b><h1> SYN marosi %i</h1></b><br><br>", Player_Info[id][a_Id])
  len += formatex(StringMotd[len], charsmax(StringMotd) - len, "<h2>FONTOS hogy a SYN, marosi és a szám között legyen egy-egy space!</h2><br><br>")
  len += formatex(StringMotd[len], charsmax(StringMotd) - len, "7 nap Prémium V.I.P - 330FT - Telefonszám:0690642030<br>")
  len += formatex(StringMotd[len], charsmax(StringMotd) - len, "15 nap Prémium V.I.P - 508FT - Telefonszám:0690643646<br>")
  len += formatex(StringMotd[len], charsmax(StringMotd) - len, "30 nap Prémium V.I.P - 1016FT - Telefonszám:0690888355<br>")
  len += formatex(StringMotd[len], charsmax(StringMotd) - len, "60 nap Prémium V.I.P - 2032FT - Telefonszám:0690888466<br>")
  len += formatex(StringMotd[len], charsmax(StringMotd) - len, "120 nap Prémium V.I.P - 5080FT - Telefonszám:0690649099<br><br>")
  len += formatex(StringMotd[len], charsmax(StringMotd) - len, "* <h1>Az elrontott SMS-ekért felelősséget nem vállalunk!</h1><br>")
  len += formatex(StringMotd[len], charsmax(StringMotd) - len, "* <h1>Csak a Prémium V.I.P lejárata után vásárold újra, mert nem hosszabítja!!!</h1><br>")
  len += formatex(StringMotd[len], charsmax(StringMotd) - len, "A feltüntetett összegek bruttó árakat tartalmaznak! (Végleges árak)<br>");
  len += formatex(StringMotd[len], charsmax(StringMotd) - len, "Technikai háttér:<br>Az Emelt Díjas SMS Rendszert a <a href=^"%s^">https://jatekfizetes.hu</a> (Pannora Kft. ) biztosítja.<br>A szolgáltatás csak a telefonszámlát fizető, felelős személy beleegyezésével használható.<br>Hiba esetén az ügyfélszolgálat elérhető: +3630 469-4278 (H-P: 9-16:30-ig), e-mail: info@jatekfizetes.hu</BODY></HTML>", jatekfizetes)
  show_motd(id, StringMotd, "SMS");
}
public Load_Data_SMS(Table_Name[], ForwardMetod[])
{	
	new Query[512];
	new Data[1];
	formatex(Query, charsmax(Query), "SELECT * FROM `%s`;",Table_Name);
	SQL_ThreadQuery(g_SqlTuple, ForwardMetod, Query, Data, 1);
}
  public QuerySelectSMS(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime)
  {
  if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED)
  {
  log_amx("%s", Error);
  return;
  }
  else
  {
  if(SQL_NumRows(Query) > 0) 
  {
  new iTime;
  iTime = parse_time("0", "%S",_);
  new Temptarifa, Tempuserid, tempQuery[512], TempActive;
  while(SQL_MoreResults(Query))
  {
  Tempuserid = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "comment"));
  TempActive = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Active"));
  for(new i; i < 33; i++)
  {
  if(Tempuserid == Player_Info[i][a_Id] && TempActive  == 1)
  {
    Temptarifa = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "amount"));
    if(Temptarifa == 150)
    {
      Player_Info[i][ad_EndTime] = parse_time("7", "%d",iTime);
      Player_Info[i][ad_level] = 6;
    }
      else if(Temptarifa == 240)
      {
        Player_Info[i][ad_EndTime] = parse_time("15", "%d",iTime);
        Player_Info[i][ad_level] = 6;
      }    
        else if(Temptarifa == 480)
        {
          Player_Info[i][ad_EndTime] = parse_time("30", "%d",iTime);
          Player_Info[i][ad_level] = 6;
        }       
          else if(Temptarifa == 960)
          {
            Player_Info[i][ad_EndTime] = parse_time("60", "%d",iTime);
            Player_Info[i][ad_level] = 6;
          }
            else if(Temptarifa == 2400)
            {
              Player_Info[i][ad_EndTime] = parse_time("120", "%d",iTime);
              Player_Info[i][ad_level] = 6;
            }
    Set_Permissions(i);                     
    formatex(tempQuery, charsmax(tempQuery), "INSERT INTO `smslog` (`userid`, `tarifa`, `Active`) VALUES (%i, %i, 0);", Tempuserid,Temptarifa);
    SQL_ThreadQuery(g_SqlTuple, "QuerySetData", tempQuery);
    formatex(tempQuery, charsmax(tempQuery), "DELETE FROM `__syn_payments` WHERE `comment` = %d;", Tempuserid);
    SQL_ThreadQuery(g_SqlTuple, "QuerySetData", tempQuery);
    }
  }
  SQL_NextRow(Query);
  }
  }
  }
  }
#if BNm_Demo == 1
public DemoRecord(id)
{
    new iTime[9], iDate[11], iDateAndTime[32];
    get_time("%H:%M:%S", iTime, 8 );
    get_time("%Y/%m/%d", iDate, 11);
    formatex(iDateAndTime, 31, "%s %s", iDate, iTime);

    client_cmd(id, "stop; record ^"%s.dem^"", DemoName);
    client_print_color(id, print_team_default, "^3%s ^1Demó elindítva ^4%s.dem ^1néven!", Prefix, DemoName);
}
#endif
bool:RegexTester(id, m_string[], RegexText[], NoMatchText[])
{
  new ret, error[128];
  new Regex:regex_handle = regex_match(m_string, RegexText, ret, error, charsmax(error));
  
  switch(regex_handle)
  {
    case REGEX_MATCH_FAIL:
    {
      log_amx("---REGEX MATCH FAIL---");
      log_amx("ERROR:");
      log_amx(error);
      log_amx("RET:");
      // There was an error matching against the pattern
      // Check the {error} variable for message, and {ret} for error code
    }
    case REGEX_PATTERN_FAIL:
    {
      log_amx("---REGEX TATTERN ERROR---");
      log_amx("ERROR:");
      log_amx(error);
      log_amx("RET:");
      // There is an error in your pattern
      // Check the {error} variable for message, and {ret} for error code
    }
    case REGEX_NO_MATCH:
    {
      client_print_color(id, print_team_default, "^4%s ^1%s",Prefix, NoMatchText);
    }
    default:
    {
      // Matched m_string {ret} times
      regex_free(regex_handle);
      return true;
      // Free the Regex handle
    }
  }
  regex_free(regex_handle);
  return false;
}
#if BNm_TypeWord == 1
public checkword(id)
{
    new Arg[7];
    read_argv(1, Arg, charsmax(Arg));
    new Float:iReward;
    if(equali(SearchWord[SearchedWord], Arg, 7) && SearchWord[isWord] != 0)
    {
      iReward = random_float(1.00, 3.00);
      client_print_color(0, print_team_default, "^3%s ^1Sikeres találat, ^3gratulálunk^1: ^4%s^1, nyereménye:^4%3.2f$", Prefix, Player_Info[id][PlayerName], iReward);
      SearchWord[isWord] = 0;
      SearchWord[SearchedWord] = EOS;
      Player_Info[id][money] += iReward;
    }
    MainMenu(id);
}
public TypeWord()
{
  if(PlayersNow > 6)
  {
    SearchWord[isWord] = 1;
    new Word[7], iNum, hashedWord[7];
    iNum = random_num(1,100)
    num_to_str(iNum, Word, charsmax(Word));
    hash_string(Word, Hash_Md5, hashedWord, charsmax(hashedWord));

    copy(SearchWord[SearchedWord], 7, hashedWord)
    client_print_color(0, print_team_default, "^3%s ^1Gyorsíró event, a szó: ^4%s", Prefix, hashedWord);
  }
}
#endif
#if BNm_Fragrace == 1
public loadStart(id)
{
	FragRacers[id][StartTime] = EOS;
	read_args(FragInfo[StartTime], charsmax(FragInfo[StartTime]))
	remove_quotes(FragInfo[StartTime])
 
	if(contain(FragInfo[StartTime], ":") != -1)
	{
		if((strlen(FragInfo[StartTime]) != 5))
		{
			client_print_color(id, print_team_default, "^4%s^1 Hibás idő formátum!", Prefix);
			FragRacers[id][StartTime][id] = EOS;
			return PLUGIN_HANDLED;
		}
	}
	else
	{
		client_print_color(id, print_team_default, "^4%s^1 Hibás idő formátum!", Prefix);
		FragRacers[id][StartTime] = EOS;
		return PLUGIN_HANDLED;
	}
 
	FragMenu(id)
	return PLUGIN_HANDLED;
}
public loadEnd(id)
{
	FragRacers[id][EndTime] = EOS;
	read_args(FragInfo[EndTime], charsmax(FragInfo[EndTime]));
	remove_quotes(FragInfo[EndTime]);
 
	if(contain(FragInfo[EndTime], ":") != -1)
	{
		if((strlen(FragInfo[EndTime]) != 5))
		{
			client_print_color(id, print_team_default, "^4%s^1 Hibás idő formátum!", Prefix);
			FragRacers[id][EndTime] = EOS;
			return PLUGIN_HANDLED;
		}
	}
	else
	{
		client_print_color(id, print_team_default, "^4%s^1 Hibás idő formátum!", Prefix)
		FragRacers[id][EndTime] = EOS;
		return PLUGIN_HANDLED
	}
 
	FragMenu(id);
	return PLUGIN_HANDLED
}
#endif
public PlayerHud(id)
{
  new iWatch, wid;
  if(is_user_alive(id))
    iWatch = id;
  else
    iWatch = entity_get_int(id, EV_INT_iuser2);
  
  if(Player_Settings[id][s_lefthud])
  {
    new iSeconds, iMinutes, iHours, iDays, iLen;
    iSeconds = Player_Info[iWatch][PlayTime] + get_user_time(iWatch);
    iMinutes = iSeconds / 60;
    iHours = iMinutes / 60;
    iSeconds = iSeconds - iMinutes * 60;
    iMinutes = iMinutes - iHours * 60;
    iDays = iHours / 24;
    iHours = iHours - (iDays * 24);

    
    iLen = formatex(String[iLen], charsmax(String)-iLen, "Név: %s(#%i)!^n[ Dollár: %.2f$ ]^n[ EXP: %.3f ]",Player_Info[iWatch][PlayerName], Player_Info[iWatch][a_Id], Player_Info[iWatch][money], Player_Info[iWatch][l_exp]);
    #if BNm_NYJatek == 1
    if(ServerPrizeGame[isPrizeGoing])
    iLen += formatex(String[iLen], charsmax(String)-iLen,"^n[ NyereményJáték Ölések:%i ]", PrizeGame[iWatch][kills]);
    #endif
    iLen += formatex(String[iLen], charsmax(String)-iLen, "^n[ Játszott idő: %i Nap %i Óra %i Perc ]", iDays, iHours, iMinutes);
    set_hudmessage(255, 255, 255, 0.01, 0.15, 0, 6.0, 0.9, 0.0, 0.0, 1);
    replace_all(String, 511, ".", ",");
    show_hudmessage(id, String);
  }
  if(Player_Settings[id][s_bottomhud])
  {
    if(is_user_alive(iWatch) && !is_user_bot(iWatch))
    wid = cs_get_user_weapon(iWatch);
    new Len;
    switch(wid)
    {
      case CSW_AK47:
      {
        Len = formatex(StringHud[Len], charsmax(StringHud)- Len, "%s", WeaponAK[Player_Info[iWatch][SelectedAK]][name]);
        Len += formatex(StringHud[Len], charsmax(StringHud)- Len, "^nÖlések:%i", AKSkinKills[iWatch][Player_Info[iWatch][SelectedAK]][killsinweapon]);
      }
      case CSW_M4A1:
      {
        Len = formatex(StringHud[Len], charsmax(StringHud)- Len, "%s", WeaponM4A1[Player_Info[iWatch][SelectedM4A1]][name]);
        Len += formatex(StringHud[Len], charsmax(StringHud)- Len, "^nÖlések:%i", M4A1SkinKills[iWatch][Player_Info[iWatch][SelectedM4A1]][killsinweapon]);
      }
      case CSW_AWP:
      {
        Len = formatex(StringHud[Len], charsmax(StringHud)- Len, "%s", WeaponAWP[Player_Info[iWatch][SelectedAWP]][name]);
        Len += formatex(StringHud[Len], charsmax(StringHud)- Len, "^nÖlések:%i", AWPSkinKills[iWatch][Player_Info[iWatch][SelectedAWP]][killsinweapon]);
      }
      case CSW_DEAGLE:
      {
        Len = formatex(StringHud[Len], charsmax(StringHud)- Len, "%s", WeaponDeagle[Player_Info[iWatch][SelectedDEAGLE]][name]);
        Len += formatex(StringHud[Len], charsmax(StringHud)- Len, "^nÖlések:%i", DeagleSkinKills[iWatch][Player_Info[iWatch][SelectedDEAGLE]][killsinweapon]);
      }
      case CSW_KNIFE:
      {
        Len = formatex(StringHud[Len], charsmax(StringHud)- Len, "%s", WeaponKnife[Player_Info[iWatch][SelectedKnife]][name]);
        Len += formatex(StringHud[Len], charsmax(StringHud)- Len, "^nÖlések:%i", KnifeSkinKills[iWatch][Player_Info[iWatch][SelectedKnife]][killsinweapon]);
      }
      case CSW_FAMAS:
      {
        Len = formatex(StringHud[Len], charsmax(StringHud)- Len, "Default FAMAS");
      }
      case CSW_MP5NAVY:
      {
        Len = formatex(StringHud[Len], charsmax(StringHud)- Len, "Default MP5");
      }
      case CSW_SCOUT:
      {
        Len = formatex(StringHud[Len], charsmax(StringHud)- Len, "Default XM1014");
      }
      case CSW_M3:
      {
        Len = formatex(StringHud[Len], charsmax(StringHud)- Len, "Default M3");
      }
      case CSW_SMOKEGRENADE:
      {
        Len = formatex(StringHud[Len], charsmax(StringHud)- Len, "Smoke Grenade");
      }
      case CSW_HEGRENADE:
      {
        Len = formatex(StringHud[Len], charsmax(StringHud)- Len, "HE Grenade");
      }
      case CSW_FLASHBANG:
      {
        Len = formatex(StringHud[Len], charsmax(StringHud)- Len, "FLASHBANG");
      }
      case CSW_C4:
      {
        Len = formatex(StringHud[Len], charsmax(StringHud)- Len, "C4");
      }
    }
    set_hudmessage(255, 255, 255, -1.0, 0.72, 0, 0.0, 0.9, 0.0, 0.0, 2);
    show_hudmessage(id, StringHud);
  }
}
public Check()
{
  new p[32],n;
  get_players(p,n,"ch");
  for(new i=0;i<n;i++)
  {
      new id = p[i];
      PlayerHud(id);
  }
} 
#if BNm_Fragrace == 1
public FragMenu(id)
{
  if(!(get_user_flags(id) & ADMIN_CFG)) return PLUGIN_HANDLED

  new szMenu[121],Time[10], tempstart[32], tempend[32];
  get_time("%H:%M:%S", Time, charsmax(Time));

  formatex(szMenu, charsmax(szMenu), "\r%s \wVezérlőpult^n\dIdő: %s", Prefix, Time)
  new menu = menu_create(szMenu, "FragMenu_handler")
  copy(tempstart, 32, FragRacers[id][StartTime]);
  copy(tempend, 32, FragRacers[id][EndTime]);

  if(!FragInfo[SwitchFrag]) formatex(szMenu, charsmax(szMenu), "Kezdési Idő: \y[%s]", FragRacers[id][StartTime] == EOS ? "pl. 10:00" : tempstart)
  else formatex(szMenu, charsmax(szMenu), "A fragverseny elindúlt \y[%s-%s]^n", FragInfo[StartTime], FragInfo[EndTime])
  menu_additem(menu, szMenu, "0", 0)

  if(!FragInfo[SwitchFrag]) formatex(szMenu, charsmax(szMenu), "Végetérési Idő: \y[%s]^n", FragRacers[id][EndTime] == EOS ? "pl. 10:30" : tempend)
  else formatex(szMenu, charsmax(szMenu), "\rBeállitísok")
  menu_additem(menu, szMenu, "1", 0)

  if(FragInfo[EndTime] != EOS && FragInfo[StartTime] != EOS && !FragInfo[SwitchFrag]) menu_additem(menu, "\rVerseny elindítása!", "2", 0)

  menu_display(id, menu, 0)
  return PLUGIN_CONTINUE
}
public FragMenu_handler(id, menu, item)
{
	if(item == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_CONTINUE;
	}
 
	switch(item)
	{
		case 0:
		{
			if(!FragInfo[SwitchFrag]) client_cmd(id, "messagemode START_TIME")
			FragMenu(id)
		}
		case 1:
		{
			if(!FragInfo[SwitchFrag])
			{
				client_cmd(id, "messagemode END_TIME")
				FragMenu(id)
			}
			else FragSettings(id)
		}
		case 2:
		{
			FragInfo[FirstTask] = true;
			FragTimeChecker(id);
			client_print_color(id, print_team_default, "^4%s^1 A számláló elindúlt!", Prefix);
		}
	}
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}
public FragSettings(id) 
{
	new szMenu[121]
	format(szMenu, charsmax(szMenu), "\r%s \wBeállítások", Prefix)
	new menu = menu_create(szMenu, "FragSettings_handler");
 
	menu_additem(menu, "Verseny Leállítása", "0",0)
	menu_additem(menu, "Ölés Nullázása", "1",0)
	menu_additem(menu, "Játékosok Ölései", "2",0)
 
	menu_display(id, menu, 0);
}
public FragSettings_handler(id, menu, item)
{
	if(item == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_CONTINUE;
	}
 
	switch(item)
	{
		case 0: FragSelect(id)
		case 1: FragReseter(id)
		case 2: FragKillViewer(id)
	}
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}
public FragReseter(id) 
{
	new cim[121], players[32], pnum, GameName[32], szTempid[10]
	get_players(players, pnum)
 
	format(cim, charsmax(cim), "\yJátékos Ölésének nullázása!")
	new menu = menu_create(cim, "FragReseter_handler" )
 
	for( new i; i<pnum; i++ )
	{
		get_user_name(players[i], GameName, charsmax(GameName))
		num_to_str(players[i], szTempid, charsmax(szTempid))
		menu_additem(menu, GameName, szTempid, 0)
	}
	menu_display(id, menu, 0)
}
public FragReseter_handler(id, menu, item)
{
	if( item == MENU_EXIT ) {
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	new data[6], szName[64], access, callback;
	menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
 
	FragInfo[x_tempid] = str_to_num(data);
	client_cmd(id, "messagemode INDOK");
 
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}
public reset_kuld(id)
{
	new Msg[121], GameName[32]
	read_args(Msg, charsmax(Msg))
	remove_quotes(Msg)
	get_user_name(FragInfo[x_tempid], GameName, charsmax(GameName))
 
	FragRacers[FragInfo[x_tempid]][kills] = 0
	client_print_color(0, print_team_default, "^4%s^3 %s^1 Ölései nullázva lettek! Indok: ^4%s", Prefix, GameName, Msg)
 
	return PLUGIN_HANDLED;
}
public FragSelect(id)
{
	new menu = menu_create("\rBiztosan leakarod állítani a fragversenyt?", "FragSelect_handler");	
 
	menu_additem(menu, "Igen!", "0",0)
	menu_additem(menu, "Nem!", "1",0)
 
	menu_display(id, menu, 0);
}
public FragKillViewer(id)
{	
	new szMenu[121], players[32], szTemp[10], pnum;
	get_players(players, pnum)
 
	format(szMenu, charsmax(szMenu), "\r%s \wJátékosok ölései", Prefix)
	new menu = menu_create(szMenu, "FragKillViewer_handler")
 
	for(new i; i < pnum; i++)
	{
		formatex(szMenu, charsmax(szMenu),"%s \d[\yÖLéS:\r %i\d]", Player_Info[i][PlayerName], FragRacers[players[i]][kills])
		num_to_str(players[i], szTemp, charsmax(szTemp))
		menu_additem(menu, szMenu, szTemp)
	}
 
	menu_display(id, menu);
}
public FragKillViewer_handler(id,menu, item)
{
	if(item == MENU_EXIT)
	{
		menu_destroy(menu)
		return PLUGIN_CONTINUE
	}
	FragKillViewer(id)
	return PLUGIN_CONTINUE
}
public select_handler(id, menu, item)
{
	if( item == MENU_EXIT )
	{
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	switch(item)
	{
		case 0:
		{
			FragInfo[FirstTask] = false
			FragInfo[SwitchFrag] = false
			client_print_color(0, print_team_default, "^4%s ^1Egy ^3ADMIN ^1leállította a fragversenyt!", Prefix)
		}
		case 1: FragMenu(id)
	}
	menu_destroy(menu)
	return PLUGIN_HANDLED
}
#endif
public get_Prefix(id)
{
  new Arg1[32];
  read_argv(1, Arg1, charsmax(Arg1));
  if(!(RegexTester(id, Arg1, "^^[A-Za-z0-9öüóőúéáűíÖÜÓŐÚÉÁŰÍ <>=\/_.:!\?\*\[\]+,()\-]{1,16}+$", "A beírt szöveg csak magyar abc-t, számok és ^"<>=/_.!?*[]+,()-^"-ket tartalmazhatja!")) && Player_Info[id][money] >= get_pcvar_float(ServerCvars[g_costprefix]))
  {
    MainMenu(id);
    return;
  }
  copy(Player_Info[id][ChatPrefix], 32, Arg1)
  Player_Info[id][havePrefix] = 1;
  Player_Info[id][money] -= get_pcvar_float(ServerCvars[g_costprefix]);
  client_print_color(id, print_team_default, "^3%s ^1Sikeres ChatPrefix vásárlás!", Prefix)
}
#if BNm_NYJatek == 1
public get_FirstPrize(id)
{
  new Arg1[64];
  read_argv(1, Arg1, charsmax(Arg1));

  copy(ServerPrizeGame[FirstPrize], 64, Arg1)
}
public get_FirstPrizePhoto(id)
{
  new Arg2[64];
  read_argv(1, Arg2, charsmax(Arg2));

  copy(ServerPrizeGame[FirstPrizePhoto], 64, Arg2)
}
public get_SecondPrize(id)
{
  new Arg3[64];
  read_argv(1, Arg3, charsmax(Arg3));

  copy(ServerPrizeGame[SecondPrize], 64, Arg3)
}
public get_SecondPrizePhoto(id)
{
  new Arg4[64];
  read_argv(1, Arg4, charsmax(Arg4));

  copy(ServerPrizeGame[SecondPrizePhoto], 64, Arg4)
}
public get_ThirdPrize(id)
{
  new Arg5[64];
  read_argv(1, Arg5, charsmax(Arg5));

  copy(ServerPrizeGame[ThirdPrize], 64, Arg5);
}
public get_ThirdPrizePhoto(id)
{
  new Arg6[64];
  read_argv(1, Arg6, charsmax(Arg6));

  copy(ServerPrizeGame[ThirdPrizePhoto], 64, Arg6);
}
public get_TimePrizeGame(id)
{
  if(!(get_user_flags(id) & ADMIN_IMMUNITY))
  {
    client_print_color(id, print_team_default, "Szép próbálkozás!")
    return;
  }
  new Arg7[32];
  read_argv(1, Arg7, charsmax(Arg7));

  copy(ServerPrizeGame[TypedTime], 32, Arg7)
}
public PrizeGameMenu(id)
{
  if(!(get_user_flags(id) & ADMIN_IMMUNITY))
  {
    client_print_color(id, print_team_default, "Szép próbálkozás!")
    return;
  }
  formatex(String, charsmax(String), "%s \yNyereményjáték Menü", Prefix);
  new menu = menu_create(String , "PrizeGameMenu_h");

  if(ServerPrizeGame[FirstPrize] == EOS)
    formatex(String, charsmax(String), "Első helyezés nyereménye")
  else
    formatex(String, charsmax(String), "1.Nyeremény:%s", ServerPrizeGame[FirstPrize])
  menu_additem(menu, String, "0", 0);

  formatex(String, charsmax(String), "Nyeremény képe");
  menu_additem(menu, String, "1", 0);

  if(ServerPrizeGame[SecondPrize] == EOS)
    formatex(String, charsmax(String), "Második helyezett nyereménye");
  else
    formatex(String, charsmax(String), "2.Nyeremény:%s", ServerPrizeGame[SecondPrize])
  menu_additem(menu, String, "2", 0);

  formatex(String, charsmax(String), "Nyeremény képe");
  menu_additem(menu, String, "3", 0);

  if(ServerPrizeGame[ThirdPrize] == EOS)
    formatex(String, charsmax(String), "Harmadik helyezett nyereménye");
  else
    formatex(String, charsmax(String), "3.Nyeremény:%s", ServerPrizeGame[ThirdPrize])
  menu_additem(menu, String, "4", 0);

  formatex(String, charsmax(String), "Nyeremény képe");
  menu_additem(menu, String, "5", 0);

  formatex(String, charsmax(String), "Idő megadása");
  menu_additem(menu, String, "6", 0)

  formatex(String, charsmax(String), "Indítás");
  menu_additem(menu, String, "7", 0)
  
  menu_display(id, menu)
}
public PrizeGameMenu_h(id,menu,item)
{
  if( item == MENU_EXIT )
  {
    if(is_user_connected(id))
      menu_destroy(menu);
    return;
  }
  switch(item)
  {
    case 0:client_cmd(id, "messagemode FirstPrize");
    case 1:client_cmd(id, "messagemode FirstPrizePhoto");
    case 2:client_cmd(id, "messagemode SecondPrize");
    case 3:client_cmd(id, "messagemode SecondPrizePhoto");
    case 4:client_cmd(id, "messagemode ThirdPrize");
    case 5:client_cmd(id, "messagemode ThirdPrizePhoto");
    case 6:client_cmd(id, "messagemode getPrizeGameTime");
    case 7:
    {
    ServerPrizeGame[isPrizeGoing] = 1;

    new iTime;
    iTime = parse_time("0", "%S",_);
    ServerPrizeGame[p_EndTime] = parse_time(ServerPrizeGame[TypedTime], "%d",iTime);
    new text[1024];
    formatex(text, charsmax(text), "INSERT INTO `PrizeGame` (`FirstPrize`,`SecondPrize`,`ThirdPrize`,`p_EndTime`,`FirstPrizePhoto`,`SecondPrizePhoto`,`ThirdPrizePhoto`,`isPrizeGoing`) VALUES (^"%s^",^"%s^",^"%s^",^"%i^",^"%s^",^"%s^",^"%s^", ^"%i^");", ServerPrizeGame[FirstPrize], ServerPrizeGame[SecondPrize], ServerPrizeGame[ThirdPrize], ServerPrizeGame[p_EndTime], ServerPrizeGame[FirstPrizePhoto], ServerPrizeGame[SecondPrizePhoto], ServerPrizeGame[ThirdPrizePhoto], ServerPrizeGame[isPrizeGoing]);
    SQL_ThreadQuery(g_SqlTuple, "QuerySetData", text);
    }
  }
  menu_destroy(menu);
  set_task(5.00,"PrizeGameMenu", id)
}
public testDate(id)
{
  new iTime, iTime2;
  iTime = parse_time("0", "%S",_);
  iTime2 = parse_time("44", "%d", iTime)
  client_print_color(id, print_team_default, "%i", iTime2)
  new iStringTime[32], iStringTimeEnd[32];
  format_time(iStringTime, charsmax(iStringTime), "%Y/%m/%d - %H:%M:%S", iTime);
  format_time(iStringTimeEnd, charsmax(iStringTimeEnd), "%Y/%m/%d - %H:%M:%S", iTime2);
  client_print_color(id, print_team_default, "Tesztidő Kezdés: %s", iStringTime)
  client_print_color(id, print_team_default, "Tesztidő Vége: %s", iStringTimeEnd)
}
#endif
#if BNm_Fragrace == 1
public FragTimeChecker(id)
{
	if(FragInfo[FirstTask]) set_task(0.5, "FragTimeChecker",id)
 
	new Time[10], SecSReset[10], SecEReset[10]
	get_time("%H:%M:%S", Time, charsmax(Time))
	formatex(SecSReset, charsmax(SecSReset), "%s:00", FragInfo[StartTime])
	formatex(SecEReset, charsmax(SecEReset), "%s:00", FragInfo[EndTime])
 
	if(!FragInfo[SwitchFrag])
	{
		set_hudmessage(0, 255, 0, -1.0, 0.15, 0, 6.0, 0.5, 0.1, 0.2, -1)
		show_hudmessage(0, view_hud[6], FragInfo[StartTime])
	}
	else SeeBestPlayers(id)
 
	if(equal(Time, SecSReset))
	{
		server_cmd("sv_restart 1")
		FragInfo[SwitchFrag] = true
	}
	if(equal(Time, SecEReset))
	{
		FragInfo[FirstTask] = false
		FragInfo[SwitchFrag] = false
		SeeBestPlayers(id)
	}
 
	return PLUGIN_CONTINUE;	
}
public SeeBestPlayers(id)
{
	new Players[32], Num;
	get_players(Players, Num);
	SortCustom1D(Players, Num, "sort_bestthree")
 
	new Top1 = Players[0]
	new Top2 = Players[1]
	new Top3 = Players[2]
 
	new TopName1[32], TopName2[32], TopName3[32]
	get_user_name(Top1, TopName1, charsmax(TopName1))
	get_user_name(Top2, TopName2, charsmax(TopName2))
	get_user_name(Top3, TopName3, charsmax(TopName3))
 
	if(!FragInfo[SwitchFrag])
	{
		set_hudmessage(0, 255, 0, -1.0, 0.10, 0, 6.0, 30.0, 0.1, 0.2, -1)
		if(Num == 1)
    {
      show_hudmessage(0, view_hud[0], TopName1)
    } 
		if(Num == 2)
    {
      show_hudmessage(0, view_hud[1], TopName1, TopName2)
    } 
		if(Num >= 3)
    {
      show_hudmessage(0, view_hud[2], TopName1, TopName2, TopName3)
    } 
	}
	else 
	{
		set_hudmessage(0, 127, 255, -1.0, 0.10, 0, 6.0, 0.5, 0.1, 0.2, -1)
		if(Num == 1) show_hudmessage(0, view_hud[3], FragInfo[StartTime], FragInfo[EndTime], TopName1, FragRacers[Top1][kills])
		if(Num == 2) show_hudmessage(0, view_hud[4], FragInfo[StartTime], FragInfo[EndTime], TopName1, FragRacers[Top1][kills], TopName2, FragRacers[Top2][kills])
		if(Num >= 3) show_hudmessage(0, view_hud[5], FragInfo[StartTime], FragInfo[EndTime], TopName1, FragRacers[Top1][kills], TopName2, FragRacers[Top2][kills], TopName3, FragRacers[Top3][kills])
	}
}
public sort_bestthree(id1, id2)
{
	if(FragRacers[id1][kills] > FragRacers[id2][kills]) return -1
	else if(FragRacers[id1][kills] < FragRacers[id2][kills]) return 1
 
	return 0
}
#endif

public Rankadd(id)
{
  new Float:m_exp, m_sizeofranks;
  m_exp = Player_Info[id][l_exp];
  m_sizeofranks = sizeof(RankInfo);

  if(m_exp < 0.00)
  copy(Player_Info[id][l_name], 31, RankInfo[0][r_name]);
  else if(m_exp > 0.00)
  {
    for(new i; i < m_sizeofranks; i++)
    {
      if(m_exp >= RankInfo[i][r_exp])
        copy(Player_Info[id][l_name], 31, RankInfo[i][r_name])
    }
  }
  else if(!(m_exp == 0.00))
  copy(Player_Info[id][l_name], 31, RankInfo[m_sizeofranks][r_name]);
}
public NewRoundStart()
{
  for(new i; i < MaxPlayerInServer; i++)
  {
    if(is_user_connected(i))
    {
      Rankadd(i);
      #if BNm_Event == 1
      if(is_user_alive(i))
        removedrug(i);
      #endif
    }
  }
  #if BNm_NYJatek == 1
  CheckPrizeTime();
  Load_DataPrize15();
  #endif
  #if BNm_WeaponMenu == 1
  if(g_Round > 3) g_Round = 0;
  g_Round++;
  g_Awps[T] = 0;
  g_Awps[CT] = 0;

  new Players[32], iNum;
  new any:m_Team;
  new t_num = 0;
  new ct_num = 0;
  get_players(Players, iNum, "ch");
  get_players(Players, PlayersNow, "ch");
  new Player;
  for (new i=0; i<iNum; i++)
  {
    Player = Players[i];
    m_Team = cs_get_user_team(Player);
    switch(m_Team)
    {
      case CS_TEAM_CT:
      {
        ct_num++;
      }
      case CS_TEAM_T:
      {
        t_num++;
      }
    }
  }
  if(t_num >= 4 && ct_num >= 4)
    g_AwpCanAdd = 1;
  else
    g_AwpCanAdd = 0;
  #endif
  Load_Data_SMS("__syn_payments", "QuerySelectSMS");
}
public OnMapStart()
{
  LoadAnnouncment();
  #if BNm_NYJatek == 1
  LoadPrizeGame();
  CheckPrizeTime();
  Load_DataPrize15();
  #endif
}
#if BNm_NYJatek == 1
public CheckPrizeTime()
{
  new iTime, iStringTime[32];
  iTime = parse_time("0", "%S",_);
  if(ServerPrizeGame[p_EndTime] < iTime && ServerPrizeGame[p_EndTime] != 0)
  {
    ServerPrizeGame[isPrizeGoing] = 0;
    ServerPrizeGame[p_EndTime] = 0;
  }
  else if(ServerPrizeGame[p_EndTime] != 0)
  {
    format_time(iStringTime, charsmax(iStringTime), "%Y/%m/%d - %H:%M:%S", ServerPrizeGame[p_EndTime]);
    client_print_color(0, print_team_default, "^3%s ^1A nyereményjátéknak:^4%s ^1lesz vége!", Prefix, iStringTime)
    ServerPrizeGame[isPrizeGoing] = 1;
  }
  for(new i; i < 33; i++)
  {
    if(Player_Info[i][ad_EndTime] < iTime && Player_Info[i][ad_EndTime] != 0)
    {
      Player_Info[i][ad_level] = 0;
      Player_Info[i][ad_EndTime] = 0;
    }
    
  }
}
#endif
public cmdGiveVip(id)
{
  if(!(get_user_flags(id) & ADMIN_IMMUNITY))
  {
    client_print_color(id, print_team_default, "Szép próbálkozás!")
    return;
  }

  new Arg[4],Arg1[11];
  read_argv(1, Arg, charsmax(Arg));

  if(Arg[0] == EOS)
  {
    client_print(id, print_console, "add_vip <accountid> <time>");
    return;
  }

  new iId = str_to_num(Arg);
  new iTime = str_to_num(Arg1);
  for(new i = 1; i < 33; i++)
  {
    if(Player_Info[i][a_Id] == iId)
    Player_Info[i][v_isVip] = 1;
    Player_Info[i][v_time] = iTime * 86400;
    
  }
}
public cmdRemoveVip(id)
{
  if(!(get_user_flags(id) & ADMIN_IMMUNITY))
  {
    client_print_color(id, print_team_default, "Szép próbálkozás!")
    return;
  }

  new Arg[4];
  read_argv(1, Arg, charsmax(Arg));

  if(Arg[0] == EOS)
  {
    client_print(id, print_console, "add_vip <accountid>");
    return;
  }

  new iId = str_to_num(Arg);
  for(new i = 1; i < 33; i++)
  {
    if(Player_Info[i][a_Id] == iId)
    Player_Info[i][v_isVip] = 0;
    Player_Info[i][v_time] = 0;
  }
}
#if BNm_Advert == 1
public cmdAddAdvert(id)
{
  if(!(get_user_flags(id) & ADMIN_IMMUNITY))
  {
    client_print_color(id, print_team_default, "Szép próbálkozás!")
    return;
  }
  new Arg[256];
  read_argv(1, Arg, charsmax(Arg));

  if(Arg[0] == EOS)
  {
    client_print(id, print_console, "add_advert <message>");
    return;
  }
  Anouncment_insert(Arg);
  ArrayPushString(g_Advert, Arg);
  g_AdvertSize++;
}

public cmdListAdvert(id)
{
  if(!(get_user_flags(id) & ADMIN_IMMUNITY))
  {
    client_print_color(id, print_team_default, "Szép próbálkozás!")
    return;
  }
  new Temp[256];
  console_print(id, "Advert list:");
  for(new i; g_AdvertSize > i;i++)
  {
    ArrayGetString(g_Advert, i, Temp, 256);
    console_print(id, "%i - %s", i, Temp);
  }
}

public cmdRemoveAdvert(id)
{

  if(!(get_user_flags(id) & ADMIN_IMMUNITY))
  {
    client_print_color(id, print_team_default, "Szép próbálkozás!")
    return;
  }
  new Arg[32];
  read_argv(1, Arg, charsmax(Arg));

  if(Arg[0] == EOS)
  {
    client_print(id, print_console, "remove_advert <message>");
    return;
  }
  new Num = str_to_num(Arg);
  new Temp[256];
  ArrayGetString(g_Advert, Num, Temp, 256);
  Anouncment_delete(Temp);
  ArrayDeleteItem(g_Advert, Num);
  g_AdvertSize--;
}

public Announcment()
{
  if(!g_AdvertSize)
    return;
  new sizeof_g_Advert = g_AdvertSize;
  new RND = random(sizeof_g_Advert);

  for(new i = 1; i < 33;i++)
  {
    if(!is_user_connected(i))
      continue;
    client_print_color(i, print_team_default, "^4%s ^3%a", Prefix,ArrayGetStringHandle(g_Advert, RND));
  }
}
#endif
public cmdSetPrefix(id)
{
  if(get_user_flags(id) & ADMIN_IMMUNITY)
  {
    client_print(id, print_console, "set_prefix <accountid> <prefixnev>");
  }
  else
  {
    client_print_color(id, print_team_default, "Szép próbálkozás!")
    return;
  }

  new Arg1[5], Arg2[32];

  read_argv(1, Arg1, charsmax(Arg1));
  read_argv(2, Arg2, charsmax(Arg2));

  if(Arg1[0] == EOS)
  {
    client_print(id, print_console, "set_prefix <accountid> <prefixnev>");
    return;
  }
  new IsOnline = 0;
  new iId = str_to_num(Arg1);

  for(new i = 1;i < 33;i++)
  {
    if(Player_Info[i][a_Id] == iId)
    {
      if(Player_Info[i][havePrefix] == 0)
      {
        Player_Info[i][ChatPrefix] = Arg2;
        Player_Info[i][havePrefix] = 1;
        client_print_color(id, print_team_default, "^4%s ^1Sikeresesen hozzáadtak a Prefixet ^1%s^1-nek, erre: %s!",Prefix, Player_Info[id][PlayerName],Arg2);
        client_print_color(i, print_team_default, "^4%s ^1Sikeresen beállították a Prefixed: ^1%s-t!",Prefix, Arg2);
        IsOnline = 1;
        i = 33;
      }
      else
      {
        client_print_color(id, print_team_default, "Már van Prefixe az adott játékosnak!")
        return;
      }
      
    }
  }

  if(!IsOnline)
    client_print(id, print_console, "A játékos jelenleg nem elérhető!");

  return;

}
public cmdRemovePrefix(id)
{
  if(get_user_flags(id) & ADMIN_IMMUNITY)
  {
    client_print(id, print_console, "remove_prefix <accountid>");
  }
  else
  {
    client_print_color(id, print_team_default, "Szép próbálkozás!")
    return;
  }

  new Arg1[5];

  read_argv(1, Arg1, charsmax(Arg1));

  if(Arg1[0] == EOS)
  {
    client_print(id, print_console, "remove_prefix <accountid>");
    return;
  }
  new IsOnline = 0;
  new iId = str_to_num(Arg1);

  for(new i = 1;i < 33;i++)
  {
    if(Player_Info[i][a_Id] == iId)
    {
      if(Player_Info[i][havePrefix] == 1)
      {
        Player_Info[i][ChatPrefix] = "";
        Player_Info[i][havePrefix] = 0;
        client_print_color(id, print_team_default, "^4%s Törölted ^4%s Prefixét!",Prefix, Player_Info[id][PlayerName]);
        client_print_color(i, print_team_default, "^4%s ^4 Törölte a Prefixed!",Prefix, Player_Info[id][PlayerName]);
        IsOnline = 1;
        i = 33;
      }
      else
      {
        client_print_color(id, print_team_default, "Még nincs Prefixe a játékosnak!")
        return;
      }
      
    }
  }
  if(!IsOnline)
    client_print(id, print_console, "A játékos jelenleg nem elérhető!");

  return;
}
#if BNm_ResetScore == 1
public cmdResetScore(id)
{
  set_user_frags(id, 0);
  cs_set_user_deaths(id, 0);
  client_print_color(0, print_team_default, "^4%s ^3%s ^1Sikeresen nullázta a statisztikáját!",Prefix, Player_Info[id][PlayerName]);
}
#endif
public cmdAddorRemoveDollar(id)
{
  if(get_user_flags(id) & ADMIN_IMMUNITY)
  {
    client_print(id, print_console, "change_money <accountid> <mennyiseg> <0/1>");
  }
  else
  {
    client_print_color(id, print_team_default, "Szép próbálkozás!")
    return;
  }
  new Arg1[5],Arg2[5],Arg3[2];

  read_argv(1,Arg1, charsmax(Arg1));
  read_argv(2,Arg2, charsmax(Arg2));
  read_argv(3,Arg3, charsmax(Arg3));
  if(Arg1[0] == EOS || Arg2[0] == EOS)
  {
    client_print(id, print_console, "change_money <accountid> <mennyiseg> <0/1>");
    return;
  }
  new iId = str_to_num(Arg1);
  new Float:iDollar = str_to_float(Arg2);
  new iDo = str_to_num(Arg3);
  for(new i = 1;i < 33;i++)
  {
    if(Player_Info[i][a_Id] == iId)
    {
      if(iDo > 1)
      {
        Player_Info[i][money] += iDollar;
        i = 33;
      }
      else if(iDo == 0)
      {
        Player_Info[i][money] -= iDollar;
        i = 33;
      }       
    }
  }
}
public CmdGiveKills(id)
{
  if(get_user_flags(id) & ADMIN_IMMUNITY)
  {
    client_print(id, print_console, "give_kills <accountid> <tipus> <mennyiseg>");
  }
  else
  {
    client_print_color(id, print_team_default, "Szép próbálkozás!")
    return;
  }
  new Arg1[5], Arg2[32], Arg3[32];

  read_argv(1, Arg1, charsmax(Arg1));
  read_argv(2, Arg2, charsmax(Arg2));
  read_argv(3, Arg3, charsmax(Arg3));

  if(Arg1[0] == EOS)
  {
    client_print(id, print_console, "give_kills <accountid> <tipus> <mennyiseg>");
    return;
  }
  new iId = str_to_num(Arg1);
  new Typeofkills = str_to_num(Arg2);
  new AmountKills = str_to_num(Arg3);

  new IsOnline = 0;
  for(new i = 1;i < 33;i++)
  {
    if(Player_Info[i][a_Id] == iId)
    {
        switch(Typeofkills)
        {
          case 0: Player_Info[i][k_ak47] += AmountKills;
          case 1: Player_Info[i][k_m4a1] += AmountKills;
          case 2: Player_Info[i][k_awp] += AmountKills;
          case 3: Player_Info[i][k_deagle] += AmountKills;
          case 4: Player_Info[i][k_knife] += AmountKills;
        }
        client_print_color(id, print_team_default, "^4%s ^1Sikeres addolás erre a fiókra: ^1%s^1, ennyit:%i!",Prefix, Player_Info[id][PlayerName], AmountKills);
        client_print_color(i, print_team_default, "^4%s ^1Sikeresen addoltak neked erről a fiókról: ^1%s, ennyit :%i!",Prefix, Player_Info[id][PlayerName], AmountKills);
        IsOnline = 1;
        i = 33;

    }
  }

  if(!IsOnline)
    client_print(id, print_console, "A játékos jelenleg nem elérhető!");

  return;
}
public CmdGetKills(id)
{
  if(get_user_flags(id) & ADMIN_IMMUNITY)
  {
    client_print(id, print_console, "remove_kills <accountid> <tipus> <mennyiseg>");
  }
  else
  {
    client_print_color(id, print_team_default, "Szép próbálkozás!")
    return;
  }
  new Arg1[5], Arg2[32], Arg3[32];

  read_argv(1, Arg1, charsmax(Arg1));
  read_argv(2, Arg2, charsmax(Arg2));
  read_argv(3, Arg3, charsmax(Arg3));

  if(Arg1[0] == EOS)
  {
    client_print(id, print_console, "remove_kills <accountid> <tipus> <mennyiseg>");
    return;
  }
  new iId = str_to_num(Arg1);
  new Typeofkills = str_to_num(Arg2);
  new AmountKills = str_to_num(Arg3);

  new IsOnline = 0;
  for(new i = 1;i < 33;i++)
  {
    if(Player_Info[i][a_Id] == iId)
    {
        switch(Typeofkills)
        {
          case 0: Player_Info[i][k_ak47] -= AmountKills;
          case 1: Player_Info[i][k_m4a1] -= AmountKills;
          case 2: Player_Info[i][k_awp] -= AmountKills;
          case 3: Player_Info[i][k_deagle] -= AmountKills;
          case 4: Player_Info[i][k_knife] -= AmountKills;
        }
        client_print_color(id, print_team_default, "^4%s ^1Sikeres törlés erről a fiókról: ^1%s^1, ennyit: %i!",Prefix, Player_Info[id][PlayerName],AmountKills);
        client_print_color(i, print_team_default, "^4%s ^1Sikeresen töröltek a killjeidből! ^1%s, ennyit: %i!",Prefix, Player_Info[id][PlayerName],AmountKills);
        IsOnline = 1;
        i = 33;

    }
  }

  if(!IsOnline)
    client_print(id, print_console, "A játékos jelenleg nem elérhető!");

  return;
}
#if BNm_NYJatek == 1
public PrizeGamePrices(id)
{
  new len;
  
  len += formatex(StringMotd[len], charsmax(StringMotd) - len, "<HTML><HEAD><meta charset=^"UTF-8^"><TITLE>Nyeremenyek</TITLE></HEAD>")
  len += formatex(StringMotd[len], charsmax(StringMotd) - len, "<style=^"img {width: 200px; height:150px;}^"></style> <BODY><center>")
  len += formatex(StringMotd[len], charsmax(StringMotd) - len, "<h1><center>Nyeremények</center></h1></center>")
  len += formatex(StringMotd[len], charsmax(StringMotd) - len, "<left>Első hely:%s <br>", ServerPrizeGame[FirstPrize]);
  len += formatex(StringMotd[len], charsmax(StringMotd) - len, "<img src=^"%s^" style=^"width: 250px; height:150px;^"> </a><br>",ServerPrizeGame[FirstPrizePhoto])
  len += formatex(StringMotd[len], charsmax(StringMotd) - len, "Második hely:%s <br>", ServerPrizeGame[SecondPrize]);
  len += formatex(StringMotd[len], charsmax(StringMotd) - len, "<img src=^"%s^" style=^"width: 250px; height:150px;^"><br>", ServerPrizeGame[SecondPrizePhoto])
  len += formatex(StringMotd[len], charsmax(StringMotd) - len, "Harmadik hely:%s <br>", ServerPrizeGame[ThirdPrize]);
  len += formatex(StringMotd[len], charsmax(StringMotd) - len, "<img src=^"%s^" style=^"width: 250px; height:150px;^"><br>", ServerPrizeGame[ThirdPrizePhoto])
  len += formatex(StringMotd[len], charsmax(StringMotd) - len, "</BODY>")

  show_motd(id, StringMotd, "PhotoPrizes");
}
public PrizeGameTop15(id)
{
  new len;
  
  len += formatex(StringMotd[len], charsmax(StringMotd) - len, "<head><meta charset=^"UTF-8^"></head><center><table border=^"1^">");
  len += formatex(StringMotd[len], charsmax(StringMotd) - len, "<body bgcolor=#d1e0e0><table style=^"color:#50a832^">");
  len += formatex(StringMotd[len], charsmax(StringMotd) - len, "<td>Név</td>");
  len += formatex(StringMotd[len], charsmax(StringMotd) - len, "<td>Ölés</td>");


  for(new i; i < 15; i++)
  {
    len += formatex(StringMotd[len], charsmax(StringMotd) - len, "<tr><td>%i. %s</td>", i+1, Prize_Top15_list[i][PrizerName]);
    len += formatex(StringMotd[len], charsmax(StringMotd) - len, "<td>%i</td>", Prize_Top15_list[i][kills]);
  }
  len = formatex(StringMotd[len], charsmax(StringMotd) - len, "</table></center>");

  show_motd(id, StringMotd, "PrizerTop15");
}
#endif
public buyZoneSpawn(id)
{
  return HAM_SUPERCEDE;
}
public TakeDamage(iVictim)
{
  if ( 0 < iVictim < MaxPlayerInServer )
  {
    new iAttacker = get_user_attacker( iVictim );
    if ( 0 < iAttacker < MaxPlayerInServer )
    {
      new iDamage = read_data(2);
      Player_Death[iAttacker][DamagedHit] += iDamage;
      if ( Player_Death[iAttacker][DamagedHit] >= 50 )
      {
              Player_Death[iAttacker][Damagers] = iVictim;
              Player_Death[iVictim][WhoGetDamage] = iAttacker;
      }
    }
  }
}
bool:DeadfromWorld(iKiller)
{
    new classname[32];
    pev(iKiller,pev_classname,classname,31)
    if(equali(classname,"worldspawn")) 
    {
      return true;
    }
    else
      return false;
}
public WhenDie()
{
  new Killer, Victim, iHeadshot, Float:iReward, Float:iTake, Float:iMoneyReward;

  Killer = read_data(1);
  Victim = read_data(2);
  iHeadshot = read_data(3);

  if (Killer == Victim)
  {
    return;
  }

  if(Player_Death[Victim][WhoGetDamage] && Player_Death[Victim][WhoGetDamage] != Killer)
  {
    new FragRacers1 = Player_Death[Victim][WhoGetDamage];

    Player_Death[FragRacers1][Damagers] = 0;
    Player_Death[FragRacers1][WhoGetDamage] = 0;
    Player_Death[FragRacers1][DamagedHit] = 0;

    ExecuteHamB( Ham_AddPoints, FragRacers1, 1, false );
    iReward = random_float(0.25,0.50);
    iMoneyReward = random_float(0.25,0.50)

    Player_Info[FragRacers1][l_exp] += iReward;
    Player_Info[FragRacers1][money] += iMoneyReward;

    client_print_color(0, print_team_default, "^3%s ^4%s ^1kapott ^4+1 ^1fraget^1(+ %3.2f% EXP + %3.2f%$^1), mert segített ^4%s ^1megölésében!", Prefix, Player_Info[FragRacers1][PlayerName], iReward, iMoneyReward, Player_Info[Victim][PlayerName])
  }

  //Event
  #if BNm_Event == 1
  removedrug(Victim);
  remove_task(Victim);
  #endif

  iTake = random_float(0.25,1.00);
  Player_Info[Victim][l_exp] -= iTake;
  client_print_color(Victim, print_team_default, "^4%s ^1Meghaltál és ezért vesztettél ^4%3.2f% ^1EXP-t!", Prefix, iTake);
  if(DeadfromWorld(Killer)) //Ha megöli magát a játékos!
  {
    return;
  }

  new wid = get_user_weapon(Killer);

  switch(wid)
  {
    case CSW_AK47:
    {
      AKSkinKills[Killer][Player_Info[Killer][SelectedAK]][killsinweapon]++;
      Player_Info[Killer][k_ak47]++;
    }

    case CSW_M4A1:
    {
      M4A1SkinKills[Killer][Player_Info[Killer][SelectedM4A1]][killsinweapon]++;
      Player_Info[Killer][k_m4a1]++;
    } 

    case CSW_AWP:
    {
      AWPSkinKills[Killer][Player_Info[Killer][SelectedAWP]][killsinweapon]++;
      Player_Info[Killer][k_awp]++;
    }

    case CSW_DEAGLE:
    {
      DeagleSkinKills[Killer][Player_Info[Killer][SelectedDEAGLE]][killsinweapon]++;
      Player_Info[Killer][k_deagle]++;
    }

    case CSW_KNIFE :
    {
      KnifeSkinKills[Killer][Player_Info[Killer][SelectedKnife]][killsinweapon]++;
      Player_Info[Killer][k_knife]++;
    } 
  }
  #if BNm_Fragrace == 1
  if(FragInfo[SwitchFrag])
  FragRacers[Killer][kills]++;
  #endif
  #if BNm_NYJatek == 1
  if(ServerPrizeGame[isPrizeGoing])
  PrizeGame[Killer][kills]++;

  UpdatePrizeKills(Killer);
  #endif

  switch(Player_Info[Killer][v_isVip])
  {
    case 0:
    {
      if(iHeadshot)
      {
        iMoneyReward = random_float(0.50,1.25);
        iReward = random_float(1.00,2.00);
      }
      else
      {
        iMoneyReward = random_float(0.00,1.00);
        iReward = random_float(0.50,1.50);
      }       
    }
    case 1:
    {
      if(iHeadshot)
      {
        iMoneyReward = random_float(0.75,1.50);
        iReward = random_float(1.50,2.50);
      }
      else
      {
        iMoneyReward = random_float(0.25,1.25);
        iReward = random_float(0.75,1.75);
      }
    }
  }
  Player_Info[Killer][money] += iMoneyReward;
  Player_Info[Killer][l_exp] += iReward;
  client_print_color(Killer, print_team_default, "^4%s ^1Amiért megölted ^3%s ^1kaptál ^4%3.2f% ^1EXP-t, és ^4%3.2f% $!", Prefix, Player_Info[Victim][PlayerName], iReward, iMoneyReward)

}
public ChangeWeapon(iEnt)
{
  new id = get_pdata_cbase(iEnt, 41, 4);
  new wid = cs_get_weapon_id(iEnt);

  if(id > 32 || id < 1 || !is_user_alive(id))
  {
    return HAM_SUPERCEDE
  }

  switch(wid)
  {
    case CSW_AWP: entity_set_string(id, EV_SZ_viewmodel, WeaponAWP[Player_Info[id][SelectedAWP]][model]);
    case CSW_AK47: entity_set_string(id, EV_SZ_viewmodel, WeaponAK[Player_Info[id][SelectedAK]][model]);
    case CSW_M4A1: entity_set_string(id, EV_SZ_viewmodel, WeaponM4A1[Player_Info[id][SelectedM4A1]][model]);
    case CSW_DEAGLE: entity_set_string(id, EV_SZ_viewmodel, WeaponDeagle[Player_Info[id][SelectedDEAGLE]][model]);
    case CSW_KNIFE: entity_set_string(id, EV_SZ_viewmodel, WeaponKnife[Player_Info[id][SelectedKnife]][model]);
  }
  return HAM_SUPERCEDE;
}
public VipMenu(id)
{
  formatex(String, charsmax(String), "\r%s \yVip Menü \r%3.2f$", Prefix, Player_Info[id][money]);
  new menu = menu_create(String , "VipMenu_h");
  new Float:icost = get_pcvar_float(ServerCvars[g_costvip]);

  formatex(String, charsmax(String), "\w1 NAP \yV.I.P \r%3.2f$", icost);
  menu_additem(menu, String, "0", 0);
  
  formatex(String, charsmax(String), "\w7 NAP \yV.I.P \r%3.2f$", icost*7.00);
  menu_additem(menu, String, "1", 0);

  formatex(String, charsmax(String), "\w30 NAP \yV.I.P \r%3.2f$", icost*30.00);
  menu_additem(menu, String, "2", 0)

  menu_setprop(menu, MPROP_NEXTNAME, "Lapozás Előre");
  menu_setprop(menu, MPROP_BACKNAME, "Lapozás Vissza");
  menu_setprop(menu, MPROP_EXITNAME, "Vissza a Főmenübe");
  menu_display(id, menu);
  return PLUGIN_HANDLED;
}
public VipMenu_h(id,menu,item)
{
  if( item == MENU_EXIT )
  {
    if(is_user_connected(id))
      menu_destroy(menu);
    MainMenu(id);
    return;
  }
  new data[9], szName[64];
  new access, callback;
  new Float:icost = get_pcvar_float(ServerCvars[g_costvip]);
  menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  new key = str_to_num(data);
  switch(key)
  {
    case 0:
    {
      if(Player_Info[id][money] > icost)
      {
        Player_Info[id][v_isVip] = 1;
        Player_Info[id][v_time] += 86400;
        Player_Info[id][money] -= icost;
        client_print_color(id, print_team_default, "^3%s ^1Sikeresen megvásároltad ^4 1 ^1Napra a ^4Vippet!",Prefix)
      }
      else
      client_print_color(id, print_team_default, "^3%s ^1Nincs elég pénzed!",Prefix)
    }
    case 1:
    {
      if(Player_Info[id][money] > icost*7.00)
      {
        Player_Info[id][v_isVip] = 1;
        Player_Info[id][v_time] += 86400*7;
        Player_Info[id][money] -= icost;
        client_print_color(id, print_team_default, "^3%s ^1Sikeresen megvásároltad ^4 7 ^1Napra a ^4Vippet!",Prefix)
      }
      else
      client_print_color(id, print_team_default, "^3%s ^1Nincs elég pénzed!",Prefix)
    }
    case 2:
    {
      if(Player_Info[id][money] > icost*30.00)
      {
        Player_Info[id][v_isVip] = 1;
        Player_Info[id][v_time] += 86400*30;
        Player_Info[id][money] -= icost;
        client_print_color(id, print_team_default, "^3%s ^1Sikeresen megvásároltad^4 30 ^1Napra a ^4Vippet!",Prefix)
      }
      else
      client_print_color(id, print_team_default, "^3%s ^1Nincs elég pénzed!",Prefix)
    }
  }
}
public MainMenu(id)
{
  formatex(String, charsmax(String), "\r%s \wFőmenü \r%3.2f$", Prefix, Player_Info[id][money]);
  new menu = menu_create(String , "MainMenu_h");

  formatex(String, charsmax(String), "\wRaktár");
  menu_additem(menu, String, "0", 0);
  
  formatex(String, charsmax(String), "\wVip Bolt");
  menu_additem(menu, String, "1", 0);

  formatex(String, charsmax(String), "\wBeállítások");
  menu_additem(menu, String, "2", 0);

  formatex(String, charsmax(String), "\wChat Prefix");
  menu_additem(menu, String, "3", 0);
  #if BNm_TypeWord == 1
  if(SearchWord[isWord])
  {
    formatex(String, charsmax(String), "\wGyorsíró event");
    menu_additem(menu, String, "4", 0);
  }
  #endif

  formatex(String, charsmax(String), "\wAlmenü");
  menu_additem(menu, String, "5", 0);

  #if BNm_NYJatek == 1
  if(ServerPrizeGame[isPrizeGoing])
  {
    formatex(String, charsmax(String), "\wNyereményjáték top15");
    menu_additem(menu, String, "6", 0);

    formatex(String, charsmax(String), "\wNyeremények");
    menu_additem(menu, String, "7", 0)
  }
  #endif

  menu_display(id, menu);
}
public MainMenu_h(id,menu,item)
{
  if( item == MENU_EXIT )
  {
    if(is_user_connected(id))
      menu_destroy(menu);
    return;
  }
  new data[9], szName[64];
  new access, callback;
  menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  new key = str_to_num(data);
  switch(key)
  {
    case 0: SkinMenuChooser(id);
    case 1: VipMenu(id);
    case 2: PlayerSettingsMenu(id);
    case 3: ChatPrefixMenu(id);
    case 4: client_cmd(id, "messagemode getword")

    #if BNm_Event == 1
    case 5: SecondaryMenu(id);
    #endif

    #if BNm_NYJatek == 1
    case 6: PrizeGameTop15(id);
    case 7: PrizeGamePrices(id);
    #endif
  }
  menu_destroy(menu);
}
#if BNm_Event == 1
public SecondaryMenu(id)
{
  formatex(String, charsmax(String), "\r%s \wAlmenü", Prefix);
  new menu = menu_create(String , "SecondaryMenu_h");

  formatex(String, charsmax(String), "\wTojások");
  menu_additem(menu, String, "0", 0);

  menu_display(id, menu);
}
public SecondaryMenu_h(id, menu, item)
{
  if( item == MENU_EXIT )
  {
    if(is_user_connected(id))
      menu_destroy(menu);
    return;
  }
  new data[9], szName[64];
  new access, callback;
  menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  new key = str_to_num(data);
  switch(key)
  {
    case 0:
    {
      EggMenu(id);
    }
  }
}
#endif
#if BNm_Event == 1
public EggMenu(id)
{
  formatex(String, charsmax(String), "\r%s \wTojások", Prefix);
  new menu = menu_create(String , "EggMenu_h");

  formatex(String, charsmax(String), "\w Halványkék tojás [%i]", Easter_Event[id][0]);
  menu_additem(menu, String, "0", 0);

  formatex(String, charsmax(String), "\w Kék tojás [%i]", Easter_Event[id][1]);
  menu_additem(menu, String, "1", 0);

  formatex(String, charsmax(String), "\w Zöld tojás [%i] ", Easter_Event[id][2]);
  menu_additem(menu, String, "2", 0);

  formatex(String, charsmax(String), "\w Citromsárga tojás [%i]", Easter_Event[id][3]);
  menu_additem(menu, String, "3", 0);

  formatex(String, charsmax(String), "\w Lila tojás [%i]", Easter_Event[id][4]);
  menu_additem(menu, String, "4", 0);

  formatex(String, charsmax(String), "\w Narancssárga tojás [%i]", Easter_Event[id][5]);
  menu_additem(menu, String, "5", 0);

  formatex(String, charsmax(String), "\w Piros tojás [%i]", Easter_Event[id][6]);
  menu_additem(menu, String, "6", 0);
  menu_display(id, menu);
}
public EggMenu_h(id, menu, item)
{
  if( item == MENU_EXIT)
  {
    if(is_user_connected(id))
      menu_destroy(menu);
    return;
  }
  if(!is_user_alive(id))
  {
    menu_destroy(menu);
    EggMenu(id);
    client_print_color(id, print_team_default, "^4%s ^1Csak akkor tudsz tojást nyitni, ha élsz!", Prefix);
    return;
  }
  new data[9], szName[64];
  new access, callback;
  menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  new key = str_to_num(data);
  if(Easter_Event[id][key] > 0)
  {
    OpenEgg(id,key);
  }
}
public OpenEgg(id,eId)
{
  new iRandomNumber, iRandomReward, iRandomTypeWeapon, Float:iRandomFloat;
  Easter_Event[id][eId]--;
  OpenedEggCounter[id]++;
  new m_eastersize = charsmax(EasterReward);
  iRandomReward = random_num(0, m_eastersize);
  switch(iRandomReward)
  {
    case 0:
    {     
      switch(eId)
      {
        case 0:
        {
          iRandomTypeWeapon = random_num(0, 1);
          iRandomNumber = random_num(1, 2);
        }
        case 1:
        {
          iRandomTypeWeapon = random_num(0, 2);
          iRandomNumber = random_num(1, 2);
        }
        case 2:
        {
          iRandomTypeWeapon = random_num(0, 2);
          iRandomNumber = random_num(1, 2);
        }
        case 3:
        {
          iRandomTypeWeapon = random_num(0, 3);
          iRandomNumber = random_num(2, 3);
        }
        case 4:
        {
          iRandomTypeWeapon = random_num(0, 3);
          iRandomNumber = random_num(2, 3);
        }
        case 5:
        {
          iRandomTypeWeapon = random_num(0, 4);
          iRandomNumber = random_num(3, 4);
        }
        case 6:
        {
          iRandomTypeWeapon = random_num(0, 4);
          iRandomNumber = random_num(2, 3);
        }
      }
      switch(iRandomTypeWeapon)
        {
          case 0:
          {
            Player_Info[id][k_ak47] += iRandomNumber;
            client_print_color(id, print_team_default, "^4%s ^1Kaptál %i AK ölést!", Prefix, iRandomNumber)
          }
          case 1:
          {
            Player_Info[id][k_m4a1] += iRandomNumber;
            client_print_color(id, print_team_default, "^4%s ^1Kaptál %i M4A1 ölést!", Prefix, iRandomNumber)
          }
          case 2:
          {
            Player_Info[id][k_awp] += iRandomNumber;
            client_print_color(id, print_team_default, "^4%s ^1Kaptál %i AWP ölést!", Prefix, iRandomNumber)
          }
          case 3:
          {
            Player_Info[id][k_deagle] += iRandomNumber;
            client_print_color(id, print_team_default, "^4%s ^1Kaptál %i DEAGLE ölést!", Prefix, iRandomNumber)
          }
          case 4:
          {
            Player_Info[id][k_knife] += iRandomNumber;
            client_print_color(id, print_team_default, "^4%s ^1Kaptál %i KÉS ölést!", Prefix, iRandomNumber)
          }
        }
    }
    case 1,2:
    {
      switch(eId)
      {
        case 0:
        {
          iRandomFloat = random_float(0.00, 1.00)
        }
        case 1:
        {
          iRandomFloat = random_float(0.25, 1.25);
        }
        case 2:
        {
          iRandomFloat = random_float(0.50, 1.50);
        }
        case 3:
        {
          iRandomFloat = random_float(0.75, 1.75);
        }
        case 4:
        {
          iRandomFloat = random_float(1.00, 2.00);
        }
        case 5:
        {
          iRandomFloat = random_float(1.25, 2.25);
        }
        case 6:
        {
          iRandomFloat = random_float(1.50, 2.50);
        }
      }
      switch(iRandomReward)
      {
        case 1:
        {
          Player_Info[id][l_exp] += iRandomFloat;
        }
        case 2:
        {
          Player_Info[id][money] += iRandomFloat;
        }
      }
      client_print_color(id, print_team_default, "^4%s ^1Kaptál %.2f %s-t", Prefix, iRandomFloat, EasterReward[iRandomReward][Eggname])
    }
    case 3,4,5:
    {
      switch(eId)
      {
        case 0:
        {
          iRandomFloat = random_float(0.00, 1.00)*2;
        }
        case 1:
        {
          iRandomFloat = random_float(0.25, 1.25)*2;
        }
        case 2:
        {
          iRandomFloat = random_float(0.50, 1.50)*2;
        }
        case 3:
        {
          iRandomFloat = random_float(0.75, 1.75)*2;
        }
        case 4:
        {
          iRandomFloat = random_float(1.00, 2.00)*2;
        }
        case 5:
        {
          iRandomFloat = random_float(1.25, 2.25)*2;
        }
        case 6:
        {
          iRandomFloat = random_float(1.50, 2.50)*2;
        }
      }
      client_print_color(id, print_team_default, "^4%s %s", Prefix, EasterReward[iRandomReward][Eggname])
      EffectSwitcher(id, iRandomReward, iRandomFloat);
    }
  }
}
public GiveEggs(id)
{
  for(new i; i < 7; i++)
  {
    Easter_Event[id][i] += 50;
  }
}
public EffectSwitcher(id, RewardType, Float:iTime)
{
  switch(RewardType)
  {
    case 3:
    {      
      set_task(0.1, "SpeedDown", id, _, _, "b");
    }
    case 4:
    {
      set_task(0.1, "makedrug", id)
    }
    case 5:
    {
      set_task(0.1, "SpeedUP", id, _, _, "b");
    }
  }
}
new Float:NumberTask[33];
public SpeedUP(id, Float:iTime2)
{
  if(NumberTask[id] > 3.00)
  {
    remove_task(id);
    NumberTask[id] = 0.0;
    set_user_maxspeed(id, 275.00);
  }
  else
  {
    set_user_maxspeed(id, 400.00);
    NumberTask[id] += 0.1;
  }
}
public SpeedDown(id)
{
  if(NumberTask[id] > 3.00)
  {
    remove_task(id);
    NumberTask[id] = 0.0;
    set_user_maxspeed(id, 275.00);
  }
  else
  {
    set_user_maxspeed(id, 100.00);
    NumberTask[id] += 0.1;
  }
}
public makedrug(id) {
	message_begin(MSG_ONE, g_iMsgSetFOV, {0, 0, 0}, id);
	write_byte(135);
	message_end();
 
	set_task(3.0, "removedrug", id);
}
 
public removedrug(id) {
	message_begin(MSG_ONE, g_iMsgSetFOV, { 0, 0, 0 }, id);
	write_byte(90);
	message_end();
}
#endif
public ChatPrefixMenu(id)
{
  formatex(String, charsmax(String), "\r%s \wChat Prefix \r%3.2f$", Prefix, Player_Info[id][money]);
  new menu = menu_create(String , "ChatPrefixMenu_h");
  new Float:icost = get_pcvar_float(ServerCvars[g_costprefix]);

  formatex(String, charsmax(String), "\w ChatPrefix Vásárlása \r%3.2f", icost);
  menu_additem(menu, String, "0", 0);

  menu_display(id, menu);
}
public ChatPrefixMenu_h(id, menu, item)
{
  if( item == MENU_EXIT )
  {
    if(is_user_connected(id))
      menu_destroy(menu);
    return;
  }
  new data[9], szName[64];
  new access, callback;
  menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  new key = str_to_num(data);
  switch(key)
  {
    case 0:
    {
    if(Player_Info[id][money] >= get_pcvar_float(ServerCvars[g_costprefix]))
    {
      client_cmd(id, "messagemode chatprefixbuy");
    }
    else
    client_print_color(id, print_team_default, "^3%s ^1Nincs elegendő pénzed!", Prefix)
    }
  }
  menu_destroy(menu);
}

public PlayerSettingsMenu(id)
{
  new iNextRank[32], m_sizeofranks, Float:m_exp, Float:m_nextrankexp;
  m_exp = Player_Info[id][l_exp];
  m_sizeofranks = sizeof(RankInfo);
  if (m_exp < 0.00)
  copy(iNextRank, 31, RankInfo[1][r_name]);
  else if(m_exp >= 0.00)
  {
    for(new i; i < m_sizeofranks; i++)
    {
      if(m_exp >= RankInfo[i][r_exp])
      {     
        copy(iNextRank, 31, RankInfo[i+1][r_name])
        m_nextrankexp = RankInfo[i+1][r_exp];
      }      
    }
  }

  formatex(String, charsmax(String), "\r%s \yBeállítások^nRankod:\r%s\y[EXP:\r%.2f\y]^nKövetkező rank:\r%s\y[EXP:\r%.2f\y]", Prefix, Player_Info[id][l_name], m_exp, iNextRank, m_nextrankexp);
  new menu = menu_create(String, "PlayerSettingsMenu_h")

  menu_additem(menu, Player_Settings[id][s_lefthud] == 1 ? "Játékos HUD: \r[BE] \y| \d[KI]":"Játékos HUD: \d[BE] \y| \r[KI]", "0", 0);
  menu_additem(menu, Player_Settings[id][s_bottomhud] == 1 ? "Fegyver HUD: \r[BE] \y| \d[KI]":"Fegyver HUD: \d[BE] \y| \r[KI]", "1", 0);
  //"

  menu_setprop(menu, MPROP_NEXTNAME, "Lapozás Előre");
  menu_setprop(menu, MPROP_BACKNAME, "Lapozás Vissza");
  menu_setprop(menu, MPROP_EXITNAME, "Vissza a Főmenübe");
  menu_display(id, menu, 0);
}
public PlayerSettingsMenu_h(id, menu, item)
{
  if(item == MENU_EXIT && is_user_connected(id))
  {
    menu_destroy(menu);
    MainMenu(id);
    return;
  }
  new data[9], szName[64];
  new access, callback;
  menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  new key = str_to_num(data);

  switch(key)
  {
    case 0:
    {
      Player_Settings[id][s_lefthud] = !Player_Settings[id][s_lefthud];
    }
    case 1:
    {
      Player_Settings[id][s_bottomhud] = !Player_Settings[id][s_bottomhud];
    }
  }
  PlayerSettingsMenu(id)
  menu_destroy(menu);
}
public SkinMenuChooser(id)
{
  formatex(String, charsmax(String), "\r%s \ySkinmenü", Prefix, Player_Info[id][k_ak47]);
  new menu = menu_create(String , "SkinMenuChooser_h");

  formatex(String, charsmax(String), "\wAK Skinek"); 
  menu_additem(menu, String, "0", 0);

  formatex(String, charsmax(String), "\wM4A1 Skinek"); 
  menu_additem(menu, String, "1", 0);

  formatex(String, charsmax(String), "\wAWP Skinek"); 
  menu_additem(menu, String, "2", 0);

  formatex(String, charsmax(String), "\wDeagle Skinek"); 
  menu_additem(menu, String, "3", 0);

  formatex(String, charsmax(String), "\wKnife Skinek"); 
  menu_additem(menu, String, "4", 0);

  menu_setprop(menu, MPROP_NEXTNAME, "Lapozás Előre");
  menu_setprop(menu, MPROP_BACKNAME, "Lapozás Vissza");
  menu_setprop(menu, MPROP_EXITNAME, "Vissza a Főmenübe");
  menu_display(id, menu);
  return PLUGIN_HANDLED;
}
public SkinMenuChooser_h(id, menu, item)
{
  if( item == MENU_EXIT )
  {
    if(is_user_connected(id))
      menu_destroy(menu);
    MainMenu(id);
    return;
  }
  new data[9], szName[64];
  new access, callback;
  menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  new key = str_to_num(data);
  switch(key)
  {
    case 0: AKMenu(id);
    case 1: M4A1Menu(id);
    case 2: AWPMenu(id);
    case 3: DeagleMenu(id);
    case 4: KnifeMenu(id);
  }
}
public AKMenu(id)
{
  formatex(String, charsmax(String), "%s \yAK Menü^n \yÖléseid\r:\w%i", Prefix, Player_Info[id][k_ak47]);
  new menu = menu_create(String , "AKMenu_h");

  new Num[4];

  for(new i=0; i < WeaponAKSize;i++)
  {
  if(Player_Info[id][k_ak47] >= WeaponAK[i][neededkills])
    formatex(String, charsmax(String), "\y%s \r[Megszerezve]", WeaponAK[i][name])
  else
    formatex(String, charsmax(String), "\w%s \r[%i Ölés]\y-\r[LEZÁRVA]", WeaponAK[i][name], WeaponAK[i][neededkills])
  num_to_str(i, Num, 4)

  menu_additem(menu, String, Num, 0);
  }
  
  menu_display(id, menu);
  return PLUGIN_HANDLED;
}
public AKMenu_h(id, menu, item)
{
  if( item == MENU_EXIT )
  {
    if(is_user_connected(id))
      menu_destroy(menu);
    return;
  }
  new data[9], szName[64];
  new access, callback;
  menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  new key = str_to_num(data);

  if(Player_Info[id][k_ak47] >= WeaponAK[key][neededkills])
  {
    Player_Info[id][SelectedAK] = key;
    client_print_color(id, print_team_default, "^4%s ^1Sikeresen kiválasztottad a ^3%s!", Prefix, WeaponAK[Player_Info[id][SelectedAK]][name]);
  }
  menu_destroy(menu);
}
public M4A1Menu(id)
{
  formatex(String, charsmax(String), "%s \yM4A1 Menü^n \yÖléseid\r:\w%i", Prefix, Player_Info[id][k_m4a1]);
  new menu = menu_create(String , "M4A1Menu_h");

  new Num[4];

  for(new i=0; i < WeaponM4A1Size;i++)
  {
  if(Player_Info[id][k_m4a1] >= WeaponM4A1[i][neededkills])
    formatex(String, charsmax(String), "\y%s \r[Megszerezve]", WeaponM4A1[i][name])
  else
    formatex(String, charsmax(String), "\w%s \r[%i Ölés]\y-\r[LEZÁRVA]", WeaponM4A1[i][name], WeaponM4A1[i][neededkills])
  num_to_str(i, Num, 4)

  menu_additem(menu, String, Num, 0);
  }
  
  menu_display(id, menu);
  return PLUGIN_HANDLED;
}
public M4A1Menu_h(id, menu, item)
{
  if( item == MENU_EXIT )
  {
    if(is_user_connected(id))
      menu_destroy(menu);
    return;
  }
  new data[9], szName[64];
  new access, callback;
  menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  new key = str_to_num(data);

  if(Player_Info[id][k_m4a1] >= WeaponM4A1[key][neededkills])
  {
    Player_Info[id][SelectedM4A1] = key;
    client_print_color(id, print_team_default, "^4%s ^1Sikeresen kiválasztottad a ^3%s!", Prefix, WeaponM4A1[Player_Info[id][SelectedM4A1]][name]);
  }
  menu_destroy(menu);
}
public AWPMenu(id)
{
  formatex(String, charsmax(String), "%s \yAWP Menü^n \yÖléseid\r:\w%i", Prefix, Player_Info[id][k_awp]);
  new menu = menu_create(String , "AWPMenu_h");

  new Num[4];

  for(new i=0; i < WeaponAWPSize;i++)
  {
  if(Player_Info[id][k_awp] >= WeaponAWP[i][neededkills])
    formatex(String, charsmax(String), "\y%s \r[Megszerezve]", WeaponAWP[i][name])
  else
    formatex(String, charsmax(String), "\w%s \r[%i Ölés]\y-\r[LEZÁRVA]", WeaponAWP[i][name], WeaponAWP[i][neededkills])
  num_to_str(i, Num, 4)

  menu_additem(menu, String, Num, 0);
  }
  
  menu_display(id, menu);
  return PLUGIN_HANDLED;
}
public AWPMenu_h(id, menu, item)
{
  if( item == MENU_EXIT )
  {
    if(is_user_connected(id))
      menu_destroy(menu);
    return;
  }
  new data[9], szName[64];
  new access, callback;
  menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  new key = str_to_num(data);

  if(Player_Info[id][k_awp] >= WeaponAWP[key][neededkills])
  {
    Player_Info[id][SelectedAWP] = key;
    client_print_color(id, print_team_default, "^4%s ^1Sikeresen kiválasztottad a ^3%s!", Prefix, WeaponAWP[Player_Info[id][SelectedAWP]][name]);
  }
  menu_destroy(menu);
}
public DeagleMenu(id)
{
  formatex(String, charsmax(String), "%s \yDeagle Menü^n \yÖléseid\r:\w%i", Prefix, Player_Info[id][k_deagle]);
  new menu = menu_create(String , "DeagleMenu_h");

  new Num[4];

  for(new i=0; i < WeaponDeagleSize;i++)
  {
  if(Player_Info[id][k_deagle] >= WeaponDeagle[i][neededkills])
    formatex(String, charsmax(String), "\y%s \r[Megszerezve]", WeaponDeagle[i][name])
  else
    formatex(String, charsmax(String), "\w%s \r[%i Ölés]\y-\r[LEZÁRVA]", WeaponDeagle[i][name], WeaponDeagle[i][neededkills])
  num_to_str(i, Num, 4)

  menu_additem(menu, String, Num, 0);
  }
  
  menu_display(id, menu);
  return PLUGIN_HANDLED;
}
public DeagleMenu_h(id, menu, item)
{
  if( item == MENU_EXIT )
  {
    if(is_user_connected(id))
      menu_destroy(menu);
    return;
  }
  new data[9], szName[64];
  new access, callback;
  menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  new key = str_to_num(data);

  if(Player_Info[id][k_deagle] >= WeaponDeagle[key][neededkills])
  {
    Player_Info[id][SelectedDEAGLE] = key;
    client_print_color(id, print_team_default, "^4%s ^1Sikeresen kiválasztottad a ^3%s!", Prefix, WeaponDeagle[Player_Info[id][SelectedDEAGLE]][name]);
  }
  menu_destroy(menu);
}
public KnifeMenu(id)
{
  formatex(String, charsmax(String), "%s \yKésmenü^n \yÖléseid\r:\w%i", Prefix, Player_Info[id][k_knife]);
  new menu = menu_create(String , "KnifeMenu_h");

  new Num[4];

  for(new i=0; i < WeaponKnifeSize;i++)
  {
  if(Player_Info[id][k_knife] >= WeaponKnife[i][neededkills])
    formatex(String, charsmax(String), "\y%s \r[Megszerezve]", WeaponKnife[i][name])
  else
    formatex(String, charsmax(String), "\w%s \r[%i Ölés]\y-\r[LEZÁRVA]", WeaponKnife[i][name], WeaponKnife[i][neededkills])
  num_to_str(i, Num, 4)

  menu_additem(menu, String, Num, 0);
  }
  
  menu_display(id, menu);
  return PLUGIN_HANDLED;
}
public KnifeMenu_h(id, menu, item)
{
  if( item == MENU_EXIT )
  {
    if(is_user_connected(id))
      menu_destroy(menu);
    return;
  }
  new data[9], szName[64];
  new access, callback;
  menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  new key = str_to_num(data);

  if(Player_Info[id][k_knife] >= WeaponKnife[key][neededkills])
  {
    Player_Info[id][SelectedKnife] = key;
    client_print_color(id, print_team_default, "^4%s ^1Sikeresen kiválasztottad a ^3%s!", Prefix, WeaponKnife[Player_Info[id][SelectedKnife]][name]);
  }
  menu_destroy(menu);
}
#if BNm_WeaponMenu == 1
public WeaponMenu(id)
{
  if(!is_user_alive(id))
  {
    client_print_color(id, print_team_default, "^4%s ^1Halottként nem tudsz fegyvert venni!", Prefix);
    return;
  }
  else if(Player_Info[id][PlayerBought] == 1)
  {
    client_print_color(id, print_team_default, "^4%s ^1Ebben a körben már választottál fegyvert!", Prefix);
    return;
  }


  formatex(String, charsmax(String), "\r%s \y» \wFegyvermenü", Prefix);
  new menu = menu_create(String , "WeaponMenu_h");

  new Num[4];
  new m_weapons = sizeof(WeaponMenuNames);

  for(new i=1;i < m_weapons+1;i++)
  {
    formatex(String, charsmax(String), "%s", WeaponMenuNames[i-1][Name]);
    num_to_str(i, Num, 4)
    menu_additem(menu, String, Num, 0);
  }

  menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  menu_display(id, menu);
}

public WeaponMenu_h(id, menu, item)
{
  if(item == MENU_EXIT)
  {
    menu_destroy(menu);
    return;
  }
  new data[6], szName[64];
  new access, callback;
  menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  new key = str_to_num(data);

  new m_Added = 1;

  new m_HaveBomb = 0;
  if(user_has_weapon(id, CSW_C4))
    m_HaveBomb = 1;

  new m_Team[10];
  get_user_team(id, m_Team, 10);

  strip_user_weapons(id);
  if(key == 3)
  {
   if((((contain(m_Team, "TERRORIST") == 0) && g_Awps[T] <= 2) || ((contain(m_Team, "CT") == 0) && g_Awps[CT] <= 2)) && g_AwpCanAdd)
    {
        if(contain(m_Team, "CT") == 0)
        {
          g_Awps[CT]++;
        }
        else
        {
          g_Awps[T]++;
        }
      }
      else
      {
        m_Added = 0;
        if((contain(m_Team, "TERRORIST") == 0 && g_Awps[T] <= 2) || (contain(m_Team, "CT") == 0 && g_Awps[CT] <= 2))
        client_print_color(id, print_team_default, "^4%s ^1Nincs meg/kör elején nem volt meg a 4v4 az AWP-hez!", Prefix);
        else
        client_print_color(id, print_team_default, "^4%s ^1A csapatodban már ki lett osztva a 2 AWP!", Prefix);
        WeaponMenu(id);
      }
  }
  if(m_Added)
  {
    give_item(id, WeaponMenuNames[key-1][weaponEnt]);
    client_print_color(id, print_team_default, "^4%s ^1 Az ^4%s^1-ot választottad!", Prefix, WeaponMenuNames[key-1][ChatName]);
  }
  if(m_HaveBomb)
  {
    give_item(id, "weapon_c4");
    cs_set_user_plant(id);
  }

  if(m_Added)
  {
    
    if(contain(m_Team, "CT") == 0)
    {
      give_item(id, "item_thighpack");
      cs_set_user_defuse(id);
    }
 
    give_item(id, "item_kevlar");
    give_item(id, "item_assaultsuit");
    set_user_armor(id, 100);
    give_item(id, "weapon_hegrenade");
    give_item(id, "weapon_flashbang");
    give_item(id, "weapon_flashbang");
    give_item(id, "weapon_deagle");
    cs_set_user_bpammo(id, 26, g_MaxAmmo[26]) //a lekert fegyverhez hozzaadjuk az ammot.
    give_item(id, "weapon_knife");
    Player_Info[id][PlayerBought] = 1;
    new wid = cs_get_user_weapon(id);
    if(wid != 0)
      cs_set_user_bpammo(id, wid , g_MaxAmmo[wid]) //a lekert fegyverhez hozzaadjuk az ammot.
  }

  menu_destroy(menu);
}
#endif
public PlayerSpawn(id)
{
  if(!is_user_alive(id))
    return;
  
  Player_Death[id][Damagers] = 0;
  Player_Death[id][WhoGetDamage] = 0;
  Player_Death[id][DamagedHit] = 0;

  #if BNm_WeaponMenu == 1
  new m_HaveBomb = 0;
  if(user_has_weapon(id, CSW_C4))
    m_HaveBomb = 1;

  strip_user_weapons(id);
  if(m_HaveBomb)
    give_item(id, "weapon_c4");

  Player_Info[id][PlayerBought] = 0;
  WeaponMenu(id);
  #endif
}
public client_connect(id)
{
  new PlayerNameWhoJoining[64];
  get_user_name(id, PlayerNameWhoJoining, 64)
  for(new i; i < 33; i++)
  {
    if(!is_user_bot(id) && is_user_connected(i))
    {
      set_hudmessage(0, 255, 0, 0.01, 0.35, 0, 0.0, 2.0, 0.0, 0.0, 3);
      show_hudmessage(i, "%s csatlakozik a szerverre!", PlayerNameWhoJoining);
    }
  }
}
public client_putinserver(id)
{
  if(!is_user_bot(id))
  {
    for(new i; i < WeaponAKSize; i++)
    AKSkinKills[id][i] = Empty;

    for(new i; i < WeaponM4A1Size; i++)
    M4A1SkinKills[id][i] = Empty;

    for(new i; i < WeaponAWPSize; i++)
    AWPSkinKills[id][i] = Empty;

    for(new i; i < WeaponDeagleSize; i++)
    DeagleSkinKills[id][i] = Empty;

    for(new i; i < WeaponKnifeSize; i++)
    KnifeSkinKills[id][i] = Empty;

    Player_Info[id][PlayerBought] = 0;
    Player_Info[id][a_Id] = 0;
    Player_Info[id][SelectedKnife] = 0;
    Player_Info[id][SelectedAK] = 0;
    Player_Info[id][SelectedM4A1] = 0;
    Player_Info[id][SelectedAWP] = 0;
    Player_Info[id][SelectedDEAGLE] = 0;
    Player_Info[id][Knifeshow] = 0;
    Player_Info[id][k_ak47] = 0;
    Player_Info[id][k_m4a1] = 0;
    Player_Info[id][k_awp] = 0;
    Player_Info[id][k_deagle] = 0;
    Player_Info[id][k_knife] = 0;
    Player_Info[id][havePrefix] = 0;
    Player_Info[id][ChatPrefix] = "";
    Player_Info[id][l_exp] = 0.00;
    Player_Info[id][money] = 0.00;
    Player_Info[id][PlayTime] = 0;
    Player_Info[id][v_isVip] = 0;
    Player_Info[id][ad_level] = 0;
    Player_Info[id][ad_EndTime] = 0;
    Player_Info[id][v_time] = 0;

    #if BNm_NYJatek == 1
    PrizeGame[id][kills] = 0;
    #endif

    #if BNm_Fragrace == 1
    FragRacers[id][kills] =0;
    #endif

    Player_Settings[id][s_lefthud] = 1;
    Player_Settings[id][s_bottomhud] = 1;

    #if BNm_Event == 1
    for(new i; i < 7; i++)
    {
      Easter_Event[id][i] = 0;
    }
    OpenedEggCounter[id] = 0;
    #endif

    copy(Player_Info[id][l_name], 31, RankInfo[1][r_name]);
    get_user_name(id, Player_Info[id][PlayerName], 64);
    get_user_ip(id, Player_Info[id][ip], 32);
    get_user_authid(id, Player_Info[id][steamid], 32);
    Load_All(id);
    #if BNm_Demo == 1
    set_task(3.0, "DemoRecord", id);
    #endif
  }
}

public client_disconnected(id)
{
  if(!is_user_bot(id))
  {
    for(new i; i < 3; i++)
    {
      switch(i)
      {
        case 0: Update(id);
        case 1: UpdateSkinKills(id);
        #if BNm_Event == 1
        case 2: UpdateEggs(id);
        #endif
      }
    }
    for(new i; i < 33; i++)
    {
      if(!is_user_bot(id) && is_user_connected(i))
      {
        set_hudmessage(0, 255, 0, 0.01, 0.45, 0, 0.0, 2.0, 0.0, 0.0, 3);
        show_hudmessage(i, "%s lecsatlakozott a szerverről!", Player_Info[id][PlayerName]);
      }
    }
    #if BNm_Event == 1
    removedrug(id);
    #endif
  }
}

public plugin_cfg()
{
    g_SqlTuple = SQL_MakeDbTuple(SQLINFO[0], SQLINFO[1], SQLINFO[2], SQLINFO[3]);
    PlayerTable();
    #if BNm_Advert == 1
    AnnouncmentTable();
    #endif
    WeaponKillsTable();

    #if BNm_NYJatek == 1
    PrizeGameTable();
    #endif

    #if BNm_Event == 1
    EggTable();
    #endif
}

#if BNm_Advert == 1
public AnnouncmentTable()
{
  new Len;

  Len += formatex(Query[Len], charsmax(Query), "CREATE TABLE IF NOT EXISTS `Announcments` ");
  Len += formatex(Query[Len], charsmax(Query)-Len, "( ");
  Len += formatex(Query[Len], charsmax(Query)-Len, "`id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,");
  Len += formatex(Query[Len], charsmax(Query)-Len, "`text` VARCHAR(256) NOT NULL)");

  SQL_ThreadQuery(g_SqlTuple, "createTableThread", Query);
}
#endif

#if BNm_NYJatek == 1
public PrizeGameTable()
{
  new Len;
  Len = formatex(Query[Len], charsmax(Query), "CREATE TABLE IF NOT EXISTS `PrizeGame` ");
  Len += formatex(Query[Len], charsmax(Query)-Len, "( ");
  Len += formatex(Query[Len], charsmax(Query)-Len, "`id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,");
  Len += formatex(Query[Len], charsmax(Query)-Len, "`isPrizeGoing` INT(1) NOT NULL,");
  Len += formatex(Query[Len], charsmax(Query)-Len, "`p_EndTime` INT(32) NOT NULL,");
  Len += formatex(Query[Len], charsmax(Query)-Len, "`p_kills` INT(11) NOT NULL,");
  Len += formatex(Query[Len], charsmax(Query)-Len, "`FirstPrize` VARCHAR(64) NOT NULL,");
  Len += formatex(Query[Len], charsmax(Query)-Len, "`SecondPrize` VARCHAR(64) NOT NULL,");
  Len += formatex(Query[Len], charsmax(Query)-Len, "`ThirdPrize` VARCHAR(64) NOT NULL,");
  Len += formatex(Query[Len], charsmax(Query)-Len, "`FirstPrizePhoto` VARCHAR(64) NOT NULL,");
  Len += formatex(Query[Len], charsmax(Query)-Len, "`SecondPrizePhoto` VARCHAR(64) NOT NULL,");
  Len += formatex(Query[Len], charsmax(Query)-Len, "`ThirdPrizePhoto` VARCHAR(64) NOT NULL,");
  Len += formatex(Query[Len], charsmax(Query)-Len, "`steamid` VARCHAR(32) NOT NULL)");

  SQL_ThreadQuery(g_SqlTuple, "createTableThread", Query);
}
#endif
#if BNm_Event == 1
public EggTable()
{
  new Len;
  Len = formatex(Query[Len], charsmax(Query), "CREATE TABLE IF NOT EXISTS `Eggs` ");
  Len += formatex(Query[Len], charsmax(Query)-Len, "( ");
  Len += formatex(Query[Len], charsmax(Query)-Len, "`steamid` VARCHAR(32) NOT NULL,");
  Len += formatex(Query[Len], charsmax(Query)-Len, "`counter` INT(32) NOT NULL, ")
  for(new i; i < MaxSizeEgg; i++)
    Len += formatex(Query[Len], charsmax(Query)-Len, "`egg_%d` INT(32) NOT NULL,", i);
  Len += formatex(Query[Len], charsmax(Query)-Len, "`id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY)");

  SQL_ThreadQuery(g_SqlTuple, "createTableThread", Query);
}
#endif
public PlayerTable()
{
  new Len;

  Len += formatex(Query[Len], charsmax(Query), "CREATE TABLE IF NOT EXISTS `Players` ");
  Len += formatex(Query[Len], charsmax(Query)-Len, "( ");
  Len += formatex(Query[Len], charsmax(Query)-Len, "`id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,");
  Len += formatex(Query[Len], charsmax(Query)-Len, "`name` VARCHAR(32) NOT NULL,");
  Len += formatex(Query[Len], charsmax(Query)-Len, "`steamid` VARCHAR(32) NOT NULL,");
  Len += formatex(Query[Len], charsmax(Query)-Len, "`k_ak47` INT(11) NOT NULL,");
  Len += formatex(Query[Len], charsmax(Query)-Len, "`k_m4a1` INT(11) NOT NULL,");
  Len += formatex(Query[Len], charsmax(Query)-Len, "`k_awp` INT(11) NOT NULL,");
  Len += formatex(Query[Len], charsmax(Query)-Len, "`k_deagle` INT(11) NOT NULL,");
  Len += formatex(Query[Len], charsmax(Query)-Len, "`k_knife` INT(11) NOT NULL,");
  Len += formatex(Query[Len], charsmax(Query)-Len, "`SelectedKnife` INT(3) NOT NULL,");
  Len += formatex(Query[Len], charsmax(Query)-Len, "`SelectedAK` INT(3) NOT NULL,");
  Len += formatex(Query[Len], charsmax(Query)-Len, "`SelectedM4A1` INT(3) NOT NULL,");
  Len += formatex(Query[Len], charsmax(Query)-Len, "`SelectedAWP` INT(3) NOT NULL,");
  Len += formatex(Query[Len], charsmax(Query)-Len, "`SelectedDEAGLE` INT(3) NOT NULL,");
  Len += formatex(Query[Len], charsmax(Query)-Len, "`l_exp` INT(32) NOT NULL,")
  Len += formatex(Query[Len], charsmax(Query)-Len, "`money` INT(32) NOT NULL,")
  Len += formatex(Query[Len], charsmax(Query)-Len, "`isVip` INT(1) NOT NULL,")
  Len += formatex(Query[Len], charsmax(Query)-Len, "`vipTime` INT(32) NOT NULL,")
  Len += formatex(Query[Len], charsmax(Query)-Len, "`PlayTime` INT(32) NOT NULL,")
  Len += formatex(Query[Len], charsmax(Query)-Len, "`Knifeshow` INT(1) NOT NULL,");
  Len += formatex(Query[Len], charsmax(Query)-Len, "`lefthud` INT(1) NOT NULL,");
  Len += formatex(Query[Len], charsmax(Query)-Len, "`bottomhud` INT(1) NOT NULL,");
  Len += formatex(Query[Len], charsmax(Query)-Len, "`spechud` INT(1) NOT NULL,");
  Len += formatex(Query[Len], charsmax(Query)-Len, "`havePrefix` INT(1) NOT NULL,");
  Len += formatex(Query[Len], charsmax(Query)-Len, "`p_kills` INT(11) NOT NULL,");
  Len += formatex(Query[Len], charsmax(Query)-Len, "`ad_level` INT(1) NOT NULL,");
  Len += formatex(Query[Len], charsmax(Query)-Len, "`ad_EndTime` INT(32) NOT NULL,");
  Len += formatex(Query[Len], charsmax(Query)-Len, "`ChatPrefix` VARCHAR(32) NOT NULL,");
  Len += formatex(Query[Len], charsmax(Query)-Len, "`ip` VARCHAR(32) NOT NULL)");
  
  SQL_ThreadQuery(g_SqlTuple, "createTableThread", Query);
}
public WeaponKillsTable()
{
  new Len;

  Len += formatex(Query[Len], charsmax(Query), "CREATE TABLE IF NOT EXISTS `WeaponKills` ");
  Len += formatex(Query[Len], charsmax(Query)-Len, "( ");
  Len += formatex(Query[Len], charsmax(Query)-Len, "`Id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,");
  Len += formatex(Query[Len], charsmax(Query)-Len, "`name` VARCHAR(32) NOT NULL,");

  for(new i; i < WeaponAKSize; i++)
  Len += formatex(Query[Len], charsmax(Query)-Len, "`ak_%i` INT(11) NOT NULL,", i);
  
  for(new i; i < WeaponM4A1Size; i++)
  Len += formatex(Query[Len], charsmax(Query)-Len, "`m4a1_%i` INT(11) NOT NULL,", i);

  for(new i; i < WeaponAWPSize; i++)
  Len += formatex(Query[Len], charsmax(Query)-Len, "`awp_%i` INT(11) NOT NULL,", i);

  for(new i; i < WeaponDeagleSize; i++)
  Len += formatex(Query[Len], charsmax(Query)-Len, "`deagle_%i` INT(11) NOT NULL,", i);

  for(new i; i < WeaponKnifeSize; i++)
  Len += formatex(Query[Len], charsmax(Query)-Len, "`knife_%i` INT(11) NOT NULL,", i);

  Len += formatex(Query[Len], charsmax(Query)-Len, "`steamid` VARCHAR(32) NOT NULL)");
  SQL_ThreadQuery(g_SqlTuple, "createTableThread", Query);
}
public createTableThread(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) 
{
  if(Errcode)
  log_amx("[HIBA*] HIBAT DOBTAM: %s",Error);
  if(FailState == TQUERY_CONNECT_FAILED)
  set_fail_state("[HIBA*] NEM TUDTAM CSATLAKOZNI AZ ADATBAZISHOZ!");
  else if(FailState == TQUERY_QUERY_FAILED)
  set_fail_state("Query Error");
}
public Load_All(id)
{
  new Data[1];
  Data[0] = id;
  for (new i=1; i < 4; i++)
  {
    switch(i)
    {
      case 1:
      {
        formatex(Query, charsmax(Query), "SELECT * FROM `Players` WHERE steamid = ^"%s^";", Player_Info[id][steamid])
        SQL_ThreadQuery(g_SqlTuple, "QuerySelectData", Query, Data, 1);
      }
      case 2:
      {
        formatex(Query, charsmax(Query), "SELECT * FROM `WeaponKills` WHERE steamid = ^"%s^";", Player_Info[id][steamid])
        SQL_ThreadQuery(g_SqlTuple, "QuerySelectSkinKills", Query, Data, 1);
      }
      case 3:
      {
        formatex(Query, charsmax(Query), "SELECT * FROM `Eggs` WHERE steamid = ^"%s^";", Player_Info[id][steamid])
        SQL_ThreadQuery(g_SqlTuple, "QuerySelectEgg", Query, Data, 1);
      }
    }
  }
}
public LoadAnnouncment()
{
  new Data[1];
  formatex(Query, charsmax(Query), "SELECT * FROM `Announcments`;")
  SQL_ThreadQuery(g_SqlTuple, "QuerySelectAnnouncment", Query, Data, 1);
}
#if BNm_NYJatek == 1
public LoadPrizeGame()
{
  new Data[1];
  formatex(Query, charsmax(Query), "SELECT * FROM `PrizeGame`;")
  SQL_ThreadQuery(g_SqlTuple, "QuerySelectPrizeGame", Query, Data, 1);
}
public Load_DataPrize15()
{
  new Data[1];
  formatex(Query, charsmax(Query), "SELECT `p_kills`,`name` FROM `Players` ORDER BY p_kills DESC;");
  SQL_ThreadQuery(g_SqlTuple, "QuerySelectPrize15", Query, Data, 1);
}

public QuerySelectPrize15(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime)
{
  if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED) 
  {
    log_amx("%s", Error)
    return;
  }
  else 
  {
    if(SQL_NumRows(Query) > 0)
    {
      new x = 0;
      while(SQL_MoreResults(Query) && x <= 14)
      {
        Prize_Top15_list[x][kills] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "p_kills"));
        SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "name"), Prize_Top15_list[x][PrizerName], 64);
        x++;
        SQL_NextRow(Query);
      }
    }
  }
}
#endif 

#if BNm_Advert == 1
public QuerySelectAnnouncment(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime)
{
  if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED)
  {
    log_amx("%s", Error);
    return;
  }
  else
  {
    if(SQL_NumRows(Query) > 0) 
    {
      new Temp[256];
      while(SQL_MoreResults(Query))
      {
        SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "text"), Temp, 256);
        ArrayPushString(g_Advert, Temp);
        g_AdvertSize++;
        console_print(0, "%i, %s", g_AdvertSize, Temp);
        SQL_NextRow(Query);
      }
    }
  }
}
#endif
#if BNm_Event == 1
public QuerySelectEgg(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime)
{
  if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED)
  {
    log_amx("%s", Error);
    return;
  }
  else
  {
    new id = Data[0];
    new iString[64];

    if(SQL_NumRows(Query) > 0) 
    {
      OpenedEggCounter[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "counter"));
      for(new i; i < MaxSizeEgg; i++)
      {
        formatex(iString, charsmax(iString), "egg_%d", i);
        Easter_Event[id][i] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, iString));
      }
    }
    else
    {
      SaveEggs(id);
    }
  }
}
#endif
public QuerySelectSkinKills(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime)
{
  if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED)
  {
    log_amx("%s", Error);
    return;
  }
  else
  {
    new id = Data[0];
    new iString[64];

    if(SQL_NumRows(Query) > 0) 
    {
      for(new i; i < WeaponAKSize; i++)
      {
        formatex(iString, charsmax(iString), "ak_%d", i);
        AKSkinKills[id][i][killsinweapon] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, iString));
      }
      
      for(new i; i < WeaponM4A1Size; i++)
      {
        formatex(iString, charsmax(iString), "m4a1_%d", i);
        M4A1SkinKills[id][i][killsinweapon] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, iString));
      }

      for(new i; i < WeaponAWPSize; i++)
      {
        formatex(iString, charsmax(iString), "awp_%d", i);
        AWPSkinKills[id][i][killsinweapon] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, iString));
      }
      for(new i; i < WeaponDeagleSize; i++)
      {
        formatex(iString, charsmax(iString), "deagle_%d", i);
        DeagleSkinKills[id][i][killsinweapon] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, iString));
      }
      for(new i; i < WeaponKnifeSize; i++)
      {
        formatex(iString, charsmax(iString), "knife_%d", i);
        KnifeSkinKills[id][i][killsinweapon] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, iString));
      }
    }
    else
    {
      SaveWeaponKills(id);
    }
  }
}
public QuerySelectData(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime)
{
  if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED)
  {
    log_amx("%s", Error);
    return;
  }
  else
  {
    new id = Data[0];

    if(SQL_NumRows(Query) > 0) 
    {
      Player_Info[id][k_knife] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "k_knife"));
      Player_Info[id][k_ak47] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "k_ak47"));
      Player_Info[id][k_m4a1] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "k_m4a1"));
      Player_Info[id][k_deagle] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "k_deagle"));
      Player_Info[id][k_awp] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "k_awp"));
      Player_Info[id][SelectedKnife] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "SelectedKnife"));
      Player_Info[id][SelectedAK] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "SelectedAK"));
      Player_Info[id][SelectedM4A1] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "SelectedM4A1"));
      Player_Info[id][SelectedAWP] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "SelectedAWP"));
      Player_Info[id][SelectedDEAGLE] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "SelectedDEAGLE"));
      Player_Info[id][havePrefix] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "havePrefix"));
      Player_Info[id][ChatPrefix] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "ChatPrefix"));
      Player_Info[id][l_exp] = (float(SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "l_exp")))/100.0);
      Player_Info[id][money] = (float(SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "money")))/100.0);
      Player_Info[id][v_isVip] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "isVip"));
      Player_Info[id][ad_level] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "ad_level"));
      Player_Info[id][PlayTime] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "PlayTime"));
      if(Player_Info[id][v_isVip])
      Player_Info[id][v_time] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "vipTime"));
      
      SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "ChatPrefix"), Player_Info[id][ChatPrefix], 31);
      Player_Info[id][Knifeshow] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Knifeshow"));


      Player_Info[id][a_Id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "id"));
      Player_Info[id][ad_EndTime] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "ad_EndTime"));
      #if BNm_NYJatek == 1
      PrizeGame[id][kills] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "p_kills"));
      #endif

      Player_Settings[id][s_lefthud] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "lefthud"));
      Player_Settings[id][s_bottomhud] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "bottomhud"));

      Rankadd(id);
      Set_Permissions(id);
    }
    else
    {
      Save(id);
    }
  }
}
#if BNm_NYJatek == 1
public QuerySelectPrizeGame(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime)
{
  if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED)
  {
    log_amx("%s", Error);
    return;
  }
  else
  {

    if(SQL_NumRows(Query) > 0) 
    {
      while(SQL_MoreResults(Query))
      {
        ServerPrizeGame[p_EndTime] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "p_EndTime"));
        ServerPrizeGame[isPrizeGoing] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "isPrizeGoing"));
        SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "FirstPrize"), ServerPrizeGame[FirstPrize], 64);
        SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "SecondPrize"), ServerPrizeGame[SecondPrize], 64);
        SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "ThirdPrize"), ServerPrizeGame[ThirdPrize], 64);
        SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "FirstPrizePhoto"), ServerPrizeGame[FirstPrizePhoto], 64);
        SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "SecondPrizePhoto"), ServerPrizeGame[SecondPrizePhoto], 64);
        SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "ThirdPrizePhoto"), ServerPrizeGame[ThirdPrizePhoto], 64); 
        SQL_NextRow(Query);
      }
    }
  }
}
#endif
public Save(id)
{
new text[512];
formatex(text, charsmax(text), "INSERT INTO `Players` (`steamid`) VALUES (^"%s^");", Player_Info[id][steamid]);

SQL_ThreadQuery(g_SqlTuple, "QuerySetData", text);
}
public SaveWeaponKills(id)
{
new text[512];
formatex(text, charsmax(text), "INSERT INTO `WeaponKills` (`steamid`) VALUES (^"%s^");", Player_Info[id][steamid]);

SQL_ThreadQuery(g_SqlTuple, "QuerySetData", text);
}
#if BNm_Event == 1
public SaveEggs(id)
{
new text[512];
formatex(text, charsmax(text), "INSERT INTO `Eggs` (`steamid`) VALUES (^"%s^");", Player_Info[id][steamid]);

SQL_ThreadQuery(g_SqlTuple, "QuerySetData", text);
}
#endif

#if BNm_Advert == 1
public Anouncment_insert(m_Text[256])
{
  new text[512];
  formatex(text, charsmax(text), "INSERT INTO `Announcments` (`text`) VALUES (^"%s^");", m_Text);
  
  SQL_ThreadQuery(g_SqlTuple, "QuerySetData", text);
}
public Anouncment_delete(m_Text[256])
{
  new text[512];
  formatex(text, charsmax(text), "DELETE FROM `Announcments` WHERE `text` = ^"%s^";", m_Text);
  
  SQL_ThreadQuery(g_SqlTuple, "QuerySetData", text);
}
#endif

#if BNm_NYJatek == 1
public UpdatePrizeKills(id)
{
  new Len;
  Len = formatex(Query[Len], charsmax(Query), "UPDATE `Players` SET p_kills = ^"%i^" WHERE steamid = ^"%s^";", PrizeGame[id][kills], Player_Info[id][steamid]);
  SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query);
}
#endif
public Update(id)
{
  new Len;

  Len += formatex(Query[Len], charsmax(Query), "UPDATE `Players` SET k_knife = ^"%i^", ",Player_Info[id][k_knife]);
  Len += formatex(Query[Len], charsmax(Query)-Len, "k_ak47 = ^"%i^", ", Player_Info[id][k_ak47]);
  Len += formatex(Query[Len], charsmax(Query)-Len, "k_m4a1 = ^"%i^", ", Player_Info[id][k_m4a1]);
  Len += formatex(Query[Len], charsmax(Query)-Len, "k_awp = ^"%i^", ", Player_Info[id][k_awp]);
  Len += formatex(Query[Len], charsmax(Query)-Len, "k_deagle = ^"%i^", ", Player_Info[id][k_deagle]);
  Len += formatex(Query[Len], charsmax(Query)-Len, "SelectedKnife = ^"%i^", ", Player_Info[id][SelectedKnife]);
  Len += formatex(Query[Len], charsmax(Query)-Len, "SelectedAK = ^"%i^", ", Player_Info[id][SelectedAK]);
  Len += formatex(Query[Len], charsmax(Query)-Len, "SelectedM4A1 = ^"%i^", ", Player_Info[id][SelectedM4A1]);
  Len += formatex(Query[Len], charsmax(Query)-Len, "SelectedAWP = ^"%i^", ", Player_Info[id][SelectedAWP]);
  Len += formatex(Query[Len], charsmax(Query)-Len, "SelectedDEAGLE = ^"%i^", ", Player_Info[id][SelectedDEAGLE]);
  Len += formatex(Query[Len], charsmax(Query)-Len, "l_exp = ^"%i^", ", floatround(Player_Info[id][l_exp]*100.0))
  Len += formatex(Query[Len], charsmax(Query)-Len, "money = ^"%i^", ", floatround(Player_Info[id][money]*100.0))
  Len += formatex(Query[Len], charsmax(Query)-Len, "isVip = ^"%i^", ", Player_Info[id][v_isVip]);
  Len += formatex(Query[Len], charsmax(Query)-Len, "ad_level = ^"%i^", ", Player_Info[id][ad_level]);
  Len += formatex(Query[Len], charsmax(Query)-Len, "ad_EndTime = ^"%i^", ", Player_Info[id][ad_EndTime]);
  if(Player_Info[id][v_isVip])
  Len += formatex(Query[Len], charsmax(Query)-Len, "vipTime = ^"%i^", ", Player_Info[id][v_time] - get_user_time(id));
  Len += formatex(Query[Len], charsmax(Query)-Len, "PlayTime = ^"%i^", ", Player_Info[id][PlayTime]+get_user_time(id));
  Len += formatex(Query[Len], charsmax(Query)-Len, "Knifeshow = ^"%i^", ", Player_Info[id][Knifeshow]);

  Len += formatex(Query[Len], charsmax(Query)-Len, "lefthud = ^"%i^", ", Player_Settings[id][s_lefthud]);
  Len += formatex(Query[Len], charsmax(Query)-Len, "bottomhud = ^"%i^", ", Player_Settings[id][s_bottomhud]);

  Len += formatex(Query[Len], charsmax(Query)-Len, "havePrefix = ^"%i^", ", Player_Info[id][havePrefix]);
  Len += formatex(Query[Len], charsmax(Query)-Len, "ChatPrefix = ^"%s^", ", Player_Info[id][ChatPrefix]);

  #if BNm_NYJatek == 1
  Len += formatex(Query[Len], charsmax(Query)-Len, "p_kills = ^"%i^", ", PrizeGame[id][kills]);
  #endif

  Len += formatex(Query[Len], charsmax(Query)-Len, "name = ^"%s^" WHERE steamid = ^"%s^";", Player_Info[id][PlayerName], Player_Info[id][steamid]);
  SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query);
}
public QuerySetData(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
	if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED) {
		log_amx("%s", Error);
		return;
	}
}
public UpdateSkinKills(id)
{
  new Len;

  Len += formatex(Query[Len], charsmax(Query), "UPDATE `WeaponKills` SET name = ^"%s^", ",Player_Info[id][PlayerName]);

  for(new i; i < WeaponAKSize; i++)
  Len += formatex(Query[Len], charsmax(Query)-Len, "ak_%i = ^"%i^", ", i, AKSkinKills[id][i][killsinweapon]);

  for(new i; i < WeaponM4A1Size; i++)
  Len += formatex(Query[Len], charsmax(Query)-Len, "m4a1_%i = ^"%i^", ", i, M4A1SkinKills[id][i][killsinweapon]);

  for(new i; i< WeaponAWPSize; i++)
  Len += formatex(Query[Len], charsmax(Query)-Len, "awp_%i = ^"%i^", ", i, AWPSkinKills[id][i][killsinweapon]);

  for(new i; i < WeaponDeagleSize; i++)
  Len += formatex(Query[Len], charsmax(Query)-Len, "deagle_%i = ^"%i^", ", i, DeagleSkinKills[id][i][killsinweapon]);

  for(new i; i < WeaponKnifeSize; i++)
  Len += formatex(Query[Len], charsmax(Query)-Len, "knife_%i = ^"%i^", ", i, KnifeSkinKills[id][i][killsinweapon]);

  Len += formatex(Query[Len], charsmax(Query)-Len, "name = ^"%s^" WHERE steamid = ^"%s^";", Player_Info[id][PlayerName], Player_Info[id][steamid]);
  SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query);
}
#if BNm_Event == 1
public UpdateEggs(id)
{
  new Len;

  Len += formatex(Query[Len], charsmax(Query), "UPDATE `Eggs` SET egg_0 = ^"%i^", ",Easter_Event[id][0]);

  for(new i=1; i < MaxSizeEgg; i++)
    Len += formatex(Query[Len], charsmax(Query)-Len, "egg_%i = ^"%i^", ", i, Easter_Event[id][i]);

  Len += formatex(Query[Len], charsmax(Query)-Len, "counter = ^"%i^" WHERE steamid = ^"%s^";", OpenedEggCounter[id], Player_Info[id][steamid]);
  SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query);
}
#endif
public cmdSayHookAll(id)
{
  new Message[256];
  read_args(Message, charsmax(Message))
  remove_quotes(Message);
  cmdSayHook(id, false, Message);
  return PLUGIN_HANDLED;
}
public cmdSayHookTeam(id)
{
  new Message[256];
  read_args(Message, charsmax(Message))
  remove_quotes(Message);
  cmdSayHook(id, true, Message);
  return PLUGIN_HANDLED;
}
public cmdSayHook(id,bool:csapat, Message[256])
{
  if(!is_user_connected(id))
    return PLUGIN_HANDLED;
  new Status[20], Lenght;

  if(Message[0] == '@' || equal (Message, "") || Message[0] == '/')
    return PLUGIN_HANDLED;    
  
  if(!is_user_alive(id))  
    Status = "*Halott* ";

  Lenght += formatex(String[Lenght], charsmax(String)-Lenght, "^1%s", Status);
  

  if(Player_Info[id][ad_level] > 0)
    Lenght += formatex(String[Lenght], charsmax(String)-Lenght, "^4%s", AdminPermissions[Player_Info[id][ad_level]][0]);

  if(Player_Info[id][v_isVip] && !(get_user_flags(id) & ADMIN_LEVEL_H) )
    Lenght += formatex(String[Lenght], charsmax(String)-Lenght, "^4[V.I.P]");

  if(Player_Info[id][havePrefix])
    Lenght += formatex(String[Lenght], charsmax(String)-Lenght, "^4[%s]", Player_Info[id][ChatPrefix]);

  new any:PlayerTeam;
  if(is_user_connected(id))
    PlayerTeam = cs_get_user_team(id);

  Lenght += formatex(String[Lenght], charsmax(String)-Lenght, "^4[%s]", Player_Info[id][l_name]);

  if(csapat == true)
  {
    switch(PlayerTeam)
    {
      case CS_TEAM_CT: Lenght += formatex(String[Lenght], charsmax(String)-Lenght, "^3(CT) ");
      case CS_TEAM_T: Lenght += formatex(String[Lenght], charsmax(String)-Lenght, "^3(T) ");
      case CS_TEAM_SPECTATOR: Lenght += formatex(String[Lenght], charsmax(String)-Lenght, "^3(S) ");
    }
  }

  if(Player_Info[id][ad_level] > 0) 
    Lenght += formatex(String[Lenght], charsmax(String)-Lenght, "^3%s:^4", Player_Info[id][PlayerName]);
  else
    Lenght += formatex(String[Lenght], charsmax(String)-Lenght, "^3%s:^1", Player_Info[id][PlayerName]);

  format(Message, charsmax(Message), "%s %s", String, Message)

  new any:recentPlayerid;
  for(new i; i < MaxPlayerInServer; i++)
  {
    if(!is_user_connected(i))
      continue;
    if(csapat == false)
    {
      if(PlayerTeam == CS_TEAM_CT)
        client_print_color(i, id, Message);
      else if(PlayerTeam == CS_TEAM_T)
        client_print_color(i, id, Message);
      else
        client_print_color(i, id, Message);
    }
    else if(csapat == true)
    {
      recentPlayerid = cs_get_user_team(i);
      if(recentPlayerid == PlayerTeam || Player_Info[i][ad_level] > 0)
        client_print_color(i, id, Message);
    }
  }
  return PLUGIN_HANDLED;
}

public plugin_end()
{
  SQL_FreeHandle(g_SqlTuple);
  #if BNm_Advert == 1
  ArrayDestroy(g_Advert);
  #endif
}
