hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.05.10. 21:51



Jelenlévő felhasználók

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

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

Regisztrált felhasználók: Bing [Bot] 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: Skin bővítés könnyebben
HozzászólásElküldve: 2021.07.02. 14:30 
Offline
Jómunkásember

Csatlakozott: 2020.06.14. 17:59
Hozzászólások: 370
Megköszönt másnak: 64 alkalommal
Megköszönték neki: 10 alkalommal
Sziasztok!

Annak idején kaptam egy módot @HellEnergY felhasználótól, nekem egy gondom van vele,hogy nehéz bővíteni skinekkel.
Esetleg egy olyan megoldás érdekelne engem.

  1. AK47 | carbon_edition", "models/mappaneve/ak47/v_ak47_carbon_edition.mdl", 100 Kill pont!


  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 TULAJ ADMIN_IMMUNITY
  15.     #define ADMIN ADMIN_BAN
  16.     #define VIP ADMIN_LEVEL_H
  17.     #define MAX_NAME_LENGTH 64
  18.      
  19.     new const gMenuPrefix[] = "\d[.:Amitakarsz:.] \yFun";
  20.     new const gChatPrefix[] = "[Amitakarsz]";
  21.      
  22.     new const SQL_INFO[][] = {
  23.        "", //Kiszolgáló
  24.        "", //Felhasználónév
  25.        "", //Jelszó
  26.        ""  //Adatbázis neve
  27.     }
  28.      
  29.     new gWeaponKills[13][33], gKills[33], gActiveSkin[13][33], gSteamID[128], gValami[33];
  30.     new iMenuPIndex, iChoosedMode, iMenuWeapons;
  31.      
  32.     enum _:eData {
  33.         gWeaponName[64],
  34.         gWeaponFile[64],
  35.         gWeaponKill[64]
  36.     }
  37.      
  38.     new Handle:SqlTuple;
  39.      
  40.     new const gWeaponList[][eData] = {
  41.         {"M4a1 | Default", "models/v_m4a1.mdl", 0},
  42.         //IDE M4 jon
  43.         {"Ak47 | Default", "models/v_ak47.mdl", 0},
  44.         //IDE AK jon
  45.         {"Awp | Default", "models/v_awp.mdl", 0},
  46.         //IDE AWP jon
  47.         {"Scout | Default", "models/v_scout.mdl", 0},
  48.         //IDE SCOUT jon
  49.         {"Famas | Default", "models/v_famas.mdl", 0},
  50.         //IDE FAMAS jon
  51.         {"Galil | Default", "models/v_galil.mdl", 0},
  52.         //IDE GALIL jon
  53.         {"Aug | Default", "models/v_aug.mdl", 0},
  54.         //IDE AUG jon
  55.         {"M3 | Default", "models/v_m3.mdl", 0},
  56.         //IDE M3 jon
  57.         {"XM1014 | Default", "models/v_xm1014.mdl", 0},
  58.         //IDE XM1014 jon
  59.         {"Knife | Default", "models/v_knife.mdl", 0},
  60.         //IDE Knife jon
  61.         {"Deagle | Default", "models/v_deagle.mdl", 0},
  62.         //IDE Deagle jon
  63.         {"Usp | Default", "models/v_usp.mdl", 0},
  64.         //IDE USP jon
  65.         {"Glock18 | Default", "models/v_glock18.mdl", 0}//Ha bővited ne felejtsd a vesszőt!
  66.         //IDE GLOCK jon
  67.     };
  68.     public plugin_init()
  69.     {
  70.         register_plugin(PLUGIN, VERSION, AUTHOR)
  71.        
  72.         register_impulse(201, "main_menu");
  73.        
  74.         register_clcmd("say /menu", "main_menu");
  75.         register_clcmd("say /menu", "main_menu");
  76.         register_clcmd("say /add", "addolas", TULAJ);
  77.         register_clcmd("say", "sayhook");
  78.         register_clcmd("say_team", "sayteamhook");
  79.         register_clcmd("say", "sayhook");
  80.         register_clcmd("say_team", "sayteamhook");
  81.      
  82.         register_clcmd("type_itemremoveoradd", "type_itemammount");
  83.        
  84.         RegisterHam(Ham_Killed, "player", "PlayerKilled_p", 1);
  85.         RegisterHam(Ham_Item_Deploy, "weapon_m4a1", "WeaponChange_p", 1);
  86.         RegisterHam(Ham_Item_Deploy, "weapon_ak47", "WeaponChange_p", 1);
  87.         RegisterHam(Ham_Item_Deploy, "weapon_awp", "WeaponChange_p", 1);
  88.         RegisterHam(Ham_Item_Deploy, "weapon_scout", "WeaponChange_p", 1);
  89.         RegisterHam(Ham_Item_Deploy, "weapon_famas", "WeaponChange_p", 1);
  90.         RegisterHam(Ham_Item_Deploy, "weapon_galil", "WeaponChange_p", 1);
  91.         RegisterHam(Ham_Item_Deploy, "weapon_aug", "WeaponChange_p", 1);
  92.         RegisterHam(Ham_Item_Deploy, "weapon_m3", "WeaponChange_p", 1);
  93.         RegisterHam(Ham_Item_Deploy, "weapon_xm1014", "WeaponChange_p", 1);
  94.         RegisterHam(Ham_Item_Deploy, "weapon_knife", "WeaponChange_p", 1);
  95.         RegisterHam(Ham_Item_Deploy, "weapon_deagle", "WeaponChange_p", 1);
  96.         RegisterHam(Ham_Item_Deploy, "weapon_usp", "WeaponChange_p", 1);
  97.         RegisterHam(Ham_Item_Deploy, "weapon_glock18", "WeaponChange_p", 1);
  98.     }
  99.     public plugin_precache()
  100.     {
  101.         for(new i;i < sizeof(gWeaponList); i++) precache_model(gWeaponList[i][gWeaponFile]);
  102.     }
  103.     public addolas(id)
  104.     {
  105.         if(get_user_flags(id) & TULAJ)
  106.         {
  107.             for(new i = 0; i < 13; i++)
  108.                     gWeaponKills[i][id] += 50;
  109.                
  110.             gKills[id] += 10;  
  111.         }
  112.     }
  113.     public WeaponChange_p(iEnt)
  114.     {
  115.         new id = get_pdata_cbase(iEnt, 41, 4);
  116.        
  117.         if(!is_user_alive(id) || !is_user_connected(id))
  118.             return HAM_IGNORED;
  119.        
  120.         new Weapon = cs_get_weapon_id(iEnt);
  121.            
  122.         switch(Weapon)
  123.         {
  124.             case CSW_M4A1:
  125.             {
  126.                 if(gActiveSkin[0][id] == -1)
  127.                     return HAM_IGNORED;
  128.                 else
  129.                 entity_set_string(id, EV_SZ_viewmodel, gWeaponList[gActiveSkin[0][id]][gWeaponFile]);
  130.             }
  131.             case CSW_AK47:
  132.             {
  133.                 if(gActiveSkin[1][id] == -1)
  134.                     return HAM_IGNORED;
  135.                 else
  136.                 entity_set_string(id, EV_SZ_viewmodel, gWeaponList[gActiveSkin[1][id]][gWeaponFile]);
  137.             }
  138.             case CSW_AWP:
  139.             {
  140.                 if(gActiveSkin[2][id] == -1)
  141.                     return HAM_IGNORED;
  142.                 else
  143.                 entity_set_string(id, EV_SZ_viewmodel, gWeaponList[gActiveSkin[2][id]][gWeaponFile]);
  144.             }
  145.             case CSW_SCOUT:
  146.             {
  147.                 if(gActiveSkin[3][id] == -1)
  148.                     return HAM_IGNORED;
  149.                 else
  150.                 entity_set_string(id, EV_SZ_viewmodel, gWeaponList[gActiveSkin[3][id]][gWeaponFile]);
  151.             }
  152.             case CSW_FAMAS:
  153.             {
  154.                 if(gActiveSkin[4][id] == -1)
  155.                     return HAM_IGNORED;
  156.                 else
  157.                 entity_set_string(id, EV_SZ_viewmodel, gWeaponList[gActiveSkin[4][id]][gWeaponFile]);
  158.             }
  159.             case CSW_GALIL:
  160.             {
  161.                 if(gActiveSkin[5][id] == -1)
  162.                     return HAM_IGNORED;
  163.                 else
  164.                 entity_set_string(id, EV_SZ_viewmodel, gWeaponList[gActiveSkin[5][id]][gWeaponFile]);
  165.             }
  166.             case CSW_AUG:
  167.             {
  168.                 if(gActiveSkin[6][id] == -1)
  169.                     return HAM_IGNORED;
  170.                 else
  171.                 entity_set_string(id, EV_SZ_viewmodel, gWeaponList[gActiveSkin[6][id]][gWeaponFile]);
  172.             }
  173.             case CSW_M3:
  174.             {
  175.                 if(gActiveSkin[7][id] == -1)
  176.                     return HAM_IGNORED;
  177.                 else
  178.                 entity_set_string(id, EV_SZ_viewmodel, gWeaponList[gActiveSkin[7][id]][gWeaponFile]);
  179.             }
  180.             case CSW_XM1014:
  181.             {
  182.                 if(gActiveSkin[8][id] == -1)
  183.                     return HAM_IGNORED;
  184.                 else
  185.                 entity_set_string(id, EV_SZ_viewmodel, gWeaponList[gActiveSkin[8][id]][gWeaponFile]);
  186.             }
  187.             case CSW_KNIFE:
  188.             {
  189.                 if(gActiveSkin[9][id] == -1)
  190.                     return HAM_IGNORED;
  191.                 else
  192.                 entity_set_string(id, EV_SZ_viewmodel, gWeaponList[gActiveSkin[9][id]][gWeaponFile]);
  193.             }
  194.             case CSW_DEAGLE:
  195.             {
  196.                 if(gActiveSkin[10][id] == -1)
  197.                     return HAM_IGNORED;
  198.                 else
  199.                 entity_set_string(id, EV_SZ_viewmodel, gWeaponList[gActiveSkin[10][id]][gWeaponFile]);
  200.             }
  201.             case CSW_USP:
  202.             {
  203.                 if(gActiveSkin[11][id] == -1)
  204.                     return HAM_IGNORED;
  205.                 else
  206.                 entity_set_string(id, EV_SZ_viewmodel, gWeaponList[gActiveSkin[11][id]][gWeaponFile]);
  207.             }
  208.             case CSW_GLOCK18:
  209.             {
  210.                 if(gActiveSkin[12][id] == -1)
  211.                     return HAM_IGNORED;
  212.                 else
  213.                 entity_set_string(id, EV_SZ_viewmodel, gWeaponList[gActiveSkin[12][id]][gWeaponFile]);
  214.             }
  215.         }
  216.         return HAM_IGNORED;
  217.     }
  218.     public PlayerKilled_p(iVictim, iKiller)
  219.     {
  220.         if(iVictim == iKiller || !iKiller || !iVictim)
  221.             return PLUGIN_HANDLED;
  222.        
  223.         new sName[MAX_NAME_LENGTH];
  224.         get_user_name(iKiller, sName, charsmax(sName));
  225.         new iWeapon = get_user_weapon(iKiller);
  226.        
  227.         gKills[iKiller]++;
  228.         hp_up(iKiller);
  229.        
  230.         switch(iWeapon)
  231.         {
  232.             case CSW_M4A1:
  233.             {
  234.                 gWeaponKills[0][iKiller] += 2;
  235.                 client_print_color(iKiller, print_team_default, "%s ^1%s ^1 Ölésed :^3[ M4a1 fegyver]^1 Jutalom ^3[ +2 M4a1 Pont]", gChatPrefix, sName);
  236.             }
  237.             case CSW_AK47:
  238.             {
  239.                 gWeaponKills[1][iKiller] += 2;
  240.                 client_print_color(iKiller, print_team_default, "%s ^1%s ^1 Ölésed :^3[ AK47 fegyver]^1 Jutalom ^3[ +2 AK47 Pont]", gChatPrefix, sName);
  241.             }
  242.             case CSW_AWP:
  243.             {
  244.                 gWeaponKills[2][iKiller] += 2;
  245.                 client_print_color(iKiller, print_team_default, "%s ^1%s ^1 Ölésed :^3[ AWP fegyver]^1 Jutalom ^3[ +2 AWP Pont]", gChatPrefix, sName);
  246.             }
  247.             case CSW_SCOUT:
  248.             {
  249.                 gWeaponKills[3][iKiller] += 2;
  250.                 client_print_color(iKiller, print_team_default, "%s ^1%s ^1 Ölésed :^3[ SCOUT fegyver]^1 Jutalom ^3[ +2 SCOUT Pont]", gChatPrefix, sName);
  251.             }
  252.             case CSW_FAMAS:
  253.             {
  254.                 gWeaponKills[4][iKiller] += 2;
  255.                 client_print_color(iKiller, print_team_default, "%s ^1%s ^1 Ölésed :^3[ FAMAS fegyver]^1 Jutalom ^3[ +2 FAMAS Pont]", gChatPrefix, sName);
  256.             }
  257.             case CSW_GALIL:
  258.             {
  259.                 gWeaponKills[5][iKiller] += 3;
  260.                 client_print_color(iKiller, print_team_default, "%s ^1%s ^1 Ölésed :^3[ GALIL fegyver]^1 Jutalom ^3[ +2 GALIL Pont]", gChatPrefix, sName);
  261.             }
  262.             case CSW_AUG:
  263.             {
  264.                 gWeaponKills[6][iKiller] += 3;
  265.                 client_print_color(iKiller, print_team_default, "%s ^1%s ^1 Ölésed :^3[ AUG fegyver]^1 Jutalom ^3[ +2 AUG Pont]", gChatPrefix, sName);
  266.             }
  267.             case CSW_M3:
  268.             {
  269.                 gWeaponKills[7][iKiller] += 3;
  270.                 client_print_color(iKiller, print_team_default, "%s ^1%s ^1 Ölésed :^3[ M3 fegyver]^1 Jutalom ^3[ +2 M3 Pont]", gChatPrefix, sName);
  271.             }
  272.             case CSW_XM1014:
  273.             {
  274.                 gWeaponKills[8][iKiller] += 2;
  275.                 client_print_color(iKiller, print_team_default, "%s ^1%s ^1 Ölésed :^3[ XM1014 fegyver]^1 Jutalom ^3[ +2 XM1014 Pont]", gChatPrefix, sName);
  276.             }
  277.             case CSW_KNIFE:
  278.             {
  279.                 gWeaponKills[9][iKiller] += 3;
  280.                 client_print_color(iKiller, print_team_default, "%s ^1%s ^1 Ölésed :^3[ KNIFE fegyver]^1 Jutalom ^3[ +2 KNIFE Pont]", gChatPrefix, sName);
  281.             }
  282.             case CSW_DEAGLE:
  283.             {
  284.                 gWeaponKills[10][iKiller] += 2;
  285.                 client_print_color(iKiller, print_team_default, "%s ^1%s ^1 Ölésed :^3[ DEAGLE fegyver]^1 Jutalom ^3[ +2 DEAGLE Pont]", gChatPrefix, sName);
  286.             }
  287.             case CSW_USP:
  288.             {
  289.                 gWeaponKills[11][iKiller] += 2;
  290.                 client_print_color(iKiller, print_team_default, "%s ^1%s ^1 Ölésed :^3[ USP fegyver]^1 Jutalom ^3[ +2 USP Pont]", gChatPrefix, sName);
  291.             }
  292.             case CSW_GLOCK18:
  293.             {
  294.                 gWeaponKills[12][iKiller] += 3;
  295.                 client_print_color(iKiller, print_team_default, "%s ^1%s ^1 Ölésed :^3[ GLOCK18 fegyver]^1 Jutalom ^3[ +2 GLOCK18 Pont]", gChatPrefix, sName);
  296.             }
  297.         }
  298.         return PLUGIN_HANDLED;
  299.     }
  300.     public hp_up(id)
  301.     {
  302.         new iHealth = get_user_health(id);
  303.        
  304.         if(iHealth < 100)
  305.             set_user_health(id, iHealth + 5);
  306.         if(iHealth > 100)
  307.             set_user_health(id, 110);
  308.     }
  309.     public main_menu(id)
  310.     {
  311.         new sTitle[128];
  312.         format(sTitle, charsmax(sTitle), "[%s] \r- \dFomenu", gMenuPrefix);
  313.         new iMenu = menu_create(sTitle, "menu_main_h");
  314.        
  315.         menu_additem(iMenu, "\rRaktar", "1", 0);
  316.         menu_additem(iMenu, "\rAdmin menu", "2", 0);
  317.        
  318.         menu_display(id, iMenu, 0);
  319.        
  320.     }
  321.     public menu_main_h(id, menu, item)
  322.     {
  323.         if(item == MENU_EXIT)
  324.         {
  325.             menu_destroy(menu);
  326.             return;
  327.         }
  328.        
  329.         new data[9], Name[64];
  330.         new access, callback;
  331.         menu_item_getinfo(menu, item, access, data,charsmax(data), Name,charsmax(Name), callback);
  332.         new key = str_to_num(data);
  333.        
  334.         switch(key)
  335.         {
  336.             case 1: menu_storage(id);
  337.             case 2: {
  338.                 if(get_user_flags(id) & TULAJ) SendItems(id);
  339.                 else
  340.                 client_print_color(id, print_team_default, "^3[%s] ^1Ezt a menut csak ^4Tulajdonos ^1hasznalhatja!", gChatPrefix)
  341.             }
  342.         }
  343.     }
  344.     public menu_storage(id)
  345.     {
  346.         new sTitle[128];
  347.         format(sTitle, charsmax(sTitle), "[%s] \r- \dRaktár", gMenuPrefix);
  348.         new iMenu = menu_create(sTitle, "menu_storage_h");
  349.        
  350.         menu_additem(iMenu, "\rM4A1 \ySkinek", "1", 0);
  351.         menu_additem(iMenu, "\rAK47 \ySkinek", "2", 0);
  352.         menu_additem(iMenu, "\rAWP \ySkinek", "3", 0);
  353.         menu_additem(iMenu, "\rSCOUT \ySkinek", "4", 0);
  354.         menu_additem(iMenu, "\rFAMAS \ySkinek", "5", 0);
  355.         menu_additem(iMenu, "\rGALIL  \ySkinek", "6", 0);
  356.         menu_additem(iMenu, "\rAUG \ySkinek", "7", 0);
  357.         menu_additem(iMenu, "\rM3 \ySkinek", "8", 0);
  358.         menu_additem(iMenu, "\rXM1014 \ySkinek", "9", 0);
  359.         menu_additem(iMenu, "\rKNIFE \ySkinek", "10", 0);
  360.         menu_additem(iMenu, "\rDEAGLE \ySkinek", "11", 0);
  361.         menu_additem(iMenu, "\rUSP \ySkinek", "12", 0);
  362.         menu_additem(iMenu, "\rGLOCK18 \ySkinek", "13", 0);
  363.        
  364.         menu_display(id, iMenu, 0);
  365.        
  366.     }
  367.     public menu_storage_h(id, menu, item)
  368.     {
  369.         if(item == MENU_EXIT)
  370.         {
  371.             menu_destroy(menu);
  372.             return;
  373.         }
  374.        
  375.         new data[9], Name[64];
  376.         new access, callback;
  377.         menu_item_getinfo(menu, item, access, data,charsmax(data), Name,charsmax(Name), callback);
  378.         new key = str_to_num(data);
  379.        
  380.         switch(key)
  381.         {
  382.             case 1..13:{ menu_weapons(id, key); iMenuWeapons = key;}
  383.         }
  384.     }
  385.     public menu_weapons(id, iNum)
  386.     {
  387.         new sMenuName[64], iPoint[33];
  388.         switch(iNum)
  389.         {
  390.             case 1:{sMenuName = "M4A1";iPoint[id] = gWeaponKills[0][id];}
  391.             case 2:{sMenuName = "AK47";iPoint[id] = gWeaponKills[1][id];}
  392.             case 3:{sMenuName = "AWP";iPoint[id] = gWeaponKills[2][id];}
  393.             case 4:{sMenuName = "SCOUT";iPoint[id] = gWeaponKills[3][id];}
  394.             case 5:{sMenuName = "FAMAS";iPoint[id] = gWeaponKills[4][id];}
  395.             case 6:{sMenuName = "GALIL";iPoint[id] = gWeaponKills[5][id];}
  396.             case 7:{sMenuName = "AUG";iPoint[id] = gWeaponKills[6][id];}
  397.             case 8:{sMenuName = "M3";iPoint[id] = gWeaponKills[7][id];}
  398.             case 9:{sMenuName = "XM1014";iPoint[id] = gWeaponKills[8][id];}
  399.             case 10:{sMenuName = "KNIFE";iPoint[id] = gWeaponKills[9][id];}
  400.             case 11:{sMenuName = "DEAGLE";iPoint[id] = gWeaponKills[10][id];}
  401.             case 12:{sMenuName = "USP";iPoint[id] = gWeaponKills[11][id];}
  402.             case 13:{sMenuName = "GLOCK18";iPoint[id] = gWeaponKills[12][id];}
  403.         }
  404.         new sTitle[128];
  405.         format(sTitle, charsmax(sTitle), " \w%s %s skin \r[\dPontjaid: %d\y\r]", gMenuPrefix, sMenuName, iPoint[id]);
  406.         new iMenu = menu_create(sTitle, "menu_storage_h");
  407.        
  408.         switch(iNum)
  409.         {
  410.             case 1:
  411.             {
  412.                 for(new i = 0; i < 1; i++)
  413.                 {
  414.                     formatex(sTitle, charsmax(sTitle), gWeaponList[i][gWeaponKill] <= gWeaponKills[0][id] ? "\w%s \y[\d%d\w/\r%d\y]":"\w%s \y*Elérhető", gWeaponList[i][gWeaponName], gWeaponKills[0][id], gWeaponList[i][gWeaponKill])
  415.                     menu_additem(iMenu, sTitle);
  416.                 }
  417.             }
  418.             case 2:
  419.             {
  420.                 for(new i = 1; i < 2; i++)
  421.                 {
  422.                     formatex(sTitle, charsmax(sTitle), gWeaponList[i][gWeaponKill] <= gWeaponKills[1][id] ? "\w%s \y[\d%d\w/\r%d\y]":"\w%s \y*Elérhető", gWeaponList[i][gWeaponName], gWeaponKills[1][id], gWeaponList[i][gWeaponKill])
  423.                     menu_additem(iMenu, sTitle);
  424.                 }
  425.             }
  426.             case 3:
  427.             {
  428.                 for(new i = 2; i < 3; i++)
  429.                 {
  430.                     formatex(sTitle, charsmax(sTitle), gWeaponList[i][gWeaponKill] <= gWeaponKills[2][id] ? "\w%s \y[\d%d\w/\r%d\y]":"\w%s \y*Elérhető", gWeaponList[i][gWeaponName], gWeaponKills[2][id], gWeaponList[i][gWeaponKill])
  431.                     menu_additem(iMenu, sTitle);
  432.                 }
  433.             }
  434.             case 4:
  435.             {
  436.                 for(new i = 3; i < 4; i++)
  437.                 {
  438.                     formatex(sTitle, charsmax(sTitle), gWeaponList[i][gWeaponKill] <= gWeaponKills[3][id] ? "\w%s \y[\d%d\w/\r%d\y]":"\w%s \y*Elérhető", gWeaponList[i][gWeaponName], gWeaponKills[3][id], gWeaponList[i][gWeaponKill])
  439.                     menu_additem(iMenu, sTitle);
  440.                 }
  441.             }
  442.             case 5:
  443.             {
  444.                 for(new i = 4; i < 5; i++)
  445.                 {
  446.                     formatex(sTitle, charsmax(sTitle), gWeaponList[i][gWeaponKill] <= gWeaponKills[4][id] ? "\w%s \y[\d%d\w/\r%d\y]":"\w%s \y*Elérhető", gWeaponList[i][gWeaponName], gWeaponKills[4][id], gWeaponList[i][gWeaponKill])
  447.                     menu_additem(iMenu, sTitle);
  448.                 }
  449.             }
  450.             case 6:
  451.             {
  452.                 for(new i = 5; i < 6; i++)
  453.                 {
  454.                     formatex(sTitle, charsmax(sTitle), gWeaponList[i][gWeaponKill] <= gWeaponKills[5][id] ? "\w%s \y[\d%d\w/\r%d\y]":"\w%s \y*Elérhető", gWeaponList[i][gWeaponName], gWeaponKills[5][id], gWeaponList[i][gWeaponKill])
  455.                     menu_additem(iMenu, sTitle);
  456.                 }
  457.             }
  458.             case 7:
  459.             {
  460.                 for(new i = 6; i < 7; i++)
  461.                 {
  462.                     formatex(sTitle, charsmax(sTitle), gWeaponList[i][gWeaponKill] <= gWeaponKills[6][id] ? "\w%s \y[\d%d\w/\r%d\y]":"\w%s \y*Elérhető", gWeaponList[i][gWeaponName], gWeaponKills[6][id], gWeaponList[i][gWeaponKill])
  463.                     menu_additem(iMenu, sTitle);
  464.                 }
  465.             }
  466.             case 8:
  467.             {
  468.                 for(new i = 7; i < 8; i++)
  469.                 {
  470.                     formatex(sTitle, charsmax(sTitle), gWeaponList[i][gWeaponKill] <= gWeaponKills[7][id] ? "\w%s \y[\d%d\w/\r%d\y]":"\w%s \y*Elérhető", gWeaponList[i][gWeaponName], gWeaponKills[7][id], gWeaponList[i][gWeaponKill])
  471.                     menu_additem(iMenu, sTitle);
  472.                 }
  473.             }
  474.             case 9:
  475.             {
  476.                 for(new i = 8; i < 9; i++)
  477.                 {
  478.                     formatex(sTitle, charsmax(sTitle), gWeaponList[i][gWeaponKill] <= gWeaponKills[8][id] ? "\w%s \y[\d%d\w/\r%d\y]":"\w%s \y*Elérhető", gWeaponList[i][gWeaponName], gWeaponKills[8][id], gWeaponList[i][gWeaponKill])
  479.                     menu_additem(iMenu, sTitle);
  480.                 }
  481.             }
  482.             case 10:
  483.             {
  484.                 for(new i = 9; i < 10; i++)
  485.                 {
  486.                     formatex(sTitle, charsmax(sTitle), gWeaponList[i][gWeaponKill] <= gWeaponKills[9][id] ? "\w%s \y[\d%d\w/\r%d\y]":"\w%s \y*Elérhető", gWeaponList[i][gWeaponName], gWeaponKills[9][id], gWeaponList[i][gWeaponKill])
  487.                     menu_additem(iMenu, sTitle);
  488.                 }
  489.             }
  490.             case 11:
  491.             {
  492.                 for(new i = 10; i < 11; i++)
  493.                 {
  494.                     formatex(sTitle, charsmax(sTitle), gWeaponList[i][gWeaponKill] <= gWeaponKills[10][id] ? "\w%s \y[\d%d\w/\r%d\y]":"\w%s \y*Elérhető", gWeaponList[i][gWeaponName], gWeaponKills[10][id], gWeaponList[i][gWeaponKill])
  495.                     menu_additem(iMenu, sTitle);
  496.                 }
  497.             }
  498.             case 12:
  499.             {
  500.                 for(new i = 11; i < 12; i++)
  501.                 {
  502.                     formatex(sTitle, charsmax(sTitle), gWeaponList[i][gWeaponKill] <= gWeaponKills[11][id] ? "\w%s \y[\d%d\w/\r%d\y]":"\w%s \y*Elérhető", gWeaponList[i][gWeaponName], gWeaponKills[11][id], gWeaponList[i][gWeaponKill])
  503.                     menu_additem(iMenu, sTitle);
  504.                 }
  505.             }
  506.             case 13:
  507.             {
  508.                 for(new i = 12; i < 13; i++)
  509.                 {
  510.                     formatex(sTitle, charsmax(sTitle), gWeaponList[i][gWeaponKill] <= gWeaponKills[12][id] ? "\w%s \y[\d%d\w/\r%d\y]":"\w%s \y*Elérhető", gWeaponList[i][gWeaponName], gWeaponKills[12][id], gWeaponList[i][gWeaponKill])
  511.                     menu_additem(iMenu, sTitle);
  512.                 }
  513.             }
  514.         }
  515.         menu_setprop(iMenu, MPROP_BACKNAME, "Vissza");
  516.         menu_setprop(iMenu, MPROP_NEXTNAME, "Tovább");
  517.         menu_setprop(iMenu, MPROP_EXITNAME, "Kilépés");
  518.        
  519.         menu_display(id, iMenu, 0);
  520.        
  521.     }
  522.     public usp_handler(id, menu, item)
  523.     {
  524.         if(item == MENU_EXIT)
  525.         {
  526.             menu_destroy(menu);
  527.             return;
  528.         }
  529.        
  530.         new data[9], Name[64];
  531.         new access, callback;
  532.         menu_item_getinfo(menu, item, access, data,charsmax(data), Name,charsmax(Name), callback);
  533.         new key = str_to_num(data);
  534.        
  535.        
  536.         switch(iMenuWeapons)
  537.         {
  538.             case 1:
  539.             {
  540.                 if(gWeaponList[key][gWeaponKill] <= gWeaponKills[0][id])
  541.                     gActiveSkin[0][id] = key;
  542.                 else
  543.                 client_print_color(id, print_team_blue, "^3[%s]^4 ^1Sajnálom, nincs elegendő ^3Pontod^3!", gChatPrefix);
  544.             }
  545.             case 2:
  546.             {
  547.                 if(gWeaponList[key][gWeaponKill] <= gWeaponKills[1][id])
  548.                     gActiveSkin[1][id] = key;
  549.                 else
  550.                 client_print_color(id, print_team_blue, "^3[%s]^4 ^1Sajnálom, nincs elegendő ^3Pontod^3!", gChatPrefix);
  551.             }
  552.             case 3:
  553.             {
  554.                 if(gWeaponList[key][gWeaponKill] <= gWeaponKills[2][id])
  555.                     gActiveSkin[2][id] = key;
  556.                 else
  557.                 client_print_color(id, print_team_blue, "^3[%s]^4 ^1Sajnálom, nincs elegendő ^3Pontod^3!", gChatPrefix);
  558.             }
  559.             case 4:
  560.             {
  561.                 if(gWeaponList[key][gWeaponKill] <= gWeaponKills[3][id])
  562.                     gActiveSkin[3][id] = key;
  563.                 else
  564.                 client_print_color(id, print_team_blue, "^3[%s]^4 ^1Sajnálom, nincs elegendő ^3Pontod^3!", gChatPrefix);
  565.             }
  566.             case 5:
  567.             {
  568.                 if(gWeaponList[key][gWeaponKill] <= gWeaponKills[4][id])
  569.                     gActiveSkin[4][id] = key;
  570.                 else
  571.                 client_print_color(id, print_team_blue, "^3[%s]^4 ^1Sajnálom, nincs elegendő ^3Pontod^3!", gChatPrefix);
  572.             }
  573.             case 6:
  574.             {
  575.                 if(gWeaponList[key][gWeaponKill] <= gWeaponKills[5][id])
  576.                     gActiveSkin[5][id] = key;
  577.                 else
  578.                 client_print_color(id, print_team_blue, "^3[%s]^4 ^1Sajnálom, nincs elegendő ^3Pontod^3!", gChatPrefix);
  579.             }
  580.             case 7:
  581.             {
  582.                 if(gWeaponList[key][gWeaponKill] <= gWeaponKills[6][id])
  583.                     gActiveSkin[6][id] = key;
  584.                 else
  585.                 client_print_color(id, print_team_blue, "^3[%s]^4 ^1Sajnálom, nincs elegendő ^3Pontod^3!", gChatPrefix);
  586.             }
  587.             case 8:
  588.             {
  589.                 if(gWeaponList[key][gWeaponKill] <= gWeaponKills[7][id])
  590.                     gActiveSkin[7][id] = key;
  591.                 else
  592.                 client_print_color(id, print_team_blue, "^3[%s]^4 ^1Sajnálom, nincs elegendő ^3Pontod^3!", gChatPrefix);
  593.             }
  594.             case 9:
  595.             {
  596.                 if(gWeaponList[key][gWeaponKill] <= gWeaponKills[8][id])
  597.                     gActiveSkin[8][id] = key;
  598.                 else
  599.                 client_print_color(id, print_team_blue, "^3[%s]^4 ^1Sajnálom, nincs elegendő ^3Pontod^3!", gChatPrefix);
  600.             }
  601.             case 10:
  602.             {
  603.                 if(gWeaponList[key][gWeaponKill] <= gWeaponKills[9][id])
  604.                     gActiveSkin[9][id] = key;
  605.                 else
  606.                 client_print_color(id, print_team_blue, "^3[%s]^4 ^1Sajnálom, nincs elegendő ^3Pontod^3!", gChatPrefix);
  607.             }
  608.             case 11:
  609.             {
  610.                 if(gWeaponList[key][gWeaponKill] <= gWeaponKills[10][id])
  611.                     gActiveSkin[10][id] = key;
  612.                 else
  613.                 client_print_color(id, print_team_blue, "^3[%s]^4 ^1Sajnálom, nincs elegendő ^3Pontod^3!", gChatPrefix);
  614.             }
  615.             case 12:
  616.             {
  617.                 if(gWeaponList[key][gWeaponKill] <= gWeaponKills[11][id])
  618.                     gActiveSkin[11][id] = key;
  619.                 else
  620.                 client_print_color(id, print_team_blue, "^3[%s]^4 ^1Sajnálom, nincs elegendő ^3Pontod^3!", gChatPrefix);
  621.             }
  622.             case 13:
  623.             {
  624.                 if(gWeaponList[key][gWeaponKill] <= gWeaponKills[12][id])
  625.                     gActiveSkin[12][id] = key;
  626.                 else
  627.                 client_print_color(id, print_team_blue, "^3[%s]^4 ^1Sajnálom, nincs elegendő ^3Pontod^3!", gChatPrefix);
  628.             }
  629.         }
  630.         menu_destroy(menu);
  631.     }
  632.     public SendItems(id)
  633.     {
  634.         new menu = menu_create(".:ghfgh:. \rAdatkezelo menu", "SendItems_handler" );
  635.        
  636.         menu_additem(menu, "\y»\w Pontok Adasa", "1", 0);
  637.         menu_additem(menu, "\y»\w Pontok Elvevese", "2", 0);
  638.        
  639.         menu_setprop(menu, MPROP_EXITNAME, "Kilepes");
  640.         menu_display(id, menu, 0);
  641.     }
  642.     public SendItems_handler(id, menu, item){
  643.         if(item == MENU_EXIT )
  644.         {
  645.             menu_destroy(menu);
  646.             return PLUGIN_HANDLED;
  647.         }
  648.         new data[9], szName[64];
  649.         new access, callback;
  650.         menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  651.         new key = str_to_num(data);
  652.        
  653.         switch(key)
  654.         {
  655.             case 1:{ChoosePlayer(id); iChoosedMode = 1;}
  656.             case 2:{ChoosePlayer(id); iChoosedMode = 2;}
  657.         }
  658.         return PLUGIN_HANDLED;
  659.     }
  660.     public ChoosePlayer(id)
  661.     {
  662.         new iPlayers[32], iPnum, iTempID;  
  663.         new sName[MAX_NAME_LENGTH], sTempID[10];  
  664.         get_players(iPlayers, iPnum);  
  665.        
  666.         new menu = menu_create("\rValaszd ki a jatekost:", "ChoosePlayer_handler");
  667.        
  668.         for(new i; i < iPnum; i++)
  669.         {
  670.             iTempID = iPlayers[i];  
  671.             get_user_name(iTempID, sName, charsmax(sName));
  672.             num_to_str(iTempID, sTempID, charsmax(sTempID));    
  673.             menu_additem(menu, sName, sTempID, 0);  
  674.         }
  675.         menu_display(id, menu, 0);
  676.     }
  677.     public ChoosePlayer_handler(id, menu, item)
  678.     {
  679.         if(item == MENU_EXIT)
  680.         {
  681.             menu_destroy(menu);
  682.             return PLUGIN_HANDLED;
  683.         }
  684.         new data[6], szName[64];
  685.         new access, callback;
  686.         menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);    
  687.         iMenuPIndex = str_to_num(data);
  688.         console_print(id, "%d", iChoosedMode)
  689.        
  690.         client_cmd(id, "messagemode type_itemremoveoradd");
  691.        
  692.         menu_destroy(menu);
  693.         return PLUGIN_HANDLED;
  694.     }
  695.     public type_itemammount(id)
  696.     {
  697.         new sItem[128], iItemAmmount, sSenderName[MAX_NAME_LENGTH], sTargetName[MAX_NAME_LENGTH];
  698.         read_args(sItem, charsmax(sItem));
  699.         remove_quotes(sItem);
  700.        
  701.         get_user_name(id, sSenderName, charsmax(sSenderName));
  702.         get_user_name(iMenuPIndex, sTargetName, charsmax(sTargetName));
  703.        
  704.         iItemAmmount = str_to_num(sItem);
  705.        
  706.         if(iItemAmmount < 0)
  707.         {
  708.             client_print_color(id, print_team_blue, "^3[.:hkh:.] ^1Az osszeg nem lehet kisebb, mint 0!");
  709.             return PLUGIN_HANDLED;
  710.         }
  711.        
  712.         switch(iChoosedMode)
  713.         {
  714.             case 1:
  715.             {
  716.                
  717.                 for(new i = 0; i < 13; i++)
  718.                     gWeaponKills[i][iMenuPIndex] += iItemAmmount;
  719.                
  720.                 client_print_color(id, print_team_blue, "^3[.:hkh:.] ^1Sikeresen jovairtal:^4 %d ^1Pontot, neki:^4 %s", iItemAmmount, sTargetName);
  721.                 client_print_color(iMenuPIndex, print_team_blue, "^3[.:hjkhj:.] ^1Jovairtak neked^4 %d ^1Pontot! BY:^4 %s", iItemAmmount, sTargetName);
  722.                 client_print_color(id, print_team_blue, "^3»Admin: %s | Jatekos: %s | Osszeg: %d | Topus: Pont Jovairas", sSenderName, sTargetName, iItemAmmount);
  723.                 return PLUGIN_HANDLED;
  724.             }
  725.             case 2:
  726.             {
  727.                 for(new i = 0; i < 13; i++)
  728.                     gWeaponKills[i][iMenuPIndex] -= iItemAmmount;
  729.                
  730.                 client_print_color(id, print_team_blue, "^3[.::.] ^1 ^1Sikeresen elvettel:^4 %d ^1Pontokat, tole:^4 %s", iItemAmmount, sTargetName);
  731.                 client_print_color(iMenuPIndex, print_team_blue, "^3[.::.] ^1 ^1Ellett veve^4 %d ^1Pontok! BY:^4 %s", iItemAmmount, sTargetName);
  732.                 client_print_color(id, print_team_blue, "^3[.::.] ^1Admin: %s | Jatekos: %s | Osszeg: %d | Tipus: Pont Elvetel", sSenderName, sTargetName, iItemAmmount);
  733.                 return PLUGIN_HANDLED;
  734.             }
  735.         }  
  736.         return PLUGIN_HANDLED;
  737.     }
  738.     public client_disconnected(id)
  739.     {
  740.         if(is_user_bot(id))
  741.             return;
  742.        
  743.         Update(id);
  744.        
  745.         gKills[id] = 0;
  746.         gValami[id] = 0;
  747.        
  748.         for(new i = 0; i < 13; i++)
  749.             gActiveSkin[i][id] = -1;
  750.         for(new i = 0; i < 13; i++)
  751.             gWeaponKills[i][id] = 0;
  752.     }
  753.     public client_putinserver(id)
  754.     {
  755.         if(is_user_bot(id))
  756.             return;
  757.        
  758.         SQL_load(id);
  759.         //szerverbelepes(id); <-- ez idk mi de itt hagyom.
  760.        
  761.         gKills[id] = 0;
  762.         gValami[id] = 0;
  763.        
  764.         for(new i = 0; i < 13; i++)
  765.             gActiveSkin[i][id] = -1;
  766.         for(new i = 0; i < 13; i++)
  767.             gWeaponKills[i][id] = 0;
  768.     }
  769.     public plugin_cfg()
  770.     {
  771.         new iLen, sQuery[512];
  772.         SqlTuple = SQL_MakeDbTuple(SQL_INFO[0], SQL_INFO[1], SQL_INFO[2], SQL_INFO[3])
  773.         iLen += formatex(sQuery[iLen], charsmax(sQuery), "CREATE TABLE IF NOT EXISTS `SkinMenu`")
  774.         iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "(`Steamid` varchar(128) NOT NULL, ")
  775.         iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "`Valami` int(11) NOT NULL,");
  776.        
  777.         for(new i; i < 13; i++)
  778.             iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "`WK%d` int(11) NOT NULL,", i);
  779.        
  780.         iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "`Olesek` int(11) NOT NULL, `id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY)");
  781.         SQL_ThreadQuery(SqlTuple, "createTableThread", sQuery);
  782.     }
  783.     public createTableThread(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime)
  784.     {
  785.         if(FailState == TQUERY_CONNECT_FAILED)
  786.             set_fail_state("[HIBA*] NEM TUDTAM CSATLAKOZNI AZ ADATBAZISHOZ!");
  787.         else if(FailState == TQUERY_QUERY_FAILED)
  788.             set_fail_state("Query Error");
  789.         if(Errcode)
  790.             log_amx("[HIBA*] HIBAT DOBTAM: %s", Error);
  791.     }
  792.     public SQL_load(id)
  793.     {
  794.         new Data[1], sQuery[512];
  795.         Data[0] = id;
  796.         get_user_authid(id, gSteamID, charsmax(gSteamID))
  797.        
  798.         formatex(sQuery, charsmax(sQuery), "SELECT * FROM `SkinMenu` WHERE Steamid = ^"%s^";", gSteamID);
  799.         SQL_ThreadQuery(SqlTuple, "SQL_load_thr", sQuery, Data, 1)
  800.     }
  801.     public SQL_load_thr(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime)
  802.     {
  803.         if(FailState == TQUERY_CONNECT_FAILED)
  804.             set_fail_state("[*HIBA*] NEM LEHET KAPCSOLODNI AZ ADATBAZISHOZ!");
  805.         else if(FailState == TQUERY_QUERY_FAILED)
  806.             set_fail_state("[*HIBA*] A LEKERDEZES MEGSZAKADT!");
  807.         if(Errcode)
  808.             log_amx("[*HIBA*] PROBLEMA A LEKERDEZESNEL! ( %s )",Error);
  809.        
  810.         new id = Data[0];
  811.        
  812.         if(SQL_NumRows(Query) > 0)
  813.         {
  814.             gValami[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Valami"));
  815.             for(new i; i < 13; i++)
  816.             {
  817.                 new sString[64];
  818.                 formatex(sString, charsmax(sString), "WK%d", i);
  819.                 gWeaponKills[i][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, sString));
  820.             }
  821.            
  822.             gKills[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Olesek"));
  823.         }
  824.         else
  825.             SQL_Save(id);
  826.     }
  827.     public Update(id)
  828.     {
  829.         new iLen, sQuery[512];
  830.         get_user_authid(id, gSteamID, charsmax(gSteamID))
  831.        
  832.         iLen += formatex(sQuery[iLen], charsmax(sQuery), "UPDATE `SkinMenu` SET Valami = ^"%i^", ", gValami[id]);
  833.        
  834.         for(new i; i < 13; i++)
  835.             iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "WK%d = ^"%i^", ", i, gWeaponKills[i][id]);
  836.        
  837.         iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "Olesek = ^"%i^" WHERE Steamid = ^"%s^";", gKills[id], gSteamID);
  838.        
  839.         SQL_ThreadQuery(SqlTuple, "QuerySetData", sQuery)
  840.     }
  841.     public SQL_Save(id)
  842.     {
  843.         new sQuery[512]
  844.         get_user_authid(id, gSteamID, charsmax(gSteamID))
  845.        
  846.         formatex(sQuery, charsmax(sQuery), "INSERT INTO `SkinMenu` (`Steamid`) VALUES (^"%s^");", gSteamID);
  847.         SQL_ThreadQuery(SqlTuple, "QuerySetData", sQuery);
  848.     }
  849.     public QuerySetData(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime)
  850.     {
  851.         if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED)
  852.         {
  853.             log_amx("%s", Error);
  854.             return;
  855.         }
  856.     }
  857.     public plugin_end()
  858.     {
  859.         SQL_FreeHandle(SqlTuple);
  860.     }
  861.         public sayhook(id)
  862.     {
  863.         new Message[192];
  864.         read_args(Message, charsmax(Message))
  865.         remove_quotes(Message)
  866.        
  867.         if(strlen(Message) == 0 || Message[0] == '/')
  868.             return PLUGIN_HANDLED;
  869.        
  870.         new Death[16], sName[MAX_NAME_LENGTH];
  871.         get_user_name(id, sName, charsmax(sName));
  872.        
  873.         new sRank[64], sColor[16];
  874.        
  875.         switch(get_user_flags(id))
  876.         {
  877.             case TULAJ:{ sRank = "^4[^3Tulajdonos^4]"; sColor = "^4";}
  878.             case ADMIN:{ sRank = "^4[^3Admin^4]"; sColor = "^4";}
  879.             case VIP:{ sRank = "^4[^3VIP^4]"; sColor = "^3";}
  880.             default:{ sRank = "^4[^3Jatekos^4]"; sColor = "^1";}
  881.         }
  882.         for(new i = 1; i <= get_maxplayers(); i++)
  883.         {
  884.             if(is_user_connected(i) && !is_user_bot(i))
  885.             {
  886.                 formatex(Death, charsmax(Death), is_user_alive(id) ? "":"*Halott*");
  887.                 client_print_color(i, print_team_default, "%s%s^3%s: %s%s", Death, sRank, sName, sColor, Message);
  888.             }
  889.         }
  890.         return PLUGIN_HANDLED;
  891.     }
  892.     public sayteamhook(id)
  893.     {
  894.         new Message[192];
  895.         read_args(Message, charsmax(Message))
  896.         remove_quotes(Message)
  897.        
  898.         if(strlen(Message) == 0 || Message[0] == '/')
  899.             return PLUGIN_HANDLED;
  900.        
  901.         new Death[16], sName[MAX_NAME_LENGTH];
  902.         get_user_name(id, sName, charsmax(sName));
  903.        
  904.         new iTeam, sTeam[32];
  905.         iTeam = get_user_team(id, sTeam, charsmax(sTeam));
  906.        
  907.         switch(iTeam)
  908.         {
  909.             case CS_TEAM_CT: sTeam = "CT";
  910.             case CS_TEAM_T: sTeam = "T";
  911.             case CS_TEAM_SPECTATOR: sTeam = "SPEC";
  912.         }
  913.         for(new i = 1; i <= get_maxplayers(); i++)
  914.         {
  915.             if(is_user_connected(i) && !is_user_bot(i) || get_user_flags(id) & ADMIN_BAN)
  916.             {
  917.                 formatex(Death, charsmax(Death), is_user_alive(id) ? "":"*Halott*");
  918.                 client_print_color(i, print_team_default, "%s^3(%s)^1%s: ^3%s", Death, sTeam, sName, Message);
  919.             }
  920.         }
  921.         return PLUGIN_HANDLED;
  922.     }
  923.     public sayhook(id)
  924.     {
  925.         new Message[192];
  926.         read_args(Message, charsmax(Message))
  927.         remove_quotes(Message)
  928.        
  929.         if(strlen(Message) == 0 || Message[0] == '/')
  930.             return PLUGIN_HANDLED;
  931.        
  932.         new Death[16], sName[MAX_NAME_LENGTH];
  933.         get_user_name(id, sName, charsmax(sName));
  934.        
  935.         new sRank[64], sColor[16];
  936.        
  937.         switch(get_user_flags(id))
  938.         {
  939.             case TULAJ:{ sRank = "^4[^3Tulajdonos^4]"; sColor = "^4";}
  940.             case ADMIN:{ sRank = "^4[^3Admin^4]"; sColor = "^4";}
  941.             case VIP:{ sRank = "^4[^3VIP^4]"; sColor = "^3";}
  942.             default:{ sRank = "^4[^3Jatekos^4]"; sColor = "^1";}
  943.         }
  944.         for(new i = 1; i <= get_maxplayers(); i++)
  945.         {
  946.             if(is_user_connected(i) && !is_user_bot(i))
  947.             {
  948.                 formatex(Death, charsmax(Death), is_user_alive(id) ? "":"*Halott*");
  949.                 client_print_color(i, print_team_default, "%s%s^3%s: %s%s", Death, sRank, sName, sColor, Message);
  950.             }
  951.         }
  952.         return PLUGIN_HANDLED;
  953.     }
  954.     public sayteamhook(id)
  955.     {
  956.         new Message[192];
  957.         read_args(Message, charsmax(Message))
  958.         remove_quotes(Message)
  959.        
  960.         if(strlen(Message) == 0 || Message[0] == '/')
  961.             return PLUGIN_HANDLED;
  962.        
  963.         new Death[16], sName[MAX_NAME_LENGTH];
  964.         get_user_name(id, sName, charsmax(sName));
  965.        
  966.         new iTeam, sTeam[32];
  967.         iTeam = get_user_team(id, sTeam, charsmax(sTeam));
  968.        
  969.         switch(iTeam)
  970.         {
  971.             case CS_TEAM_CT: sTeam = "CT";
  972.             case CS_TEAM_T: sTeam = "T";
  973.             case CS_TEAM_SPECTATOR: sTeam = "SPEC";
  974.         }
  975.         for(new i = 1; i <= get_maxplayers(); i++)
  976.         {
  977.             if(is_user_connected(i) && !is_user_bot(i) || get_user_flags(id) & ADMIN_BAN))
  978.             {
  979.                 formatex(Death, charsmax(Death), is_user_alive(id) ? "":"*Halott*");
  980.                 client_print_color(i, print_team_default, "%s^3(%s)^1%s: ^3%s", Death, sTeam, sName, Message);
  981.             }
  982.         }
  983.         return PLUGIN_HANDLED;
  984.     }
  985. /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
  986. *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1038\\ f0\\ fs18 \n\\ par }
  987. */


