hlmod.hu

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



Jelenlévő felhasználók

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

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

Regisztrált felhasználók: Google [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  [ 4 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Plugin Hiba
HozzászólásElküldve: 2018.03.26. 21:52 
Offline
Senior Tag
Avatar

Csatlakozott: 2015.06.11. 01:54
Hozzászólások: 220
Megköszönt másnak: 46 alkalommal
Megköszönték neki: 13 alkalommal
Hali itt mi lehet a baj?

Ezt írja: msdust2mod.sma(38) : error 010: invalid function or declaration
msdust2mod.sma(70) : error 017: undefined symbol "Prefix"
msdust2mod.sma(70) : warning 215: expression has no effect
msdust2mod.sma(70) : warning 215: expression has no effect
msdust2mod.sma(70) : error 001: expected token: ";", but found ")"
msdust2mod.sma(70) : error 029: invalid expression, assumed zero
msdust2mod.sma(70) : fatal error 107: too many error messages on one line

De nem tudtam rájönni hogy mi a baj.

  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <engine>
  4. #include <fakemeta>
  5. #include <hamsandwich>
  6. #include <cstrike>
  7. #include <colorchat>
  8. #include <fun>
  9.  
  10. new const PLUGIN[] = "Global Offensive";
  11. new const VERSION[] = "1.1p";
  12. new const AUTHOR[] = "DeRoiD";
  13.  
  14. #define MAX 200
  15. #define LADAESELY 100
  16.  
  17. #define PointsMin 1
  18. #define PointsMax 50
  19. #define Drop 65
  20. #define MarkMin 1
  21.  
  22. #pragma semicolon 1
  23.  
  24. #define TULAJRANG ADMIN_IMMUNITY
  25. #define FOADMINRANG ADMIN_LEVEL_H
  26. #define ADMINRANG ADMIN_BAN
  27. #define VIPRANG ADMIN_LEVEL_C
  28. new bool: skinek[33];
  29. new message[192];
  30. new teamInfo;
  31. new maxPlayers;
  32. new strName[191];
  33. new strText[191];
  34. new alive[11];
  35.  
  36. new WeaponNames[MAX][32], WeaponMdls[MAX][48], Weapons[MAX], WeaponDrop[MAX], AllWeapon;
  37. new UsingWeapon[13][33], uWeapon[MAX][33], Chest[33], pKey[33], Points[33], Rang[33], Kills[33], Chest2[33];
  38. aThing[33], aTarget[33], aPoints[33], Prefix[32];
  39. new Folder[48], SkinFile[48], SkinFile2[48], SaveFile[48], RegisterFile[48], DefaultSkinFile[48], RangFile[48], MenuMod[33], SayText;
  40. new WeaponinMarket[33], bool: inMarket[33], MarketPoints[33], Choosen[33];
  41. new SavedPassword[33][32], bool:Loged[33], Password[33][32], probalkozasok[33] = 0;
  42. new DefaultSkin[31][32], NeedKills[102], Rangs[102][33];
  43. new Selected[33];
  44.  
  45. new const eWeapon[][] =
  46. {
  47. "weapon_famas", "weapon_usp", "weapon_awp", "weapon_scout", "weapon_mp5navy", "weapon_m3", "weapon_m4a1", "weapon_glock18", "weapon_elite",
  48. "weapon_deagle", "weapon_ak47", "weapon_famas", "weapon_galil", "weapon_knife", "weapon_flashbang", "weapon_hegrenade",
  49. "weapon_smokegrenade", "weapon_c4", "weapon_xm1014", "weapon_p90"
  50. };
  51.  
  52. enum _:Fegyver{ uzi[64], nev[20], csw[20], golyo };
  53. new const fegyverek[2][Fegyver] =
  54. {
  55. { "AWP",     "weapon_awp",    CSW_AWP,     35 },
  56. { "Knife",    "weapon_knife",       CSW_KNIFE,        0 }
  57. };
  58.  
  59. public plugin_precache() {
  60. new Line[128], Data[4][48], Len;
  61. AllWeapon++;
  62. get_configsdir(Folder, 47);
  63. format(Folder, 47, "%s/msdust2", Folder);
  64. format(SkinFile, 47, "%s/skins.cfg", Folder);
  65. format(SkinFile2, 47, "%s/skins2.cfg", Folder);
  66. format(SaveFile, 47, "%s/save.ini", Folder);
  67. format(RangFile, 47, "%s/rangs.cfg", Folder);
  68. format(RegisterFile, 47, "%s/reg.ini", Folder);
  69. format(DefaultSkinFile, 47, "%s/alapskin.cfg", Folder);
  70. format(Prefix, 32, "[Masked Squad]");
  71.  
  72. if(file_exists(RangFile))
  73. {
  74. for(new i; i < file_size(RangFile, 1); i++)
  75. {
  76.     read_file(RangFile, i, Line, 127, Len);
  77.     parse(Line, Data[0], 31, Data[1], 31);
  78.    
  79.     copy(Rangs[i], 31, Data[0]);
  80.     NeedKills[i] = str_to_num(Data[1]);
  81. }
  82. if(file_exists(SkinFile))
  83. {
  84. for(new i; i < file_size(SkinFile, 1); i++)
  85. {
  86.     if(AllWeapon >= MAX-1) break;
  87.     read_file(SkinFile, i, Line, 127, Len);
  88.    
  89.     if(!strlen(Line) || Line[0] == ';')
  90.         continue;
  91.        
  92.         parse(Line, Data[0], 31, Data[1], 31, Data[2], 47, Data[3], 31);
  93.        
  94.         Weapons[AllWeapon] = str_to_num(Data[0]);
  95.         copy(WeaponNames[AllWeapon], 31, Data[1]);
  96.        
  97.         if(ValidMdl(Data[2])) {
  98.             precache_model(Data[2]);
  99.             copy(WeaponMdls[AllWeapon], 47, Data[2]);
  100.         }
  101.        
  102.         WeaponDrop[AllWeapon] = str_to_num(Data[3]);
  103.         AllWeapon++;
  104.     }
  105. if(file_exists(SkinFile2))
  106. {
  107. for(new i; i < file_size(SkinFile2, 1); i++)
  108. {
  109.     if(AllWeapon >= MAX-1) break;
  110.     read_file(SkinFile2, i, Line, 127, Len);
  111.    
  112.     if(!strlen(Line) || Line[0] == ';')
  113.         continue;
  114.        
  115.         parse(Line, Data[0], 31, Data[1], 31, Data[2], 47, Data[3], 31);
  116.        
  117.         Weapons[AllWeapon] = str_to_num(Data[0]);
  118.         copy(WeaponNames[AllWeapon], 31, Data[1]);
  119.        
  120.         if(ValidMdl(Data[2])) {
  121.             precache_model(Data[2]);
  122.             copy(WeaponMdls[AllWeapon], 47, Data[2]);
  123.         }
  124.        
  125.         WeaponDrop[AllWeapon] = str_to_num(Data[3]);
  126.         AllWeapon++;
  127.     }
  128. }
  129. if(file_exists(DefaultSkinFile))
  130. {
  131.     for(new i; i < file_size(DefaultSkinFile, 1); i++)
  132.     {
  133.         read_file(DefaultSkinFile, i, Line, 127, Len);
  134.        
  135.         if(!strlen(Line) || Line[0] == ';')
  136.             continue;
  137.            
  138.             parse(Line, Data[0], 31, Data[1], 47);
  139.            
  140.             if(ValidMdl(Data[1])) {
  141.                 precache_model(Data[1]);
  142.                 copy(DefaultSkin[str_to_num(Data[0])], 47, Data[1]);
  143.             }
  144.         }
  145.     }
  146. }
  147. public plugin_init() {
  148.     register_plugin(PLUGIN, VERSION, AUTHOR);
  149.     register_cvar(PLUGIN, VERSION, FCVAR_SERVER);
  150.    
  151.     register_impulse(201, "MenuOpen");
  152.    
  153.    
  154.     register_clcmd("say /menu", "MenuOpen");
  155.     register_clcmd("say /reg", "RegMenu");
  156.     register_clcmd("say /gun", "Guns");
  157.     register_clcmd("say /guns", "Guns");
  158.     register_clcmd("say /fegyver", "Guns");
  159.     register_clcmd("say /fegyo", "Guns");
  160.    
  161.     register_concmd("Cost", "MarketCost");
  162.     register_concmd("Gift", "GiftPoint");
  163.     register_concmd("UserPassword", "PlayerPassword");
  164.    
  165.     register_forward(FM_CmdStart, "CmdStart" );
  166.    
  167.     SayText = get_user_msgid("SayText");
  168.     teamInfo = get_user_msgid ("TeamInfo");
  169.     maxPlayers = get_maxplayers();
  170.    
  171.     register_message (SayText, "avoid_duplicated");
  172.    
  173.     register_forward(FM_ClientUserInfoChanged, "ClientInfoChanged");
  174.     RegisterHam(Ham_Spawn, "player", "PlayerSpawn", 1);
  175.    
  176.     for(new i; i < sizeof(eWeapon); i++)
  177.         RegisterHam(Ham_Item_Deploy, eWeapon[i], "WeaponSwitch", 1);
  178.    
  179.     register_clcmd ("say", "hook_say");
  180.     register_clcmd ("say_team", "hook_teamsay");
  181. }
  182. public client_connect(id)
  183. {
  184.     skinek[id]=true;
  185.     probalkozasok[id] = 0;
  186.     Selected[id] = 0;
  187.     for(new i; i<12; i++)
  188.         UsingWeapon[i][id]=0;
  189.     for(new i = 1; i < AllWeapon; i++)
  190.         uWeapon[i][id]=0;
  191. }
  192. public CmdStart(id, uc_handle, seed)
  193. {
  194.     if(get_uc(uc_handle, UC_Impulse) == 201)
  195.         MenuOpen(id);
  196. }
  197. public Guns(id)
  198. {
  199.     if(Choosen[id] < 1)
  200.     {
  201.         Choosen[id] = 0;
  202.         WeaponMenu(id);
  203.     }
  204. }
  205. public PlayerSpawn(id)
  206. {
  207.     if(is_user_alive(id))
  208.     {
  209.         Choosen[id] = 0;
  210.         if(user_has_weapon(id, CSW_C4))
  211.         {
  212.             strip_user_weapons(id);
  213.             give_item(id, "weapon_c4");
  214.             give_item(id, "weapon_knife");
  215.             WeaponMenu(id);
  216.             return PLUGIN_HANDLED;
  217.         }
  218.        
  219.        
  220.         if(cs_get_user_team(id) == CS_TEAM_CT)
  221.             cs_set_user_defuse(id, 1);
  222.     }
  223.     return PLUGIN_CONTINUE;
  224. }
  225. public MenuOpen(id)
  226. {
  227.     if(!Loged[id])
  228.     {
  229.         RegMenu(id);
  230.         return PLUGIN_HANDLED;
  231.     }
  232.    
  233.     MenuMod[id] = 0;
  234.     Menu(id);
  235.     return PLUGIN_CONTINUE;
  236. }
  237. public client_death(Killer, Victim)
  238. {
  239.     if(Killer == Victim)
  240.         return PLUGIN_HANDLED;
  241.    
  242.     Kills[Killer]++;
  243.    
  244.     if(Rang[Killer] < sizeof(Rangs) && Rang[Killer] < file_size(RangFile, 1)-1)
  245.         if(Kills[Killer] >= NeedKills[Rang[Killer]])
  246.         Rang[Killer]++;
  247.    
  248.     new pPont, Name[32];
  249.    
  250.     pPont += random_num(PointsMin, PointsMax);
  251.     Points[Killer] += pPont;
  252.    
  253.     set_hudmessage(255, 255, 255, -1.0, 0.15, 0, 6.0, 2.0);
  254.     show_hudmessage(Killer, "Kaptál +%d kreditet!", pPont);
  255.    
  256.    
  257.     if(Drop >= random_num(1, 100))
  258.     {
  259.         get_user_name(Killer, Name, 31);
  260.         new x = random_num(1, 4);
  261.         if(x == 1)
  262.         {
  263.             pKey[Killer]++;
  264.             print_color(0, "!g%s!t %s !ytalált egy !gkulcsot!y!", Prefix, Name);
  265.         }
  266.         if(x == 2 || x == 3)
  267.         {
  268.             Chest[Killer]++;
  269.             print_color(0, "!g%s!t %s!y talált egy!g ládát!y!", Prefix, Name);
  270.         }
  271.     }
  272.     Save(Killer);
  273.     return PLUGIN_CONTINUE;
  274. }
  275. public MarketCost(id)
  276. {
  277.     if(inMarket[id] || !Loged[id])
  278.         return PLUGIN_HANDLED;
  279.    
  280.     new Data[32], Cost;
  281.     read_args(Data, 31);
  282.     remove_quotes(Data);
  283.    
  284.     Cost = str_to_num(Data);
  285.    
  286.     if(Cost < 0)
  287.     {
  288.         client_cmd(id, "messagemode Cost");
  289.         return PLUGIN_CONTINUE;
  290.     }
  291.     else if(MarkMin >= Cost)
  292.     {
  293.         print_color(id, "%s!t%d !ykredit alatt nem tudsz eladni semmit!", Prefix, MarkMin);
  294.         client_cmd(id, "messagemode Cost");
  295.         return PLUGIN_CONTINUE;
  296.     }
  297.     else
  298.     {
  299.         MarketPoints[id] = Cost;
  300.         MenuMod[id] = 3;
  301.         Menu(id);
  302.         return PLUGIN_CONTINUE;
  303.     }
  304.     return PLUGIN_CONTINUE;
  305. }
  306. public GiftPoint(id)
  307. {
  308.     if(inMarket[id] || !Loged[id])
  309.         return PLUGIN_HANDLED;
  310.    
  311.     new Data[32], Cost;
  312.     read_args(Data, 31);
  313.     remove_quotes(Data);
  314.    
  315.     Cost = str_to_num(Data);
  316.    
  317.     if(Cost < 0 || Points[id] < Cost)
  318.     {
  319.         client_cmd(id, "messagemode Gift");
  320.         return PLUGIN_CONTINUE;
  321.     }
  322.     else
  323.     {
  324.         aPoints[id] = Cost;
  325.         MenuMod[id] = 5;
  326.         Menu(id);
  327.         return PLUGIN_CONTINUE;
  328.     }
  329.     return PLUGIN_CONTINUE;
  330. }
  331. public WeaponSwitch(Weapon) {
  332.     new id = get_pdata_cbase(Weapon, 41, 4);
  333.     new wid = cs_get_weapon_id(Weapon);
  334.    
  335.     if(id > 32 || id < 1)
  336.     {
  337.         return HAM_SUPERCEDE;
  338.     }
  339.    
  340.     if(skinek[id])
  341.     {
  342.         for(new j; j<13; j++)
  343.         {
  344.             if(wid == Weapons[UsingWeapon[j][id]])
  345.             {
  346.                 set_pev(id, pev_viewmodel2, WeaponMdls[UsingWeapon[j][id]]);
  347.                 return HAM_SUPERCEDE;
  348.             }
  349.         }
  350.         if(ValidMdl(DefaultSkin[wid]))
  351.             set_pev(id, pev_viewmodel2, DefaultSkin[wid]);
  352.     }
  353.     return HAM_IGNORED;
  354. }
  355. public ChestOpen(id)
  356. {
  357.     new rWeapon, rNum = random_num(1, 100);
  358.     if(LADAESELY >= rNum)
  359.     {
  360.         do
  361.     {
  362.         rWeapon = random_num(1, (AllWeapon-1));
  363.         rNum = random_num(1, 100);
  364.     }
  365.     while(WeaponDrop[rWeapon] < rNum);
  366.    
  367.     new Name[32];
  368.     get_user_name(id, Name, 31);
  369.     print_color(0, "!g%s!t %s!y talált egy!t %s!y-t.", Prefix, Name, WeaponNames[rWeapon]);
  370.     uWeapon[rWeapon][id]++;
  371.     Save(id);
  372. }
  373. else
  374.     print_color(id, "!g%s!y Sajnos ebben a ládában !tnem !yvolt semmi!", Prefix);
  375. }
  376. public Menu(id)
  377. {
  378.     if(!Loged[id])
  379.     {
  380.         RegMenu(id);
  381.         return PLUGIN_CONTINUE;
  382.     }
  383.    
  384.     new sMenu, Line[128];
  385.    
  386.     if(MenuMod[id] == -2)
  387.     {
  388.         formatex(Line, 127, "\r%s\y Válassz valamit! \d[Kredit: \y%d\d]", Prefix, Points[id]);
  389.         sMenu = menu_create(Line, "MenuHandler");
  390.         new String[32], All;
  391.         for(new i = 1; i < AllWeapon; i++)
  392.         {
  393.             if(uWeapon[i][id] == 0)
  394.                 continue;
  395.            
  396.             num_to_str(i, String, 31);
  397.             formatex(Line, 127, "\r%s \d[\w%d \ydarab\d]", WeaponNames[i], uWeapon[i][id]);
  398.             menu_additem(sMenu, Line, String);
  399.             All++;
  400.         }
  401.         if(Chest[id] > 0)
  402.         {
  403.             formatex(Line, 127, "\rLáda \d[\w%d \ydarab\d]", Chest[id]);
  404.             menu_additem(sMenu, Line, "201");
  405.             All++;
  406.         }
  407.         if(pKey[id] > 0)
  408.         {
  409.             formatex(Line, 127, "\rKulcs \d[\w%d \ydarab\d]", pKey[id]);
  410.             menu_additem(sMenu, Line, "202");
  411.             All++;
  412.         }
  413.         if(Points[id] > 0)
  414.         {
  415.             formatex(Line, 127, "\rKredit \d|\y %d", Points[id]);
  416.             menu_additem(sMenu, Line, "203");
  417.             All++;
  418.         }
  419.         if(Chest2[id] > 0)
  420.         {
  421.             formatex(Line, 127, "\rLegendary Láda \d[\w%d \ydarab\d]", Chest2[id]);
  422.             menu_additem(sMenu, Line, "204");
  423.             All++;
  424.         }
  425.         if(All == 0)
  426.         {
  427.             MenuMod[id] = 0;
  428.             Menu(id);
  429.             return PLUGIN_CONTINUE;
  430.         }
  431.     }
  432.     else if(MenuMod[id] == -1)
  433.     {
  434.         formatex(Line, 127, "\r%s\y Válassz valamit! \d[Kredit: \y%d\d]", Prefix, Points[id]);
  435.         sMenu = menu_create(Line, "MenuHandler");
  436.         new String[32], All;
  437.         for(new i = 1; i < AllWeapon; i++)
  438.         {
  439.             if(uWeapon[i][id] == 0)
  440.                 continue;
  441.            
  442.             num_to_str(i, String, 31);
  443.             formatex(Line, 127, "\r%s \d[\w%d \ydarab\d]", WeaponNames[i], uWeapon[i][id]);
  444.             menu_additem(sMenu, Line, String);
  445.             All++;
  446.         }
  447.         if(Chest[id] > 0)
  448.         {
  449.             formatex(Line, 127, "\rLáda \d[\w%d \ydarab\d]", Chest[id]);
  450.             menu_additem(sMenu, Line, "201");
  451.             All++;
  452.         }
  453.         if(pKey[id] > 0)
  454.         {
  455.             formatex(Line, 127, "\rKulcs \d[\w%d \ydarab\d]", pKey[id]);
  456.             menu_additem(sMenu, Line, "202");
  457.             All++;
  458.         }
  459.         if(Chest2[id] > 0)
  460.         {
  461.             formatex(Line, 127, "\rLegendary Láda \d[\w%d \ydarab\d]", Chest2[id]);
  462.             menu_additem(sMenu, Line, "203");
  463.             All++;
  464.         }
  465.         if(All == 0)
  466.         {
  467.             MenuMod[id] = 0;
  468.             Menu(id);
  469.             return PLUGIN_CONTINUE;
  470.         }
  471.     }
  472.     else if(MenuMod[id] == 0)
  473.     {
  474.         formatex(Line, 127, "\rMasked Squad \d|  \yFő Menü^n\d[Kredit: \y%d\d]", Points[id]);
  475.         sMenu = menu_create(Line, "MenuHandler");
  476.         formatex(Line, 127, "Felszerelés");
  477.         menu_additem(sMenu, Line, "1");
  478.        
  479.         if(!inMarket[id])
  480.             menu_additem(sMenu, "Láda nyitás", "2");
  481.         else
  482.             menu_additem(sMenu, "Láda nyitás \d[Piacozás közben nem engedélyezett]", "0");
  483.        
  484.         menu_additem(sMenu, "Piac", "3");
  485.        
  486.         if(!inMarket[id])
  487.             menu_additem(sMenu, "Kuka", "4");
  488.         else
  489.             menu_additem(sMenu, "Kuka \d[Piacozás közben nem engedélyezett]", "0");
  490.        
  491.         if(!inMarket[id])
  492.         {
  493.             formatex(Line, 127, "Ajándékozás^n");
  494.             menu_additem(sMenu, Line, "5");
  495.             if(Rang[id] == file_size(RangFile, 1) -1)
  496.                 formatex(Line, 127, "\wSkinek:\d %s^n\rRangod:\d %s \y[Ölés: \r%d]", skinek[id] ? "\yBekapcsolva" : "\rKikapcsolva", Rangs[Rang[id]], Kills[id]);
  497.             else
  498.                 formatex(Line, 127, "\wSkinek:\d %s^n\rKövetkező Rangod:\d %s \y[Ölés: \r%d\d/\r%d]", skinek[id] ? "\yBekapcsolva" : "\rKikapcsolva", Rangs[Rang[id]+1], Kills[id], NeedKills[Rang[id]]);
  499.             menu_additem(sMenu, Line, "6");
  500.         }
  501.         else
  502.         {
  503.             formatex(Line, 127, "Ajándékozás \d[Piacozás közben nem engedélyezett]^n");
  504.             menu_additem(sMenu, Line, "0");
  505.             if(Rang[id] == file_size(RangFile, 1) -1)
  506.                 formatex(Line, 127, "\wSkinek:\d %s^n\rRangod:\d %s \y[Ölés: \r%d]", skinek[id] ? "\yBekapcsolva" : "\rKikapcsolva", Rangs[Rang[id]], Kills[id]);
  507.             else
  508.                 formatex(Line, 127, "\wSkinek:\d %s^n\rKövetkező Rangod:\d %s \y[Ölés: \r%d\d/\r%d]", skinek[id] ? "\yBekapcsolva" : "\rKikapcsolva", Rangs[Rang[id]+1], Kills[id], NeedKills[Rang[id]]);
  509.             menu_additem(sMenu, Line, "6");
  510.         }
  511.     }
  512.     else if(MenuMod[id] == 1)
  513.     {
  514.         formatex(Line, 127, "\rMasked Squad \d|  \yFelszerelés^n\d[Kredit: \y%d\d]", Points[id]);
  515.         sMenu = menu_create(Line, "MenuHandler");
  516.         new String[32], All;
  517.         for(new i = 1; i < AllWeapon; i++)
  518.         {
  519.             if(uWeapon[i][id] == 0)
  520.                 continue;
  521.            
  522.             formatex(String, 31, "%d %d", i, Weapons[i]);
  523.             formatex(Line, 127, "\r%s \d[\w%d \ydarab\d]", WeaponNames[i], uWeapon[i][id]);
  524.             menu_additem(sMenu, Line, String);
  525.             All++;
  526.         }
  527.         if(All == 0)
  528.         {
  529.             MenuMod[id] = 0;
  530.             Menu(id);
  531.             return PLUGIN_CONTINUE;
  532.         }
  533.     }
  534.     else if(MenuMod[id] == 2)
  535.     {
  536.         formatex(Line, 127, "\rMasked Squad \d|  \yLáda nyitás^n\rLáda:\y %d \w| \rKulcs:\y %d", Chest[id], Chest2[id], pKey[id]);
  537.         sMenu = menu_create(Line, "MenuHandler");
  538.         formatex(Line, 127, "Láda nyitás \d[1 láda és 1 kulcs]");
  539.         menu_additem(sMenu, Line, "1");
  540.     }
  541.     else if(MenuMod[id] == 3)
  542.     {
  543.         formatex(Line, 127, "\rMasked Squad \d|  \yPiac^n\d[Kredit: \y%d\d]", Points[id]);
  544.         sMenu = menu_create(Line, "MenuHandler");
  545.         new String[32], All;
  546.         if(!inMarket[id])
  547.         {
  548.             for(new i = 1; i < AllWeapon; i++)
  549.             {
  550.                 if(i == WeaponinMarket[id] && uWeapon[i][id] > 0)
  551.                 {
  552.                     formatex(Line, 127, "\rTárgy:\d %s^n\yÁra:\d %d", WeaponNames[i], MarketPoints[id]);
  553.                     All++;
  554.                 }
  555.             }
  556.             if(201 == WeaponinMarket[id] && Chest[id] > 0)
  557.             {
  558.                 formatex(Line, 127, "\rTárgy:\d Láda^n\yÁra:\d %d", MarketPoints[id]);
  559.                 All++;
  560.             }
  561.             if(202 == WeaponinMarket[id] && pKey[id] > 0)
  562.             {
  563.                 formatex(Line, 127, "\rTárgy:\d Kulcs^n\yÁra:\d %d", MarketPoints[id]);
  564.                 All++;
  565.             }
  566.             if(203 == WeaponinMarket[id] && Chest2[id] > 0)
  567.             {
  568.                 formatex(Line, 127, "\rTárgy:\d Legendary Láda^n\yÁra:\d %d", MarketPoints[id]);
  569.                 All++;
  570.             }
  571.             if(All == 0)
  572.                 formatex(Line, 127, "\dVálassz valamit!");
  573.             menu_additem(sMenu, Line, "-1");
  574.         }
  575.         if(!inMarket[id])
  576.             formatex(Line, 127, "\rMehet a piacra^n");
  577.         else
  578.             formatex(Line, 127, "\dVissza^n");
  579.         menu_additem(sMenu, Line, "0");
  580.        
  581.         new Name[32];
  582.         for(new x; x < 32; x++)
  583.         {
  584.             if(!is_user_connected(x))
  585.                 continue;
  586.            
  587.             if(inMarket[x] && MarketPoints[x] > 0)
  588.             {
  589.                 num_to_str(x, String, 31);
  590.                 get_user_name(x, Name, 31);
  591.                 if(201 == WeaponinMarket[x])
  592.                 {
  593.                     formatex(Line, 127, "\r%s \d|\y Láda \d| \rÁra:\y %d", Name, MarketPoints[x]);
  594.                     menu_additem(sMenu, Line, String);
  595.                 }
  596.                 else if(202 == WeaponinMarket[x])
  597.                 {
  598.                     formatex(Line, 127, "\r%s \d|\y Kulcs \d| \rÁra:\y %d", Name, MarketPoints[x]);
  599.                     menu_additem(sMenu, Line, String);
  600.                 }
  601.                 else
  602.                 {
  603.                     formatex(Line, 127, "\r%s \d|\y %s \d| \rÁra:\y %d", Name, WeaponNames[WeaponinMarket[x]], MarketPoints[x]);
  604.                     menu_additem(sMenu, Line, String);
  605.                 }
  606.                 else if(203 == WeaponinMarket[x])
  607.                 {
  608.                     formatex(Line, 127, "\r%s \d|\yLegendary Láda \d| \rÁra:\y %d", Name, MarketPoints[x]);
  609.                     menu_additem(sMenu, Line, String);
  610.             }
  611.         }
  612.     }
  613.     else if(MenuMod[id] == 4)
  614.     {
  615.         formatex(Line, 127, "\rMasked Squad \d|  \yKuka ^n\d[Kredit: \y%d\d]", Points[id]);
  616.         sMenu = menu_create(Line, "MenuHandler");
  617.         new String[32], All;
  618.         for(new i = 1; i < AllWeapon; i++)
  619.         {
  620.             if(uWeapon[i][id] == 0)
  621.                 continue;
  622.            
  623.             num_to_str(i, String, 31);
  624.             formatex(Line, 127, "\r%s \d|\y %d darab", WeaponNames[i], uWeapon[i][id]);
  625.             menu_additem(sMenu, Line, String);
  626.             All++;
  627.         }
  628.         if(All == 0)
  629.         {
  630.             MenuMod[id] = 0;
  631.             Menu(id);
  632.         }
  633.     }
  634.     else if(MenuMod[id] == 5)
  635.     {
  636.         formatex(Line, 127, "\rMasked Squad \d|  \yAjándékozás^n\d[Kredit: \y%d\d]", Points[id]);
  637.         sMenu = menu_create(Line, "MenuHandler");
  638.         new All, Name[32], String[32];
  639.         get_user_name(aTarget[id], Name, 31);
  640.        
  641.         if(aTarget[id] > 0)
  642.         {
  643.             if(aPoints[id] == 0)
  644.                 aPoints[id] = 1;
  645.             formatex(Line, 127, "Játékos: \d%s", Name);
  646.             menu_additem(sMenu, Line, "-1");
  647.             for(new i = 1; i < AllWeapon; i++)
  648.             {
  649.                 if(i == aThing[id] && uWeapon[i][id] > 0)
  650.                 {
  651.                     formatex(Line, 127, "Ajándék:\d %s^n", WeaponNames[i]);
  652.                     menu_additem(sMenu, Line, "-2");
  653.                     All++;
  654.                 }
  655.             }
  656.            
  657.             if(aThing[id] == 0 && All == 0)
  658.             {
  659.                 formatex(Line, 127, "Válassz valamit!^n");
  660.                 menu_additem(sMenu, Line, "-2");
  661.             }
  662.             else if(aThing[id] > 203)
  663.             {
  664.                 if(201 == aThing[id])
  665.                 {
  666.                     formatex(Line, 127, "Ajándék:\d Láda");
  667.                 }
  668.                 if(202 == aThing[id])
  669.                 {
  670.                     formatex(Line, 127, "Ajándék:\d Kulcs");
  671.                 }
  672.                 if(200 == aThing[id])
  673.                 {
  674.                     formatex(Line, 127, "Ajándék:\d Kredit");
  675.                 }
  676.                 menu_additem(sMenu, Line, "-2");
  677.                 }
  678.                 if(203 == aThing[id])
  679.                 {
  680.                     formatex(Line, 127, "Ajándék:\d Legendary Láda");
  681.                 }
  682.                 menu_additem(sMenu, Line, "-2");
  683.             }
  684.             formatex(Line, 127, "Mennyiség:\d %d^n", aPoints[id]);
  685.             menu_additem(sMenu, Line, "-4");
  686.             formatex(Line, 127, "\yKüldés!");
  687.             menu_additem(sMenu, Line, "-3");
  688.         }
  689.         else
  690.         {
  691.             for(new i; i < 32; i++)
  692.             {
  693.                 if(is_user_connected(i) && i != id)
  694.                 {
  695.                     get_user_name(i, Name, 31);
  696.                     num_to_str(i, String, 31);
  697.                     menu_additem(sMenu, Name, String);
  698.                 }
  699.             }
  700.         }
  701.     }
  702.     menu_display(id, sMenu);
  703.     return PLUGIN_CONTINUE;
  704. }
  705. public MenuHandler(id, gMenu, Key)
  706. {  
  707.     if(Key == MENU_EXIT)
  708.     {
  709.         MenuMod[id] = 0;
  710.         menu_destroy(gMenu);
  711.         return PLUGIN_HANDLED;
  712.     }
  713.     new aMenu[2], Data[4][32], sKey[32], Name[32], mName[32];
  714.     menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
  715.    
  716.     parse(Data[0], sKey, 31);
  717.     Key = str_to_num(sKey);
  718.    
  719.     if(MenuMod[id] == -2)
  720.     {
  721.         aThing[id] = Key;
  722.         MenuMod[id] = 5;
  723.         Menu(id);
  724.         return PLUGIN_CONTINUE;
  725.     }
  726.     else if(MenuMod[id] == -1)
  727.     {
  728.         WeaponinMarket[id] = Key;
  729.         client_cmd(id, "messagemode Cost");
  730.         return PLUGIN_CONTINUE;
  731.     }
  732.     else if(MenuMod[id] == 0)
  733.     {
  734.         if(Key==6)
  735.         {
  736.             if(skinek[id]) skinek[id]=false;
  737.             else skinek[id]=true;
  738.             MenuMod[id] = 0;
  739.         }  
  740.         else
  741.             MenuMod[id] = Key;
  742.         Menu(id);
  743.         return PLUGIN_CONTINUE;
  744.     }
  745.     else if(MenuMod[id] == 1)
  746.     {
  747.         parse(Data[0], Data[2], 31, Data[3], 31);
  748.        
  749.         if(str_to_num(Data[3]) == 28)
  750.             UsingWeapon[0][id] = str_to_num(Data[2]);
  751.         else if(str_to_num(Data[3]) == 18)
  752.             UsingWeapon[1][id] = str_to_num(Data[2]);
  753.         else if(str_to_num(Data[3]) == 15)
  754.             UsingWeapon[2][id] = str_to_num(Data[2]);
  755.         else if(str_to_num(Data[3]) == 29)
  756.             UsingWeapon[3][id] = str_to_num(Data[2]);
  757.         else if(str_to_num(Data[3]) == 21)
  758.             UsingWeapon[4][id] = str_to_num(Data[2]);
  759.         else if(str_to_num(Data[3]) == 22)
  760.             UsingWeapon[5][id] = str_to_num(Data[2]);
  761.         else if(str_to_num(Data[3]) == 19)
  762.             UsingWeapon[6][id] = str_to_num(Data[2]);
  763.         else if(str_to_num(Data[3]) == 16)
  764.             UsingWeapon[7][id] = str_to_num(Data[2]);
  765.         else if(str_to_num(Data[3]) == 26)
  766.             UsingWeapon[8][id] = str_to_num(Data[2]);
  767.         else if(str_to_num(Data[3]) == 03)
  768.             UsingWeapon[9][id] = str_to_num(Data[2]);
  769.         else if(str_to_num(Data[3]) == 05)
  770.             UsingWeapon[10][id] = str_to_num(Data[2]);
  771.         else if(str_to_num(Data[3]) == 14)
  772.             UsingWeapon[11][id] = str_to_num(Data[2]);
  773.         else if(str_to_num(Data[3]) == 30)
  774.             UsingWeapon[12][id] = str_to_num(Data[2]);
  775.         return PLUGIN_CONTINUE;
  776.     }
  777.     else if(MenuMod[id] == 2)
  778.     {
  779.         if(Key == 1)
  780.         {
  781.             if(Chest[id] > 0 && pKey[id] > 0)
  782.             {
  783.                 Chest[id]--;
  784.                 Chest2[id]--;
  785.                 pKey[id]--;
  786.                 ChestOpen(id);
  787.                 Menu(id);
  788.                 return PLUGIN_CONTINUE;
  789.             }
  790.         }
  791.         return PLUGIN_CONTINUE;
  792.     }
  793.     else if(MenuMod[id] == 3)
  794.     {
  795.         if(Key == -1)
  796.         {
  797.             MenuMod[id] = -1;
  798.             Menu(id);
  799.             return PLUGIN_CONTINUE;
  800.         }
  801.         else if(Key == 0)
  802.         {
  803.             if(inMarket[id])
  804.                 inMarket[id] = false;
  805.             else if(MarketPoints[id] > 0)
  806.             {
  807.                 get_user_name(id, Name, 31);
  808.                 if(WeaponinMarket[id] > 200)
  809.                     print_color(0, "!g%s!t %s!y kirakott egy !t%s!g %d!y kreditért!",Prefix, Name, (WeaponinMarket[id] == 201) ? "Ládát" : "Kulcsot", MarketPoints[id]);
  810.                 else
  811.                     print_color(0, "!g%s!t %s!y kirakott egy !t%s!y-t!g %d!y kreditért!",Prefix, Name, WeaponNames[WeaponinMarket[id]], MarketPoints[id]);
  812.                 inMarket[id] = true;
  813.             }
  814.             Menu(id);
  815.             return PLUGIN_CONTINUE;
  816.         }
  817.         else if(inMarket[Key] && Points[id] >= MarketPoints[Key])
  818.         {
  819.             get_user_name(Key, Name, 31);
  820.             get_user_name(id, mName, 31);
  821.             if(WeaponinMarket[Key] < 201)
  822.             {
  823.                 print_color(0, "!g%s!t %s!y vásárolt egy!t %s!y-t!g %d!y kreditért !t%s!y-tól!", Prefix, mName, WeaponNames[WeaponinMarket[Key]], MarketPoints[Key], Name);
  824.                 uWeapon[WeaponinMarket[Key]][id]++;
  825.                 uWeapon[WeaponinMarket[Key]][Key]--;
  826.             }
  827.             else if(WeaponinMarket[Key] == 201)
  828.             {
  829.                 print_color(0, "!g%s!t %s!y vásárolt egy!t ládát!g %d!y kreditért !t%s!y-tól!", Prefix, mName, MarketPoints[Key], Name);
  830.                 Chest[id]++;
  831.                 Chest[Key]--;
  832.             }
  833.             else if(WeaponinMarket[Key] == 202)
  834.             {
  835.                 print_color(0, "!g%s!t %s!y vásárolt egy!t kulcsot!g %d!y kreditért !t%s!y-tól!", Prefix, mName, MarketPoints[Key], Name);
  836.                 pKey[id]++;
  837.                 pKey[Key]--;
  838.             }
  839.             else if(WeaponinMarket[Key] == 203)
  840.             {
  841.                 print_color(0, "!g%s!t %s!y vásárolt egy!g legendary !t ládát!g %d!y kreditért !t%s!y-tól!", Prefix, mName, MarketPoints[Key], Name);
  842.                 Chest2[id]++;
  843.                 Chest2[Key]--;
  844.             }
  845.             Points[Key] += MarketPoints[Key];
  846.             Points[id] -= MarketPoints[Key];
  847.             Save(Key);
  848.             Save(id);
  849.             inMarket[Key] = false;
  850.             MarketPoints[Key] = 0;
  851.             WeaponinMarket[Key] = 0;
  852.             MenuMod[id] = 0;
  853.         }
  854.         return PLUGIN_CONTINUE;
  855.     }
  856.     else if(MenuMod[id] == 4)
  857.     {
  858.         uWeapon[Key][id]--;
  859.         Menu(id);
  860.         Save(id);
  861.         return PLUGIN_CONTINUE;
  862.     }
  863.     else if(MenuMod[id] == 5)
  864.     {
  865.         if(Key == -1)
  866.         {
  867.             aTarget[id] = 0;
  868.         }
  869.         if(Key == -2)
  870.         {
  871.             MenuMod[id] = -2;
  872.         }
  873.         if(Key == -3)
  874.         {
  875.             if(aThing[id] < 200)
  876.             {
  877.                 if(uWeapon[aThing[id]][id] > 0)
  878.                 {
  879.                     if(uWeapon[aThing[id]][id]<aPoints[id])
  880.                     {
  881.                         client_cmd(id, "messagemode Gift");
  882.                         print_color(id, "!g%s !yNincs !g%d !t%s!y fegyvered.", Prefix, aPoints[id], WeaponNames[aThing[id]]);
  883.                         return PLUGIN_CONTINUE;
  884.                     }
  885.                     uWeapon[aThing[id]][aTarget[id]]+=aPoints[id];
  886.                     uWeapon[aThing[id]][id]-=aPoints[id];
  887.                     new Name[32], Name2[32];
  888.                     get_user_name(id, Name, 31);
  889.                     get_user_name(aTarget[id], Name2, 31);
  890.                     print_color(id, "!g%s !yKüldtél !t%s!y-nak !g%d !t%s!y-t", Prefix, Name2, aPoints[id], WeaponNames[aThing[id]]);
  891.                     print_color(aTarget[id], "!g%s !t%s !yküldött !g%d !t%s!y-t.", Prefix, Name, aPoints[id], WeaponNames[aThing[id]]);
  892.                     Save(aTarget[id]);
  893.                     Save(id);
  894.                     MenuMod[id] = 0;
  895.                     aThing[id] = 0;
  896.                     aTarget[id] = 0;
  897.                     aPoints[id] = 0;
  898.                    
  899.                 }
  900.             }
  901.             else
  902.             {
  903.                 new Name[32], Name2[32];
  904.                 get_user_name(id, Name, 31);
  905.                 get_user_name(aTarget[id], Name2, 31);
  906.                 if(201 == aThing[id])
  907.                 {
  908.                     if(Chest[id]<aPoints[id])
  909.                     {
  910.                         client_cmd(id, "messagemode Gift");
  911.                         print_color(id, "!g%s !yNincs !g%d !tládád!y.", Prefix, aPoints[id]);
  912.                         return PLUGIN_CONTINUE;
  913.                     }
  914.                     Chest[aTarget[id]]+=aPoints[id];
  915.                     Chest[id]-=aPoints[id];
  916.                     print_color(id, "!g%s !yKüldtél !t%s!y-nak!g %d!t ládát!y.", Prefix, Name2, aPoints[id]);
  917.                     print_color(aTarget[id], "!g%s !t%s !yküldött!g %d!t ládát!y.", Prefix, Name, aPoints[id]);
  918.                 }
  919.                 else if(202 == aThing[id])
  920.                 {
  921.                     if(pKey[id]<aPoints[id])
  922.                     {
  923.                         client_cmd(id, "messagemode Gift");
  924.                         print_color(id, "!g%s !yNincs !g%d!t kulcsod!y.", Prefix, aPoints[id]);
  925.                         return PLUGIN_CONTINUE;
  926.                     }
  927.                     pKey[aTarget[id]]+=aPoints[id];
  928.                     pKey[id]-=aPoints[id];
  929.                     print_color(id, "!g%s !yKüldtél !t%s!y-nak!g %d!t kulcsot!y.", Prefix, Name2, aPoints[id]);
  930.                     print_color(aTarget[id], "!g%s !t%s !yküldött!g %d!t kulcsot!y.", Prefix, Name, aPoints[id]);
  931.                 }
  932.                 else if(203 == aThing[id])
  933.                 {
  934.                     if(Points[id]<aPoints[id])
  935.                     {
  936.                         client_cmd(id, "messagemode Gift");
  937.                         print_color(id, "!g%s !yNincs !g%d kredited.", Prefix, aPoints[id]);
  938.                         return PLUGIN_CONTINUE;
  939.                     }
  940.                     Points[aTarget[id]] += aPoints[id];
  941.                     Points[id] -= aPoints[id];
  942.                     print_color(id, "!g%s !yKüldtél !t%s!y-nak !g%d!t kreditet!y.", Prefix, Name2, aPoints[id]);
  943.                     print_color(aTarget[id], "!g%s !t%s !yküldött !g%d!t kreditet!y.", Prefix, Name, aPoints[id]);
  944.                 }
  945.                 else if(204 == aThing[id])
  946.                 {
  947.                     if(Chest2[id]<aPoints[id])
  948.                     {
  949.                         client_cmd(id, "messagemode Gift");
  950.                         print_color(id, "!g%s !yNincs !g%d!g legendary !tládád!y.", Prefix, aPoints[id]);
  951.                         return PLUGIN_CONTINUE;
  952.                     }
  953.                     Chest2[aTarget[id]]+=aPoints[id];
  954.                     Chest2[id]-=aPoints[id];
  955.                     print_color(id, "!g%s !yKüldtél !t%s!y-nak!g %d!g legendary !t ládát!y.", Prefix, Name2, aPoints[id]);
  956.                     print_color(aTarget[id], "!g%s !t%s !yküldött!g %d!g legendary !t ládát!y.", Prefix, Name, aPoints[id]);
  957.                 }
  958.                 Save(aTarget[id]);
  959.                 Save(id);
  960.                 MenuMod[id] = 0;
  961.                 aThing[id] = 0;
  962.                 aTarget[id] = 0;
  963.                 aPoints[id] = 0;
  964.             }
  965.         }
  966.         if(Key == -4)
  967.         {
  968.             client_cmd(id, "messagemode Gift");
  969.             return PLUGIN_CONTINUE;
  970.         }
  971.         if(Key > 0)
  972.             aTarget[id] = Key;
  973.         Menu(id);
  974.         return PLUGIN_CONTINUE;
  975.     }
  976.     MenuMod[id] = 0;
  977.     return PLUGIN_CONTINUE;
  978. }
  979. stock print_color(const id, const input[], any:...)
  980. {
  981.     new Count = 1, Players[32];
  982.     static Msg[191];
  983.     vformat(Msg, 190, input, 3);
  984.    
  985.     replace_all(Msg, 190, "!g", "^4");
  986.     replace_all(Msg, 190, "!y", "^1");
  987.     replace_all(Msg, 190, "!t", "^3");
  988.    
  989.     if(id) Players[0] = id; else get_players(Players, Count, "ch");
  990. {
  991.     for (new i = 0; i < Count; i++)
  992.     {
  993.         if (is_user_connected(Players[i]))
  994.         {
  995.             message_begin(MSG_ONE_UNRELIABLE, SayText, _, Players[i]);
  996.             write_byte(Players[i]);
  997.             write_string(Msg);
  998.             message_end();
  999.         }
  1000.     }
  1001. }
  1002. return PLUGIN_HANDLED;
  1003. }
  1004. public client_putinserver(id)
  1005. {
  1006. Kills[id] = 0, Rang[id] = 0, Points[id] = 0, Choosen[id] = 0, pKey[id] = 0, Chest[id] = 0, Chest2[id] = 0;
  1007. for(new i; i < AllWeapon; i++)
  1008.     uWeapon[i][id] = 0;
  1009.     Load(id);
  1010.     Password[id] = "";
  1011.     SavedPassword[id] = "";
  1012.     Loged[id] = false;
  1013. }
  1014. public Load(id)
  1015. {
  1016.     if(!is_user_connected(id))
  1017.         return PLUGIN_HANDLED;
  1018.    
  1019.     new pFile, Name[32];
  1020.     pFile = fopen(SaveFile, "rt");
  1021.     get_user_name(id, Name, 31);
  1022.    
  1023.     if(pFile)
  1024.     {
  1025.         new Line[1024];
  1026.         new LineName[32];
  1027.         new data[16];
  1028.        
  1029.         while(!feof(pFile))
  1030.         {
  1031.             fgets(pFile, Line, 1023);
  1032.            
  1033.             if(Line[0] == ';' || !strlen(Line))
  1034.                 continue;
  1035.            
  1036.             strbreak(Line, LineName, 31, Line, 1023);
  1037.            
  1038.             if(equal(LineName, Name))
  1039.             {
  1040.                 strbreak(Line, data, 15, Line, 1023); Kills[id] = str_to_num(data);
  1041.                 strbreak(Line, data, 15, Line, 1023); Points[id] = str_to_num(data);
  1042.                 strbreak(Line, data, 15, Line, 1023); pKey[id] = str_to_num(data);
  1043.                 strbreak(Line, data, 15, Line, 1023); Chest[id] = str_to_num(data);
  1044.                 strbreak(Line, data, 15, Line, 1023); Chest2[id] = str_to_num(data);
  1045.                 strbreak(Line, data, 15, Line, 1023); Rang[id] = str_to_num(data);
  1046.                 for(new i; i < MAX; i++)
  1047.                 {
  1048.                     strbreak(Line, data, 15, Line, 1023);
  1049.                     uWeapon[i][id] = str_to_num(data);
  1050.                 }
  1051.                 fclose(pFile);
  1052.                 return PLUGIN_HANDLED;
  1053.             }
  1054.         }
  1055.         fclose(pFile);
  1056.     }
  1057.     return PLUGIN_CONTINUE;
  1058. }
  1059. public Save(id)
  1060. {
  1061.     if(!is_user_connected(id))
  1062.         return PLUGIN_HANDLED;
  1063.    
  1064.     new pFile, Name[32];
  1065.     pFile = fopen(SaveFile, "rt");
  1066.     get_user_name(id, Name, 31);
  1067.    
  1068.     if(pFile)
  1069.     {
  1070.         new Line[192], Lines;
  1071.         new LineName[32], bool:Found;
  1072.         new mLine[1024], LoadWeapon[1024], String[16];
  1073.        
  1074.         format(String, 15, "^"%i^" ", Kills[id]);
  1075.         add(LoadWeapon, 1023, String);
  1076.        
  1077.         format(String, 15, "^"%i^" ", Points[id]);
  1078.         add(LoadWeapon, 1023, String);
  1079.        
  1080.         format(String, 15, "^"%i^" ", pKey[id]);
  1081.         add(LoadWeapon, 1023, String);
  1082.        
  1083.         format(String, 15, "^"%i^" ", Chest[id]);
  1084.         add(LoadWeapon, 1023, String);
  1085.        
  1086.         format(String, 15, "^"%i^" ", Rang[id]);
  1087.         add(LoadWeapon, 1023, String);
  1088.        
  1089.         format(String, 15, "^"%i^" ", Chest2[id]);
  1090.         add(LoadWeapon, 1023, String);
  1091.        
  1092.         for(new i; i < MAX; i++)
  1093.         {
  1094.             format(String, 15, "^"%i^" ", uWeapon[i][id]);
  1095.             add(LoadWeapon, 1023, String);
  1096.         }
  1097.        
  1098.         formatex(mLine, 1023, "^"%s^" %s", Name, LoadWeapon);
  1099.         while(!feof(pFile))
  1100.         {
  1101.             fgets(pFile, Line, 191);
  1102.            
  1103.             if(Line[0] == ';' || strlen(Line) < 2)
  1104.                 continue;
  1105.            
  1106.             parse(Line, LineName, 31);
  1107.            
  1108.             if(equal(LineName, Name) && !Found)
  1109.             {
  1110.                 write_file(SaveFile, mLine, Lines);
  1111.                 fclose(pFile);
  1112.                 Found = true;
  1113.                 return PLUGIN_HANDLED;
  1114.             }
  1115.            
  1116.             Lines++;
  1117.         }
  1118.        
  1119.         if(!Found)
  1120.         {
  1121.             write_file(SaveFile, mLine);
  1122.             fclose(pFile);
  1123.             return PLUGIN_HANDLED;
  1124.         }
  1125.         fclose(pFile);
  1126.     }
  1127.     return PLUGIN_CONTINUE;
  1128. }
  1129. public WeaponMenu(id)
  1130. {
  1131.     if(Choosen[id] >= 2)
  1132.         return PLUGIN_HANDLED;
  1133.     new String[128];
  1134.     format(String, 127, "\rMasked Squad  \d|  \wFegyvermenü");
  1135.     new wMenu = menu_create(String, "wMenuHandler");
  1136.     new szid[10];
  1137.     if(Choosen[id] == 0)
  1138.     {
  1139.         for(new i=0; i < 6; i++)
  1140.         {
  1141.             num_to_str(i, szid, charsmax(szid));
  1142.             format(String, 127, "%s", fegyverek[i][uzi]);
  1143.             menu_additem(wMenu, String, szid);
  1144.         }
  1145.     }
  1146.     if(Choosen[id] == 1)
  1147.     {
  1148.         for(new i=6; i < 8; i++)
  1149.         {
  1150.             num_to_str(i, szid, charsmax(szid));
  1151.             format(String, 127, "%s", fegyverek[i][uzi]);
  1152.             menu_additem(wMenu, String, szid);
  1153.         }
  1154.     }
  1155.    
  1156.     menu_display(id, wMenu);
  1157.     return PLUGIN_CONTINUE;
  1158. }
  1159. public wMenuHandler(id, gMenu, item)
  1160. {  
  1161.     if(item == MENU_EXIT)
  1162.     {
  1163.         menu_destroy(gMenu);
  1164.         return;
  1165.     }
  1166.     new data[32], name[64];
  1167.     new access, callback;
  1168.     menu_item_getinfo(gMenu, item, access, data, charsmax(data), name, charsmax(name), callback);
  1169.    
  1170.     new szam = str_to_num(data);
  1171.     give_item(id, fegyverek[szam][nev]);
  1172.     cs_set_user_bpammo(id, fegyverek[szam][csw], fegyverek[szam][golyo]);
  1173.     Choosen[id]++;
  1174.    
  1175.     if(Choosen[id] >= 2)
  1176.         Grenades(id);
  1177.    
  1178.     WeaponMenu(id);
  1179. }
  1180. public RegMenu(id)
  1181. {
  1182.     new String[128], Name[32];
  1183.     if(Registered(id))
  1184.         format(String, 127, "\r%s  \d|  \yRegisztráció^n\rStátusz: \dRegisztrálva^n\rPróbálkozások:\d %d/3", Prefix, probalkozasok[id]);
  1185.     else
  1186.         format(String, 127, "\r%s  \d|  \yRegisztráció^n\rStátusz: \dNincs regisztrálva", Prefix);
  1187.     new rMenu = menu_create(String, "rMenuHandler");
  1188.     get_user_name(id, Name, 31);
  1189.    
  1190.     format(String, 127, "\wFelhasználó:\d %s", Name);
  1191.     menu_additem(rMenu, String, "0");
  1192.    
  1193.     if(!Registered(id))
  1194.     {
  1195.         format(String, 127, "\wJelszó:\d %s^n", Password[id]);
  1196.         menu_additem(rMenu, String, "1");
  1197.        
  1198.         if(strlen(Password[id]) > 4)
  1199.         {
  1200.             format(String, 127, "Regisztráció");
  1201.             menu_additem(rMenu, String, "2");
  1202.         }
  1203.         else
  1204.         {
  1205.             format(String, 127, "\dRegisztráció");
  1206.             menu_additem(rMenu, String, "0");
  1207.         }
  1208.     }
  1209.     else
  1210.     {
  1211.         if(!Loged[id])
  1212.         {
  1213.             format(String, 127, "\wJelszó:\d %s^n", Password[id]);
  1214.             menu_additem(rMenu, String, "1");
  1215.            
  1216.             format(String, 127, "Bejelentkezés!");
  1217.             menu_additem(rMenu, String, "3");
  1218.         }
  1219.         else
  1220.         {
  1221.             format(String, 127, "Kijelentkezés!");
  1222.             menu_additem(rMenu, String, "-1");
  1223.         }
  1224.     }
  1225.    
  1226.     menu_display(id, rMenu);
  1227. }
  1228. public rMenuHandler(id, gMenu, item)
  1229. {  
  1230.     if(item == MENU_EXIT)
  1231.     {
  1232.         menu_destroy(gMenu);
  1233.         return;
  1234.     }
  1235.     new data[9], name[64], Key;
  1236.     new access, callback;
  1237.     menu_item_getinfo(gMenu, item, access, data, charsmax(data), name, charsmax(name), callback);
  1238.    
  1239.     Key = str_to_num(data);
  1240.    
  1241.     if(Key == -1)
  1242.         ToLogout(id);
  1243.     if(Key == 0)
  1244.         RegMenu(id);
  1245.     if(Key == 1)
  1246.     {
  1247.         client_cmd(id, "messagemode UserPassword");
  1248.         RegMenu(id);
  1249.     }
  1250.     if(Key == 2)
  1251.     {
  1252.         print_color(id, "!g%s!y Sikeres regisztráció! [Jelszavad: !t%s!y]", Prefix, Password[id]);
  1253.         Register(id, Password[id]);
  1254.         copy(SavedPassword[id], 31, Password[id]);
  1255.         Loged[id] = true;
  1256.         Menu(id);
  1257.     }
  1258.     if(Key == 3)
  1259.     {
  1260.         if(equal(SavedPassword[id], Password[id])) {
  1261.             Loged[id] = true;
  1262.             print_color(id, "!g%s!y Sikeresen bejelentkeztél!", Prefix);
  1263.             Menu(id);
  1264.         }
  1265.         else
  1266.         {
  1267.             probalkozasok[id]++;
  1268.             if(probalkozasok[id] >= 3)
  1269.             {
  1270.                 server_cmd("kick #%i ^"3x elrontottad a jelszavad, ezért kickelve lettel.^"", get_user_userid(id));
  1271.                 probalkozasok[id]=0;
  1272.                 return;
  1273.             }
  1274.             client_cmd(id, "messagemode UserPassword");
  1275.             print_color(id, "!g%s !yRossz jelszó. A 3. sikertelen próbálkozás után !tKICK!y-elve leszel. Próbálkozások: %d/3", Prefix, probalkozasok[id]);
  1276.             RegMenu(id);
  1277.         }
  1278.     }
  1279. }
  1280. public ToLogout(id)
  1281. {
  1282.     if(Loged[id])
  1283.     {
  1284.         Loged[id] = false;
  1285.         Password[id] = "";
  1286.         print_color(id, "!g%s!y Sikeresen kijelentkeztél!", Prefix);
  1287.     }
  1288. }
  1289. public PlayerPassword(id)
  1290. {
  1291.     new Data[32];
  1292.     read_args(Data, 31);
  1293.     remove_quotes(Data);
  1294.    
  1295.     if(strlen(Data) < 5)
  1296.     {
  1297.         print_color(id, "!g%s!y A jelszó túl rövid!", Prefix);
  1298.         client_cmd(id, "messagemode UserPassword");
  1299.         return PLUGIN_HANDLED;
  1300.     }
  1301.    
  1302.     if(Loged[id])
  1303.         return PLUGIN_HANDLED;
  1304.    
  1305.     copy(Password[id], 31, Data);
  1306.     RegMenu(id);
  1307.     return PLUGIN_CONTINUE;
  1308. }
  1309.  
  1310. public ClientInfoChanged(id)
  1311.     set_task(1.0, "NameConrol",id);
  1312. public NameConrol(id){
  1313.     if(!is_user_connected(id))
  1314.         return PLUGIN_CONTINUE;
  1315.     new name[31];
  1316.     get_user_name(id, name, 30);
  1317.     new userid = get_user_userid(id);
  1318.     if (contain(name, "#Spec_Help_Text") != -1 || contain(name, "#Cstrike_Spetsnaz_Label") != -1 || contain(name, "#Buy") != -1 || contain(name, "#Cstrike_GIGN_Label") != -1 || contain(name, "#Spec_Duck") != -1)
  1319.     {
  1320.         server_cmd("kick #%d Ilyent nem szabad!",userid);
  1321.         return PLUGIN_HANDLED;
  1322.     }
  1323.     new Bnum = strlen(name);
  1324.     new i=0;
  1325.     new Nnum=0;
  1326.     while(i < Bnum)
  1327.     {
  1328.         if(name[i] == '1' || name[i] == '2' || name[i] == '3' || name[i] == '4' || name[i] == '5' || name[i] == '6' || name[i] == '7' || name[i] == '8' || name[i] == '9' || name[i] == '0')
  1329.             Nnum++;
  1330.         ++i;
  1331.     }
  1332.     if( Nnum >= 7)
  1333.     {
  1334.         client_cmd(id, "name ^"Hirdetés tiltott!^"");
  1335.         client_cmd(id, "retry");
  1336.         return PLUGIN_CONTINUE;
  1337.     }
  1338.     return PLUGIN_CONTINUE;
  1339. }
  1340.  
  1341. public avoid_duplicated (msgId, msgDest, receiver)
  1342. {
  1343.     return PLUGIN_HANDLED;
  1344. }
  1345.  
  1346. public hook_say(id)
  1347. {
  1348.     read_args (message, 191);
  1349.     remove_quotes (message);
  1350.    
  1351.     new Bnum = strlen(message);
  1352.     new Nnum = 0;
  1353.     new i = 0;
  1354.     while(i < Bnum)
  1355.     {
  1356.         if(message[i] == '1' || message[i] == '2' || message[i] == '3' || message[i] == '4' || message[i] == '5' || message[i] == '6' || message[i] == '7' || message[i] == '8' || message[i] == '9' || message[i] == '0')
  1357.             Nnum++;
  1358.         ++i;
  1359.     }
  1360.     if( Nnum >= 7)
  1361.     {
  1362.         ColorChat(id, BLUE,"^1A szerveren ^3tilos ^1a hírdetés!");
  1363.         return PLUGIN_HANDLED;
  1364.     }
  1365.    
  1366.     if (message[0] == '@' || message[0] == '/' || message[0] == '!' || equal (message, ""))
  1367.         return PLUGIN_CONTINUE;
  1368.    
  1369.    
  1370.     new name[192];
  1371.     name = message;
  1372.     if (contain(name, "#Spec_Help_Text") != -1 || contain(name, "#Cstrike_Spetsnaz_Label") != -1 || contain(name, "#Buy") != -1 || contain(name, "#Cstrike_GIGN_Label") != -1 || contain(name, "#Spec_Duck") != -1)
  1373.     {
  1374.         ColorChat(id, BLUE,"^3HAHAHA:)");
  1375.         return PLUGIN_HANDLED;
  1376.     }
  1377.     get_user_name (id, name, 31);
  1378.    
  1379.     /*new bool:tulaj = false;
  1380.    
  1381.     if (get_user_flags(id) & TULAJRANG)
  1382.         tulaj = true;
  1383.        
  1384.     new bool:admin = false;
  1385.    
  1386.     if (get_user_flags(id) & FOADMINRANG)
  1387.         foadmin = true;
  1388.    
  1389.     new bool:admin = false;
  1390.    
  1391.     if (get_user_flags(id) & ADMINRANG)
  1392.         admin = true;
  1393.    
  1394.     new bool:vip = false;
  1395.    
  1396.     else if (get_user_flags(id) & VIPRANG)
  1397.         vip = true;*/
  1398.    
  1399.     new isAlive;
  1400.    
  1401.     if (is_user_alive (id))
  1402.     {
  1403.         isAlive = 1;
  1404.         alive = "^x01";
  1405.     }
  1406.     else
  1407.     {
  1408.         isAlive = 0;
  1409.         alive = "^x01*Halott*";
  1410.     }
  1411.    
  1412.     static color[10];
  1413.    
  1414.     if (get_user_flags(id) & TULAJRANG)
  1415.     {
  1416.         get_user_team (id, color, 9);
  1417.         format (strName, 191, "%s^x04[Admin][%s]^x03%s", alive, Rangs[Rang[id]], name);
  1418.         format (strText, 191, "^x04%s", message);
  1419.     }
  1420.     else if (get_user_flags(id) & FOADMINRANG)
  1421.     {
  1422.         get_user_team (id, color, 9);
  1423.         format (strName, 191, "%s^x04[Admin][%s]^x03%s", alive, Rangs[Rang[id]], name);
  1424.         format (strText, 191, "^x04%s", message);
  1425.     }
  1426.     else if (get_user_flags(id) & ADMINRANG)
  1427.     {
  1428.         get_user_team (id, color, 9);
  1429.         format (strName, 191, "%s^x04[Admin][%s]^x03%s", alive, Rangs[Rang[id]], name);
  1430.         format (strText, 191, "^x04%s", message);
  1431.     }
  1432.     else if (get_user_flags(id) & VIPRANG)
  1433.     {
  1434.         get_user_team (id, color, 9);
  1435.         format (strName, 191, "%s^x04[VIP][%s]^x03%s", alive, Rangs[Rang[id]], name);
  1436.         format (strText, 191, "^x04%s", message);
  1437.     }
  1438.     else
  1439.     {
  1440.         get_user_team (id, color, 9);
  1441.         format (strName, 191, "%s^x04[%s]^x03%s", alive, Rangs[Rang[id]], name);
  1442.         format (strText, 191, "%s", message);
  1443.     }
  1444.    
  1445.     format (message, 191, "%s^x01 : %s", strName, strText);
  1446.    
  1447.     sendMessage (color, isAlive);
  1448.    
  1449.     return PLUGIN_CONTINUE;
  1450. }
  1451.  
  1452.  
  1453. public hook_teamsay(id)
  1454. {
  1455.     new playerTeam = get_user_team(id);
  1456.     new playerTeamName[19];
  1457.    
  1458.     switch (playerTeam)
  1459.     {
  1460.         case 1:
  1461.             copy (playerTeamName, 11, "*Terrorista*");
  1462.         case 2:
  1463.             copy (playerTeamName, 18, "*Anti-Terrorista*");
  1464.         default:
  1465.         copy (playerTeamName, 9, "*Néző*");
  1466.     }
  1467.    
  1468.     read_args (message, 191);
  1469.     remove_quotes (message);
  1470.    
  1471.     new Bnum = strlen(message);
  1472.     new Nnum = 0;
  1473.     new i = 0;
  1474.     while(i < Bnum)
  1475.     {
  1476.         if(message[i] == '1' || message[i] == '2' || message[i] == '3' || message[i] == '4' || message[i] == '5' || message[i] == '6' || message[i] == '7' || message[i] == '8' || message[i] == '9' || message[i] == '0')
  1477.             Nnum++;
  1478.         ++i;
  1479.     }
  1480.     if( Nnum >= 7)
  1481.     {
  1482.         ColorChat(id, BLUE,"^1A szerveren ^3tilos ^1a hírdetés!");
  1483.         return PLUGIN_HANDLED;
  1484.     }
  1485.    
  1486.     if (message[0] == '@' || message[0] == '/' || message[0] == '!' || equal (message, ""))
  1487.         return PLUGIN_CONTINUE;
  1488.    
  1489.    
  1490.     new name[192];
  1491.     name = message;
  1492.     if (contain(name, "#Spec_Help_Text") != -1 || contain(name, "#Cstrike_Spetsnaz_Label") != -1 || contain(name, "#Buy") != -1 || contain(name, "#Cstrike_GIGN_Label") != -1 || contain(name, "#Spec_Duck") != -1)
  1493.     {
  1494.         ColorChat(id, BLUE,"^3HAHAHA:)");
  1495.         return PLUGIN_HANDLED;
  1496.     }
  1497.     get_user_name (id, name, 31);
  1498.    
  1499.     /*new bool:tulaj = false;
  1500.    
  1501.     if (get_user_flags(id) & TULAJRANG)
  1502.         tulaj = true;
  1503.        
  1504.     new bool:foadmin = false;
  1505.    
  1506.     else if (get_user_flags(id) & FOADMINRANG)
  1507.         foadmin = true;
  1508.    
  1509.     new bool:admin = false;
  1510.    
  1511.     else if (get_user_flags(id) & ADMINRANG)
  1512.         admin = true;
  1513.    
  1514.     new bool:vip = false;
  1515.    
  1516.     else if (get_user_flags(id) & VIPRANG)
  1517.         vip = true; */
  1518.    
  1519.     new isAlive;
  1520.    
  1521.     if (is_user_alive (id))
  1522.     {
  1523.         isAlive = 1;
  1524.         alive = "^x01";
  1525.     }
  1526.     else
  1527.     {
  1528.         isAlive = 0;
  1529.         alive = "^x01*Halott*";
  1530.     }
  1531.    
  1532.     static color[10];
  1533.    
  1534.     if (get_user_flags(id) & TULAJRANG)
  1535.     {
  1536.         get_user_team (id, color, 9)    ;
  1537.         format (strName, 191, "%s(%s)^x04[Admin][%s]^x03%s", alive, playerTeamName, Rangs[Rang[id]], name);
  1538.         format (strText, 191, "^x04%s", message);
  1539.     }
  1540.     else if (get_user_flags(id) & FOADMINRANG)
  1541.     {
  1542.         get_user_team (id, color, 9)    ;
  1543.         format (strName, 191, "%s(%s)^x04[Admin][%s]^x03%s", alive, playerTeamName, Rangs[Rang[id]], name);
  1544.         format (strText, 191, "^x04%s", message);
  1545.     }
  1546.     else if (get_user_flags(id) & ADMINRANG)
  1547.     {
  1548.         get_user_team (id, color, 9)    ;
  1549.         format (strName, 191, "%s(%s)^x04[Admin][%s]^x03%s", alive, playerTeamName, Rangs[Rang[id]], name);
  1550.         format (strText, 191, "^x04%s", message);
  1551.     }
  1552.     else if (get_user_flags(id) & VIPRANG)
  1553.     {
  1554.         get_user_team (id, color, 9)    ;
  1555.         format (strName, 191, "%s(%s)^x04[VIP][%s]^x03%s", alive, playerTeamName, Rangs[Rang[id]], name);
  1556.         format (strText, 191, "^x04%s", message);
  1557.     }
  1558.     else
  1559.     {
  1560.         get_user_team (id, color, 9);
  1561.         format (strName, 191, "%s(%s)^x04[%s]^x03%s", alive, playerTeamName, Rangs[Rang[id]], name);
  1562.         format (strText, 191, "%s", message);
  1563.     }
  1564.    
  1565.     format (message, 191, "%s^x01 : %s", strName, strText);
  1566.    
  1567.     sendTeamMessage (color, isAlive, playerTeam);
  1568.    
  1569.     return PLUGIN_CONTINUE;
  1570. }
  1571.  
  1572. public sendMessage (color[], alive)
  1573. {
  1574.     new teamName[10];
  1575.    
  1576.     for (new player = 1; player < maxPlayers; player++)
  1577.     {
  1578.         if (!is_user_connected(player))
  1579.             continue;
  1580.         get_user_team (player, teamName, 9);
  1581.         changeTeamInfo (player, color);
  1582.         writeMessage (player, message);
  1583.         changeTeamInfo (player, teamName);
  1584.     }
  1585. }
  1586.  
  1587.  
  1588. public sendTeamMessage (color[], alive, playerTeam)
  1589. {
  1590.     new teamName[10];
  1591.    
  1592.     for (new player = 1; player < maxPlayers; player++)
  1593.     {
  1594.         if (!is_user_connected(player))
  1595.             continue;
  1596.        
  1597.         if (get_user_team(player) == playerTeam || get_user_flags(player) & ADMIN_BAN)
  1598.         {
  1599.             get_user_team (player, teamName, 9);
  1600.             changeTeamInfo (player, color);
  1601.             writeMessage (player, message);
  1602.             changeTeamInfo (player, teamName);
  1603.         }
  1604.     }
  1605. }
  1606.  
  1607.  
  1608. public changeTeamInfo (player, team[])
  1609. {
  1610.     message_begin (MSG_ONE, teamInfo, _, player);
  1611.     write_byte (player);
  1612.     write_string (team);
  1613.     message_end();
  1614. }
  1615.  
  1616.  
  1617. public writeMessage (player, message[])
  1618. {
  1619.     message_begin (MSG_ONE, SayText, {0, 0, 0}, player);
  1620.     write_byte (player);
  1621.     write_string (message);
  1622.     message_end ();
  1623. }
  1624.  
  1625. stock bool:ValidMdl(Mdl[])
  1626. {
  1627.     if(containi(Mdl, ".mdl") != -1)
  1628.     {
  1629.         return true;
  1630.     }
  1631.     return false;
  1632. }
  1633. stock bool:Registered(id)
  1634. {
  1635.     new pFile, Data[2][32], Line[64], Name[32];
  1636.     get_user_name(id, Name, 31);
  1637.     pFile = fopen(RegisterFile, "rt");
  1638.    
  1639.     while(!feof(pFile))
  1640.     {
  1641.         fgets(pFile, Line, 63);
  1642.        
  1643.         parse(Line, Data[0], 31, Data[1], 31);
  1644.        
  1645.         if(equal(Data[0], Name))
  1646.         {
  1647.             copy(SavedPassword[id], 31, Data[1]);
  1648.             return true;
  1649.         }
  1650.     }
  1651.    
  1652.     fclose(pFile);
  1653.    
  1654.     return false;
  1655. }
  1656. stock Register(id, const rSavedPassword[])
  1657. {
  1658.     new pFile, Line[64], Name[32];
  1659.     get_user_name(id, Name, 31);
  1660.     pFile = fopen(RegisterFile, "at+");
  1661.     format(Line, 63, "^"%s^" ^"%s^"", Name, rSavedPassword);
  1662.     write_file(RegisterFile, Line);
  1663.     fclose(pFile);
  1664. }
  1665. stock Grenades(id)
  1666. {
  1667.     give_item(id, "item_assaultsuit");
  1668. }

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Plugin Hiba
HozzászólásElküldve: 2018.03.27. 13:24 
Offline
Jómunkásember
Avatar

Csatlakozott: 2016.02.10. 12:46
Hozzászólások: 429
Megköszönt másnak: 61 alkalommal
Megköszönték neki: 157 alkalommal
Szia. Tessék.

//// Teszt.sma
// Header size: 2588 bytes
// Code size: 64780 bytes
// Data size: 154188 bytes
// Stack/heap size: 16384 bytes; max. usage is unknown, due to recursion
// Total requirements: 237940 bytes
// Done.
//
// Compilation Time: 1,17 sec
// ----------------------------------------


  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <engine>
  4. #include <fakemeta>
  5. #include <hamsandwich>
  6. #include <cstrike>
  7. #include <colorchat>
  8. #include <fun>
  9.  
  10. new const PLUGIN[] = "Global Offensive";
  11. new const VERSION[] = "1.1p";
  12. new const AUTHOR[] = "DeRoiD";
  13.  
  14. #define MAX 200
  15. #define LADAESELY 100
  16.  
  17. #define PointsMin 1
  18. #define PointsMax 50
  19. #define Drop 65
  20. #define MarkMin 1
  21.  
  22. #pragma tabsize 0
  23.  
  24. #define TULAJRANG ADMIN_IMMUNITY
  25. #define FOADMINRANG ADMIN_LEVEL_H
  26. #define ADMINRANG ADMIN_BAN
  27. #define VIPRANG ADMIN_LEVEL_C
  28. new bool: skinek[33];
  29. new message[192];
  30. new teamInfo;
  31. new maxPlayers;
  32. new strName[191];
  33. new strText[191];
  34. new alive[11];
  35.  
  36. new WeaponNames[MAX][32], WeaponMdls[MAX][48], Weapons[MAX], WeaponDrop[MAX], AllWeapon;
  37. new UsingWeapon[13][33], uWeapon[MAX][33], Chest[33], pKey[33], Points[33], Rang[33], Kills[33], Chest2[33];
  38. new aThing[33], aTarget[33], aPoints[33], Prefix[32];
  39. new Folder[48], SkinFile[48], SkinFile2[48], SaveFile[48], RegisterFile[48], DefaultSkinFile[48], RangFile[48], MenuMod[33], SayText;
  40. new WeaponinMarket[33], bool: inMarket[33], MarketPoints[33], Choosen[33];
  41. new SavedPassword[33][32], bool:Loged[33], Password[33][32], probalkozasok[33] = 0;
  42. new DefaultSkin[31][32], NeedKills[102], Rangs[102][33];
  43. new Selected[33];
  44.  
  45. new const eWeapon[][] =
  46. {
  47. "weapon_famas", "weapon_usp", "weapon_awp", "weapon_scout", "weapon_mp5navy", "weapon_m3", "weapon_m4a1", "weapon_glock18", "weapon_elite",
  48. "weapon_deagle", "weapon_ak47", "weapon_famas", "weapon_galil", "weapon_knife", "weapon_flashbang", "weapon_hegrenade",
  49. "weapon_smokegrenade", "weapon_c4", "weapon_xm1014", "weapon_p90"
  50. };
  51.  
  52. enum _:Fegyver{ uzi[64], nev[20], csw[20], golyo };
  53. new const fegyverek[2][Fegyver] =
  54. {
  55. { "AWP",     "weapon_awp",    CSW_AWP,     35 },
  56. { "Knife",    "weapon_knife",       CSW_KNIFE,        0 }
  57. };
  58.  
  59. public plugin_precache() {
  60.     new Line[128], Data[4][48], Len;
  61.     AllWeapon++;
  62.     get_configsdir(Folder, 47);
  63.     format(Folder, 47, "%s/msdust2", Folder);
  64.     format(SkinFile, 47, "%s/skins.cfg", Folder);
  65.     format(SkinFile2, 47, "%s/skins2.cfg", Folder);
  66.     format(SaveFile, 47, "%s/save.ini", Folder);
  67.     format(RangFile, 47, "%s/rangs.cfg", Folder);
  68.     format(RegisterFile, 47, "%s/reg.ini", Folder);
  69.     format(DefaultSkinFile, 47, "%s/alapskin.cfg", Folder);
  70.     format(Prefix, 32, "[Masked Squad]");
  71.      
  72.     if(file_exists(RangFile))
  73.     {
  74.         for(new i; i < file_size(RangFile, 1); i++)
  75.         {
  76.             read_file(RangFile, i, Line, 127, Len);
  77.             parse(Line, Data[0], 31, Data[1], 31);
  78.            
  79.             copy(Rangs[i], 31, Data[0]);
  80.             NeedKills[i] = str_to_num(Data[1]);
  81.         }
  82.         if(file_exists(SkinFile))
  83.         {
  84.             for(new i; i < file_size(SkinFile, 1); i++)
  85.             {
  86.             if(AllWeapon >= MAX-1) break;
  87.             read_file(SkinFile, i, Line, 127, Len);
  88.            
  89.             if(!strlen(Line) || Line[0] == ';')
  90.                 continue;
  91.                
  92.                 parse(Line, Data[0], 31, Data[1], 31, Data[2], 47, Data[3], 31);
  93.                
  94.                 Weapons[AllWeapon] = str_to_num(Data[0]);
  95.                 copy(WeaponNames[AllWeapon], 31, Data[1]);
  96.                
  97.                 if(ValidMdl(Data[2])) {
  98.                     precache_model(Data[2]);
  99.                     copy(WeaponMdls[AllWeapon], 47, Data[2]);
  100.                 }
  101.                
  102.                 WeaponDrop[AllWeapon] = str_to_num(Data[3]);
  103.                 AllWeapon++;
  104.             }
  105.             if(file_exists(SkinFile2))
  106.             {
  107.             for(new i; i < file_size(SkinFile2, 1); i++)
  108.             {
  109.                 if(AllWeapon >= MAX-1) break;
  110.                 read_file(SkinFile2, i, Line, 127, Len);
  111.                
  112.                 if(!strlen(Line) || Line[0] == ';')
  113.                     continue;
  114.                    
  115.                     parse(Line, Data[0], 31, Data[1], 31, Data[2], 47, Data[3], 31);
  116.                    
  117.                     Weapons[AllWeapon] = str_to_num(Data[0]);
  118.                     copy(WeaponNames[AllWeapon], 31, Data[1]);
  119.                    
  120.                     if(ValidMdl(Data[2])) {
  121.                         precache_model(Data[2]);
  122.                         copy(WeaponMdls[AllWeapon], 47, Data[2]);
  123.                     }
  124.                    
  125.                     WeaponDrop[AllWeapon] = str_to_num(Data[3]);
  126.                     AllWeapon++;
  127.                 }
  128.             }
  129.             if(file_exists(DefaultSkinFile))
  130.             {
  131.                 for(new i; i < file_size(DefaultSkinFile, 1); i++)
  132.                 {
  133.                     read_file(DefaultSkinFile, i, Line, 127, Len);
  134.                    
  135.                     if(!strlen(Line) || Line[0] == ';')
  136.                         continue;
  137.                        
  138.                         parse(Line, Data[0], 31, Data[1], 47);
  139.                        
  140.                         if(ValidMdl(Data[1])) {
  141.                             precache_model(Data[1]);
  142.                             copy(DefaultSkin[str_to_num(Data[0])], 47, Data[1]);
  143.                         }
  144.                 }
  145.             }
  146.         }
  147.     }
  148. }
  149. public plugin_init() {
  150.     register_plugin(PLUGIN, VERSION, AUTHOR);
  151.     register_cvar(PLUGIN, VERSION, FCVAR_SERVER);
  152.    
  153.     register_impulse(201, "MenuOpen");
  154.    
  155.    
  156.     register_clcmd("say /menu", "MenuOpen");
  157.     register_clcmd("say /reg", "RegMenu");
  158.     register_clcmd("say /gun", "Guns");
  159.     register_clcmd("say /guns", "Guns");
  160.     register_clcmd("say /fegyver", "Guns");
  161.     register_clcmd("say /fegyo", "Guns");
  162.    
  163.     register_concmd("Cost", "MarketCost");
  164.     register_concmd("Gift", "GiftPoint");
  165.     register_concmd("UserPassword", "PlayerPassword");
  166.    
  167.     register_forward(FM_CmdStart, "CmdStart" );
  168.    
  169.     SayText = get_user_msgid("SayText");
  170.     teamInfo = get_user_msgid ("TeamInfo");
  171.     maxPlayers = get_maxplayers();
  172.    
  173.     register_message (SayText, "avoid_duplicated");
  174.    
  175.     register_forward(FM_ClientUserInfoChanged, "ClientInfoChanged");
  176.     RegisterHam(Ham_Spawn, "player", "PlayerSpawn", 1);
  177.    
  178.     for(new i; i < sizeof(eWeapon); i++)
  179.         RegisterHam(Ham_Item_Deploy, eWeapon[i], "WeaponSwitch", 1);
  180.    
  181.     register_clcmd ("say", "hook_say");
  182.     register_clcmd ("say_team", "hook_teamsay");
  183. }
  184. public client_connect(id)
  185. {
  186.     skinek[id]=true;
  187.     probalkozasok[id] = 0;
  188.     Selected[id] = 0;
  189.     for(new i; i<12; i++)
  190.         UsingWeapon[i][id]=0;
  191.     for(new i = 1; i < AllWeapon; i++)
  192.         uWeapon[i][id]=0;
  193. }
  194. public CmdStart(id, uc_handle, seed)
  195. {
  196.     if(get_uc(uc_handle, UC_Impulse) == 201)
  197.         MenuOpen(id);
  198. }
  199. public Guns(id)
  200. {
  201.     if(Choosen[id] < 1)
  202.     {
  203.         Choosen[id] = 0;
  204.         WeaponMenu(id);
  205.     }
  206. }
  207. public PlayerSpawn(id)
  208. {
  209.     if(is_user_alive(id))
  210.     {
  211.         Choosen[id] = 0;
  212.         if(user_has_weapon(id, CSW_C4))
  213.         {
  214.             strip_user_weapons(id);
  215.             give_item(id, "weapon_c4");
  216.             give_item(id, "weapon_knife");
  217.             WeaponMenu(id);
  218.             return PLUGIN_HANDLED;
  219.         }
  220.        
  221.        
  222.         if(cs_get_user_team(id) == CS_TEAM_CT)
  223.             cs_set_user_defuse(id, 1);
  224.     }
  225.     return PLUGIN_CONTINUE;
  226. }
  227. public MenuOpen(id)
  228. {
  229.     if(!Loged[id])
  230.     {
  231.         RegMenu(id);
  232.         return PLUGIN_HANDLED;
  233.     }
  234.    
  235.     MenuMod[id] = 0;
  236.     Menu(id);
  237.     return PLUGIN_CONTINUE;
  238. }
  239. public client_death(Killer, Victim)
  240. {
  241.     if(Killer == Victim)
  242.         return PLUGIN_HANDLED;
  243.    
  244.     Kills[Killer]++;
  245.    
  246.     if(Rang[Killer] < sizeof(Rangs) && Rang[Killer] < file_size(RangFile, 1)-1)
  247.         if(Kills[Killer] >= NeedKills[Rang[Killer]])
  248.         Rang[Killer]++;
  249.    
  250.     new pPont, Name[32];
  251.    
  252.     pPont += random_num(PointsMin, PointsMax);
  253.     Points[Killer] += pPont;
  254.    
  255.     set_hudmessage(255, 255, 255, -1.0, 0.15, 0, 6.0, 2.0);
  256.     show_hudmessage(Killer, "Kaptál +%d kreditet!", pPont);
  257.    
  258.    
  259.     if(Drop >= random_num(1, 100))
  260.     {
  261.         get_user_name(Killer, Name, 31);
  262.         new x = random_num(1, 4);
  263.         if(x == 1)
  264.         {
  265.             pKey[Killer]++;
  266.             print_color(0, "!g%s!t %s !ytalált egy !gkulcsot!y!", Prefix, Name);
  267.         }
  268.         if(x == 2 || x == 3)
  269.         {
  270.             Chest[Killer]++;
  271.             print_color(0, "!g%s!t %s!y talált egy!g ládát!y!", Prefix, Name);
  272.         }
  273.     }
  274.     Save(Killer);
  275.     return PLUGIN_CONTINUE;
  276. }
  277. public MarketCost(id)
  278. {
  279.     if(inMarket[id] || !Loged[id])
  280.         return PLUGIN_HANDLED;
  281.    
  282.     new Data[32], Cost;
  283.     read_args(Data, 31);
  284.     remove_quotes(Data);
  285.    
  286.     Cost = str_to_num(Data);
  287.    
  288.     if(Cost < 0)
  289.     {
  290.         client_cmd(id, "messagemode Cost");
  291.         return PLUGIN_CONTINUE;
  292.     }
  293.     else if(MarkMin >= Cost)
  294.     {
  295.         print_color(id, "%s!t%d !ykredit alatt nem tudsz eladni semmit!", Prefix, MarkMin);
  296.         client_cmd(id, "messagemode Cost");
  297.         return PLUGIN_CONTINUE;
  298.     }
  299.     else
  300.     {
  301.         MarketPoints[id] = Cost;
  302.         MenuMod[id] = 3;
  303.         Menu(id);
  304.         return PLUGIN_CONTINUE;
  305.     }
  306.     return PLUGIN_CONTINUE;
  307. }
  308. public GiftPoint(id)
  309. {
  310.     if(inMarket[id] || !Loged[id])
  311.         return PLUGIN_HANDLED;
  312.    
  313.     new Data[32], Cost;
  314.     read_args(Data, 31);
  315.     remove_quotes(Data);
  316.    
  317.     Cost = str_to_num(Data);
  318.    
  319.     if(Cost < 0 || Points[id] < Cost)
  320.     {
  321.         client_cmd(id, "messagemode Gift");
  322.         return PLUGIN_CONTINUE;
  323.     }
  324.     else
  325.     {
  326.         aPoints[id] = Cost;
  327.         MenuMod[id] = 5;
  328.         Menu(id);
  329.         return PLUGIN_CONTINUE;
  330.     }
  331.     return PLUGIN_CONTINUE;
  332. }
  333. public WeaponSwitch(Weapon) {
  334.     new id = get_pdata_cbase(Weapon, 41, 4);
  335.     new wid = cs_get_weapon_id(Weapon);
  336.    
  337.     if(id > 32 || id < 1)
  338.     {
  339.         return HAM_SUPERCEDE;
  340.     }
  341.    
  342.     if(skinek[id])
  343.     {
  344.         for(new j; j<13; j++)
  345.         {
  346.             if(wid == Weapons[UsingWeapon[j][id]])
  347.             {
  348.                 set_pev(id, pev_viewmodel2, WeaponMdls[UsingWeapon[j][id]]);
  349.                 return HAM_SUPERCEDE;
  350.             }
  351.         }
  352.         if(ValidMdl(DefaultSkin[wid]))
  353.             set_pev(id, pev_viewmodel2, DefaultSkin[wid]);
  354.     }
  355.     return HAM_IGNORED;
  356. }
  357. public ChestOpen(id)
  358. {
  359.     new rWeapon, rNum = random_num(1, 100);
  360.     if(LADAESELY >= rNum)
  361.     {
  362.         do
  363.     {
  364.         rWeapon = random_num(1, (AllWeapon-1));
  365.         rNum = random_num(1, 100);
  366.     }
  367.     while(WeaponDrop[rWeapon] < rNum);
  368.    
  369.     new Name[32];
  370.     get_user_name(id, Name, 31);
  371.     print_color(0, "!g%s!t %s!y talált egy!t %s!y-t.", Prefix, Name, WeaponNames[rWeapon]);
  372.     uWeapon[rWeapon][id]++;
  373.     Save(id);
  374. }
  375. else
  376.     print_color(id, "!g%s!y Sajnos ebben a ládában !tnem !yvolt semmi!", Prefix);
  377. }
  378. public Menu(id)
  379. {
  380.     if(!Loged[id])
  381.     {
  382.         RegMenu(id);
  383.         return PLUGIN_CONTINUE;
  384.     }
  385.    
  386.     new sMenu, Line[128];
  387.    
  388.     if(MenuMod[id] == -2)
  389.     {
  390.         formatex(Line, 127, "\r%s\y Válassz valamit! \d[Kredit: \y%d\d]", Prefix, Points[id]);
  391.         sMenu = menu_create(Line, "MenuHandler");
  392.         new String[32], All;
  393.         for(new i = 1; i < AllWeapon; i++)
  394.         {
  395.             if(uWeapon[i][id] == 0)
  396.                 continue;
  397.            
  398.             num_to_str(i, String, 31);
  399.             formatex(Line, 127, "\r%s \d[\w%d \ydarab\d]", WeaponNames[i], uWeapon[i][id]);
  400.             menu_additem(sMenu, Line, String);
  401.             All++;
  402.         }
  403.         if(Chest[id] > 0)
  404.         {
  405.             formatex(Line, 127, "\rLáda \d[\w%d \ydarab\d]", Chest[id]);
  406.             menu_additem(sMenu, Line, "201");
  407.             All++;
  408.         }
  409.         if(pKey[id] > 0)
  410.         {
  411.             formatex(Line, 127, "\rKulcs \d[\w%d \ydarab\d]", pKey[id]);
  412.             menu_additem(sMenu, Line, "202");
  413.             All++;
  414.         }
  415.         if(Points[id] > 0)
  416.         {
  417.             formatex(Line, 127, "\rKredit \d|\y %d", Points[id]);
  418.             menu_additem(sMenu, Line, "203");
  419.             All++;
  420.         }
  421.         if(Chest2[id] > 0)
  422.         {
  423.             formatex(Line, 127, "\rLegendary Láda \d[\w%d \ydarab\d]", Chest2[id]);
  424.             menu_additem(sMenu, Line, "204");
  425.             All++;
  426.         }
  427.         if(All == 0)
  428.         {
  429.             MenuMod[id] = 0;
  430.             Menu(id);
  431.             return PLUGIN_CONTINUE;
  432.         }
  433.     }
  434.     else if(MenuMod[id] == -1)
  435.     {
  436.         formatex(Line, 127, "\r%s\y Válassz valamit! \d[Kredit: \y%d\d]", Prefix, Points[id]);
  437.         sMenu = menu_create(Line, "MenuHandler");
  438.         new String[32], All;
  439.         for(new i = 1; i < AllWeapon; i++)
  440.         {
  441.             if(uWeapon[i][id] == 0)
  442.                 continue;
  443.            
  444.             num_to_str(i, String, 31);
  445.             formatex(Line, 127, "\r%s \d[\w%d \ydarab\d]", WeaponNames[i], uWeapon[i][id]);
  446.             menu_additem(sMenu, Line, String);
  447.             All++;
  448.         }
  449.         if(Chest[id] > 0)
  450.         {
  451.             formatex(Line, 127, "\rLáda \d[\w%d \ydarab\d]", Chest[id]);
  452.             menu_additem(sMenu, Line, "201");
  453.             All++;
  454.         }
  455.         if(pKey[id] > 0)
  456.         {
  457.             formatex(Line, 127, "\rKulcs \d[\w%d \ydarab\d]", pKey[id]);
  458.             menu_additem(sMenu, Line, "202");
  459.             All++;
  460.         }
  461.         if(Chest2[id] > 0)
  462.         {
  463.             formatex(Line, 127, "\rLegendary Láda \d[\w%d \ydarab\d]", Chest2[id]);
  464.             menu_additem(sMenu, Line, "203");
  465.             All++;
  466.         }
  467.         if(All == 0)
  468.         {
  469.             MenuMod[id] = 0;
  470.             Menu(id);
  471.             return PLUGIN_CONTINUE;
  472.         }
  473.     }
  474.     else if(MenuMod[id] == 0)
  475.     {
  476.         formatex(Line, 127, "\rMasked Squad \d|  \yFő Menü^n\d[Kredit: \y%d\d]", Points[id]);
  477.         sMenu = menu_create(Line, "MenuHandler");
  478.         formatex(Line, 127, "Felszerelés");
  479.         menu_additem(sMenu, Line, "1");
  480.        
  481.         if(!inMarket[id])
  482.             menu_additem(sMenu, "Láda nyitás", "2");
  483.         else
  484.             menu_additem(sMenu, "Láda nyitás \d[Piacozás közben nem engedélyezett]", "0");
  485.        
  486.         menu_additem(sMenu, "Piac", "3");
  487.        
  488.         if(!inMarket[id])
  489.             menu_additem(sMenu, "Kuka", "4");
  490.         else
  491.             menu_additem(sMenu, "Kuka \d[Piacozás közben nem engedélyezett]", "0");
  492.        
  493.         if(!inMarket[id])
  494.         {
  495.             formatex(Line, 127, "Ajándékozás^n");
  496.             menu_additem(sMenu, Line, "5");
  497.             if(Rang[id] == file_size(RangFile, 1) -1)
  498.                 formatex(Line, 127, "\wSkinek:\d %s^n\rRangod:\d %s \y[Ölés: \r%d]", skinek[id] ? "\yBekapcsolva" : "\rKikapcsolva", Rangs[Rang[id]], Kills[id]);
  499.             else
  500.                 formatex(Line, 127, "\wSkinek:\d %s^n\rKövetkező Rangod:\d %s \y[Ölés: \r%d\d/\r%d]", skinek[id] ? "\yBekapcsolva" : "\rKikapcsolva", Rangs[Rang[id]+1], Kills[id], NeedKills[Rang[id]]);
  501.             menu_additem(sMenu, Line, "6");
  502.         }
  503.         else
  504.         {
  505.             formatex(Line, 127, "Ajándékozás \d[Piacozás közben nem engedélyezett]^n");
  506.             menu_additem(sMenu, Line, "0");
  507.             if(Rang[id] == file_size(RangFile, 1) -1)
  508.                 formatex(Line, 127, "\wSkinek:\d %s^n\rRangod:\d %s \y[Ölés: \r%d]", skinek[id] ? "\yBekapcsolva" : "\rKikapcsolva", Rangs[Rang[id]], Kills[id]);
  509.             else
  510.                 formatex(Line, 127, "\wSkinek:\d %s^n\rKövetkező Rangod:\d %s \y[Ölés: \r%d\d/\r%d]", skinek[id] ? "\yBekapcsolva" : "\rKikapcsolva", Rangs[Rang[id]+1], Kills[id], NeedKills[Rang[id]]);
  511.             menu_additem(sMenu, Line, "6");
  512.         }
  513.     }
  514.     else if(MenuMod[id] == 1)
  515.     {
  516.         formatex(Line, 127, "\rMasked Squad \d|  \yFelszerelés^n\d[Kredit: \y%d\d]", Points[id]);
  517.         sMenu = menu_create(Line, "MenuHandler");
  518.         new String[32], All;
  519.         for(new i = 1; i < AllWeapon; i++)
  520.         {
  521.             if(uWeapon[i][id] == 0)
  522.                 continue;
  523.            
  524.             formatex(String, 31, "%d %d", i, Weapons[i]);
  525.             formatex(Line, 127, "\r%s \d[\w%d \ydarab\d]", WeaponNames[i], uWeapon[i][id]);
  526.             menu_additem(sMenu, Line, String);
  527.             All++;
  528.         }
  529.         if(All == 0)
  530.         {
  531.             MenuMod[id] = 0;
  532.             Menu(id);
  533.             return PLUGIN_CONTINUE;
  534.         }
  535.     }
  536.     else if(MenuMod[id] == 2)
  537.     {
  538.         formatex(Line, 127, "\rMasked Squad \d|  \yLáda nyitás^n\rLáda:\y %d \w| \rKulcs:\y %d", Chest[id], Chest2[id], pKey[id]);
  539.         sMenu = menu_create(Line, "MenuHandler");
  540.         formatex(Line, 127, "Láda nyitás \d[1 láda és 1 kulcs]");
  541.         menu_additem(sMenu, Line, "1");
  542.     }
  543.     else if(MenuMod[id] == 3)
  544.     {
  545.         formatex(Line, 127, "\rMasked Squad \d|  \yPiac^n\d[Kredit: \y%d\d]", Points[id]);
  546.         sMenu = menu_create(Line, "MenuHandler");
  547.         new String[32], All;
  548.         if(!inMarket[id])
  549.         {
  550.             for(new i = 1; i < AllWeapon; i++)
  551.             {
  552.                 if(i == WeaponinMarket[id] && uWeapon[i][id] > 0)
  553.                 {
  554.                     formatex(Line, 127, "\rTárgy:\d %s^n\yÁra:\d %d", WeaponNames[i], MarketPoints[id]);
  555.                     All++;
  556.                 }
  557.             }
  558.             if(201 == WeaponinMarket[id] && Chest[id] > 0)
  559.             {
  560.                 formatex(Line, 127, "\rTárgy:\d Láda^n\yÁra:\d %d", MarketPoints[id]);
  561.                 All++;
  562.             }
  563.             if(202 == WeaponinMarket[id] && pKey[id] > 0)
  564.             {
  565.                 formatex(Line, 127, "\rTárgy:\d Kulcs^n\yÁra:\d %d", MarketPoints[id]);
  566.                 All++;
  567.             }
  568.             if(203 == WeaponinMarket[id] && Chest2[id] > 0)
  569.             {
  570.                 formatex(Line, 127, "\rTárgy:\d Legendary Láda^n\yÁra:\d %d", MarketPoints[id]);
  571.                 All++;
  572.             }
  573.             if(All == 0)
  574.                 formatex(Line, 127, "\dVálassz valamit!");
  575.             menu_additem(sMenu, Line, "-1");
  576.         }
  577.         if(!inMarket[id])
  578.             formatex(Line, 127, "\rMehet a piacra^n");
  579.         else
  580.             formatex(Line, 127, "\dVissza^n");
  581.         menu_additem(sMenu, Line, "0");
  582.        
  583.         new Name[32];
  584.         for(new x; x < 32; x++)
  585.         {
  586.             if(!is_user_connected(x))
  587.                 continue;
  588.            
  589.             if(inMarket[x] && MarketPoints[x] > 0)
  590.             {
  591.                 num_to_str(x, String, 31);
  592.                 get_user_name(x, Name, 31);
  593.                 if(201 == WeaponinMarket[x])
  594.                 {
  595.                     formatex(Line, 127, "\r%s \d|\y Láda \d| \rÁra:\y %d", Name, MarketPoints[x]);
  596.                     menu_additem(sMenu, Line, String);
  597.                 }
  598.                 else if(202 == WeaponinMarket[x])
  599.                 {
  600.                     formatex(Line, 127, "\r%s \d|\y Kulcs \d| \rÁra:\y %d", Name, MarketPoints[x]);
  601.                     menu_additem(sMenu, Line, String);
  602.                 }
  603.                 else if(203 == WeaponinMarket[x])
  604.                 {
  605.                     formatex(Line, 127, "\r%s \d|\yLegendary Láda \d| \rÁra:\y %d", Name, MarketPoints[x]);
  606.                     menu_additem(sMenu, Line, String);
  607.                 }
  608.                 else
  609.                 {
  610.                     formatex(Line, 127, "\r%s \d|\y %s \d| \rÁra:\y %d", Name, WeaponNames[WeaponinMarket[x]], MarketPoints[x]);
  611.                     menu_additem(sMenu, Line, String);
  612.                 }
  613.             }
  614.         }
  615.     }
  616.     else if(MenuMod[id] == 4)
  617.     {
  618.         formatex(Line, 127, "\rMasked Squad \d|  \yKuka ^n\d[Kredit: \y%d\d]", Points[id]);
  619.         sMenu = menu_create(Line, "MenuHandler");
  620.         new String[32], All;
  621.         for(new i = 1; i < AllWeapon; i++)
  622.         {
  623.             if(uWeapon[i][id] == 0)
  624.                 continue;
  625.            
  626.             num_to_str(i, String, 31);
  627.             formatex(Line, 127, "\r%s \d|\y %d darab", WeaponNames[i], uWeapon[i][id]);
  628.             menu_additem(sMenu, Line, String);
  629.             All++;
  630.         }
  631.         if(All == 0)
  632.         {
  633.             MenuMod[id] = 0;
  634.             Menu(id);
  635.         }
  636.     }
  637.     else if(MenuMod[id] == 5)
  638.     {
  639.         formatex(Line, 127, "\rMasked Squad \d|  \yAjándékozás^n\d[Kredit: \y%d\d]", Points[id]);
  640.         sMenu = menu_create(Line, "MenuHandler");
  641.         new All, Name[32];
  642.         get_user_name(aTarget[id], Name, 31);
  643.        
  644.         if(aTarget[id] > 0)
  645.         {
  646.             if(aPoints[id] == 0)
  647.                 aPoints[id] = 1;
  648.             formatex(Line, 127, "Játékos: \d%s", Name);
  649.             menu_additem(sMenu, Line, "-1");
  650.             for(new i = 1; i < AllWeapon; i++)
  651.             {
  652.                 if(i == aThing[id] && uWeapon[i][id] > 0)
  653.                 {
  654.                     formatex(Line, 127, "Ajándék:\d %s^n", WeaponNames[i]);
  655.                     menu_additem(sMenu, Line, "-2");
  656.                     All++;
  657.                 }
  658.             }
  659.            
  660.             if(aThing[id] == 0 && All == 0)
  661.             {
  662.                 formatex(Line, 127, "Válassz valamit!^n");
  663.                 menu_additem(sMenu, Line, "-2");
  664.             }
  665.             else if(aThing[id] > 203)
  666.             {
  667.                 if(201 == aThing[id])
  668.                 {
  669.                     formatex(Line, 127, "Ajándék:\d Láda");
  670.                 }
  671.                 if(202 == aThing[id])
  672.                 {
  673.                     formatex(Line, 127, "Ajándék:\d Kulcs");
  674.                 }
  675.                 if(200 == aThing[id])
  676.                 {
  677.                     formatex(Line, 127, "Ajándék:\d Kredit");
  678.                 }
  679.                 menu_additem(sMenu, Line, "-2");
  680.                 }
  681.                 if(203 == aThing[id])
  682.                 {
  683.                     formatex(Line, 127, "Ajándék:\d Legendary Láda");
  684.                 }
  685.                 menu_additem(sMenu, Line, "-2");
  686.             }
  687.             formatex(Line, 127, "Mennyiség:\d %d^n", aPoints[id]);
  688.             menu_additem(sMenu, Line, "-4");
  689.             formatex(Line, 127, "\yKüldés!");
  690.             menu_additem(sMenu, Line, "-3");
  691.     }
  692.         else
  693.         {
  694.             new Name[32], String[32];
  695.             for(new i; i < 32; i++)
  696.             {
  697.                 if(is_user_connected(i) && i != id)
  698.                 {
  699.                     get_user_name(i, Name, 31);
  700.                     num_to_str(i, String, 31);
  701.                     menu_additem(sMenu, Name, String);
  702.                 }
  703.             }
  704.         }
  705.    
  706.     menu_display(id, sMenu);
  707.     return PLUGIN_CONTINUE;
  708. }
  709. public MenuHandler(id, gMenu, Key)
  710. {  
  711.     if(Key == MENU_EXIT)
  712.     {
  713.         MenuMod[id] = 0;
  714.         menu_destroy(gMenu);
  715.         return PLUGIN_HANDLED;
  716.     }
  717.     new aMenu[2], Data[4][32], sKey[32], Name[32], mName[32];
  718.     menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
  719.    
  720.     parse(Data[0], sKey, 31);
  721.     Key = str_to_num(sKey);
  722.    
  723.     if(MenuMod[id] == -2)
  724.     {
  725.         aThing[id] = Key;
  726.         MenuMod[id] = 5;
  727.         Menu(id);
  728.         return PLUGIN_CONTINUE;
  729.     }
  730.     else if(MenuMod[id] == -1)
  731.     {
  732.         WeaponinMarket[id] = Key;
  733.         client_cmd(id, "messagemode Cost");
  734.         return PLUGIN_CONTINUE;
  735.     }
  736.     else if(MenuMod[id] == 0)
  737.     {
  738.         if(Key==6)
  739.         {
  740.             if(skinek[id]) skinek[id]=false;
  741.             else skinek[id]=true;
  742.             MenuMod[id] = 0;
  743.         }  
  744.         else
  745.             MenuMod[id] = Key;
  746.         Menu(id);
  747.         return PLUGIN_CONTINUE;
  748.     }
  749.     else if(MenuMod[id] == 1)
  750.     {
  751.         parse(Data[0], Data[2], 31, Data[3], 31);
  752.        
  753.         if(str_to_num(Data[3]) == 28)
  754.             UsingWeapon[0][id] = str_to_num(Data[2]);
  755.         else if(str_to_num(Data[3]) == 18)
  756.             UsingWeapon[1][id] = str_to_num(Data[2]);
  757.         else if(str_to_num(Data[3]) == 15)
  758.             UsingWeapon[2][id] = str_to_num(Data[2]);
  759.         else if(str_to_num(Data[3]) == 29)
  760.             UsingWeapon[3][id] = str_to_num(Data[2]);
  761.         else if(str_to_num(Data[3]) == 21)
  762.             UsingWeapon[4][id] = str_to_num(Data[2]);
  763.         else if(str_to_num(Data[3]) == 22)
  764.             UsingWeapon[5][id] = str_to_num(Data[2]);
  765.         else if(str_to_num(Data[3]) == 19)
  766.             UsingWeapon[6][id] = str_to_num(Data[2]);
  767.         else if(str_to_num(Data[3]) == 16)
  768.             UsingWeapon[7][id] = str_to_num(Data[2]);
  769.         else if(str_to_num(Data[3]) == 26)
  770.             UsingWeapon[8][id] = str_to_num(Data[2]);
  771.         else if(str_to_num(Data[3]) == 03)
  772.             UsingWeapon[9][id] = str_to_num(Data[2]);
  773.         else if(str_to_num(Data[3]) == 05)
  774.             UsingWeapon[10][id] = str_to_num(Data[2]);
  775.         else if(str_to_num(Data[3]) == 14)
  776.             UsingWeapon[11][id] = str_to_num(Data[2]);
  777.         else if(str_to_num(Data[3]) == 30)
  778.             UsingWeapon[12][id] = str_to_num(Data[2]);
  779.         return PLUGIN_CONTINUE;
  780.     }
  781.     else if(MenuMod[id] == 2)
  782.     {
  783.         if(Key == 1)
  784.         {
  785.             if(Chest[id] > 0 && pKey[id] > 0)
  786.             {
  787.                 Chest[id]--;
  788.                 Chest2[id]--;
  789.                 pKey[id]--;
  790.                 ChestOpen(id);
  791.                 Menu(id);
  792.                 return PLUGIN_CONTINUE;
  793.             }
  794.         }
  795.         return PLUGIN_CONTINUE;
  796.     }
  797.     else if(MenuMod[id] == 3)
  798.     {
  799.         if(Key == -1)
  800.         {
  801.             MenuMod[id] = -1;
  802.             Menu(id);
  803.             return PLUGIN_CONTINUE;
  804.         }
  805.         else if(Key == 0)
  806.         {
  807.             if(inMarket[id])
  808.                 inMarket[id] = false;
  809.             else if(MarketPoints[id] > 0)
  810.             {
  811.                 get_user_name(id, Name, 31);
  812.                 if(WeaponinMarket[id] > 200)
  813.                     print_color(0, "!g%s!t %s!y kirakott egy !t%s!g %d!y kreditért!",Prefix, Name, (WeaponinMarket[id] == 201) ? "Ládát" : "Kulcsot", MarketPoints[id]);
  814.                 else
  815.                     print_color(0, "!g%s!t %s!y kirakott egy !t%s!y-t!g %d!y kreditért!",Prefix, Name, WeaponNames[WeaponinMarket[id]], MarketPoints[id]);
  816.                 inMarket[id] = true;
  817.             }
  818.             Menu(id);
  819.             return PLUGIN_CONTINUE;
  820.         }
  821.         else if(inMarket[Key] && Points[id] >= MarketPoints[Key])
  822.         {
  823.             get_user_name(Key, Name, 31);
  824.             get_user_name(id, mName, 31);
  825.             if(WeaponinMarket[Key] < 201)
  826.             {
  827.                 print_color(0, "!g%s!t %s!y vásárolt egy!t %s!y-t!g %d!y kreditért !t%s!y-tól!", Prefix, mName, WeaponNames[WeaponinMarket[Key]], MarketPoints[Key], Name);
  828.                 uWeapon[WeaponinMarket[Key]][id]++;
  829.                 uWeapon[WeaponinMarket[Key]][Key]--;
  830.             }
  831.             else if(WeaponinMarket[Key] == 201)
  832.             {
  833.                 print_color(0, "!g%s!t %s!y vásárolt egy!t ládát!g %d!y kreditért !t%s!y-tól!", Prefix, mName, MarketPoints[Key], Name);
  834.                 Chest[id]++;
  835.                 Chest[Key]--;
  836.             }
  837.             else if(WeaponinMarket[Key] == 202)
  838.             {
  839.                 print_color(0, "!g%s!t %s!y vásárolt egy!t kulcsot!g %d!y kreditért !t%s!y-tól!", Prefix, mName, MarketPoints[Key], Name);
  840.                 pKey[id]++;
  841.                 pKey[Key]--;
  842.             }
  843.             else if(WeaponinMarket[Key] == 203)
  844.             {
  845.                 print_color(0, "!g%s!t %s!y vásárolt egy!g legendary !t ládát!g %d!y kreditért !t%s!y-tól!", Prefix, mName, MarketPoints[Key], Name);
  846.                 Chest2[id]++;
  847.                 Chest2[Key]--;
  848.             }
  849.             Points[Key] += MarketPoints[Key];
  850.             Points[id] -= MarketPoints[Key];
  851.             Save(Key);
  852.             Save(id);
  853.             inMarket[Key] = false;
  854.             MarketPoints[Key] = 0;
  855.             WeaponinMarket[Key] = 0;
  856.             MenuMod[id] = 0;
  857.         }
  858.         return PLUGIN_CONTINUE;
  859.     }
  860.     else if(MenuMod[id] == 4)
  861.     {
  862.         uWeapon[Key][id]--;
  863.         Menu(id);
  864.         Save(id);
  865.         return PLUGIN_CONTINUE;
  866.     }
  867.     else if(MenuMod[id] == 5)
  868.     {
  869.         if(Key == -1)
  870.         {
  871.             aTarget[id] = 0;
  872.         }
  873.         if(Key == -2)
  874.         {
  875.             MenuMod[id] = -2;
  876.         }
  877.         if(Key == -3)
  878.         {
  879.             if(aThing[id] < 200)
  880.             {
  881.                 if(uWeapon[aThing[id]][id] > 0)
  882.                 {
  883.                     if(uWeapon[aThing[id]][id]<aPoints[id])
  884.                     {
  885.                         client_cmd(id, "messagemode Gift");
  886.                         print_color(id, "!g%s !yNincs !g%d !t%s!y fegyvered.", Prefix, aPoints[id], WeaponNames[aThing[id]]);
  887.                         return PLUGIN_CONTINUE;
  888.                     }
  889.                     uWeapon[aThing[id]][aTarget[id]]+=aPoints[id];
  890.                     uWeapon[aThing[id]][id]-=aPoints[id];
  891.                     new Name[32], Name2[32];
  892.                     get_user_name(id, Name, 31);
  893.                     get_user_name(aTarget[id], Name2, 31);
  894.                     print_color(id, "!g%s !yKüldtél !t%s!y-nak !g%d !t%s!y-t", Prefix, Name2, aPoints[id], WeaponNames[aThing[id]]);
  895.                     print_color(aTarget[id], "!g%s !t%s !yküldött !g%d !t%s!y-t.", Prefix, Name, aPoints[id], WeaponNames[aThing[id]]);
  896.                     Save(aTarget[id]);
  897.                     Save(id);
  898.                     MenuMod[id] = 0;
  899.                     aThing[id] = 0;
  900.                     aTarget[id] = 0;
  901.                     aPoints[id] = 0;
  902.                    
  903.                 }
  904.             }
  905.             else
  906.             {
  907.                 new Name[32], Name2[32];
  908.                 get_user_name(id, Name, 31);
  909.                 get_user_name(aTarget[id], Name2, 31);
  910.                 if(201 == aThing[id])
  911.                 {
  912.                     if(Chest[id]<aPoints[id])
  913.                     {
  914.                         client_cmd(id, "messagemode Gift");
  915.                         print_color(id, "!g%s !yNincs !g%d !tládád!y.", Prefix, aPoints[id]);
  916.                         return PLUGIN_CONTINUE;
  917.                     }
  918.                     Chest[aTarget[id]]+=aPoints[id];
  919.                     Chest[id]-=aPoints[id];
  920.                     print_color(id, "!g%s !yKüldtél !t%s!y-nak!g %d!t ládát!y.", Prefix, Name2, aPoints[id]);
  921.                     print_color(aTarget[id], "!g%s !t%s !yküldött!g %d!t ládát!y.", Prefix, Name, aPoints[id]);
  922.                 }
  923.                 else if(202 == aThing[id])
  924.                 {
  925.                     if(pKey[id]<aPoints[id])
  926.                     {
  927.                         client_cmd(id, "messagemode Gift");
  928.                         print_color(id, "!g%s !yNincs !g%d!t kulcsod!y.", Prefix, aPoints[id]);
  929.                         return PLUGIN_CONTINUE;
  930.                     }
  931.                     pKey[aTarget[id]]+=aPoints[id];
  932.                     pKey[id]-=aPoints[id];
  933.                     print_color(id, "!g%s !yKüldtél !t%s!y-nak!g %d!t kulcsot!y.", Prefix, Name2, aPoints[id]);
  934.                     print_color(aTarget[id], "!g%s !t%s !yküldött!g %d!t kulcsot!y.", Prefix, Name, aPoints[id]);
  935.                 }
  936.                 else if(203 == aThing[id])
  937.                 {
  938.                     if(Points[id]<aPoints[id])
  939.                     {
  940.                         client_cmd(id, "messagemode Gift");
  941.                         print_color(id, "!g%s !yNincs !g%d kredited.", Prefix, aPoints[id]);
  942.                         return PLUGIN_CONTINUE;
  943.                     }
  944.                     Points[aTarget[id]] += aPoints[id];
  945.                     Points[id] -= aPoints[id];
  946.                     print_color(id, "!g%s !yKüldtél !t%s!y-nak !g%d!t kreditet!y.", Prefix, Name2, aPoints[id]);
  947.                     print_color(aTarget[id], "!g%s !t%s !yküldött !g%d!t kreditet!y.", Prefix, Name, aPoints[id]);
  948.                 }
  949.                 else if(204 == aThing[id])
  950.                 {
  951.                     if(Chest2[id]<aPoints[id])
  952.                     {
  953.                         client_cmd(id, "messagemode Gift");
  954.                         print_color(id, "!g%s !yNincs !g%d!g legendary !tládád!y.", Prefix, aPoints[id]);
  955.                         return PLUGIN_CONTINUE;
  956.                     }
  957.                     Chest2[aTarget[id]]+=aPoints[id];
  958.                     Chest2[id]-=aPoints[id];
  959.                     print_color(id, "!g%s !yKüldtél !t%s!y-nak!g %d!g legendary !t ládát!y.", Prefix, Name2, aPoints[id]);
  960.                     print_color(aTarget[id], "!g%s !t%s !yküldött!g %d!g legendary !t ládát!y.", Prefix, Name, aPoints[id]);
  961.                 }
  962.                 Save(aTarget[id]);
  963.                 Save(id);
  964.                 MenuMod[id] = 0;
  965.                 aThing[id] = 0;
  966.                 aTarget[id] = 0;
  967.                 aPoints[id] = 0;
  968.             }
  969.         }
  970.         if(Key == -4)
  971.         {
  972.             client_cmd(id, "messagemode Gift");
  973.             return PLUGIN_CONTINUE;
  974.         }
  975.         if(Key > 0)
  976.             aTarget[id] = Key;
  977.         Menu(id);
  978.         return PLUGIN_CONTINUE;
  979.     }
  980.     MenuMod[id] = 0;
  981.     return PLUGIN_CONTINUE;
  982. }
  983. stock print_color(const id, const input[], any:...)
  984. {
  985.     new Count = 1, Players[32];
  986.     static Msg[191];
  987.     vformat(Msg, 190, input, 3);
  988.    
  989.     replace_all(Msg, 190, "!g", "^4");
  990.     replace_all(Msg, 190, "!y", "^1");
  991.     replace_all(Msg, 190, "!t", "^3");
  992.    
  993.     if(id) Players[0] = id; else get_players(Players, Count, "ch");
  994. {
  995.     for (new i = 0; i < Count; i++)
  996.     {
  997.         if (is_user_connected(Players[i]))
  998.         {
  999.             message_begin(MSG_ONE_UNRELIABLE, SayText, _, Players[i]);
  1000.             write_byte(Players[i]);
  1001.             write_string(Msg);
  1002.             message_end();
  1003.         }
  1004.     }
  1005. }
  1006. return PLUGIN_HANDLED;
  1007. }
  1008. public client_putinserver(id)
  1009. {
  1010. Kills[id] = 0, Rang[id] = 0, Points[id] = 0, Choosen[id] = 0, pKey[id] = 0, Chest[id] = 0, Chest2[id] = 0;
  1011. for(new i; i < AllWeapon; i++)
  1012.     uWeapon[i][id] = 0;
  1013.     Load(id);
  1014.     Password[id] = "";
  1015.     SavedPassword[id] = "";
  1016.     Loged[id] = false;
  1017. }
  1018. public Load(id)
  1019. {
  1020.     if(!is_user_connected(id))
  1021.         return PLUGIN_HANDLED;
  1022.    
  1023.     new pFile, Name[32];
  1024.     pFile = fopen(SaveFile, "rt");
  1025.     get_user_name(id, Name, 31);
  1026.    
  1027.     if(pFile)
  1028.     {
  1029.         new Line[1024];
  1030.         new LineName[32];
  1031.         new data[16];
  1032.        
  1033.         while(!feof(pFile))
  1034.         {
  1035.             fgets(pFile, Line, 1023);
  1036.            
  1037.             if(Line[0] == ';' || !strlen(Line))
  1038.                 continue;
  1039.            
  1040.             strbreak(Line, LineName, 31, Line, 1023);
  1041.            
  1042.             if(equal(LineName, Name))
  1043.             {
  1044.                 strbreak(Line, data, 15, Line, 1023); Kills[id] = str_to_num(data);
  1045.                 strbreak(Line, data, 15, Line, 1023); Points[id] = str_to_num(data);
  1046.                 strbreak(Line, data, 15, Line, 1023); pKey[id] = str_to_num(data);
  1047.                 strbreak(Line, data, 15, Line, 1023); Chest[id] = str_to_num(data);
  1048.                 strbreak(Line, data, 15, Line, 1023); Chest2[id] = str_to_num(data);
  1049.                 strbreak(Line, data, 15, Line, 1023); Rang[id] = str_to_num(data);
  1050.                 for(new i; i < MAX; i++)
  1051.                 {
  1052.                     strbreak(Line, data, 15, Line, 1023);
  1053.                     uWeapon[i][id] = str_to_num(data);
  1054.                 }
  1055.                 fclose(pFile);
  1056.                 return PLUGIN_HANDLED;
  1057.             }
  1058.         }
  1059.         fclose(pFile);
  1060.     }
  1061.     return PLUGIN_CONTINUE;
  1062. }
  1063. public Save(id)
  1064. {
  1065.     if(!is_user_connected(id))
  1066.         return PLUGIN_HANDLED;
  1067.    
  1068.     new pFile, Name[32];
  1069.     pFile = fopen(SaveFile, "rt");
  1070.     get_user_name(id, Name, 31);
  1071.    
  1072.     if(pFile)
  1073.     {
  1074.         new Line[192], Lines;
  1075.         new LineName[32], bool:Found;
  1076.         new mLine[1024], LoadWeapon[1024], String[16];
  1077.        
  1078.         format(String, 15, "^"%i^" ", Kills[id]);
  1079.         add(LoadWeapon, 1023, String);
  1080.        
  1081.         format(String, 15, "^"%i^" ", Points[id]);
  1082.         add(LoadWeapon, 1023, String);
  1083.        
  1084.         format(String, 15, "^"%i^" ", pKey[id]);
  1085.         add(LoadWeapon, 1023, String);
  1086.        
  1087.         format(String, 15, "^"%i^" ", Chest[id]);
  1088.         add(LoadWeapon, 1023, String);
  1089.        
  1090.         format(String, 15, "^"%i^" ", Rang[id]);
  1091.         add(LoadWeapon, 1023, String);
  1092.        
  1093.         format(String, 15, "^"%i^" ", Chest2[id]);
  1094.         add(LoadWeapon, 1023, String);
  1095.        
  1096.         for(new i; i < MAX; i++)
  1097.         {
  1098.             format(String, 15, "^"%i^" ", uWeapon[i][id]);
  1099.             add(LoadWeapon, 1023, String);
  1100.         }
  1101.        
  1102.         formatex(mLine, 1023, "^"%s^" %s", Name, LoadWeapon);
  1103.         while(!feof(pFile))
  1104.         {
  1105.             fgets(pFile, Line, 191);
  1106.            
  1107.             if(Line[0] == ';' || strlen(Line) < 2)
  1108.                 continue;
  1109.            
  1110.             parse(Line, LineName, 31);
  1111.            
  1112.             if(equal(LineName, Name) && !Found)
  1113.             {
  1114.                 write_file(SaveFile, mLine, Lines);
  1115.                 fclose(pFile);
  1116.                 Found = true;
  1117.                 return PLUGIN_HANDLED;
  1118.             }
  1119.            
  1120.             Lines++;
  1121.         }
  1122.        
  1123.         if(!Found)
  1124.         {
  1125.             write_file(SaveFile, mLine);
  1126.             fclose(pFile);
  1127.             return PLUGIN_HANDLED;
  1128.         }
  1129.         fclose(pFile);
  1130.     }
  1131.     return PLUGIN_CONTINUE;
  1132. }
  1133. public WeaponMenu(id)
  1134. {
  1135.     if(Choosen[id] >= 2)
  1136.         return PLUGIN_HANDLED;
  1137.     new String[128];
  1138.     format(String, 127, "\rMasked Squad  \d|  \wFegyvermenü");
  1139.     new wMenu = menu_create(String, "wMenuHandler");
  1140.     new szid[10];
  1141.     if(Choosen[id] == 0)
  1142.     {
  1143.         for(new i=0; i < 6; i++)
  1144.         {
  1145.             num_to_str(i, szid, charsmax(szid));
  1146.             format(String, 127, "%s", fegyverek[i][uzi]);
  1147.             menu_additem(wMenu, String, szid);
  1148.         }
  1149.     }
  1150.     if(Choosen[id] == 1)
  1151.     {
  1152.         for(new i=6; i < 8; i++)
  1153.         {
  1154.             num_to_str(i, szid, charsmax(szid));
  1155.             format(String, 127, "%s", fegyverek[i][uzi]);
  1156.             menu_additem(wMenu, String, szid);
  1157.         }
  1158.     }
  1159.    
  1160.     menu_display(id, wMenu);
  1161.     return PLUGIN_CONTINUE;
  1162. }
  1163. public wMenuHandler(id, gMenu, item)
  1164. {  
  1165.     if(item == MENU_EXIT)
  1166.     {
  1167.         menu_destroy(gMenu);
  1168.         return;
  1169.     }
  1170.     new data[32], name[64];
  1171.     new access, callback;
  1172.     menu_item_getinfo(gMenu, item, access, data, charsmax(data), name, charsmax(name), callback);
  1173.    
  1174.     new szam = str_to_num(data);
  1175.     give_item(id, fegyverek[szam][nev]);
  1176.     cs_set_user_bpammo(id, fegyverek[szam][csw], fegyverek[szam][golyo]);
  1177.     Choosen[id]++;
  1178.    
  1179.     if(Choosen[id] >= 2)
  1180.         Grenades(id);
  1181.    
  1182.     WeaponMenu(id);
  1183. }
  1184. public RegMenu(id)
  1185. {
  1186.     new String[128], Name[32];
  1187.     if(Registered(id))
  1188.         format(String, 127, "\r%s  \d|  \yRegisztráció^n\rStátusz: \dRegisztrálva^n\rPróbálkozások:\d %d/3", Prefix, probalkozasok[id]);
  1189.     else
  1190.         format(String, 127, "\r%s  \d|  \yRegisztráció^n\rStátusz: \dNincs regisztrálva", Prefix);
  1191.     new rMenu = menu_create(String, "rMenuHandler");
  1192.     get_user_name(id, Name, 31);
  1193.    
  1194.     format(String, 127, "\wFelhasználó:\d %s", Name);
  1195.     menu_additem(rMenu, String, "0");
  1196.    
  1197.     if(!Registered(id))
  1198.     {
  1199.         format(String, 127, "\wJelszó:\d %s^n", Password[id]);
  1200.         menu_additem(rMenu, String, "1");
  1201.        
  1202.         if(strlen(Password[id]) > 4)
  1203.         {
  1204.             format(String, 127, "Regisztráció");
  1205.             menu_additem(rMenu, String, "2");
  1206.         }
  1207.         else
  1208.         {
  1209.             format(String, 127, "\dRegisztráció");
  1210.             menu_additem(rMenu, String, "0");
  1211.         }
  1212.     }
  1213.     else
  1214.     {
  1215.         if(!Loged[id])
  1216.         {
  1217.             format(String, 127, "\wJelszó:\d %s^n", Password[id]);
  1218.             menu_additem(rMenu, String, "1");
  1219.            
  1220.             format(String, 127, "Bejelentkezés!");
  1221.             menu_additem(rMenu, String, "3");
  1222.         }
  1223.         else
  1224.         {
  1225.             format(String, 127, "Kijelentkezés!");
  1226.             menu_additem(rMenu, String, "-1");
  1227.         }
  1228.     }
  1229.    
  1230.     menu_display(id, rMenu);
  1231. }
  1232. public rMenuHandler(id, gMenu, item)
  1233. {  
  1234.     if(item == MENU_EXIT)
  1235.     {
  1236.         menu_destroy(gMenu);
  1237.         return;
  1238.     }
  1239.     new data[9], name[64], Key;
  1240.     new access, callback;
  1241.     menu_item_getinfo(gMenu, item, access, data, charsmax(data), name, charsmax(name), callback);
  1242.    
  1243.     Key = str_to_num(data);
  1244.    
  1245.     if(Key == -1)
  1246.         ToLogout(id);
  1247.     if(Key == 0)
  1248.         RegMenu(id);
  1249.     if(Key == 1)
  1250.     {
  1251.         client_cmd(id, "messagemode UserPassword");
  1252.         RegMenu(id);
  1253.     }
  1254.     if(Key == 2)
  1255.     {
  1256.         print_color(id, "!g%s!y Sikeres regisztráció! [Jelszavad: !t%s!y]", Prefix, Password[id]);
  1257.         Register(id, Password[id]);
  1258.         copy(SavedPassword[id], 31, Password[id]);
  1259.         Loged[id] = true;
  1260.         Menu(id);
  1261.     }
  1262.     if(Key == 3)
  1263.     {
  1264.         if(equal(SavedPassword[id], Password[id])) {
  1265.             Loged[id] = true;
  1266.             print_color(id, "!g%s!y Sikeresen bejelentkeztél!", Prefix);
  1267.             Menu(id);
  1268.         }
  1269.         else
  1270.         {
  1271.             probalkozasok[id]++;
  1272.             if(probalkozasok[id] >= 3)
  1273.             {
  1274.                 server_cmd("kick #%i ^"3x elrontottad a jelszavad, ezért kickelve lettel.^"", get_user_userid(id));
  1275.                 probalkozasok[id]=0;
  1276.                 return;
  1277.             }
  1278.             client_cmd(id, "messagemode UserPassword");
  1279.             print_color(id, "!g%s !yRossz jelszó. A 3. sikertelen próbálkozás után !tKICK!y-elve leszel. Próbálkozások: %d/3", Prefix, probalkozasok[id]);
  1280.             RegMenu(id);
  1281.         }
  1282.     }
  1283. }
  1284. public ToLogout(id)
  1285. {
  1286.     if(Loged[id])
  1287.     {
  1288.         Loged[id] = false;
  1289.         Password[id] = "";
  1290.         print_color(id, "!g%s!y Sikeresen kijelentkeztél!", Prefix);
  1291.     }
  1292. }
  1293. public PlayerPassword(id)
  1294. {
  1295.     new Data[32];
  1296.     read_args(Data, 31);
  1297.     remove_quotes(Data);
  1298.    
  1299.     if(strlen(Data) < 5)
  1300.     {
  1301.         print_color(id, "!g%s!y A jelszó túl rövid!", Prefix);
  1302.         client_cmd(id, "messagemode UserPassword");
  1303.         return PLUGIN_HANDLED;
  1304.     }
  1305.    
  1306.     if(Loged[id])
  1307.         return PLUGIN_HANDLED;
  1308.    
  1309.     copy(Password[id], 31, Data);
  1310.     RegMenu(id);
  1311.     return PLUGIN_CONTINUE;
  1312. }
  1313.  
  1314. public ClientInfoChanged(id)
  1315.     set_task(1.0, "NameConrol",id);
  1316. public NameConrol(id){
  1317.     if(!is_user_connected(id))
  1318.         return PLUGIN_CONTINUE;
  1319.     new name[31];
  1320.     get_user_name(id, name, 30);
  1321.     new userid = get_user_userid(id);
  1322.     if (contain(name, "#Spec_Help_Text") != -1 || contain(name, "#Cstrike_Spetsnaz_Label") != -1 || contain(name, "#Buy") != -1 || contain(name, "#Cstrike_GIGN_Label") != -1 || contain(name, "#Spec_Duck") != -1)
  1323.     {
  1324.         server_cmd("kick #%d Ilyent nem szabad!",userid);
  1325.         return PLUGIN_HANDLED;
  1326.     }
  1327.     new Bnum = strlen(name);
  1328.     new i=0;
  1329.     new Nnum=0;
  1330.     while(i < Bnum)
  1331.     {
  1332.         if(name[i] == '1' || name[i] == '2' || name[i] == '3' || name[i] == '4' || name[i] == '5' || name[i] == '6' || name[i] == '7' || name[i] == '8' || name[i] == '9' || name[i] == '0')
  1333.             Nnum++;
  1334.         ++i;
  1335.     }
  1336.     if( Nnum >= 7)
  1337.     {
  1338.         client_cmd(id, "name ^"Hirdetés tiltott!^"");
  1339.         client_cmd(id, "retry");
  1340.         return PLUGIN_CONTINUE;
  1341.     }
  1342.     return PLUGIN_CONTINUE;
  1343. }
  1344.  
  1345. public avoid_duplicated (msgId, msgDest, receiver)
  1346. {
  1347.     return PLUGIN_HANDLED;
  1348. }
  1349.  
  1350. public hook_say(id)
  1351. {
  1352.     read_args (message, 191);
  1353.     remove_quotes (message);
  1354.    
  1355.     new Bnum = strlen(message);
  1356.     new Nnum = 0;
  1357.     new i = 0;
  1358.     while(i < Bnum)
  1359.     {
  1360.         if(message[i] == '1' || message[i] == '2' || message[i] == '3' || message[i] == '4' || message[i] == '5' || message[i] == '6' || message[i] == '7' || message[i] == '8' || message[i] == '9' || message[i] == '0')
  1361.             Nnum++;
  1362.         ++i;
  1363.     }
  1364.     if( Nnum >= 7)
  1365.     {
  1366.         ColorChat(id, BLUE,"^1A szerveren ^3tilos ^1a hírdetés!");
  1367.         return PLUGIN_HANDLED;
  1368.     }
  1369.    
  1370.     if (message[0] == '@' || message[0] == '/' || message[0] == '!' || equal (message, ""))
  1371.         return PLUGIN_CONTINUE;
  1372.    
  1373.    
  1374.     new name[192];
  1375.     name = message;
  1376.     if (contain(name, "#Spec_Help_Text") != -1 || contain(name, "#Cstrike_Spetsnaz_Label") != -1 || contain(name, "#Buy") != -1 || contain(name, "#Cstrike_GIGN_Label") != -1 || contain(name, "#Spec_Duck") != -1)
  1377.     {
  1378.         ColorChat(id, BLUE,"^3HAHAHA:)");
  1379.         return PLUGIN_HANDLED;
  1380.     }
  1381.     get_user_name (id, name, 31);
  1382.    
  1383.     /*new bool:tulaj = false;
  1384.    
  1385.     if (get_user_flags(id) & TULAJRANG)
  1386.         tulaj = true;
  1387.        
  1388.     new bool:admin = false;
  1389.    
  1390.     if (get_user_flags(id) & FOADMINRANG)
  1391.         foadmin = true;
  1392.    
  1393.     new bool:admin = false;
  1394.    
  1395.     if (get_user_flags(id) & ADMINRANG)
  1396.         admin = true;
  1397.    
  1398.     new bool:vip = false;
  1399.    
  1400.     else if (get_user_flags(id) & VIPRANG)
  1401.         vip = true;*/
  1402.    
  1403.     new isAlive;
  1404.    
  1405.     if (is_user_alive (id))
  1406.     {
  1407.         isAlive = 1;
  1408.         alive = "^x01";
  1409.     }
  1410.     else
  1411.     {
  1412.         isAlive = 0;
  1413.         alive = "^x01*Halott*";
  1414.     }
  1415.    
  1416.     static color[10];
  1417.    
  1418.     if (get_user_flags(id) & TULAJRANG)
  1419.     {
  1420.         get_user_team (id, color, 9);
  1421.         format (strName, 191, "%s^x04[Admin][%s]^x03%s", alive, Rangs[Rang[id]], name);
  1422.         format (strText, 191, "^x04%s", message);
  1423.     }
  1424.     else if (get_user_flags(id) & FOADMINRANG)
  1425.     {
  1426.         get_user_team (id, color, 9);
  1427.         format (strName, 191, "%s^x04[Admin][%s]^x03%s", alive, Rangs[Rang[id]], name);
  1428.         format (strText, 191, "^x04%s", message);
  1429.     }
  1430.     else if (get_user_flags(id) & ADMINRANG)
  1431.     {
  1432.         get_user_team (id, color, 9);
  1433.         format (strName, 191, "%s^x04[Admin][%s]^x03%s", alive, Rangs[Rang[id]], name);
  1434.         format (strText, 191, "^x04%s", message);
  1435.     }
  1436.     else if (get_user_flags(id) & VIPRANG)
  1437.     {
  1438.         get_user_team (id, color, 9);
  1439.         format (strName, 191, "%s^x04[VIP][%s]^x03%s", alive, Rangs[Rang[id]], name);
  1440.         format (strText, 191, "^x04%s", message);
  1441.     }
  1442.     else
  1443.     {
  1444.         get_user_team (id, color, 9);
  1445.         format (strName, 191, "%s^x04[%s]^x03%s", alive, Rangs[Rang[id]], name);
  1446.         format (strText, 191, "%s", message);
  1447.     }
  1448.    
  1449.     format (message, 191, "%s^x01 : %s", strName, strText);
  1450.    
  1451.     sendMessage (color, isAlive);
  1452.    
  1453.     return PLUGIN_CONTINUE;
  1454. }
  1455.  
  1456.  
  1457. public hook_teamsay(id)
  1458. {
  1459.     new playerTeam = get_user_team(id);
  1460.     new playerTeamName[19];
  1461.    
  1462.     switch (playerTeam)
  1463.     {
  1464.         case 1:
  1465.             copy (playerTeamName, 11, "*Terrorista*");
  1466.         case 2:
  1467.             copy (playerTeamName, 18, "*Anti-Terrorista*");
  1468.         default:
  1469.         copy (playerTeamName, 9, "*Néző*");
  1470.     }
  1471.    
  1472.     read_args (message, 191);
  1473.     remove_quotes (message);
  1474.    
  1475.     new Bnum = strlen(message);
  1476.     new Nnum = 0;
  1477.     new i = 0;
  1478.     while(i < Bnum)
  1479.     {
  1480.         if(message[i] == '1' || message[i] == '2' || message[i] == '3' || message[i] == '4' || message[i] == '5' || message[i] == '6' || message[i] == '7' || message[i] == '8' || message[i] == '9' || message[i] == '0')
  1481.             Nnum++;
  1482.         ++i;
  1483.     }
  1484.     if( Nnum >= 7)
  1485.     {
  1486.         ColorChat(id, BLUE,"^1A szerveren ^3tilos ^1a hírdetés!");
  1487.         return PLUGIN_HANDLED;
  1488.     }
  1489.    
  1490.     if (message[0] == '@' || message[0] == '/' || message[0] == '!' || equal (message, ""))
  1491.         return PLUGIN_CONTINUE;
  1492.    
  1493.    
  1494.     new name[192];
  1495.     name = message;
  1496.     if (contain(name, "#Spec_Help_Text") != -1 || contain(name, "#Cstrike_Spetsnaz_Label") != -1 || contain(name, "#Buy") != -1 || contain(name, "#Cstrike_GIGN_Label") != -1 || contain(name, "#Spec_Duck") != -1)
  1497.     {
  1498.         ColorChat(id, BLUE,"^3HAHAHA:)");
  1499.         return PLUGIN_HANDLED;
  1500.     }
  1501.     get_user_name (id, name, 31);
  1502.    
  1503.     /*new bool:tulaj = false;
  1504.    
  1505.     if (get_user_flags(id) & TULAJRANG)
  1506.         tulaj = true;
  1507.        
  1508.     new bool:foadmin = false;
  1509.    
  1510.     else if (get_user_flags(id) & FOADMINRANG)
  1511.         foadmin = true;
  1512.    
  1513.     new bool:admin = false;
  1514.    
  1515.     else if (get_user_flags(id) & ADMINRANG)
  1516.         admin = true;
  1517.    
  1518.     new bool:vip = false;
  1519.    
  1520.     else if (get_user_flags(id) & VIPRANG)
  1521.         vip = true; */
  1522.    
  1523.     new isAlive;
  1524.    
  1525.     if (is_user_alive (id))
  1526.     {
  1527.         isAlive = 1;
  1528.         alive = "^x01";
  1529.     }
  1530.     else
  1531.     {
  1532.         isAlive = 0;
  1533.         alive = "^x01*Halott*";
  1534.     }
  1535.    
  1536.     static color[10];
  1537.    
  1538.     if (get_user_flags(id) & TULAJRANG)
  1539.     {
  1540.         get_user_team (id, color, 9)    ;
  1541.         format (strName, 191, "%s(%s)^x04[Admin][%s]^x03%s", alive, playerTeamName, Rangs[Rang[id]], name);
  1542.         format (strText, 191, "^x04%s", message);
  1543.     }
  1544.     else if (get_user_flags(id) & FOADMINRANG)
  1545.     {
  1546.         get_user_team (id, color, 9)    ;
  1547.         format (strName, 191, "%s(%s)^x04[Admin][%s]^x03%s", alive, playerTeamName, Rangs[Rang[id]], name);
  1548.         format (strText, 191, "^x04%s", message);
  1549.     }
  1550.     else if (get_user_flags(id) & ADMINRANG)
  1551.     {
  1552.         get_user_team (id, color, 9)    ;
  1553.         format (strName, 191, "%s(%s)^x04[Admin][%s]^x03%s", alive, playerTeamName, Rangs[Rang[id]], name);
  1554.         format (strText, 191, "^x04%s", message);
  1555.     }
  1556.     else if (get_user_flags(id) & VIPRANG)
  1557.     {
  1558.         get_user_team (id, color, 9)    ;
  1559.         format (strName, 191, "%s(%s)^x04[VIP][%s]^x03%s", alive, playerTeamName, Rangs[Rang[id]], name);
  1560.         format (strText, 191, "^x04%s", message);
  1561.     }
  1562.     else
  1563.     {
  1564.         get_user_team (id, color, 9);
  1565.         format (strName, 191, "%s(%s)^x04[%s]^x03%s", alive, playerTeamName, Rangs[Rang[id]], name);
  1566.         format (strText, 191, "%s", message);
  1567.     }
  1568.    
  1569.     format (message, 191, "%s^x01 : %s", strName, strText);
  1570.    
  1571.     sendTeamMessage (color, isAlive, playerTeam);
  1572.    
  1573.     return PLUGIN_CONTINUE;
  1574. }
  1575.  
  1576. public sendMessage (color[], alive)
  1577. {
  1578.     new teamName[10];
  1579.    
  1580.     for (new player = 1; player < maxPlayers; player++)
  1581.     {
  1582.         if (!is_user_connected(player))
  1583.             continue;
  1584.         get_user_team (player, teamName, 9);
  1585.         changeTeamInfo (player, color);
  1586.         writeMessage (player, message);
  1587.         changeTeamInfo (player, teamName);
  1588.     }
  1589. }
  1590.  
  1591.  
  1592. public sendTeamMessage (color[], alive, playerTeam)
  1593. {
  1594.     new teamName[10];
  1595.    
  1596.     for (new player = 1; player < maxPlayers; player++)
  1597.     {
  1598.         if (!is_user_connected(player))
  1599.             continue;
  1600.        
  1601.         if (get_user_team(player) == playerTeam || get_user_flags(player) & ADMIN_BAN)
  1602.         {
  1603.             get_user_team (player, teamName, 9);
  1604.             changeTeamInfo (player, color);
  1605.             writeMessage (player, message);
  1606.             changeTeamInfo (player, teamName);
  1607.         }
  1608.     }
  1609. }
  1610.  
  1611.  
  1612. public changeTeamInfo (player, team[])
  1613. {
  1614.     message_begin (MSG_ONE, teamInfo, _, player);
  1615.     write_byte (player);
  1616.     write_string (team);
  1617.     message_end();
  1618. }
  1619.  
  1620.  
  1621. public writeMessage (player, message[])
  1622. {
  1623.     message_begin (MSG_ONE, SayText, {0, 0, 0}, player);
  1624.     write_byte (player);
  1625.     write_string (message);
  1626.     message_end ();
  1627. }
  1628.  
  1629. stock bool:ValidMdl(Mdl[])
  1630. {
  1631.     if(containi(Mdl, ".mdl") != -1)
  1632.     {
  1633.         return true;
  1634.     }
  1635.     return false;
  1636. }
  1637. stock bool:Registered(id)
  1638. {
  1639.     new pFile, Data[2][32], Line[64], Name[32];
  1640.     get_user_name(id, Name, 31);
  1641.     pFile = fopen(RegisterFile, "rt");
  1642.    
  1643.     while(!feof(pFile))
  1644.     {
  1645.         fgets(pFile, Line, 63);
  1646.        
  1647.         parse(Line, Data[0], 31, Data[1], 31);
  1648.        
  1649.         if(equal(Data[0], Name))
  1650.         {
  1651.             copy(SavedPassword[id], 31, Data[1]);
  1652.             return true;
  1653.         }
  1654.     }
  1655.    
  1656.     fclose(pFile);
  1657.    
  1658.     return false;
  1659. }
  1660. stock Register(id, const rSavedPassword[])
  1661. {
  1662.     new pFile, Line[64], Name[32];
  1663.     get_user_name(id, Name, 31);
  1664.     pFile = fopen(RegisterFile, "at+");
  1665.     format(Line, 63, "^"%s^" ^"%s^"", Name, rSavedPassword);
  1666.     write_file(RegisterFile, Line);
  1667.     fclose(pFile);
  1668. }
  1669. stock Grenades(id)
  1670. {
  1671.     give_item(id, "item_assaultsuit");
  1672. }

Ők köszönték meg Dooz nek ezt a hozzászólást: AlphaHun (2018.03.28. 08:34)
  Népszerűség: 2.27%


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Plugin Hiba
HozzászólásElküldve: 2018.03.28. 08:34 
Offline
Senior Tag
Avatar

Csatlakozott: 2015.06.11. 01:54
Hozzászólások: 220
Megköszönt másnak: 46 alkalommal
Megköszönték neki: 13 alkalommal
Dooz írta:
Szia. Tessék.

//// Teszt.sma
// Header size: 2588 bytes
// Code size: 64780 bytes
// Data size: 154188 bytes
// Stack/heap size: 16384 bytes; max. usage is unknown, due to recursion
// Total requirements: 237940 bytes
// Done.
//
// Compilation Time: 1,17 sec
// ----------------------------------------


  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <engine>
  4. #include <fakemeta>
  5. #include <hamsandwich>
  6. #include <cstrike>
  7. #include <colorchat>
  8. #include <fun>
  9.  
  10. new const PLUGIN[] = "Global Offensive";
  11. new const VERSION[] = "1.1p";
  12. new const AUTHOR[] = "DeRoiD";
  13.  
  14. #define MAX 200
  15. #define LADAESELY 100
  16.  
  17. #define PointsMin 1
  18. #define PointsMax 50
  19. #define Drop 65
  20. #define MarkMin 1
  21.  
  22. #pragma tabsize 0
  23.  
  24. #define TULAJRANG ADMIN_IMMUNITY
  25. #define FOADMINRANG ADMIN_LEVEL_H
  26. #define ADMINRANG ADMIN_BAN
  27. #define VIPRANG ADMIN_LEVEL_C
  28. new bool: skinek[33];
  29. new message[192];
  30. new teamInfo;
  31. new maxPlayers;
  32. new strName[191];
  33. new strText[191];
  34. new alive[11];
  35.  
  36. new WeaponNames[MAX][32], WeaponMdls[MAX][48], Weapons[MAX], WeaponDrop[MAX], AllWeapon;
  37. new UsingWeapon[13][33], uWeapon[MAX][33], Chest[33], pKey[33], Points[33], Rang[33], Kills[33], Chest2[33];
  38. new aThing[33], aTarget[33], aPoints[33], Prefix[32];
  39. new Folder[48], SkinFile[48], SkinFile2[48], SaveFile[48], RegisterFile[48], DefaultSkinFile[48], RangFile[48], MenuMod[33], SayText;
  40. new WeaponinMarket[33], bool: inMarket[33], MarketPoints[33], Choosen[33];
  41. new SavedPassword[33][32], bool:Loged[33], Password[33][32], probalkozasok[33] = 0;
  42. new DefaultSkin[31][32], NeedKills[102], Rangs[102][33];
  43. new Selected[33];
  44.  
  45. new const eWeapon[][] =
  46. {
  47. "weapon_famas", "weapon_usp", "weapon_awp", "weapon_scout", "weapon_mp5navy", "weapon_m3", "weapon_m4a1", "weapon_glock18", "weapon_elite",
  48. "weapon_deagle", "weapon_ak47", "weapon_famas", "weapon_galil", "weapon_knife", "weapon_flashbang", "weapon_hegrenade",
  49. "weapon_smokegrenade", "weapon_c4", "weapon_xm1014", "weapon_p90"
  50. };
  51.  
  52. enum _:Fegyver{ uzi[64], nev[20], csw[20], golyo };
  53. new const fegyverek[2][Fegyver] =
  54. {
  55. { "AWP",     "weapon_awp",    CSW_AWP,     35 },
  56. { "Knife",    "weapon_knife",       CSW_KNIFE,        0 }
  57. };
  58.  
  59. public plugin_precache() {
  60.     new Line[128], Data[4][48], Len;
  61.     AllWeapon++;
  62.     get_configsdir(Folder, 47);
  63.     format(Folder, 47, "%s/msdust2", Folder);
  64.     format(SkinFile, 47, "%s/skins.cfg", Folder);
  65.     format(SkinFile2, 47, "%s/skins2.cfg", Folder);
  66.     format(SaveFile, 47, "%s/save.ini", Folder);
  67.     format(RangFile, 47, "%s/rangs.cfg", Folder);
  68.     format(RegisterFile, 47, "%s/reg.ini", Folder);
  69.     format(DefaultSkinFile, 47, "%s/alapskin.cfg", Folder);
  70.     format(Prefix, 32, "[Masked Squad]");
  71.      
  72.     if(file_exists(RangFile))
  73.     {
  74.         for(new i; i < file_size(RangFile, 1); i++)
  75.         {
  76.             read_file(RangFile, i, Line, 127, Len);
  77.             parse(Line, Data[0], 31, Data[1], 31);
  78.            
  79.             copy(Rangs[i], 31, Data[0]);
  80.             NeedKills[i] = str_to_num(Data[1]);
  81.         }
  82.         if(file_exists(SkinFile))
  83.         {
  84.             for(new i; i < file_size(SkinFile, 1); i++)
  85.             {
  86.             if(AllWeapon >= MAX-1) break;
  87.             read_file(SkinFile, i, Line, 127, Len);
  88.            
  89.             if(!strlen(Line) || Line[0] == ';')
  90.                 continue;
  91.                
  92.                 parse(Line, Data[0], 31, Data[1], 31, Data[2], 47, Data[3], 31);
  93.                
  94.                 Weapons[AllWeapon] = str_to_num(Data[0]);
  95.                 copy(WeaponNames[AllWeapon], 31, Data[1]);
  96.                
  97.                 if(ValidMdl(Data[2])) {
  98.                     precache_model(Data[2]);
  99.                     copy(WeaponMdls[AllWeapon], 47, Data[2]);
  100.                 }
  101.                
  102.                 WeaponDrop[AllWeapon] = str_to_num(Data[3]);
  103.                 AllWeapon++;
  104.             }
  105.             if(file_exists(SkinFile2))
  106.             {
  107.             for(new i; i < file_size(SkinFile2, 1); i++)
  108.             {
  109.                 if(AllWeapon >= MAX-1) break;
  110.                 read_file(SkinFile2, i, Line, 127, Len);
  111.                
  112.                 if(!strlen(Line) || Line[0] == ';')
  113.                     continue;
  114.                    
  115.                     parse(Line, Data[0], 31, Data[1], 31, Data[2], 47, Data[3], 31);
  116.                    
  117.                     Weapons[AllWeapon] = str_to_num(Data[0]);
  118.                     copy(WeaponNames[AllWeapon], 31, Data[1]);
  119.                    
  120.                     if(ValidMdl(Data[2])) {
  121.                         precache_model(Data[2]);
  122.                         copy(WeaponMdls[AllWeapon], 47, Data[2]);
  123.                     }
  124.                    
  125.                     WeaponDrop[AllWeapon] = str_to_num(Data[3]);
  126.                     AllWeapon++;
  127.                 }
  128.             }
  129.             if(file_exists(DefaultSkinFile))
  130.             {
  131.                 for(new i; i < file_size(DefaultSkinFile, 1); i++)
  132.                 {
  133.                     read_file(DefaultSkinFile, i, Line, 127, Len);
  134.                    
  135.                     if(!strlen(Line) || Line[0] == ';')
  136.                         continue;
  137.                        
  138.                         parse(Line, Data[0], 31, Data[1], 47);
  139.                        
  140.                         if(ValidMdl(Data[1])) {
  141.                             precache_model(Data[1]);
  142.                             copy(DefaultSkin[str_to_num(Data[0])], 47, Data[1]);
  143.                         }
  144.                 }
  145.             }
  146.         }
  147.     }
  148. }
  149. public plugin_init() {
  150.     register_plugin(PLUGIN, VERSION, AUTHOR);
  151.     register_cvar(PLUGIN, VERSION, FCVAR_SERVER);
  152.    
  153.     register_impulse(201, "MenuOpen");
  154.    
  155.    
  156.     register_clcmd("say /menu", "MenuOpen");
  157.     register_clcmd("say /reg", "RegMenu");
  158.     register_clcmd("say /gun", "Guns");
  159.     register_clcmd("say /guns", "Guns");
  160.     register_clcmd("say /fegyver", "Guns");
  161.     register_clcmd("say /fegyo", "Guns");
  162.    
  163.     register_concmd("Cost", "MarketCost");
  164.     register_concmd("Gift", "GiftPoint");
  165.     register_concmd("UserPassword", "PlayerPassword");
  166.    
  167.     register_forward(FM_CmdStart, "CmdStart" );
  168.    
  169.     SayText = get_user_msgid("SayText");
  170.     teamInfo = get_user_msgid ("TeamInfo");
  171.     maxPlayers = get_maxplayers();
  172.    
  173.     register_message (SayText, "avoid_duplicated");
  174.    
  175.     register_forward(FM_ClientUserInfoChanged, "ClientInfoChanged");
  176.     RegisterHam(Ham_Spawn, "player", "PlayerSpawn", 1);
  177.    
  178.     for(new i; i < sizeof(eWeapon); i++)
  179.         RegisterHam(Ham_Item_Deploy, eWeapon[i], "WeaponSwitch", 1);
  180.    
  181.     register_clcmd ("say", "hook_say");
  182.     register_clcmd ("say_team", "hook_teamsay");
  183. }
  184. public client_connect(id)
  185. {
  186.     skinek[id]=true;
  187.     probalkozasok[id] = 0;
  188.     Selected[id] = 0;
  189.     for(new i; i<12; i++)
  190.         UsingWeapon[i][id]=0;
  191.     for(new i = 1; i < AllWeapon; i++)
  192.         uWeapon[i][id]=0;
  193. }
  194. public CmdStart(id, uc_handle, seed)
  195. {
  196.     if(get_uc(uc_handle, UC_Impulse) == 201)
  197.         MenuOpen(id);
  198. }
  199. public Guns(id)
  200. {
  201.     if(Choosen[id] < 1)
  202.     {
  203.         Choosen[id] = 0;
  204.         WeaponMenu(id);
  205.     }
  206. }
  207. public PlayerSpawn(id)
  208. {
  209.     if(is_user_alive(id))
  210.     {
  211.         Choosen[id] = 0;
  212.         if(user_has_weapon(id, CSW_C4))
  213.         {
  214.             strip_user_weapons(id);
  215.             give_item(id, "weapon_c4");
  216.             give_item(id, "weapon_knife");
  217.             WeaponMenu(id);
  218.             return PLUGIN_HANDLED;
  219.         }
  220.        
  221.        
  222.         if(cs_get_user_team(id) == CS_TEAM_CT)
  223.             cs_set_user_defuse(id, 1);
  224.     }
  225.     return PLUGIN_CONTINUE;
  226. }
  227. public MenuOpen(id)
  228. {
  229.     if(!Loged[id])
  230.     {
  231.         RegMenu(id);
  232.         return PLUGIN_HANDLED;
  233.     }
  234.    
  235.     MenuMod[id] = 0;
  236.     Menu(id);
  237.     return PLUGIN_CONTINUE;
  238. }
  239. public client_death(Killer, Victim)
  240. {
  241.     if(Killer == Victim)
  242.         return PLUGIN_HANDLED;
  243.    
  244.     Kills[Killer]++;
  245.    
  246.     if(Rang[Killer] < sizeof(Rangs) && Rang[Killer] < file_size(RangFile, 1)-1)
  247.         if(Kills[Killer] >= NeedKills[Rang[Killer]])
  248.         Rang[Killer]++;
  249.    
  250.     new pPont, Name[32];
  251.    
  252.     pPont += random_num(PointsMin, PointsMax);
  253.     Points[Killer] += pPont;
  254.    
  255.     set_hudmessage(255, 255, 255, -1.0, 0.15, 0, 6.0, 2.0);
  256.     show_hudmessage(Killer, "Kaptál +%d kreditet!", pPont);
  257.    
  258.    
  259.     if(Drop >= random_num(1, 100))
  260.     {
  261.         get_user_name(Killer, Name, 31);
  262.         new x = random_num(1, 4);
  263.         if(x == 1)
  264.         {
  265.             pKey[Killer]++;
  266.             print_color(0, "!g%s!t %s !ytalált egy !gkulcsot!y!", Prefix, Name);
  267.         }
  268.         if(x == 2 || x == 3)
  269.         {
  270.             Chest[Killer]++;
  271.             print_color(0, "!g%s!t %s!y talált egy!g ládát!y!", Prefix, Name);
  272.         }
  273.     }
  274.     Save(Killer);
  275.     return PLUGIN_CONTINUE;
  276. }
  277. public MarketCost(id)
  278. {
  279.     if(inMarket[id] || !Loged[id])
  280.         return PLUGIN_HANDLED;
  281.    
  282.     new Data[32], Cost;
  283.     read_args(Data, 31);
  284.     remove_quotes(Data);
  285.    
  286.     Cost = str_to_num(Data);
  287.    
  288.     if(Cost < 0)
  289.     {
  290.         client_cmd(id, "messagemode Cost");
  291.         return PLUGIN_CONTINUE;
  292.     }
  293.     else if(MarkMin >= Cost)
  294.     {
  295.         print_color(id, "%s!t%d !ykredit alatt nem tudsz eladni semmit!", Prefix, MarkMin);
  296.         client_cmd(id, "messagemode Cost");
  297.         return PLUGIN_CONTINUE;
  298.     }
  299.     else
  300.     {
  301.         MarketPoints[id] = Cost;
  302.         MenuMod[id] = 3;
  303.         Menu(id);
  304.         return PLUGIN_CONTINUE;
  305.     }
  306.     return PLUGIN_CONTINUE;
  307. }
  308. public GiftPoint(id)
  309. {
  310.     if(inMarket[id] || !Loged[id])
  311.         return PLUGIN_HANDLED;
  312.    
  313.     new Data[32], Cost;
  314.     read_args(Data, 31);
  315.     remove_quotes(Data);
  316.    
  317.     Cost = str_to_num(Data);
  318.    
  319.     if(Cost < 0 || Points[id] < Cost)
  320.     {
  321.         client_cmd(id, "messagemode Gift");
  322.         return PLUGIN_CONTINUE;
  323.     }
  324.     else
  325.     {
  326.         aPoints[id] = Cost;
  327.         MenuMod[id] = 5;
  328.         Menu(id);
  329.         return PLUGIN_CONTINUE;
  330.     }
  331.     return PLUGIN_CONTINUE;
  332. }
  333. public WeaponSwitch(Weapon) {
  334.     new id = get_pdata_cbase(Weapon, 41, 4);
  335.     new wid = cs_get_weapon_id(Weapon);
  336.    
  337.     if(id > 32 || id < 1)
  338.     {
  339.         return HAM_SUPERCEDE;
  340.     }
  341.    
  342.     if(skinek[id])
  343.     {
  344.         for(new j; j<13; j++)
  345.         {
  346.             if(wid == Weapons[UsingWeapon[j][id]])
  347.             {
  348.                 set_pev(id, pev_viewmodel2, WeaponMdls[UsingWeapon[j][id]]);
  349.                 return HAM_SUPERCEDE;
  350.             }
  351.         }
  352.         if(ValidMdl(DefaultSkin[wid]))
  353.             set_pev(id, pev_viewmodel2, DefaultSkin[wid]);
  354.     }
  355.     return HAM_IGNORED;
  356. }
  357. public ChestOpen(id)
  358. {
  359.     new rWeapon, rNum = random_num(1, 100);
  360.     if(LADAESELY >= rNum)
  361.     {
  362.         do
  363.     {
  364.         rWeapon = random_num(1, (AllWeapon-1));
  365.         rNum = random_num(1, 100);
  366.     }
  367.     while(WeaponDrop[rWeapon] < rNum);
  368.    
  369.     new Name[32];
  370.     get_user_name(id, Name, 31);
  371.     print_color(0, "!g%s!t %s!y talált egy!t %s!y-t.", Prefix, Name, WeaponNames[rWeapon]);
  372.     uWeapon[rWeapon][id]++;
  373.     Save(id);
  374. }
  375. else
  376.     print_color(id, "!g%s!y Sajnos ebben a ládában !tnem !yvolt semmi!", Prefix);
  377. }
  378. public Menu(id)
  379. {
  380.     if(!Loged[id])
  381.     {
  382.         RegMenu(id);
  383.         return PLUGIN_CONTINUE;
  384.     }
  385.    
  386.     new sMenu, Line[128];
  387.    
  388.     if(MenuMod[id] == -2)
  389.     {
  390.         formatex(Line, 127, "\r%s\y Válassz valamit! \d[Kredit: \y%d\d]", Prefix, Points[id]);
  391.         sMenu = menu_create(Line, "MenuHandler");
  392.         new String[32], All;
  393.         for(new i = 1; i < AllWeapon; i++)
  394.         {
  395.             if(uWeapon[i][id] == 0)
  396.                 continue;
  397.            
  398.             num_to_str(i, String, 31);
  399.             formatex(Line, 127, "\r%s \d[\w%d \ydarab\d]", WeaponNames[i], uWeapon[i][id]);
  400.             menu_additem(sMenu, Line, String);
  401.             All++;
  402.         }
  403.         if(Chest[id] > 0)
  404.         {
  405.             formatex(Line, 127, "\rLáda \d[\w%d \ydarab\d]", Chest[id]);
  406.             menu_additem(sMenu, Line, "201");
  407.             All++;
  408.         }
  409.         if(pKey[id] > 0)
  410.         {
  411.             formatex(Line, 127, "\rKulcs \d[\w%d \ydarab\d]", pKey[id]);
  412.             menu_additem(sMenu, Line, "202");
  413.             All++;
  414.         }
  415.         if(Points[id] > 0)
  416.         {
  417.             formatex(Line, 127, "\rKredit \d|\y %d", Points[id]);
  418.             menu_additem(sMenu, Line, "203");
  419.             All++;
  420.         }
  421.         if(Chest2[id] > 0)
  422.         {
  423.             formatex(Line, 127, "\rLegendary Láda \d[\w%d \ydarab\d]", Chest2[id]);
  424.             menu_additem(sMenu, Line, "204");
  425.             All++;
  426.         }
  427.         if(All == 0)
  428.         {
  429.             MenuMod[id] = 0;
  430.             Menu(id);
  431.             return PLUGIN_CONTINUE;
  432.         }
  433.     }
  434.     else if(MenuMod[id] == -1)
  435.     {
  436.         formatex(Line, 127, "\r%s\y Válassz valamit! \d[Kredit: \y%d\d]", Prefix, Points[id]);
  437.         sMenu = menu_create(Line, "MenuHandler");
  438.         new String[32], All;
  439.         for(new i = 1; i < AllWeapon; i++)
  440.         {
  441.             if(uWeapon[i][id] == 0)
  442.                 continue;
  443.            
  444.             num_to_str(i, String, 31);
  445.             formatex(Line, 127, "\r%s \d[\w%d \ydarab\d]", WeaponNames[i], uWeapon[i][id]);
  446.             menu_additem(sMenu, Line, String);
  447.             All++;
  448.         }
  449.         if(Chest[id] > 0)
  450.         {
  451.             formatex(Line, 127, "\rLáda \d[\w%d \ydarab\d]", Chest[id]);
  452.             menu_additem(sMenu, Line, "201");
  453.             All++;
  454.         }
  455.         if(pKey[id] > 0)
  456.         {
  457.             formatex(Line, 127, "\rKulcs \d[\w%d \ydarab\d]", pKey[id]);
  458.             menu_additem(sMenu, Line, "202");
  459.             All++;
  460.         }
  461.         if(Chest2[id] > 0)
  462.         {
  463.             formatex(Line, 127, "\rLegendary Láda \d[\w%d \ydarab\d]", Chest2[id]);
  464.             menu_additem(sMenu, Line, "203");
  465.             All++;
  466.         }
  467.         if(All == 0)
  468.         {
  469.             MenuMod[id] = 0;
  470.             Menu(id);
  471.             return PLUGIN_CONTINUE;
  472.         }
  473.     }
  474.     else if(MenuMod[id] == 0)
  475.     {
  476.         formatex(Line, 127, "\rMasked Squad \d|  \yFő Menü^n\d[Kredit: \y%d\d]", Points[id]);
  477.         sMenu = menu_create(Line, "MenuHandler");
  478.         formatex(Line, 127, "Felszerelés");
  479.         menu_additem(sMenu, Line, "1");
  480.        
  481.         if(!inMarket[id])
  482.             menu_additem(sMenu, "Láda nyitás", "2");
  483.         else
  484.             menu_additem(sMenu, "Láda nyitás \d[Piacozás közben nem engedélyezett]", "0");
  485.        
  486.         menu_additem(sMenu, "Piac", "3");
  487.        
  488.         if(!inMarket[id])
  489.             menu_additem(sMenu, "Kuka", "4");
  490.         else
  491.             menu_additem(sMenu, "Kuka \d[Piacozás közben nem engedélyezett]", "0");
  492.        
  493.         if(!inMarket[id])
  494.         {
  495.             formatex(Line, 127, "Ajándékozás^n");
  496.             menu_additem(sMenu, Line, "5");
  497.             if(Rang[id] == file_size(RangFile, 1) -1)
  498.                 formatex(Line, 127, "\wSkinek:\d %s^n\rRangod:\d %s \y[Ölés: \r%d]", skinek[id] ? "\yBekapcsolva" : "\rKikapcsolva", Rangs[Rang[id]], Kills[id]);
  499.             else
  500.                 formatex(Line, 127, "\wSkinek:\d %s^n\rKövetkező Rangod:\d %s \y[Ölés: \r%d\d/\r%d]", skinek[id] ? "\yBekapcsolva" : "\rKikapcsolva", Rangs[Rang[id]+1], Kills[id], NeedKills[Rang[id]]);
  501.             menu_additem(sMenu, Line, "6");
  502.         }
  503.         else
  504.         {
  505.             formatex(Line, 127, "Ajándékozás \d[Piacozás közben nem engedélyezett]^n");
  506.             menu_additem(sMenu, Line, "0");
  507.             if(Rang[id] == file_size(RangFile, 1) -1)
  508.                 formatex(Line, 127, "\wSkinek:\d %s^n\rRangod:\d %s \y[Ölés: \r%d]", skinek[id] ? "\yBekapcsolva" : "\rKikapcsolva", Rangs[Rang[id]], Kills[id]);
  509.             else
  510.                 formatex(Line, 127, "\wSkinek:\d %s^n\rKövetkező Rangod:\d %s \y[Ölés: \r%d\d/\r%d]", skinek[id] ? "\yBekapcsolva" : "\rKikapcsolva", Rangs[Rang[id]+1], Kills[id], NeedKills[Rang[id]]);
  511.             menu_additem(sMenu, Line, "6");
  512.         }
  513.     }
  514.     else if(MenuMod[id] == 1)
  515.     {
  516.         formatex(Line, 127, "\rMasked Squad \d|  \yFelszerelés^n\d[Kredit: \y%d\d]", Points[id]);
  517.         sMenu = menu_create(Line, "MenuHandler");
  518.         new String[32], All;
  519.         for(new i = 1; i < AllWeapon; i++)
  520.         {
  521.             if(uWeapon[i][id] == 0)
  522.                 continue;
  523.            
  524.             formatex(String, 31, "%d %d", i, Weapons[i]);
  525.             formatex(Line, 127, "\r%s \d[\w%d \ydarab\d]", WeaponNames[i], uWeapon[i][id]);
  526.             menu_additem(sMenu, Line, String);
  527.             All++;
  528.         }
  529.         if(All == 0)
  530.         {
  531.             MenuMod[id] = 0;
  532.             Menu(id);
  533.             return PLUGIN_CONTINUE;
  534.         }
  535.     }
  536.     else if(MenuMod[id] == 2)
  537.     {
  538.         formatex(Line, 127, "\rMasked Squad \d|  \yLáda nyitás^n\rLáda:\y %d \w| \rKulcs:\y %d", Chest[id], Chest2[id], pKey[id]);
  539.         sMenu = menu_create(Line, "MenuHandler");
  540.         formatex(Line, 127, "Láda nyitás \d[1 láda és 1 kulcs]");
  541.         menu_additem(sMenu, Line, "1");
  542.     }
  543.     else if(MenuMod[id] == 3)
  544.     {
  545.         formatex(Line, 127, "\rMasked Squad \d|  \yPiac^n\d[Kredit: \y%d\d]", Points[id]);
  546.         sMenu = menu_create(Line, "MenuHandler");
  547.         new String[32], All;
  548.         if(!inMarket[id])
  549.         {
  550.             for(new i = 1; i < AllWeapon; i++)
  551.             {
  552.                 if(i == WeaponinMarket[id] && uWeapon[i][id] > 0)
  553.                 {
  554.                     formatex(Line, 127, "\rTárgy:\d %s^n\yÁra:\d %d", WeaponNames[i], MarketPoints[id]);
  555.                     All++;
  556.                 }
  557.             }
  558.             if(201 == WeaponinMarket[id] && Chest[id] > 0)
  559.             {
  560.                 formatex(Line, 127, "\rTárgy:\d Láda^n\yÁra:\d %d", MarketPoints[id]);
  561.                 All++;
  562.             }
  563.             if(202 == WeaponinMarket[id] && pKey[id] > 0)
  564.             {
  565.                 formatex(Line, 127, "\rTárgy:\d Kulcs^n\yÁra:\d %d", MarketPoints[id]);
  566.                 All++;
  567.             }
  568.             if(203 == WeaponinMarket[id] && Chest2[id] > 0)
  569.             {
  570.                 formatex(Line, 127, "\rTárgy:\d Legendary Láda^n\yÁra:\d %d", MarketPoints[id]);
  571.                 All++;
  572.             }
  573.             if(All == 0)
  574.                 formatex(Line, 127, "\dVálassz valamit!");
  575.             menu_additem(sMenu, Line, "-1");
  576.         }
  577.         if(!inMarket[id])
  578.             formatex(Line, 127, "\rMehet a piacra^n");
  579.         else
  580.             formatex(Line, 127, "\dVissza^n");
  581.         menu_additem(sMenu, Line, "0");
  582.        
  583.         new Name[32];
  584.         for(new x; x < 32; x++)
  585.         {
  586.             if(!is_user_connected(x))
  587.                 continue;
  588.            
  589.             if(inMarket[x] && MarketPoints[x] > 0)
  590.             {
  591.                 num_to_str(x, String, 31);
  592.                 get_user_name(x, Name, 31);
  593.                 if(201 == WeaponinMarket[x])
  594.                 {
  595.                     formatex(Line, 127, "\r%s \d|\y Láda \d| \rÁra:\y %d", Name, MarketPoints[x]);
  596.                     menu_additem(sMenu, Line, String);
  597.                 }
  598.                 else if(202 == WeaponinMarket[x])
  599.                 {
  600.                     formatex(Line, 127, "\r%s \d|\y Kulcs \d| \rÁra:\y %d", Name, MarketPoints[x]);
  601.                     menu_additem(sMenu, Line, String);
  602.                 }
  603.                 else if(203 == WeaponinMarket[x])
  604.                 {
  605.                     formatex(Line, 127, "\r%s \d|\yLegendary Láda \d| \rÁra:\y %d", Name, MarketPoints[x]);
  606.                     menu_additem(sMenu, Line, String);
  607.                 }
  608.                 else
  609.                 {
  610.                     formatex(Line, 127, "\r%s \d|\y %s \d| \rÁra:\y %d", Name, WeaponNames[WeaponinMarket[x]], MarketPoints[x]);
  611.                     menu_additem(sMenu, Line, String);
  612.                 }
  613.             }
  614.         }
  615.     }
  616.     else if(MenuMod[id] == 4)
  617.     {
  618.         formatex(Line, 127, "\rMasked Squad \d|  \yKuka ^n\d[Kredit: \y%d\d]", Points[id]);
  619.         sMenu = menu_create(Line, "MenuHandler");
  620.         new String[32], All;
  621.         for(new i = 1; i < AllWeapon; i++)
  622.         {
  623.             if(uWeapon[i][id] == 0)
  624.                 continue;
  625.            
  626.             num_to_str(i, String, 31);
  627.             formatex(Line, 127, "\r%s \d|\y %d darab", WeaponNames[i], uWeapon[i][id]);
  628.             menu_additem(sMenu, Line, String);
  629.             All++;
  630.         }
  631.         if(All == 0)
  632.         {
  633.             MenuMod[id] = 0;
  634.             Menu(id);
  635.         }
  636.     }
  637.     else if(MenuMod[id] == 5)
  638.     {
  639.         formatex(Line, 127, "\rMasked Squad \d|  \yAjándékozás^n\d[Kredit: \y%d\d]", Points[id]);
  640.         sMenu = menu_create(Line, "MenuHandler");
  641.         new All, Name[32];
  642.         get_user_name(aTarget[id], Name, 31);
  643.        
  644.         if(aTarget[id] > 0)
  645.         {
  646.             if(aPoints[id] == 0)
  647.                 aPoints[id] = 1;
  648.             formatex(Line, 127, "Játékos: \d%s", Name);
  649.             menu_additem(sMenu, Line, "-1");
  650.             for(new i = 1; i < AllWeapon; i++)
  651.             {
  652.                 if(i == aThing[id] && uWeapon[i][id] > 0)
  653.                 {
  654.                     formatex(Line, 127, "Ajándék:\d %s^n", WeaponNames[i]);
  655.                     menu_additem(sMenu, Line, "-2");
  656.                     All++;
  657.                 }
  658.             }
  659.            
  660.             if(aThing[id] == 0 && All == 0)
  661.             {
  662.                 formatex(Line, 127, "Válassz valamit!^n");
  663.                 menu_additem(sMenu, Line, "-2");
  664.             }
  665.             else if(aThing[id] > 203)
  666.             {
  667.                 if(201 == aThing[id])
  668.                 {
  669.                     formatex(Line, 127, "Ajándék:\d Láda");
  670.                 }
  671.                 if(202 == aThing[id])
  672.                 {
  673.                     formatex(Line, 127, "Ajándék:\d Kulcs");
  674.                 }
  675.                 if(200 == aThing[id])
  676.                 {
  677.                     formatex(Line, 127, "Ajándék:\d Kredit");
  678.                 }
  679.                 menu_additem(sMenu, Line, "-2");
  680.                 }
  681.                 if(203 == aThing[id])
  682.                 {
  683.                     formatex(Line, 127, "Ajándék:\d Legendary Láda");
  684.                 }
  685.                 menu_additem(sMenu, Line, "-2");
  686.             }
  687.             formatex(Line, 127, "Mennyiség:\d %d^n", aPoints[id]);
  688.             menu_additem(sMenu, Line, "-4");
  689.             formatex(Line, 127, "\yKüldés!");
  690.             menu_additem(sMenu, Line, "-3");
  691.     }
  692.         else
  693.         {
  694.             new Name[32], String[32];
  695.             for(new i; i < 32; i++)
  696.             {
  697.                 if(is_user_connected(i) && i != id)
  698.                 {
  699.                     get_user_name(i, Name, 31);
  700.                     num_to_str(i, String, 31);
  701.                     menu_additem(sMenu, Name, String);
  702.                 }
  703.             }
  704.         }
  705.    
  706.     menu_display(id, sMenu);
  707.     return PLUGIN_CONTINUE;
  708. }
  709. public MenuHandler(id, gMenu, Key)
  710. {  
  711.     if(Key == MENU_EXIT)
  712.     {
  713.         MenuMod[id] = 0;
  714.         menu_destroy(gMenu);
  715.         return PLUGIN_HANDLED;
  716.     }
  717.     new aMenu[2], Data[4][32], sKey[32], Name[32], mName[32];
  718.     menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
  719.    
  720.     parse(Data[0], sKey, 31);
  721.     Key = str_to_num(sKey);
  722.    
  723.     if(MenuMod[id] == -2)
  724.     {
  725.         aThing[id] = Key;
  726.         MenuMod[id] = 5;
  727.         Menu(id);
  728.         return PLUGIN_CONTINUE;
  729.     }
  730.     else if(MenuMod[id] == -1)
  731.     {
  732.         WeaponinMarket[id] = Key;
  733.         client_cmd(id, "messagemode Cost");
  734.         return PLUGIN_CONTINUE;
  735.     }
  736.     else if(MenuMod[id] == 0)
  737.     {
  738.         if(Key==6)
  739.         {
  740.             if(skinek[id]) skinek[id]=false;
  741.             else skinek[id]=true;
  742.             MenuMod[id] = 0;
  743.         }  
  744.         else
  745.             MenuMod[id] = Key;
  746.         Menu(id);
  747.         return PLUGIN_CONTINUE;
  748.     }
  749.     else if(MenuMod[id] == 1)
  750.     {
  751.         parse(Data[0], Data[2], 31, Data[3], 31);
  752.        
  753.         if(str_to_num(Data[3]) == 28)
  754.             UsingWeapon[0][id] = str_to_num(Data[2]);
  755.         else if(str_to_num(Data[3]) == 18)
  756.             UsingWeapon[1][id] = str_to_num(Data[2]);
  757.         else if(str_to_num(Data[3]) == 15)
  758.             UsingWeapon[2][id] = str_to_num(Data[2]);
  759.         else if(str_to_num(Data[3]) == 29)
  760.             UsingWeapon[3][id] = str_to_num(Data[2]);
  761.         else if(str_to_num(Data[3]) == 21)
  762.             UsingWeapon[4][id] = str_to_num(Data[2]);
  763.         else if(str_to_num(Data[3]) == 22)
  764.             UsingWeapon[5][id] = str_to_num(Data[2]);
  765.         else if(str_to_num(Data[3]) == 19)
  766.             UsingWeapon[6][id] = str_to_num(Data[2]);
  767.         else if(str_to_num(Data[3]) == 16)
  768.             UsingWeapon[7][id] = str_to_num(Data[2]);
  769.         else if(str_to_num(Data[3]) == 26)
  770.             UsingWeapon[8][id] = str_to_num(Data[2]);
  771.         else if(str_to_num(Data[3]) == 03)
  772.             UsingWeapon[9][id] = str_to_num(Data[2]);
  773.         else if(str_to_num(Data[3]) == 05)
  774.             UsingWeapon[10][id] = str_to_num(Data[2]);
  775.         else if(str_to_num(Data[3]) == 14)
  776.             UsingWeapon[11][id] = str_to_num(Data[2]);
  777.         else if(str_to_num(Data[3]) == 30)
  778.             UsingWeapon[12][id] = str_to_num(Data[2]);
  779.         return PLUGIN_CONTINUE;
  780.     }
  781.     else if(MenuMod[id] == 2)
  782.     {
  783.         if(Key == 1)
  784.         {
  785.             if(Chest[id] > 0 && pKey[id] > 0)
  786.             {
  787.                 Chest[id]--;
  788.                 Chest2[id]--;
  789.                 pKey[id]--;
  790.                 ChestOpen(id);
  791.                 Menu(id);
  792.                 return PLUGIN_CONTINUE;
  793.             }
  794.         }
  795.         return PLUGIN_CONTINUE;
  796.     }
  797.     else if(MenuMod[id] == 3)
  798.     {
  799.         if(Key == -1)
  800.         {
  801.             MenuMod[id] = -1;
  802.             Menu(id);
  803.             return PLUGIN_CONTINUE;
  804.         }
  805.         else if(Key == 0)
  806.         {
  807.             if(inMarket[id])
  808.                 inMarket[id] = false;
  809.             else if(MarketPoints[id] > 0)
  810.             {
  811.                 get_user_name(id, Name, 31);
  812.                 if(WeaponinMarket[id] > 200)
  813.                     print_color(0, "!g%s!t %s!y kirakott egy !t%s!g %d!y kreditért!",Prefix, Name, (WeaponinMarket[id] == 201) ? "Ládát" : "Kulcsot", MarketPoints[id]);
  814.                 else
  815.                     print_color(0, "!g%s!t %s!y kirakott egy !t%s!y-t!g %d!y kreditért!",Prefix, Name, WeaponNames[WeaponinMarket[id]], MarketPoints[id]);
  816.                 inMarket[id] = true;
  817.             }
  818.             Menu(id);
  819.             return PLUGIN_CONTINUE;
  820.         }
  821.         else if(inMarket[Key] && Points[id] >= MarketPoints[Key])
  822.         {
  823.             get_user_name(Key, Name, 31);
  824.             get_user_name(id, mName, 31);
  825.             if(WeaponinMarket[Key] < 201)
  826.             {
  827.                 print_color(0, "!g%s!t %s!y vásárolt egy!t %s!y-t!g %d!y kreditért !t%s!y-tól!", Prefix, mName, WeaponNames[WeaponinMarket[Key]], MarketPoints[Key], Name);
  828.                 uWeapon[WeaponinMarket[Key]][id]++;
  829.                 uWeapon[WeaponinMarket[Key]][Key]--;
  830.             }
  831.             else if(WeaponinMarket[Key] == 201)
  832.             {
  833.                 print_color(0, "!g%s!t %s!y vásárolt egy!t ládát!g %d!y kreditért !t%s!y-tól!", Prefix, mName, MarketPoints[Key], Name);
  834.                 Chest[id]++;
  835.                 Chest[Key]--;
  836.             }
  837.             else if(WeaponinMarket[Key] == 202)
  838.             {
  839.                 print_color(0, "!g%s!t %s!y vásárolt egy!t kulcsot!g %d!y kreditért !t%s!y-tól!", Prefix, mName, MarketPoints[Key], Name);
  840.                 pKey[id]++;
  841.                 pKey[Key]--;
  842.             }
  843.             else if(WeaponinMarket[Key] == 203)
  844.             {
  845.                 print_color(0, "!g%s!t %s!y vásárolt egy!g legendary !t ládát!g %d!y kreditért !t%s!y-tól!", Prefix, mName, MarketPoints[Key], Name);
  846.                 Chest2[id]++;
  847.                 Chest2[Key]--;
  848.             }
  849.             Points[Key] += MarketPoints[Key];
  850.             Points[id] -= MarketPoints[Key];
  851.             Save(Key);
  852.             Save(id);
  853.             inMarket[Key] = false;
  854.             MarketPoints[Key] = 0;
  855.             WeaponinMarket[Key] = 0;
  856.             MenuMod[id] = 0;
  857.         }
  858.         return PLUGIN_CONTINUE;
  859.     }
  860.     else if(MenuMod[id] == 4)
  861.     {
  862.         uWeapon[Key][id]--;
  863.         Menu(id);
  864.         Save(id);
  865.         return PLUGIN_CONTINUE;
  866.     }
  867.     else if(MenuMod[id] == 5)
  868.     {
  869.         if(Key == -1)
  870.         {
  871.             aTarget[id] = 0;
  872.         }
  873.         if(Key == -2)
  874.         {
  875.             MenuMod[id] = -2;
  876.         }
  877.         if(Key == -3)
  878.         {
  879.             if(aThing[id] < 200)
  880.             {
  881.                 if(uWeapon[aThing[id]][id] > 0)
  882.                 {
  883.                     if(uWeapon[aThing[id]][id]<aPoints[id])
  884.                     {
  885.                         client_cmd(id, "messagemode Gift");
  886.                         print_color(id, "!g%s !yNincs !g%d !t%s!y fegyvered.", Prefix, aPoints[id], WeaponNames[aThing[id]]);
  887.                         return PLUGIN_CONTINUE;
  888.                     }
  889.                     uWeapon[aThing[id]][aTarget[id]]+=aPoints[id];
  890.                     uWeapon[aThing[id]][id]-=aPoints[id];
  891.                     new Name[32], Name2[32];
  892.                     get_user_name(id, Name, 31);
  893.                     get_user_name(aTarget[id], Name2, 31);
  894.                     print_color(id, "!g%s !yKüldtél !t%s!y-nak !g%d !t%s!y-t", Prefix, Name2, aPoints[id], WeaponNames[aThing[id]]);
  895.                     print_color(aTarget[id], "!g%s !t%s !yküldött !g%d !t%s!y-t.", Prefix, Name, aPoints[id], WeaponNames[aThing[id]]);
  896.                     Save(aTarget[id]);
  897.                     Save(id);
  898.                     MenuMod[id] = 0;
  899.                     aThing[id] = 0;
  900.                     aTarget[id] = 0;
  901.                     aPoints[id] = 0;
  902.                    
  903.                 }
  904.             }
  905.             else
  906.             {
  907.                 new Name[32], Name2[32];
  908.                 get_user_name(id, Name, 31);
  909.                 get_user_name(aTarget[id], Name2, 31);
  910.                 if(201 == aThing[id])
  911.                 {
  912.                     if(Chest[id]<aPoints[id])
  913.                     {
  914.                         client_cmd(id, "messagemode Gift");
  915.                         print_color(id, "!g%s !yNincs !g%d !tládád!y.", Prefix, aPoints[id]);
  916.                         return PLUGIN_CONTINUE;
  917.                     }
  918.                     Chest[aTarget[id]]+=aPoints[id];
  919.                     Chest[id]-=aPoints[id];
  920.                     print_color(id, "!g%s !yKüldtél !t%s!y-nak!g %d!t ládát!y.", Prefix, Name2, aPoints[id]);
  921.                     print_color(aTarget[id], "!g%s !t%s !yküldött!g %d!t ládát!y.", Prefix, Name, aPoints[id]);
  922.                 }
  923.                 else if(202 == aThing[id])
  924.                 {
  925.                     if(pKey[id]<aPoints[id])
  926.                     {
  927.                         client_cmd(id, "messagemode Gift");
  928.                         print_color(id, "!g%s !yNincs !g%d!t kulcsod!y.", Prefix, aPoints[id]);
  929.                         return PLUGIN_CONTINUE;
  930.                     }
  931.                     pKey[aTarget[id]]+=aPoints[id];
  932.                     pKey[id]-=aPoints[id];
  933.                     print_color(id, "!g%s !yKüldtél !t%s!y-nak!g %d!t kulcsot!y.", Prefix, Name2, aPoints[id]);
  934.                     print_color(aTarget[id], "!g%s !t%s !yküldött!g %d!t kulcsot!y.", Prefix, Name, aPoints[id]);
  935.                 }
  936.                 else if(203 == aThing[id])
  937.                 {
  938.                     if(Points[id]<aPoints[id])
  939.                     {
  940.                         client_cmd(id, "messagemode Gift");
  941.                         print_color(id, "!g%s !yNincs !g%d kredited.", Prefix, aPoints[id]);
  942.                         return PLUGIN_CONTINUE;
  943.                     }
  944.                     Points[aTarget[id]] += aPoints[id];
  945.                     Points[id] -= aPoints[id];
  946.                     print_color(id, "!g%s !yKüldtél !t%s!y-nak !g%d!t kreditet!y.", Prefix, Name2, aPoints[id]);
  947.                     print_color(aTarget[id], "!g%s !t%s !yküldött !g%d!t kreditet!y.", Prefix, Name, aPoints[id]);
  948.                 }
  949.                 else if(204 == aThing[id])
  950.                 {
  951.                     if(Chest2[id]<aPoints[id])
  952.                     {
  953.                         client_cmd(id, "messagemode Gift");
  954.                         print_color(id, "!g%s !yNincs !g%d!g legendary !tládád!y.", Prefix, aPoints[id]);
  955.                         return PLUGIN_CONTINUE;
  956.                     }
  957.                     Chest2[aTarget[id]]+=aPoints[id];
  958.                     Chest2[id]-=aPoints[id];
  959.                     print_color(id, "!g%s !yKüldtél !t%s!y-nak!g %d!g legendary !t ládát!y.", Prefix, Name2, aPoints[id]);
  960.                     print_color(aTarget[id], "!g%s !t%s !yküldött!g %d!g legendary !t ládát!y.", Prefix, Name, aPoints[id]);
  961.                 }
  962.                 Save(aTarget[id]);
  963.                 Save(id);
  964.                 MenuMod[id] = 0;
  965.                 aThing[id] = 0;
  966.                 aTarget[id] = 0;
  967.                 aPoints[id] = 0;
  968.             }
  969.         }
  970.         if(Key == -4)
  971.         {
  972.             client_cmd(id, "messagemode Gift");
  973.             return PLUGIN_CONTINUE;
  974.         }
  975.         if(Key > 0)
  976.             aTarget[id] = Key;
  977.         Menu(id);
  978.         return PLUGIN_CONTINUE;
  979.     }
  980.     MenuMod[id] = 0;
  981.     return PLUGIN_CONTINUE;
  982. }
  983. stock print_color(const id, const input[], any:...)
  984. {
  985.     new Count = 1, Players[32];
  986.     static Msg[191];
  987.     vformat(Msg, 190, input, 3);
  988.    
  989.     replace_all(Msg, 190, "!g", "^4");
  990.     replace_all(Msg, 190, "!y", "^1");
  991.     replace_all(Msg, 190, "!t", "^3");
  992.    
  993.     if(id) Players[0] = id; else get_players(Players, Count, "ch");
  994. {
  995.     for (new i = 0; i < Count; i++)
  996.     {
  997.         if (is_user_connected(Players[i]))
  998.         {
  999.             message_begin(MSG_ONE_UNRELIABLE, SayText, _, Players[i]);
  1000.             write_byte(Players[i]);
  1001.             write_string(Msg);
  1002.             message_end();
  1003.         }
  1004.     }
  1005. }
  1006. return PLUGIN_HANDLED;
  1007. }
  1008. public client_putinserver(id)
  1009. {
  1010. Kills[id] = 0, Rang[id] = 0, Points[id] = 0, Choosen[id] = 0, pKey[id] = 0, Chest[id] = 0, Chest2[id] = 0;
  1011. for(new i; i < AllWeapon; i++)
  1012.     uWeapon[i][id] = 0;
  1013.     Load(id);
  1014.     Password[id] = "";
  1015.     SavedPassword[id] = "";
  1016.     Loged[id] = false;
  1017. }
  1018. public Load(id)
  1019. {
  1020.     if(!is_user_connected(id))
  1021.         return PLUGIN_HANDLED;
  1022.    
  1023.     new pFile, Name[32];
  1024.     pFile = fopen(SaveFile, "rt");
  1025.     get_user_name(id, Name, 31);
  1026.    
  1027.     if(pFile)
  1028.     {
  1029.         new Line[1024];
  1030.         new LineName[32];
  1031.         new data[16];
  1032.        
  1033.         while(!feof(pFile))
  1034.         {
  1035.             fgets(pFile, Line, 1023);
  1036.            
  1037.             if(Line[0] == ';' || !strlen(Line))
  1038.                 continue;
  1039.            
  1040.             strbreak(Line, LineName, 31, Line, 1023);
  1041.            
  1042.             if(equal(LineName, Name))
  1043.             {
  1044.                 strbreak(Line, data, 15, Line, 1023); Kills[id] = str_to_num(data);
  1045.                 strbreak(Line, data, 15, Line, 1023); Points[id] = str_to_num(data);
  1046.                 strbreak(Line, data, 15, Line, 1023); pKey[id] = str_to_num(data);
  1047.                 strbreak(Line, data, 15, Line, 1023); Chest[id] = str_to_num(data);
  1048.                 strbreak(Line, data, 15, Line, 1023); Chest2[id] = str_to_num(data);
  1049.                 strbreak(Line, data, 15, Line, 1023); Rang[id] = str_to_num(data);
  1050.                 for(new i; i < MAX; i++)
  1051.                 {
  1052.                     strbreak(Line, data, 15, Line, 1023);
  1053.                     uWeapon[i][id] = str_to_num(data);
  1054.                 }
  1055.                 fclose(pFile);
  1056.                 return PLUGIN_HANDLED;
  1057.             }
  1058.         }
  1059.         fclose(pFile);
  1060.     }
  1061.     return PLUGIN_CONTINUE;
  1062. }
  1063. public Save(id)
  1064. {
  1065.     if(!is_user_connected(id))
  1066.         return PLUGIN_HANDLED;
  1067.    
  1068.     new pFile, Name[32];
  1069.     pFile = fopen(SaveFile, "rt");
  1070.     get_user_name(id, Name, 31);
  1071.    
  1072.     if(pFile)
  1073.     {
  1074.         new Line[192], Lines;
  1075.         new LineName[32], bool:Found;
  1076.         new mLine[1024], LoadWeapon[1024], String[16];
  1077.        
  1078.         format(String, 15, "^"%i^" ", Kills[id]);
  1079.         add(LoadWeapon, 1023, String);
  1080.        
  1081.         format(String, 15, "^"%i^" ", Points[id]);
  1082.         add(LoadWeapon, 1023, String);
  1083.        
  1084.         format(String, 15, "^"%i^" ", pKey[id]);
  1085.         add(LoadWeapon, 1023, String);
  1086.        
  1087.         format(String, 15, "^"%i^" ", Chest[id]);
  1088.         add(LoadWeapon, 1023, String);
  1089.        
  1090.         format(String, 15, "^"%i^" ", Rang[id]);
  1091.         add(LoadWeapon, 1023, String);
  1092.        
  1093.         format(String, 15, "^"%i^" ", Chest2[id]);
  1094.         add(LoadWeapon, 1023, String);
  1095.        
  1096.         for(new i; i < MAX; i++)
  1097.         {
  1098.             format(String, 15, "^"%i^" ", uWeapon[i][id]);
  1099.             add(LoadWeapon, 1023, String);
  1100.         }
  1101.        
  1102.         formatex(mLine, 1023, "^"%s^" %s", Name, LoadWeapon);
  1103.         while(!feof(pFile))
  1104.         {
  1105.             fgets(pFile, Line, 191);
  1106.            
  1107.             if(Line[0] == ';' || strlen(Line) < 2)
  1108.                 continue;
  1109.            
  1110.             parse(Line, LineName, 31);
  1111.            
  1112.             if(equal(LineName, Name) && !Found)
  1113.             {
  1114.                 write_file(SaveFile, mLine, Lines);
  1115.                 fclose(pFile);
  1116.                 Found = true;
  1117.                 return PLUGIN_HANDLED;
  1118.             }
  1119.            
  1120.             Lines++;
  1121.         }
  1122.        
  1123.         if(!Found)
  1124.         {
  1125.             write_file(SaveFile, mLine);
  1126.             fclose(pFile);
  1127.             return PLUGIN_HANDLED;
  1128.         }
  1129.         fclose(pFile);
  1130.     }
  1131.     return PLUGIN_CONTINUE;
  1132. }
  1133. public WeaponMenu(id)
  1134. {
  1135.     if(Choosen[id] >= 2)
  1136.         return PLUGIN_HANDLED;
  1137.     new String[128];
  1138.     format(String, 127, "\rMasked Squad  \d|  \wFegyvermenü");
  1139.     new wMenu = menu_create(String, "wMenuHandler");
  1140.     new szid[10];
  1141.     if(Choosen[id] == 0)
  1142.     {
  1143.         for(new i=0; i < 6; i++)
  1144.         {
  1145.             num_to_str(i, szid, charsmax(szid));
  1146.             format(String, 127, "%s", fegyverek[i][uzi]);
  1147.             menu_additem(wMenu, String, szid);
  1148.         }
  1149.     }
  1150.     if(Choosen[id] == 1)
  1151.     {
  1152.         for(new i=6; i < 8; i++)
  1153.         {
  1154.             num_to_str(i, szid, charsmax(szid));
  1155.             format(String, 127, "%s", fegyverek[i][uzi]);
  1156.             menu_additem(wMenu, String, szid);
  1157.         }
  1158.     }
  1159.    
  1160.     menu_display(id, wMenu);
  1161.     return PLUGIN_CONTINUE;
  1162. }
  1163. public wMenuHandler(id, gMenu, item)
  1164. {  
  1165.     if(item == MENU_EXIT)
  1166.     {
  1167.         menu_destroy(gMenu);
  1168.         return;
  1169.     }
  1170.     new data[32], name[64];
  1171.     new access, callback;
  1172.     menu_item_getinfo(gMenu, item, access, data, charsmax(data), name, charsmax(name), callback);
  1173.    
  1174.     new szam = str_to_num(data);
  1175.     give_item(id, fegyverek[szam][nev]);
  1176.     cs_set_user_bpammo(id, fegyverek[szam][csw], fegyverek[szam][golyo]);
  1177.     Choosen[id]++;
  1178.    
  1179.     if(Choosen[id] >= 2)
  1180.         Grenades(id);
  1181.    
  1182.     WeaponMenu(id);
  1183. }
  1184. public RegMenu(id)
  1185. {
  1186.     new String[128], Name[32];
  1187.     if(Registered(id))
  1188.         format(String, 127, "\r%s  \d|  \yRegisztráció^n\rStátusz: \dRegisztrálva^n\rPróbálkozások:\d %d/3", Prefix, probalkozasok[id]);
  1189.     else
  1190.         format(String, 127, "\r%s  \d|  \yRegisztráció^n\rStátusz: \dNincs regisztrálva", Prefix);
  1191.     new rMenu = menu_create(String, "rMenuHandler");
  1192.     get_user_name(id, Name, 31);
  1193.    
  1194.     format(String, 127, "\wFelhasználó:\d %s", Name);
  1195.     menu_additem(rMenu, String, "0");
  1196.    
  1197.     if(!Registered(id))
  1198.     {
  1199.         format(String, 127, "\wJelszó:\d %s^n", Password[id]);
  1200.         menu_additem(rMenu, String, "1");
  1201.        
  1202.         if(strlen(Password[id]) > 4)
  1203.         {
  1204.             format(String, 127, "Regisztráció");
  1205.             menu_additem(rMenu, String, "2");
  1206.         }
  1207.         else
  1208.         {
  1209.             format(String, 127, "\dRegisztráció");
  1210.             menu_additem(rMenu, String, "0");
  1211.         }
  1212.     }
  1213.     else
  1214.     {
  1215.         if(!Loged[id])
  1216.         {
  1217.             format(String, 127, "\wJelszó:\d %s^n", Password[id]);
  1218.             menu_additem(rMenu, String, "1");
  1219.            
  1220.             format(String, 127, "Bejelentkezés!");
  1221.             menu_additem(rMenu, String, "3");
  1222.         }
  1223.         else
  1224.         {
  1225.             format(String, 127, "Kijelentkezés!");
  1226.             menu_additem(rMenu, String, "-1");
  1227.         }
  1228.     }
  1229.    
  1230.     menu_display(id, rMenu);
  1231. }
  1232. public rMenuHandler(id, gMenu, item)
  1233. {  
  1234.     if(item == MENU_EXIT)
  1235.     {
  1236.         menu_destroy(gMenu);
  1237.         return;
  1238.     }
  1239.     new data[9], name[64], Key;
  1240.     new access, callback;
  1241.     menu_item_getinfo(gMenu, item, access, data, charsmax(data), name, charsmax(name), callback);
  1242.    
  1243.     Key = str_to_num(data);
  1244.    
  1245.     if(Key == -1)
  1246.         ToLogout(id);
  1247.     if(Key == 0)
  1248.         RegMenu(id);
  1249.     if(Key == 1)
  1250.     {
  1251.         client_cmd(id, "messagemode UserPassword");
  1252.         RegMenu(id);
  1253.     }
  1254.     if(Key == 2)
  1255.     {
  1256.         print_color(id, "!g%s!y Sikeres regisztráció! [Jelszavad: !t%s!y]", Prefix, Password[id]);
  1257.         Register(id, Password[id]);
  1258.         copy(SavedPassword[id], 31, Password[id]);
  1259.         Loged[id] = true;
  1260.         Menu(id);
  1261.     }
  1262.     if(Key == 3)
  1263.     {
  1264.         if(equal(SavedPassword[id], Password[id])) {
  1265.             Loged[id] = true;
  1266.             print_color(id, "!g%s!y Sikeresen bejelentkeztél!", Prefix);
  1267.             Menu(id);
  1268.         }
  1269.         else
  1270.         {
  1271.             probalkozasok[id]++;
  1272.             if(probalkozasok[id] >= 3)
  1273.             {
  1274.                 server_cmd("kick #%i ^"3x elrontottad a jelszavad, ezért kickelve lettel.^"", get_user_userid(id));
  1275.                 probalkozasok[id]=0;
  1276.                 return;
  1277.             }
  1278.             client_cmd(id, "messagemode UserPassword");
  1279.             print_color(id, "!g%s !yRossz jelszó. A 3. sikertelen próbálkozás után !tKICK!y-elve leszel. Próbálkozások: %d/3", Prefix, probalkozasok[id]);
  1280.             RegMenu(id);
  1281.         }
  1282.     }
  1283. }
  1284. public ToLogout(id)
  1285. {
  1286.     if(Loged[id])
  1287.     {
  1288.         Loged[id] = false;
  1289.         Password[id] = "";
  1290.         print_color(id, "!g%s!y Sikeresen kijelentkeztél!", Prefix);
  1291.     }
  1292. }
  1293. public PlayerPassword(id)
  1294. {
  1295.     new Data[32];
  1296.     read_args(Data, 31);
  1297.     remove_quotes(Data);
  1298.    
  1299.     if(strlen(Data) < 5)
  1300.     {
  1301.         print_color(id, "!g%s!y A jelszó túl rövid!", Prefix);
  1302.         client_cmd(id, "messagemode UserPassword");
  1303.         return PLUGIN_HANDLED;
  1304.     }
  1305.    
  1306.     if(Loged[id])
  1307.         return PLUGIN_HANDLED;
  1308.    
  1309.     copy(Password[id], 31, Data);
  1310.     RegMenu(id);
  1311.     return PLUGIN_CONTINUE;
  1312. }
  1313.  
  1314. public ClientInfoChanged(id)
  1315.     set_task(1.0, "NameConrol",id);
  1316. public NameConrol(id){
  1317.     if(!is_user_connected(id))
  1318.         return PLUGIN_CONTINUE;
  1319.     new name[31];
  1320.     get_user_name(id, name, 30);
  1321.     new userid = get_user_userid(id);
  1322.     if (contain(name, "#Spec_Help_Text") != -1 || contain(name, "#Cstrike_Spetsnaz_Label") != -1 || contain(name, "#Buy") != -1 || contain(name, "#Cstrike_GIGN_Label") != -1 || contain(name, "#Spec_Duck") != -1)
  1323.     {
  1324.         server_cmd("kick #%d Ilyent nem szabad!",userid);
  1325.         return PLUGIN_HANDLED;
  1326.     }
  1327.     new Bnum = strlen(name);
  1328.     new i=0;
  1329.     new Nnum=0;
  1330.     while(i < Bnum)
  1331.     {
  1332.         if(name[i] == '1' || name[i] == '2' || name[i] == '3' || name[i] == '4' || name[i] == '5' || name[i] == '6' || name[i] == '7' || name[i] == '8' || name[i] == '9' || name[i] == '0')
  1333.             Nnum++;
  1334.         ++i;
  1335.     }
  1336.     if( Nnum >= 7)
  1337.     {
  1338.         client_cmd(id, "name ^"Hirdetés tiltott!^"");
  1339.         client_cmd(id, "retry");
  1340.         return PLUGIN_CONTINUE;
  1341.     }
  1342.     return PLUGIN_CONTINUE;
  1343. }
  1344.  
  1345. public avoid_duplicated (msgId, msgDest, receiver)
  1346. {
  1347.     return PLUGIN_HANDLED;
  1348. }
  1349.  
  1350. public hook_say(id)
  1351. {
  1352.     read_args (message, 191);
  1353.     remove_quotes (message);
  1354.    
  1355.     new Bnum = strlen(message);
  1356.     new Nnum = 0;
  1357.     new i = 0;
  1358.     while(i < Bnum)
  1359.     {
  1360.         if(message[i] == '1' || message[i] == '2' || message[i] == '3' || message[i] == '4' || message[i] == '5' || message[i] == '6' || message[i] == '7' || message[i] == '8' || message[i] == '9' || message[i] == '0')
  1361.             Nnum++;
  1362.         ++i;
  1363.     }
  1364.     if( Nnum >= 7)
  1365.     {
  1366.         ColorChat(id, BLUE,"^1A szerveren ^3tilos ^1a hírdetés!");
  1367.         return PLUGIN_HANDLED;
  1368.     }
  1369.    
  1370.     if (message[0] == '@' || message[0] == '/' || message[0] == '!' || equal (message, ""))
  1371.         return PLUGIN_CONTINUE;
  1372.    
  1373.    
  1374.     new name[192];
  1375.     name = message;
  1376.     if (contain(name, "#Spec_Help_Text") != -1 || contain(name, "#Cstrike_Spetsnaz_Label") != -1 || contain(name, "#Buy") != -1 || contain(name, "#Cstrike_GIGN_Label") != -1 || contain(name, "#Spec_Duck") != -1)
  1377.     {
  1378.         ColorChat(id, BLUE,"^3HAHAHA:)");
  1379.         return PLUGIN_HANDLED;
  1380.     }
  1381.     get_user_name (id, name, 31);
  1382.    
  1383.     /*new bool:tulaj = false;
  1384.    
  1385.     if (get_user_flags(id) & TULAJRANG)
  1386.         tulaj = true;
  1387.        
  1388.     new bool:admin = false;
  1389.    
  1390.     if (get_user_flags(id) & FOADMINRANG)
  1391.         foadmin = true;
  1392.    
  1393.     new bool:admin = false;
  1394.    
  1395.     if (get_user_flags(id) & ADMINRANG)
  1396.         admin = true;
  1397.    
  1398.     new bool:vip = false;
  1399.    
  1400.     else if (get_user_flags(id) & VIPRANG)
  1401.         vip = true;*/
  1402.    
  1403.     new isAlive;
  1404.    
  1405.     if (is_user_alive (id))
  1406.     {
  1407.         isAlive = 1;
  1408.         alive = "^x01";
  1409.     }
  1410.     else
  1411.     {
  1412.         isAlive = 0;
  1413.         alive = "^x01*Halott*";
  1414.     }
  1415.    
  1416.     static color[10];
  1417.    
  1418.     if (get_user_flags(id) & TULAJRANG)
  1419.     {
  1420.         get_user_team (id, color, 9);
  1421.         format (strName, 191, "%s^x04[Admin][%s]^x03%s", alive, Rangs[Rang[id]], name);
  1422.         format (strText, 191, "^x04%s", message);
  1423.     }
  1424.     else if (get_user_flags(id) & FOADMINRANG)
  1425.     {
  1426.         get_user_team (id, color, 9);
  1427.         format (strName, 191, "%s^x04[Admin][%s]^x03%s", alive, Rangs[Rang[id]], name);
  1428.         format (strText, 191, "^x04%s", message);
  1429.     }
  1430.     else if (get_user_flags(id) & ADMINRANG)
  1431.     {
  1432.         get_user_team (id, color, 9);
  1433.         format (strName, 191, "%s^x04[Admin][%s]^x03%s", alive, Rangs[Rang[id]], name);
  1434.         format (strText, 191, "^x04%s", message);
  1435.     }
  1436.     else if (get_user_flags(id) & VIPRANG)
  1437.     {
  1438.         get_user_team (id, color, 9);
  1439.         format (strName, 191, "%s^x04[VIP][%s]^x03%s", alive, Rangs[Rang[id]], name);
  1440.         format (strText, 191, "^x04%s", message);
  1441.     }
  1442.     else
  1443.     {
  1444.         get_user_team (id, color, 9);
  1445.         format (strName, 191, "%s^x04[%s]^x03%s", alive, Rangs[Rang[id]], name);
  1446.         format (strText, 191, "%s", message);
  1447.     }
  1448.    
  1449.     format (message, 191, "%s^x01 : %s", strName, strText);
  1450.    
  1451.     sendMessage (color, isAlive);
  1452.    
  1453.     return PLUGIN_CONTINUE;
  1454. }
  1455.  
  1456.  
  1457. public hook_teamsay(id)
  1458. {
  1459.     new playerTeam = get_user_team(id);
  1460.     new playerTeamName[19];
  1461.    
  1462.     switch (playerTeam)
  1463.     {
  1464.         case 1:
  1465.             copy (playerTeamName, 11, "*Terrorista*");
  1466.         case 2:
  1467.             copy (playerTeamName, 18, "*Anti-Terrorista*");
  1468.         default:
  1469.         copy (playerTeamName, 9, "*Néző*");
  1470.     }
  1471.    
  1472.     read_args (message, 191);
  1473.     remove_quotes (message);
  1474.    
  1475.     new Bnum = strlen(message);
  1476.     new Nnum = 0;
  1477.     new i = 0;
  1478.     while(i < Bnum)
  1479.     {
  1480.         if(message[i] == '1' || message[i] == '2' || message[i] == '3' || message[i] == '4' || message[i] == '5' || message[i] == '6' || message[i] == '7' || message[i] == '8' || message[i] == '9' || message[i] == '0')
  1481.             Nnum++;
  1482.         ++i;
  1483.     }
  1484.     if( Nnum >= 7)
  1485.     {
  1486.         ColorChat(id, BLUE,"^1A szerveren ^3tilos ^1a hírdetés!");
  1487.         return PLUGIN_HANDLED;
  1488.     }
  1489.    
  1490.     if (message[0] == '@' || message[0] == '/' || message[0] == '!' || equal (message, ""))
  1491.         return PLUGIN_CONTINUE;
  1492.    
  1493.    
  1494.     new name[192];
  1495.     name = message;
  1496.     if (contain(name, "#Spec_Help_Text") != -1 || contain(name, "#Cstrike_Spetsnaz_Label") != -1 || contain(name, "#Buy") != -1 || contain(name, "#Cstrike_GIGN_Label") != -1 || contain(name, "#Spec_Duck") != -1)
  1497.     {
  1498.         ColorChat(id, BLUE,"^3HAHAHA:)");
  1499.         return PLUGIN_HANDLED;
  1500.     }
  1501.     get_user_name (id, name, 31);
  1502.    
  1503.     /*new bool:tulaj = false;
  1504.    
  1505.     if (get_user_flags(id) & TULAJRANG)
  1506.         tulaj = true;
  1507.        
  1508.     new bool:foadmin = false;
  1509.    
  1510.     else if (get_user_flags(id) & FOADMINRANG)
  1511.         foadmin = true;
  1512.    
  1513.     new bool:admin = false;
  1514.    
  1515.     else if (get_user_flags(id) & ADMINRANG)
  1516.         admin = true;
  1517.    
  1518.     new bool:vip = false;
  1519.    
  1520.     else if (get_user_flags(id) & VIPRANG)
  1521.         vip = true; */
  1522.    
  1523.     new isAlive;
  1524.    
  1525.     if (is_user_alive (id))
  1526.     {
  1527.         isAlive = 1;
  1528.         alive = "^x01";
  1529.     }
  1530.     else
  1531.     {
  1532.         isAlive = 0;
  1533.         alive = "^x01*Halott*";
  1534.     }
  1535.    
  1536.     static color[10];
  1537.    
  1538.     if (get_user_flags(id) & TULAJRANG)
  1539.     {
  1540.         get_user_team (id, color, 9)    ;
  1541.         format (strName, 191, "%s(%s)^x04[Admin][%s]^x03%s", alive, playerTeamName, Rangs[Rang[id]], name);
  1542.         format (strText, 191, "^x04%s", message);
  1543.     }
  1544.     else if (get_user_flags(id) & FOADMINRANG)
  1545.     {
  1546.         get_user_team (id, color, 9)    ;
  1547.         format (strName, 191, "%s(%s)^x04[Admin][%s]^x03%s", alive, playerTeamName, Rangs[Rang[id]], name);
  1548.         format (strText, 191, "^x04%s", message);
  1549.     }
  1550.     else if (get_user_flags(id) & ADMINRANG)
  1551.     {
  1552.         get_user_team (id, color, 9)    ;
  1553.         format (strName, 191, "%s(%s)^x04[Admin][%s]^x03%s", alive, playerTeamName, Rangs[Rang[id]], name);
  1554.         format (strText, 191, "^x04%s", message);
  1555.     }
  1556.     else if (get_user_flags(id) & VIPRANG)
  1557.     {
  1558.         get_user_team (id, color, 9)    ;
  1559.         format (strName, 191, "%s(%s)^x04[VIP][%s]^x03%s", alive, playerTeamName, Rangs[Rang[id]], name);
  1560.         format (strText, 191, "^x04%s", message);
  1561.     }
  1562.     else
  1563.     {
  1564.         get_user_team (id, color, 9);
  1565.         format (strName, 191, "%s(%s)^x04[%s]^x03%s", alive, playerTeamName, Rangs[Rang[id]], name);
  1566.         format (strText, 191, "%s", message);
  1567.     }
  1568.    
  1569.     format (message, 191, "%s^x01 : %s", strName, strText);
  1570.    
  1571.     sendTeamMessage (color, isAlive, playerTeam);
  1572.    
  1573.     return PLUGIN_CONTINUE;
  1574. }
  1575.  
  1576. public sendMessage (color[], alive)
  1577. {
  1578.     new teamName[10];
  1579.    
  1580.     for (new player = 1; player < maxPlayers; player++)
  1581.     {
  1582.         if (!is_user_connected(player))
  1583.             continue;
  1584.         get_user_team (player, teamName, 9);
  1585.         changeTeamInfo (player, color);
  1586.         writeMessage (player, message);
  1587.         changeTeamInfo (player, teamName);
  1588.     }
  1589. }
  1590.  
  1591.  
  1592. public sendTeamMessage (color[], alive, playerTeam)
  1593. {
  1594.     new teamName[10];
  1595.    
  1596.     for (new player = 1; player < maxPlayers; player++)
  1597.     {
  1598.         if (!is_user_connected(player))
  1599.             continue;
  1600.        
  1601.         if (get_user_team(player) == playerTeam || get_user_flags(player) & ADMIN_BAN)
  1602.         {
  1603.             get_user_team (player, teamName, 9);
  1604.             changeTeamInfo (player, color);
  1605.             writeMessage (player, message);
  1606.             changeTeamInfo (player, teamName);
  1607.         }
  1608.     }
  1609. }
  1610.  
  1611.  
  1612. public changeTeamInfo (player, team[])
  1613. {
  1614.     message_begin (MSG_ONE, teamInfo, _, player);
  1615.     write_byte (player);
  1616.     write_string (team);
  1617.     message_end();
  1618. }
  1619.  
  1620.  
  1621. public writeMessage (player, message[])
  1622. {
  1623.     message_begin (MSG_ONE, SayText, {0, 0, 0}, player);
  1624.     write_byte (player);
  1625.     write_string (message);
  1626.     message_end ();
  1627. }
  1628.  
  1629. stock bool:ValidMdl(Mdl[])
  1630. {
  1631.     if(containi(Mdl, ".mdl") != -1)
  1632.     {
  1633.         return true;
  1634.     }
  1635.     return false;
  1636. }
  1637. stock bool:Registered(id)
  1638. {
  1639.     new pFile, Data[2][32], Line[64], Name[32];
  1640.     get_user_name(id, Name, 31);
  1641.     pFile = fopen(RegisterFile, "rt");
  1642.    
  1643.     while(!feof(pFile))
  1644.     {
  1645.         fgets(pFile, Line, 63);
  1646.        
  1647.         parse(Line, Data[0], 31, Data[1], 31);
  1648.        
  1649.         if(equal(Data[0], Name))
  1650.         {
  1651.             copy(SavedPassword[id], 31, Data[1]);
  1652.             return true;
  1653.         }
  1654.     }
  1655.    
  1656.     fclose(pFile);
  1657.    
  1658.     return false;
  1659. }
  1660. stock Register(id, const rSavedPassword[])
  1661. {
  1662.     new pFile, Line[64], Name[32];
  1663.     get_user_name(id, Name, 31);
  1664.     pFile = fopen(RegisterFile, "at+");
  1665.     format(Line, 63, "^"%s^" ^"%s^"", Name, rSavedPassword);
  1666.     write_file(RegisterFile, Line);
  1667.     fclose(pFile);
  1668. }
  1669. stock Grenades(id)
  1670. {
  1671.     give_item(id, "item_assaultsuit");
  1672. }


Köszi szépen! Mit rontottam el amúgy?

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Plugin Hiba
HozzászólásElküldve: 2018.03.28. 11:26 
Offline
Jómunkásember
Avatar

Csatlakozott: 2016.02.10. 12:46
Hozzászólások: 429
Megköszönt másnak: 61 alkalommal
Megköszönték neki: 157 alkalommal
Huhh. Hát egy jó pár dolog el volt írva, mint pl. Rossz helyre rakott "else" vagy be nem zárt zárójelek ( } ) és hasonlók.

Az első hiba az volt, hogy nem volt bezárva a zárójel ( { ) ennél:

  1. public plugin_precache() {


Vagy ennél, az "else"-nél volt a gond:
  1. else
  2.                 {
  3.                     formatex(Line, 127, "\r%s \d|\y %s \d| \rÁra:\y %d", Name, WeaponNames[WeaponinMarket[x]], MarketPoints[x]);
  4.                     menu_additem(sMenu, Line, String);
  5.                 }
  6.                 else if(203 == WeaponinMarket[x])
  7.                 {
  8.                     formatex(Line, 127, "\r%s \d|\yLegendary Láda \d| \rÁra:\y %d", Name, MarketPoints[x]);
  9.                     menu_additem(sMenu, Line, String);
  10.             }


Az első "else"-nél hiányzik egy feltétel (azaz "else if(valami)") ami után jöhet a második "else".

Ők köszönték meg Dooz nek ezt a hozzászólást: AlphaHun (2018.03.28. 18:26)
  Népszerűség: 2.27%


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  [ 4 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 21 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