hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2025.06.16. 23:40



Jelenlévő felhasználók

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

A legtöbb felhasználó (2761 fő) 2025.01.09. 20:06-kor tartózkodott itt.

Regisztrált felhasználók: Bing [Bot], 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: Több láda,mentés
HozzászólásElküldve:2016.01.25. 20:30 
Offline
Senior Tag
Avatar

Csatlakozott:2015.04.10. 23:40
Hozzászólások:283
Megköszönt másnak: 6 alkalommal
Megköszönték neki: 12 alkalommal
Sziasztok.

1.Azt szeretném kérdezni, hogy hogyan tudok több ládát létrehozni ebben a pluginban??
Tehát csak több fajta láda kellene a droppjuk viszont lehet ugyan az mint a normál ládának.

2.Hogy tudnák még 1 + menüpontot létrehozni (Szabályzat menü, nem motd)??
Amibe ha belépek egy újabb menüt ad be, viszont nem funkcionál semmit, tehát ha pl megnyomom az 1-est nem fog tenni semmit

3.Hogyan lehetne ebbe a pluginba beleírni, hogy a FELSZERELT SKINEKET is mentse?


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


Globaloffensive.txt:

  1. [hu]
  2. FOUNDITEM = !t %s!y talált egy!g %s!yt!
  3. FOUNDKEY = !t %s!y talált egy!g Kulcs!yot!
  4. FOUNDCHEST = !t %s!y talált egy!g Ládát!yot!
  5. NOTENOUGHTMARKET = !t %d!y euro alatt nem tudsz eladni semmit!
  6. TOMARKET = !t %s!y kirakott egy %st %d euroért!
  7. BUYMARKETITEM = !t %s!y vásárolt egy!t %s!yt %d euroért %s-tól/től!
  8. BUYMARKETKEY = !t %s!y vásárolt egy!t kulcsot!yt %d euroért %s-tól/től!
  9. BUYMARKETCHEST = !t %s!y vásárolt egy!t ládát!yt %d euroért %s-tól/től!
  10. GIFTSUCCESS = !y Ajándékozás sikeres volt!
  11. REGISTERSUCCESS = !y Sikeres regisztráció! [Jelszavad: !t%s!y]
  12. REGISTERLOGIN = !y Sikeresen beléptel!
  13. REGISTERLOGOUT = !y Sikeresen kiléptel!
  14. REGISTERSHORT = !y Túl rövid a jelszó!
  15. REGISTERNAMECHANGE = !y A nev valtas!t nem!y engedelyezett!
  16. SKINPIECE = \r%s \d|\y %d darab
  17. CHESTPIECE = \rLáda \d|\y %d darab
  18. KEYPIECE = \rKulcs \d|\y %d darab
  19. POINT = +%d Euro
  20. YPOINT = \d[Euroid: \y%d\d]
  21. MENUTOSKINS = Fegyverek
  22. MENUTOCHESTOPEN = Láda nyitás
  23. MENUTOMARKET = Piac
  24. MENUTODUSTBIN = Kuka
  25. MAIN = Fő menü
  26. MENUTOGIFT = Ajándékozás
  27. INMARKET = \d[Piacozás közben nem engedélyezett]
  28. MRANG = ^n^n\rKövetkező Rangod:\d %s^n\yÖlés: \r%d\d/\r%d
  29. CHESTSANDKEYS = \rLáda nyitás^n\y   Láda: \r%d^n\y   Kulcs:\r %d
  30. MARKETPLACES = \rStandod:\d %s^n\yÁra:\d %d
  31. MARKETPLACEC = \rStandod:\d Láda^n\yÁra:\d %d
  32. MARKETPLACEK = \rStandod:\d Kulcs^n\yÁra:\d %d
  33. MARKETPLACECH = \dVálasz valamit!
  34. TOMARKETM = \rMehet^n
  35. BACKMARKET = \dVissza^n
  36. SELLERS = \r%s \d|\y %s \d| \rÁra:\y %d
  37. SELLERK = \r%s \d|\y Kulcs \d| \rÁra:\y %d
  38. SELLERC = \r%s \d|\y Láda \d| \rÁra:\y %d
  39. GIFTT = \rSzemély: \d%s
  40. GIFTS = \rAjándék:\d %s
  41. GIFTK = \rAjándék:\d Kulcs
  42. GIFTC = \rAjándék:\d Láda
  43. GIFTCH = \dVálasz valamit!
  44. SENDGIFT = \yMehet!
  45. GIFTPOINTS = \rEuro:\d %d
  46. RMMAIN = \rRegisztrációs\y Menü
  47. RMACCOUNT = \wFelhasznaló:\d %s
  48. RMP = \wJelszó:\d %s^n
  49. RMR = Regisztrálok
  50. RMLOGIN = Bejelentkezés!
  51. RMLOGOUT = Kijelentkezés!
  52. RMLOGOUT = Kijelentkezés!
  53. WPM = \dFegyvermenü
  54. MSG = !y Csatlakozz a facebook csoportunkhoz: !gfacebook.com/groups/rezidencia
