hlmod.hu

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



Jelenlévő felhasználók

Jelenleg 205 felhasználó van jelen :: 0 regisztrált, 0 rejtett és 205 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  [ 35 hozzászólás ]  Oldal Előző 1 2 3 4 Következő
Szerző Üzenet
 Hozzászólás témája: Re: Pályaszavaztató - DMC v2.01
HozzászólásElküldve: 2015.06.26. 00:45 
Offline
A Scripter

Csatlakozott: 2013.11.19. 19:08
Hozzászólások: 827
Megköszönt másnak: 8 alkalommal
Megköszönték neki: 315 alkalommal
Na meg csináltam a legújabb verziót.
https://forums.alliedmods.net/showthread.php?t=261412

Adtak pár jó ötletet allieden és bele is raktam :d

SMA Forráskód: [ Mindet kijelol ]
  1. /*
  2. ///////////////////////////////////////////////////////////
  3.   /###///##/////##///###////////////####///////####////###///
  4. /#//#//#/#///#/#//#///////////////////#//////////#//#///#//
  5. /#//#//#//#/#//#//#/////////#///#//####/////////#///#///#//
  6. /#//#//#///#///#//#//////////#/#//#//////////////#//#///#//
  7. /###///#///////#///###////////#///#####//##//####////###///
  8. ///////////////////////////////////////////////////////////
  9.  
  10. Author: DeRoiD
  11. Plugin name: DeRoiD's Mapchooser
  12. Plugin version: 2.30
  13. First relase: 2015/04/08
  14. Last update: 2015/06/24
  15. Reason for update: Multilang toogle server/player, start button, info
  16.   Plugin link: forums.alliedmods.net/showthread.php?t=261412
  17.  
  18. Short description [default cvar]:
  19. - This plugin last 3 minutes or round open the "Vote a map" menu.
  20. - The one for which more people vote it will be the next map.
  21. - If best vote < min. vote percent then re-vote! There is a manner of two kinds.
  22.  
  23. You can [default cvar]:
  24. - rtv "Rock the vote" [players 1:2]
  25. - nom "Nomination" (in menu) [chance 50%]
  26. - see timeleft | nextmap [timeleft, nextmap]
  27. - see played maps and played counts [/playedmaps]
  28. - see current map
  29. - if you admin then can startvote (/startvote) [StartVoteFlag]
  30.  
  31. Changelog:
  32. - v1.00
  33. + First relase (hlmod.hu)
  34. + Map choose (Old method)
  35. + Played maps
  36. + Next map
  37. + Timeleft
  38.  
  39. - v1.20b
  40. + Rounds
  41. + Nomination
  42. + Admin vote
  43. + Rock the vote
  44.  
  45. - v1.30b
  46. + Previous map can not be choose
  47.  
  48. - v1.35b
  49. + Fix bugs
  50. + New chooser method
  51. + More map choices [MAX 9]
  52.  
  53. - v1.49a
  54. + Re-vote if vote percent < min percent
  55. + Removed hard coding paths.
  56.  
  57. - v1.53a
  58. + Fixed extend time [ +- 1 min ]
  59. + Fixed changelevel bug.
  60.  
  61. - v1.62a
  62. + Hud Counter
  63. + Change map only next round. (Cvar)
  64. + Fix bugs
  65.  
  66. - v1.63a
  67. + HudMsg -> SyncHudMsg
  68.  
  69. - v1.77a
  70. + Nobody votes bug fix
  71. + More languages
  72.  
  73. - v1.86a
  74. + Countdown sounds
  75.  
  76. - v2.00
  77. + Fix bugs
  78. + Check maps (valid)
  79. + Ad rounds in game (if rounds mod)
  80.  
  81. - v2.01
  82. + Current map
  83.  
  84. - v2.01.3
  85. + Fix RTV
  86.  
  87. - v2.30
  88. + Multilang toggle server/player
  89. + Start button
  90. + Map infos
  91.  
  92. Pugin like:
  93.  
  94. Choose the Next Map [All votes: 9]
  95.  
  96. 1. de_dust2 [votes: 1] (9%)
  97. 2. de_dust [votes: 0] (0%)
  98. 3. de_inferno [votes: 1] (9%)
  99. 4. de_train [votes: 5] (54%)
  100. 5. de_nuke [votes: 1] (9%)
  101.  
  102. 6. de_tuscan (current map) [votes: 1] (9%)
  103.  
  104.  
  105. [Next map: de_train]
  106.  
  107. You find bug?
  108. - deroidocska (steam)
  109.  
  110. Plugin tested in [32 Real Players]:
  111. - AMX 1.8.2
  112. - AMX 1.8.3-dev+4532
  113. - AMX 1.8.3-dev-git4751
  114.  
  115. Thanks for using this plugin!
  116. DeRoiD
  117.  
  118. ___________[Special thanks]___________
  119.  
  120. - fysiks for help to plugin (tips)
  121. - HamletEagle for help to plugin (tips)
  122. - mforce for idea
  123. - cs.stambeto for idea
  124. - OZH3NN for idea
  125.  
  126. - ACM1PT for translation [es]
  127. - JustVladK & K:O for translation [ro]
  128. - battlefield 3 for translation [ru]
  129. - Perfect Scrash for translation [bp]
  130. - Belo95135 for translation [sk]
  131. - wEight for translation [sr]
  132. - ANTICHRISTUS for translation [fr]
  133. ______________________________________
  134.  
  135.  
  136. Magyar nyelven is leirom!!! Koszonom, hogy ha ezt a plugint hasznalod! <!-- s:) --><img src=\"{SMILIES_PATH}/icon_e_smile.gif\" alt=\":)\" title=\"mosoly\" /><!-- s:) -->
  137. */
  138.  
  139. #include <amxmodx>
  140.  
  141. new const PLUGIN[] = "DeRoiD's Mapchooser";
  142. new const VERSION[] = "2.30";
  143. new const AUTHOR[] = "DeRoiD";
  144.  
  145. #define MapID 180912
  146.  
  147. #define R 240
  148. #define G 240
  149. #define B 240
  150.  
  151. #define CHUD 1.5
  152. #define MaxCSpeed 5.0
  153.  
  154. #define Max 200
  155. #define MinRounds 5
  156. #define MaxChoice 9
  157. #define PMPage 6
  158. #define MaxSB 8
  159.  
  160. #define StartVoteFlag ADMIN_LEVEL_A
  161. #define InfoFlag ADMIN_BAN
  162.  
  163. #pragma semicolon 1
  164.  
  165. new MapFile[64], MapCycle[32], MapFile_Lines, MapCycle_Lines;
  166. new Maps[Max][32], MapName[32], MapNames[MaxChoice][32], MapRevote[2][32], NomMaps[Max][32], NomNum, Nom, Nomed[Max];
  167. new MapVote[MaxChoice], RevoteCounts[2], VoteMenu, RevoteMenu, MapCounter, LastMap[32], VotedMap[32], BeginCounter;
  168. new AllVotes, AllRevotes, Next[32], RTV, RTVTime[3], PlayerMap[33], ElapsedTime[3], VoteMod;
  169. new bool:Voted, bool:PlayerVoted[33], bool:ChangeMap, bool:Begined, bool:inProcess, bool:Revoted,
  170. bool:PlayerRTV[33], bool:toRTV, bool:AlreadyNom[33], bool:PlayerRevoted[33], bool:NeedRV;
  171. new SayText, Rounds, MaxRounds, TimeLimit, oRounds, Lang, StartButton, PlayedCount;
  172.  
  173. new Cvar_WaitVoteMenuTime, Cvar_MenuDestroyTime, Cvar_RTVMinute, Cvar_VoteCounter,
  174. Cvar_NomChance, Cvar_VoteSound, Cvar_Extend, Cvar_StartRevoteTime, Cvar_VotePercentMin,
  175. Cvar_Nomination, Cvar_PlayedMaps, Cvar_RTV, Cvar_VoteVariable, Cvar_RTVMin, Cvar_Mod,
  176. Cvar_ChangeSpeed, Cvar_MaxMaps, Cvar_WaitRevoteMenuTime, Cvar_HudMod, Cvar_OnlyNextRound,
  177. Cvar_CountSound, Cvar_ChooseSound, Cvar_Ad, Cvar_StartButton, Cvar_LangMode;
  178.  
  179. new Prefix[32], sHudObj, Off;
  180.  
  181. new const MapMenuCommands[][] =
  182. {
  183. "/playedmaps",
  184. "/pm",
  185. "!playedmaps",
  186. "!pm",
  187. "playedmaps",
  188. "pm"
  189. };
  190. new const TimeLeftCommands[][] =
  191. {
  192. "/timeleft",
  193. "/tl",
  194. "!timeleft",
  195. "!tl",
  196. "timeleft",
  197. "tl"
  198. };
  199. new const NextMapCommands[][] =
  200. {
  201. "/nextmap",
  202. "/nm",
  203. "!nextmap",
  204. "!nm",
  205. "nextmap",
  206. "nm"
  207. };
  208. new const AdminCommands[][] =
  209. {
  210. "/startvote",
  211. "!startvote",
  212. "startvote"
  213. };
  214. new const RTVCommands[][] =
  215. {
  216. "/rtv",
  217. "!rtv",
  218. "/rockthevote",
  219. "!rockthevote",
  220. "rockthevote",
  221. "rtv"
  222. };
  223. new const NomCommands[][] =
  224. {
  225. "/nom",
  226. "!nom",
  227. "/nomination",
  228. "!nomination",
  229. "nom",
  230. "nomination"
  231. };
  232. new const CurrentMapCommands[][] =
  233. {
  234. "/currentmap",
  235. "!currentmap",
  236. "/cm",
  237. "!cm",
  238. "currentmap",
  239. "cm"
  240. };
  241.  
  242. public plugin_init()
  243. {
  244. register_plugin(PLUGIN, VERSION, AUTHOR);
  245. register_cvar(PLUGIN, VERSION, FCVAR_SERVER);
  246. register_dictionary("dmc.txt");
  247. sHudObj = CreateHudSyncObj();
  248.  
  249. static ConfigsDir[64];
  250. get_localinfo("amxx_configsdir", ConfigsDir, 63);
  251. formatex(MapFile, 63, "%s/dmc/mapdatas.dmc", ConfigsDir);
  252. get_localinfo("amxx_configsdir", ConfigsDir, 63);
  253. formatex(MapCycle, 31, "mapcycle.txt");
  254. formatex(Prefix, 31, "!g[DMC]");
  255.  
  256. MapFile_Lines = file_size(MapFile, 1);
  257. MapCycle_Lines = file_size(MapCycle, 1);
  258.  
  259. Cvar_Mod = register_cvar("dmc_mod", "1");
  260. Cvar_HudMod = register_cvar("dmc_hudmod", "1");
  261. Cvar_ChangeSpeed = register_cvar("dmc_changespeed", "5.0");
  262. Cvar_WaitVoteMenuTime = register_cvar("dmc_waitvotemenutime", "10.0");
  263. Cvar_WaitRevoteMenuTime = register_cvar("dmc_waitrevotemenutime", "5.0");
  264. Cvar_MenuDestroyTime = register_cvar("dmc_menudestroyTime", "5.0");
  265. Cvar_RTVMinute = register_cvar("dmc_rtvminute", "10");
  266. Cvar_VoteCounter = register_cvar("dmc_votecounter", "15");
  267. Cvar_VoteVariable = register_cvar("dmc_votevariable", "3");
  268. Cvar_VotePercentMin = register_cvar("dmc_votepercent", "50");
  269. Cvar_MaxMaps = register_cvar("dmc_maxmaps", "5");
  270. Cvar_Nomination = register_cvar("dmc_nomination", "1");
  271. Cvar_PlayedMaps = register_cvar("dmc_playedmaps", "1");
  272. Cvar_RTV = register_cvar("dmc_rtv", "1");
  273. Cvar_VoteSound = register_cvar("dmc_votesound", "1");
  274. Cvar_RTVMin = register_cvar("dmc_rtvmin", "2");
  275. Cvar_NomChance = register_cvar("dmc_nomchance", "50");
  276. Cvar_Extend = register_cvar("dmc_extend", "15");
  277. Cvar_StartRevoteTime = register_cvar("dmc_startrevotetime", "5.0");
  278. Cvar_OnlyNextRound = register_cvar("dmc_onlynextround", "1");
  279. Cvar_CountSound = register_cvar("dmc_countsound", "1");
  280. Cvar_ChooseSound = register_cvar("dmc_choosesound", "1");
  281. Cvar_Ad = register_cvar("dmc_ad", "1");
  282. Cvar_LangMode = register_cvar("dmc_langmode", "0");
  283. Cvar_StartButton = register_cvar("dmc_startbutton", "1");
  284.  
  285. server_cmd("exec %s/dmc/dmc.cfg", ConfigsDir);
  286. server_exec();
  287. set_cvar_float("mp_chattime", 120.0);
  288.  
  289. register_concmd("amx_dmc", "ShowInfo", InfoFlag);
  290. VoteMenu = register_menuid("VoteMenu");
  291. RevoteMenu = register_menuid("RevoteMenu");
  292. register_menucmd(VoteMenu, 1023, "VoteMenuKeys");
  293. register_menucmd(RevoteMenu, 1023, "RevoteMenuKeys");
  294. SayText = get_user_msgid("SayText");
  295.  
  296. TimeLimit = get_cvar_num("mp_timelimit");
  297. MaxRounds = get_cvar_num("mp_maxrounds");
  298. oRounds = MaxRounds;
  299.  
  300. if(get_pcvar_num(Cvar_LangMode) == 0)
  301. {
  302. Lang = 0;
  303. }
  304. else
  305. {
  306. Lang = -1;
  307. }
  308.  
  309. StartButton = get_pcvar_num(Cvar_StartButton);
  310.  
  311. if(StartButton < 1)
  312. {
  313. set_pcvar_num(Cvar_StartButton, 1);
  314. }
  315.  
  316. if(StartButton > 1 && StartButton <= MaxSB)
  317. {
  318. new Check;
  319. Check = get_pcvar_num(Cvar_MaxMaps) + get_pcvar_num(Cvar_StartButton);
  320.  
  321. if(Check > 9)
  322. {
  323. Check = MaxChoice - get_pcvar_num(Cvar_MaxMaps);
  324. if(0 != Check - StartButton)
  325. {
  326. Check -= StartButton;
  327. Check = -Check;
  328. set_pcvar_num(Cvar_MaxMaps, get_pcvar_num(Cvar_MaxMaps)-Check);
  329. }
  330. }
  331. }
  332. else if(StartButton > MaxSB)
  333. {
  334. StartButton = MaxSB;
  335. set_pcvar_num(Cvar_MaxMaps, 2);
  336. }
  337. else
  338. {
  339. StartButton = 1;
  340. }
  341.  
  342. if(get_pcvar_num(Cvar_MaxMaps) > MaxChoice)
  343. {
  344. set_pcvar_num(Cvar_MaxMaps, MaxChoice);
  345. }
  346.  
  347. if(get_pcvar_num(Cvar_MaxMaps) <= 1)
  348. {
  349. set_pcvar_num(Cvar_MaxMaps, 2);
  350. }
  351.  
  352. if(get_pcvar_float(Cvar_ChangeSpeed) > MaxCSpeed)
  353. {
  354. set_pcvar_float(Cvar_ChangeSpeed, MaxCSpeed);
  355. }
  356.  
  357. if(get_pcvar_float(Cvar_ChangeSpeed) < 1.0)
  358. {
  359. set_pcvar_float(Cvar_ChangeSpeed, 1.0);
  360. }
  361.  
  362. if(MapCycle_Lines-get_pcvar_num(Cvar_MaxMaps) < 0)
  363. {
  364. new Error[64];
  365. formatex(Error, charsmax(Error), "Only %d maps in %s file! (Min: %d)", MapCycle_Lines, MapCycle, get_pcvar_num(Cvar_MaxMaps));
  366. log_amx(Error);
  367.  
  368. if(MapCycle_Lines > 1)
  369. {
  370. set_pcvar_num(Cvar_MaxMaps, MapCycle_Lines);
  371. formatex(Error, charsmax(Error), "MaxMaps set %d", MapCycle_Lines);
  372. log_amx(Error);
  373. }
  374. else
  375. {
  376. Off = 1;
  377. }
  378. }
  379.  
  380. if(TimeLimit == 0 && get_pcvar_num(Cvar_Mod) == 1)
  381. {
  382. Off = 1;
  383. }
  384.  
  385. if(Off == 0)
  386. {
  387. register_event("HLTV", "NewRound", "a", "1=0", "2=0");
  388. register_logevent("SavePresentTime", 2, "0=World triggered", "1=Game_Commencing");
  389. register_logevent("RestartRound", 2, "0=World triggered", "1&Restart_Round_");
  390. register_logevent("RestartRound", 2, "0=World triggered", "1=Game_Commencing");
  391.  
  392. if(get_pcvar_num(Cvar_Mod) == 0)
  393. {
  394. register_logevent("RoundEnd", 2, "0=World triggered", "1=Round_End");
  395. }
  396.  
  397. set_task(0.5, "CheckTime", MapID-1, _, _, "b");
  398.  
  399. if(get_pcvar_num(Cvar_Mod) == 0)
  400. {
  401. if(MaxRounds < MinRounds)
  402. {
  403. server_cmd("mp_maxrounds ^"%d^"", MinRounds);
  404. }
  405.  
  406. server_cmd("mp_timelimit 0");
  407.  
  408. MaxRounds = get_cvar_num("mp_maxrounds");
  409. oRounds = MaxRounds;
  410. }
  411.  
  412. if(get_pcvar_num(Cvar_Mod) == 1)
  413. {
  414. server_cmd("mp_maxrounds 0");
  415. }
  416. }
  417.  
  418. get_mapname(MapName, charsmax(MapName));
  419. get_localinfo("lastMap", LastMap, 31);
  420. set_localinfo("lastMap", MapName);
  421.  
  422. set_task(random_float(0.1, 0.5), "LoadMaps");
  423. set_task(random_float(0.1, 0.5), "LoadVoteMaps");
  424. set_task(random_float(0.1, 0.5), "SavePresentTime");
  425.  
  426. if(get_pcvar_num(Cvar_Ad) == 1)
  427. {
  428. set_task(random_float(100.0, 200.0), "AdvTime", MapID-10, _, _, "b");
  429. }
  430.  
  431. toRTV = false;
  432.  
  433. new Cmd[32];
  434.  
  435. if(get_pcvar_num(Cvar_PlayedMaps) == 1)
  436. {
  437. for(new Num = 0; Num < sizeof MapMenuCommands; Num++)
  438. {
  439. format(Cmd, charsmax(Cmd), "say %s", MapMenuCommands[Num]);
  440. register_clcmd(Cmd, "ShowMapMenu");
  441. }
  442. }
  443.  
  444. for(new Num = 0; Num < sizeof NextMapCommands; Num++)
  445. {
  446. format(Cmd, charsmax(Cmd), "say %s", NextMapCommands[Num]);
  447. register_clcmd(Cmd, "ShowNextMap");
  448. }
  449.  
  450. for(new Num = 0; Num < sizeof CurrentMapCommands; Num++)
  451. {
  452. format(Cmd, charsmax(Cmd), "say %s", CurrentMapCommands[Num]);
  453. register_clcmd(Cmd, "ShowCurrentMap");
  454. }
  455.  
  456. for(new Num = 0; Num < sizeof TimeLeftCommands; Num++)
  457. {
  458. format(Cmd, charsmax(Cmd), "say %s", TimeLeftCommands[Num]);
  459. register_clcmd(Cmd, "ShowTimeLeft");
  460. }
  461.  
  462. for(new Num = 0; Num < sizeof AdminCommands; Num++)
  463. {
  464. format(Cmd, charsmax(Cmd), "say %s", AdminCommands[Num]);
  465. register_clcmd(Cmd, "StartVote");
  466. }
  467.  
  468. if(get_pcvar_num(Cvar_RTV) == 1)
  469. {
  470. for(new Num = 0; Num < sizeof RTVCommands; Num++)
  471. {
  472. format(Cmd, charsmax(Cmd), "say %s", RTVCommands[Num]);
  473. register_clcmd(Cmd, "RockTheVote");
  474. }
  475. }
  476.  
  477. if(get_pcvar_num(Cvar_Nomination) == 1)
  478. {
  479. for(new Num = 0; Num < sizeof NomCommands; Num++)
  480. {
  481. format(Cmd, charsmax(Cmd), "say %s", NomCommands[Num]);
  482. register_clcmd(Cmd, "ShowNomMenu");
  483. }
  484. }
  485.  
  486. }
  487. public SavePresentTime()
  488. {
  489. new Hour[32], Minute[32], Second[32];
  490. format_time(Hour, sizeof Hour - 1, "%H");
  491. format_time(Minute, sizeof Minute - 1, "%M");
  492. format_time(Second, sizeof Second - 1, "%S");
  493. ElapsedTime[0] = str_to_num(Second);
  494. ElapsedTime[1] = str_to_num(Minute);
  495. ElapsedTime[2] = str_to_num(Hour);
  496. RTVTime[2] = str_to_num(Hour);
  497. RTVTime[1] = str_to_num(Minute)+get_pcvar_num(Cvar_RTVMinute);
  498. RTVTime[0] = str_to_num(Second);
  499.  
  500. if(RTVTime[1] >= 60)
  501. {
  502. RTVTime[1] -= 60;
  503. RTVTime[2]++;
  504. }
  505. }
  506. public AdvTime()
  507. {
  508. print_color(0, "%s %L", Prefix, Lang, "ADV", PLUGIN, VERSION);
  509. }
  510. public RestartRound() {
  511. if(get_pcvar_num(Cvar_Mod) == 1)
  512. server_cmd("mp_timelimit %d", TimeLimit);
  513. else
  514. server_cmd("mp_maxrounds %d", oRounds);
  515.  
  516. remove_task(MapID+8123);
  517. remove_task(MapID+1);
  518. remove_task(MapID+211);
  519. remove_task(MapID+2);
  520. remove_task(MapID+3);
  521. remove_task(MapID+33);
  522. NeedRV = false;
  523. ChangeMap = false;
  524. Begined = false;
  525. BeginCounter = 0;
  526. MapCounter = 0;
  527. Voted = false;
  528. Revoted = false;
  529. inProcess = false;
  530. AllVotes = 0;
  531. AllRevotes = 0;
  532.  
  533. new Num;
  534.  
  535. for(Num = 0; Num < 32; Num++)
  536. {
  537. if(!is_user_connected(Num))
  538. {
  539. continue;
  540. }
  541.  
  542. AlreadyNom[Num] = false;
  543. PlayerMap[Num] = 0;
  544. PlayerVoted[Num] = false;
  545. PlayerRevoted[Num] = false;
  546. }
  547.  
  548. for(Num = 0; Num < Nom; Num++)
  549. {
  550. NomMaps[Num] = "";
  551. }
  552.  
  553. for(Num = 0; Num < Max; Num++)
  554. {
  555. Nomed[Num] = 0;
  556. }
  557.  
  558. for(Num = 0; Num < get_pcvar_num(Cvar_MaxMaps); Num++)
  559. {
  560. MapNames[Num] = "";
  561. MapVote[Num] = 0;
  562. }
  563.  
  564. RTV = 0;
  565. Nom = 0;
  566. LoadVoteMaps();
  567. LoadNomMaps();
  568. Next = "";
  569. set_task(get_pcvar_float(Cvar_MenuDestroyTime)+1.0, "VotedMapN", MapID+777);
  570. SavePresentTime();
  571. }
  572. public NewRound() {
  573. if(get_pcvar_num(Cvar_Mod) == 1)
  574. {
  575. if(ChangeMap)
  576. {
  577. if(isValidMap(Next))
  578. {
  579. ChangeLevel();
  580. }
  581. }
  582. }
  583. else if(get_pcvar_num(Cvar_Mod) == 0)
  584. {
  585. if(0 >= MaxRounds-Rounds)
  586. {
  587. if(ChangeMap)
  588. {
  589. if(isValidMap(Next))
  590. {
  591. ChangeLevel();
  592. }
  593. }
  594. }
  595. }
  596. }
  597. public RoundEnd()
  598. {
  599. if(MaxRounds-Rounds > 0)
  600. {
  601. Rounds++;
  602. }
  603. }
  604. public StartVote(id)
  605. {
  606. if(get_user_flags(id) & StartVoteFlag)
  607. {
  608. if(!inProcess || !Voted || !Revoted || !ChangeMap || Off == 0 || !Begined)
  609. {
  610. NeedRV = false;
  611. new String[32];
  612. float_to_str(get_pcvar_float(Cvar_WaitVoteMenuTime), String, 2);
  613. replace_all(String, 2, ".", "");
  614. Begined = true;
  615. inProcess = true;
  616.  
  617. if(get_pcvar_num(Cvar_Mod) == 1)
  618. {
  619. server_cmd("mp_timelimit 0");
  620. }
  621. else if(get_pcvar_num(Cvar_Mod) == 0)
  622. {
  623. Rounds = MaxRounds;
  624. }
  625.  
  626. VoteMod = 2;
  627.  
  628. if(get_pcvar_num(Cvar_HudMod) == 1)
  629. {
  630. remove_task(MapID+8123);
  631. BeginCounter = str_to_num(String);
  632. VoteCounter();
  633. }
  634. else if(get_pcvar_num(Cvar_HudMod) == 0)
  635. {
  636. set_task(get_pcvar_float(Cvar_WaitVoteMenuTime), "StartMapChooser", MapID+3);
  637. set_hudmessage(R, G, B, -1.0, 0.20, 0, 6.0, get_pcvar_float(Cvar_WaitVoteMenuTime));
  638. ShowSyncHudMsg(0, sHudObj, "%L", Lang, "VOTE2", String);
  639. }
  640. }
  641. }
  642. }
  643. public VoteCounter()
  644. {
  645. if(BeginCounter > 0)
  646. {
  647. new String[32];
  648. num_to_str(BeginCounter, String, 2);
  649.  
  650. if(get_pcvar_num(Cvar_CountSound) == 1)
  651. {
  652. new CountSound[32];
  653. num_to_word(BeginCounter, CountSound, 31);
  654.  
  655. if(get_pcvar_num(Cvar_VoteSound) == 1)
  656. client_cmd(0, "spk ^"fvox/%s^"", CountSound);
  657. }
  658.  
  659. set_hudmessage(R, G, B, -1.0, 0.20, 0, 0.1, CHUD);
  660.  
  661. if(VoteMod == 4)
  662. {
  663. ShowSyncHudMsg(0, sHudObj, "%L", Lang, "VOTE4", String);
  664. }
  665. else if(VoteMod == 3)
  666. {
  667. ShowSyncHudMsg(0, sHudObj, "%L", Lang, "VOTE3", String);
  668. }
  669. else if(VoteMod == 2)
  670. {
  671. ShowSyncHudMsg(0, sHudObj, "%L", Lang, "VOTE2", String);
  672. }
  673. else if(VoteMod == 1)
  674. {
  675. ShowSyncHudMsg(0, sHudObj, "%L", Lang, "VOTE1", String);
  676. }
  677.  
  678. BeginCounter--;
  679. set_task(1.0, "VoteCounter", MapID+8123);
  680. }
  681. else
  682. {
  683. if(NeedRV)
  684. {
  685. StartRevote();
  686. }
  687. else
  688. {
  689. StartMapChooser();
  690. }
  691. }
  692. }
  693. public RockTheVote(id)
  694. {
  695. new Hour[32], Minute[32], Time[2];
  696. format_time(Hour, sizeof Hour - 1, "%H");
  697. format_time(Minute, sizeof Minute - 1, "%M");
  698. Time[0] = str_to_num(Hour);
  699. Time[1] = str_to_num(Minute);
  700.  
  701. if(Time[0] > RTVTime[2]
  702. || Time[0] == RTVTime[2] && Time[1] >= RTVTime[1])
  703. toRTV = true;
  704.  
  705. if(PlayerRTV[id] || Voted || inProcess || !toRTV || Off == 1)
  706. {
  707. if(!toRTV)
  708. {
  709. if(RTVTime[2] > Time[0])
  710. {
  711. print_color(id, "%s %L", Prefix, Lang, "RTV2", (RTVTime[1]+60)-Time[1]);
  712. }
  713. else
  714. {
  715. print_color(id, "%s %L", Prefix, Lang, "RTV2", RTVTime[1]-Time[1]);
  716. }
  717. }
  718.  
  719. if(PlayerRTV[id])
  720. {
  721. print_color(id, "%s %L", Prefix, Lang, "RTV1");
  722. }
  723.  
  724. return PLUGIN_HANDLED;
  725. }
  726.  
  727. PlayerRTV[id] = true;
  728. RTV++;
  729.  
  730. new Players[32], Num;
  731. get_players(Players, Num, "c");
  732.  
  733. if(RTV >= Num/get_pcvar_num(Cvar_RTVMin))
  734. {
  735. new String[32];
  736. float_to_str(get_pcvar_float(Cvar_WaitVoteMenuTime), String, 2);
  737. replace_all(String, 2, ".", "");
  738. Begined = true;
  739. inProcess = true;
  740.  
  741. if(get_pcvar_num(Cvar_Mod) == 1)
  742. {
  743. server_cmd("mp_timelimit 0");
  744. }
  745. else if(get_pcvar_num(Cvar_Mod) == 0)
  746. {
  747. Rounds = MaxRounds;
  748. }
  749.  
  750. VoteMod = 1;
  751.  
  752. if(get_pcvar_num(Cvar_HudMod) == 1)
  753. {
  754. remove_task(MapID+8123);
  755. BeginCounter = str_to_num(String);
  756. VoteCounter();
  757. }
  758. else if(get_pcvar_num(Cvar_HudMod) == 0)
  759. {
  760. set_task(get_pcvar_float(Cvar_WaitVoteMenuTime), "StartMapChooser", MapID+3);
  761. set_hudmessage(R, G, B, -1.0, 0.20, 0, 6.0, get_pcvar_float(Cvar_WaitVoteMenuTime));
  762. ShowSyncHudMsg(0, sHudObj, "%L", Lang, "VOTE1", String);
  763. }
  764. }
  765. else
  766. {
  767. print_color(0, "%s %L", Prefix, Lang, "RTV3", (Num/get_pcvar_num(Cvar_RTVMin))-RTV);
  768. }
  769.  
  770. return PLUGIN_HANDLED;
  771. }
  772. public Extend()
  773. {
  774. NeedRV = false;
  775. ChangeMap = false;
  776. Begined = false;
  777. Voted = false;
  778. Revoted = false;
  779. inProcess = false;
  780. AllVotes = 0;
  781. AllRevotes = 0;
  782.  
  783. new Num;
  784.  
  785. for(Num = 0; Num < 32; Num++)
  786. {
  787. if(!is_user_connected(Num))
  788. {
  789. continue;
  790. }
  791.  
  792. AlreadyNom[Num] = false;
  793. PlayerMap[Num] = 0;
  794. PlayerVoted[Num] = false;
  795. PlayerRevoted[Num] = false;
  796. }
  797.  
  798. for(Num = 0; Num < Nom; Num++)
  799. {
  800. NomMaps[Num] = "";
  801. }
  802.  
  803. for(Num = 0; Num < Max; Num++)
  804. {
  805. Nomed[Num] = 0;
  806. }
  807.  
  808. for(Num = 0; Num < get_pcvar_num(Cvar_MaxMaps); Num++)
  809. {
  810. MapNames[Num] = "";
  811. MapVote[Num] = 0;
  812. }
  813.  
  814. RTV = 0;
  815. Nom = 0;
  816. LoadVoteMaps();
  817. LoadNomMaps();
  818. Next = "";
  819. set_task(get_pcvar_float(Cvar_MenuDestroyTime)+1.0, "VotedMapN", MapID+777);
  820. }
  821. public VotedMapN()
  822. {
  823. VotedMap = "";
  824. }
  825. public CheckTime()
  826. {
  827. static Time[3];
  828. Time[0] = get_timeleft();
  829. Time[1] = Time[0] / 60;
  830. Time[2] = Time[1] / 60;
  831. Time[0] = Time[0] - Time[1] * 60;
  832. Time[1] = Time[1] - Time[2] * 60;
  833.  
  834. if(get_pcvar_num(Cvar_Mod) == 1)
  835. {
  836. if(Time[1] <= get_pcvar_num(Cvar_VoteVariable) && !Begined && !inProcess)
  837. {
  838. new String[32];
  839. float_to_str(get_pcvar_float(Cvar_WaitVoteMenuTime), String, 2);
  840. replace_all(String, 2, ".", "");
  841.  
  842. VoteMod = 3;
  843.  
  844. if(get_pcvar_num(Cvar_HudMod) == 1)
  845. {
  846. remove_task(MapID+8123);
  847. BeginCounter = str_to_num(String);
  848. VoteCounter();
  849. }
  850. else if(get_pcvar_num(Cvar_HudMod) == 0)
  851. {
  852. set_task(get_pcvar_float(Cvar_WaitVoteMenuTime), "StartMapChooser", MapID+3);
  853. set_hudmessage(R, G, B, -1.0, 0.20, 0, 6.0, get_pcvar_float(Cvar_WaitVoteMenuTime));
  854. ShowSyncHudMsg(0, sHudObj, "%L", Lang, "VOTE3", String);
  855. }
  856.  
  857. Begined = true;
  858. inProcess = true;
  859. }
  860.  
  861. if(Time[0] <= 3 && Time[1] == 0 && Time[2] == 0)
  862. {
  863. server_cmd("mp_timelimit 0");
  864. if(!ChangeMap && Voted && !inProcess && !Revoted
  865. || !ChangeMap && Revoted && !inProcess && !Voted)
  866. {
  867. if(get_pcvar_num(Cvar_OnlyNextRound) == 1)
  868. {
  869. print_color(0, "%s %L", Prefix, Lang, "MCAR");
  870. set_cvar_string("amx_nextmap", Next);
  871. ChangeMap = true;
  872. }
  873. else if(get_pcvar_num(Cvar_OnlyNextRound) == 0)
  874. {
  875. ChangeMap = true;
  876. set_cvar_string("amx_nextmap", Next);
  877. ChangeLevel();
  878. }
  879. }
  880. }
  881. }
  882. else if(get_pcvar_num(Cvar_Mod) == 0)
  883. {
  884. if(Rounds == MaxRounds-get_pcvar_num(Cvar_VoteVariable) && !Begined && !inProcess)
  885. {
  886. new String[32];
  887. float_to_str(get_pcvar_float(Cvar_WaitVoteMenuTime), String, 2);
  888. replace_all(String, 2, ".", "");
  889.  
  890. VoteMod = 3;
  891.  
  892. if(get_pcvar_num(Cvar_HudMod) == 1)
  893. {
  894. remove_task(MapID+8123);
  895. BeginCounter = str_to_num(String);
  896. VoteCounter();
  897. }
  898. else if(get_pcvar_num(Cvar_HudMod) == 0)
  899. {
  900. set_task(get_pcvar_float(Cvar_WaitVoteMenuTime), "StartMapChooser", MapID+3);
  901. set_hudmessage(R, G, B, -1.0, 0.20, 0, 6.0, get_pcvar_float(Cvar_WaitVoteMenuTime));
  902. ShowSyncHudMsg(0, sHudObj, "%L", Lang, "VOTE3", String);
  903. }
  904.  
  905. Begined = true;
  906. inProcess = true;
  907. }
  908.  
  909. if(Rounds >= MaxRounds && !ChangeMap && Voted
  910. || Rounds >= MaxRounds && !ChangeMap && Revoted)
  911. {
  912. print_color(0, "%s %L", Prefix, Lang, "MCAR");
  913. set_cvar_string("amx_nextmap", Next);
  914. ChangeMap = true;
  915. }
  916.  
  917. new CheckRounds;
  918. CheckRounds = get_cvar_num("mp_maxrounds");
  919.  
  920. if(CheckRounds != MaxRounds)
  921. {
  922. MaxRounds = CheckRounds;
  923. }
  924. }
  925.  
  926. if(!toRTV)
  927. {
  928. new Hour[32], Minute[32];
  929. format_time(Hour, sizeof Hour - 1, "%H");
  930. format_time(Minute, sizeof Minute - 1, "%M");
  931. Time[2] = str_to_num(Hour);
  932. Time[1] = str_to_num(Minute);
  933.  
  934. if(RTVTime[2] == Time[2] && RTVTime[1]+get_pcvar_num(Cvar_RTVMinute) <= Time[1])
  935. {
  936. toRTV = true;
  937. }
  938. }
  939. }
  940. public StartMapChooser()
  941. {
  942. remove_task(MapID+3);
  943. ChangeMap = false;
  944. Voted = false;
  945. Revoted = false;
  946. MapCounter = get_pcvar_num(Cvar_VoteCounter);
  947. Counter();
  948. VoteMod = 0;
  949. if(get_pcvar_num(Cvar_VoteSound) == 1)
  950. {
  951. client_cmd(0, "spk Gman/Gman_Choose%i", random_num(1, 2));
  952. }
  953. }
  954. public Change()
  955. {
  956. if(ChangeMap)
  957. {
  958. server_cmd("changelevel ^"%s^"", Next);
  959. }
  960. }
  961. public ShowInfo(id)
  962. {
  963. if(get_user_flags(id) & InfoFlag)
  964. {
  965. client_print(id, print_console, "* ------------");
  966. client_print(id, print_console, "* %s - v%s *", PLUGIN, VERSION);
  967. client_print(id, print_console, "* ------------");
  968. client_print(id, print_console, "* Last map: %s", LastMap);
  969. client_print(id, print_console, "* Next map: %s", Next);
  970. client_print(id, print_console, "* Total maps: %d", NomNum);
  971. client_print(id, print_console, "* ------------");
  972. client_print(id, print_console, "* Original timeleft: %d", TimeLimit);
  973. client_print(id, print_console, "* Max Rounds: %d", oRounds);
  974. client_print(id, print_console, "* ------------");
  975. client_print(id, print_console, "* Total played count: %d", PlayedCount);
  976. client_print(id, print_console, "* ------------");
  977. }
  978. }
  979. public ShowTimeLeft()
  980. {
  981. if(get_pcvar_num(Cvar_Mod) == 1)
  982. {
  983. static Time[3];
  984. Time[0] = get_timeleft();
  985. Time[1] = Time[0] / 60;
  986. Time[2] = Time[1] / 60;
  987. Time[0] = Time[0] - Time[1] * 60;
  988. Time[1] = Time[1] - Time[2] * 60;
  989. if(ChangeMap && Voted && Begined && !Revoted || ChangeMap && Revoted && Begined && !Voted)
  990. {
  991. print_color(0, "%s!y %L!t !t-!y:!t-", Prefix, Lang, "TL");
  992. }
  993. else
  994. {
  995. if(Time[2] > 0 && Time[1] > 0 && Time[0] > 0)
  996. print_color(0, "%s!y %L!t %d%!y:!t%02d!y:!t%02d", Prefix, Lang, "TL", Time[2], Time[1], Time[0]);
  997. else if(Time[1] > 0 && Time[0] > 0)
  998. print_color(0, "%s!y %L!t %02d!y:!t%02d", Prefix, Lang, "TL", Time[1], Time[0]);
  999. else
  1000. print_color(0, "%s!y %L!t !t-!y:!t-", Prefix, Lang, "TL");
  1001. }
  1002. }
  1003. else if(get_pcvar_num(Cvar_Mod) == 0)
  1004. {
  1005. print_color(0, "%s!t %L", Prefix, Lang, "RM", MaxRounds-Rounds);
  1006. }
  1007. }
  1008. public ShowNextMap()
  1009. {
  1010. new Status[2][32];
  1011. formatex(Status[0], 31, "%L", Lang, "NYT");
  1012. formatex(Status[1], 31, "%L", Lang, "VIP");
  1013. if(isValidMap(Next))
  1014. print_color(0, "%s!y %L!t %s", Prefix, Lang, "NM", Next);
  1015. else
  1016. {
  1017. if(inProcess)
  1018. {
  1019. print_color(0, "%s!y %L!t %s", Prefix, Lang, "NM", Status[1]);
  1020. }
  1021. else
  1022. {
  1023. print_color(0, "%s!y %L!t %s", Prefix, Lang, "NM", Status[0]);
  1024. }
  1025. }
  1026. }
  1027. public ShowCurrentMap()
  1028. {
  1029. print_color(0, "%s!y %L", Prefix, Lang, "CM", MapName);
  1030. }
  1031. public Counter()
  1032. {
  1033. if(MapCounter < 1)
  1034. {
  1035. Voted = true;
  1036.  
  1037. inProcess = false;
  1038.  
  1039. CheckVotes();
  1040.  
  1041. for(new Num; Num < 32; Num++)
  1042. {
  1043. if(!is_user_connected(Num))
  1044. continue;
  1045.  
  1046. ShowVoteMenu(Num);
  1047. }
  1048. }
  1049. else
  1050. {
  1051. MapCounter--;
  1052.  
  1053. set_task(1.0, "Counter", MapID+1);
  1054.  
  1055. for(new Num; Num < 32; Num++)
  1056. {
  1057. if(!is_user_connected(Num))
  1058. continue;
  1059.  
  1060. ShowVoteMenu(Num);
  1061. }
  1062. }
  1063. }
  1064. public NextMap()
  1065. {
  1066. remove_task(MapID-4);
  1067.  
  1068. if(!NeedRV)
  1069. {
  1070. ShowNextMap();
  1071. }
  1072.  
  1073. set_task(get_pcvar_float(Cvar_MenuDestroyTime), "DestroyVoteMenu", MapID-4);
  1074. }
  1075. public DestroyVoteMenu()
  1076. {
  1077. for(new Num; Num < 32; Num++)
  1078. {
  1079. if(!is_user_connected(Num))
  1080. continue;
  1081.  
  1082. show_menu(Num, 0, "^n", 1);
  1083. }
  1084. }
  1085. public ShowVoteMenu(id)
  1086. {
  1087. if(equal(VotedMap, MapName))
  1088. {
  1089. DestroyVoteMenu();
  1090. return;
  1091. }
  1092.  
  1093. new Menu[512], String[128], Key, MapPercent[MaxChoice];
  1094.  
  1095. AllVotes = 0;
  1096.  
  1097. for(new All; All < get_pcvar_num(Cvar_MaxMaps); All++)
  1098. {
  1099. AllVotes += MapVote[All];
  1100. }
  1101.  
  1102. formatex(String, 127, "%L", Lang, "CHONM", AllVotes);
  1103. add(Menu, 511, String);
  1104.  
  1105. for(new Num; Num < get_pcvar_num(Cvar_MaxMaps); Num++)
  1106. {
  1107. if(MapVote[Num] > 0)
  1108. MapPercent[Num] = ((MapVote[Num]*100)/(AllVotes));
  1109. if(equal(MapName, MapNames[Num]))
  1110. formatex(String, 127, "%L", Lang, "MOP5", Num+StartButton, MapNames[Num], MapVote[Num], MapPercent[Num]);
  1111. else
  1112. formatex(String, 127, "%L", Lang, "MOPD", Num+StartButton, MapNames[Num], MapVote[Num], MapPercent[Num]);
  1113. add(Menu, 511, String);
  1114. }
  1115.  
  1116. if(Voted)
  1117. formatex(String, 127, "%L", Lang, "MNM", Next);
  1118. else if(!Revoted && !Voted && MapCounter <= 0 && NeedRV)
  1119. formatex(String, 127, "%L", Lang, "MNRE");
  1120. else
  1121. formatex(String, 127, "%L", Lang, "MCSL", MapCounter);
  1122.  
  1123. add(Menu, 511, String);
  1124.  
  1125. Key = (-1^(-1<<(get_pcvar_num(Cvar_MaxMaps)+StartButton)));
  1126.  
  1127. show_menu(id, Key, Menu, -1, "VoteMenu");
  1128. }
  1129. public VoteMenuKeys(id, Key)
  1130. {
  1131. if(PlayerVoted[id] || Voted)
  1132. {
  1133. if(PlayerVoted[id])
  1134. {
  1135. print_color(id, "%s %L", Prefix, Lang, "AVO");
  1136. }
  1137. return;
  1138. }
  1139.  
  1140. if(!Begined || NeedRV)
  1141. {
  1142. show_menu(id, 0, "^n", 1);
  1143. return;
  1144. }
  1145.  
  1146. new PlayerName[32];
  1147. get_user_name(id, PlayerName, 31);
  1148.  
  1149. Key -= StartButton-1;
  1150. if(Key < get_pcvar_num(Cvar_MaxMaps) && Key > -1)
  1151. {
  1152. PlayerMap[id] = Key;
  1153. PlayerVoted[id] = true;
  1154. print_color(0, "%s %L", Prefix, Lang, "PCHO", PlayerName, MapNames[Key]);
  1155. MapVote[Key]++;
  1156. if(get_pcvar_num(Cvar_ChooseSound) == 1)
  1157. {
  1158. client_cmd(0, "spk buttons/lightswitch2");
  1159. }
  1160. }
  1161.  
  1162. ShowVoteMenu(id);
  1163. }
  1164. public LoadVoteMaps()
  1165. {
  1166. new Line[128], Map[32], Len, Used[Max], Loaded, File, Found;
  1167.  
  1168. File = fopen(MapCycle, "rt");
  1169.  
  1170. if(File)
  1171. {
  1172.  
  1173. for(new lNum; lNum < Max; lNum++)
  1174. {
  1175. Found = 0;
  1176.  
  1177. new RandomMap = random(MapCycle_Lines);
  1178. read_file(MapCycle, RandomMap, Line, 127, Len);
  1179.  
  1180. parse(Line, Map, 31);
  1181.  
  1182. for(new mc; mc < MaxChoice; mc++)
  1183. {
  1184. if(equali(Map, MapNames[mc]))
  1185. {
  1186. Found = 1;
  1187. }
  1188. }
  1189.  
  1190. if(Found == 1 || equali(Map, MapName))
  1191. {
  1192. continue;
  1193. }
  1194.  
  1195. if(Used[RandomMap] == 0 && Loaded < get_pcvar_num(Cvar_MaxMaps)-1 && isValidMap(Map))
  1196. {
  1197. Used[RandomMap] = 1;
  1198. copy(MapNames[Loaded], sizeof Map - 1, Map);
  1199. Loaded++;
  1200. }
  1201. }
  1202.  
  1203. }
  1204.  
  1205. fclose(File);
  1206.  
  1207. MapNames[get_pcvar_num(Cvar_MaxMaps)-1] = MapName;
  1208. set_task(0.1, "LoadNomMaps", MapID+69);
  1209. }
  1210. public LoadNomMaps()
  1211. {
  1212. new Line[128], Map[32], File, Found;
  1213.  
  1214. File = fopen(MapCycle, "rt");
  1215.  
  1216. while(!feof(File))
  1217. {
  1218. fgets(File, Line, charsmax(Line));
  1219.  
  1220. parse(Line, Map, 31);
  1221.  
  1222. for(new nn; nn < NomNum; nn++)
  1223. {
  1224. if(equali(Map, NomMaps[nn]))
  1225. {
  1226. Found = 1;
  1227. }
  1228. }
  1229.  
  1230. if(Found == 1)
  1231. {
  1232. continue;
  1233. }
  1234.  
  1235. if(NomNum < MapCycle_Lines && isValidMap(Map))
  1236. {
  1237. copy(NomMaps[NomNum], sizeof Map - 1, Map);
  1238. NomNum++;
  1239. }
  1240. }
  1241.  
  1242. fclose(File);
  1243. }
  1244. public ShowMapMenu(id)
  1245. {
  1246. new Menu, MenuLine[128], MapDatas[2][32], String[32];
  1247. formatex(MenuLine, 127, "%L", Lang, "MPNM");
  1248. Menu = menu_create(MenuLine, "MapKey");
  1249.  
  1250. for(new MapNum; MapNum < MapFile_Lines-1; MapNum++)
  1251. {
  1252. parse(Maps[MapNum], MapDatas[0], 31, MapDatas[1], 31);
  1253. formatex(MenuLine, 127, "%L", Lang, "PMPM", MapDatas[0], MapDatas[1]);
  1254. num_to_str(MapNum, String, 2);
  1255. menu_additem(Menu, MenuLine, String);
  1256. }
  1257.  
  1258. formatex(MenuLine, 127, "%L", Lang, "MNEXT");
  1259. menu_setprop(Menu, MPROP_NEXTNAME, MenuLine);
  1260. formatex(MenuLine, 127, "%L", Lang, "MEXIT");
  1261. menu_setprop(Menu, MPROP_EXITNAME, MenuLine);
  1262. formatex(MenuLine, 127, "%L", Lang, "MBACK");
  1263. menu_setprop(Menu, MPROP_BACKNAME, MenuLine);
  1264. menu_setprop(Menu, MPROP_PERPAGE, PMPage);
  1265. menu_display(id, Menu);
  1266. }
  1267. public MapKey(id, Menu, Item)
  1268. {
  1269. new MenuNum[2], Data[2][32], Key;
  1270. menu_item_getinfo(Menu, Item, MenuNum[0], Data[0], charsmax(Data), Data[1], charsmax(Data), MenuNum[1]);
  1271.  
  1272. Key = str_to_num(Data[0]);
  1273.  
  1274. if(Item == MENU_EXIT)
  1275. {
  1276. menu_destroy(Menu);
  1277. return;
  1278. }
  1279.  
  1280. new MapDatas[2][32];
  1281. parse(Maps[Key], MapDatas[0], 31, MapDatas[1], 31);
  1282.  
  1283. print_color(id, "%s %L", Prefix, Lang, "MNP", MapDatas[0], MapDatas[1]);
  1284. }
  1285. public ShowNomMenu(id)
  1286. {
  1287. if(Nom >= get_pcvar_num(Cvar_MaxMaps)-1)
  1288. {
  1289. print_color(id, "%s %L", Prefix, Lang, "NOMT");
  1290. return;
  1291. }
  1292. if(AlreadyNom[id])
  1293. {
  1294. print_color(id, "%s %L", Prefix, Lang, "NOMN");
  1295. return;
  1296. }
  1297. if(inProcess || Voted || Revoted)
  1298. {
  1299. return;
  1300. }
  1301.  
  1302. new Menu, MenuLine[128], Already;
  1303. formatex(MenuLine, 127, "%L", Lang, "NOMM");
  1304. Menu = menu_create(MenuLine, "NomKey");
  1305.  
  1306. for(new MapNum; MapNum < MapCycle_Lines; MapNum++)
  1307. {
  1308. if(Nomed[MapNum] == 1)
  1309. continue;
  1310.  
  1311. Already = 0;
  1312.  
  1313. for(new mc; mc < MaxChoice; mc++)
  1314. {
  1315. if(equali(NomMaps[MapNum], MapNames[mc]))
  1316. {
  1317. Already = 1;
  1318. }
  1319. }
  1320.  
  1321. if(Already == 1)
  1322. continue;
  1323.  
  1324. if(equali(NomMaps[MapNum], MapName))
  1325. continue;
  1326.  
  1327. if(!isValidMap(NomMaps[MapNum]))
  1328. continue;
  1329.  
  1330. formatex(MenuLine, 127, "%L", Lang, "NOM1", NomMaps[MapNum]);
  1331. menu_additem(Menu, MenuLine, NomMaps[MapNum]);
  1332. }
  1333.  
  1334. formatex(MenuLine, 127, "%L", Lang, "MNEXT");
  1335. menu_setprop(Menu, MPROP_NEXTNAME, MenuLine);
  1336. formatex(MenuLine, 127, "%L", Lang, "MEXIT");
  1337. menu_setprop(Menu, MPROP_EXITNAME, MenuLine);
  1338. formatex(MenuLine, 127, "%L", Lang, "MBACK");
  1339. menu_setprop(Menu, MPROP_BACKNAME, MenuLine);
  1340. menu_display(id, Menu);
  1341. }
  1342. public NomKey(id, Menu, Item)
  1343. {
  1344. if(Nom > get_pcvar_num(Cvar_MaxMaps)-1)
  1345. {
  1346. print_color(id, "%s %L", Prefix, Lang, "NOMT");
  1347. return PLUGIN_HANDLED;
  1348. }
  1349. if(AlreadyNom[id])
  1350. {
  1351. print_color(id, "%s %L", Prefix, Lang, "NOMN");
  1352. return PLUGIN_HANDLED;
  1353. }
  1354. if(inProcess || Voted)
  1355. {
  1356. return PLUGIN_HANDLED;
  1357. }
  1358.  
  1359. new MenuNum[2], Data_1[32], Data_2[32], PlayerName[32];
  1360. menu_item_getinfo(Menu, Item, MenuNum[0], Data_1, charsmax(Data_1), Data_2, charsmax(Data_2), MenuNum[1]);
  1361.  
  1362. if(Item == MENU_EXIT)
  1363. {
  1364. menu_destroy(Menu);
  1365. return PLUGIN_HANDLED;
  1366. }
  1367.  
  1368. new Already = 0;
  1369.  
  1370. for(new mc; mc < MaxChoice; mc++)
  1371. {
  1372. if(equali(Data_1, MapNames[mc]))
  1373. {
  1374. Already = 1;
  1375. }
  1376. }
  1377.  
  1378. if(Already == 1 || !isValidMap(Data_1) || Nomed[Nom] == 1)
  1379. return PLUGIN_HANDLED;
  1380.  
  1381. get_user_name(id, PlayerName, charsmax(PlayerName));
  1382.  
  1383. print_color(0, "%s %L", Prefix, Lang, "NOMC", PlayerName, Data_1);
  1384.  
  1385. if(get_pcvar_num(Cvar_NomChance) >= (random_num(1,100)))
  1386. {
  1387. MapNames[Nom] = Data_1;
  1388. }
  1389.  
  1390. MapNames[Nom] = Data_1;
  1391. Nomed[Nom] = 1;
  1392. Nom++;
  1393. AlreadyNom[id] = true;
  1394.  
  1395. return PLUGIN_HANDLED;
  1396. }
  1397. public LoadMapMenu()
  1398. {
  1399. new Line[64], File, Len;
  1400.  
  1401. File = fopen(MapFile, "rt");
  1402.  
  1403. if(File)
  1404. {
  1405. for(new MapNum; MapNum < MapFile_Lines; MapNum++)
  1406. {
  1407. read_file(MapFile, MapNum, Line, 63, Len);
  1408.  
  1409. if(Line[0] == ';' || strlen(Line) < 2)
  1410. continue;
  1411.  
  1412. remove_quotes(Line);
  1413.  
  1414. copy(Maps[MapNum], sizeof Line - 1, Line);
  1415. }
  1416. }
  1417.  
  1418. fclose(File);
  1419. }
  1420. public LoadMaps()
  1421. {
  1422. remove_task(MapID);
  1423.  
  1424. new Line[64], File, MapDatas[2][32], LineNum, MapNum, bool:Found;
  1425. File = fopen(MapFile, "rt");
  1426.  
  1427. while(!feof(File))
  1428. {
  1429. fgets(File, Line, charsmax(Line));
  1430.  
  1431. if(Line[0] == ';' || strlen(Line) < 2)
  1432. continue;
  1433.  
  1434. parse(Line, MapDatas[0], 31, MapDatas[1], 31);
  1435.  
  1436. PlayedCount += str_to_num(MapDatas[1]);
  1437.  
  1438. if(equal(MapDatas[0], MapName))
  1439. {
  1440. MapNum = str_to_num(MapDatas[1])+1;
  1441. format(Line, sizeof Line - 1, "^"%s^" ^"%d^"", MapName, MapNum);
  1442. write_file(MapFile, Line, LineNum);
  1443. Found = true;
  1444. }
  1445.  
  1446. LineNum++;
  1447. }
  1448.  
  1449. fclose(File);
  1450.  
  1451. if(!Found)
  1452. {
  1453. NewMap();
  1454. }
  1455.  
  1456. set_task(0.5, "LoadMapMenu", MapID);
  1457. }
  1458. public NewMap()
  1459. {
  1460. new Line[32], File;
  1461. File = fopen(MapFile, "at+");
  1462. formatex(Line, sizeof Line - 1, "^"%s^" ^"%d^"^n", MapName, 1);
  1463. fprintf(File, Line);
  1464. fclose(File);
  1465. }
  1466. public StartRevoteTime()
  1467. {
  1468. new String[32];
  1469. float_to_str(get_pcvar_float(Cvar_WaitRevoteMenuTime), String, 2);
  1470. replace_all(String, 2, ".", "");
  1471. VoteMod = 4;
  1472. if(get_pcvar_num(Cvar_HudMod) == 1)
  1473. {
  1474. remove_task(MapID+8123);
  1475. BeginCounter = str_to_num(String);
  1476. VoteCounter();
  1477. }
  1478. else if(get_pcvar_num(Cvar_HudMod) == 0)
  1479. {
  1480. set_task(get_pcvar_float(Cvar_StartRevoteTime), "StartRevote", MapID+33);
  1481. set_hudmessage(R, G, B, -1.0, 0.20, 0, 6.0, get_pcvar_float(Cvar_WaitVoteMenuTime));
  1482. ShowSyncHudMsg(0, sHudObj, "%L", Lang, "VOTE4", String);
  1483. }
  1484.  
  1485. inProcess = true;
  1486. }
  1487. public StartRevote()
  1488. {
  1489. Voted = false;
  1490. Begined = true;
  1491. MapCounter = get_pcvar_num(Cvar_VoteCounter);
  1492. ReCounter();
  1493. if(get_pcvar_num(Cvar_VoteSound) == 1)
  1494. client_cmd(0, "spk Gman/Gman_Choose%i", random_num(1, 2));
  1495. }
  1496. public ShowRevoteMenu(id)
  1497. {
  1498. if(equal(VotedMap, MapName))
  1499. {
  1500. DestroyVoteMenu();
  1501. return;
  1502. }
  1503.  
  1504. new Menu[512], String[128], Key, MapPercent[MaxChoice];
  1505.  
  1506. AllRevotes = 0;
  1507.  
  1508. for(new All; All < 2; All++)
  1509. {
  1510. AllRevotes += RevoteCounts[All];
  1511. }
  1512.  
  1513. formatex(String, 127, "%L", Lang, "CHONM", AllRevotes);
  1514. add(Menu, 511, String);
  1515.  
  1516. for(new Num; Num < 2; Num++)
  1517. {
  1518. if(RevoteCounts[Num] > 0)
  1519. MapPercent[Num] = ((RevoteCounts[Num]*100)/(AllRevotes));
  1520. formatex(String, 127, "%L", Lang, "MOPD", Num+StartButton, MapRevote[Num], RevoteCounts[Num], MapPercent[Num]);
  1521. add(Menu, 511, String);
  1522. }
  1523.  
  1524. if(!Revoted)
  1525. formatex(String, 127, "%L", Lang, "MCSL", MapCounter);
  1526. else
  1527. formatex(String, 127, "%L", Lang, "MNM", Next);
  1528.  
  1529. add(Menu, 511, String);
  1530.  
  1531. Key = (-1^(-1<<(1+StartButton)));
  1532.  
  1533. show_menu(id, Key, Menu, -1, "RevoteMenu");
  1534. }
  1535. public RevoteMenuKeys(id, Key)
  1536. {
  1537. if(PlayerRevoted[id] || Revoted)
  1538. {
  1539. if(PlayerVoted[id])
  1540. print_color(id, "%s %L", Prefix, Lang, "AVO");
  1541.  
  1542. ShowRevoteMenu(id);
  1543. return;
  1544. }
  1545.  
  1546. if(!Begined)
  1547. {
  1548. show_menu(id, 0, "^n", 1);
  1549. return;
  1550. }
  1551.  
  1552. new PlayerName[32];
  1553. get_user_name(id, PlayerName, 31);
  1554.  
  1555. Key -= StartButton-1;
  1556.  
  1557. if(Key <= 2 && Key > -1)
  1558. {
  1559. PlayerMap[id] = Key;
  1560. PlayerRevoted[id] = true;
  1561. print_color(0, "%s %L", Prefix, Lang, "PCHO", PlayerName, MapRevote[Key]);
  1562. RevoteCounts[Key]++;
  1563. if(get_pcvar_num(Cvar_ChooseSound) == 1)
  1564. {
  1565. client_cmd(0, "spk buttons/lightswitch2");
  1566. }
  1567. }
  1568.  
  1569. ShowRevoteMenu(id);
  1570. }
  1571. public ReCounter()
  1572. {
  1573. if(MapCounter < 1)
  1574. {
  1575. Revoted = true;
  1576.  
  1577. inProcess = false;
  1578.  
  1579. CheckRevotes();
  1580.  
  1581. for(new Num; Num < 32; Num++)
  1582. {
  1583. if(!is_user_connected(Num))
  1584. continue;
  1585.  
  1586. ShowRevoteMenu(Num);
  1587. }
  1588. }
  1589. else
  1590. {
  1591. MapCounter--;
  1592.  
  1593. set_task(1.0, "ReCounter", MapID+211);
  1594.  
  1595. for(new Num; Num < 32; Num++)
  1596. {
  1597. if(!is_user_connected(Num))
  1598. continue;
  1599.  
  1600. ShowRevoteMenu(Num);
  1601. }
  1602. }
  1603. }
  1604. public client_disconnect(id)
  1605. {
  1606. if(PlayerRTV[id])
  1607. {
  1608. RTV--;
  1609. PlayerRTV[id] = false;
  1610. }
  1611.  
  1612. if(PlayerVoted[id])
  1613. {
  1614. MapVote[PlayerMap[id]]--;
  1615. PlayerVoted[id] = false;
  1616. }
  1617.  
  1618. if(PlayerRevoted[id])
  1619. {
  1620. RevoteCounts[PlayerMap[id]]--;
  1621. PlayerRevoted[id] = false;
  1622. }
  1623.  
  1624. PlayerMap[id] = 0;
  1625.  
  1626. }
  1627. stock ChangeLevel()
  1628. {
  1629. set_task(get_pcvar_float(Cvar_ChangeSpeed), "Change", MapID+2);
  1630. message_begin(MSG_ALL, SVC_INTERMISSION);
  1631. message_end();
  1632. }
  1633. stock print_color(const id, const input[], any:...)
  1634. {
  1635. new Count = 1, Players[32];
  1636. static Msg[191];
  1637. vformat(Msg, 190, input, 3);
  1638.  
  1639. replace_all(Msg, 190, "!g", "^4");
  1640. replace_all(Msg, 190, "!y", "^1");
  1641. replace_all(Msg, 190, "!t", "^3");
  1642.  
  1643. if(id) Players[0] = id; else get_players(Players, Count, "ch");
  1644. {
  1645. for (new i = 0; i < Count; i++)
  1646. {
  1647. if (is_user_connected(Players[i]))
  1648. {
  1649. message_begin(MSG_ONE_UNRELIABLE, SayText, _, Players[i]);
  1650. write_byte(Players[i]);
  1651. write_string(Msg);
  1652. message_end();
  1653. }
  1654. }
  1655. }
  1656. return PLUGIN_HANDLED;
  1657. }
  1658. stock CheckVotes() {
  1659.  
  1660. if(AllVotes == 0)
  1661. {
  1662. Revoted = false;
  1663. Next = MapNames[0];
  1664. set_cvar_string("amx_nextmap", Next);
  1665. NextMap();
  1666. return PLUGIN_HANDLED;
  1667. }
  1668.  
  1669. new VoteNum_1 = 0;
  1670.  
  1671. for(new Num = 0; Num < get_pcvar_num(Cvar_MaxMaps); ++Num)
  1672. {
  1673. if(MapVote[VoteNum_1] < MapVote[Num])
  1674. {
  1675. VoteNum_1 = Num;
  1676. }
  1677. }
  1678.  
  1679. if((MapVote[VoteNum_1]*100/AllVotes) >= get_pcvar_num(Cvar_VotePercentMin))
  1680. {
  1681. Revoted = false;
  1682. Next = MapNames[VoteNum_1];
  1683. VotedMap = Next;
  1684. set_cvar_string("amx_nextmap", Next);
  1685.  
  1686. if(get_pcvar_num(Cvar_Mod) == 1)
  1687. {
  1688. if(equali(Next, MapName))
  1689. {
  1690. new Hour[32], Minute[32], Second[32], pTime[3];
  1691. format_time(Hour, sizeof Hour - 1, "%H");
  1692. format_time(Minute, sizeof Minute - 1, "%M");
  1693. format_time(Second, sizeof Second - 1, "%S");
  1694. pTime[0] = str_to_num(Second);
  1695. pTime[1] = str_to_num(Minute);
  1696. pTime[2] = str_to_num(Hour);
  1697.  
  1698. pTime[1] = pTime[1] - ElapsedTime[1];
  1699.  
  1700. if(pTime[0] >= ElapsedTime[0])
  1701. pTime[0] = pTime[0] - ElapsedTime[0];
  1702. else
  1703. {
  1704. pTime[0] = pTime[0]+60 - ElapsedTime[0];
  1705. pTime[1]--;
  1706. }
  1707.  
  1708. if(pTime[2] == ElapsedTime[2])
  1709. server_cmd("mp_timelimit %d.%02d", get_pcvar_num(Cvar_Extend)+pTime[1], pTime[0]);
  1710. else
  1711. server_cmd("mp_timelimit %d.%02d", (get_pcvar_num(Cvar_Extend)+pTime[1])+(60*(pTime[2]-ElapsedTime[2])), pTime[0]);
  1712.  
  1713. print_color(0, "%s %L", Prefix, Lang, "MEXTEND1", get_pcvar_num(Cvar_Extend));
  1714.  
  1715. Extend();
  1716. }
  1717. }
  1718. else if(get_pcvar_num(Cvar_Mod) == 0)
  1719. {
  1720. if(equali(Next, MapName))
  1721. {
  1722. print_color(0, "%s %L", Prefix, Lang, "MEXTEND2", get_pcvar_num(Cvar_Extend));
  1723. server_cmd("mp_maxrounds ^"%d^"", get_pcvar_num(Cvar_Extend)+oRounds);
  1724.  
  1725. Rounds = 0;
  1726. MaxRounds = get_pcvar_num(Cvar_Extend);
  1727.  
  1728. Extend();
  1729. }
  1730. }
  1731. }
  1732. else
  1733. {
  1734. NeedRV = true;
  1735. Voted = false;
  1736.  
  1737. MapVote[VoteNum_1] = -MapVote[VoteNum_1];
  1738.  
  1739. new VoteNum_1_1 = 0;
  1740.  
  1741. for(new Num = 0; Num < get_pcvar_num(Cvar_MaxMaps); ++Num)
  1742. {
  1743. if(MapVote[VoteNum_1_1] < MapVote[Num])
  1744. {
  1745. VoteNum_1_1 = Num;
  1746. }
  1747. }
  1748.  
  1749. MapVote[VoteNum_1] = 0-MapVote[VoteNum_1];
  1750.  
  1751. copy(MapRevote[0], 31, MapNames[VoteNum_1]);
  1752. copy(MapRevote[1], 31, MapNames[VoteNum_1_1]);
  1753.  
  1754. RevoteCounts[0] = 0;
  1755. RevoteCounts[1] = 0;
  1756.  
  1757. VoteMod = 0;
  1758. set_task(get_pcvar_float(Cvar_StartRevoteTime), "StartRevoteTime", MapID+3);
  1759. print_color(0, "%s %L", Prefix, Lang, "RER", get_pcvar_num(Cvar_VotePercentMin));
  1760. }
  1761.  
  1762. NextMap();
  1763. return PLUGIN_CONTINUE;
  1764. }
  1765. stock CheckRevotes() {
  1766.  
  1767. if(AllRevotes == 0)
  1768. {
  1769. Next = MapRevote[0];
  1770. set_cvar_string("amx_nextmap", Next);
  1771. NeedRV = false;
  1772. VotedMap = Next;
  1773. NextMap();
  1774. return PLUGIN_HANDLED;
  1775. }
  1776.  
  1777. new VoteNum_1 = 0;
  1778.  
  1779. for(new Num = 0; Num < 2; ++Num)
  1780. {
  1781. if(RevoteCounts[VoteNum_1] < RevoteCounts[Num])
  1782. VoteNum_1 = Num;
  1783. }
  1784.  
  1785. Next = MapRevote[VoteNum_1];
  1786. set_cvar_string("amx_nextmap", Next);
  1787. NeedRV = false;
  1788. VotedMap = Next;
  1789.  
  1790. if(get_pcvar_num(Cvar_Mod) == 1)
  1791. {
  1792. if(equali(Next, MapName))
  1793. {
  1794. new Hour[32], Minute[32], Second[32], pTime[3];
  1795. format_time(Hour, sizeof Hour - 1, "%H");
  1796. format_time(Minute, sizeof Minute - 1, "%M");
  1797. format_time(Second, sizeof Second - 1, "%S");
  1798. pTime[0] = str_to_num(Second);
  1799. pTime[1] = str_to_num(Minute);
  1800. pTime[2] = str_to_num(Hour);
  1801.  
  1802. pTime[1] = pTime[1] - ElapsedTime[1];
  1803.  
  1804. if(pTime[0] >= ElapsedTime[0])
  1805. pTime[0] = pTime[0] - ElapsedTime[0];
  1806. else
  1807. {
  1808. pTime[0] = pTime[0]+60 - ElapsedTime[0];
  1809. pTime[1]--;
  1810. }
  1811.  
  1812. if(pTime[2] == ElapsedTime[2])
  1813. server_cmd("mp_timelimit %d.%02d", get_pcvar_num(Cvar_Extend)+pTime[1], pTime[0]);
  1814. else
  1815. server_cmd("mp_timelimit %d.%02d", (get_pcvar_num(Cvar_Extend)+pTime[1])+(60*(pTime[2]-ElapsedTime[2])), pTime[0]);
  1816.  
  1817. print_color(0, "%s %L", Prefix, Lang, "MEXTEND1", get_pcvar_num(Cvar_Extend));
  1818.  
  1819. Extend();
  1820. }
  1821. }
  1822. else if(get_pcvar_num(Cvar_Mod) == 0)
  1823. {
  1824. if(equali(Next, MapName))
  1825. {
  1826. print_color(0, "%s %L", Prefix, Lang, "MEXTEND2", get_pcvar_num(Cvar_Extend));
  1827. server_cmd("mp_maxrounds ^"%d^"", get_pcvar_num(Cvar_Extend)+oRounds);
  1828.  
  1829. Rounds = MaxRounds-get_pcvar_num(Cvar_Extend);
  1830. MaxRounds = get_pcvar_num(Cvar_Extend);
  1831.  
  1832. Extend();
  1833. }
  1834. }
  1835.  
  1836. NextMap();
  1837. return PLUGIN_CONTINUE;
  1838. }
  1839. stock bool:isValidMap(Map[])
  1840. {
  1841. if(is_map_valid(Map))
  1842. {
  1843. return true;
  1844. }
  1845.  
  1846. new Len = strlen(Map) - 4;
  1847.  
  1848. if(0 > Len)
  1849. {
  1850. return false;
  1851. }
  1852.  
  1853. if(equali(Map[Len], ".bsp"))
  1854. {
  1855. Map[Len] = '^0';
  1856.  
  1857. if(is_map_valid(Map))
  1858. {
  1859. return true;
  1860. }
  1861. }
  1862.  
  1863. return false;
  1864. }


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Pályaszavaztató - DMC v2.01
HozzászólásElküldve: 2015.06.26. 01:10 
Offline
A Scripter

