Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 5th, 2012  |  syntax: None  |  size: 23.23 KB  |  hits: 14  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. local allmaps = { "Gema Francais 2009 - Roi des Gemas",
  2. "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!goku-gema!!!!!!!!!!!!!!!!!!!!!!!!",
  3. "!!!!!!!!!!!!!!!!!!!!!!GEMA_COLOR!!!!F.u#NICKY_GEMA_COLLOUR!!!!!",
  4. "!!!!!!!!!!!!!!!!!!!!!!goku-gema!!!!!!!!!!!!!!!!!!!!!!!!!!!",
  5. "!!!!!!!!!!!!!!!!Gema_CARTman_And_Tealulc",
  6. "!!!!!!!!!!A_GEMA!difficult!!!!!!!!!!",
  7. "!!!!!!!!!!Gema.Mauricio.Br.V12.2!!!!!!!!!!",
  8. "!!!!!!!!!!GEMA_2_WAYS_BY_.PTF_YOURMUM",
  9. "!!!!!!!G3M4_Brasilll_By_KriSiOn---!!",
  10. "!!!!!!!GemaBrasil_by_krision.$R$.",
  11. "!!!!!--!!!!!Gema++#F.U#",
  12. "!!!!!GEM@_OsK_Muito_LOK@!!!!!!",
  13. "!!!!!Gema.Do.Mauricio.BR!!!!!",
  14. "!!!!!GEMA_INTTELIGENCE!!!!!",
  15. "!!!!GEM@=BOMBERS-LEGENDARYS-E=FUZILEIROS",
  16. "!!!!GEM@=BOMBERS-LEGENDARYS-E=FUZILEIROS_v2",
  17. "!!!!GeMa_-d+d!.&.tim-xD",
  18. "!!!!Nicky_GEM@_2010_HARD!!!!",
  19. "!!!g3m@=sn1p3r_sh0t!!!",
  20. "!!!GEMA White Room Purple!!!",
  21. "!!!Gema!!!2009-by_Mr.Potatohead.",
  22. "!!!Gema!!!2009-by_Mr.Potatohead",
  23. "!!!gema!!!brown",
  24. "!!!GEMA!!!LOL!!!",
  25. "!!!gema!!!xxx3!!!",
  26. "!!!GEMA-Green(short)",
  27. "!!!GEMA-XXX-XXX-!!!",
  28. "!!!GEMA-XXX-XXX-XXX-!!!-(No_Se)",
  29. "!!!Gema.._M.a.C_hun.T-Tailor",
  30. "!!!GEMA@MAGIC_GREENLAND!!!",
  31. "!!!GemAaAaAaAaAa",
  32. "!!!Gema_By_Tealulc_And_Balou",
  33. "!!!Very!Good!Gema!!!",
  34. "!!!VERY!GOOD!GEMA!!!_v2",
  35. "!!!W00D_G3M4!!",
  36. "!!-HOT-GIRLS-GEMA-NAKED",
  37. "!!Easy_Gema_by_M0nsterkiller!!",
  38. "!!GEMA by DEATH [SUN] & CC Toni",
  39. "!!gema by yata & punjab!!",
  40. "!!gema!!m0nst3r",
  41. "!!GEMA-HARDandEASY-HB!!",
  42. "!!Gema..normal .By yata!!",
  43. "!!LS-GeMa=X.klanox",
  44. "!!Very Hard GEMA HS.FR!!",
  45. "!$!GemaT.S.O.RAP_Menace13!$!",
  46. "!+_+!GEMA!+_+!",
  47. "!+_+!GEMA_CLUB!+_+!",
  48. "!-!gema!-! ~ AudioJunkie ~ Tooph ~ sexygema944",
  49. "!A-C-A.SpecilGema_LSS!",
  50. "!BEN!_GEMA-NOT-LONG-DIFFICULT-NO-KILL",
  51. "!BEN!_GeMa_10_Levels",
  52. "!BEN!_GEMA_15_Levels_Beginner-map",
  53. "!BEN!_GEMA_Blue",
  54. "!BEN!_GEMA_LONG",
  55. "!BEN!_GEMA_LONG_2",
  56. "!BEN!_GEMA_LONG_AND_DIFFICULT-long-version",
  57. "!BEN!_GEMA_LONG_AND_DIFFICULT-simple-version",
  58. "!BEN!_GEMA_NO_NOOBS",
  59. "!delishe's-gema-y0zgat!.$R$.",
  60. "!delishe's-gema-y0zgat!",
  61. "!GEMA!-BAM-OIDA by stefel + hai",
  62. "!GEMA!-Free Fall by stefel",
  63. "!GEMA!-RING by stefel",
  64. "!GeMa-by-arvyduxx-FiNiShEd.$R$.",
  65. "!GeMa-by-arvyduxx-FiNiShEd",
  66. "!GeMa-by-arvyduxx",
  67. "!Gema-Extrem-y0zgat!",
  68. "!GeMa-gowac.webs.com.$R$.",
  69. "!GeMa-gowac.webs.com",
  70. "!Gema-Hard-Yozgat!",
  71. "!GeMa",
  72. "!Gema.Debutant.Colors",
  73. "!GemabyK!ll-Mutiny!",
  74. "!Gema_4all!",
  75. "!Gema_Choices!",
  76. "!gema_GAGA",
  77. "!KWxGema(Suicide-Choose)_by_KingWar",
  78. "!KWxGemaOnEarth_by_KingWar",
  79. "!KWxVertigeGema_by_KingWar",
  80. "!KWxVeryHardGema_by_KingWar",
  81. "!mini--gema--y0zgat!",
  82. "!New-Gema-y0zgat!",
  83. "!PK!GEMA_134a2_xXx_No_kiLL!!!!.",
  84. "!PK!GEMA_13a1_XxX_lol_123456789",
  85. "!TheBestGema!_by_Riiak_&_KingWar",
  86. "!y0zgat-gema!",
  87. "!^_Heavy_Met@l_Gem@_T.S.O.RAP_^!",
  88. "!_B0X_0F_Gema_T.S.0_RAP_!",
  89. "#gema-=)-mode#",
  90. "#Gema-SK-=)#",
  91. "#Gema-SK-by-=)#",
  92. "#Gema-White-Black-=)#.$R$.",
  93. "#Gema-White-Black-=)#",
  94. "#gema_Maze1.1",
  95. "$$$.THE.G3M@.Do.KiLL.$$$",
  96. "$uperior_Gema_V.2",
  97. "+!!gEmA!!+sExY(o)(o)dUnGeOn!.$R$.",
  98. "+!!gEmA!!+sExY(o)(o)dUnGeOn!",
  99. "+=_GEMA_=+CastleD00m!!!",
  100. "+GEMA+_by_didisuper!!!",
  101. "--GEMA-- ALL IN ONE!!!",
  102. "...G3M4...by...TraKinaS",
  103. "..gema..cave..",
  104. ".=L-E=.Gema",
  105. ".Gema-by-Jens.",
  106. "0===STAFFLORDS_NEW_GEMA_AND_LABYRINTHCTF",
  107. "111S0MM3R_G3M4",
  108. "40+ Gema (final version)",
  109. "40+ Gema (Fixed)",
  110. "40+Gema(finalversion)",
  111. "63gema.$R$.",
  112. "63gema",
  113. "=()gEmA()=sExYbEbOp.$R$.",
  114. "=()gEmA()=sExYbEbOp",
  115. "=(GEM@)=_NO-KILL.X",
  116. "=(o)=GEMA=(o)=.$R$.",
  117. "=(o)=GEMA=(o)=",
  118. "=CEF=GEMA_NO_KILL",
  119. "=Gema#Terror=",
  120. "=GEMA=AC-Gaara(beta)",
  121. "=GEMA=AC-Gaara.$R$.",
  122. "=GEMA=AC-Gaara",
  123. "=GEMA=AC-Jaomap.$R$.",
  124. "=GEMA=AC-Jaomap",
  125. "=GEMA=AC-Mega",
  126. "=GEMA=alienware.$R$.",
  127. "=GEMA=alienware",
  128. "=Gema=BuddelRemakeBetter",
  129. "=GEMA=Dunuts=Chili",
  130. "=GEMA=InCrEdIbLe=GEMA=",
  131. "=GeMa=[Skullkid-Buddel-Ua51]",
  132. "=Gema=_(Buddel)",
  133. "=Gema=_(Buddel)REMAKE_BY_UNARMED",
  134. "=GeMa=_2.1_by_SoM3GuY",
  135. "=LUNA=_GEMA_1",
  136. "=MC=Gema",
  137. "=MC=Gema=SkyHigh",
  138. "=]gema[=PK_park",
  139. "A-C-A.Gema.Debutant",
  140. "A-C-A.Gema6",
  141. "A-C-A.GemaInvisible.V2.2.$R$.",
  142. "A-C-A.GemaInvisible.V2.2",
  143. "A-C-A.GemaInvisible.V2",
  144. "A-C-A.Gema[RKO]",
  145. "A-C-A.SpecialGema,V5",
  146. "A-C-A.SpecialGema",
  147. "A-C-A.SpecialGema.V2",
  148. "A-C-A.SpecialGema.V3",
  149. "AcP_gema2",
  150. "ac_gema-by-raytman",
  151. "ac_gema12",
  152. "ac_gemabysuckers.$R$.",
  153. "Ac_GemaBySuCkeRs",
  154. "ac_gematron",
  155. "ac_gema{CB}_v2",
  156. "Ac_SuperGemaBySuCkeRs",
  157. "ac_swissmade(GEMA)",
  158. "AncientGoldGema-By_GemaPro",
  159. "Artistic_Piece_of_Shit_by_Zeme111",
  160. "ASpaceGEMA.$R$.",
  161. "ASpaceGEMA",
  162. "AU&M_Gema.$R$.",
  163. "AU&M_Gema",
  164. "aw_Gema difficult",
  165. "aw_GEMA Mega",
  166. "aw_GEMA-Mega",
  167. "aw_GEMA-Met@l",
  168. "aw_GEMA-Novice",
  169. "aw_Gema-Tarzan",
  170. "A_GeMa_pOy",
  171. "BL_gema",
  172. "bossepeach",
  173. "Bossy_Peaches_Gema1",
  174. "Bossy_Peaches_Gema7",
  175. "CC_gema-Battle",
  176. "CC_gema.$R$.",
  177. "CC_gema",
  178. "CC_Gema2.$R$.",
  179. "CC_Gema2",
  180. "cheapgema",
  181. "CL-GeMa",
  182. "CLAN-DTN.AC_GEMA-FACIL",
  183. "CLAN_SERVER-DTN.!!!!!!GEMA!!!FACIL",
  184. "CR_gema2_v.2",
  185. "CR_GEMA_V.5",
  186. "cS_MiniGema",
  187. "cS_MiniGema2",
  188. "difficultgema",
  189. "DKK_Gema_Easy",
  190. "doa_gema",
  191. "DRAGON_spongy_champion-gema",
  192. "DrunksGema",
  193. "DsQ_Gema.$R$.",
  194. "DsQ_Gema",
  195. "Easy-and-Hard-GEMA",
  196. "easygema",
  197. "easy_gema_koth",
  198. "easy_GERMA_BUT_NO_KILL",
  199. "EC.GemaII",
  200. "EC.GemaII3",
  201. "EC_Gema00.$R$.",
  202. "EC_Gema00",
  203. "F.F.A_gema-hard-for-noobs",
  204. "fc_gema.$R$.",
  205. "fc_gema",
  206. "FOX_gema_francais",
  207. "FraG-GeMa",
  208. "Fully_Flared__Gema!!!_By_Alienware_Sick(modif)",
  209. "Fully_Flared__Gema!!!_By_Alienware_Sick",
  210. "G11_Gema.$R$.",
  211. "G11_Gema",
  212. "G3M4-L0K4_xD",
  213. "G3M4_R34LM0UNT41N5",
  214. "g3m@=sn1p3r_sh0t1",
  215. "g3m@=sn1p3r_sh0t2",
  216. "G3MA=D3THMATCH",
  217. "Gem@_secret_route_comp=brasil-scale2.0",
  218. "GEMA 2009 - AntiNoob - V2",
  219. "gEMA FRANCAIS 2009 - Impossible [FOX]",
  220. "gEMA FRANCAIS 2009 - PaRtY GeMa",
  221. "Gema Francais 2009 - Roi des Gemas",
  222. "Gema la momie",
  223. "GeMa ~ CaStLe FlAg",
  224. "gEmA!_dReAdLoCk_m0oNpIe",
  225. "GEMA##WFA_ByDest##",
  226. "gema#7(easy~street).$R$.",
  227. "gema#7(easy~street)",
  228. "GEMA'ARCHER'DE'TOUT'LES'COTER'#F.U#",
  229. "GEMA'GEMA(GEMA)[GEMA]_GEMA_lil",
  230. "GEMA's_patience",
  231. "gema(beta)",
  232. "GEMA(caution-this-gema-is-very-hard-its-not-for-debutant",
  233. "gema(Spartan)",
  234. "gema,suisse",
  235. "GeMa---Predator--&--Hans",
  236. "Gema-008",
  237. "Gema-Alemao-Novo",
  238. "gema-allstarellis-edition",
  239. "gema-by-homer",
  240. "gema-by-ivan",
  241. "Gema-Commander-Edition",
  242. "Gema-E-M",
  243. "gema-easy-by-piuska",
  244. "GEMA-easy-GEMA",
  245. "gema-Enzo",
  246. "Gema-ESPANA-(corto)",
  247. "Gema-Factory-By-All-Star-Ellis-FIXED",
  248. "Gema-Factory",
  249. "GEMA-FaTal-f0liE",
  250. "Gema-Ge-Force",
  251. "GEMA-GEMA-GEMA-TRALALALILAAAA!!!!!!!!!!BY-LILWAYNE",
  252. "gEMA-GERMANY-IMPOSSIBLE",
  253. "Gema-Hard_V1",
  254. "Gema-Jungle",
  255. "Gema-Kruzzeg_SmurfD24",
  256. "GEMA-lightings2",
  257. "GEMA-lightings2_v2",
  258. "gema-magic",
  259. "gema-mines",
  260. "Gema-Mountain",
  261. "GEMA-NOOB-PROOF",
  262. "Gema-Novinho_By-_-GuNs_Alemao",
  263. "gema-paradise.$R$.",
  264. "gema-paradise",
  265. "gema-PreDator+grandes+psycko.$R$.",
  266. "gema-PreDator+grandes+psycko",
  267. "GEMA-R0LLER-COAST3R-W0NDERLAND",
  268. "Gema-Reach.The.Top---NO-KILL!!.$R$.",
  269. "Gema-Reach.The.Top---NO-KILL!!",
  270. "Gema-Short_V1",
  271. "Gema-SK-2",
  272. "Gema-SK-4",
  273. "Gema-SK-5",
  274. "Gema-teur-[rpg]-reserv_[rpg]",
  275. "gema-tMp",
  276. "gema-tomb",
  277. "GEMA-Toppler-by-Stream",
  278. "gema.artli.jump_jump_jump",
  279. "gema.artli.nades",
  280. "GEMA",
  281. "Gema.Hard.For.TMDC",
  282. "gema.killer",
  283. "gema.manfestoeh+PTF.mountainfixed",
  284. "gema.manfestoeh.alleyway",
  285. "gema.manfestoeh.bombdefuseLVL1",
  286. "gema.manfestoeh.calming",
  287. "gema.manfestoeh.castlegema.LVL6",
  288. "gema.manfestoeh.complexchase1.lesslag",
  289. "gema.manfestoeh.complexchase1extended",
  290. "gema.manfestoeh.complexchase2",
  291. "gema.manfestoeh.forbegginers",
  292. "gema.manfestoeh.forexperts",
  293. "gema.manfestoeh.forexpirenced",
  294. "gema.manfestoeh.gema4ever!",
  295. "gema.manfestoeh.gema4ever.SP",
  296. "gema.manfestoeh.horror",
  297. "gema.manfestoeh.lost!",
  298. "gema.manfestoeh.medium",
  299. "gema.manfestoeh.metal",
  300. "gema.manfestoeh.mountainlarge",
  301. "gema.manfestoeh.mountainsmall",
  302. "gema.manfestoeh.randomnessgema+ladders",
  303. "gema.manfestoeh.roofjumps",
  304. "gema.manfestoeh.snailtrail",
  305. "gema.manfestoeh.snipershotstyle",
  306. "gema.manfestoeh.streetchase",
  307. "gema.manfestoeh.streetchase2",
  308. "gema.manfestoeh.streetchase3",
  309. "gema.manfestoeh.streetchase5",
  310. "gema.manfestoeh.thekillergema",
  311. "gema.manfestoeh.thelab",
  312. "gema.manfestoeh.ThePunisherLVL10",
  313. "gema.manfestoeh.timetrail.LVL3",
  314. "gema.manfestoeh3.REV.II",
  315. "gema.manfestoh!",
  316. "gema.maze.pwnage",
  317. "Gema.Swirl",
  318. "gema01",
  319. "gema01_by_Mafia78#_and_Kyba",
  320. "gema02",
  321. "gema03",
  322. "gema1",
  323. "gema1000",
  324. "gema1021",
  325. "gema11",
  326. "gema114",
  327. "gema117",
  328. "gema118",
  329. "gema124",
  330. "gema125",
  331. "gema125{TyD}",
  332. "gema133",
  333. "gema134a",
  334. "gema137",
  335. "gema144",
  336. "gema16",
  337. "gema2",
  338. "gema20",
  339. "gema200",
  340. "gema2010nr1_MaP",
  341. "gema2010nr2_MaP",
  342. "gema202",
  343. "gema203",
  344. "gema209",
  345. "gema29",
  346. "gema30",
  347. "gema5000",
  348. "gema66Gundark",
  349. "gema777",
  350. "Gema888",
  351. "gema9",
  352. "gema927",
  353. "GeMa==ChocolateBrown-Predator(no-kill)",
  354. "gema=by=dudu.and.bruninha",
  355. "GEMA=DUNUTS=CHILI",
  356. "gema=Guillermo.$R$.",
  357. "Gema=[Diga]=Ai",
  358. "GeMaFernandoSuarezNS",
  359. "gemagreen",
  360. "GemaJD",
  361. "gemaMickye",
  362. "Geman3",
  363. "GEMApoolConcept_ByIAFMarko",
  364. "GemaSuperHard",
  365. "GEMATEST9",
  366. "GEMAv.2",
  367. "gemavosje",
  368. "GEMA_+wallis+",
  369. "GeMa_--Predator-And-Killaz",
  370. "GEMA_01",
  371. "gema_06_light",
  372. "gema_113",
  373. "gema_2009_RedRaven&BlackEye",
  374. "Gema_2009_RedRaven_BlackEye_Beta",
  375. "GEMA_3_Buddel_FIXED",
  376. "gema_40.$R$.",
  377. "gema_40",
  378. "GEMA_4_Buddel",
  379. "GEMA_4_Buddel_FIXED",
  380. "gema_4_By_K!LL_Fixed",
  381. "gema_4_By_K!LL_Fixed_2",
  382. "gEMA_5_Buddel_FIXED",
  383. "gema_62",
  384. "gema_62_laby",
  385. "gema_888_by_h00LiGaN",
  386. "gema_888_{BIC}.$R$.",
  387. "gema_888_{BIC}",
  388. "GEMA_ALL_IN_ONE_V2",
  389. "GeMa_AnGeLS_BiG",
  390. "GeMa_AnGeLS_MiNi",
  391. "gema_anti-kill__afro_samurai#2",
  392. "gema_arena",
  393. "Gema_Beta_Original_1.0",
  394. "GEMA_BLUE&RED",
  395. "GEMA_bootcamp",
  396. "GEMA_Bugboy1028_MAP_num.1",
  397. "gema_bunny",
  398. "Gema_by_Artigo_and_fifa09",
  399. "Gema_BY_BZE_ProSniper_&_Sparta",
  400. "Gema_by_osiris",
  401. "gema_city",
  402. "gema_cl_lights0.2",
  403. "gema_door-maze",
  404. "gema_dragonworld",
  405. "Gema_Easy",
  406. "Gema_easy_by_Artigo_and_hablo_tu_idioma",
  407. "gema_easy_by_fifa",
  408. "GEMA_Final_by_#L0u!$",
  409. "GEMA_FINAL_KAOS",
  410. "GEMA_FLNC13",
  411. "gema_follow-the-light",
  412. "gema_francais!!_par_Kyba",
  413. "Gema_FRUSTRATION!!!_by_Fate",
  414. "Gema_fr_2009_partygema.$R$.",
  415. "gema_gallery",
  416. "gema_gegegema_N.BAK",
  417. "GEMA_GERMANY_IMPOSSIBLE_PRIVATE",
  418. "GEMA_GERMANY_IMPOSSIBLE_WITH_TEXTURE",
  419. "GEMA_GIANT-GEMA_NO_KIL!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!",
  420. "GeMa_GuNs-Alemao",
  421. "Gema_GV",
  422. "gema_hardfrancais!_by_BadBoy#1",
  423. "gema_horror",
  424. "gema_horror_house",
  425. "GEMA_IMPOSIBLE_INFERNORBR_AND_GETTO",
  426. "GEMA_IMPOSSIBLE_BASE",
  427. "GEMA_IMPOSSIBLE_GEARS",
  428. "GEMA_IMPOSSIBLE_ZONE",
  429. "gema_industrial_N-E",
  430. "GEMA_iniciante_do,w4r.EASY",
  431. "Gema_I_Can_Fly_By_The_Tank",
  432. "gema_jumping",
  433. "Gema_K&L_1.0",
  434. "Gema_Mario",
  435. "gema_monas.$R$.",
  436. "GEMA_nothingnewedition",
  437. "gema_nrmi",
  438. "Gema_Of_Invisoh",
  439. "Gema_Of_Swamp",
  440. "gema_parkour",
  441. "Gema_Par_WilliamB_0.1",
  442. "gema_pen-mountain",
  443. "Gema_Pic by DeadKillerMan",
  444. "Gema_Pic_by_.CEF.KingWar",
  445. "gema_Prince_0f_Persia",
  446. "GEMA_PRINCE_IMPOSSIBLE",
  447. "gema_RedRaven2",
  448. "gema_royeur",
  449. "gema_RUS.$R$.",
  450. "gema_saucy_cement",
  451. "Gema_SuperSniper",
  452. "GEMA_TOOTHLESS2",
  453. "GEMA_TRANSFORMERS",
  454. "Gema_Tunnels",
  455. "GEMA_UBER_PWN",
  456. "GEMA_WATER_amador_w4r_",
  457. "gEMA_YESKILL-BETA3",
  458. "gema_yeskill2-beta4",
  459. "gema_yusuke'xto-thez.$R$.",
  460. "gema___Boerndai",
  461. "Gema_{TD}",
  462. "gemma_shallim!!",
  463. "gemma_shawllim_reformed",
  464. "gena06",
  465. "GETTO-GEMA-!NO-KILL!",
  466. "GR4V3 G3M4 M0R3 E4SY",
  467. "great-race1(NO_KILL)",
  468. "green_gema_level",
  469. "GTRgema",
  470. "GuiGemaClips3",
  471. "GuiGemaClips_1",
  472. "H.S.FR.METAL.GEMA.ADSL",
  473. "H0N3Y_G3M4-V2.0",
  474. "HanzeGema",
  475. "hardgema",
  476. "Hard_Gema_v90",
  477. "Horus=firstGemas",
  478. "housejumpgema",
  479. "Hun-DarthAlex-teror-GeMa!!!",
  480. "Hun[GEMA-max]",
  481. "Hun[M.a.C.]-gema3-",
  482. "Hun[M.a.C.]gema-kegy",
  483. "Hun[M.a.C.]__gema__",
  484. "iDisco-Gema[2.6]",
  485. "iDisco-Gema[3.0]",
  486. "Impossible_TREE!_Gema!~By~SouthAuckland(S.A)&ALE-G",
  487. "intelligent_gema",
  488. "iTz_hyperGEMA!",
  489. "IWASBOREDSOIMADEA((((==GEMA!!!==))))",
  490. "I_L3T-My$e7F_G0-G3M4",
  491. "jesusGEMAkillYEAH!!!!!!",
  492. "JIGSAW_1.1",
  493. "jump_construct",
  494. "JuMp_GeMa_AnGeLS",
  495. "jump_objective",
  496. "jump_training",
  497. "jump_vertigo",
  498. "K.DeathRun-0.94",
  499. "K.DeathRun.Francais",
  500. "Ketchup_Gema2.0",
  501. "Ketchup_Gema2.6",
  502. "Ketchup_SandGema_v1.0",
  503. "Kyba&Yozgat.Gema04",
  504. "LA-PLU-GRANDE-GEMA-DE'AC",
  505. "Master_of_Gema's",
  506. "MenacingGema",
  507. "miesegema",
  508. "Mini.Hard.Gema",
  509. "miniGema2",
  510. "minigema_hard",
  511. "minilaby",
  512. "MiniParkours5",
  513. "moddedgema.$R$.",
  514. "moddedgema",
  515. "mountains_lights",
  516. "mUltimateGemmaxx",
  517. "mUltimateGemma_XXX",
  518. "nadejumpgema",
  519. "Natural Easy - GEMA",
  520. "Nature_Gema",
  521. "New.Hard.Gema",
  522. "NEW_GEMA",
  523. "NG2-Gema2",
  524. "Realistic_Gema.$R$.",
  525. "Realistic_Gema",
  526. "rooms-of-gema",
  527. "royeur",
  528. "S3XY-G3MA",
  529. "Salo_Gema_Tiles",
  530. "Saw_1_Gema",
  531. "sExYgEmA2(aMbUsH_eDiTiOn!)",
  532. "SJ-Joao_GETMAP_GEMA_!!!_NO_KILL",
  533. "SJ_GEMA_LOKA_2010",
  534. "Sniper-Gema-Hunting-WORld-Bitch",
  535. "special_gema_WWWW",
  536. "SpongyDragonChampionGema",
  537. "SpongyGema",
  538. "straining",
  539. "straining2",
  540. "SuperGema_V1.5",
  541. "Super_Gema_V1.5_(Easyer)",
  542. "TallTowerBright(Gema)byGemaPro",
  543. "tennis_wall",
  544. "The-NO_KILL-gema_by-Stassie-&-samsattF",
  545. "thehardestgemaeveeeeeeeeeeeeeeeeeeeerACAgema1",
  546. "training(gema)01",
  547. "training(gema)02",
  548. "training(gema)06",
  549. "training_parkour",
  550. "Un-Gema-Du-F.F.A",
  551. "vildark-gg",
  552. "vildark-impossible",
  553. "xXx-gema-xXx_by+wallis+",
  554. "^%GEMA#%^__8====D",
  555. "_++_GEMA_++_uberstupid",
  556. "_GEMA_-D+D!_HARD_FLAG_",
  557. "`!Getto_Gema_T.S.O.RAP!`",
  558. "{8ac8}gema_realy_hard",
  559. "{ACA}^REM[ii]X^_Illusionist_Gema",
  560. "{AS}Gema_by_ZeRo",
  561. "{MFK}GEMA",
  562. "{TaR}Gema_Lvl'S_1-5",
  563. "~=Gema-Terror=~",
  564. "~GEMA=[ORANGE]=GEMA~",
  565. "~SUPER~CHILL~GEMA~EZ~"}
  566.  
  567. --GemaScript (c) 2010 BS-CiD, Rikki Guy, email: rikki.guy@gmail.com
  568.  
  569. PLUGIN_NAME = "GemaScript"
  570. PLUGIN_AUTHOR = "BS-CiD"
  571. PLUGIN_VERSION = "0.5"
  572.  
  573. include("split")
  574. include("ac_server")
  575.  
  576. --[[
  577. TODO:
  578. Auto-Starting timer             DONE
  579. display time upon score DONE
  580. store map scores                DONE
  581. !reset command                  DONE
  582. store your times per-mapDONE
  583. overall map record              DONE
  584. personal map record             DONE
  585. ->achivements                   TODO
  586. ]]
  587.  
  588.  
  589. --[[
  590. Client Struct:
  591. besttime -> thier personal map best
  592. numtimes -> number of times this person has completed this map
  593. ]]
  594.  
  595. --[[
  596. MapInfo:
  597. besttime -> the best time
  598. bestname -> name of the player who made the best time
  599. numtimes -> number of times this map has been completed
  600. ]]
  601.  
  602. CLIENTINFO_CFG = "gema_clients"
  603. MAPINFO_CFG = "gema_maps"
  604.  
  605. local clients = {}
  606. local starttimes = {}
  607. local mapinfo = {}
  608. local nextmap = 0
  609. local nextmode = 0
  610.  
  611. --useful functions
  612.  
  613. function randmap()
  614. return allmaps[math.random(1, 565)]
  615. end
  616.  
  617. function PrintMsg(text, cn)
  618.         clientprint(cn, "[\f1GEMA\f5] "..text)
  619. end
  620. function PrintMsgToAll(text)
  621.         for t=0,14,1 do
  622.                 if isconnected(t) then
  623.                         PrintMsg(text, t)
  624.                 end
  625.         end
  626. end
  627.  
  628. function GetFormattedTime(secs)
  629.         if secs < 0 then
  630.                 return "none"
  631.         end
  632.         local sec = math.floor(math.mod(secs, 60))
  633.         local mins = math.floor(math.mod((secs / 60), 60))
  634.         local hrs = math.floor(math.mod((secs / 3600), 24))
  635.         local secstr = ""
  636.         local minstr = ""
  637.         local hrstr = ""
  638.  
  639.         if sec < 10 then
  640.                 secstr = "0"..sec
  641.         else
  642.                 secstr = tostring(sec)
  643.         end
  644.  
  645.         if mins < 10 then
  646.                 minstr = "0"..mins
  647.         else
  648.                 minstr = tostring(mins)
  649.         end
  650.  
  651.         if hrs < 10 then
  652.                 hrstr = "0"..hrs
  653.         else
  654.                 hrstr = tostring(hrs)
  655.         end
  656.         return string.format("%s:%s:%s",hrstr,minstr,secstr)
  657. end
  658.  
  659. function EmptyClientInfo(pid)
  660.         local id = pid+1
  661.         clients[id] = {
  662.                 ["besttime"] = -1,
  663.                 ["numtimes"] = 0
  664.         }
  665. end
  666.  
  667. function LoadClientInfo(pid)
  668.         if not isconnected(pid) then return false end
  669.         local id = pid+1
  670.         local name = getname(pid)
  671.         clients[id] = {}
  672.         local infostr = cfg_getvalue(CLIENTINFO_CFG, name..":"..getmapname())
  673.         print("CLIENTINFO_STRING: "..infostr)
  674.         if infostr == "(fail)" or infostr == "" or infostr == nil then
  675.                 return false
  676.         end
  677.         print("CLIENTINFO_STRING_PROCESSED: "..infostr)
  678.         local info = split(infostr, "[ ]")
  679.         print("CLIENTINFO_DATA: "..tostring(info))
  680.         for i=1, #info do
  681.                 local kv = split(info[i],"~")
  682.                 clients[id][kv[1]] = tonumber(kv[2])
  683.                 print("Loaded "..kv[1].." : "..kv[2])
  684.         end
  685.         return true
  686. end
  687.  
  688. function StoreClientInfo(pid)
  689.         if not isconnected(pid) then return false end
  690.         local id = pid+1
  691.         local storestr = ""
  692.         for k,v in pairs(clients[id]) do
  693.                 storestr = storestr..k.."~"..v.." "
  694.         end
  695.         print("STORE_STRING: "..storestr)
  696.         cfg_setvalue(CLIENTINFO_CFG, getname(pid)..":"..getmapname(), storestr)
  697. end
  698.  
  699. function StoreAll()
  700.         for i=0, maxclient()-1 do
  701.                 StoreClientInfo(i)
  702.         end
  703. end
  704.  
  705. function LoadAll()
  706.         for i=0, maxclient()-1 do
  707.                 if not LoadClientInfo(i) then EmptyClientInfo(i) end
  708.         end
  709. end
  710.  
  711. function EmptyAll()
  712.         for i=0, maxclient()-1 do
  713.                 EmptyClientInfo(i)
  714.         end
  715. end
  716.  
  717. function LoadMapInfo()
  718.         print("MAPDATA <- CFG")
  719.         local name = getmapname()
  720.         mapinfo = {}
  721.         local infostr = cfg_getvalue(MAPINFO_CFG, name)
  722.         print("MAPINFO_STRING: "..infostr)
  723.         if infostr == "(fail)" or infostr == "" or infostr == nil then
  724.                 return false
  725.         end
  726.         print("MAPINFO_STRING_PROCESSED: "..infostr)
  727.         local info = split(infostr, " ")
  728.         print("MAPINFO_DATA: "..tostring(info))
  729.         for i=1, #info do
  730.                 local kv = split(info[i],"~")
  731.                 if kv[1] ~= "bestname" then
  732.                         mapinfo[kv[1]] = tonumber(kv[2])
  733.                 else
  734.                         mapinfo[kv[1]] = kv[2]
  735.                 end
  736.         end
  737.         return true
  738. end
  739.  
  740. function StoreMapInfo()
  741.         print("MAPDATA -> CFG")
  742.         local name = getmapname()
  743.         local storestr = ""
  744.         for k,v in pairs(mapinfo) do
  745.                 storestr = storestr..k.."~"..v.." "
  746.         end
  747.         cfg_setvalue(MAPINFO_CFG, name, storestr)
  748. end
  749.  
  750. function EmptyMapInfo()
  751.         mapinfo = {
  752.                 ["besttime"] = -1,
  753.                 ["bestname"] = "nobody",
  754.                 ["numtimes"] = 0
  755.         }
  756. end
  757.  
  758. function ResetTime(pid)
  759.         local id = pid+1
  760.         starttimes[id] = getsvtick()
  761. end
  762.  
  763. function ClientInfo(pid, name)
  764.         if clients[pid+1][name] == nil then
  765.                 return nil
  766.         else
  767.                 return clients[pid+1][name]
  768.         end
  769. end
  770.  
  771. function MapInfo(name)
  772.         if mapinfo[name] == nil then
  773.                 return nil
  774.         else
  775.                 return mapinfo[name]
  776.         end
  777. end
  778.  
  779. function NumClients()
  780.         local num = 0
  781.         for i=0, maxclient()-1 do
  782.                 if isconnected(i) then num = num + 1 end
  783.         end
  784.         return num
  785. end
  786.  
  787. --hooks
  788.  
  789. function onPlayerConnect(pid)
  790.         PrintMsg("Welcome to this GemaScript server!", pid)
  791.         if NumClients() <= 1 then
  792.                 math.randomseed(getsvtick())
  793.                 changemap(randmap(), GM_CTF, 15);
  794.                 onInit()
  795.                 if not LoadMapInfo() then EmptyMapInfo() end
  796.                 PrintMsg("Please just type /autoteam 0  !!!!!", pid)
  797.         end
  798.         clients[pid+1] = {}
  799.         if not LoadClientInfo(pid) then EmptyClientInfo(pid) end
  800.         --PrintMsg("You have completed this map\f1 "..ClientInfo(pid,"numtimes").." \f5times, with a best time of \f3"..GetFormattedTime(ClientInfo(pid, "besttime")), pid)
  801. end
  802.  
  803. function onPlayerDisconnect(pid)
  804.         StoreClientInfo(pid)
  805.         EmptyClientInfo(pid)
  806.         if NumClients() <= 1 then StoreMapInfo() end
  807. end
  808.  
  809. function onPlayerSpawn(pid)
  810.                 PrintMsg("You have completed this map\f1 "..ClientInfo(pid,"numtimes").." \f5times, with a best time of \f3"..GetFormattedTime(ClientInfo(pid, "besttime")), pid)
  811.                 ResetTime(pid)
  812.                 PrintMsg("Your timer has started! Get Gema-ing!", pid)
  813.                 flagaction (pid, 1)
  814. end
  815.  
  816. function onMapEnd()
  817.         StoreAll()
  818.         StoreMapInfo()
  819.         if nextmap == 1 then
  820.                 nextmap = 0
  821.         else setnextmap(randmap());
  822.         end
  823.         if nextmode == 1 then
  824.                 nextmode = 0
  825.         else setnextmode(5);
  826.         end
  827. end
  828.  
  829. function onMapChange(mapname)
  830.                 onInit()
  831.                 if not LoadMapInfo() then EmptyMapInfo() end
  832.                 LoadAll()
  833.                 search_gema(getmapname())
  834.                 if  gematest == 1       then
  835.                         PrintMsgToAll("\f2OK, this map must be a \f3Gema :D")
  836.                 elseif gematest == 2    then
  837.                         PrintMsgToAll("\f2Are you sure that this map is a \f3Gema?")
  838.         end
  839. end
  840.  
  841. function onFlagAction(pid, act, fid)
  842.         local id = pid+1
  843.         if act == FA_SCORE then
  844.                 --PrintMsg("\f3SVTICK: "..tostring(getsvtick()))
  845.                 --PrintMsg("\f3START_TIME: "..tostring(svtick()))
  846.                 local tme = (getsvtick() - starttimes[id]) / 1000
  847.                 starttimes[id] = -1
  848.                 clients[id]["numtimes"] = ClientInfo(pid, "numtimes") + 1
  849.                 mapinfo["numtimes"] = mapinfo["numtimes"] + 1
  850.                 PrintMsg("Player\f1 "..getname(pid).." \f5has finished with a time of \f3"..GetFormattedTime(tme), -1)
  851.                 if tme < ClientInfo(pid, "besttime")  or ClientInfo(pid, "besttime") == -1 then
  852.                         PrintMsg("\f0Congratulations!\5 this is a new personal best for this map!", pid)
  853.                         clients[id]["besttime"] = tme
  854.                 end
  855.                 if tme < mapinfo["besttime"] or mapinfo["besttime"] == -1 then
  856.                         PrintMsg("\f0Congratulations!\5 Player\f3 "..getname(pid).." \f5has broken the previous record of\f3 "..GetFormattedTime(MapInfo("besttime")).." \f5(held by\f0 "..MapInfo("bestname").."\f5) for this map!", -1)
  857.                         mapinfo["besttime"] = tme
  858.                         mapinfo["bestname"] = getname(pid)
  859.                 end
  860.                 spawn(pid, 100, 0, 0, 0, GUN_GRENADE, GM_CTF, GUN_ASSAULT)
  861.                 spawn(pid, 100, 0, 45, 15, GUN_ASSAULT, GM_CTF, GUN_ASSAULT)
  862.         end
  863. end
  864.  
  865. function onPlayerSay(pid,text)                                                                         
  866.         cmd = split(text, " ")
  867.         --PrintMsg("\f3TEXT: "..text,-1)
  868.         --PrintMsg("\f3CMD_CONCAT: "..table.concat(cmd),-1)
  869.                 if cmd[1] == "!mytime" then
  870.                         PrintMsg("You have had \f3"..GetFormattedTime((getsvtick()-starttimes[pid+1])/1000).."\f5 so far.", pid)
  871.                         return PLUGIN_BLOCK
  872.                 elseif cmd[1] == "!reset" then
  873.                         spawn(pid, 100, 0, 0, 0, GUN_GRENADE, GM_CTF, GUN_ASSAULT)
  874.                         spawn(pid, 100, 0, 45, 15, GUN_ASSAULT, GM_CTF, GUN_ASSAULT)
  875.                         return PLUGIN_BLOCK
  876.                 elseif cmd[1] == "!info" then
  877.                         PrintMsg(PLUGIN_NAME.." by "..PLUGIN_AUTHOR.." (version "..PLUGIN_VERSION.."). Type !listcmds for a list of commands. Refer to the README for more info.", pid)
  878.                         PrintMsg("GemaScript (c) 2010 BS-CiD, Rikki Guy, email: rikki.guy@gmail.com", pid)
  879.                         return PLUGIN_BLOCK
  880.                 elseif cmd[1] == "!mybest" then
  881.                         PrintMsg("You have completed this map\f1 "..ClientInfo(pid,"numtimes").." \f5times, with a best time of \f3"..GetFormattedTime(ClientInfo(pid, "besttime")), pid)
  882.                         return PLUGIN_BLOCK
  883.                 elseif cmd[1] == "!mapbest" then
  884.                         PrintMsg("The recordholder of this map is\f1 "..mapinfo["bestname"].." \f5with a time of\f3 "..GetFormattedTime(mapinfo["besttime"]), pid)
  885.                 elseif cmd[1] == "!setnextmap" and isadmin(pid) then
  886.                         setnextmap(cmd[2])
  887.                         nextmap = 1
  888.                         PrintMsg("next map chosen", -1)
  889.                 elseif cmd[1] == "!setnextmode" and isadmin(pid) then
  890.                         setnextmode (tonumber(cmd[2]))
  891.                         nextmode = 1
  892.                         PrintMsg("next mode chosen", -1)
  893.                 elseif cmd[1] == "!gotonextmap" and isadmin(pid) then
  894.                         forcemapend()
  895.                 elseif cmd[1] == "!listcmds" then
  896.                         PrintMsg("Commands: !reset !mytime !info !mybest !mapbest !listcmds !pm *CN* *TEXT*", pid)
  897.                         if isadmin(pid) then
  898.                                 PrintMsg("Admin Commands:!setnextmode *NUM_of_mode*, !setnextmap *MAP*, !gotonextmap, !map *TIME* *MAP*", pid)
  899.                         end
  900.                         return PLUGIN_BLOCK
  901.                 elseif cmd[1] == "!map" and isadmin(pid) then
  902.                         changemap(cmd[3], GM_CTF, tonumber(cmd[2]));
  903.                 elseif cmd[1] == "!randmap" and isadmin(pid) then
  904.                         changemap(randmap(), GM_CTF, 15);
  905.                 elseif cmd[1] == "!pm" then
  906.                         PrintMsg("You have sent : \f2\""..table.concat(cmd, " ", 3).."\"\f5 to the player \f3"..getname(tonumber(cmd[2])), pid)
  907.                         clientprint(tonumber(cmd[2]),"\f5"..getname(pid)..": \f2"..table.concat(cmd, " ", 3))
  908.                 return PLUGIN_BLOCK
  909.                 end
  910. end
  911.  
  912. function onInit()
  913.         clients = {}
  914.         mapinfo = {}
  915.         starttimes = {}
  916.         for i=0, maxclient()-1 do
  917.                 starttimes[i] = -1
  918.         end
  919. end
  920.  
  921. function search_gema(name)
  922.         z={"gema","Gema","GeMa","GEMA","GEM@","G3M@","G3M4","JIGSAW_1.1"}
  923.         for key,value in pairs(z) do
  924.                 if string.find(name,value) then
  925.                         gematest = 1
  926.                         break
  927.                 else gematest = 2
  928.                 end
  929.         end
  930. end
  931.  
  932. function onPlayerDamage(victim, killer, damage)
  933.         if killer == victim then
  934.                 --[[if getweapon(killer) == GUN_GREANADE then
  935.                         return PLUGIN_BLOCK
  936.                 end]]
  937.         else
  938.                 PrintMsg("\f3 Do not shoot at other players!", killer)
  939.                 return PLUGIN_BLOCK
  940.         end
  941. end