Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- mapA="0"
- map={7171137,7172091,7196916,7197833}
- tfm.exec.setRoomMaxPlayers(30)
- maps={
- map_7171137={creator="Nettoork",
- {levelName=1,x=26,y=764},
- {levelName=2,x=178 ,y=649},
- {levelName=3,x=520 ,y=774},
- {levelName=4,x=965 ,y=564},
- {levelName=5,x=1575 ,y=434},
- {levelName=6,x=1429 ,y=311},
- {levelName=7,x=1227 ,y=129},
- {levelName=8,x=901 ,y=51},
- {levelName=9,x=118 ,y=189}
- },
- map_7172091={creator="Nettoork",
- {levelName=1,x=60,y=764},
- {levelName=2,x=720,y=764},
- {levelName=3,x=921,y=687},
- {levelName=4,x=459,y=555},
- {levelName=5,x=44,y=501},
- {levelName=6,x=1370,y=360}
- },
- map_7196916={creator="Nettoork",
- {levelName=1,x=14,y=765},
- {levelName=2,x=129,y=692},
- {levelName=3,x=441,y=668},
- {levelName=4,x=804,y=596},
- {levelName=5,x=512,y=412},
- {levelName=6,x=16,y=514},
- {levelName=7,x=16,y=239},
- {levelName=8,x=495,y=310},
- {levelName=9,x=1322,y=657},
- {levelName=10,x=1586,y=489},
- {levelName=11,x=1476,y=383}
- },
- map_7197833={creator="Nettoork",
- {levelName=1,x=27,y=764},
- {levelName=2,x=158,y=594},
- {levelName=3,x=725,y=566},
- {levelName=4,x=1174,y=764},
- {levelName=5,x=1587,y=712},
- {levelName=6,x=1544,y=571},
- {levelName=7,x=1296,y=85},
- {levelName=8,x=670,y=125},
- {levelName=9,x=59,y=105}
- },
- }
- tfm.exec.disableAutoNewGame(true)
- tfm.exec.disableAutoShaman(true)
- tfm.exec.disableAutoTimeLeft(true)
- tfm.exec.disableAfkDeath(true)
- tfm.exec.disableAutoScore(true)
- tfm.exec.disablePhysicalConsumables(true)
- dataPlayer={}
- local snowball = {}
- local ballon = {}
- local objs = {}
- function split(t,s)
- local a={}
- for i,v in string.gmatch(t,string.format("[^%s]+",s or "%s")) do
- table.insert(a,i)
- end
- return a
- end
- mapA=map[math.random(#map)]
- mapaantigo=mapA
- mapB="map_"..mapA
- tfm.exec.newGame(mapA)
- function eventNewPlayer(name)
- tfm.exec.setUIMapName("<font color='#FFFFFF'>[Minigame] Parkour</font>")
- for i,v in pairs(maps) do
- if i == mapB then
- dataPlayer[name]={
- level=1,
- x=i.x,
- y=i.y,
- fly=false,
- snowball=false,
- ballon=false,
- time=os.time(),
- }
- ui.addTextArea(0,"Map created by: "..(v.creator),name,5,380,0,0,1,1,0.6,true)
- end
- end
- tfm.exec.bindKeyboard(name,32,true,true)
- system.bindKeyboard(name, 69, false)
- system.bindKeyboard(name, 81, false)
- tfm.exec.setPlayerScore(name,1,false)
- tfm.exec.respawnPlayer(name)
- ui.addTextArea(1,"", name,600,26,195,18,1,1,0.8,true)
- ui.addTextArea(2,"<font size='10'><p align='center'>Level", name,600,26,95,0,1,1,0,true)
- ui.addTextArea(3,"<font color='#000001'>|</font> "..dataPlayer[name].level, name,700,26,95,0,1,1,0,true)
- ui.addTextArea(4,"", name,600,28,195,18,1,1,0.1,true)
- end
- for name,player in pairs(tfm.get.room.playerList) do
- eventNewPlayer(name)
- end
- function eventPlayerDied(name)
- tfm.exec.respawnPlayer(name)
- end
- function eventPlayerRespawn(name)
- tfm.exec.movePlayer(name, dataPlayer[name].x, dataPlayer[name].y, false, 0, 1, false)
- if dataPlayer[name].level == levels then
- tfm.exec.setNameColor(name,0xFEFF00)
- else
- tfm.exec.setNameColor(name,0x148DE6)
- end
- end
- function newLevel(name)
- dataPlayer[name].level=dataPlayer[name].level+1
- tfm.exec.setPlayerScore(name,dataPlayer[name].level,false)
- ui.addTextArea(3,"<font color='#000001'>|</font> "..dataPlayer[name].level, name,700,26,95,0,1,1,0,true)
- if dataPlayer[name].level == levels then
- tfm.exec.setNameColor(name,0xFEFF00)
- local msg="<p align='center'><V>"..name.."</V> Reached the last level, <D>Congratulations!</D>"
- dataPlayer[name].fly=true
- dataPlayer[name].snowball=true
- dataPlayer[name].ballon=true
- ui.addTextArea(-1,msg,todos,5,28,585,0,1,1,0.6,true)
- else
- if dataPlayer[name].level ~= 1 then
- ui.addTextArea(-1,"<p align='center'><V>"..name.."</V> is now level <R>"..dataPlayer[name].level.."!</R>",todos,5,28,585,0,1,1,0.6,true)
- end
- end
- end
- function newMapa()
- mapA=map[math.random(#map)]
- if mapA ~= mapaantigo then
- mapB="map_"..mapA
- mapaantigo=mapA
- tfm.exec.newGame(mapA)
- else
- newMapa()
- end
- end
- function eventLoop(currentTime,timeRemaining)
- if timeRemaining <= 0 then
- newMapa()
- end
- for i,v in ipairs(ballon) do
- if v[2] < os.time() - 2000 then
- tfm.exec.removeObject(v[1])
- table.remove(ballon,i)
- end
- end
- for i,v in ipairs(snowball) do
- if v[2] < os.time() - 3000 then
- tfm.exec.removeObject(v[1])
- table.remove(snowball,i)
- end
- end
- for name,player in pairs(tfm.get.room.playerList) do
- local xC = tfm.get.room.playerList[name].x
- local yC = tfm.get.room.playerList[name].y
- --print("Nickname: "..name.." | X : "..xC.." | Y : "..yC)
- for a,o in pairs(maps) do
- if a == mapB and #o == levels then
- for v,i in pairs(o) do
- for num=1,levels do
- if i.levelName == num then
- if (xC < i.x+20 and xC > i.x-20) and (yC <= i.y+10 and yC >= i.y-25) and num == (dataPlayer[name].level+1) then
- dataPlayer[name].x = i.x
- dataPlayer[name].y = i.y
- newLevel(name)
- end
- end
- end
- if i.levelName == (dataPlayer[name].level + 1) then
- tfm.exec.displayParticle(math.random(21,23),math.random((i.x-10),(i.x+10)),math.random((i.y-10),(i.y+10)),0,0,0,0,name)
- end
- end
- end
- end
- end
- end
- admin="Nettoork"
- function eventChatCommand(playerName,command)
- local arg = split(command, " ")
- if arg[1] == "tp" and arg[2] and dataPlayer[playerName].level == levels then
- for name,player in pairs(tfm.get.room.playerList) do
- if arg[2] == name then
- targetPlayer=arg[2]:sub(1,1):upper()..arg[2]:sub(2):lower()
- tfm.exec.movePlayer(playerName, tfm.get.room.playerList[targetPlayer].x, tfm.get.room.playerList[targetPlayer].y, false, 0, 1, false)
- end
- end
- end
- if command == "powers" then
- tfm.exec.chatMessage("<V>[Parkour]</V> <D> Q = Ballon | E = SnowBall | Space Bar = Fly | !tp + target</D>",playerName)
- end
- if arg[1] == "time_set" and arg[2] and playerName==admin then
- tfm.exec.setGameTime(arg[2])
- end
- end
- function eventKeyboard(name,key,down,x,y)
- if key==32 and dataPlayer[name].fly == true then
- tfm.exec.movePlayer(name,0,0,true,0,-50,false)
- end
- if key == 69 and dataPlayer[name].snowball == true then
- if dataPlayer[name].time < os.time()-3000 then
- local facingRight = tfm.get.room.playerList[name].isFacingRight
- table.insert(snowball,{tfm.exec.addShamanObject(34, facingRight and x + 20 or x - 20, y, 0, facingRight and 10 or -10), os.time()})
- dataPlayer[name].time = os.time()
- end
- end
- if key == 81 and dataPlayer[name].ballon == true then
- if dataPlayer[name].time < os.time()-10000 then
- local facingRight = tfm.get.room.playerList[name].isFacingRight
- table.insert(ballon,{tfm.exec.addShamanObject(28, x, y+10, 0), os.time()})
- dataPlayer[name].time = os.time()
- end
- end
- end
- function eventNewGame()
- levels=0
- tfm.exec.setGameTime(1200)
- for i,v in pairs(maps) do
- if i == mapB then
- levels=0
- for num=1,#v do
- levels=levels+1
- end
- for a,o in pairs(v) do
- for name,player in pairs(tfm.get.room.playerList) do
- if o.levelName == 1 and dataPlayer[name].level ~= 1 then
- dataPlayer[name].x=o.X
- dataPlayer[name].y=o.Y
- dataPlayer[name].level=1
- dataPlayer[name].fly=false
- dataPlayer[name].snowball=false
- dataPlayer[name].ballon=false
- tfm.exec.setPlayerScore(name,dataPlayer[name].level,false)
- end
- ui.addTextArea(-1,"<p align='center'><V>[Map]</V><BV> New Map Started!</BV>",todos,5,28,585,0,1,1,0.6,true)
- ui.addTextArea(0,"Map created by: "..(v.creator),todos,5,380,0,0,1,1,0.6,true)
- end
- end
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement