Advertisement
alditojeje

p7

Mar 30th, 2021
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.90 KB | None | 0 0
  1. local _, msg = pcall(nil)
  2. local admin = string.match(msg, "^(.-)%.")
  3.  
  4. local admins = {
  5. [admin] = true, -- Este pertenece a quien cargó el lua, no es necesario que lo cambies
  6. ["Blood#3565"] = true,
  7. ["Kevinho#0873"] = true
  8. }
  9.  
  10. local inGame = false
  11. local first = true
  12. local teams = {
  13. team1 = {
  14. player = "",
  15. points = 0,
  16. color = 0x008355,
  17. win = false,
  18. firstWinner = false,
  19. secondWinner = false
  20. },
  21. team2 = {
  22. player = "",
  23. points = 0,
  24. color = 0xFFB300,
  25. win = false,
  26. firstWinner = false,
  27. secondWinner = false
  28. },
  29. team3 = {
  30. player = "",
  31. points = 0,
  32. color = 0xCB546B,
  33. win = false,
  34. firstWinner = false,
  35. secondWinner = false
  36. },
  37. team4 = {
  38. player = "",
  39. points = 0,
  40. color = 0x2F7FCC,
  41. win = false,
  42. firstWinner = false,
  43. secondWinner = false
  44. }
  45. }
  46. local pointsToWin = 15
  47. local maps = {'#7'}
  48. -- local maps = {'@7053913', '@7053913'}
  49.  
  50. tfm.exec.disableAutoNewGame(true)
  51. tfm.exec.disableAutoScore()
  52. tfm.exec.disableAutoShaman()
  53. tfm.exec.disableAutoTimeLeft()
  54. tfm.exec.newGame(7840668)
  55.  
  56. removeText = function(min, max, name)
  57. for min = min, max do
  58. ui.removeTextArea(min, name)
  59. end
  60. end
  61.  
  62. addColorName = function(name, team)
  63. tfm.exec.setNameColor(teams.team1.player, teams.team1.color)
  64. tfm.exec.setNameColor(teams.team2.player, teams.team2.color)
  65. tfm.exec.setNameColor(teams.team3.player, teams.team3.color)
  66. tfm.exec.setNameColor(teams.team4.player, teams.team4.color)
  67. end
  68.  
  69. updateMapName = function()
  70. local space = "\t<font color='#6A7495'>|\t"
  71. local white = "<font color='#C2C2DA'>"
  72. local text = ""
  73.  
  74. if not inGame then
  75. text = "<font color='#FFB300'>By Blood#3565, Torneo por Kevinho#0873"
  76. else
  77. text = white .. "\t\t<font color='#008355'>" .. teams.team1.points .. "</font> x <font color='#FFB300'>" ..
  78. teams.team2.points .. "</font> x <font color='#CB546B'>" .. teams.team3.points ..
  79. "</font> x <font color='#2F7FCC'>" .. teams.team4.points .. "</font> \t/ D: " .. pointsToWin
  80. end
  81. tfm.exec.setUIMapName(text)
  82. end
  83.  
  84. eventChatCommand = function(name, cmd)
  85. if admins[name] then
  86. local args, count = {}, 1
  87. for arg in cmd:gmatch("[^%s]+") do
  88. args[count] = arg
  89. count = count + 1
  90. end
  91. if (args[1] == "team1" or args[1] == "team2" or args[1] == "team3" or args[1] == "team4") and args[2] ~= nil then
  92. if teams.team1.player == args[2] then
  93. teams.team1.player = ""
  94. elseif teams.team2.player == args[2] then
  95. teams.team2.player = ""
  96. elseif teams.team3.player == args[2] then
  97. teams.team3.player = ""
  98. elseif teams.team4.player == args[2] then
  99. teams.team4.player = ""
  100. end
  101. teams[args[1]].player = args[2]
  102. updateTexts()
  103. addColorName(args[2], args[1])
  104. elseif args[1] == "skip" or args[1] == "s" then
  105. if inGame then
  106. newMap()
  107. end
  108. elseif args[1] == "d" then
  109. if tonumber(args[2]) ~= nil then
  110. pointsToWin = tonumber(args[2])
  111. if inGame then
  112. updateMapName()
  113. else
  114. ui.addTextArea(9, "<font size='14'><p align='center'><b> Group Stage / D" .. pointsToWin, name, 300, 377, 200, 22,
  115. 0x02064D, 0x040404, 0.7, true)
  116. end
  117. end
  118. end
  119.  
  120. end
  121.  
  122. end
  123.  
  124. killPlayers = function()
  125. for name in pairs(tfm.get.room.playerList) do
  126. if not (teams.team1.player == name or teams.team2.player == name or teams.team3.player == name or
  127. teams.team4.player == name) then
  128. tfm.exec.killPlayer(name)
  129. end
  130. end
  131.  
  132. if teams.team1.win then
  133. tfm.exec.killPlayer(teams.team1.player)
  134. elseif teams.team2.win then
  135. tfm.exec.killPlayer(teams.team2.player)
  136. elseif teams.team3.win then
  137. tfm.exec.killPlayer(teams.team3.player)
  138. elseif teams.team4.win then
  139. tfm.exec.killPlayer(teams.team4.player)
  140. end
  141. end
  142.  
  143. newMap = function()
  144. local mapcode = maps[math.random(#maps)]
  145. first = true
  146. tfm.exec.newGame(mapcode)
  147. updateMapName()
  148. tfm.exec.setGameTime(63)
  149. killPlayers()
  150. addColorName()
  151. removeText(99, 99, nil)
  152. end
  153.  
  154. eventNewPlayer = function(name)
  155. if not inGame then
  156. startGui(name)
  157. tfm.exec.respawnPlayer(name)
  158. end
  159. tfm.exec.setPlayerScore(name, 0)
  160. updateMapName()
  161. end
  162.  
  163. eventTextAreaCallback = function(id, name, callback)
  164. if not admins[name] then
  165. return
  166. end -- Si cualquiera que haga click no es admin, no hace nada
  167. if callback == "startGame" then
  168.  
  169. inGame = true
  170. removeText(1, 10, nil) -- Se remueven los textareas del inicio
  171. newMap()
  172. end
  173. end
  174.  
  175. eventLoop = function(elapsedTime, remainingTime)
  176. if remainingTime <= 500 and inGame then
  177. newMap()
  178. end
  179. end
  180.  
  181. eventPlayerDied = function(playerName)
  182. players, deadPlayers = 0, 0
  183. for i, k in pairs(tfm.get.room.playerList) do
  184. players = players + 1
  185. if k.isDead then
  186. deadPlayers = deadPlayers + 1
  187. end
  188. end
  189. if players == deadPlayers then
  190. newMap()
  191. end
  192. end
  193.  
  194. gameOver = function()
  195. tfm.exec.newGame(7840668)
  196. inGame = false
  197. tfm.exec.addImage("1783f9e111a.jpg", "_1", -197, 10, nil)
  198. ui.addTextArea(9, "<font size='14'><p align='center'><b> Group Stage / D" .. pointsToWin, nil, 300, 377, 200, 22,
  199. 0x02064D, 0x040404, 0.7, true)
  200. ui.addTextArea(10, "<font size='14'><p align='center'><b>WP", nil, 360, 348, 80, 20, 0x02064D, 0x040404, 0.7, true)
  201.  
  202. local firstWinner = ""
  203. local secondWinner = ""
  204.  
  205. if teams.team1.firstWinner == true then
  206. firstWinner = teams.team1.player
  207. elseif teams.team1.secondWinner == true then
  208. secondWinner = teams.team1.player
  209. end
  210.  
  211. if teams.team2.firstWinner == true then
  212. firstWinner = teams.team2.player
  213. elseif teams.team2.secondWinner == true then
  214. secondWinner = teams.team2.player
  215. end
  216.  
  217. if teams.team3.firstWinner == true then
  218. firstWinner = teams.team3.player
  219. elseif teams.team3.secondWinner == true then
  220. secondWinner = teams.team3.player
  221. end
  222.  
  223. if teams.team4.firstWinner == true then
  224. firstWinner = teams.team4.player
  225. elseif teams.team4.secondWinner == true then
  226. secondWinner = teams.team4.player
  227. end
  228.  
  229. ui.addTextArea(11, "<font size='14'><p align='center'><b>" .. firstWinner , nil, 33, 100, 200, 22,
  230. 0x02064D, 0x040404, 1, true)
  231. ui.addTextArea(13, "<font size='14'><p align='center'><b>First Place", nil, 80, 73, 100, 20, 0x02064D, 0x040404,
  232. 0.7, true)
  233.  
  234. ui.addTextArea(12, "<font size='14'><p align='center'><b>" .. secondWinner , nil, 553, 100, 200, 22,
  235. 0x02064D, 0x040404, 1, true)
  236. ui.addTextArea(14, "<font size='14'><p align='center'><b>Second Place", nil, 595, 73, 120, 20, 0x02064D, 0x040404,
  237. 0.7, true)
  238.  
  239. end
  240.  
  241. firstClassified = function(team)
  242. tfm.exec.setGameTime(10)
  243. ui.addTextArea(99, "<p align='center'><font color='#00C17C' size='14'><b>" .. team.player .." just qualified!</b>", nil, 230, 375, 300, 25, 0x2B2B2B, 0x121212, 0.8, true)
  244.  
  245. end
  246.  
  247. addPoints = function(name)
  248. if teams.team1.player == name then
  249. teams.team1.points = teams.team1.points + 1
  250. elseif teams.team2.player == name then
  251. teams.team2.points = teams.team2.points + 1
  252. elseif teams.team3.player == name then
  253. teams.team3.points = teams.team3.points + 1
  254. elseif teams.team4.player == name then
  255. teams.team4.points = teams.team4.points + 1
  256. end
  257.  
  258. if teams.team1.points >= pointsToWin and (teams.team1.firstWinner == false) then
  259. if teams.team2.firstWinner or teams.team3.firstWinner or teams.team4.firstWinner then
  260. teams.team1.secondWinner = true
  261. gameOver()
  262. else
  263. teams.team1.firstWinner = true
  264. teams.team1.win = true
  265. firstClassified(teams.team1)
  266. end
  267.  
  268. elseif teams.team2.points >= pointsToWin and (teams.team2.firstWinner == false) then
  269. if teams.team1.firstWinner or teams.team3.firstWinner or teams.team4.firstWinner then
  270. teams.team2.secondWinner = true
  271. gameOver()
  272. else
  273. teams.team2.firstWinner = true
  274. teams.team2.win = true
  275. firstClassified(teams.team2)
  276. end
  277. elseif teams.team3.points >= pointsToWin and (teams.team3.firstWinner == false) then
  278. if teams.team1.firstWinner or teams.team2.firstWinner or teams.team4.firstWinner then
  279. teams.team3.secondWinner = true
  280. gameOver()
  281. else
  282. teams.team3.firstWinner = true
  283. teams.team3.win = true
  284. firstClassified(teams.team3)
  285. end
  286. elseif teams.team4.points >= pointsToWin and (teams.team4.firstWinner == false) then
  287. if teams.team1.firstWinner or teams.team2.firstWinner or teams.team3.firstWinner then
  288. teams.team4.secondWinner = true
  289. gameOver()
  290. else
  291. teams.team4.firstWinner = true
  292. teams.team4.win = true
  293. firstClassified(teams.team4)
  294. end
  295. end
  296.  
  297. end
  298.  
  299. eventPlayerWon = function(name)
  300. if inGame and first then
  301. first = false
  302. tfm.exec.setPlayerScore(name, 1, true)
  303. tfm.exec.setGameTime(5)
  304. addPoints(name)
  305. updateMapName()
  306. end
  307. end
  308.  
  309. updateTexts = function()
  310. ui.updateTextArea(1, "<font color='#00C17c' size='12'><p align='center'> " .. teams.team1.player, nil)
  311. ui.updateTextArea(3, "<font color='#00C17c' size='12'><p align='center'> " .. teams.team2.player, nil)
  312. ui.updateTextArea(5, "<font color='#00C17c' size='12'><p align='center'> " .. teams.team3.player, nil)
  313. ui.updateTextArea(7, "<font color='#00C17c' size='12'><p align='center'> " .. teams.team4.player, nil)
  314. end
  315.  
  316. startGui = function(name)
  317. tfm.exec.addImage("1783f9e111a.jpg", "_1", -197, 10, name)
  318. -- TextAreas de Equipos
  319. ui.addTextArea(1, "<font color='#00C17c' size='12'><p align='center'> " .. teams.team1.player, name, 33, 89, 150,
  320. 50, 0x02064D, 0x040404, 1, true)
  321. ui.addTextArea(2, "<font size='14'><p align='center'><b> Team A", name, 33, 60, 150, 22, 0x02064D, 0x040404, 1, true)
  322.  
  323. ui.addTextArea(3, "<font color='#00C17c' size='12'><p align='center'>", name, 33, 209, 150, 50, 0x02064D, 0x040404,
  324. 1, true)
  325. ui.addTextArea(4, "<font size='14'><p align='center'><b> Team B", name, 33, 180, 150, 22, 0x02064D, 0x040404, 1,
  326. true)
  327.  
  328. ui.addTextArea(5, "<font color='#00C17c' size='12'><p align='center'>", name, 633, 89, 150, 50, 0x02064D, 0x040404,
  329. 1, true)
  330. ui.addTextArea(6, "<font size='14'><p align='center'><b> Team C", name, 633, 60, 150, 22, 0x02064D, 0x040404, 1,
  331. true)
  332.  
  333. ui.addTextArea(7, "<font color='#00C17c' size='12'><p align='center'>", name, 633, 209, 150, 50, 0x02064D, 0x040404,
  334. 1, true)
  335. ui.addTextArea(8, "<font size='14'><p align='center'><b> Team D", name, 633, 180, 150, 22, 0x02064D, 0x040404, 1,
  336. true)
  337. -- TextArea de información
  338. ui.addTextArea(9, "<font size='14'><p align='center'><b> Group Stage / D" .. pointsToWin, name, 300, 377, 200, 22,
  339. 0x02064D, 0x040404, 0.7, true)
  340. ui.addTextArea(10, "<font size='14'><p align='center'><b><a href='event:startGame'>Start", name, 360, 348, 80, 20,
  341. 0x02064D, 0x040404, 0.7, true)
  342. end
  343.  
  344. main = function()
  345. updateMapName()
  346. end
  347.  
  348. main()
  349.  
  350. for name in pairs(tfm.get.room.playerList) do
  351. eventNewPlayer(name)
  352. end
  353.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement