hlmod.hu

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



Jelenlévő felhasználók

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

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

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

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



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

Regisztráció

Kereső


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.  [ 38 hozzászólás ]  Oldal Előző 1 2 3 4
Szerző Üzenet
 Hozzászólás témája: Re: Global Offensive Mod v1.0p
HozzászólásElküldve: 2015.07.18. 16:21 
Offline
Nagyúr

Csatlakozott: 2014.05.10. 16:41
Hozzászólások: 721
Megköszönt másnak: 43 alkalommal
Megköszönték neki: 64 alkalommal
Használj Notepad++-t! :)


Hozzászólás jelentése
Vissza a tetejére
   
 
 Hozzászólás témája: Re: Global Offensive Mod v1.0p
HozzászólásElküldve: 2015.08.15. 18:01 
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
hiába regisztrálok aztirja h sikeresen regisztráltam azt sehol semmi..
pls help :o :o :o

_________________
Kép

Kép


Hozzászólás jelentése
Vissza a tetejére
   
 
 Hozzászólás témája: Re: Global Offensive Mod v1.0p
HozzászólásElküldve: 2015.08.15. 18:06 
Offline
Jómunkásember
Avatar

Csatlakozott: 2015.04.18. 17:14
Hozzászólások: 454
Megköszönt másnak: 48 alkalommal
Megköszönték neki: 32 alkalommal
nagyricsii35 írta:
hiába regisztrálok aztirja h sikeresen regisztráltam azt sehol semmi..
pls help :o :o :o


Régebben azthiszem amikor ezek a topic-ok voltak akkor volt olyan hogy :DeRoiD írta hogy ami aliedmodders-en van az a friss változat, ami jó!

_________________
Nem Toretto vagyok!!! hanem s[T]* Levii (És le lehet szállni a Torreto-zásról)

Ts3 Ip: ts.beathost.ml:10005


Hozzászólás jelentése
Vissza a tetejére
   
 
 Hozzászólás témája: Re: Global Offensive Mod v1.0p
HozzászólásElküldve: 2015.10.03. 12:23 
Offline
Tag
Avatar

Csatlakozott: 2015.08.03. 19:26
Hozzászólások: 38
Megköszönt másnak: 8 alkalommal
Megköszönték neki: 3 alkalommal
Allieden egy frissebb változat van kint igen, de igazából, ami hibás benne mind a kettőben itt hlmodon és allied-en lévő verzióban is, az az, hogy kulcsot és ládát nem lehet se piacra kirakni meg ajándékozni se lehet!
Ezt nem lehetne javítani, akár itt akár allieden?

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 
 Hozzászólás témája: Re: Global Offensive Mod v1.0p
HozzászólásElküldve: 2015.10.05. 20:51 
Offline
Tud valamit
Avatar

Csatlakozott: 2015.09.16. 07:38
Hozzászólások: 147
Megköszönt másnak: 7 alkalommal
Megköszönték neki: 1 alkalommal
MASKED írta:
Allieden egy frissebb változat van kint igen, de igazából, ami hibás benne mind a kettőben itt hlmodon és allied-en lévő verzióban is, az az, hogy kulcsot és ládát nem lehet se piacra kirakni meg ajándékozni se lehet!
Ezt nem lehetne javítani, akár itt akár allieden?


Én ezt fejlesztem de lehet már csak fejlesztettem és ezt a hibát én is észre vettem :/ de sajnos nem tudtam megoldani :( ha esetleg találsz valami másik GO módot (ne alfanerosat) akk megpróbálok belőle összehozni valami publikus változatot :)


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


Hozzászólás jelentése
Vissza a tetejére
   
 
 Hozzászólás témája: Re: Global Offensive Mod v1.0p
HozzászólásElküldve: 2015.10.11. 19:03 
Offline
Tag
Avatar

Csatlakozott: 2015.08.03. 19:26
Hozzászólások: 38
Megköszönt másnak: 8 alkalommal
Megköszönték neki: 3 alkalommal
Kössz

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 
 Hozzászólás témája: Re: Global Offensive Mod v1.0p
HozzászólásElküldve: 2016.01.06. 22:36 
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
Az alap feltöltött verzió egy szerver gyilkos. fcloseok előtti return = metamod összeomlás.
Köszönjük a feltöltést, de inkább várjuk az új verziót.
Ha holnapig nem javítja [profil]DeR0iD[/profil], akkor kukába helyezem, a kapcsolatot felvettem vele.

Szerk.: Írt, nem frissíti.

_________________
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.  [ 38 hozzászólás ]  Oldal Előző 1 2 3 4


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