#include <amxmodx>
#include <engine>
#include <fakemeta>
#include <colorchat>
#include <cstrike>
#include <sqlx>
 
#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "author"
 
#define KILL_POINT 1
#define HEADSHOT_POINT 5
 
new const SQL_INFO[][] = {
    "mysql.srkhost.eu",    // HOST
    "",     // USERNAME
    "",     // PASSWORD
    ""      // DATABASE
}
 
new Handle:g_SqlTuple;
 
enum _:GunDatas {
    M4A1,
    AK47,
    AWP,
    SCOUT,
    FAMAS,
    GALIL,
    AUG,
    M3,
    XM1014,
    KNIFE,
    DEAGLE,
    USP,
    GLOCK
}
new g_SelectedGun[GunDatas][33], g_uPoints[GunDatas][33], g_Wpn[33];
new Steamid[64];
 
new const PREFIX[] = "\w[\y<<< DarK*_*Knight >>>\w] ~\y Fun\w"
new const C_Perfix[] = "[<<< DarK*_*Knight >>>]"
 
enum _:DATA {
    GunName[64],
    ModelName[64],
    Points[8],
    AnimType[8]
}
new const WeaponM4A1[][DATA] = {
    {"M4A1 | Default", "models/v_m4a1.mdl", 0, },
    {"M4A1 | Asiimow", "models/darkknight_skinek/m4a1/v_m4a1_asiimov.mdl", 0, },
    {"M4A1 | Basilisk", "models/darkknight_skinek/m4a1/v_m4a1_basilisk.mdl", 50, },
    {"M4A1 | Chanticos Fire", "models/darkknight_skinek/m4a1/v_m4a1_chanticos-fire.mdl", 100, },
    {"M4A1 | Condor", "models/darkknight_skinek/m4a1/v_m4a1_condor.mdl", 150, },
    {"M4A1 | Decimator", "models/darkknight_skinek/m4a1/v_m4a1_decimator.mdl", 200, },
    {"M4A1 | Desolate Space", "models/darkknight_skinek/m4a1/v_m4a1_desolate-space.mdl", 250, },
    {"M4A1 | Dragon King", "models/darkknight_skinek/m4a1/v_m4a1_dragon_king.mdl", 300, },
    {"M4A1 | Fire", "models/darkknight_skinek/m4a1/v_m4a1_fire.mdl", 350, },
    {"M4A1 | Firestyle", "models/darkknight_skinek/m4a1/v_m4a1_firestyle.mdl", 400, },
    {"M4A1 | Flashback", "models/darkknight_skinek/m4a1/v_m4a1_flashback.mdl", 450, },
    {"M4A1 | Frontsite Misty", "models/darkknight_skinek/m4a1/v_m4a1_frontsite_misty.mdl", 500, },
    {"M4A1 | Frost", "models/darkknight_skinek/m4a1/v_m4a1_Frost.mdl", 550, },
    {"M4A1 | Golden Coil", "models/darkknight_skinek/m4a1/v_m4a1_golden_coil.mdl", 600, },
    {"M4A1 | Hellfire", "models/darkknight_skinek/m4a1/v_m4a1_Hellfire.mdl", 650, },
    {"M4A1 | Hot Lava", "models/darkknight_skinek/m4a1/v_m4a1_hot_lava.mdl", 700, },
    {"M4A1 | Icarus Fell",  "models/darkknight_skinek/m4a1/v_m4a1_icarus-fell.mdl", 750, },
    {"M4A1 | Master Pice", "models/darkknight_skinek/m4a1/v_m4a1_master_piece.mdl", 800, },
    {"M4A1 | Mecha Industries", "models/darkknight_skinek/m4a1/v_m4a1_mecha-industries.mdl", 850, },
    {"M4A1 | Neon Mist", "models/darkknight_skinek/m4a1/v_m4a1_neon-mist.mdl", 900, },
    {"M4A1 | Sticker", "models/darkknight_skinek/m4a1/v_m4a1_sticker.mdl", 950, },
    {"M4A1 | Vanquish", "models/darkknight_skinek/m4a1/v_m4a1_vanquish.mdl", 1000, },
    {"M4A1 | CSO Kitty", "models/darkknight_skinek/m4a1/v_m4a1_Kitty.mdl", 1050, },
    {"M4A1 | Nightmare", "models/darkknight_skinek/m4a1/v_m4a1_nightmare.mdl", 1100, },
    {"M4A1 | Colored", "models/darkknight_skinek/m4a1/v_m4a1_Colored.mdl", 11500, }
}
new const WeaponAK47[][DATA] = {
    {"AK47 | Default", "models/v_ak47.mdl", 0, },
    {"AK47 | Akihabara Accept", "models/darkknight_skinek/ak47/v_ak47_akihabara-accept.mdl", 0, },
    {"AK47 | Anubis", "models/darkknight_skinek/ak47/v_ak47_anubis.mdl", 50, },
    {"AK47 | Aquamarine Revenge", "models/darkknight_skinek/ak47/v_ak47_aquamarine-revenge.mdl", 100, },
    {"AK47 | Astronaut", "models/darkknight_skinek/ak47/v_ak47_astronaut.mdl", 150, },
    {"AK47 | Black Cartel", "models/darkknight_skinek/ak47/v_ak47_black-cartel.mdl", 200, },
    {"AK47 | Bloodsport", "models/darkknight_skinek/ak47/v_ak47_bloodsport.mdl", 250, },
    {"AK47 | Blue", "models/darkknight_skinek/ak47/v_ak47_blue.mdl", 300, },
    {"AK47 | Chrome", "models/darkknight_skinek/ak47/v_ak47_chrome.mdl", 350, },
    {"AK47 | Curzon", "models/darkknight_skinek/ak47/v_ak47_curzon.mdl", 400, },
    {"AK47 | Desert Camo", "models/darkknight_skinek/ak47/v_ak47_desert_camo.mdl", 450, },
    {"AK47 | Dream and Nightmare", "models/darkknight_skinek/ak47/v_ak47_Dream and Nightmare.mdl", 500, },
    {"AK47 | Fire", "models/darkknight_skinek/ak47/v_ak47_fire.mdl", 550, },
    {"AK47 | Fireserpent", "models/darkknight_skinek/ak47/v_ak47_fireserpent.mdl", 600, },
    {"AK47 | Forest Camo", "models/darkknight_skinek/ak47/v_ak47_forest-camo.mdl", 650, },
    {"AK47 | Frontside Misty", "models/darkknight_skinek/ak47/v_ak47_frontside_misty.mdl", 700, },
    {"AK47 | Fuel Injector", "models/darkknight_skinek/ak47/v_ak47_fuel-injector.mdl", 750, },
    {"AK47 | Furious Peacock", "models/darkknight_skinek/ak47/v_ak47_furious-peacock.mdl", 800, },
    {"AK47 | Galaxy", "models/darkknight_skinek/ak47/v_ak47_galaxy.mdl", 850, },
    {"AK47 | Neon Revolution", "models/darkknight_skinek/ak47/v_ak47_neon-revolution.mdl", 900, },
    {"AK47 | Nephlim", "models/darkknight_skinek/ak47/v_ak47_Nephlim.mdl", 950, },
    {"AK47 | Nox", "models/darkknight_skinek/ak47/v_ak47_Nox.mdl", 1000, },
    {"AK47 | Pheonix", "models/darkknight_skinek/ak47/v_ak47_pheonix.mdl", 1050, },
    {"AK47 | Poison Sakura", "models/darkknight_skinek/ak47/v_ak47_Poison Sakura.mdl", 1050, },
    {"AK47 | Redline", "models/darkknight_skinek/ak47/v_ak47_redline.mdl", 1100, },
    {"AK47 | Robotto", "models/darkknight_skinek/ak47/v_ak47_robotto.mdl", 1150, },
    {"AK47 | Shadow Liquid", "models/darkknight_skinek/ak47/v_ak47_shadow_liquid.mdl", 1200, },
    {"AK47 | Vulcan", "models/darkknight_skinek/ak47/v_ak47_vulcan.mdl", 1250, },
    {"AK47 | Wasteland Rebel", "models/darkknight_skinek/ak47/v_ak47_wasteland-rebel.mdl", 1300, }
}
new const WeaponAWP[][DATA] = {
    {"AWP | Default", "models/v_awp.mdl", 0, },
    {"AWP | Asiimov Fnatic", "models/darkknight_skinek/awp/v_awp_asiimov-fnatic.mdl", 0, },
    {"AWP | Banshee", "models/darkknight_skinek/awp/v_awp_banshee.mdl", 50, },
    {"AWP | Black Chrome", "models/darkknight_skinek/awp/v_awp_black-chrome.mdl", 100, },
    {"AWP | Cyrex", "models/darkknight_skinek/awp/v_awp_cyrex.mdl", 150, },
    {"AWP | Dragon Lore", "models/darkknight_skinek/awp/v_awp_dragon-lore.mdl", 200, },
    {"AWP | Fever Dream", "models/darkknight_skinek/awp/v_awp_fever-dream.mdl", 250, },
    {"AWP | Golden", "models/darkknight_skinek/awp/v_awp_golden.mdl", 300, },
    {"AWP | Frontside Misty", "models/darkknight_skinek/awp/v_awp_frontside-misty.mdl", 350, },
    {"AWP | Lightning Strike", "models/darkknight_skinek/awp/v_awp_lightning-strike.mdl", 400, },
    {"AWP | Malaysia", "models/darkknight_skinek/awp/v_awp_malaysia.mdl", 450, },
    {"AWP | Raptor", "models/darkknight_skinek/awp/v_awp_raptor.mdl", 500, },
    {"AWP | Red Puzzle", "models/darkknight_skinek/awp/v_awp_red-puzzle.mdl", 550, },
    {"AWP | Snow", "models/darkknight_skinek/awp/v_awp_snow.mdl", 600, }
}
new const WeaponSCOUT[][DATA] = {
    {"SCOUT | Default", "models/v_scout.mdl", 0, },
    {"SCOUT | Blue Diamond", "models/darkknight_skinek/scout/v_scout_bluediamond.mdl", 0, }
}
new const WeaponFAMAS[][DATA] = {
    {"FAMAS | Default", "models/v_famas.mdl", 0, },
    {"FAMAS | 4TH", "models/darkknight_skinek/famas/v_famas_4th.mdl", 50,  },
    {"FAMAS | Balrog", "models/darkknight_skinek/famas/v_famas_balrog.mdl", 100,  },
    {"FAMAS | Hunter", "models/darkknight_skinek/famas/v_famas_hunter.mdl", 150,  },
    {"FAMAS | Red Destiny", "models/darkknight_skinek/famas/v_famas_red_destiny.mdl", 200, },
    {"FAMAS | Roll Cage", "models/darkknight_skinek/famas/v_famas_roll_cage.mdl", 250, },
    {"FAMAS | SFWC", "models/darkknight_skinek/famas/v_famas_sfwc.mdl", 300, },
    {"FAMAS | Spitfire", "models/darkknight_skinek/famas/v_famas_spitfire.mdl", 350, },
    {"FAMAS | Survivor", "models/darkknight_skinek/famas/v_famas_survivor.mdl", 400, },
    {"FAMAS | Commemoration", "models/darkknight_skinek/famas/v_famas_Commemoration.mdl", 450, }
}
new const WeaponGALIL[][DATA] = {
    {"GALIL | Default", "models/v_galil.mdl", 0, },
    {"GALIL | Black N White", "models/darkknight_skinek/galil/v_galil_black-n-white.mdl", 0, },
    {"GALIL | Cerberus", "models/darkknight_skinek/galil/v_galil_cerberus.mdl",  50, },
    {"GALIL | Stone Cold", "models/darkknight_skinek/galil/v_galil_stone-cold.mdl",  100, }
}
new const WeaponAUG[][DATA] = {
    {"AUG | Default", "models/v_aug.mdl", 0, },
    {"AUG | Woodland Camouflage", "models/darkknight_skinek/aug/v_aug_Woodland Camouflage.mdl", 0, },
    {"AUG | Syd Mead", "models/darkknight_skinek/aug/v_aug_syd_mead.mdl", 50, },
    {"AUG | Green Light", "models/darkknight_skinek/aug/v_aug_green_light.mdl", 100, },
    {"AUG | Cat", "models/darkknight_skinek/aug/v_aug_cat.mdl", 150, },
    {"AUG | Chameleon", "models/darkknight_skinek/aug/v_aug_Chameleon.mdl", 200, },
    {"AUG | Akihabara_Accept", "models/darkknight_skinek/aug/v_aug_Akihabara_Accept.mdl", 250, },
    {"AUG | Blue Horizon", "models/darkknight_skinek/aug/v_aug_Blue_Horizon.mdl", 300, },
    {"AUG | Desert Cam", "models/darkknight_skinek/aug/v_aug_desertcam.mdl", 350, },
    {"AUG | Leopard", "models/darkknight_skinek/aug/v_aug_leopard.mdl", 400, }
}
new const WeaponM3[][DATA] = {
    {"M3 | Default", "models/v_m3.mdl", 0, },
}
new const WeaponXM1014[][DATA] = {
    {"XM1014 | Default", "models/v_xm1014.mdl", 0, },
    {"XM1014 | Arcturus", "models/darkknight_skinek/xm1014/v_xm1014_arcturus.mdl", 0, },
    {"XM1014 | Balrog Xi Blue", "models/darkknight_skinek/xm1014/v_xm1014_balrog-xi-blue.mdl", 50, },
    {"XM1014 | Balrog Xi Red", "models/darkknight_skinek/xm1014/v_xm1014_balrog-xi-red.mdl", 100, },
    {"XM1014 | CSS", "models/darkknight_skinek/xm1014/v_xm1014_CSS.mdl", 150, },
    {"XM1014 | Heaven Guard", "models/darkknight_skinek/xm1014/v_xm1014_heaven-guard.mdl", 200, },
    {"XM1014 | Seasons", "models/darkknight_skinek/xm1014/v_xm1014_seasons.mdl", 250, },
    {"XM1014 | Teclu Burner", "models/darkknight_skinek/xm1014/v_xm1014_teclu_burner.mdl", 300, },
    {"XM1014 | Tranquility", "models/darkknight_skinek/xm1014/v_xm1014_tranquility.mdl", 350, },
    {"XM1014 | Black Tie", "models/darkknight_skinek/xm1014/v_xm1014-black-tie.mdl", 400, }
}
new const WeaponKNIFE[][DATA] = {
    {"KNIFE | Default", "models/v_knife.mdl", 0, },
    {"KNIFE | Bayonet Slaughter", "models/darkknight_skinek/knife/v_knife_bayonet_slaughter.mdl", 0, },
    {"KNIFE | Bloody M9 Touch Redux", "models/darkknight_skinek/knife/v_knife_Touch Redux.mdl", 50, }
}
new const WeaponDEAGLE[][DATA] = {
    {"DEAGLE | Default", "models/v_deagle.mdl", 0, },
    {"DEAGLE | Asiimov", "models/darkknight_skinek/deagle/v_deagle_asiimov.mdl", 0, },
    {"DEAGLE | Blaze", "models/darkknight_skinek/deagle/v_deagle_blaze.mdl", 50, },
    {"DEAGLE | Blood Sport", "models/darkknight_skinek/deagle/v_deagle_bloodsport.mdl", 100, },
    {"DEAGLE | Cobalt Disruption", "models/darkknight_skinek/deagle/v_deagle_cobalt-disruption.mdl", 150, },
    {"DEAGLE | Debra", "models/darkknight_skinek/deagle/v_deagle_debra.mdl", 200, },
    {"DEAGLE | Devil", "models/darkknight_skinek/deagle/v_deagle_devil.mdl", 250, },
    {"DEAGLE | Dragon", "models/darkknight_skinek/deagle/v_deagle_eagle_glory.mdl", 300, },
    {"DEAGLE | Emperor Dragon", "models/darkknight_skinek/deagle/v_deagle_emperor_dragon.mdl", 350, },
    {"DEAGLE | Neon Electro", "models/darkknight_skinek/deagle/v_deagle_neon-electro.mdl", 400, },
    {"DEAGLE | OAKLEY", "models/darkknight_skinek/deagle/v_deagle_OAKLEY.mdl", 450, },
    {"DEAGLE | Oxide Blaze", "models/darkknight_skinek/deagle/v_deagle_oxide_blaze.mdl", 500, },
    {"DEAGLE | Redline", "models/darkknight_skinek/deagle/v_deagle_redline.mdl", 550, },
    {"DEAGLE | Urban Camo", "models/darkknight_skinek/deagle/v_deagle_urban-camo.mdl", 600, }
}
new const WeaponUSP[][DATA] = {
    {"USP | Default", "models/v_usp.mdl", 0, },
    {"USP | Caiman", "models/darkknight_skinek/usp/v_usp_caiman.mdl", 0, },
    {"USP | Comet", "models/darkknight_skinek/usp/v_usp_comet.mdl", 50, },
    {"USP | Cyrex", "models/darkknight_skinek/usp/v_usp_cyrex.mdl", 100, },
    {"USP | Kill Confirmed", "models/darkknight_skinek/usp/v_usp_Kill Confirmed.mdl", 150, }
}
new const WeaponGLOCK[][DATA] = {
    {"GLOCK18 | Default", "models/v_glock18.mdl", 0, },
    {"GLOCK18 | Attention", "models/darkknight_skinek/glock18/v_glock18_attention.mdl", 0, },
    {"GLOCK18 | Blue Fissure", "models/darkknight_skinek/glock18/v_glock18_blue-fissure.mdl", 50, },
    {"GLOCK18 | Candy Apple", "models/darkknight_skinek/glock18/v_glock18_candy-apple.mdl", 100, },
    {"GLOCK18 | Cubes World", "models/darkknight_skinek/glock18/v_glock18_cubes-world.mdl", 150, },
    {"GLOCK18 | Death Rattle", "models/darkknight_skinek/glock18/v_glock18_death-rattle.mdl", 200, },
    {"GLOCK18 | Flame", "models/darkknight_skinek/glock18/v_glock18_flame.mdl", 300, },
    {"GLOCK18 | Glamour", "models/darkknight_skinek/glock18/v_glock18_glamour.mdl", 350, },
    {"GLOCK18 | Lime Fade", "models/darkknight_skinek/glock18/v_glock18_lime-fade.mdl", 350, },
    {"GLOCK18 | Reactor", "models/darkknight_skinek/glock18/v_glock18_reactor.mdl", 350, },
    {"GLOCK18 | Redline", "models/darkknight_skinek/glock18/v_glock18_redline.mdl", 400, },
    {"GLOCK18 | The_Watcher", "models/darkknight_skinek/glock18/v_glock18_The_Watcher.mdl", 450, },
    {"GLOCK18 | Turtle", "models/darkknight_skinek/glock18/v_glock18_turtle.mdl", 500, },
    {"GLOCK18 | Universe", "models/darkknight_skinek/glock18/v_glock18_universe.mdl", 550, },
    {"GLOCK18 | Wulcan", "models/darkknight_skinek/glock18/v_glock18_vulcan.mdl", 600, },
    {"GLOCK18 | Wasteland Rebel", "models/darkknight_skinek/glock18/v_glock18_wasteland-rebel.mdl", 650, },
    {"GLOCK18 | Water Element", "models/darkknight_skinek/glock18/v_glock18_water_element.mdl", 700, },
    {"GLOCK18 | Weasel", "models/darkknight_skinek/glock18/v_glock18_weasel.mdl", 750, },
    {"GLOCK18 | Clear Polymer", "models/darkknight_skinek/glock18/v_glock18_Clear_Polymer.mdl", 800, }
}   
new const MainStrings[][] = {
    "M4A1 Skinek",
    "AK47 Skinek",
    "AWP Skinek", 
    "SCOUT Skinek",
    "FAMAS Skinek",
    "GALIL Skinek",
    "AUG Skinek",
    "M3 Skinek",
    "XM1014 Skinek",
    "KNIFE Skinek",
    "DEAGLE Skinek",
    "USP Skinek",
    "GLOCK18 Skinek"
}
public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR)
    register_clcmd("say /menu", "openMainMenu")
    register_clcmd("say /add", "Addolas")
    register_impulse(201, "openMainMenu");
    register_event("DeathMsg","Halal","a")
    register_event("CurWeapon", "evChangeWeapon", "be", "1=1")
}
public Addolas(id)
{
    g_uPoints[M4A1][id] += 50
    g_uPoints[AK47][id] += 50
    g_uPoints[AWP][id] += 50
    g_uPoints[SCOUT][id] += 50
    g_uPoints[FAMAS][id] += 50
    g_uPoints[GALIL][id] += 50
    g_uPoints[AUG][id] += 50
    g_uPoints[M3][id] += 50
    g_uPoints[XM1014][id] += 50
    g_uPoints[KNIFE][id] += 50
    g_uPoints[DEAGLE][id] += 50
    g_uPoints[USP][id] += 50
    g_uPoints[GLOCK][id] += 50;
}
public plugin_precache() {  
    for(new i;i < sizeof(WeaponM4A1); i++) precache_model(WeaponM4A1[i][ModelName])
    for(new i;i < sizeof(WeaponAK47); i++) precache_model(WeaponAK47[i][ModelName])
    for(new i;i < sizeof(WeaponAWP); i++) precache_model(WeaponAWP[i][ModelName])
    for(new i;i < sizeof(WeaponSCOUT); i++) precache_model(WeaponSCOUT[i][ModelName])
    for(new i;i < sizeof(WeaponFAMAS); i++) precache_model(WeaponFAMAS[i][ModelName])
    for(new i;i < sizeof(WeaponGALIL); i++) precache_model(WeaponGALIL[i][ModelName])
    for(new i;i < sizeof(WeaponAUG); i++) precache_model(WeaponAUG[i][ModelName])
    for(new i;i < sizeof(WeaponM3); i++) precache_model(WeaponM3[i][ModelName])
    for(new i;i < sizeof(WeaponXM1014); i++) precache_model(WeaponXM1014[i][ModelName])
    for(new i;i < sizeof(WeaponKNIFE); i++) precache_model(WeaponKNIFE[i][ModelName])
    for(new i;i < sizeof(WeaponDEAGLE); i++) precache_model(WeaponDEAGLE[i][ModelName])
    for(new i;i < sizeof(WeaponUSP); i++) precache_model(WeaponUSP[i][ModelName])
    for(new i;i < sizeof(WeaponGLOCK); i++) precache_model(WeaponGLOCK[i][ModelName])
}
public evChangeWeapon(id) {
    switch(get_user_weapon(id)) {
        case CSW_M4A1: entity_set_string(id, EV_SZ_viewmodel, WeaponM4A1[g_SelectedGun[M4A1][id]][ModelName]);
            case CSW_AK47: entity_set_string(id, EV_SZ_viewmodel, WeaponAK47[g_SelectedGun[AK47][id]][ModelName]);
            case CSW_AWP: entity_set_string(id, EV_SZ_viewmodel, WeaponAWP[g_SelectedGun[AWP][id]][ModelName]);
            case CSW_SCOUT: entity_set_string(id, EV_SZ_viewmodel, WeaponSCOUT[g_SelectedGun[SCOUT][id]][ModelName]);
            case CSW_FAMAS: entity_set_string(id, EV_SZ_viewmodel, WeaponFAMAS[g_SelectedGun[FAMAS][id]][ModelName]);
            case CSW_GALIL: entity_set_string(id, EV_SZ_viewmodel, WeaponGALIL[g_SelectedGun[GALIL][id]][ModelName]);
            case CSW_AUG: entity_set_string(id, EV_SZ_viewmodel, WeaponAUG[g_SelectedGun[AUG][id]][ModelName]);
            case CSW_M3: entity_set_string(id, EV_SZ_viewmodel, WeaponM3[g_SelectedGun[M3][id]][ModelName]);
            case CSW_XM1014: entity_set_string(id, EV_SZ_viewmodel, WeaponXM1014[g_SelectedGun[XM1014][id]][ModelName]);
            case CSW_KNIFE: entity_set_string(id, EV_SZ_viewmodel, WeaponKNIFE[g_SelectedGun[KNIFE][id]][ModelName]);
            case CSW_DEAGLE: entity_set_string(id, EV_SZ_viewmodel, WeaponDEAGLE[g_SelectedGun[DEAGLE][id]][ModelName]);
            case CSW_USP: entity_set_string(id, EV_SZ_viewmodel, WeaponUSP[g_SelectedGun[USP][id]][ModelName]);
            case CSW_GLOCK18: entity_set_string(id, EV_SZ_viewmodel, WeaponGLOCK[g_SelectedGun[GLOCK][id]][ModelName]);
        }
    return PLUGIN_CONTINUE
}
public Halal() {
    
    new iAttacker = read_data(1)
    new iVictim = read_data(2)
    new iHs = read_data(3)
    if(iAttacker == iVictim || iAttacker == 0) return PLUGIN_HANDLED
    new iPoints = iHs ? HEADSHOT_POINT : KILL_POINT
    switch(get_user_weapon(iAttacker)) {
        case CSW_M4A1: g_uPoints[M4A1][iAttacker] += iPoints
            case CSW_AK47: g_uPoints[AK47][iAttacker] += iPoints
            case CSW_AWP: g_uPoints[AWP][iAttacker] += iPoints
            case CSW_SCOUT: g_uPoints[SCOUT][iAttacker] += iPoints
            case CSW_FAMAS: g_uPoints[FAMAS][iAttacker] += iPoints
            case CSW_GALIL: g_uPoints[GALIL][iAttacker] += iPoints
            case CSW_AUG: g_uPoints[AUG][iAttacker] += iPoints
            case CSW_M3: g_uPoints[M3][iAttacker] += iPoints
            case CSW_XM1014: g_uPoints[XM1014][iAttacker] += iPoints
            case CSW_KNIFE: g_uPoints[KNIFE][iAttacker] += iPoints
            case CSW_DEAGLE: g_uPoints[DEAGLE][iAttacker] += iPoints
            case CSW_USP: g_uPoints[USP][iAttacker] += iPoints
            case CSW_GLOCK18: g_uPoints[GLOCK][iAttacker] += iPoints
        }
    set_hudmessage(random(256), random(256), random(256), -1.0, 0.85, 0, 6.0, 3.0);
    show_hudmessage(iAttacker, "+%i Pont", iPoints);
    return PLUGIN_CONTINUE;
}
public openMainMenu(id) {
    new szMenu[121], String[6]
    formatex(szMenu, charsmax(szMenu), "%s \wFőmenü", PREFIX)
    new menu = menu_create(szMenu, "hMainMenu");
    
    for(new i ;i < sizeof(MainStrings); i++) {
        num_to_str(i, String, 5)
        formatex(szMenu, charsmax(szMenu), MainStrings[i]);
        menu_additem(menu, szMenu, String);
    }
    menu_display(id, menu, 0);
    return PLUGIN_HANDLED;
}
public hMainMenu(id, menu, item) {
    if(item == MENU_EXIT) {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }
    g_Wpn[id] = item+1
    openSkinMenu(id)
    menu_destroy(menu);
    return PLUGIN_HANDLED;
}
public openSkinMenu(id) {
    new szMenu[121], szMenu2[64], String[6]
    if(g_Wpn[id] == 1) formatex(szMenu, charsmax(szMenu), "%s \w%s^n\wPont: \y%i\d", PREFIX, MainStrings[g_Wpn[id]-1], g_uPoints[M4A1][id])
    else if(g_Wpn[id] == 2) formatex(szMenu, charsmax(szMenu), "%s \w%s^n\wPont: \y%i\d", PREFIX, MainStrings[g_Wpn[id]-1], g_uPoints[AK47][id])
        else if(g_Wpn[id] == 3) formatex(szMenu, charsmax(szMenu), "%s \w%s^n\wPont: \y%i\d", PREFIX, MainStrings[g_Wpn[id]-1], g_uPoints[AWP][id])
        else if(g_Wpn[id] == 4) formatex(szMenu, charsmax(szMenu), "%s \w%s^n\wPont: \y%i\d", PREFIX, MainStrings[g_Wpn[id]-1], g_uPoints[SCOUT][id])
        else if(g_Wpn[id] == 5) formatex(szMenu, charsmax(szMenu), "%s \w%s^n\wPont: \y%i\d", PREFIX, MainStrings[g_Wpn[id]-1], g_uPoints[FAMAS][id])
        else if(g_Wpn[id] == 6) formatex(szMenu, charsmax(szMenu), "%s \w%s^n\wPont: \y%i\d", PREFIX, MainStrings[g_Wpn[id]-1], g_uPoints[GALIL][id])
        else if(g_Wpn[id] == 7) formatex(szMenu, charsmax(szMenu), "%s \w%s^n\wPont: \y%i\d", PREFIX, MainStrings[g_Wpn[id]-1], g_uPoints[AUG][id])
        else if(g_Wpn[id] == 8) formatex(szMenu, charsmax(szMenu), "%s \w%s^n\wPont: \y%i\d", PREFIX, MainStrings[g_Wpn[id]-1], g_uPoints[M3][id])
        else if(g_Wpn[id] == 9) formatex(szMenu, charsmax(szMenu), "%s \w%s^n\wPont: \y%i\d", PREFIX, MainStrings[g_Wpn[id]-1], g_uPoints[XM1014][id])
        else if(g_Wpn[id] == 10) formatex(szMenu, charsmax(szMenu), "%s \w%s^n\wPont: \y%i\d", PREFIX, MainStrings[g_Wpn[id]-1], g_uPoints[KNIFE][id])
        else if(g_Wpn[id] == 11) formatex(szMenu, charsmax(szMenu), "%s \w%s^n\wPont: \y%i\d", PREFIX, MainStrings[g_Wpn[id]-1], g_uPoints[DEAGLE][id])
        else if(g_Wpn[id] == 12) formatex(szMenu, charsmax(szMenu), "%s \w%s^n\wPont: \y%i\d", PREFIX, MainStrings[g_Wpn[id]-1], g_uPoints[USP][id])
        else if(g_Wpn[id] == 13) formatex(szMenu, charsmax(szMenu), "%s \w%s^n\wPont: \y%i\d", PREFIX, MainStrings[g_Wpn[id]-1], g_uPoints[GLOCK][id])
        new menu = menu_create(szMenu, "hSkinChooser");
    if(g_Wpn[id] == 1) formatex(szMenu, charsmax(szMenu), "%s \w%s^n\wPontjaid: \y%i\d", PREFIX,
    MainStrings[g_Wpn[id]-1], g_uPoints[M4A1][id])
    if(g_Wpn[id] == 2) formatex(szMenu, charsmax(szMenu), "%s \w%s^n\wPontjaid: \y%i\d", PREFIX,
    MainStrings[g_Wpn[id]-1], g_uPoints[AK47][id])
    if(g_Wpn[id] == 3) formatex(szMenu, charsmax(szMenu), "%s \w%s^n\wPontjaid: \y%i\d", PREFIX,
    MainStrings[g_Wpn[id]-1], g_uPoints[AWP][id])
    if(g_Wpn[id] == 4) formatex(szMenu, charsmax(szMenu), "%s \w%s^n\wPontjaid: \y%i\d", PREFIX,
    MainStrings[g_Wpn[id]-1], g_uPoints[SCOUT][id])
    if(g_Wpn[id] == 5) formatex(szMenu, charsmax(szMenu), "%s \w%s^n\wPontjaid: \y%i\d", PREFIX,
    MainStrings[g_Wpn[id]-1], g_uPoints[FAMAS][id])
    if(g_Wpn[id] == 6) formatex(szMenu, charsmax(szMenu), "%s \w%s^n\wPontjaid: \y%i\d", PREFIX,
    MainStrings[g_Wpn[id]-1], g_uPoints[GALIL][id])
    if(g_Wpn[id] == 7) formatex(szMenu, charsmax(szMenu), "%s \w%s^n\wPontjaid: \y%i\d", PREFIX,
    MainStrings[g_Wpn[id]-1], g_uPoints[AUG][id])
    if(g_Wpn[id] == 8) formatex(szMenu, charsmax(szMenu), "%s \w%s^n\wPontjaid: \y%i\d", PREFIX,
    MainStrings[g_Wpn[id]-1], g_uPoints[M3][id])
    if(g_Wpn[id] == 9) formatex(szMenu, charsmax(szMenu), "%s \w%s^n\wPontjaid: \y%i\d", PREFIX,
    MainStrings[g_Wpn[id]-1], g_uPoints[XM1014][id])
    if(g_Wpn[id] == 10) formatex(szMenu, charsmax(szMenu), "%s \w%s^n\wPontjaid: \y%i\d", PREFIX,
    MainStrings[g_Wpn[id]-1], g_uPoints[KNIFE][id])
    if(g_Wpn[id] == 11) formatex(szMenu, charsmax(szMenu), "%s \w%s^n\wPontjaid: \y%i\d", PREFIX,
    MainStrings[g_Wpn[id]-1], g_uPoints[DEAGLE][id])
    if(g_Wpn[id] == 12) formatex(szMenu, charsmax(szMenu), "%s \w%s^n\wPontjaid: \y%i\d", PREFIX,
    MainStrings[g_Wpn[id]-1], g_uPoints[USP][id])
    if(g_Wpn[id] == 13) formatex(szMenu, charsmax(szMenu), "%s \w%s^n\wPontjaid: \y%i\d", PREFIX,
    MainStrings[g_Wpn[id]-1], g_uPoints[GLOCK][id])
    
    if(g_Wpn[id] == 1) {
        for(new i; i < sizeof(WeaponM4A1); i++) {
            num_to_str(i, String, 5)
            formatex(szMenu2, charsmax(szMenu2), "\r|%i| Ölés", WeaponM4A1[i][Points]);
            formatex(szMenu, charsmax(szMenu), "%s %s", WeaponM4A1[i][GunName], g_SelectedGun[M4A1][id] == i ? "\y{Kiválasztva}": szMenu2);
            menu_additem(menu, szMenu, String);
        }
    }
    else if(g_Wpn[id] == 2) {
        for(new i; i < sizeof(WeaponAK47); i++) {
            num_to_str(i, String, 5)
            formatex(szMenu2, charsmax(szMenu2), "\r|%i| Ölés", WeaponAK47[i][Points]);
            formatex(szMenu, charsmax(szMenu), "%s %s", WeaponAK47[i][GunName], g_SelectedGun[AK47][id] == i ? "\y{Kiválasztva}": szMenu2);
            menu_additem(menu, szMenu, String);
        }
    }
    else if(g_Wpn[id] == 3) {
        for(new i; i < sizeof(WeaponAWP); i++) {
            num_to_str(i, String, 5)
            formatex(szMenu2, charsmax(szMenu2), "\r|%i| Ölés", WeaponAWP[i][Points]);
            formatex(szMenu, charsmax(szMenu), "%s %s", WeaponAWP[i][GunName], g_SelectedGun[AWP][id] == i ? "\y{Kiválasztva}": szMenu2);
            menu_additem(menu, szMenu, String);
        }
    }
    else if(g_Wpn[id] == 4) {
        for(new i; i < sizeof(WeaponSCOUT); i++) {
            num_to_str(i, String, 5)
            formatex(szMenu2, charsmax(szMenu2), "\r|%i| Ölés", WeaponSCOUT[i][Points]);
            formatex(szMenu, charsmax(szMenu), "%s %s", WeaponSCOUT[i][GunName], g_SelectedGun[SCOUT][id] == i ? "\y{Kiválasztva}": szMenu2);
            menu_additem(menu, szMenu, String);
        }
    }
    else if(g_Wpn[id] == 5) {
        for(new i; i < sizeof(WeaponFAMAS); i++) {
            num_to_str(i, String, 5)
            formatex(szMenu2, charsmax(szMenu2), "\r|%i| Ölés", WeaponFAMAS[i][Points]);
            formatex(szMenu, charsmax(szMenu), "%s %s", WeaponFAMAS[i][GunName], g_SelectedGun[FAMAS][id] == i ? "\y{Kiválasztva}": szMenu2);
            menu_additem(menu, szMenu, String);
        }
    }
    else if(g_Wpn[id] == 6) {
        for(new i; i < sizeof(WeaponGALIL); i++) {
            num_to_str(i, String, 5)
            formatex(szMenu2, charsmax(szMenu2), "\r|%i| Ölés", WeaponGALIL[i][Points]);
            formatex(szMenu, charsmax(szMenu), "%s %s", WeaponGALIL[i][GunName], g_SelectedGun[GALIL][id] == i ? "\y{Kiválasztva}": szMenu2);
            menu_additem(menu, szMenu, String);
        }
    }
    else if(g_Wpn[id] == 7) {
        for(new i; i < sizeof(WeaponAUG); i++) {
            num_to_str(i, String, 5)
            formatex(szMenu2, charsmax(szMenu2), "\r|%i| Ölés", WeaponAUG[i][Points]);
            formatex(szMenu, charsmax(szMenu), "%s %s", WeaponAUG[i][GunName], g_SelectedGun[AUG][id] == i ? "\y{Kiválasztva}": szMenu2);
            menu_additem(menu, szMenu, String);
        }
    }
    else if(g_Wpn[id] == 8) {
        for(new i; i < sizeof(WeaponM3); i++) {
            num_to_str(i, String, 5)
            formatex(szMenu2, charsmax(szMenu2), "\r|%i| Ölés", WeaponM3[i][Points]);
            formatex(szMenu, charsmax(szMenu), "%s %s", WeaponM3[i][GunName], g_SelectedGun[M3][id] == i ? "\y{Kiválasztva}": szMenu2);
            menu_additem(menu, szMenu, String);
        }
    }
    else if(g_Wpn[id] == 9) {
        for(new i; i < sizeof(WeaponXM1014); i++) {
            num_to_str(i, String, 5)
            formatex(szMenu2, charsmax(szMenu2), "\r|%i| Ölés", WeaponXM1014[i][Points]);
            formatex(szMenu, charsmax(szMenu), "%s %s", WeaponXM1014[i][GunName], g_SelectedGun[XM1014][id] == i ? "\y{Kiválasztva}": szMenu2);
            menu_additem(menu, szMenu, String);
        }
    }
    else if(g_Wpn[id] == 10) {
        for(new i; i < sizeof(WeaponKNIFE); i++) {
            num_to_str(i, String, 5)
            formatex(szMenu2, charsmax(szMenu2), "\r|%i| Ölés", WeaponKNIFE[i][Points]);
            formatex(szMenu, charsmax(szMenu), "%s %s", WeaponKNIFE[i][GunName], g_SelectedGun[KNIFE][id] == i ? "\y{Kiválasztva}": szMenu2);
            menu_additem(menu, szMenu, String);
        }
    }
    else if(g_Wpn[id] == 11) {
        for(new i; i < sizeof(WeaponDEAGLE); i++) {
            num_to_str(i, String, 5)
            formatex(szMenu2, charsmax(szMenu2), "\r|%i| Ölés", WeaponDEAGLE[i][Points]);
            formatex(szMenu, charsmax(szMenu), "%s %s", WeaponDEAGLE[i][GunName], g_SelectedGun[DEAGLE][id] == i ? "\y{Kiválasztva}": szMenu2);
            menu_additem(menu, szMenu, String);
        }
    }
    else if(g_Wpn[id] == 12) {
        for(new i; i < sizeof(WeaponUSP); i++) {
            num_to_str(i, String, 5)
            formatex(szMenu2, charsmax(szMenu2), "\r|%i| Ölés", WeaponUSP[i][Points]);
            formatex(szMenu, charsmax(szMenu), "%s %s", WeaponUSP[i][GunName], g_SelectedGun[USP][id] == i ? "\y{Kiválasztva}": szMenu2);
            menu_additem(menu, szMenu, String);
        }
    }
    else if(g_Wpn[id] == 13) {
        for(new i; i < sizeof(WeaponGLOCK); i++) {
            num_to_str(i, String, 5)
            formatex(szMenu2, charsmax(szMenu2), "\r|%i| Ölés", WeaponGLOCK[i][Points]);
            formatex(szMenu, charsmax(szMenu), "%s %s", WeaponGLOCK[i][GunName], g_SelectedGun[GLOCK][id] == i ? "\y{Kiválaszva}": szMenu2);
            menu_additem(menu, szMenu, String);
        }
    }
    menu_display(id, menu, 0);
    return PLUGIN_HANDLED;
}
public hSkinChooser(id, menu, item) {
    if(item == MENU_EXIT)
    {
        menu_destroy(menu);
        return PLUGIN_CONTINUE;
    }
    switch(g_Wpn[id]) {
        case 1: {
            if(g_uPoints[M4A1][id] >= WeaponM4A1[item][Points]) {
                g_SelectedGun[M4A1][id] = item
                ColorChat(id, GREEN, "^4%s ^1Sikeresen aktiváltad a skint!", C_Perfix)
            }
            else ColorChat(id, GREEN, "^4%s ^1Nincs elég ölésed az aktiváláshoz!", C_Perfix)
        }
        case 2: {
            if(g_uPoints[AK47][id] >= WeaponAK47[item][Points]) {
                g_SelectedGun[AK47][id] = item
                ColorChat(id, GREEN, "^4%s ^1Sikeresen aktiváltad a skint!", C_Perfix)
            }
            else ColorChat(id, GREEN, "^4%s ^1Nincs elég ölésed az aktiváláshoz!", C_Perfix)
        }
        case 3: {
            if(g_uPoints[AWP][id] >= WeaponAWP[item][Points]) {
                g_SelectedGun[AWP][id] = item
                ColorChat(id, GREEN, "^4%s ^1Sikeresen aktiváltad a skint!", C_Perfix)
            }
            else ColorChat(id, GREEN, "^4%s ^1Nincs elég ölésed az aktiváláshoz!", C_Perfix)
        }
        case 4: {
            if(g_uPoints[SCOUT][id] >= WeaponSCOUT[item][Points]) {
                g_SelectedGun[SCOUT][id] = item
                ColorChat(id, GREEN, "^4%s ^1Sikeresen aktiváltad a skint!", C_Perfix)
            }
            else ColorChat(id, GREEN, "^4%s ^1Nincs elég ölésed az aktiváláshoz!", C_Perfix)
        }
        case 5: {
            if(g_uPoints[FAMAS][id] >= WeaponFAMAS[item][Points]) {
                g_SelectedGun[FAMAS][id] = item
                ColorChat(id, GREEN, "^4%s ^1Sikeresen aktiváltad a skint!", C_Perfix)
            }
            else ColorChat(id, GREEN, "^4%s ^1Nincs elég ölésed az aktiváláshoz!", C_Perfix)
        }
        case 6: {
            if(g_uPoints[GALIL][id] >= WeaponGALIL[item][Points]) {
                g_SelectedGun[GALIL][id] = item
                ColorChat(id, GREEN, "^4%s ^1Sikeresen aktiváltad a skint!", C_Perfix)
            }
            else ColorChat(id, GREEN, "^4%s ^1Nincs elég ölésed az aktiváláshoz!", C_Perfix)
        }
        case 7: {
            if(g_uPoints[AUG][id] >= WeaponAUG[item][Points]) {
                g_SelectedGun[AUG][id] = item
                ColorChat(id, GREEN, "^4%s ^1Sikeresen aktiváltad a skint!", C_Perfix)
            }
            else ColorChat(id, GREEN, "^4%s ^1Nincs elég ölésed az aktiváláshoz!", C_Perfix)
        }
        case 8: {
            if(g_uPoints[M3][id] >= WeaponM3[item][Points]) {
                g_SelectedGun[M3][id] = item
                ColorChat(id, GREEN, "^4%s ^1Sikeresen aktiváltad a skint!", C_Perfix)
            }
            else ColorChat(id, GREEN, "^4%s ^1Nincs elég ölésed az aktiváláshoz!", C_Perfix)
        }
        case 9: {
            if(g_uPoints[XM1014][id] >= WeaponXM1014[item][Points]) {
                g_SelectedGun[XM1014][id] = item
                ColorChat(id, GREEN, "^4%s ^1Sikeresen aktiváltad a skint!", C_Perfix)
            }
            else ColorChat(id, GREEN, "^4%s ^1Nincs elég ölésed az aktiváláshoz!", C_Perfix)
        }
        case 10: {
            if(g_uPoints[KNIFE][id] >= WeaponKNIFE[item][Points]) {
                g_SelectedGun[KNIFE][id] = item
                ColorChat(id, GREEN, "^4%s ^1Sikeresen aktiváltad a skint!", C_Perfix)
            }
            else ColorChat(id, GREEN, "^4%s ^1Nincs elég ölésed az aktiváláshoz!", C_Perfix)
        }
        case 11: {
            if(g_uPoints[DEAGLE][id] >= WeaponDEAGLE[item][Points]) {
                g_SelectedGun[DEAGLE][id] = item
                ColorChat(id, GREEN, "^4%s ^1Sikeresen aktiváltad a skint!", C_Perfix)
            }
            else ColorChat(id, GREEN, "^4%s ^1Nincs elég ölésed az aktiváláshoz!", C_Perfix)
        }
        case 12: {
            if(g_uPoints[USP][id] >= WeaponUSP[item][Points]) {
                g_SelectedGun[USP][id] = item
                ColorChat(id, GREEN, "^4%s ^1Sikeresen aktiváltad a skint!", C_Perfix)
            }
            else ColorChat(id, GREEN, "^4%s ^1Nincs elég ölésed az aktiváláshoz!", C_Perfix)
        }
        case 13: {
            if(g_uPoints[GLOCK][id] >= WeaponGLOCK[item][Points]) {
                g_SelectedGun[GLOCK][id] = item
                ColorChat(id, GREEN, "^4%s ^1Sikeresen aktiváltad a skint!", C_Perfix)
            }
            else ColorChat(id, GREEN, "^4%s ^1Nincs elég ölésed az aktiváláshoz!", C_Perfix)
        }
    }
    menu_destroy(menu);
    return PLUGIN_HANDLED;
}
stock UTIL_PlayWeaponAnimation(const Player, const Sequence) {
    set_pev(Player, pev_weaponanim, Sequence)
    message_begin(MSG_ONE_UNRELIABLE, SVC_WEAPONANIM, .player = Player)
    write_byte(Sequence)
    write_byte(pev(Player, pev_body))
    message_end()
}
public plugin_cfg() 
{
    static Query[10048]; 
    new Len;
    g_SqlTuple = SQL_MakeDbTuple(SQL_INFO[0],SQL_INFO[1],SQL_INFO[2],SQL_INFO[3])
    Len += formatex(Query[Len], charsmax(Query), "CREATE TABLE IF NOT EXISTS `sql_mentes_tutorial`")
    Len += formatex(Query[Len], charsmax(Query)-Len, "(`Steamid` varchar(64) NOT NULL, ");
    Len += formatex(Query[Len], charsmax(Query)-Len, "`g_uPointsM4A1` int(11) NOT NULL,")
    Len += formatex(Query[Len], charsmax(Query)-Len, "`g_uPointsAK47` int(11) NOT NULL,")
    Len += formatex(Query[Len], charsmax(Query)-Len, "`g_uPointsAWP` int(11) NOT NULL,")
    Len += formatex(Query[Len], charsmax(Query)-Len, "`g_uPointsSCOUT` int(11) NOT NULL,")
    Len += formatex(Query[Len], charsmax(Query)-Len, "`g_uPointsFAMAS` int(11) NOT NULL,")
    Len += formatex(Query[Len], charsmax(Query)-Len, "`g_uPointsGALIL` int(11) NOT NULL,")
    Len += formatex(Query[Len], charsmax(Query)-Len, "`g_uPointsAUG` int(11) NOT NULL,")
    Len += formatex(Query[Len], charsmax(Query)-Len, "`g_uPointsM3` int(11) NOT NULL,")
    Len += formatex(Query[Len], charsmax(Query)-Len, "`g_uPointsXM1014` int(11) NOT NULL,")
    Len += formatex(Query[Len], charsmax(Query)-Len, "`g_uPointsKNIFE` int(11) NOT NULL,")
    Len += formatex(Query[Len], charsmax(Query)-Len, "`g_uPointsDEAGLE` int(11) NOT NULL,")
    Len += formatex(Query[Len], charsmax(Query)-Len, "`g_uPointsUSP` int(11) NOT NULL,")
    Len += formatex(Query[Len], charsmax(Query)-Len, "`g_uPointsGLOCK` int(11) NOT NULL,")
    Len += formatex(Query[Len], charsmax(Query)-Len, "`g_SelectedGunM4A1` int(11) NOT NULL,")
    Len += formatex(Query[Len], charsmax(Query)-Len, "`g_SelectedGunAK47` int(11) NOT NULL,")
    Len += formatex(Query[Len], charsmax(Query)-Len, "`g_SelectedGunAWP` int(11) NOT NULL,")
    Len += formatex(Query[Len], charsmax(Query)-Len, "`g_SelectedGunSCOUT` int(11) NOT NULL,")
    Len += formatex(Query[Len], charsmax(Query)-Len, "`g_SelectedGunFAMAS` int(11) NOT NULL,")
    Len += formatex(Query[Len], charsmax(Query)-Len, "`g_SelectedGunGALIL` int(11) NOT NULL,")
    Len += formatex(Query[Len], charsmax(Query)-Len, "`g_SelectedGunAUG` int(11) NOT NULL,")
    Len += formatex(Query[Len], charsmax(Query)-Len, "`g_SelectedGunM3` int(11) NOT NULL,")
    Len += formatex(Query[Len], charsmax(Query)-Len, "`g_SelectedGunXM1014` int(11) NOT NULL,")
    Len += formatex(Query[Len], charsmax(Query)-Len, "`g_SelectedGunKNIFE` int(11) NOT NULL,")
    Len += formatex(Query[Len], charsmax(Query)-Len, "`g_SelectedGunDEAGLE` int(11) NOT NULL,")
    Len += formatex(Query[Len], charsmax(Query)-Len, "`g_SelectedGunUSP` int(11) NOT NULL,")
    Len += formatex(Query[Len], charsmax(Query)-Len, "`g_SelectedGunGLOCK` int(11) NOT NULL,")
    Len += formatex(Query[Len], charsmax(Query)-Len, "`id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY)")
    SQL_ThreadQuery(g_SqlTuple,"createTableThread", Query)
}
 
