Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local _, msg = pcall(nil)
- local admin = string.match(msg, "^(.-)%.")
- local admins = {
- [admin] = true, -- Este pertenece a quien cargó el lua, no es necesario que lo cambies
- ["Blood#3565"] = true,
- ["Kevinho#0873"] = true
- }
- local inGame = false
- local first = true
- local teams = {
- team1 = {
- player = "",
- points = 0,
- color = 0x008355,
- win = false,
- firstWinner = false,
- secondWinner = false
- },
- team2 = {
- player = "",
- points = 0,
- color = 0xFFB300,
- win = false,
- firstWinner = false,
- secondWinner = false
- },
- team3 = {
- player = "",
- points = 0,
- color = 0xCB546B,
- win = false,
- firstWinner = false,
- secondWinner = false
- },
- team4 = {
- player = "",
- points = 0,
- color = 0x2F7FCC,
- win = false,
- firstWinner = false,
- secondWinner = false
- }
- }
- local pointsToWin = 15
- local maps = {'#7'}
- -- local maps = {'@7053913', '@7053913'}
- tfm.exec.disableAutoNewGame(true)
- tfm.exec.disableAutoScore()
- tfm.exec.disableAutoShaman()
- tfm.exec.disableAutoTimeLeft()
- tfm.exec.newGame(7840668)
- removeText = function(min, max, name)
- for min = min, max do
- ui.removeTextArea(min, name)
- end
- end
- addColorName = function(name, team)
- tfm.exec.setNameColor(teams.team1.player, teams.team1.color)
- tfm.exec.setNameColor(teams.team2.player, teams.team2.color)
- tfm.exec.setNameColor(teams.team3.player, teams.team3.color)
- tfm.exec.setNameColor(teams.team4.player, teams.team4.color)
- end
- updateMapName = function()
- local space = "\t<font color='#6A7495'>|\t"
- local white = "<font color='#C2C2DA'>"
- local text = ""
- if not inGame then
- text = "<font color='#FFB300'>By Blood#3565, Torneo por Kevinho#0873"
- else
- text = white .. "\t\t<font color='#008355'>" .. teams.team1.points .. "</font> x <font color='#FFB300'>" ..
- teams.team2.points .. "</font> x <font color='#CB546B'>" .. teams.team3.points ..
- "</font> x <font color='#2F7FCC'>" .. teams.team4.points .. "</font> \t/ D: " .. pointsToWin
- end
- tfm.exec.setUIMapName(text)
- end
- eventChatCommand = function(name, cmd)
- if admins[name] then
- local args, count = {}, 1
- for arg in cmd:gmatch("[^%s]+") do
- args[count] = arg
- count = count + 1
- end
- if (args[1] == "team1" or args[1] == "team2" or args[1] == "team3" or args[1] == "team4") and args[2] ~= nil then
- if teams.team1.player == args[2] then
- teams.team1.player = ""
- elseif teams.team2.player == args[2] then
- teams.team2.player = ""
- elseif teams.team3.player == args[2] then
- teams.team3.player = ""
- elseif teams.team4.player == args[2] then
- teams.team4.player = ""
- end
- teams[args[1]].player = args[2]
- updateTexts()
- addColorName(args[2], args[1])
- elseif args[1] == "skip" or args[1] == "s" then
- if inGame then
- newMap()
- end
- elseif args[1] == "d" then
- if tonumber(args[2]) ~= nil then
- pointsToWin = tonumber(args[2])
- if inGame then
- updateMapName()
- else
- ui.addTextArea(9, "<font size='14'><p align='center'><b> Group Stage / D" .. pointsToWin, name, 300, 377, 200, 22,
- 0x02064D, 0x040404, 0.7, true)
- end
- end
- end
- end
- end
- killPlayers = function()
- for name in pairs(tfm.get.room.playerList) do
- if not (teams.team1.player == name or teams.team2.player == name or teams.team3.player == name or
- teams.team4.player == name) then
- tfm.exec.killPlayer(name)
- end
- end
- if teams.team1.win then
- tfm.exec.killPlayer(teams.team1.player)
- elseif teams.team2.win then
- tfm.exec.killPlayer(teams.team2.player)
- elseif teams.team3.win then
- tfm.exec.killPlayer(teams.team3.player)
- elseif teams.team4.win then
- tfm.exec.killPlayer(teams.team4.player)
- end
- end
- newMap = function()
- local mapcode = maps[math.random(#maps)]
- first = true
- tfm.exec.newGame(mapcode)
- updateMapName()
- tfm.exec.setGameTime(63)
- killPlayers()
- addColorName()
- removeText(99, 99, nil)
- end
- eventNewPlayer = function(name)
- if not inGame then
- startGui(name)
- tfm.exec.respawnPlayer(name)
- end
- tfm.exec.setPlayerScore(name, 0)
- updateMapName()
- end
- eventTextAreaCallback = function(id, name, callback)
- if not admins[name] then
- return
- end -- Si cualquiera que haga click no es admin, no hace nada
- if callback == "startGame" then
- inGame = true
- removeText(1, 10, nil) -- Se remueven los textareas del inicio
- newMap()
- end
- end
- eventLoop = function(elapsedTime, remainingTime)
- if remainingTime <= 500 and inGame then
- newMap()
- end
- end
- eventPlayerDied = function(playerName)
- players, deadPlayers = 0, 0
- for i, k in pairs(tfm.get.room.playerList) do
- players = players + 1
- if k.isDead then
- deadPlayers = deadPlayers + 1
- end
- end
- if players == deadPlayers then
- newMap()
- end
- end
- gameOver = function()
- tfm.exec.newGame(7840668)
- inGame = false
- tfm.exec.addImage("1783f9e111a.jpg", "_1", -197, 10, nil)
- ui.addTextArea(9, "<font size='14'><p align='center'><b> Group Stage / D" .. pointsToWin, nil, 300, 377, 200, 22,
- 0x02064D, 0x040404, 0.7, true)
- ui.addTextArea(10, "<font size='14'><p align='center'><b>WP", nil, 360, 348, 80, 20, 0x02064D, 0x040404, 0.7, true)
- local firstWinner = ""
- local secondWinner = ""
- if teams.team1.firstWinner == true then
- firstWinner = teams.team1.player
- elseif teams.team1.secondWinner == true then
- secondWinner = teams.team1.player
- end
- if teams.team2.firstWinner == true then
- firstWinner = teams.team2.player
- elseif teams.team2.secondWinner == true then
- secondWinner = teams.team2.player
- end
- if teams.team3.firstWinner == true then
- firstWinner = teams.team3.player
- elseif teams.team3.secondWinner == true then
- secondWinner = teams.team3.player
- end
- if teams.team4.firstWinner == true then
- firstWinner = teams.team4.player
- elseif teams.team4.secondWinner == true then
- secondWinner = teams.team4.player
- end
- ui.addTextArea(11, "<font size='14'><p align='center'><b>" .. firstWinner , nil, 33, 100, 200, 22,
- 0x02064D, 0x040404, 1, true)
- ui.addTextArea(13, "<font size='14'><p align='center'><b>First Place", nil, 80, 73, 100, 20, 0x02064D, 0x040404,
- 0.7, true)
- ui.addTextArea(12, "<font size='14'><p align='center'><b>" .. secondWinner , nil, 553, 100, 200, 22,
- 0x02064D, 0x040404, 1, true)
- ui.addTextArea(14, "<font size='14'><p align='center'><b>Second Place", nil, 595, 73, 120, 20, 0x02064D, 0x040404,
- 0.7, true)
- end
- firstClassified = function(team)
- tfm.exec.setGameTime(10)
- 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)
- end
- addPoints = function(name)
- if teams.team1.player == name then
- teams.team1.points = teams.team1.points + 1
- elseif teams.team2.player == name then
- teams.team2.points = teams.team2.points + 1
- elseif teams.team3.player == name then
- teams.team3.points = teams.team3.points + 1
- elseif teams.team4.player == name then
- teams.team4.points = teams.team4.points + 1
- end
- if teams.team1.points >= pointsToWin and (teams.team1.firstWinner == false) then
- if teams.team2.firstWinner or teams.team3.firstWinner or teams.team4.firstWinner then
- teams.team1.secondWinner = true
- gameOver()
- else
- teams.team1.firstWinner = true
- teams.team1.win = true
- firstClassified(teams.team1)
- end
- elseif teams.team2.points >= pointsToWin and (teams.team2.firstWinner == false) then
- if teams.team1.firstWinner or teams.team3.firstWinner or teams.team4.firstWinner then
- teams.team2.secondWinner = true
- gameOver()
- else
- teams.team2.firstWinner = true
- teams.team2.win = true
- firstClassified(teams.team2)
- end
- elseif teams.team3.points >= pointsToWin and (teams.team3.firstWinner == false) then
- if teams.team1.firstWinner or teams.team2.firstWinner or teams.team4.firstWinner then
- teams.team3.secondWinner = true
- gameOver()
- else
- teams.team3.firstWinner = true
- teams.team3.win = true
- firstClassified(teams.team3)
- end
- elseif teams.team4.points >= pointsToWin and (teams.team4.firstWinner == false) then
- if teams.team1.firstWinner or teams.team2.firstWinner or teams.team3.firstWinner then
- teams.team4.secondWinner = true
- gameOver()
- else
- teams.team4.firstWinner = true
- teams.team4.win = true
- firstClassified(teams.team4)
- end
- end
- end
- eventPlayerWon = function(name)
- if inGame and first then
- first = false
- tfm.exec.setPlayerScore(name, 1, true)
- tfm.exec.setGameTime(5)
- addPoints(name)
- updateMapName()
- end
- end
- updateTexts = function()
- ui.updateTextArea(1, "<font color='#00C17c' size='12'><p align='center'> " .. teams.team1.player, nil)
- ui.updateTextArea(3, "<font color='#00C17c' size='12'><p align='center'> " .. teams.team2.player, nil)
- ui.updateTextArea(5, "<font color='#00C17c' size='12'><p align='center'> " .. teams.team3.player, nil)
- ui.updateTextArea(7, "<font color='#00C17c' size='12'><p align='center'> " .. teams.team4.player, nil)
- end
- startGui = function(name)
- tfm.exec.addImage("1783f9e111a.jpg", "_1", -197, 10, name)
- -- TextAreas de Equipos
- ui.addTextArea(1, "<font color='#00C17c' size='12'><p align='center'> " .. teams.team1.player, name, 33, 89, 150,
- 50, 0x02064D, 0x040404, 1, true)
- ui.addTextArea(2, "<font size='14'><p align='center'><b> Team A", name, 33, 60, 150, 22, 0x02064D, 0x040404, 1, true)
- ui.addTextArea(3, "<font color='#00C17c' size='12'><p align='center'>", name, 33, 209, 150, 50, 0x02064D, 0x040404,
- 1, true)
- ui.addTextArea(4, "<font size='14'><p align='center'><b> Team B", name, 33, 180, 150, 22, 0x02064D, 0x040404, 1,
- true)
- ui.addTextArea(5, "<font color='#00C17c' size='12'><p align='center'>", name, 633, 89, 150, 50, 0x02064D, 0x040404,
- 1, true)
- ui.addTextArea(6, "<font size='14'><p align='center'><b> Team C", name, 633, 60, 150, 22, 0x02064D, 0x040404, 1,
- true)
- ui.addTextArea(7, "<font color='#00C17c' size='12'><p align='center'>", name, 633, 209, 150, 50, 0x02064D, 0x040404,
- 1, true)
- ui.addTextArea(8, "<font size='14'><p align='center'><b> Team D", name, 633, 180, 150, 22, 0x02064D, 0x040404, 1,
- true)
- -- TextArea de información
- ui.addTextArea(9, "<font size='14'><p align='center'><b> Group Stage / D" .. pointsToWin, name, 300, 377, 200, 22,
- 0x02064D, 0x040404, 0.7, true)
- ui.addTextArea(10, "<font size='14'><p align='center'><b><a href='event:startGame'>Start", name, 360, 348, 80, 20,
- 0x02064D, 0x040404, 0.7, true)
- end
- main = function()
- updateMapName()
- end
- main()
- for name in pairs(tfm.get.room.playerList) do
- eventNewPlayer(name)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement