hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.03.28. 09:10



Jelenlévő felhasználók

Jelenleg 72 felhasználó van jelen :: 0 regisztrált, 0 rejtett és 72 vendég

A legtöbb felhasználó (1565 fő) 2020.11.21. 11:26-kor tartózkodott itt.

Regisztrált felhasználók: nincs regisztrált felhasználó az elmúlt 5 percben aktív felhasználók alapján

Utoljára aktív
Ahhoz hogy lásd ki volt utoljára aktív, be kell jelentkezned.



Az oldal teljeskörű
használatához regisztrálj.

Regisztráció

Kereső


Új téma nyitása  Hozzászólás a témához  [ 3 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Hozzá írd skinek után bugolnak!
HozzászólásElküldve: 2021.11.23. 06:56 
Offline
Jómunkásember

Csatlakozott: 2020.06.14. 17:59
Hozzászólások: 368
Megköszönt másnak: 64 alkalommal
Megköszönték neki: 10 alkalommal
Sziasztok! Segítséget szeretnék kérni,hozzá írt skinekkel bugolnak a fegyver skin modellek!

pl: ha most felrakok egy skint a m4a1 fegyverre, skin neve "M4A1 | Cryrex" ez a fegyver skint felrakja az összes elérhető alap default modelhez.



  1. #include <amxmodx>
  2.     #include <amxmisc>
  3.     #include <hamsandwich>
  4.     #include <cstrike>
  5.     #include <engine>
  6.     #include <fun>
  7.     #include <fakemeta>
  8.     #include <sqlx>
  9.  
  10.     #define PLUGIN  "New Plugin"
  11.     #define AUTHOR  "Unknown"
  12.     #define VERSION "1.0"
  13.      
  14.     #define MAXPLAYERS 33
  15.     #define TULAJ ADMIN_IMMUNITY
  16.     #define ADMIN ADMIN_BAN
  17.     #define VIP ADMIN_LEVEL_H
  18.      
  19.     new const SQL_INFO[][] =
  20.    
  21.     enum eCvar{eCpref,eMpref,};
  22.     new cvarS[eCvar];
  23.     enum ePlayer{eKills, eUnclockedSkin};
  24.     new Player[ePlayer][MAXPLAYERS];
  25.     enum _:eWData {eWName[64],eWFile[64],eWKill,eWType[64],};
  26.     new iActiveSkin[13][33], iWeaponKills[13][33], iLoadedSkins, iTempID, iMaxPlayers, iChoosedMode, gSteamID[128], SyncHud;
  27.     new Handle:SqlTuple;
  28.     new Array: aWSkins;
  29.      
  30.     public plugin_init(){
  31.         register_plugin(PLUGIN, VERSION, AUTHOR);
  32.        
  33.         register_impulse(201, "main_menu");
  34.         register_clcmd("say /menu", "main_menu");
  35.        
  36.         cvarS[eCpref] = register_cvar("C_Pref", "^4[..::Pussy~Fire::..]^3");
  37.         cvarS[eMpref] = register_cvar("M_Pref", "\y[..::Pussy~Fire::..]\y »\w");
  38.        
  39.         register_clcmd("type_itemremoveoradd", "type_itemammount");
  40.        
  41.         RegisterHam(Ham_Killed, "player", "PlayerKilled_p", 1);
  42.         RegisterHam(Ham_Item_Deploy, "weapon_m4a1", "WeaponChange_p", 1);
  43.         RegisterHam(Ham_Item_Deploy, "weapon_ak47", "WeaponChange_p", 1);
  44.         RegisterHam(Ham_Item_Deploy, "weapon_awp", "WeaponChange_p", 1);
  45.         RegisterHam(Ham_Item_Deploy, "weapon_scout", "WeaponChange_p", 1);
  46.         RegisterHam(Ham_Item_Deploy, "weapon_famas", "WeaponChange_p", 1);
  47.         RegisterHam(Ham_Item_Deploy, "weapon_galil", "WeaponChange_p", 1);
  48.         RegisterHam(Ham_Item_Deploy, "weapon_aug", "WeaponChange_p", 1);
  49.         RegisterHam(Ham_Item_Deploy, "weapon_m3", "WeaponChange_p", 1);
  50.         RegisterHam(Ham_Item_Deploy, "weapon_xm1014", "WeaponChange_p", 1);
  51.         RegisterHam(Ham_Item_Deploy, "weapon_knife", "WeaponChange_p", 1);
  52.         RegisterHam(Ham_Item_Deploy, "weapon_deagle", "WeaponChange_p", 1);
  53.         RegisterHam(Ham_Item_Deploy, "weapon_usp", "WeaponChange_p", 1);
  54.         RegisterHam(Ham_Item_Deploy, "weapon_glock18", "WeaponChange_p", 1);
  55.        
  56.         register_clcmd("say", "sayhook");
  57.         register_clcmd("say_team", "sayteamhook");
  58.        
  59.         iMaxPlayers = get_maxplayers();
  60.         SyncHud = CreateHudSyncObj();
  61.     }
  62.     public InfoHud(id)
  63.     {
  64.         new eData[eWData];
  65.         new idT;
  66.         new Target = pev(id, pev_iuser1) == 4 ? pev(id, pev_iuser2) : id;
  67.         idT = is_user_alive(id) ? id:Target;
  68.         new iWeapon = get_user_weapon(idT);
  69.         set_hudmessage(0, 255, 0, -1.0, 0.80, 0, 6.0, 1.1, 0.1, 0.2, -1);
  70.        
  71.         set_task(1.0, "InfoHud", id);
  72.        
  73.         switch(iWeapon){
  74.             case CSW_M4A1: {if(iActiveSkin[0][id] == -1){ShowSyncHudMsg(id, SyncHud, "--");return;} ArrayGetArray(aWSkins, iActiveSkin[0][id], eData);ShowSyncHudMsg(id, SyncHud, "Fegyver neve: %s, Ölések: %d", eData[eWName], iWeaponKills[0][id]);}
  75.             case CSW_AK47: {if(iActiveSkin[1][id] == -1){ShowSyncHudMsg(id, SyncHud, "--");return;}ArrayGetArray(aWSkins, iActiveSkin[1][id], eData);ShowSyncHudMsg(id, SyncHud, "Fegyver neve: %s, Ölések: %d", eData[eWName], iWeaponKills[1][id]);}
  76.             case CSW_AWP: {if(iActiveSkin[2][id] == -1){ShowSyncHudMsg(id, SyncHud, "--");return;}ArrayGetArray(aWSkins, iActiveSkin[2][id], eData);ShowSyncHudMsg(id, SyncHud, "Fegyver neve: %s, Ölések: %d", eData[eWName], iWeaponKills[2][id]);}
  77.             case CSW_SCOUT: {if(iActiveSkin[3][id] == -1){ShowSyncHudMsg(id, SyncHud, "--");return;}ArrayGetArray(aWSkins, iActiveSkin[3][id], eData);ShowSyncHudMsg(id, SyncHud, "Fegyver neve: %s, Ölések: %d", eData[eWName], iWeaponKills[3][id]);}
  78.             case CSW_FAMAS: {if(iActiveSkin[4][id] == -1){ShowSyncHudMsg(id, SyncHud, "--");return;}ArrayGetArray(aWSkins, iActiveSkin[4][id], eData);ShowSyncHudMsg(id, SyncHud, "Fegyver neve: %s, Ölések: %d", eData[eWName], iWeaponKills[4][id]);}
  79.             case CSW_GALIL: {if(iActiveSkin[5][id] == -1){ShowSyncHudMsg(id, SyncHud, "--");return;}ArrayGetArray(aWSkins, iActiveSkin[5][id], eData);ShowSyncHudMsg(id, SyncHud, "Fegyver neve: %s, Ölések: %d", eData[eWName], iWeaponKills[5][id]);}
  80.             case CSW_AUG: {if(iActiveSkin[6][id] == -1){ShowSyncHudMsg(id, SyncHud, "--");return;}ArrayGetArray(aWSkins, iActiveSkin[6][id], eData);ShowSyncHudMsg(id, SyncHud, "Fegyver neve: %s, Ölések: %d", eData[eWName], iWeaponKills[6][id]);}
  81.             case CSW_M3: {if(iActiveSkin[7][id] == -1){ShowSyncHudMsg(id, SyncHud, "--");return;}ArrayGetArray(aWSkins, iActiveSkin[7][id], eData);ShowSyncHudMsg(id, SyncHud, "Fegyver neve: %s, Ölések: %d", eData[eWName], iWeaponKills[7][id]);}
  82.             case CSW_XM1014: {if(iActiveSkin[8][id] == -1){ShowSyncHudMsg(id, SyncHud, "--");return;}ArrayGetArray(aWSkins, iActiveSkin[8][id], eData);ShowSyncHudMsg(id, SyncHud, "Fegyver neve: %s, Ölések: %d", eData[eWName], iWeaponKills[8][id]);}
  83.             case CSW_KNIFE: {if(iActiveSkin[9][id] == -1){ShowSyncHudMsg(id, SyncHud, "--");return;}ArrayGetArray(aWSkins, iActiveSkin[9][id], eData);ShowSyncHudMsg(id, SyncHud, "Fegyver neve: %s, Ölések: %d", eData[eWName], iWeaponKills[9][id]);}
  84.             case CSW_DEAGLE: {if(iActiveSkin[10][id] == -1){ShowSyncHudMsg(id, SyncHud, "--");return;}ArrayGetArray(aWSkins, iActiveSkin[10][id], eData);ShowSyncHudMsg(id, SyncHud, "Fegyver neve: %s, Ölések: %d", eData[eWName], iWeaponKills[10][id]);}
  85.             case CSW_USP: {if(iActiveSkin[11][id] == -1){ShowSyncHudMsg(id, SyncHud, "--");return;}ArrayGetArray(aWSkins, iActiveSkin[11][id], eData);ShowSyncHudMsg(id, SyncHud, "Fegyver neve: %s, Ölések: %d", eData[eWName], iWeaponKills[11][id]);}
  86.             case CSW_GLOCK18:{if(iActiveSkin[12][id] == -1){ShowSyncHudMsg(id, SyncHud, "--");return;}ArrayGetArray(aWSkins, iActiveSkin[12][id], eData);ShowSyncHudMsg(id, SyncHud, "Fegyver neve: %s, Ölések: %d", eData[eWName], iWeaponKills[12][id]);}
  87.         }
  88.     }
  89.     public plugin_precache(){
  90.         LoadSkins();
  91.     }
  92.     public LoadSkins(){
  93.         aWSkins = ArrayCreate(eWData);
  94.         new sPath[40];
  95.         get_configsdir(sPath, charsmax(sPath));
  96.         format(sPath, charsmax(sPath), "%s/skins.ini", sPath);
  97.        
  98.         if(!file_exists(sPath)){
  99.             log_amx("[HIBA]: Ez a f??jl nem l??tezik: (%s).", sPath);
  100.             return;
  101.         }
  102.        
  103.         if(file_exists(sPath)){
  104.             enum aDatas{eName[64],eFile[64],eKill2[64],eType[64],};
  105.             new sData[aDatas];
  106.            
  107.             new sLineData[512], iLine;
  108.             new iFile = fopen(sPath, "rt");
  109.            
  110.             while(!feof(iFile)){
  111.                 fgets(iFile, sLineData, charsmax(sLineData));
  112.                 replace(sLineData, charsmax(sLineData), "^n", "");
  113.                
  114.                 if(sLineData[0] == ';' || !sLineData[0]) continue;
  115.                
  116.                 parse(sLineData, sData[eName], charsmax(sData), sData[eFile], charsmax(sData), sData[eKill2], charsmax(sData),
  117.                 sData[eType], charsmax(sData));
  118.                
  119.                 remove_quotes(sData[eName]);remove_quotes(sData[eFile]);
  120.                 remove_quotes(sData[eKill2]);remove_quotes(sData[eType]);
  121.                
  122.                 new eData[eWData];
  123.                 copy(eData[eWName], sizeof(eData[eWName]) - 1, sData[eName]);
  124.                 copy(eData[eWFile], sizeof(eData[eWFile]) - 1, sData[eFile]);
  125.                 eData[eWKill] = str_to_num(sData[eKill2]);        
  126.                 copy(eData[eWType], sizeof(sData[eWType])- 1, sData[eType]);
  127.                
  128.                 ArrayPushArray(aWSkins, eData);
  129.                 precache_model(eData[eWFile]);
  130.                 iLine++;
  131.             }
  132.             fclose(iFile);
  133.             iLoadedSkins = iLine;
  134.         }
  135.     }
  136.     public WeaponChange_p(iEnt){
  137.         if(!pev_valid(iEnt))
  138.             return HAM_IGNORED
  139.  
  140.         new id = get_pdata_cbase(iEnt, 41, 4);
  141.        
  142.         if(!is_user_alive(id) || !is_user_connected(id))
  143.             return HAM_IGNORED;
  144.        
  145.         new eData[eWData];
  146.         new iWeapon = cs_get_weapon_id(iEnt);
  147.         switch(iWeapon){
  148.             case CSW_M4A1: {if(iActiveSkin[0][id] == -1)return HAM_IGNORED;ArrayGetArray(aWSkins, iActiveSkin[0][id], eData);entity_set_string(id, EV_SZ_viewmodel, eData[eWFile]);}
  149.             case CSW_AK47: {if(iActiveSkin[1][id] == -1)return HAM_IGNORED;ArrayGetArray(aWSkins, iActiveSkin[1][id], eData);entity_set_string(id, EV_SZ_viewmodel, eData[eWFile]);}
  150.             case CSW_AWP: {if(iActiveSkin[2][id] == -1)return HAM_IGNORED;ArrayGetArray(aWSkins, iActiveSkin[2][id], eData);entity_set_string(id, EV_SZ_viewmodel, eData[eWFile]);}
  151.             case CSW_SCOUT: {if(iActiveSkin[3][id] == -1)return HAM_IGNORED;ArrayGetArray(aWSkins, iActiveSkin[3][id], eData);entity_set_string(id, EV_SZ_viewmodel, eData[eWFile]);}
  152.             case CSW_FAMAS: {if(iActiveSkin[4][id] == -1)return HAM_IGNORED;ArrayGetArray(aWSkins, iActiveSkin[4][id], eData);entity_set_string(id, EV_SZ_viewmodel, eData[eWFile]);}
  153.             case CSW_GALIL: {if(iActiveSkin[5][id] == -1)return HAM_IGNORED;ArrayGetArray(aWSkins, iActiveSkin[5][id], eData);entity_set_string(id, EV_SZ_viewmodel, eData[eWFile]);}
  154.             case CSW_AUG: {if(iActiveSkin[6][id] == -1)return HAM_IGNORED;ArrayGetArray(aWSkins, iActiveSkin[6][id], eData);entity_set_string(id, EV_SZ_viewmodel, eData[eWFile]);}
  155.             case CSW_M3: {if(iActiveSkin[7][id] == -1)return HAM_IGNORED;ArrayGetArray(aWSkins, iActiveSkin[7][id], eData);entity_set_string(id, EV_SZ_viewmodel, eData[eWFile]);}
  156.             case CSW_XM1014: {if(iActiveSkin[8][id] == -1)return HAM_IGNORED;ArrayGetArray(aWSkins, iActiveSkin[8][id], eData);entity_set_string(id, EV_SZ_viewmodel, eData[eWFile]);}
  157.             case CSW_KNIFE: {if(iActiveSkin[9][id] == -1)return HAM_IGNORED;ArrayGetArray(aWSkins, iActiveSkin[9][id], eData);entity_set_string(id, EV_SZ_viewmodel, eData[eWFile]);}
  158.             case CSW_DEAGLE: {if(iActiveSkin[10][id] == -1)return HAM_IGNORED;ArrayGetArray(aWSkins, iActiveSkin[10][id], eData);entity_set_string(id, EV_SZ_viewmodel, eData[eWFile]);}
  159.             case CSW_USP: {if(iActiveSkin[11][id] == -1)return HAM_IGNORED;ArrayGetArray(aWSkins, iActiveSkin[11][id], eData);entity_set_string(id, EV_SZ_viewmodel, eData[eWFile]);}
  160.             case CSW_GLOCK18: {if(iActiveSkin[12][id] == -1)return HAM_IGNORED;ArrayGetArray(aWSkins, iActiveSkin[12][id], eData);entity_set_string(id, EV_SZ_viewmodel, eData[eWFile]);}
  161.         }
  162.         return HAM_IGNORED;
  163.     }
  164.     public PlayerKilled_p(iVictim, iKiller){
  165.         if(iVictim == iKiller || !iKiller || !iVictim)
  166.             return PLUGIN_HANDLED;
  167.        
  168.         new iWeapon = get_user_weapon(iKiller);
  169.        
  170.         Player[eKills][iKiller]++;
  171.         hp_up(iKiller);
  172.        
  173.         switch(iWeapon){
  174.             case CSW_M4A1:{
  175.                 iWeaponKills[0][iKiller] += 2;
  176.                 client_print_color(iKiller, print_team_default, "%s ^1 Fegyver :^3[M4a1 fegyver]^1 Jutalom ^3[ +2 M4a1 Pont]", get_prefix(0));
  177.             }
  178.             case CSW_AK47:{
  179.                 iWeaponKills[1][iKiller] += 2;
  180.                 client_print_color(iKiller, print_team_default, "%s ^1 Fegyver :^3[AK47 fegyver]^1 Jutalom ^3[ +2 AK47 Pont]", get_prefix(0));
  181.             }
  182.             case CSW_AWP:{
  183.                 iWeaponKills[2][iKiller] += 2;
  184.                 client_print_color(iKiller, print_team_default, "%s ^1 Fegyver :^3[AWP fegyver]^1 Jutalom ^3[ +2 AWP Pont]", get_prefix(0));
  185.             }
  186.             case CSW_SCOUT:{
  187.                 iWeaponKills[3][iKiller] += 2;
  188.                 client_print_color(iKiller, print_team_default, "%s ^1 Fegyver :^3[SCOUT fegyver]^1 Jutalom ^3[ +2 SCOUT Pont]", get_prefix(0));
  189.             }
  190.             case CSW_FAMAS:{
  191.                 iWeaponKills[4][iKiller] += 2;
  192.                 client_print_color(iKiller, print_team_default, "%s ^1 Fegyver :^3[FAMAS fegyver]^1 Jutalom ^3[ +2 FAMAS Pont]", get_prefix(0));
  193.             }
  194.             case CSW_GALIL:{
  195.                 iWeaponKills[5][iKiller] += 3;
  196.                 client_print_color(iKiller, print_team_default, "%s ^1 Fegyver :^3[GALIL fegyver]^1 Jutalom ^3[ +2 GALIL Pont]", get_prefix(0));
  197.             }
  198.             case CSW_AUG:{
  199.                 iWeaponKills[6][iKiller] += 3;
  200.                 client_print_color(iKiller, print_team_default, "%s ^1 Fegyver :^3[AUG fegyver]^1 Jutalom ^3[ +2 AUG Pont]", get_prefix(0));
  201.             }
  202.             case CSW_M3:{
  203.                 iWeaponKills[7][iKiller] += 3;
  204.                 client_print_color(iKiller, print_team_default, "%s ^1 Fegyver :^3[M3 fegyver]^1 Jutalom ^3[ +2 M3 Pont]", get_prefix(0));
  205.             }
  206.             case CSW_XM1014:{
  207.                 iWeaponKills[8][iKiller] += 2;
  208.                 client_print_color(iKiller, print_team_default, "%s ^1 Fegyver :^3[XM1014 fegyver]^1 Jutalom ^3[ +2 XM1014 Pont]", get_prefix(0));
  209.             }
  210.             case CSW_KNIFE:{
  211.                 iWeaponKills[9][iKiller] += 3;
  212.                 client_print_color(iKiller, print_team_default, "%s ^1 Fegyver :^3[KNIFE fegyver]^1 Jutalom ^3[ +2 KNIFE Pont]", get_prefix(0));
  213.             }
  214.             case CSW_DEAGLE:{
  215.                 iWeaponKills[10][iKiller] += 2;
  216.                 client_print_color(iKiller, print_team_default, "%s ^1 Fegyver :^3[DEAGLE fegyver]^1 Jutalom ^3[ +2 DEAGLE Pont]", get_prefix(0));
  217.             }
  218.             case CSW_USP:{
  219.                 iWeaponKills[11][iKiller] += 2;
  220.                 client_print_color(iKiller, print_team_default, "%s ^1 Fegyver :^3[USP fegyver]^1 Jutalom ^3[ +2 USP Pont]", get_prefix(0));
  221.             }
  222.             case CSW_GLOCK18:{
  223.                 iWeaponKills[12][iKiller] += 3;
  224.                 client_print_color(iKiller, print_team_default, "%s ^1 Fegyver :^3[GLOCK18 fegyver]^1 Jutalom ^3[ +2 GLOCK18 Pont]", get_prefix(0));
  225.             }
  226.         }
  227.         return PLUGIN_HANDLED;
  228.     }
  229.     public hp_up(id)
  230.     {
  231.         new iHealth = get_user_health(id);
  232.        
  233.         if(iHealth < 100)
  234.             set_user_health(id, iHealth + 5);
  235.         if(iHealth > 100)
  236.             set_user_health(id, 110);
  237.     }
  238.     public main_menu(id){
  239.         new sTitle[128];
  240.         format(sTitle, charsmax(sTitle), "%s \dFőmenü", get_prefix(1));
  241.         new iMenu = menu_create(sTitle, "menu_main_h");
  242.        
  243.         formatex(sTitle, charsmax(sTitle), "\wFegyver Skinek");
  244.         menu_additem(iMenu, sTitle, "1", 0);
  245.         menu_additem(iMenu, "\wAdatkezelő", "2", 0);
  246.        
  247.         menu_setprop(iMenu, MPROP_EXITNAME, "Kilépés");
  248.         menu_display(id, iMenu, 0);
  249.     }
  250.     public menu_main_h(id, iMenu, iItem){
  251.         if(iItem == MENU_EXIT){menu_destroy(iMenu);return;}
  252.        
  253.         new sData[10], sName[64];
  254.         new iAccess, iCallback;
  255.         menu_item_getinfo(iMenu, iItem, iAccess, sData, charsmax(sData), sName, charsmax(sName), iCallback);
  256.         new iKey = str_to_num(sData);
  257.        
  258.         switch(iKey)
  259.         {
  260.             case 1:  menu_storage(id);
  261.                 case 2: adminmenuopen(id);
  262.             }
  263.         playspk(id);
  264.     }
  265.     public menu_storage(id){
  266.         new sTitle[128];
  267.         format(sTitle, charsmax(sTitle), "%s \dVálassz fegyvert", get_prefix(1));
  268.         new iMenu = menu_create(sTitle, "menu_storage_h");
  269.        
  270.         menu_additem(iMenu, "\rM4A1 \ySkinek", "0", 0);
  271.         menu_additem(iMenu, "\rAK47 \ySkinek", "1", 0);
  272.         menu_additem(iMenu, "\rAWP \ySkinek", "2", 0);
  273.         menu_additem(iMenu, "\rSCOUT \ySkinek", "3", 0);
  274.         menu_additem(iMenu, "\rFAMAS \ySkinek", "4", 0);
  275.         menu_additem(iMenu, "\rGALIL  \ySkinek", "5", 0);
  276.         menu_additem(iMenu, "\rAUG \ySkinek", "6", 0);
  277.         menu_additem(iMenu, "\rM3 \ySkinek", "7", 0);
  278.         menu_additem(iMenu, "\rXM1014 \ySkinek", "8", 0);
  279.         menu_additem(iMenu, "\rKNIFE \ySkinek", "9", 0);
  280.         menu_additem(iMenu, "\rDEAGLE \ySkinek", "10", 0);
  281.         menu_additem(iMenu, "\rUSP \ySkinek", "11", 0);
  282.         menu_additem(iMenu, "\rGLOCK18 \ySkinek", "12", 0);
  283.        
  284.         menu_setprop(iMenu, MPROP_EXITNAME, "Kilepes");
  285.         menu_setprop(iMenu, MPROP_BACKNAME, "Vissza");
  286.         menu_setprop(iMenu, MPROP_NEXTNAME, "Tovabb");
  287.         menu_display(id, iMenu, 0);
  288.     }
  289.     public menu_storage_h(id, iMenu, iItem){
  290.         if(iItem == MENU_EXIT){menu_destroy(iMenu);return;}
  291.        
  292.         new sData[10], sName[64];
  293.         new iAccess, iCallback;
  294.         menu_item_getinfo(iMenu, iItem, iAccess, sData, charsmax(sData), sName, charsmax(sName), iCallback);
  295.         new iKey = str_to_num(sData);
  296.        
  297.         switch(iKey){
  298.             case 0..12:  WeaponSkins(id, iKey);
  299.             }
  300.         playspk(id);
  301.     }
  302.     public WeaponSkins(id, iWhich){
  303.         new sTitle[128], sRow[8];
  304.         new eData[eWData];
  305.         format(sTitle, charsmax(sTitle), "%s \dFegyver Skinek", get_prefix(1));
  306.         new iMenu = menu_create(sTitle, "WeaponSkins_h");
  307.        
  308.         switch(iWhich){
  309.             case 0:{
  310.                 for(new i; i < iLoadedSkins; i++)
  311.                 {
  312.                     ArrayGetArray(aWSkins, i, eData);
  313.                     if(equali(eData[eWType], "M4A1")){
  314.                         num_to_str(i, sRow, 7);
  315.                         if(Player[eKills][id] < eData[eWKill])
  316.                             formatex(sTitle, charsmax(sTitle), "\w%s\d - \w%d\r Pont", eData[eWName], eData[eWKill]);
  317.                         else
  318.                             formatex(sTitle, charsmax(sTitle), "\w%s", eData[eWName]);
  319.                         menu_additem(iMenu, sTitle, sRow);
  320.                     }
  321.                 }
  322.             }
  323.             case 1:{
  324.                 for(new i; i < iLoadedSkins; i++)
  325.                 {
  326.                     ArrayGetArray(aWSkins, i, eData);
  327.                     if(equali(eData[eWType], "AK47")){
  328.                         num_to_str(i, sRow, 7);
  329.                         if(Player[eKills][id] < eData[eWKill])
  330.                             formatex(sTitle, charsmax(sTitle), "\w%s\d - \w%d\r Pont", eData[eWName], eData[eWKill]);
  331.                         else
  332.                             formatex(sTitle, charsmax(sTitle), "\w%s", eData[eWName]);
  333.                         menu_additem(iMenu, sTitle, sRow);
  334.                     }
  335.                 }
  336.             }
  337.             case 2:{
  338.                 for(new i; i < iLoadedSkins; i++)
  339.                 {
  340.                     ArrayGetArray(aWSkins, i, eData);
  341.                     if(equali(eData[eWType], "AWP")){
  342.                         num_to_str(i, sRow, 7);
  343.                         if(Player[eKills][id] < eData[eWKill])
  344.                             formatex(sTitle, charsmax(sTitle), "\w%s\d - \w%d\r Pont", eData[eWName], eData[eWKill]);
  345.                         else
  346.                             formatex(sTitle, charsmax(sTitle), "\w%s", eData[eWName]);
  347.                         menu_additem(iMenu, sTitle, sRow);
  348.                     }
  349.                 }
  350.             }
  351.             case 3:{
  352.                 for(new i; i < iLoadedSkins; i++)
  353.                 {
  354.                     ArrayGetArray(aWSkins, i, eData);
  355.                     if(equali(eData[eWType], "SCOUT")){
  356.                         num_to_str(i, sRow, 7);
  357.                         if(Player[eKills][id] < eData[eWKill])
  358.                             formatex(sTitle, charsmax(sTitle), "\w%s\d - \w%d\r Pont", eData[eWName], eData[eWKill]);
  359.                         else
  360.                             formatex(sTitle, charsmax(sTitle), "\w%s", eData[eWName]);
  361.                         menu_additem(iMenu, sTitle, sRow);
  362.                     }
  363.                 }
  364.             }
  365.             case 4:{
  366.                 for(new i; i < iLoadedSkins; i++)
  367.                 {
  368.                     ArrayGetArray(aWSkins, i, eData);
  369.                     if(equali(eData[eWType], "FAMAS")){
  370.                         num_to_str(i, sRow, 7);
  371.                         if(Player[eKills][id] < eData[eWKill])
  372.                             formatex(sTitle, charsmax(sTitle), "\w%s\d - \w%d\r Pont", eData[eWName], eData[eWKill]);
  373.                         else
  374.                             formatex(sTitle, charsmax(sTitle), "\w%s", eData[eWName]);
  375.                         menu_additem(iMenu, sTitle, sRow);
  376.                     }
  377.                 }
  378.             }
  379.             case 5:{
  380.                 for(new i; i < iLoadedSkins; i++)
  381.                 {
  382.                     ArrayGetArray(aWSkins, i, eData);
  383.                     if(equali(eData[eWType], "GALIL")){
  384.                         num_to_str(i, sRow, 7);
  385.                         if(Player[eKills][id] < eData[eWKill])
  386.                             formatex(sTitle, charsmax(sTitle), "\w%s\d - \w%d\r Pont", eData[eWName], eData[eWKill]);
  387.                         else
  388.                             formatex(sTitle, charsmax(sTitle), "\w%s", eData[eWName]);
  389.                         menu_additem(iMenu, sTitle, sRow);
  390.                     }
  391.                 }
  392.             }
  393.             case 6:{
  394.                 for(new i; i < iLoadedSkins; i++)
  395.                 {
  396.                     ArrayGetArray(aWSkins, i, eData);
  397.                     if(equali(eData[eWType], "AUG")){
  398.                         num_to_str(i, sRow, 7);
  399.                         if(Player[eKills][id] < eData[eWKill])
  400.                             formatex(sTitle, charsmax(sTitle), "\w%s\d - \w%d\r Pont", eData[eWName], eData[eWKill]);
  401.                         else
  402.                             formatex(sTitle, charsmax(sTitle), "\w%s", eData[eWName]);
  403.                         menu_additem(iMenu, sTitle, sRow);
  404.                     }
  405.                 }
  406.             }
  407.             case 7:{
  408.                 for(new i; i < iLoadedSkins; i++)
  409.                 {
  410.                     ArrayGetArray(aWSkins, i, eData);
  411.                     if(equali(eData[eWType], "M3")){
  412.                         num_to_str(i, sRow, 7);
  413.                         if(Player[eKills][id] < eData[eWKill])
  414.                             formatex(sTitle, charsmax(sTitle), "\w%s\d - \w%d\r Pont", eData[eWName], eData[eWKill]);
  415.                         else
  416.                             formatex(sTitle, charsmax(sTitle), "\w%s", eData[eWName]);
  417.                         menu_additem(iMenu, sTitle, sRow);
  418.                     }
  419.                 }
  420.             }
  421.             case 8:{
  422.                 for(new i; i < iLoadedSkins; i++)
  423.                 {
  424.                     ArrayGetArray(aWSkins, i, eData);
  425.                     if(equali(eData[eWType], "XM1014")){
  426.                         num_to_str(i, sRow, 7);
  427.                         if(Player[eKills][id] < eData[eWKill])
  428.                             formatex(sTitle, charsmax(sTitle), "\w%s\d - \w%d\r Pont", eData[eWName], eData[eWKill]);
  429.                         else
  430.                             formatex(sTitle, charsmax(sTitle), "\w%s", eData[eWName]);
  431.                         menu_additem(iMenu, sTitle, sRow);
  432.                     }
  433.                 }
  434.             }
  435.             case 9:{
  436.                 for(new i; i < iLoadedSkins; i++)
  437.                 {
  438.                     ArrayGetArray(aWSkins, i, eData);
  439.                     if(equali(eData[eWType], "KNIFE")){
  440.                         num_to_str(i, sRow, 7);
  441.                         if(Player[eKills][id] < eData[eWKill])
  442.                             formatex(sTitle, charsmax(sTitle), "\w%s\d - \w%d\r Pont", eData[eWName], eData[eWKill]);
  443.                         else
  444.                             formatex(sTitle, charsmax(sTitle), "\w%s", eData[eWName]);
  445.                         menu_additem(iMenu, sTitle, sRow);
  446.                     }
  447.                 }
  448.             }
  449.             case 10:{
  450.                 for(new i; i < iLoadedSkins; i++)
  451.                 {
  452.                     ArrayGetArray(aWSkins, i, eData);
  453.                     if(equali(eData[eWType], "DEAGLE")){
  454.                         num_to_str(i, sRow, 7);
  455.                         if(Player[eKills][id] < eData[eWKill])
  456.                             formatex(sTitle, charsmax(sTitle), "\w%s\d - \w%d\r Pont", eData[eWName], eData[eWKill]);
  457.                         else
  458.                             formatex(sTitle, charsmax(sTitle), "\w%s", eData[eWName]);
  459.                         menu_additem(iMenu, sTitle, sRow);
  460.                     }
  461.                 }
  462.             }
  463.             case 11:{
  464.                 for(new i; i < iLoadedSkins; i++)
  465.                 {
  466.                     ArrayGetArray(aWSkins, i, eData);
  467.                     if(equali(eData[eWType], "USP")){
  468.                         num_to_str(i, sRow, 7);
  469.                         if(Player[eKills][id] < eData[eWKill])
  470.                             formatex(sTitle, charsmax(sTitle), "\w%s\d - \w%d\r Pont", eData[eWName], eData[eWKill]);
  471.                         else
  472.                             formatex(sTitle, charsmax(sTitle), "\w%s", eData[eWName]);
  473.                         menu_additem(iMenu, sTitle, sRow);
  474.                     }
  475.                 }
  476.             }
  477.             case 12:{
  478.                 for(new i; i < iLoadedSkins; i++)
  479.                 {
  480.                     ArrayGetArray(aWSkins, i, eData);
  481.                     if(equali(eData[eWType], "GLOCK18")){
  482.                         num_to_str(i, sRow, 7);
  483.                         if(Player[eKills][id] < eData[eWKill])
  484.                             formatex(sTitle, charsmax(sTitle), "\w%s\d - \w%d\r Pont", eData[eWName], eData[eWKill]);
  485.                         else
  486.                             formatex(sTitle, charsmax(sTitle), "\w%s", eData[eWName]);
  487.                         menu_additem(iMenu, sTitle, sRow);
  488.                     }
  489.                 }
  490.             }
  491.         }
  492.         menu_setprop(iMenu, MPROP_EXITNAME, "Kil??p??s");
  493.         menu_setprop(iMenu, MPROP_BACKNAME, "Vissza");
  494.         menu_setprop(iMenu, MPROP_NEXTNAME, "Tov??bb");
  495.         menu_display(id, iMenu, 0);
  496.     }
  497.     public WeaponSkins_h(id, iMenu, iItem){
  498.         if(iItem == MENU_EXIT){menu_destroy(iMenu);return;}
  499.        
  500.         new sData[10], sName[64];
  501.         new iAccess, iCallback;
  502.         new eData[eWData];
  503.         menu_item_getinfo(iMenu, iItem, iAccess, sData, charsmax(sData), sName, charsmax(sName), iCallback);
  504.         new iKey = str_to_num(sData);
  505.        
  506.         ArrayGetArray(aWSkins, iKey, eData);
  507.        
  508.         if(equali(eData[eWType], "M4A1")){
  509.             if(Player[eKills][id] < eData[eWKill])
  510.                 client_print_color(id, print_team_default, "%s^1Nincs elegendő ölésed a skinhez.", get_prefix(0));
  511.             else{
  512.                 iActiveSkin[0][id] = iKey;
  513.                 client_print_color(id, print_team_default, "%s^1Kiválasztottad a(z) %s skint.", get_prefix(0), eData[eWName]);
  514.             }
  515.         }
  516.         else if(equali(eData[eWType], "Ak47")){
  517.             if(Player[eKills][id] < eData[eWKill])
  518.                 client_print_color(id, print_team_default, "%s^1Nincs elegendő ölésed a skinhez.", get_prefix(0));
  519.             else{
  520.                 iActiveSkin[1][id] = iKey;
  521.                 client_print_color(id, print_team_default, "%s^1Kiválasztottad a(z) %s skint.", get_prefix(0), eData[eWName]);
  522.             }
  523.         }
  524.         else if(equali(eData[eWType], "AWP")){
  525.             if(Player[eKills][id] < eData[eWKill])
  526.                 client_print_color(id, print_team_default, "%s^1Nincs elegendő ölésed a skinhez.", get_prefix(0));
  527.             else{
  528.                 iActiveSkin[2][id] = iKey;
  529.                 client_print_color(id, print_team_default, "%s^1Kiválasztottad a(z) %s skint.", get_prefix(0), eData[eWName]);
  530.             }
  531.         }
  532.         else if(equali(eData[eWType], "SCOUT")){
  533.             if(Player[eKills][id] < eData[eWKill])
  534.                 client_print_color(id, print_team_default, "%s^1Nincs elegendő ölésed a skinhez.", get_prefix(0));
  535.             else{
  536.                 iActiveSkin[3][id] = iKey;
  537.                 client_print_color(id, print_team_default, "%s^1Kiválasztottad a(z) %s skint.", get_prefix(0), eData[eWName]);
  538.             }
  539.         }
  540.         else if(equali(eData[eWType], "FAMAS")){
  541.             if(Player[eKills][id] < eData[eWKill])
  542.                 client_print_color(id, print_team_default, "%s^1Nincs elegendő ölésed a skinhez.", get_prefix(0));
  543.             else{
  544.                 iActiveSkin[4][id] = iKey;
  545.                 client_print_color(id, print_team_default, "%s^1Kiválasztottad a(z) %s skint.", get_prefix(0), eData[eWName]);
  546.             }
  547.         }
  548.         else if(equali(eData[eWType], "GALIL")){
  549.             if(Player[eKills][id] < eData[eWKill])
  550.                 client_print_color(id, print_team_default, "%s^1Nincs elegendő ölésed a skinhez.", get_prefix(0));
  551.             else{
  552.                 iActiveSkin[5][id] = iKey;
  553.                 client_print_color(id, print_team_default, "%s^1Kiválasztottad a(z) %s skint.", get_prefix(0), eData[eWName]);
  554.             }
  555.         }
  556.         else if(equali(eData[eWType], "AUG")){
  557.             if(Player[eKills][id] < eData[eWKill])
  558.                 client_print_color(id, print_team_default, "%s^1Nincs elegendő ölésed a skinhez.", get_prefix(0));
  559.             else{
  560.                 iActiveSkin[6][id] = iKey;
  561.                 client_print_color(id, print_team_default, "%s^1Kiválasztottad a(z) %s skint.", get_prefix(0), eData[eWName]);
  562.             }
  563.         }
  564.         else if(equali(eData[eWType], "M3")){
  565.             if(Player[eKills][id] < eData[eWKill])
  566.                 client_print_color(id, print_team_default, "%s^1Nincs elegendő ölésed a skinhez.", get_prefix(0));
  567.             else{
  568.                 iActiveSkin[7][id] = iKey;
  569.                 client_print_color(id, print_team_default, "%s^1Kiválasztottad a(z) %s skint.", get_prefix(0), eData[eWName]);
  570.             }
  571.         }
  572.         else if(equali(eData[eWType], "XM1014")){
  573.             if(Player[eKills][id] < eData[eWKill])
  574.                 client_print_color(id, print_team_default, "%s^1Nincs elegendő ölésed a skinhez.", get_prefix(0));
  575.             else{
  576.                 iActiveSkin[8][id] = iKey;
  577.                 client_print_color(id, print_team_default, "%s^1Kiválasztottad a(z) %s skint.", get_prefix(0), eData[eWName]);
  578.             }
  579.         }
  580.         else if(equali(eData[eWType], "KNIFE")){
  581.             if(Player[eKills][id] < eData[eWKill])
  582.                 client_print_color(id, print_team_default, "%s^1Nincs elegendő ölésed a skinhez.", get_prefix(0));
  583.             else{
  584.                 iActiveSkin[9][id] = iKey;
  585.                 client_print_color(id, print_team_default, "%s^1Kiválasztottad a(z) %s skint.", get_prefix(0), eData[eWName]);
  586.             }
  587.         }
  588.         else if(equali(eData[eWType], "DEAGLE")){
  589.             if(Player[eKills][id] < eData[eWKill])
  590.                 client_print_color(id, print_team_default, "%s^1Nincs elegendő ölésed a skinhez.", get_prefix(0));
  591.             else{
  592.                 iActiveSkin[10][id] = iKey;
  593.                 client_print_color(id, print_team_default, "%s^1Kiválasztottad a(z) %s skint.", get_prefix(0), eData[eWName]);
  594.             }
  595.         }
  596.         else if(equali(eData[eWType], "USP")){
  597.             if(Player[eKills][id] < eData[eWKill])
  598.                 client_print_color(id, print_team_default, "%s^1Nincs elegendő ölésed a skinhez.", get_prefix(0));
  599.             else{
  600.                 iActiveSkin[11][id] = iKey;
  601.                 client_print_color(id, print_team_default, "%s^1Kiválasztottad a(z) %s skint.", get_prefix(0), eData[eWName]);
  602.             }
  603.         }
  604.         else if(equali(eData[eWType], "GLOCK18")){
  605.             if(Player[eKills][id] < eData[eWKill])
  606.                 client_print_color(id, print_team_default, "%s^1Nincs elegendő ölésed a skinhez.", get_prefix(0));
  607.             else{
  608.                 iActiveSkin[12][id] = iKey;
  609.                 client_print_color(id, print_team_default, "%s^1Kiválasztottad a(z) %s skint.", get_prefix(0), eData[eWName]);
  610.             }
  611.         }
  612.         playspk(id);
  613.     }
  614.     public adminmenuopen(id){
  615.         new sTitle[128];
  616.         format(sTitle, charsmax(sTitle), "%s \dJátékosok kezelése", get_prefix(1));
  617.         new iMenu = menu_create(sTitle, "adminmenuopen_h");
  618.        
  619.         menu_additem(iMenu, "\wPont adás", "1", 0);
  620.         menu_additem(iMenu, "\wPont elvétel", "2", 0);
  621.        
  622.         menu_setprop(iMenu, MPROP_EXITNAME, "Kil??p??s");
  623.         menu_display(id, iMenu, 0);
  624.     }
  625.     public adminmenuopen_h(id, iMenu, iItem){
  626.         if(iItem == MENU_EXIT){menu_destroy(iMenu);return;}
  627.        
  628.         new sData[10], sName[64];
  629.         new iAccess, iCallback;
  630.         menu_item_getinfo(iMenu, iItem, iAccess, sData, charsmax(sData), sName, charsmax(sName), iCallback);
  631.         new iKey = str_to_num(sData);
  632.        
  633.         switch(iKey){
  634.             case 1:  {menu_chooseplayer(id); iChoosedMode = 0;}
  635.             case 2: {menu_chooseplayer(id); iChoosedMode = 1;}
  636.         }
  637.         playspk(id);
  638.     }
  639.     public menu_chooseplayer(id){
  640.         new sTitle[128], iPlayers[32], iPNum, iId, sName[64], sId[10];
  641.         format(sTitle, charsmax(sTitle), "%s \dVálassz játékost", get_prefix(1));
  642.         new iMenu = menu_create(sTitle, "menu_chooseplayer_h");
  643.        
  644.         get_players(iPlayers, iPNum);
  645.        
  646.         for(new i; i < iPNum; i++)
  647.         {
  648.             iId = iPlayers[i];
  649.             if(is_user_bot(iId) || !is_user_connected(iId))
  650.                 continue;
  651.            
  652.             get_user_name(iId, sName, charsmax(sName));
  653.             num_to_str(iId, sId, charsmax(sId));    
  654.             menu_additem(iMenu, sName, sId, 0);          
  655.         }
  656.        
  657.         menu_setprop(iMenu, MPROP_EXITNAME, "Kilépés");
  658.         menu_display(id, iMenu, 0);
  659.     }
  660.     public menu_chooseplayer_h(id, iMenu, iItem){
  661.         if(iItem == MENU_EXIT){menu_destroy(iMenu);return;}
  662.        
  663.         new sData[10], sName[64];
  664.         new iAccess, iCallback;
  665.         menu_item_getinfo(iMenu, iItem, iAccess, sData, charsmax(sData), sName, charsmax(sName), iCallback);
  666.         iTempID = str_to_num(sData);
  667.        
  668.         client_cmd(id, "messagemode type_itemremoveoradd");
  669.         playspk(id);
  670.     }
  671.     public type_itemammount(id){
  672.         new sItem[128], iItemAmmount, sSenderName[64], sTargetName[64];
  673.         read_args(sItem, charsmax(sItem));
  674.         remove_quotes(sItem);
  675.        
  676.         get_user_name(id, sSenderName, charsmax(sSenderName));
  677.         get_user_name(iTempID, sTargetName, charsmax(sTargetName));
  678.        
  679.         iItemAmmount = str_to_num(sItem);
  680.        
  681.         if(iItemAmmount < 0){
  682.             client_print_color(id, print_team_blue, "%s ^1Nem írhasz nulla értéket!.", get_prefix(0));
  683.             return PLUGIN_HANDLED;
  684.         }
  685.        
  686.         switch(iChoosedMode){
  687.             case 0:{
  688.                
  689.                 for(new i = 0; i < 13; i++)
  690.                     iWeaponKills[i][iTempID] += iItemAmmount;
  691.                
  692.                 client_print_color(id, print_team_blue, "%s ^1Sikeresen jóváírtak:^4 %d ^1t, neki:^4 %s", get_prefix(0), iItemAmmount, sTargetName);
  693.                 client_print_color(iTempID, print_team_blue, "%s ^1Jóváírtak neked^4 %d ^1pontot! BY:^4 %s", get_prefix(0), iItemAmmount, sTargetName);
  694.                 client_print_color(id, print_team_blue, "^3 Admin: %s | Játékos: %s | összeg: %d | Tíus: pont jóváírás", sSenderName, sTargetName, iItemAmmount);
  695.                 return PLUGIN_HANDLED;
  696.             }
  697.             case 1:{
  698.                 for(new i = 0; i < 13; i++)
  699.                     iWeaponKills[i][iTempID] -= iItemAmmount;
  700.                
  701.                 client_print_color(id, print_team_blue, "%s ^1Sikeresen elvettek:^4 %d ^1, t?e:^4 %s", get_prefix(0), iItemAmmount, sTargetName);
  702.                 client_print_color(iTempID, print_team_blue, "%s ^1Elvettek tőled^4 %d ^1pontot! BY:^4 %s", get_prefix(0), iItemAmmount, sTargetName);
  703.                 client_print_color(id, print_team_blue, "^3 Admin: %s | Játékos: %s | összeg: %d | Tius: Pont elvétel", sSenderName, sTargetName, iItemAmmount);
  704.                 return PLUGIN_HANDLED;
  705.             }
  706.         }  
  707.         return PLUGIN_HANDLED;
  708.     }
  709.     public client_disconnected(id){
  710.         if(is_user_bot(id))
  711.             return;
  712.        
  713.         Update(id);
  714.        
  715.         Player[eKills][id] = 0;
  716.         Player[eUnclockedSkin][id] = 0;
  717.        
  718.         for(new i = 0; i < 13; i++)
  719.             iActiveSkin[i][id] = -1;
  720.         for(new i = 0; i < 13; i++)
  721.             iWeaponKills[i][id] = 0;
  722.     }
  723.     public client_putinserver(id){
  724.         if(is_user_bot(id))
  725.             return;
  726.      
  727.         for(new i = 0; i < 13; i++)
  728.             iActiveSkin[i][id] = -1;
  729.         for(new i = 0; i < 13; i++)
  730.             iWeaponKills[i][id] = 0;
  731.        
  732.         SQL_load(id);
  733.         InfoHud(id);
  734.     }
  735.     public plugin_cfg(){
  736.         new iLen, sQuery[2048];
  737.         SqlTuple = SQL_MakeDbTuple(SQL_INFO[0], SQL_INFO[1], SQL_INFO[2], SQL_INFO[3])
  738.         iLen += formatex(sQuery[iLen], charsmax(sQuery), "CREATE TABLE IF NOT EXISTS `SkinMenu`")
  739.         iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "(`Steamid` varchar(128) NOT NULL, ")
  740.         iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "`UnlockedSkin` int(11) NOT NULL,");
  741.        
  742.         for(new i = 0; i < 13; i++)
  743.             iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "`WK%d` int(11) NOT NULL,", i);
  744.        
  745.         for(new i = 0; i < 13; i++)
  746.             iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "`MentettSkin_%d` int(11) NOT NULL,", i);
  747.        
  748.         iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "`Olesek` int(11) NOT NULL, `id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY)");
  749.         SQL_ThreadQuery(SqlTuple, "createTableThread", sQuery);
  750.     }
  751.     public createTableThread(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime){
  752.         if(FailState == TQUERY_CONNECT_FAILED)
  753.             set_fail_state("[HIBA*] NEM TUDTAM CSATLAKOZNI AZ ADATBAZISHOZ!");
  754.         else if(FailState == TQUERY_QUERY_FAILED)
  755.             set_fail_state("Query Error");
  756.         if(Errcode)
  757.             log_amx("[HIBA*] HIBAT DOBTAM: %s", Error);
  758.     }
  759.     public SQL_load(id){
  760.         new Data[1], sQuery[2048];
  761.         Data[0] = id;
  762.         get_user_authid(id, gSteamID, charsmax(gSteamID))
  763.        
  764.         formatex(sQuery, charsmax(sQuery), "SELECT * FROM `SkinMenu` WHERE Steamid = ^"%s^";", gSteamID);
  765.         SQL_ThreadQuery(SqlTuple, "SQL_load_thr", sQuery, Data, 1)
  766.     }
  767.     public SQL_load_thr(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime){
  768.         if(FailState == TQUERY_CONNECT_FAILED)
  769.             set_fail_state("[*HIBA*] NEM LEHET KAPCSOLODNI AZ ADATBAZISHOZ!");
  770.         else if(FailState == TQUERY_QUERY_FAILED)
  771.             set_fail_state("[*HIBA*] A LEKERDEZES MEGSZAKADT!");
  772.         if(Errcode)
  773.             log_amx("[*HIBA*] PROBLEMA A LEKERDEZESNEL! ( %s )",Error);
  774.        
  775.         new id = Data[0];
  776.        
  777.         if(SQL_NumRows(Query) > 0){
  778.             Player[eUnclockedSkin][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "UnlockedSkin"));
  779.             for(new i = 0; i < 13; i++){
  780.                 new sString[64];
  781.                 formatex(sString, charsmax(sString), "WK%d", i);
  782.                 iWeaponKills[i][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, sString));
  783.             }
  784.             for(new i = 0; i < 13; i++){
  785.                 new sString[64];
  786.                 formatex(sString, charsmax(sString), "MentettSkin_%d", i);
  787.                 iActiveSkin[i][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, sString));
  788.             }
  789.             Player[eKills][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Olesek"));
  790.         }
  791.         else
  792.             SQL_Save(id);
  793.     }
  794.     public Update(id){
  795.         new iLen, sQuery[2048];
  796.         get_user_authid(id, gSteamID, charsmax(gSteamID))
  797.        
  798.         iLen += formatex(sQuery[iLen], charsmax(sQuery), "UPDATE `SkinMenu` SET UnlockedSkin = ^"%i^", ", Player[eUnclockedSkin][id]);
  799.        
  800.         for(new i = 0; i < 13; i++)
  801.             iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "WK%d = ^"%i^", ", i, iWeaponKills[i][id]);
  802.        
  803.         for(new i = 0; i < 13; i++)
  804.             iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "MentettSkin_%d = ^"%i^", ", i, iActiveSkin[i][id]);
  805.        
  806.         iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "Olesek = ^"%i^" WHERE Steamid = ^"%s^";", Player[eKills][id], gSteamID);
  807.        
  808.         SQL_ThreadQuery(SqlTuple, "QuerySetData", sQuery)
  809.     }
  810.     public SQL_Save(id){
  811.         new sQuery[2048]
  812.         get_user_authid(id, gSteamID, charsmax(gSteamID))
  813.        
  814.         formatex(sQuery, charsmax(sQuery), "INSERT INTO `SkinMenu` (`Steamid`) VALUES (^"%s^");", gSteamID);
  815.         SQL_ThreadQuery(SqlTuple, "QuerySetData", sQuery);
  816.     }
  817.     public QuerySetData(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime){
  818.         if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED){
  819.             log_amx("%s", Error);
  820.             return;
  821.         }
  822.     }
  823.     public plugin_end(){
  824.         SQL_FreeHandle(SqlTuple);
  825.     }
  826.     public sayhook(id){
  827.         new Message[192];
  828.         read_args(Message, charsmax(Message))
  829.         remove_quotes(Message)
  830.        
  831.         if(strlen(Message) == 0 || Message[0] == '/')
  832.             return PLUGIN_HANDLED_MAIN;
  833.        
  834.         new Death[16], sName[MAX_NAME_LENGTH];
  835.         get_user_name(id, sName, charsmax(sName));
  836.        
  837.         new sRank[64], sColor[16];
  838.        
  839.         switch(get_user_flags(id)){
  840.             case TULAJ:{ sRank = "^4[^3Tulajdonos^4]"; sColor = "^4";}
  841.             case ADMIN:{ sRank = "^4[^3Admin^4]"; sColor = "^4";}
  842.             case VIP:{ sRank = "^4[^3VIP^4]"; sColor = "^3";}
  843.             default:{ sRank = "^4[^3Játékos^4]"; sColor = "^1";}
  844.         }
  845.         for(new i = 1; i <= iMaxPlayers; i++){
  846.             if(is_user_connected(i) && !is_user_bot(i)){
  847.                 formatex(Death, charsmax(Death), is_user_alive(id) ? "":"*Halott*");
  848.                 client_print_color(i, print_team_default, "%s%s^3%s: %s%s", Death, sRank, sName, sColor, Message);
  849.             }
  850.         }
  851.         return PLUGIN_HANDLED_MAIN;
  852.     }
  853.     public sayteamhook(id){
  854.         new Message[192];
  855.         read_args(Message, charsmax(Message))
  856.         remove_quotes(Message)
  857.        
  858.         if(strlen(Message) == 0 || Message[0] == '/')
  859.             return PLUGIN_HANDLED_MAIN;
  860.        
  861.         new Death[16], sName[MAX_NAME_LENGTH];
  862.         get_user_name(id, sName, charsmax(sName));
  863.        
  864.         new iTeam, sTeam[32];
  865.         iTeam = get_user_team(id, sTeam, charsmax(sTeam));
  866.        
  867.         switch(iTeam){
  868.             case CS_TEAM_CT: sTeam = "CT";
  869.                 case CS_TEAM_T: sTeam = "T";
  870.                 case CS_TEAM_SPECTATOR: sTeam = "SPEC";
  871.             }
  872.         for(new i = 1; i <=  iMaxPlayers; i++){
  873.             if(is_user_connected(i) && !is_user_bot(i) || get_user_flags(id) & ADMIN_BAN){
  874.                 formatex(Death, charsmax(Death), is_user_alive(id) ? "":"*Halott*");
  875.                 client_print_color(i, print_team_default, "%s^3(%s)^1%s: ^3%s", Death, sTeam, sName, Message);
  876.             }
  877.         }
  878.         return PLUGIN_HANDLED_MAIN;
  879.     }
  880.     stock get_prefix(which){
  881.         new sPrefix[32];
  882.         if(which == 0)
  883.             get_pcvar_string(cvarS[eCpref], sPrefix, charsmax(sPrefix));
  884.         else if(which == 1)
  885.             get_pcvar_string(cvarS[eMpref], sPrefix, charsmax(sPrefix));
  886.        
  887.         return sPrefix;
  888.     }
  889.     public playspk(id){
  890.         client_cmd(id, "spk buttons/lightswitch2");
  891.     }


  1. skin.ini