A hozzászólást 1 alkalommal szerkesztették, utoljára theglorious 2021.07.04. 18:24-kor.
Cím javítva


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: mód szerkeztése
HozzászólásElküldve: 2021.07.04. 00:39 
Offline
Senior Tag
Avatar

Csatlakozott: 2017.08.09. 17:01
Hozzászólások: 266
Megköszönt másnak: 61 alkalommal
Megköszönték neki: 72 alkalommal
saxxo írta:
Sziasztok!

Annak idején kaptam egy módot @HellEnergY felhasználótól, nekem egy gondom van vele,hogy nehéz bővíteni skinekkel.
Esetleg egy olyan megoldás érdekelne engem.



Szia, így már könnyebb lesz bőviteni:
  1. "M4 1" "models/skins/m4a1/1.mdl" "0" "M4A1"
  2. "Ak 1" "models/skins/ak47/1.mdl" "0" "AK47"
  3. "AWP 1" "models/skins/awp/1.mdl" "0" "AWP"
  4. "SCOUT 1" "models/skins/scout/1.mdl" "0" "SCOUT"
  5. "FAMAS 1" "models/skins/famas/1.mdl" "0" "FAMAS"
  6. "GALIL 1" "models/skins/galil/1.mdl" "0" "GALIL"
  7. "AUG 1" "models/skins/aug/1.mdl" "0" "AUG"
  8. "M3 1" "models/skins/m3/1.mdl" "0" "M3"
  9. "XM1014 1" "models/skins/xm1014/1.mdl" "0" "XM1014"
  10. "KNIFE 1" "models/skins/knife/1.mdl" "10" "KNIFE"
  11. "DEAGLE 1" "models/skins/deagle/1.mdl" "0" "DEAGLE"
  12. "USP 1" "models/skins/usp/1.mdl" "0" "USP"
  13. "GLOCK18 1" "models/skins/glock/1.mdl" "0" "GLOCK18"