Csatlakozott: 2013.11.19. 19:08
Hozzászólások: 827
Megköszönt másnak: 8 alkalommal
Megköszönték neki: 315 alkalommal
Leírást is frissítettem.


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Pályaszavaztató - DMC v2.30
HozzászólásElküldve: 2015.06.26. 02:40 
Offline
Tud valamit

Csatlakozott: 2014.08.22. 10:32
Hozzászólások: 144
Megköszönt másnak: 12 alkalommal
Megköszönték neki: 9 alkalommal
Ezt a 2-t kitöröljük a server.cfg mappából.

A server.cfg mióta mappa? O.o


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Pályaszavaztató - DMC v2.30
HozzászólásElküldve: 2015.06.26. 09:04 
Offline
A Scripter

Csatlakozott: 2013.11.19. 19:08
Hozzászólások: 827
Megköszönt másnak: 8 alkalommal
Megköszönték neki: 315 alkalommal
Javítottam a leírást is.


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Pályaszavaztató - DMC v2.30
HozzászólásElküldve: 2015.06.26. 12:15 
Offline
A Scripter

Csatlakozott: 2013.11.19. 19:08
Hozzászólások: 827
Megköszönt másnak: 8 alkalommal
Megköszönték neki: 315 alkalommal
én lassan beszarok ezeken az angolokon :d
mindig találnak egy hibát és nem hagynak. :/
az egyikkel már ts3 beszéltem csak nehezen ment mert a gyerek nem igazán magyar se angol.


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Pályaszavaztató - DMC v2.30
HozzászólásElküldve: 2015.06.26. 13:28 
Offline
Tud valamit
Avatar

Csatlakozott: 2015.06.10. 11:48
Hozzászólások: 105
Megköszönt másnak: 1 alkalommal
Megköszönték neki: 13 alkalommal
hlsw be mérnem mutatja a lejárati időt? :D

(köröket mutatja)

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Pályaszavaztató - DMC v2.30
HozzászólásElküldve: 2015.06.26. 13:35 
Offline
A Scripter

Csatlakozott: 2013.11.19. 19:08
Hozzászólások: 827
Megköszönt másnak: 8 alkalommal
Megköszönték neki: 315 alkalommal
mutatnia kell


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Pályaszavaztató - DMC v2.30
HozzászólásElküldve: 2015.06.26. 13:39 
Offline
Tud valamit
Avatar

Csatlakozott: 2015.06.10. 11:48
Hozzászólások: 105
Megköszönt másnak: 1 alkalommal
Megköszönték neki: 13 alkalommal
DeR0iD írta:
mutatnia kell

mutatja is, de csak annyit pl: Limit: 20 perc (0:0 van hátra) tehát nem mutatja mennyi van hátra a 20 percből

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Pályaszavaztató - DMC v2.33
HozzászólásElküldve: 2015.06.27. 18:18 
Offline
Minden6ó
Avatar

Csatlakozott: 2011.01.19. 12:14
Hozzászólások: 4280
Megköszönt másnak: 218 alkalommal
Megköszönték neki: 285 alkalommal
Kód:
v2.33
Round fix
Add rounds [New method]
Multilang toggle Server / Client [removed]


Hiányzik.. :)

_________________
<<eb@>>Team Website - Közösség
17Buddies - Általam készített pályák.
GameBanana - Általam készített pályák/vágott hangok.

Kép
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Pályaszavaztató - DMC v2.33
HozzászólásElküldve: 2015.07.16. 10:56 
Offline
Fanatikus
Avatar

Csatlakozott: 2014.06.08. 10:25
Hozzászólások: 164
Megköszönt másnak: 38 alkalommal
Megköszönték neki: 19 alkalommal
Kép
mit tudok ezzel csinálni valaki help?

_________________
Kép

87.229.77.40:27020


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  [ 35 hozzászólás ]  Oldal Előző 1 2 3 4 Következő


Ki van itt

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


Nem nyithatsz 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