"M4A1 | Halloween" "models/pk_skinek/m4a1/v_m4a1_hallowen.mdl" "0" "M4A1"


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Hozzá írd skinek után bugolnak!
HozzászólásElküldve: 2021.11.23. 12:41 
Offline
Félisten
Avatar

Csatlakozott: 2016.03.06. 14:20
Hozzászólások: 964
Megköszönt másnak: 102 alkalommal
Megköszönték neki: 134 alkalommal
Figyu nem skin.ini

hanem: skins.ini

_________________
 ! Moderátori megjegyzés (kiki):
Kérlek csekkold az aláírásra vonatkozó szabályokat!


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Hozzá írd skinek után bugolnak!
HozzászólásElküldve: 2021.11.27. 09:25 
Offline
Senior Tag
Avatar

Csatlakozott: 2021.01.08. 18:25
Hozzászólások: 273
Megköszönt másnak: 26 alkalommal
Megköszönték neki: 20 alkalommal
  1. public LoadSkins(){
  2.         aWSkins = ArrayCreate(eWData);
  3.         new sPath[40];
  4.         get_configsdir(sPath, charsmax(sPath));
  5.         format(sPath, charsmax(sPath), "%s/skins.ini", sPath);

_________________
Kép
FÓRUM


Hozzászólás jelentése
Vissza a tetejére
   
Hozzászólások megjelenítése:  Rendezés  
Új téma nyitása  Hozzászólás a témához  [ 3 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 4 vendég


Nyithatsz új témákat ebben a fórumban.
Válaszolhatsz egy témára ebben a fórumban.
Nem szerkesztheted a hozzászólásaidat ebben a fórumban.
Nem törölheted a hozzászólásaidat ebben a fórumban.
Nem küldhetsz csatolmányokat ebben a fórumban.

Keresés:
Ugrás:  
Powered by phpBB® Forum Software © phpBB Limited
Magyar fordítás © Magyar phpBB Közösség
Portal: Kiss Portal Extension © Michael O'Toole