fegyver neve ; fegyver elérése ; mennyi öléstől érhető el ; fegyver típúsa ;
Ne hagyjad ki a fegyver típusát ha m4 ne úgy írd oda, hogy m4a1 hanem NAGY betűkkel M4A1.
Ahogyan a példán van.
Mindegy milyen sorrendben írod bele, a lényeg amit fentebb írtam.

A skins.init a configs mappába rakjad bele, miután létrehoztad.

Kiegészítettem egy fegyver huddal középen lent, írja a fegyver öléseket és a fegyver nevét, SQL ugyan úgy STEAMID.

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

_________________
"Szeretek aludni... mert az álmaim szebbek, mint a valóság."


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: mód szerkeztése
HozzászólásElküldve: 2021.07.04. 08:26 
Offline
Jómunkásember

Csatlakozott: 2020.06.14. 17:59
Hozzászólások: 370
Megköszönt másnak: 64 alkalommal
Megköszönték neki: 10 alkalommal
HellEnergY írta:
saxxo írta:
Sziasztok!

Annak idején kaptam egy módot @HellEnergY felhasználótól, nekem egy gondom van vele,hogy nehéz bővíteni skinekkel.
Esetleg egy olyan megoldás érdekelne engem.



Szia, így már könnyebb lesz bőviteni:
  1. "M4 1" "models/skins/m4a1/1.mdl" "0" "M4A1"
  2. "Ak 1" "models/skins/ak47/1.mdl" "0" "AK47"
  3. "AWP 1" "models/skins/awp/1.mdl" "0" "AWP"
  4. "SCOUT 1" "models/skins/scout/1.mdl" "0" "SCOUT"
  5. "FAMAS 1" "models/skins/famas/1.mdl" "0" "FAMAS"
  6. "GALIL 1" "models/skins/galil/1.mdl" "0" "GALIL"
  7. "AUG 1" "models/skins/aug/1.mdl" "0" "AUG"
  8. "M3 1" "models/skins/m3/1.mdl" "0" "M3"
  9. "XM1014 1" "models/skins/xm1014/1.mdl" "0" "XM1014"
  10. "KNIFE 1" "models/skins/knife/1.mdl" "10" "KNIFE"
  11. "DEAGLE 1" "models/skins/deagle/1.mdl" "0" "DEAGLE"
  12. "USP 1" "models/skins/usp/1.mdl" "0" "USP"
  13. "GLOCK18 1" "models/skins/glock/1.mdl" "0" "GLOCK18"


fegyver neve ; fegyver elérése ; mennyi öléstől érhető el ; fegyver típúsa ;
Ne hagyjad ki a fegyver típusát ha m4 ne úgy írd oda, hogy m4a1 hanem NAGY betűkkel M4A1.
Ahogyan a példán van.
Mindegy milyen sorrendben írod bele, a lényeg amit fentebb írtam.

A skins.init a configs mappába rakjad bele, miután létrehoztad.

Kiegészítettem egy fegyver huddal középen lent, írja a fegyver öléseket és a fegyver nevét, SQL ugyan úgy STEAMID.

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


nem megfelelően szereli fel a megadott skin! :(


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 15 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