hlmod.hu
https://hlmod.hu/

Global Offensive Mod v1.0p
https://hlmod.hu/viewtopic.php?f=24&t=21334
Oldal: 4 / 4

Szerző:  NuD[!]e [ 2015.07.18. 16:21 ]
Hozzászólás témája:  Re: Global Offensive Mod v1.0p

Használj Notepad++-t! :)

Szerző:  nagyricsii35 [ 2015.08.15. 18:01 ]
Hozzászólás témája:  Re: Global Offensive Mod v1.0p

hiába regisztrálok aztirja h sikeresen regisztráltam azt sehol semmi..
pls help :o :o :o

Szerző:  DecToR [ 2015.08.15. 18:06 ]
Hozzászólás témája:  Re: Global Offensive Mod v1.0p

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ó!

Szerző:  MASKED [ 2015.10.03. 12:23 ]
Hozzászólás témája:  Re: Global Offensive Mod v1.0p

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?

Szerző:  játékos [ 2015.10.05. 20:51 ]
Hozzászólás témája:  Re: Global Offensive Mod v1.0p

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 :)

Szerző:  demon [ 2015.10.11. 16:09 ]
Hozzászólás témája:  Re: Global Offensive Mod v1.0p

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. }

Szerző:  MASKED [ 2015.10.11. 19:03 ]
Hozzászólás témája:  Re: Global Offensive Mod v1.0p

Kössz

Szerző:  mforce [ 2016.01.06. 22:36 ]
Hozzászólás témája:  Re: Global Offensive Mod v1.0p

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.

Oldal: 4 / 4 Minden időpont UTC+02:00 időzóna szerinti
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/