hlmod.hu

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



Jelenlévő felhasználók

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

A legtöbb felhasználó (2761 fő) 2025.01.09. 20:06-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  [3 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Plugin Szerkesztés (Segítség kellene)
HozzászólásElküldve:2016.03.14. 19:02 
Offline
Jómunkásember
Avatar

Csatlakozott:2016.02.27. 17:55
Hozzászólások:368
Megköszönt másnak: 26 alkalommal
Megköszönték neki: 61 alkalommal
Üdv mindenkinek!

Egy Global Offensive pluginról lenne szó, melyet DeR0iD készített.
Az eredeti annyiba volt "hibás", hogy minden fegyverhez csak 1 alap tárat adott.
Egy személy ezt a plugint javította, tökéletesen működik a plugin, de a Kuka-t(Lomtár) kihagyta belőle.
Valaki segítene beleírni? :D
Ha megoldható, a Piac után legyen.
Ennyire még nem vagyok benne a témában.
Előre is köszönöm!

FORRÁSKÓD:

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


Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve:2016.03.14. 21:45 
Offline
Jómunkásember
Avatar

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

Mint ahogy privátban is írtam a plugin nagyon szarul van megírva. Én csak pár nagyobb hibát javítottam rajta.


Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve:2016.03.14. 21:46 
Offline
Tiszteletbeli
Avatar

Csatlakozott:2014.09.08. 22:21
Hozzászólások:3014
Megköszönt másnak: 96 alkalommal
Megköszönték neki: 555 alkalommal
 ! Moderátori megjegyzés (mforce):
Témanév

_________________
GitHub - mforce


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


Ki van itt

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