hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.05.07. 07:22



Jelenlévő felhasználók

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

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

Regisztrált felhasználók: nincs regisztrált felhasználó az elmúlt 5 percben aktív felhasználók alapján

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



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

Regisztráció

Kereső


Új téma nyitása  Hozzászólás a témához  [ 2 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: CS-GO Mód model hiba
HozzászólásElküldve: 2015.12.13. 12:57 
Offline
Jómunkásember
Avatar

Csatlakozott: 2013.12.18. 17:35
Hozzászólások: 365
Megköszönt másnak: 152 alkalommal
Megköszönték neki: 31 alkalommal
Üdv!
Miért nem tölti le a modeleket ez a plugin?
Felmegyek a szerverre, kiválasztom a fegyvert és nem látom a modeljét.



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.0p";
  11. new const AUTHOR[] = "DeRoiD";
  12.  
  13. #define MAX 50
  14.  
  15. #define PointsMin 3
  16. #define PointsMax 8
  17. #define Drop 10
  18. #define MarkMin 25
  19.  
  20. #pragma semicolon 1
  21.  
  22. new WeaponNames[MAX][32], WeaponMdls[MAX][48], Weapons[MAX], WeaponDrop[MAX], AllWeapon;
  23. new UsingWeapon[3][33], uWeapon[MAX][33], Chest[33], pKey[33], Points[33], Rang[33], Kills[33],
  24. aThing[33], aTarget[33], aPoints[33], Prefix[32];
  25. new Folder[48], SkinFile[48], SaveFile[48], RegisterFile[48], DefaultSkinFile[48], RangFile[48], MenuMod[33], SayText;
  26. new WeaponinMarket[33], inMarket[33], MarketPoints[33], Choosen[33];
  27. new SavedPassword[33][32], bool:Loged[33], Password[33][32];
  28. new DefaultSkin[31][32], NeedKills[30], Rangs[30][32];
  29.  
  30. new const eWeapon[][] =
  31. {
  32. "weapon_famas", "weapon_usp", "weapon_awp", "weapon_mp5navy", "weapon_m3", "weapon_m4a1",
  33. "weapon_deagle", "weapon_ak47", "weapon_knife", "weapon_flashbang", "weapon_hegrenade",
  34. "weapon_smokegrenade", "weapon_c4"
  35. };
  36.  
  37. new const FirstWeaponNames[][][] =
  38. {
  39. { "AK47", "weapon_ak47" },
  40. { "M4A1", "weapon_m4a1" },
  41. { "AWP", "weapon_awp" },
  42. { "FAMAS", "weapon_famas" },
  43. { "MP5", "weapon_mp5navy" },
  44. { "SHOTGUN", "weapon_mp3" }
  45. };
  46.  
  47. new const SecondaryWeaponNames[][][] =
  48. {
  49. { "DEAGLE", "weapon_deagle" },
  50. { "USP", "weapon_usp" }
  51. };
  52.  
  53. public plugin_precache() {
  54. new Line[128], Data[4][48], Len;
  55. AllWeapon++;
  56. get_configsdir(Folder, 47);
  57. format(SkinFile, 47, "%s/csgo/skins.cfg", Folder);
  58. format(SaveFile, 47, "%s/csgo/save.ini", Folder);
  59. format(RangFile, 47, "%s/csgo/rangs.cfg", Folder);
  60. format(RegisterFile, 47, "%s/csgo/reg.ini", Folder);
  61. format(DefaultSkinFile, 47, "%s/csgo/dskins.cfg", Folder);
  62. format(Prefix, 31, "[Global Offensive]");
  63.  
  64. if(file_exists(RangFile))
  65. {
  66. for(new i; i < file_size(RangFile, 1); i++)
  67. {
  68. read_file(RangFile, i, Line, 127, Len);
  69. parse(Line, Data[0], 31, Data[1], 31);
  70.  
  71. copy(Rangs[i], 31, Data[0]);
  72. NeedKills[i] = str_to_num(Data[1]);
  73. }
  74. }
  75. if(file_exists(SkinFile))
  76. {
  77. for(new i; i < file_size(SkinFile, 1); i++)
  78. {
  79. read_file(SkinFile, i, Line, 127, Len);
  80.  
  81. if(strlen(Line) < 5)
  82. continue;
  83.  
  84. parse(Line, Data[0], 31, Data[1], 31, Data[2], 47, Data[3], 31);
  85.  
  86. Weapons[AllWeapon] = str_to_num(Data[0]);
  87. copy(WeaponNames[AllWeapon], 31, Data[1]);
  88.  
  89. if(ValidMdl(Data[2])) {
  90. precache_model(Data[2]);
  91. copy(WeaponMdls[AllWeapon], 47, Data[2]);
  92. }
  93.  
  94. WeaponDrop[AllWeapon] = str_to_num(Data[3]);
  95. AllWeapon++;
  96. }
  97. }
  98. if(file_exists(DefaultSkinFile))
  99. {
  100. for(new i; i < file_size(DefaultSkinFile, 1); i++)
  101. {
  102. read_file(DefaultSkinFile, i, Line, 127, Len);
  103.  
  104. if(strlen(Line) < 5)
  105. continue;
  106.  
  107. parse(Line, Data[0], 31, Data[1], 47);
  108.  
  109. if(ValidMdl(Data[1])) {
  110. precache_model(Data[1]);
  111. copy(DefaultSkin[str_to_num(Data[0])], 47, Data[1]);
  112. }
  113. }
  114. }
  115. }
  116. public plugin_init() {
  117. register_dictionary("globaloffensive.txt");
  118. register_plugin(PLUGIN, VERSION, AUTHOR);
  119. register_cvar(PLUGIN, VERSION, FCVAR_SERVER);
  120.  
  121. register_clcmd("say /menu", "MenuOpen");
  122. register_clcmd("say /reg", "RegMenu");
  123. register_clcmd("say /gun", "Guns");
  124.  
  125. register_concmd("Cost", "MarketCost");
  126. register_concmd("Gift", "GiftPoint");
  127. register_concmd("Password", "PlayerPassword");
  128.  
  129. SayText = get_user_msgid("SayText");
  130. register_forward(FM_ClientUserInfoChanged, "NameChange");
  131. RegisterHam(Ham_Spawn, "player", "PlayerSpawn", 1);
  132.  
  133. for(new i; i < sizeof(eWeapon); i++)
  134. {
  135. RegisterHam(Ham_Item_Deploy, eWeapon[i], "WeaponSwitch", 1);
  136. }
  137.  
  138. register_clcmd("say", "Say");
  139. register_clcmd("say_team", "Say");
  140.  
  141. set_task(67.3, "Message", 69);
  142. }
  143. public Message()
  144. {
  145. print_color(0, "!g%s%L", Prefix, LANG_SERVER, "MSG", PLUGIN, VERSION, AUTHOR);
  146. set_task(76.9, "Message", 69);
  147. }
  148. public Guns(id)
  149. {
  150. if(Choosen[id] < 1)
  151. {
  152. Choosen[id] = 0;
  153. WeaponMenu(id);
  154. }
  155. }
  156. public PlayerSpawn(id)
  157. {
  158. if(is_user_alive(id))
  159. {
  160. Choosen[id] = 0;
  161. if(user_has_weapon(id, CSW_C4))
  162. {
  163. strip_user_weapons(id);
  164. give_item(id, "weapon_c4");
  165. give_item(id, "weapon_knife");
  166. WeaponMenu(id);
  167. }
  168. else
  169. {
  170. strip_user_weapons(id);
  171. if(cs_get_user_team(id) == CS_TEAM_CT)
  172. cs_set_user_defuse(id, 1);
  173. give_item(id, "weapon_knife");
  174. WeaponMenu(id);
  175. }
  176. }
  177. }
  178. public Say(id)
  179. {
  180. new Chat[256], Name[32], cChat[256];
  181. read_args(Chat, 255);
  182. remove_quotes(Chat);
  183. get_user_name(id, Name, 31);
  184.  
  185. if(strlen(Chat) > 1)
  186. {
  187. formatex(cChat, 255, "^4[%s] ^3%s^1: %s", Rangs[Rang[id]], Name, Chat);
  188. }
  189.  
  190. switch(cs_get_user_team(id))
  191. {
  192. case 1: ColorChat(0, RED, cChat);
  193. case 2: ColorChat(0, BLUE, cChat);
  194. case 3: ColorChat(0, GREY, cChat);
  195. }
  196. return PLUGIN_HANDLED;
  197. }
  198. public MenuOpen(id)
  199. {
  200. if(!Loged[id])
  201. {
  202. RegMenu(id);
  203. return;
  204. }
  205.  
  206. MenuMod[id] = 0;
  207. Menu(id);
  208. }
  209. public client_death(Killer, Victim)
  210. {
  211. if(Killer == Victim)
  212. {
  213. return PLUGIN_HANDLED;
  214. }
  215.  
  216. Kills[Killer]++;
  217.  
  218. if(Rang[Killer] < sizeof(Rangs) && Rang[Killer] < file_size(RangFile, 1))
  219. {
  220. if(Kills[Killer] >= NeedKills[Rang[Killer]])
  221. Rang[Killer]++;
  222. }
  223.  
  224. new pPont, Name[32];
  225.  
  226. pPont += random_num(PointsMin, PointsMax);
  227. Points[Killer] += pPont;
  228.  
  229. set_hudmessage(255, 255, 255, -1.0, 0.15, 0, 6.0, 2.0);
  230. show_hudmessage(Killer, "%L", LANG_SERVER, "POINT", pPont);
  231.  
  232.  
  233. if(Drop >= random_num(1, 100))
  234. {
  235. get_user_name(Killer, Name, 31);
  236. new x = random_num(1, 2);
  237. if(x == 1)
  238. {
  239. pKey[Killer]++;
  240. print_color(0, "!g%s%L", Prefix, LANG_SERVER, "FOUNDKEY", Name);
  241. }
  242. if(x == 2)
  243. {
  244. Chest[Killer]++;
  245. print_color(0, "!g%s%L", Prefix, LANG_SERVER, "FOUNDCHEST", Name);
  246. }
  247. }
  248. Save(Killer);
  249. return PLUGIN_CONTINUE;
  250. }
  251. public MarketCost(id)
  252. {
  253. if(inMarket[id] || !Loged[id])
  254. return PLUGIN_HANDLED;
  255.  
  256. new Data[32], Cost;
  257. read_args(Data, 31);
  258. remove_quotes(Data);
  259.  
  260. Cost = str_to_num(Data);
  261.  
  262. if(Cost < 0)
  263. {
  264. client_cmd(id, "messagemode Cost");
  265. return PLUGIN_HANDLED;
  266. }
  267. else if(MarkMin >= Cost)
  268. {
  269. print_color(id, "%s %L", Prefix, LANG_SERVER, "NOTENOUGHTMARKET", MarkMin);
  270. client_cmd(id, "messagemode Cost");
  271. return PLUGIN_HANDLED;
  272. }
  273. else
  274. {
  275. MarketPoints[id] = Cost;
  276. Menu(id);
  277. MenuMod[id] = 3;
  278. return PLUGIN_CONTINUE;
  279. }
  280. return PLUGIN_CONTINUE;
  281. }
  282. public GiftPoint(id)
  283. {
  284. if(inMarket[id] || !Loged[id])
  285. return PLUGIN_HANDLED;
  286.  
  287. new Data[32], Cost;
  288. read_args(Data, 31);
  289. remove_quotes(Data);
  290.  
  291. Cost = str_to_num(Data);
  292.  
  293. if(Cost < 0 || Points[id] < Cost)
  294. {
  295. client_cmd(id, "messagemode Gift");
  296. return PLUGIN_HANDLED;
  297. }
  298. else
  299. {
  300. aPoints[id] = Cost;
  301. Menu(id);
  302. MenuMod[id] = 5;
  303. return PLUGIN_CONTINUE;
  304. }
  305. return PLUGIN_CONTINUE;
  306. }
  307. public WeaponSwitch(Weapon) {
  308. new id = get_pdata_cbase(Weapon, 41, 4);
  309. new wid = cs_get_weapon_id(Weapon);
  310.  
  311. if(id > 32 || id < 1)
  312. {
  313. return HAM_SUPERCEDE;
  314. }
  315.  
  316. for(new i = 1; i < AllWeapon; i++)
  317. {
  318. if(i == UsingWeapon[0][id])
  319. {
  320. if(wid == Weapons[i])
  321. {
  322. set_pev(id, pev_viewmodel2, WeaponMdls[i]);
  323. return HAM_SUPERCEDE;
  324. }
  325. }
  326. else if(i == UsingWeapon[1][id])
  327. {
  328. if(wid == Weapons[i])
  329. {
  330. set_pev(id, pev_viewmodel2, WeaponMdls[i]);
  331. return HAM_SUPERCEDE;
  332. }
  333. }
  334. else if(i == UsingWeapon[2][id])
  335. {
  336. if(wid == Weapons[i])
  337. {
  338. set_pev(id, pev_viewmodel2, WeaponMdls[i]);
  339. return HAM_SUPERCEDE;
  340. }
  341. }
  342.  
  343. }
  344. log_amx("%d %s", wid, DefaultSkin[wid]);
  345. set_pev(id, pev_viewmodel2, DefaultSkin[wid]);
  346. return HAM_IGNORED;
  347. }
  348. public ChestOpen(id)
  349. {
  350. new rWeapon = random_num(1, AllWeapon);
  351. new rNum = random_num(1, 100);
  352.  
  353. if(WeaponDrop[rWeapon] >= rNum)
  354. {
  355. new Name[32];
  356. get_user_name(id, Name, 31);
  357. print_color(id, "!g[CSGO]%L", LANG_SERVER, "FOUNDITEM", Name, WeaponNames[rWeapon]);
  358. uWeapon[rWeapon][id]++;
  359. Save(id);
  360. }
  361. else
  362. {
  363. ChestOpen(id);
  364. }
  365. }
  366. public Menu(id)
  367. {
  368. if(!Loged[id])
  369. {
  370. RegMenu(id);
  371. return;
  372. }
  373.  
  374. new sMenu, Line[128];
  375.  
  376. if(MenuMod[id] == -2)
  377. {
  378. formatex(Line, 127, "%s\r %L %L",
  379. Prefix, LANG_SERVER, "GIFTCH", LANG_SERVER, "YPOINT", Points[id]);
  380. sMenu = menu_create(Line, "MenuHandler");
  381. new String[32], All;
  382. for(new i = 1; i < AllWeapon; i++)
  383. {
  384. if(uWeapon[i][id] == 0)
  385. continue;
  386.  
  387. num_to_str(i, String, 31);
  388. formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], uWeapon[i][id]);
  389. menu_additem(sMenu, Line, String);
  390. All++;
  391. }
  392. if(Chest[id] > 0)
  393. {
  394. formatex(Line, 127, "%L", LANG_SERVER, "CHESTPIECE", Chest[id]);
  395. menu_additem(sMenu, Line, "101");
  396. All++;
  397. }
  398. if(pKey[id] > 0)
  399. {
  400. formatex(Line, 127, "%L", LANG_SERVER, "KEYPIECE", pKey[id]);
  401. menu_additem(sMenu, Line, "102");
  402. All++;
  403. }
  404. if(All == 0)
  405. {
  406. MenuMod[id] = 0;
  407. Menu(id);
  408. }
  409. }
  410. else if(MenuMod[id] == -1)
  411. {
  412. formatex(Line, 127, "%s\r %L %L",
  413. Prefix, LANG_SERVER, "GIFTCH", LANG_SERVER, "YPOINT", Points[id]);
  414. sMenu = menu_create(Line, "MenuHandler");
  415. new String[32], All;
  416. for(new i = 1; i < AllWeapon; i++)
  417. {
  418. if(uWeapon[i][id] == 0)
  419. continue;
  420.  
  421. num_to_str(i, String, 31);
  422. formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], uWeapon[i][id]);
  423. menu_additem(sMenu, Line, String);
  424. All++;
  425. }
  426. if(Chest[id] > 0)
  427. {
  428. formatex(Line, 127, "%L", LANG_SERVER, "CHESTPIECE", Chest[id]);
  429. menu_additem(sMenu, Line, "101");
  430. All++;
  431. }
  432. if(pKey[id] > 0)
  433. {
  434. formatex(Line, 127, "%L", LANG_SERVER, "KEYPIECE", pKey[id]);
  435. menu_additem(sMenu, Line, "102");
  436. All++;
  437. }
  438. if(All == 0)
  439. {
  440. MenuMod[id] = 0;
  441. Menu(id);
  442. }
  443. }
  444. else if(MenuMod[id] == 0)
  445. {
  446. formatex(Line, 127, "%s\r %L %L",
  447. Prefix, LANG_SERVER, "MAIN", LANG_SERVER, "YPOINT", Points[id]);
  448. sMenu = menu_create(Line, "MenuHandler");
  449. formatex(Line, 127, "%L", LANG_SERVER, "MENUTOSKINS");
  450. menu_additem(sMenu, Line, "1");
  451.  
  452. if(!inMarket[id])
  453. {
  454. formatex(Line, 127, "%L", LANG_SERVER, "MENUTOCHESTOPEN");
  455. menu_additem(sMenu, Line, "2");
  456. }
  457. else
  458. {
  459. formatex(Line, 127, "%L %L",
  460. LANG_SERVER, "MENUTOCHESTOPEN", LANG_SERVER, "INMARKET");
  461. menu_additem(sMenu, Line, "0");
  462. }
  463.  
  464. formatex(Line, 127, "%L", LANG_SERVER, "MENUTOMARKET");
  465. menu_additem(sMenu, Line, "3");
  466.  
  467. if(!inMarket[id])
  468. {
  469. formatex(Line, 127, "%L", LANG_SERVER, "MENUTODUSTBIN");
  470. menu_additem(sMenu, Line, "4");
  471. }
  472. else
  473. {
  474. formatex(Line, 127, "%L %L",
  475. LANG_SERVER, "MENUTODUSTBIN", LANG_SERVER, "INMARKET");
  476. menu_additem(sMenu, Line, "0");
  477. }
  478.  
  479. if(!inMarket[id])
  480. {
  481. formatex(Line, 127, "%L%L",
  482. LANG_SERVER, "MENUTOGIFT", LANG_SERVER, "MRANG", Rangs[Rang[id]+1], Kills[id], NeedKills[Rang[id]]);
  483. menu_additem(sMenu, Line, "5");
  484. }
  485. else
  486. {
  487. formatex(Line, 127, "%L %L%L",
  488. LANG_SERVER, "MENUTOGIFT", LANG_SERVER, "INMARKET", LANG_SERVER, "MRANG", Rangs[Rang[id]+1], Kills[id], NeedKills[Rang[id]]);
  489. menu_additem(sMenu, Line, "0");
  490. }
  491. }
  492. else if(MenuMod[id] == 1)
  493. {
  494. formatex(Line, 127, "%s\r %L %L",
  495. Prefix, LANG_SERVER, "MENUTOSKINS", LANG_SERVER, "YPOINT", Points[id]);
  496. sMenu = menu_create(Line, "MenuHandler");
  497. new String[32], All;
  498. for(new i = 1; i < AllWeapon; i++)
  499. {
  500. if(uWeapon[i][id] == 0)
  501. continue;
  502.  
  503. formatex(String, 31, "%d %d", i, Weapons[i]);
  504. formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], uWeapon[i][id]);
  505. menu_additem(sMenu, Line, String);
  506. All++;
  507. }
  508. if(All == 0)
  509. {
  510. MenuMod[id] = 0;
  511. Menu(id);
  512. }
  513. }
  514. else if(MenuMod[id] == 2)
  515. {
  516. formatex(Line, 127, "%s\r %L %L",
  517. Prefix, LANG_SERVER, "MENUTOCHESTOPEN", LANG_SERVER, "YPOINT", Points[id]);
  518. sMenu = menu_create(Line, "MenuHandler");
  519. formatex(Line, 127, "%L", LANG_SERVER, "CHESTSANDKEYS", Chest[id], pKey[id]);
  520. menu_additem(sMenu, Line, "1");
  521. }
  522. else if(MenuMod[id] == 3)
  523. {
  524. formatex(Line, 127, "%s\r %L %L",
  525. Prefix, LANG_SERVER, "MENUTOMARKET", LANG_SERVER, "YPOINT", Points[id]);
  526. sMenu = menu_create(Line, "MenuHandler");
  527. new String[32], All;
  528. if(!inMarket[id])
  529. {
  530. for(new i = 1; i < AllWeapon; i++)
  531. {
  532. if(i == WeaponinMarket[id] && uWeapon[i][id] > 0)
  533. {
  534. formatex(Line, 127, "%L", LANG_SERVER, "MARKETPLACES", WeaponNames[i], MarketPoints[id]);
  535. All++;
  536. }
  537. }
  538.  
  539. if(101 == WeaponinMarket[id] && Chest[id] > 0)
  540. {
  541. formatex(Line, 127, "%L", LANG_SERVER, "MARKETPLACEC", MarketPoints[id]);
  542. All++;
  543. }
  544. if(102 == WeaponinMarket[id] && pKey[id] > 0)
  545. {
  546. formatex(Line, 127, "%L", LANG_SERVER, "MARKETPLACEK", MarketPoints[id]);
  547. All++;
  548. }
  549.  
  550. if(All == 0)
  551. formatex(Line, 127, "%L", LANG_SERVER, "MARKETPLACECH");
  552. menu_additem(sMenu, Line, "-1");
  553. }
  554.  
  555. if(!inMarket[id])
  556. formatex(Line, 127, "%L", LANG_SERVER, "TOMARKETM");
  557. else
  558. formatex(Line, 127, "%L", LANG_SERVER, "BACKMARKET");
  559. menu_additem(sMenu, Line, "0");
  560.  
  561. new Name[32];
  562. for(new x; x < 32; x++)
  563. {
  564. if(!is_user_connected(x))
  565. continue;
  566.  
  567. if(inMarket[x] && MarketPoints[x] > 0)
  568. {
  569. num_to_str(x, String, 31);
  570. get_user_name(x, Name, 31);
  571. if(101 == WeaponinMarket[x])
  572. {
  573. formatex(Line, 127, "%L", LANG_SERVER, "SELLERC", Name, MarketPoints[x]);
  574. menu_additem(sMenu, Line, String);
  575. }
  576. else if(102 == WeaponinMarket[x])
  577. {
  578. formatex(Line, 127, "%L", LANG_SERVER, "SELLERK", Name, MarketPoints[x]);
  579. menu_additem(sMenu, Line, String);
  580. }
  581. else
  582. {
  583. formatex(Line, 127, "%L", LANG_SERVER, "SELLERS", Name, WeaponNames[WeaponinMarket[x]], MarketPoints[x]);
  584. menu_additem(sMenu, Line, String);
  585. }
  586. }
  587. }
  588. }
  589. else if(MenuMod[id] == 4)
  590. {
  591. formatex(Line, 127, "%s\r %L %L",
  592. Prefix, LANG_SERVER, "MENUTODUSTBIN", LANG_SERVER, "YPOINT", Points[id]);
  593. sMenu = menu_create(Line, "MenuHandler");
  594. new String[32], All;
  595. for(new i = 1; i < AllWeapon; i++)
  596. {
  597. if(uWeapon[i][id] == 0)
  598. continue;
  599.  
  600. num_to_str(i, String, 31);
  601. formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], uWeapon[i][id]);
  602. menu_additem(sMenu, Line, String);
  603. All++;
  604. }
  605. if(All == 0)
  606. {
  607. MenuMod[id] = 0;
  608. Menu(id);
  609. }
  610. }
  611. else if(MenuMod[id] == 5)
  612. {
  613. formatex(Line, 127, "%s\r %L %L",
  614. Prefix, LANG_SERVER, "MENUTOGIFT", LANG_SERVER, "YPOINT", Points[id]);
  615. sMenu = menu_create(Line, "MenuHandler");
  616. new All, Name[32], String[32];
  617. get_user_name(aTarget[id], Name, 31);
  618.  
  619. if(aTarget[id] > 0 && is_user_alive(aTarget[id]))
  620. {
  621. formatex(Line, 127, "%L", LANG_SERVER, "GIFTT", Name);
  622. menu_additem(sMenu, Line, "-1");
  623. for(new i = 1; i < AllWeapon; i++)
  624. {
  625. if(i == aThing[id] && uWeapon[i][id] > 0)
  626. {
  627. formatex(Line, 127, "%L", LANG_SERVER, "GIFTS", WeaponNames[i]);
  628. menu_additem(sMenu, Line, "-2");
  629. All++;
  630. }
  631. }
  632.  
  633. if(aThing[id] == 0 && All == 0)
  634. {
  635. formatex(Line, 127, "%L", LANG_SERVER, "GIFTCH");
  636. menu_additem(sMenu, Line, "-2");
  637. }
  638. else if(aThing[id] > 100)
  639. {
  640. if(101 == aThing[id])
  641. {
  642. formatex(Line, 127, "%L", LANG_SERVER, "GIFTC");
  643. }
  644. if(102 == aThing[id])
  645. {
  646. formatex(Line, 127, "%L", LANG_SERVER, "GIFTK");
  647. }
  648. menu_additem(sMenu, Line, "-2");
  649. }
  650.  
  651. formatex(Line, 127, "%L", LANG_SERVER, "GIFTPOINTS", aPoints[id]);
  652. menu_additem(sMenu, Line, "-4");
  653. formatex(Line, 127, "%L", LANG_SERVER, "SENDGIFT");
  654. menu_additem(sMenu, Line, "-3");
  655. }
  656. else
  657. {
  658. for(new i; i < 32; i++)
  659. {
  660. if(is_user_connected(i))
  661. {
  662. get_user_name(i, Name, 31);
  663. num_to_str(i, String, 31);
  664. menu_additem(sMenu, Name, String);
  665. }
  666. }
  667. }
  668. }
  669. menu_display(id, sMenu);
  670. }
  671. public MenuHandler(id, gMenu, Key)
  672. {
  673. if(Key == MENU_EXIT)
  674. {
  675. MenuMod[id] = 0;
  676. menu_destroy(gMenu);
  677. return PLUGIN_HANDLED;
  678. }
  679. new aMenu[2], Data[4][32], sKey[32], Name[32], mName[32];
  680. menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
  681.  
  682. parse(Data[0], sKey, 31);
  683. Key = str_to_num(sKey);
  684.  
  685. if(MenuMod[id] == -2)
  686. {
  687. aThing[id] = Key;
  688. MenuMod[id] = 5;
  689. Menu(id);
  690. return PLUGIN_HANDLED;
  691. }
  692. if(MenuMod[id] == -1)
  693. {
  694. MenuMod[id] = 3;
  695. WeaponinMarket[id] = Key;
  696. client_cmd(id, "messagemode Cost");
  697. Menu(id);
  698. return PLUGIN_HANDLED;
  699. }
  700. else if(MenuMod[id] == 0)
  701. {
  702. MenuMod[id] = Key;
  703. Menu(id);
  704. return PLUGIN_HANDLED;
  705. }
  706. else if(MenuMod[id] == 1)
  707. {
  708. parse(Data[0], Data[2], 31, Data[3], 31);
  709.  
  710. if(str_to_num(Data[3]) == 16 || str_to_num(Data[3]) == 26)
  711. UsingWeapon[1][id] = str_to_num(Data[2]);
  712. else if(str_to_num(Data[3]) == 29)
  713. UsingWeapon[2][id] = str_to_num(Data[2]);
  714. else
  715. UsingWeapon[0][id] = str_to_num(Data[2]);
  716. return PLUGIN_HANDLED;
  717. }
  718. else if(MenuMod[id] == 2)
  719. {
  720. if(Key == 1)
  721. {
  722. if(Chest[id] > 0 && pKey[id] > 0)
  723. {
  724. Chest[id]--;
  725. pKey[id]--;
  726. ChestOpen(id);
  727. Menu(id);
  728. return PLUGIN_HANDLED;
  729. }
  730. }
  731. }
  732. else if(MenuMod[id] == 3)
  733. {
  734. if(Key == -1)
  735. {
  736. MenuMod[id] = -1;
  737. Menu(id);
  738. return PLUGIN_HANDLED;
  739. }
  740. else if(Key == 0)
  741. {
  742. if(inMarket[id])
  743. inMarket[id] = false;
  744. else if(MarketPoints[id] > 0)
  745. {
  746. get_user_name(id, Name, 31);
  747. print_color(0, "!g%s%L",
  748. Prefix, LANG_SERVER, "TOMARKET", Name, WeaponNames[WeaponinMarket[id]], MarketPoints[id]);
  749. inMarket[id] = true;
  750. }
  751. Menu(id);
  752. return PLUGIN_HANDLED;
  753. }
  754. else if(inMarket[Key] && Points[id] >= MarketPoints[Key])
  755. {
  756. get_user_name(Key, Name, 31);
  757. get_user_name(id, mName, 31);
  758. if(WeaponinMarket[Key] < 101)
  759. {
  760. print_color(0, "!g%s%L",
  761. Prefix, LANG_SERVER, "BUYMARKETITEM",
  762. mName, WeaponNames[WeaponinMarket[Key]], MarketPoints[Key], Name);
  763. uWeapon[WeaponinMarket[Key]][id]++;
  764. uWeapon[WeaponinMarket[Key]][Key]--;
  765. }
  766. else if(WeaponinMarket[Key] == 101)
  767. {
  768. print_color(0, "!g%s%L",
  769. Prefix, LANG_SERVER, "BUYMARKETCHEST",
  770. mName, MarketPoints[Key], Name);
  771. Chest[id]++;
  772. Chest[Key]--;
  773. }
  774. else if(WeaponinMarket[Key] == 102)
  775. {
  776. print_color(0, "!g%s%L",
  777. Prefix, LANG_SERVER, "BUYMARKETKEY",
  778. mName, MarketPoints[Key], Name);
  779. pKey[id]++;
  780. pKey[Key]--;
  781. }
  782. Points[Key] += MarketPoints[Key];
  783. Points[id] -= MarketPoints[Key];
  784. Save(Key);
  785. Save(id);
  786. inMarket[Key] = false;
  787. MarketPoints[Key] = 0;
  788. WeaponinMarket[Key] = 0;
  789. MenuMod[id] = 0;
  790. }
  791. }
  792. else if(MenuMod[id] == 4)
  793. {
  794. uWeapon[Key][id]--;
  795. Menu(id);
  796. Save(id);
  797. return PLUGIN_HANDLED;
  798. }
  799. else if(MenuMod[id] == 5)
  800. {
  801. if(Key == -1)
  802. {
  803. aTarget[id] = 0;
  804. }
  805. if(Key == -2)
  806. {
  807. MenuMod[id] = -2;
  808. }
  809. if(Key == -3)
  810. {
  811. if(uWeapon[aThing[id]][id] > 0)
  812. {
  813. uWeapon[aThing[id]][aTarget[id]]++;
  814. uWeapon[aThing[id]][id]--;
  815. Points[aTarget[id]] += aPoints[id];
  816. Points[id] -= aPoints[id];
  817. Save(aTarget[id]);
  818. Save(id);
  819. MenuMod[id] = 0;
  820. aThing[id] = 0;
  821. aTarget[id] = 0;
  822. aPoints[id] = 0;
  823. print_color(id, "!g%s%L",
  824. Prefix, LANG_SERVER, "GIFTSUCCESS");
  825. }
  826. }
  827. if(Key == -4)
  828. {
  829. client_cmd(id, "messagemode Gift");
  830. }
  831. if(Key > 0)
  832. aTarget[id] = Key;
  833. Menu(id);
  834. return PLUGIN_HANDLED;
  835. }
  836. MenuMod[id] = 0;
  837. return PLUGIN_CONTINUE;
  838. }
  839. stock print_color(const id, const input[], any:...)
  840. {
  841. new Count = 1, Players[32];
  842. static Msg[191];
  843. vformat(Msg, 190, input, 3);
  844.  
  845. replace_all(Msg, 190, "!g", "^4");
  846. replace_all(Msg, 190, "!y", "^1");
  847. replace_all(Msg, 190, "!t", "^3");
  848.  
  849. if(id) Players[0] = id; else get_players(Players, Count, "ch");
  850. {
  851. for (new i = 0; i < Count; i++)
  852. {
  853. if (is_user_connected(Players[i]))
  854. {
  855. message_begin(MSG_ONE_UNRELIABLE, SayText, _, Players[i]);
  856. write_byte(Players[i]);
  857. write_string(Msg);
  858. message_end();
  859. }
  860. }
  861. }
  862. return PLUGIN_HANDLED;
  863. }
  864. public client_putinserver(id)
  865. {
  866. Kills[id] = 0, Rang[id] = 0, Points[id] = 0, Choosen[id] = 0, pKey[id] = 0, Chest[id] = 0;
  867. for(new i; i < AllWeapon; i++)
  868. {
  869. uWeapon[i][id] = 0;
  870. }
  871. Load(id);
  872. Password[id] = "";
  873. SavedPassword[id] = "";
  874. Loged[id] = false;
  875. }
  876. public Load(id)
  877. {
  878. if(!is_user_connected(id))
  879. {
  880. return PLUGIN_HANDLED;
  881. }
  882.  
  883. new pFile, Name[32];
  884. pFile = fopen(SaveFile, "rt");
  885. get_user_name(id, Name, 31);
  886.  
  887. if(pFile)
  888. {
  889. new Line[256];
  890. new LineName[32], tData[5][8], Data[MAX][8];
  891.  
  892. while(!feof(pFile))
  893. {
  894. fgets(pFile, Line, 255);
  895.  
  896. if(Line[0] == ';' || strlen(Line) < 2)
  897. continue;
  898.  
  899. parse(Line, LineName, 31);
  900.  
  901. if(equal(LineName, Name))
  902. {
  903. parse(Line, LineName, 31, tData[0], 7, tData[1], 7, tData[2], 7, tData[3], 7, tData[4], 7,
  904. Data[0], 7, Data[1], 7, Data[2], 7, Data[3], 7, Data[4], 7, Data[5], 7,
  905. Data[6], 7, Data[7], 7, Data[8], 7, Data[9], 7, Data[10], 7, Data[11], 7, Data[12], 7,
  906. Data[13], 7, Data[14], 7, Data[15], 7, Data[16], 7, Data[17], 7, Data[18], 7, Data[19], 7,
  907. Data[20], 7, Data[21], 7, Data[22], 7, Data[23], 7, Data[24], 7, Data[25], 7, Data[26], 7,
  908. Data[27], 7, Data[28], 7, Data[29], 7, Data[30], 7, Data[31], 7, Data[32], 7, Data[33], 7,
  909. Data[34], 7, Data[35], 7, Data[36], 7, Data[37], 7, Data[38], 7, Data[39], 7, Data[40], 7,
  910. Data[41], 7, Data[42], 7, Data[43], 7, Data[44], 7, Data[45], 7, Data[46], 7, Data[47], 7,
  911. Data[48], 7, Data[49], 7);
  912.  
  913. Kills[id] = str_to_num(tData[0]);
  914. Points[id] = str_to_num(tData[1]);
  915. pKey[id] = str_to_num(tData[2]);
  916. Chest[id] = str_to_num(tData[3]);
  917. Rang[id] = str_to_num(tData[4]);
  918.  
  919. for(new i; i < MAX; i++)
  920. {
  921. uWeapon[i][id] = str_to_num(Data[i]);
  922. }
  923. return PLUGIN_HANDLED;
  924. }
  925. }
  926. fclose(pFile);
  927. }
  928. return PLUGIN_CONTINUE;
  929. }
  930. public Save(id)
  931. {
  932. if(!is_user_connected(id))
  933. {
  934. return PLUGIN_HANDLED;
  935. }
  936.  
  937. new pFile, Name[32];
  938. pFile = fopen(SaveFile, "rt");
  939. get_user_name(id, Name, 31);
  940.  
  941. if(pFile)
  942. {
  943. new Line[192], Lines;
  944.  
  945. new LineName[32], bool:Found;
  946.  
  947. while(!feof(pFile))
  948. {
  949. fgets(pFile, Line, 191);
  950.  
  951. if(Line[0] == ';' || strlen(Line) < 2)
  952. continue;
  953.  
  954. parse(Line, LineName, 31);
  955.  
  956. if(equal(LineName, Name) && !Found)
  957. {
  958. new mLine[256], LoadWeapon[256], String[8];
  959.  
  960. format(String, 7, "^"%i^" ", Kills[id]);
  961. add(LoadWeapon, 255, String);
  962.  
  963. format(String, 7, "^"%i^" ", Points[id]);
  964. add(LoadWeapon, 255, String);
  965.  
  966. format(String, 7, "^"%i^" ", pKey[id]);
  967. add(LoadWeapon, 255, String);
  968.  
  969. format(String, 7, "^"%i^" ", Chest[id]);
  970. add(LoadWeapon, 255, String);
  971.  
  972. format(String, 7, "^"%i^" ", Rang[id]);
  973. add(LoadWeapon, 255, String);
  974.  
  975. for(new i; i < MAX; i++)
  976. {
  977. format(String, 7, "^"%i^" ", uWeapon[i][id]);
  978. add(LoadWeapon, 255, String);
  979. }
  980.  
  981. formatex(mLine, 255, "^"%s^" %s", Name, LoadWeapon);
  982. write_file(SaveFile, mLine, Lines);
  983. Found = true;
  984. return PLUGIN_HANDLED;
  985. }
  986.  
  987. Lines++;
  988. }
  989.  
  990. if(!Found)
  991. {
  992. new mLine[256], LoadWeapon[256], String[8];
  993.  
  994. format(String, 7, "^"%i^" ", Kills[id]);
  995. add(LoadWeapon, 255, String);
  996.  
  997. format(String, 7, "^"%i^" ", Points[id]);
  998. add(LoadWeapon, 255, String);
  999.  
  1000. format(String, 7, "^"%i^" ", pKey[id]);
  1001. add(LoadWeapon, 255, String);
  1002.  
  1003. format(String, 7, "^"%i^" ", Chest[id]);
  1004. add(LoadWeapon, 255, String);
  1005.  
  1006. format(String, 7, "^"%i^" ", Rang[id]);
  1007. add(LoadWeapon, 255, String);
  1008.  
  1009. for(new i; i < MAX; i++)
  1010. {
  1011. format(String, 7, "^"%i^" ", uWeapon[i][id]);
  1012. add(LoadWeapon, 255, String);
  1013. }
  1014.  
  1015. formatex(mLine, 255, "^"%s^" %s", Name, LoadWeapon);
  1016. write_file(SaveFile, mLine);
  1017. return PLUGIN_HANDLED;
  1018. }
  1019. fclose(pFile);
  1020. }
  1021. return PLUGIN_CONTINUE;
  1022. }
  1023. public WeaponMenu(id)
  1024. {
  1025. new String[128], Name[32];
  1026. format(String, 127, "%s %L", Prefix, LANG_SERVER, "WPM");
  1027. new wMenu = menu_create(String, "wMenuHandler");
  1028. get_user_name(id, Name, 31);
  1029.  
  1030. if(Choosen[id] == 0)
  1031. {
  1032. for(new i; i < sizeof(FirstWeaponNames); i++)
  1033. {
  1034. format(String, 127, "%s", FirstWeaponNames[i][0]);
  1035. menu_additem(wMenu, String, FirstWeaponNames[i][1]);
  1036. }
  1037. }
  1038. if(Choosen[id] == 1)
  1039. {
  1040. for(new i; i < sizeof(SecondaryWeaponNames); i++)
  1041. {
  1042. format(String, 127, "%s", SecondaryWeaponNames[i][0]);
  1043. menu_additem(wMenu, String, SecondaryWeaponNames[i][1]);
  1044. }
  1045. }
  1046.  
  1047. menu_display(id, wMenu);
  1048. }
  1049. public wMenuHandler(id, gMenu, item)
  1050. {
  1051. if(item == MENU_EXIT)
  1052. {
  1053. menu_destroy(gMenu);
  1054. return;
  1055. }
  1056. new data[32], name[64];
  1057. new access, callback;
  1058. menu_item_getinfo(gMenu, item, access, data, charsmax(data), name, charsmax(name), callback);
  1059.  
  1060. give_item(id, data);
  1061. Choosen[id]++;
  1062.  
  1063. if(Choosen[id] >= 2)
  1064. Grenades(id);
  1065.  
  1066. WeaponMenu(id);
  1067. }
  1068. public RegMenu(id)
  1069. {
  1070. new String[128], Name[32];
  1071. format(String, 127, "%s %L", Prefix, LANG_SERVER, "RMMAIN");
  1072. new rMenu = menu_create(String, "rMenuHandler");
  1073. get_user_name(id, Name, 31);
  1074.  
  1075. format(String, 127, "%L", LANG_SERVER, "RMACCOUNT", Name);
  1076. menu_additem(rMenu, String, "0");
  1077.  
  1078. if(!Registered(id))
  1079. {
  1080. format(String, 127, "%L", LANG_SERVER, "RMP", Password[id]);
  1081. menu_additem(rMenu, String, "1");
  1082.  
  1083. if(strlen(Password[id]) > 4)
  1084. {
  1085. format(String, 127, "%L", LANG_SERVER, "RMR");
  1086. menu_additem(rMenu, String, "2");
  1087. }
  1088. else
  1089. {
  1090. format(String, 127, "\d%L", LANG_SERVER, "RMR");
  1091. menu_additem(rMenu, String, "0");
  1092. }
  1093. }
  1094. else
  1095. {
  1096. if(!Loged[id])
  1097. {
  1098. format(String, 127, "%L", LANG_SERVER, "RMP", Password[id]);
  1099. menu_additem(rMenu, String, "1");
  1100.  
  1101. if(equal(SavedPassword[id], Password[id]))
  1102. {
  1103. format(String, 127, "%L", LANG_SERVER, "RMLOGIN");
  1104. menu_additem(rMenu, String, "3");
  1105. }
  1106. else
  1107. {
  1108. format(String, 127, "\d%L", LANG_SERVER, "RMLOGIN");
  1109. menu_additem(rMenu, String, "0");
  1110. }
  1111. }
  1112. else
  1113. {
  1114. format(String, 127, "%L", LANG_SERVER, "RMLOGOUT");
  1115. menu_additem(rMenu, String, "-1");
  1116. }
  1117. }
  1118.  
  1119. menu_display(id, rMenu);
  1120. }
  1121. public rMenuHandler(id, gMenu, item)
  1122. {
  1123. if(item == MENU_EXIT)
  1124. {
  1125. menu_destroy(gMenu);
  1126. return;
  1127. }
  1128. new data[9], name[64], Key;
  1129. new access, callback;
  1130. menu_item_getinfo(gMenu, item, access, data, charsmax(data), name, charsmax(name), callback);
  1131.  
  1132. Key = str_to_num(data);
  1133.  
  1134. if(Key == -1)
  1135. ToLogout(id);
  1136. if(Key == 0)
  1137. RegMenu(id);
  1138. if(Key == 1)
  1139. {
  1140. client_cmd(id, "messagemode Password");
  1141. RegMenu(id);
  1142. }
  1143. if(Key == 2)
  1144. {
  1145. print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERSUCCESS", Password[id]);
  1146. Register(id, Password[id]);
  1147. copy(SavedPassword[id], 31, Password[id]);
  1148. }
  1149. if(Key == 3)
  1150. {
  1151. if(equal(SavedPassword[id], Password[id])) {
  1152. Loged[id] = true;
  1153. print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERLOGIN");
  1154. Menu(id);
  1155. }
  1156. }
  1157. }
  1158. public ToLogout(id)
  1159. {
  1160. if(Loged[id])
  1161. {
  1162. Loged[id] = false;
  1163. Password[id] = "";
  1164. print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERLOGOUT");
  1165. }
  1166. }
  1167. public PlayerPassword(id)
  1168. {
  1169. new Data[32];
  1170. read_args(Data, 31);
  1171. remove_quotes(Data);
  1172.  
  1173. if(strlen(Data) < 5)
  1174. {
  1175. print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERSHORT");
  1176. client_cmd(id, "messagemode Password");
  1177. return PLUGIN_HANDLED;
  1178. }
  1179.  
  1180. if(Loged[id])
  1181. {
  1182. return PLUGIN_HANDLED;
  1183. }
  1184.  
  1185. copy(Password[id], 31, Data);
  1186. RegMenu(id);
  1187. return PLUGIN_CONTINUE;
  1188. }
  1189. public NameChange(id)
  1190. {
  1191. if(!is_user_connected(id))
  1192. return FMRES_IGNORED;
  1193.  
  1194. new OldName[32], NewName[32], Name[32];
  1195. get_user_name(id, Name, 31);
  1196. pev(id, pev_netname, OldName, charsmax(OldName));
  1197. if(OldName[0])
  1198. {
  1199. get_user_info(id, "name", NewName, charsmax(NewName));
  1200. if(!equal(OldName, NewName))
  1201. {
  1202. set_user_info(id, "name", OldName);
  1203. print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERNAMECHANGE");
  1204. return FMRES_HANDLED;
  1205. }
  1206. }
  1207. return FMRES_IGNORED;
  1208. }
  1209. stock bool:ValidMdl(Mdl[])
  1210. {
  1211. if(containi(Mdl, ".mdl") != -1)
  1212. {
  1213. return true;
  1214. }
  1215. return false;
  1216. }
  1217. stock bool:Registered(id)
  1218. {
  1219. new pFile, Data[2][32], Line[64], Name[32];
  1220. get_user_name(id, Name, 31);
  1221. pFile = fopen(RegisterFile, "rt");
  1222.  
  1223. while(!feof(pFile))
  1224. {
  1225. fgets(pFile, Line, 63);
  1226.  
  1227. parse(Line, Data[0], 31, Data[1], 31);
  1228.  
  1229. if(equal(Data[0], Name))
  1230. {
  1231. copy(SavedPassword[id], 31, Data[1]);
  1232. return true;
  1233. }
  1234. }
  1235.  
  1236. fclose(pFile);
  1237.  
  1238. return false;
  1239. }
  1240. stock Register(id, const rSavedPassword[])
  1241. {
  1242. new pFile, Line[64], Name[32];
  1243. get_user_name(id, Name, 31);
  1244. pFile = fopen(RegisterFile, "at+");
  1245. format(Line, 63, "^n^"%s^" ^"%s^"", Name, rSavedPassword);
  1246. write_file(RegisterFile, Line);
  1247. fclose(pFile);
  1248. }
  1249. stock Grenades(id)
  1250. {
  1251. give_item(id, "weapon_hegrenade");
  1252. give_item(id, "weapon_smokegrenade");
  1253. give_item(id, "weapon_flashbang");
  1254. }
  1255.  

_________________
Ha segítettem használd a gombot!

Kép
KépKép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: CS-GO Mód model hiba
HozzászólásElküldve: 2015.12.13. 13:46 
Offline
Fanatikus
Avatar

Csatlakozott: 2015.11.08. 10:34
Hozzászólások: 174
Megköszönt másnak: 9 alkalommal
Megköszönték neki: 5 alkalommal
Nevezd át a modelleket és a pluginban is ird át a nevét, ha voltak már ilyen modellek.


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


Ki van itt

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


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

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