[/ablak]

_________________
Kép

Kép


A hozzászólást 1 alkalommal szerkesztették, utoljára kiki 2016.01.26. 10:02-kor.
Kérlek ha túl hosszú a sourcecode akkor rakd ablakba.


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Több láda,mentés
HozzászólásElküldve:2016.01.26. 07:52 
Offline
Nagyúr
Avatar

Csatlakozott:2014.04.10. 15:32
Hozzászólások:776
Megköszönt másnak: 122 alkalommal
Megköszönték neki: 60 alkalommal
Szia.nem akarok kötözködni csak neked segíteni,2 lehetőséged van :
1.Elfelejted ezt a módot(amit most raktál ki)
2.Írsz magadnak egy másikat

Az első azért mert senki nem fogja kijavítani a hibáit
A másodikat meg azért mert ha magadnak írnál egyet sokkal jobban járnál

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Több láda,mentés
HozzászólásElküldve:2016.01.26. 11:14 
Offline
Senior Tag
Avatar

Csatlakozott:2015.04.10. 23:40
Hozzászólások:283
Megköszönt másnak: 6 alkalommal
Megköszönték neki: 12 alkalommal
alfaanero írta:
Szia.nem akarok kötözködni csak neked segíteni,2 lehetőséged van :
1.Elfelejted ezt a módot(amit most raktál ki)
2.Írsz magadnak egy másikat

Az első azért mert senki nem fogja kijavítani a hibáit
A másodikat meg azért mert ha magadnak írnál egyet sokkal jobban járnál


Ez a javított változat, ebben csak a mentés ami nem jó (csak a felszerelt skineket nem menti)

_________________
Kép

Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Több láda,mentés
HozzászólásElküldve:2016.01.26. 18:06 
Offline
Tud valamit
Avatar

Csatlakozott:2016.01.26. 18:02
Hozzászólások:108
Megköszönt másnak: 5 alkalommal
Megköszönték neki: 9 alkalommal
nagyricsii35 írta:
alfaanero írta:
Szia.nem akarok kötözködni csak neked segíteni,2 lehetőséged van :
1.Elfelejted ezt a módot(amit most raktál ki)
2.Írsz magadnak egy másikat

Az első azért mert senki nem fogja kijavítani a hibáit
A másodikat meg azért mert ha magadnak írnál egyet sokkal jobban járnál


Ez a javított változat, ebben csak a mentés ami nem jó (csak a felszerelt skineket nem menti)

Ezt nem tom ki irta de nagyon hibas szerintem amit alfanero nak igaza van
mert ezt neked senki nem fogja kijavitani..

_________________
Global Offensive [100%][2 Nyelv/6 Ládás+Event Láda]
Global Unison[10%][2Láda/Skinek]


Szerverem »
Kép


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 4 vendég


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

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