public createTableThread(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
    if(FailState == TQUERY_CONNECT_FAILED)
        set_fail_state("Nem tudtam csatlakozni az adatbazishoz.");
    else if(FailState == TQUERY_QUERY_FAILED)
        set_fail_state("Query Error");
    if(Errcode)
        log_amx("Hibat dobtam: %s",Error);
}
 
public client_putinserver(id) {
    if(!is_user_bot(id)) {
        get_user_authid(id, Steamid, charsmax(Steamid));
        Load(id)
    }
}
 
public Load(id) {
    static Query[10048]; 
    new Data[1]
    Data[0] = id
    get_user_authid(id, Steamid, charsmax(Steamid));
    formatex(Query, charsmax(Query), "SELECT * FROM `sql_mentes_tutorial` WHERE Steamid = ^"%s^";", Steamid);
    SQL_ThreadQuery(g_SqlTuple, "QuerySelectData", Query, Data, 1)
}
 
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) {
            g_uPoints[M4A1][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_uPointsM4A1"))
            g_uPoints[AK47][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_uPointsAK47"))
            g_uPoints[AWP][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_uPointsAWP"))
            g_uPoints[SCOUT][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_uPointsSCOUT"))
            g_uPoints[FAMAS][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_uPointsFAMAS"))
            g_uPoints[GALIL][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_uPointsGALIL"))
            g_uPoints[AUG][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_uPointsAUG"))
            g_uPoints[M3][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_uPointsM3"))
            g_uPoints[XM1014][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_uPointsXM1014"))
            g_uPoints[KNIFE][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_uPointsKNIFE"))
            g_uPoints[DEAGLE][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_uPointsDEAGLE"))
            g_uPoints[USP][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_uPointsUSP"))
            g_uPoints[GLOCK][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_uPointsGLOCK"))
            g_SelectedGun[M4A1][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_SelectedGunM4A1"))
            g_SelectedGun[AK47][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_SelectedGunAK47"))
            g_SelectedGun[AWP][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_SelectedGunAWP"))
            g_SelectedGun[SCOUT][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_SelectedGunSCOUT"))
            g_SelectedGun[FAMAS][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_SelectedGunFAMAS"))
            g_SelectedGun[GALIL][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_SelectedGunGALIL"))
            g_SelectedGun[AUG][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_SelectedGunAUG"))
            g_SelectedGun[M3][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_SelectedGunM3"))
            g_SelectedGun[XM1014][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_SelectedGunXM1014"))
            g_SelectedGun[KNIFE][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_SelectedGunKNIFE"))
            g_SelectedGun[DEAGLE][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_SelectedGunDEAGLE"))
            g_SelectedGun[USP][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_SelectedGunUSP"))
            g_SelectedGun[GLOCK][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_SelectedGunGLOCK"))
        }
        else {
            Save(id)
        }
    }
}
 
public Save(id) {
    static Query[10048];
    get_user_authid(id, Steamid, charsmax(Steamid));
    formatex(Query, charsmax(Query), "INSERT INTO `sql_mentes_tutorial` (`Steamid`) VALUES (^"%s^");", 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 Update(id) {
    static Query [10048]; 
    new Len;
    get_user_authid(id, Steamid, charsmax(Steamid));
    
    Len += formatex(Query[Len], charsmax(Query), "UPDATE `sql_mentes_tutorial` SET g_uPointsM4A1 = ^"%i^", ", g_uPoints[M4A1][id])
    Len += formatex(Query[Len], charsmax(Query)-Len, "g_uPointsAK47 = ^"%i^", ", g_uPoints[AK47][id])
    Len += formatex(Query[Len], charsmax(Query)-Len, "g_uPointsAWP = ^"%i^", ", g_uPoints[AWP][id])
    Len += formatex(Query[Len], charsmax(Query)-Len, "g_uPointsSCOUT = ^"%i^", ", g_uPoints[SCOUT][id])
    Len += formatex(Query[Len], charsmax(Query)-Len, "g_uPointsFAMAS = ^"%i^", ", g_uPoints[FAMAS][id])
    Len += formatex(Query[Len], charsmax(Query)-Len, "g_uPointsGALIL = ^"%i^", ", g_uPoints[GALIL][id])
    Len += formatex(Query[Len], charsmax(Query)-Len, "g_uPointsAUG = ^"%i^", ", g_uPoints[AUG][id])
    Len += formatex(Query[Len], charsmax(Query)-Len, "g_uPointsM3 = ^"%i^", ", g_uPoints[M3][id])
    Len += formatex(Query[Len], charsmax(Query)-Len, "g_uPointsXM1014 = ^"%i^", ", g_uPoints[XM1014][id])
    Len += formatex(Query[Len], charsmax(Query)-Len, "g_uPointsKNIFE = ^"%i^", ", g_uPoints[KNIFE][id])
    Len += formatex(Query[Len], charsmax(Query)-Len, "g_uPointsDEAGLE = ^"%i^", ", g_uPoints[DEAGLE][id])
    Len += formatex(Query[Len], charsmax(Query)-Len, "g_uPointsUSP = ^"%i^", ", g_uPoints[USP][id])
    Len += formatex(Query[Len], charsmax(Query)-Len, "g_uPointsGLOCK = ^"%i^", ", g_uPoints[GLOCK][id])
    Len += formatex(Query[Len], charsmax(Query)-Len, "g_SelectedGunAK47 = ^"%i^", ", g_SelectedGun[AK47][id])
    Len += formatex(Query[Len], charsmax(Query)-Len, "g_SelectedGunAWP = ^"%i^", ", g_SelectedGun[AWP][id])
    Len += formatex(Query[Len], charsmax(Query)-Len, "g_SelectedGunSCOUT = ^"%i^", ", g_SelectedGun[SCOUT][id])
    Len += formatex(Query[Len], charsmax(Query)-Len, "g_SelectedGunFAMAS = ^"%i^", ", g_SelectedGun[FAMAS][id])
    Len += formatex(Query[Len], charsmax(Query)-Len, "g_SelectedGunGALIL = ^"%i^", ", g_SelectedGun[GALIL][id])
    Len += formatex(Query[Len], charsmax(Query)-Len, "g_SelectedGunAUG = ^"%i^", ", g_SelectedGun[AUG][id])
    Len += formatex(Query[Len], charsmax(Query)-Len, "g_SelectedGunM3 = ^"%i^", ", g_SelectedGun[M3][id])
    Len += formatex(Query[Len], charsmax(Query)-Len, "g_SelectedGunXM1014 = ^"%i^", ", g_SelectedGun[XM1014][id])
    Len += formatex(Query[Len], charsmax(Query)-Len, "g_SelectedGunKNIFE = ^"%i^", ", g_SelectedGun[KNIFE][id])
    Len += formatex(Query[Len], charsmax(Query)-Len, "g_SelectedGunDEAGLE = ^"%i^", ", g_SelectedGun[DEAGLE][id])
    Len += formatex(Query[Len], charsmax(Query)-Len, "g_SelectedGunUSP = ^"%i^", ", g_SelectedGun[USP][id])
    Len += formatex(Query[Len], charsmax(Query)-Len, "g_SelectedGunGLOCK = ^"%i^", ", g_SelectedGun[GLOCK][id])
    Len += formatex(Query[Len], charsmax(Query)-Len, "g_SelectedGunM4A1 = ^"%i^" WHERE Steamid = ^"%s^";", g_SelectedGun[M4A1][id], Steamid);
    SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query)
}
 
public client_disconnected(id) {
    if(!is_user_bot(id)) {
        Update(id)
    }
    g_uPoints[M4A1][id] = 0
    g_uPoints[AK47][id] = 0
    g_uPoints[AWP][id] = 0
    g_uPoints[SCOUT][id] = 0
    g_uPoints[FAMAS][id] = 0
    g_uPoints[GALIL][id] = 0
    g_uPoints[AUG][id] = 0
    g_uPoints[M3][id] = 0
    g_uPoints[XM1014][id] = 0
    g_uPoints[KNIFE][id] = 0
    g_uPoints[DEAGLE][id] = 0
    g_uPoints[USP][id] = 0
    g_uPoints[GLOCK][id] = 0
    g_SelectedGun[M4A1][id] = 0
    g_SelectedGun[AK47][id] = 0
    g_SelectedGun[AWP][id] = 0
    g_SelectedGun[SCOUT][id] = 0
    g_SelectedGun[FAMAS][id] = 0
    g_SelectedGun[GALIL][id] = 0
    g_SelectedGun[AUG][id] = 0
    g_SelectedGun[M3][id] = 0
    g_SelectedGun[XM1014][id] = 0
    g_SelectedGun[KNIFE][id] = 0
    g_SelectedGun[DEAGLE][id] = 0
    g_SelectedGun[USP][id] = 0
    g_SelectedGun[GLOCK][id] = 0
    get_user_authid(id, Steamid, charsmax(Steamid));
}
 
    public plugin_end() {
        SQL_FreeHandle(g_SqlTuple)
    }