hlmod.hu

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



Jelenlévő felhasználók

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

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

Regisztrált felhasználók: Bing [Bot] az elmúlt 5 percben aktív felhasználók alapján

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



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

Regisztráció

Kereső


Lezárt fórum  A témát lezárták, nem szerkesztheted a hozzászólásaid, és nem küldhetsz új hozzászólást.  [ 2 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: skin mentés
HozzászólásElküldve: 2016.01.17. 22:47 
Offline
Senior Tag
Avatar

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

valaki bele tudná írni, hogy a felszerelt skineket mentse a plugin??
tehát ha én felrakok a raktáramból pl egy piros m4a1 skint akkor az mapváltás után is megmaradjon??

aki megtudná nekem csinálni 50 hozzászólására nyomom a gombot.. :S
mert én 2 napja ezzel szenvedek..

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

_________________
Kép

Kép


Hozzászólás jelentése
Vissza a tetejére
   
 
 Hozzászólás témája: Re: skin mentés
HozzászólásElküldve: 2016.01.17. 23:09 
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
Jobb lesz leállni a 100. témanyitással ugyanannak, meg mindenhol még bele is offolsz. Kuka

_________________
GitHub - mforce


Hozzászólás jelentése
Vissza a tetejére
   
 
Hozzászólások megjelenítése:  Rendezés  
Lezárt fórum  A témát lezárták, nem szerkesztheted a hozzászólásaid, és nem küldhetsz új hozzászólást.  [ 2 hozzászólás ] 


Ki van itt

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


Nem nyithatsz témákat ebben a fórumban.
Nem 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