Script The Moviments
Página 1 de 1
Script The Moviments
tfm.exec.disableAfkDeath(true)
tfm.exec.disableAutoNewGame(true)
tfm.exec.disableAutoShaman(true)
data={}
maps={7027059,7031461,7031006,7031631,7031601,7057033}
admins={Seu nome aqui sem hastag=true}
won={}
movement2=""
speed=18
leftMovement=""
showScore=false
movement={[0]="Dance",[1]="Rir",[2]="Chore",[3]="Mande beijo",[4]="Fique com raiva",[5]="Bate palmas",[6]="Dorme",[7]="Feche os olhos",[8]="Sente se",[9]="Taque confeite"}
t=0
tt=0
players={}
mice=0
playGame=true
function MenuWelcome(name)
ui.addTextArea(200,"<font size='30'><j><p align='center'><b>The Movement <br><n><font size='15'> Bem vindo ao The Movement <br><font size='10'> Você deve fazer os movimentos que estão aparecendo no retângulo que está no topo <br> <br> Se você responder corretamente, você receberá 1 ponto <br> <br>Se você responder incorretamente, diminuirá 2 pontos <br> <br>Observação: O tempo acelera para cada ponto", name, 100, 100, 600, 250, 0x05101B, nil, 1,true)
ui.addTextArea(207,"<p align='center'><font size='17'><a href='event:close_menu_welcome'>× ", name, 100, 100, 20, 20, 0xD60000, nil, 0.9,true)
if admins[name] then
ui.addTextArea(201,"<font size='9'><a href='event:map_1'>الكرسمس", name, 550, 260, 50, 20, 0xC3C3C3, admin, 0.8,true)
ui.addTextArea(202,"<font size='9'><a href='event:map_2'>الرعب", name, 480, 260, 50, 20, 0x010101, admin, 0.8,true)
ui.addTextArea(203,"<font size='9'><a href='event:map_3'>الحب", name, 410, 260, 50, 20, 0xBF0000, admin, 0.8,true)
ui.addTextArea(204,"<font size='9'><a href='event:map_4'>قوس قزح", name,340, 260, 50, 20, 0xD04400, admin, 0.8,true)
ui.addTextArea(205,"<font size='9'><a href='event:map_5'>الشاطئ", name,270, 260, 50, 20, 0xFFB900, admin, 0.8,true)
ui.addTextArea(206,"<font size='9'><a href='event:map_6'> الجحيم", name,200, 260, 50, 20, 0xFFE300, admin, 0.8,true)
end
end
function addData(n)
data[n]={score=0,canPlay=false}
end
function eventNewPlayer(n)
addData(n)
MenuWelcome(n)
mice=mice+1
end
for n,player in pairs(tfm.get.room.playerList) do
addData(n)
MenuWelcome(n)
mice=mice+1
end
for n,player in pairs(players) do
addData(player)
end
function Won(n)
for i,won in ipairs(won) do
if n==won then return true end end return false
end
function Player(n)
for i,players in ipairs(players) do
if n==players then return true end end return false
end
function eventChatCommand(name,command)
local args={}
for s in command:gmatch("%S+") do
table.insert(args, s)
end
args[1]=args[1]:lower()
if args[1] == "help" then
ui.addTextArea(200,"<p align='center'><font size='22'><font color='#E50000'>The Movement <br><font color='#FFFFFF'><font size='10'> E isso significa movimentos <br><font size='7'> Você só precisa fazer os movimentos que estão no topo do mapa ", name, 170, 180, 200, 80, 0x00042A, nil, 0.9,true)
ui.addTextArea(201,"<p align='center'><font size='17'><a href='event:close_help'>× ", name, 170, 180, 20, 20, 0xD60000, nil, 0.9,true)
elseif args[1] == "menu" then
MenuWelcome(n)
end
if command:sub(0,2) == "ms" and admins[name] then
tfm.exec.chatMessage("<rose>"..command:sub(4).." :["..name.."]")
end
end
function RandomPlayers()
k={}
mm=0
mn=0
for j,p in pairs(tfm.get.room.playerList) do
if (not Player(j)) then
table.insert(k, j);
mn=mn+1
end end
mm=math.random(1,mn)
return table.concat(k,"",mm,mm)
end
if mice <= 4 then
playGame=false
end
function PlayerMaxScore(ttype)
if ttype=="NamePlayerMaxScore" or "ScorePlayerMaxScore" then
maxScore=0
score={}
name=""
local x=0
for n,p in pairs(tfm.get.room.playerList) do table.insert(score,data[n].score); end
for n,p in pairs(score) do x=x+1
if score[x] >= maxScore then maxScore = score[x] end
end
for n,p in pairs(tfm.get.room.playerList) do if data[n].score == maxScore then name = n
end
end
if ttype=="NamePlayerMaxScore" then
return name
elseif ttype=="ScorePlayerMaxScore" then
return maxScore
end -- end ttype
end -- end ttype
end -- end function
function ColorScore(n)
if data[n].score == PlayerMaxScore("ScorePlayerMaxScore") then
return "<j>"
else
return "<v>"
end
end
function eventLoop(timePassed,timeLeft)
if playGame then
t=t+1
tt=tt+1
if t==5 then
ui.addTextArea(1,"<font size='90'>3", nil, 400, 10, 900, 900, 0x0, nil, 1)
elseif t==8 then
ui.addTextArea(1,"<font size='90'>2", nil, 400, 10, 900, 900, 0x0, nil, 1)
elseif t==11 then
ui.addTextArea(1,"<font size='90'>1", nil, 400, 10, 900, 900, 0x0, nil, 1)
elseif t==14 then
k=math.random(0,#movement)
if leftMovement == movement[k] then
if k == 0 then
movement2=movement[k+1]
elseif k == 9 then
movement2=movement[k-1]
else
movement2=movement[k+1]
end
else
movement2=movement[k]
end
leftMovement=movement2
showScore=true
for n in pairs (tfm.get.room.playerList) do
data[n].canPlay=true
end
ui.addTextArea(1,"<font size='50'><p align='center'>Faça:"..movement2.." ", nil, 0, 20, 800, 800, 0x0, nil, 1)
elseif t==speed then
for n in pairs (tfm.get.room.playerList) do
data[n].canPlay=false
if not Won(n) and Player(n) then
if data[n].score > 0 then
if data[n].score == 1 then
data[n].score=data[n].score-1
else
data[n].score=data[n].score-2
end
end
end
end
won={}
movement2=""
t=13
if speed >= 18 then
speed=speed-1
else
speed=18
end
end
if showScore then
ui.addTextArea(500,"<p align='center'><font size='38'>"..ColorScore(players[1])..data[players[1]].score,nil, 508, 120, 130, 50, 0x000001, nil, 0,true)
ui.addTextArea(501,"<p align='center'><font size='38'>"..ColorScore(players[4])..data[players[4]].score,nil, 655, 120, 130, 50, 0x000001, nil, 0,true)
ui.addTextArea(502,"<p align='center'><font size='38'>"..ColorScore(players[3])..data[players[3]].score,nil, 655, 260, 130, 50, 0x000001, nil, 0,true)
ui.addTextArea(503,"<p align='center'><font size='38'>"..ColorScore(players[2])..data[players[2]].score,nil, 508, 260, 130, 50, 0x000001, nil, 0,true)
end
if alive == 0 or timeLeft < 1000 then
nextRound();
end
else
if mice>= 4 then
tfm.exec.newGame(maps[math.random(#maps)]);
end
end
end
function eventNewGame()
if playGame and PlayerMaxScore("ScorePlayerMaxScore") > 0 then
tfm.exec.chatMessage("بالجولة<ch> "..PlayerMaxScore("NamePlayerMaxScore").." <j>فاز")
end
if mice>= 4 then
players={}
player1=RandomPlayers()
table.insert(players, player1);
player2=RandomPlayers()
table.insert(players, player2);
player3=RandomPlayers()
table.insert(players, player3);
player4=RandomPlayers()
table.insert(players, player4);
playGame=true
tfm.exec.movePlayer(players[1],570,200)
tfm.exec.movePlayer(players[2],570,350)
tfm.exec.movePlayer(players[3],700,350)
tfm.exec.movePlayer(players[4],700,200)
won={}
movement2=""
leftMovement=""
t=0
tt=0
ui.setMapName ("The Movements")
speed=18
showScore=false
alive=0
for id, k in pairs({500,501,502,503}) do
ui.removeTextArea(k,nil)
end
for n in pairs (tfm.get.room.playerList) do
data[n].canPlay=false
data[n].score=0
end
for name,player in pairs(tfm.get.room.playerList) do
alive=alive+1
end
else
playGame=false
ui.addTextArea(1,"<font size='50'><p align='center'>Pelo menos 4 jogadores na sala", nil, 10, 40, 800, 800, 0x0, nil, 1)
end
end
function removeMenu(name)
for id, k in pairs({200,201,202,203,204,205,206,207}) do
ui.removeTextArea(k, name)
end
end
function eventTextAreaCallback(id,name,callback)
if callback=="close_help" then
ui.removeTextArea(200, name)
ui.removeTextArea(201, name)
elseif callback=="map_2" then
tfm.exec.newGame(maps[1])
removeMenu(name)
elseif callback=="map_3" then
tfm.exec.newGame(maps[2])
removeMenu(name)
elseif callback=="map_4" then
tfm.exec.newGame(maps[3])
removeMenu(name)
elseif callback=="map_5" then
tfm.exec.newGame(maps[4])
removeMenu(name)
elseif callback=="map_6" then
tfm.exec.newGame(maps[5])
removeMenu(name)
elseif callback=="close_menu_welcome" then
removeMenu(name)
end
end
function nextRound()
tfm.exec.newGame(maps[math.random(#maps)]);
end
function eventEmotePlayed(name,id)
if id >= 0 and id <= 9 and data[name].canPlay then
if movement2~=movement[id] then
if data[name].score > 0 then
if data[name].score == 1 then
data[name].score=data[name].score-1
else
data[name].score=data[name].score-2
end
end
data[name].canPlay=false
else
table.insert(won,name);
data[name].canPlay=false
data[name].score=data[name].score+1
end
end
if data[name].score >= 30 then
tfm.exec.giveCheese(name)
tfm.exec.playerVictory(name)
tfm.exec.setGameTime (5)
end
end
function eventNewPlayer(n)
tfm.exec.respawnPlayer(n)
end
function eventPlayerDied(n)
if (not Player(n)) then
tfm.exec.respawnPlayer(n)
end
end
function eventPlayerLeft(name)
mice=mice-1
end
tfm.exec.newGame(maps[math.random(#maps)]);
tfm.exec.disableAutoNewGame(true)
tfm.exec.disableAutoShaman(true)
data={}
maps={7027059,7031461,7031006,7031631,7031601,7057033}
admins={Seu nome aqui sem hastag=true}
won={}
movement2=""
speed=18
leftMovement=""
showScore=false
movement={[0]="Dance",[1]="Rir",[2]="Chore",[3]="Mande beijo",[4]="Fique com raiva",[5]="Bate palmas",[6]="Dorme",[7]="Feche os olhos",[8]="Sente se",[9]="Taque confeite"}
t=0
tt=0
players={}
mice=0
playGame=true
function MenuWelcome(name)
ui.addTextArea(200,"<font size='30'><j><p align='center'><b>The Movement <br><n><font size='15'> Bem vindo ao The Movement <br><font size='10'> Você deve fazer os movimentos que estão aparecendo no retângulo que está no topo <br> <br> Se você responder corretamente, você receberá 1 ponto <br> <br>Se você responder incorretamente, diminuirá 2 pontos <br> <br>Observação: O tempo acelera para cada ponto", name, 100, 100, 600, 250, 0x05101B, nil, 1,true)
ui.addTextArea(207,"<p align='center'><font size='17'><a href='event:close_menu_welcome'>× ", name, 100, 100, 20, 20, 0xD60000, nil, 0.9,true)
if admins[name] then
ui.addTextArea(201,"<font size='9'><a href='event:map_1'>الكرسمس", name, 550, 260, 50, 20, 0xC3C3C3, admin, 0.8,true)
ui.addTextArea(202,"<font size='9'><a href='event:map_2'>الرعب", name, 480, 260, 50, 20, 0x010101, admin, 0.8,true)
ui.addTextArea(203,"<font size='9'><a href='event:map_3'>الحب", name, 410, 260, 50, 20, 0xBF0000, admin, 0.8,true)
ui.addTextArea(204,"<font size='9'><a href='event:map_4'>قوس قزح", name,340, 260, 50, 20, 0xD04400, admin, 0.8,true)
ui.addTextArea(205,"<font size='9'><a href='event:map_5'>الشاطئ", name,270, 260, 50, 20, 0xFFB900, admin, 0.8,true)
ui.addTextArea(206,"<font size='9'><a href='event:map_6'> الجحيم", name,200, 260, 50, 20, 0xFFE300, admin, 0.8,true)
end
end
function addData(n)
data[n]={score=0,canPlay=false}
end
function eventNewPlayer(n)
addData(n)
MenuWelcome(n)
mice=mice+1
end
for n,player in pairs(tfm.get.room.playerList) do
addData(n)
MenuWelcome(n)
mice=mice+1
end
for n,player in pairs(players) do
addData(player)
end
function Won(n)
for i,won in ipairs(won) do
if n==won then return true end end return false
end
function Player(n)
for i,players in ipairs(players) do
if n==players then return true end end return false
end
function eventChatCommand(name,command)
local args={}
for s in command:gmatch("%S+") do
table.insert(args, s)
end
args[1]=args[1]:lower()
if args[1] == "help" then
ui.addTextArea(200,"<p align='center'><font size='22'><font color='#E50000'>The Movement <br><font color='#FFFFFF'><font size='10'> E isso significa movimentos <br><font size='7'> Você só precisa fazer os movimentos que estão no topo do mapa ", name, 170, 180, 200, 80, 0x00042A, nil, 0.9,true)
ui.addTextArea(201,"<p align='center'><font size='17'><a href='event:close_help'>× ", name, 170, 180, 20, 20, 0xD60000, nil, 0.9,true)
elseif args[1] == "menu" then
MenuWelcome(n)
end
if command:sub(0,2) == "ms" and admins[name] then
tfm.exec.chatMessage("<rose>"..command:sub(4).." :["..name.."]")
end
end
function RandomPlayers()
k={}
mm=0
mn=0
for j,p in pairs(tfm.get.room.playerList) do
if (not Player(j)) then
table.insert(k, j);
mn=mn+1
end end
mm=math.random(1,mn)
return table.concat(k,"",mm,mm)
end
if mice <= 4 then
playGame=false
end
function PlayerMaxScore(ttype)
if ttype=="NamePlayerMaxScore" or "ScorePlayerMaxScore" then
maxScore=0
score={}
name=""
local x=0
for n,p in pairs(tfm.get.room.playerList) do table.insert(score,data[n].score); end
for n,p in pairs(score) do x=x+1
if score[x] >= maxScore then maxScore = score[x] end
end
for n,p in pairs(tfm.get.room.playerList) do if data[n].score == maxScore then name = n
end
end
if ttype=="NamePlayerMaxScore" then
return name
elseif ttype=="ScorePlayerMaxScore" then
return maxScore
end -- end ttype
end -- end ttype
end -- end function
function ColorScore(n)
if data[n].score == PlayerMaxScore("ScorePlayerMaxScore") then
return "<j>"
else
return "<v>"
end
end
function eventLoop(timePassed,timeLeft)
if playGame then
t=t+1
tt=tt+1
if t==5 then
ui.addTextArea(1,"<font size='90'>3", nil, 400, 10, 900, 900, 0x0, nil, 1)
elseif t==8 then
ui.addTextArea(1,"<font size='90'>2", nil, 400, 10, 900, 900, 0x0, nil, 1)
elseif t==11 then
ui.addTextArea(1,"<font size='90'>1", nil, 400, 10, 900, 900, 0x0, nil, 1)
elseif t==14 then
k=math.random(0,#movement)
if leftMovement == movement[k] then
if k == 0 then
movement2=movement[k+1]
elseif k == 9 then
movement2=movement[k-1]
else
movement2=movement[k+1]
end
else
movement2=movement[k]
end
leftMovement=movement2
showScore=true
for n in pairs (tfm.get.room.playerList) do
data[n].canPlay=true
end
ui.addTextArea(1,"<font size='50'><p align='center'>Faça:"..movement2.." ", nil, 0, 20, 800, 800, 0x0, nil, 1)
elseif t==speed then
for n in pairs (tfm.get.room.playerList) do
data[n].canPlay=false
if not Won(n) and Player(n) then
if data[n].score > 0 then
if data[n].score == 1 then
data[n].score=data[n].score-1
else
data[n].score=data[n].score-2
end
end
end
end
won={}
movement2=""
t=13
if speed >= 18 then
speed=speed-1
else
speed=18
end
end
if showScore then
ui.addTextArea(500,"<p align='center'><font size='38'>"..ColorScore(players[1])..data[players[1]].score,nil, 508, 120, 130, 50, 0x000001, nil, 0,true)
ui.addTextArea(501,"<p align='center'><font size='38'>"..ColorScore(players[4])..data[players[4]].score,nil, 655, 120, 130, 50, 0x000001, nil, 0,true)
ui.addTextArea(502,"<p align='center'><font size='38'>"..ColorScore(players[3])..data[players[3]].score,nil, 655, 260, 130, 50, 0x000001, nil, 0,true)
ui.addTextArea(503,"<p align='center'><font size='38'>"..ColorScore(players[2])..data[players[2]].score,nil, 508, 260, 130, 50, 0x000001, nil, 0,true)
end
if alive == 0 or timeLeft < 1000 then
nextRound();
end
else
if mice>= 4 then
tfm.exec.newGame(maps[math.random(#maps)]);
end
end
end
function eventNewGame()
if playGame and PlayerMaxScore("ScorePlayerMaxScore") > 0 then
tfm.exec.chatMessage("بالجولة<ch> "..PlayerMaxScore("NamePlayerMaxScore").." <j>فاز")
end
if mice>= 4 then
players={}
player1=RandomPlayers()
table.insert(players, player1);
player2=RandomPlayers()
table.insert(players, player2);
player3=RandomPlayers()
table.insert(players, player3);
player4=RandomPlayers()
table.insert(players, player4);
playGame=true
tfm.exec.movePlayer(players[1],570,200)
tfm.exec.movePlayer(players[2],570,350)
tfm.exec.movePlayer(players[3],700,350)
tfm.exec.movePlayer(players[4],700,200)
won={}
movement2=""
leftMovement=""
t=0
tt=0
ui.setMapName ("The Movements")
speed=18
showScore=false
alive=0
for id, k in pairs({500,501,502,503}) do
ui.removeTextArea(k,nil)
end
for n in pairs (tfm.get.room.playerList) do
data[n].canPlay=false
data[n].score=0
end
for name,player in pairs(tfm.get.room.playerList) do
alive=alive+1
end
else
playGame=false
ui.addTextArea(1,"<font size='50'><p align='center'>Pelo menos 4 jogadores na sala", nil, 10, 40, 800, 800, 0x0, nil, 1)
end
end
function removeMenu(name)
for id, k in pairs({200,201,202,203,204,205,206,207}) do
ui.removeTextArea(k, name)
end
end
function eventTextAreaCallback(id,name,callback)
if callback=="close_help" then
ui.removeTextArea(200, name)
ui.removeTextArea(201, name)
elseif callback=="map_2" then
tfm.exec.newGame(maps[1])
removeMenu(name)
elseif callback=="map_3" then
tfm.exec.newGame(maps[2])
removeMenu(name)
elseif callback=="map_4" then
tfm.exec.newGame(maps[3])
removeMenu(name)
elseif callback=="map_5" then
tfm.exec.newGame(maps[4])
removeMenu(name)
elseif callback=="map_6" then
tfm.exec.newGame(maps[5])
removeMenu(name)
elseif callback=="close_menu_welcome" then
removeMenu(name)
end
end
function nextRound()
tfm.exec.newGame(maps[math.random(#maps)]);
end
function eventEmotePlayed(name,id)
if id >= 0 and id <= 9 and data[name].canPlay then
if movement2~=movement[id] then
if data[name].score > 0 then
if data[name].score == 1 then
data[name].score=data[name].score-1
else
data[name].score=data[name].score-2
end
end
data[name].canPlay=false
else
table.insert(won,name);
data[name].canPlay=false
data[name].score=data[name].score+1
end
end
if data[name].score >= 30 then
tfm.exec.giveCheese(name)
tfm.exec.playerVictory(name)
tfm.exec.setGameTime (5)
end
end
function eventNewPlayer(n)
tfm.exec.respawnPlayer(n)
end
function eventPlayerDied(n)
if (not Player(n)) then
tfm.exec.respawnPlayer(n)
end
end
function eventPlayerLeft(name)
mice=mice-1
end
tfm.exec.newGame(maps[math.random(#maps)]);
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos