×

Langue

Fermer
Atelier 801
  • Forums
  • Dev Tracker
  • Connexion
    • English Français
      Português do Brasil Español
      Türkçe Polski
      Magyar Română
      العربية Skandinavisk
      Nederlands Deutsch
      Bahasa Indonesia Русский
      中文 Filipino
      Lietuvių kalba 日本語
      Suomi עברית
      Italiano Česky
      Hrvatski Slovensky
      Български Latviešu
      Estonian
  • Langue
  • Forums
  • /
  • Transformice
  • /
  • Modules
  • /
  • [Minigame] Hangman
« ‹ 3 / 4 › »
[Minigame] Hangman
Shamousey
« Consul »
1394377800000
    • Shamousey#0095
    • Profil
    • Derniers messages
    • Tribu
#41
  0
Leopardrun a dit :
wheres the lua code?

can someone give me it?

There's a link to it in the first post of the thread. http://pastebin.com/nyRGKPB0
Stockimages
« Citoyen »
1394388960000
    • Stockimages#0000
    • Profil
    • Derniers messages
    • Tribu
#42
  0
how do i read that thing?
Williamkang
« Citoyen »
1394646480000
    • Williamkang#0000
    • Profil
    • Derniers messages
#43
  0
what's the room?
Deathmatic
« Citoyen »
1394650320000
    • Deathmatic#0000
    • Profil
    • Derniers messages
#44
  0
Williamkang a dit :
what's the room?

Follow this link : http://pastebin.com/nyRGKPB0
Copy the code, then go to your tribehouse, write "/lua" and paste the code in the window.
Nekoava
« Citoyen »
1394921340000
    • Nekoava#0000
    • Profil
    • Derniers messages
    • Tribu
#45
  0
Nice! :D But i found a bug that i'm too lazy to post right now T.T

[Edit]

So,

I loaded the lua in my tribe house.

When one of my friends left, it kept showing her as the person who chooses the word. For excample:

Mouse1 makes the word.
*Offline friend* makes the word.
Mouse2 makes the word.
*Offline friend* makes the word.

>.<
Nikuola
« Citoyen »
1395676920000
    • Nikuola#4312
    • Profil
    • Derniers messages
#46
  0
Nekoava a dit :
Nice! :D But i found a bug that i'm too lazy to post right now T.T

[Edit]

So,

I loaded the lua in my tribe house.

When one of my friends left, it kept showing her as the person who chooses the word. For excample:

Mouse1 makes the word.
*Offline friend* makes the word.
Mouse2 makes the word.
*Offline friend* makes the word.

&gt;.&lt;

Yes! i had same bug.
Excretion
« Citoyen »
1396748640000
    • Excretion#0000
    • Profil
    • Derniers messages
    • Tribu
#47
  0
Is this module for 2 players?
Deathmatic
« Citoyen »
1397128320000
    • Deathmatic#0000
    • Profil
    • Derniers messages
#48
  0
Excretion a dit :
Is this module for 2 players?

This module needs minimum 2 players to work. Have you ever tried to play Hangman alone ? ^^
Williamkang
« Citoyen »
1397408460000
    • Williamkang#0000
    • Profil
    • Derniers messages
#49
  0
Deathmatic a dit :


This module needs minimum 2 players to work. Have you ever tried to play Hangman alone ? ^^

yeah i played it alone
Vaporous
« Citoyen »
1397831880000
    • Vaporous#0999
    • Profil
    • Derniers messages
    • Tribu
#50
  0
So perfect!
Nox
« Citoyen »
1398006780000
    • Nox#2215
    • Profil
    • Derniers messages
    • Tribu
#51
  0
Not working.
Arber
« Citoyen »
1399144020000
    • Arber#0000
    • Profil
    • Derniers messages
    • Tribu
#52
  0
[Jordynl] eventChatCommand doesn't detect words smaller then 3 chars

this doesn't work anymore
Wolfclawgem
« Citoyen »
1399697280000
    • Wolfclawgem#0000
    • Profil
    • Derniers messages
    • Tribu
#53
  0
I'll so just not know...
Jakejune
« Citoyen »
1426940760000
    • Jakejune#0000
    • Profil
    • Derniers messages
    • Tribu
#54
  0
where's the code
Eili
« Citoyen »
1427536080000
    • Eili#0000
    • Profil
    • Derniers messages
    • Tribu
#55
  0
Good minigame. :)
Xblueshadow
« Citoyen »
1429240200000
    • Xblueshadow#0000
    • Profil
    • Derniers messages
    • Tribu
#56
  0
How do you put this on the tribe house? ;;
Woebegone
« Citoyen »
1429306980000
    • Woebegone#8377
    • Profil
    • Derniers messages
    • Tribu
#57
  0
xblueshadow a dit :
How do you put this on the tribe house? ;;

Copy everything shown in the spoiler below:

tfm.exec.disableAfkDeath(true)
tfm.exec.disableAutoShaman(true)
tfm.exec.disableAutoNewGame(true)
tfm.exec.disableAutoScore(true)
tfm.exec.disableAutoTimeLeft(true)

chars = {"&","é","~","\"","{","|","è","`","_","à","@","]","+","=","}","¨","ë","ä","ü","ö","£","<",">","0","1","2","3","4","5","6","7","8","9"}

lang = {}

lang.fr = {
ask_word = "Définir le mot à trouver",
choose_word = "Choisissez un mot : (entre 2 et 12 caractères inclus, aucun accent)",
more_players = "Vous devez être au moins <font color='#FF0000'>2</font> joueurs pour jouer au pendu.",
next_turn_1 = "Le prochain tour débutera dans ",
next_turn_2 = " seconde(s).",
turn_of_1 = "C'est le tour de ",
turn_of_2 = " ! ",
patientez = "Patientez pendant qu'il choisir son mot...",
word_found = "Le mot a été trouvé !",
word_not_found = "Pas de chance ! Le mot était ",
time_out = "Temps écoulé !",
pass_turn = "Le maître du jeu a passé son tour !",
quit = "Le maître du jeu a quitté !"
}

lang.en = {
ask_word = "Define the word to find",
choose_word = "Choose a word : (between 2 and 12 characters)",
more_players = "You have to be at least <font color='#FF0000'>2</font> players to play Hangman.",
next_turn_1 = "Next turn in ",
next_turn_2 = " second(s).",
turn_of_1 = "It's ",
turn_of_2 = "'s turn ! ",
patientez = "Wait while he's choosing a word...",
word_found = "The word was found !",
word_not_found = "No luck! The word was ",
time_out = "Time out !",
pass_turn = "The game master has passed his turn !",
quit = "The game master has quit."
}

text = lang.en

players = {}
master = ""

letters = {}
invertLetters = {}

word = ""
hasDefinedWord = false

timer = 0
bestPlayer = ""
pendu_level = 0

beginReset = false
hasToReset = false
resetTimer = 0

isTimeOut = false
hasWon = false
hasLost = false
hasSkipped = false
hasQuit = false

lettersEntered = {}

id = {}

id["ask_word_main"] = 1
id["ask_word_button"] = 2
id["ask_word_popup"] = 3
id["pendu"] = 4
id["reset_timer"] = 5
id["reset_timer_label"] = 6
id["turn"] = 7
id["turn_label"] = 8
id["one_player"] = 9
id["one_player_label"] = 10

function eventNewGame()
updatePlayersList()

ui.removeTextArea(id["one_player"])
ui.removeTextArea(id["one_player_label"])

letters = {}
invertLetters = {}
word = ""
hasDefinedWord = false
timer = 0

if getNbPlayers() > 1 then
master = randomPlayer()
tfm.exec.movePlayer(master, 400, 90, false, 0, 0, false)

askWord()
drawPendu()
else
removeAll()

ui.addTextArea(id["one_player"], "", nil, 5, 110, 790, 25, 0xC0C0C0, 0x595959, 1f)
ui.addTextArea(id["one_player_label"], "<p align='center'><BL><font color='#000000'>"..text.more_players.."</font></p>", nil, 25, 115, 750, 30, 0xC0C0C0, 0xC0C0C0, 0f)

drawWord()
drawPendu()
end
end

function eventPlayerDied(playerName)
tfm.exec.respawnPlayer(playerName)
end

function eventNewPlayer(playerName)
table.insert(players, playerName)

if getNbPlayers() == 2 then
tfm.exec.newGame("@4488917")
else
tfm.exec.respawnPlayer(playerName)
drawWord()
drawPendu()
end
end

function eventPlayerLeft(playerName)
local toRemove = 0

for i,p in pairs(players) do
if p==playerName then
toRemove = i
end
end

table.remove(players, toRemove)

if getNbPlayers() == 1 then
tfm.exec.newGame("@4488917")
else
if playerName==master then
hasQuit = true
reset()
end
end
end

function eventLoop(currentTime, timeRemaining)
timer = timer + 0.5
if beginReset then
ui.removeTextArea(id["ask_word_main"])
ui.removeTextArea(id["ask_word_button"])

resetTimer = resetTimer + 0.5

ui.addTextArea(id["reset_timer"], "", nil, 5, 110, 790, 25, 0xC0C0C0, 0x595959, 1f)
if isTimeOut then ui.addTextArea(id["reset_timer_label"], "<p align='center'><BL>"..text.time_out.." <font color='#000000'>"..text.next_turn_1.."<font color='#FF0000'>"..math.floor(10 - resetTimer).."</font>"..text.next_turn_2.."</font></p>", nil, 25, 115, 750, 30, 0xC0C0C0, 0xC0C0C0, 0f) end
if hasWon then ui.addTextArea(id["reset_timer_label"], "<p align='center'><BL>"..text.word_found.." <font color='#000000'>"..text.next_turn_1.."<font color='#FF0000'>"..math.floor(10 - resetTimer).."</font>"..text.next_turn_2.."</font></p>", nil, 25, 115, 750, 30, 0xC0C0C0, 0xC0C0C0, 0f) end
if hasLost then ui.addTextArea(id["reset_timer_label"], "<p align='center'><font color='#000000'>"..text.word_not_found.."</font><BL>"..word:gsub("^%l", string.upper).."<font color='#000000'> ! "..text.next_turn_1.."<font color='#FF0000'>"..math.floor(10 - resetTimer).."</font>"..text.next_turn_2.."</font></p>", nil, 25, 115, 750, 30, 0xC0C0C0, 0xC0C0C0, 0f) end
if hasSkiped then ui.addTextArea(id["reset_timer_label"], "<p align='center'><BL>"..text.pass_turn.."<font color='#000000'> "..text.next_turn_1.."<font color='#FF0000'>"..math.floor(10 - resetTimer).."</font>"..text.next_turn_2.."</font></p>", nil, 25, 115, 750, 30, 0xC0C0C0, 0xC0C0C0, 0f) end
if hasQuit then ui.addTextArea(id["reset_timer_label"], "<p align='center'><BL>"..text.quit.."<font color='#000000'> "..text.next_turn_1.."<font color='#FF0000'>"..math.floor(10 - resetTimer).."</font>"..text.next_turn_2.."</font></p>", nil, 25, 115, 750, 30, 0xC0C0C0, 0xC0C0C0, 0f) end
end

checkBestPlayer()

if timer==25 and not hasDefinedWord and getNbPlayers() > 1 then
isTimeOut = true
reset()
end

if resetTimer==10 then
isTimeOut = false
hasWon = false
hasLost = false
hasSkiped = false
hasQuit = false

hasToReset = true

reset()
end
end

function eventChatCommand(playerName, message)
local args = {}

for arg in message:gmatch("[^%s]+") do
table.insert(args, arg:lower())
end

if not hasLost and not hasSkiped and not hasQuit and args[1] ~= nil then
if args[1]==word and playerName ~= master and not hasWon then
local score = 0

for _,letter in pairs(letters) do
if letter=="_" then score = score + 1 end
end

tfm.exec.setPlayerScore(playerName, score, true)

local i = 1

while i <= word:len() do
if letters~="_" then
invertLetters = letters
letters = "_"
end

i = i + 1
end

drawWord()
hasWon = true
reset()
end

if args[1]=="skip" and playerName==master and not hasWon and not hasLost and not isTimeOut then
hasSkiped = true
reset()
end

if args[1]:len()==1 and hasDefinedWord and args[1]~= "_" and args[1]~="-" and args[1]~="'" and playerName ~= master then
local isEntered = false

for _,letter in pairs(lettersEntered) do
if letter==args[1] then
isEntered = true
end
end

if not isEntered then
local score = 0
local idsToRemove = {}
local isFalse = true

table.insert(lettersEntered, args[1])

for id,letter in pairs(letters) do
if letter==args[1] then
table.insert(idsToRemove, id)
isFalse = false
end
end

for _,idToRemove in pairs(idsToRemove) do
invertLetters[idToRemove] = letters[idToRemove]
letters[idToRemove] = "_"
end

score = #idsToRemove

if isFalse then
if tfm.get.room.playerList[playerName].score > 0 then score = -1 end
pendu_level = pendu_level + 1
end

tfm.exec.setPlayerScore(playerName, score, true)

drawWord()
drawPendu()
end
end
end
end

function eventTextAreaCallback(textAreaId, playerName, callback)
if callback=="callbackAskWord" then
ui.addPopup(id["ask_word_popup"], 2, text.choose_word, master, 300, 175, 200)
end
end

function eventPopupAnswer(popupId, playerName, answer)
if popupId==id["ask_word_popup"] and not isTimeOut and master==playerName then
local choosedWord = tostring(answer)

if checkWord(choosedWord) then
defineWord(choosedWord)
hasDefinedWord = true

askWord()

ui.removeTextArea(id["turn"])
ui.removeTextArea(id["turn_label"])
end
end
end

function askWord()
ui.removeTextArea(id["reset_timer"])
ui.removeTextArea(id["reset_timer_label"])
ui.removeTextArea(id["ask_word_main"])
ui.removeTextArea(id["ask_word_button"])

if not hasDefinedWord then
ui.addTextArea(id["ask_word_main"], "", master, 5, 110, 790, 35, 0xC0C0C0, 0x595959, 1f)
ui.addTextArea(id["ask_word_button"], "<p align='center'><a href='event:callbackAskWord'>"..text.ask_word.."</a></p>", master, 300, 120, 190, 16, 0x595959, 0x595959, 1f)

for p,_ in pairs(tfm.get.room.playerList) do
if p~=master then
ui.addTextArea(id["turn"], "", p, 5, 110, 790, 25, 0xC0C0C0, 0x595959, 1f)
ui.addTextArea(id["turn_label"], "<p align='center'><font color='#000000'>"..text.turn_of_1.."</font><BL>"..master.."<font color='#000000'>"..text.turn_of_2..text.patientez.."</font></p>", p, 25, 115, 750, 30, 0xC0C0C0, 0xC0C0C0, 0f)
end
end
end
end

function defineWord(new_word)
word = string.lower(string.gsub(new_word, " ", "-"))

letters = {}

local i = 36

while i < 50 do
ui.removeTextArea(i)
i = i + 1
end

for letter in new_word:gmatch"." do
if letter==" " or letter=="-" then
table.insert(invertLetters, "-")
table.insert(letters, "_")
elseif letter=="'" then
table.insert(invertLetters, "'")
table.insert(letters, "_")
else
table.insert(letters, letter:lower())
table.insert(invertLetters, "_")
end
end

drawWord()
drawPendu()
end

function drawWord()
local textId = 36
local i = 1
local ancreX = 40

if #word==0 then
local i = 36

while i < 50 do
ui.removeTextArea(i)
i = i + 1
end
else
while i <= word:len() do
ui.addTextArea(textId, "<p align='center'><font size='40' color='#000000'>"..invertLetters:upper().."</font></p>", nil, ancreX, 150, 40, 60, 0xC0C0C0, 0xC0C0C0, 1f)
ancreX = ancreX + 60
textId = textId + 1
i = i + 1
end

local finished = true
local j = 1

while j <= word:len() do
if invertLetters[j]=="_" then finished = false end
j = j + 1
end

if finished then
hasWon = true
reset()
end
end
end

function drawPendu()
local pendu = ""

if pendu_level==1 then
pendu = pendu.."<br /><br /><br /><br /><br /><br /><br /><br /><br /> _________"

elseif pendu_level==2 then
pendu = pendu.."<br />"
pendu = pendu.." |<br />"
pendu = pendu.." |<br />"
pendu = pendu.." |<br />"
pendu = pendu.." |<br />"
pendu = pendu.." |<br />"
pendu = pendu.." |<br />"
pendu = pendu.." |<br />"
pendu = pendu.." |<br />"
pendu = pendu.." ____|____"

elseif pendu_level==3 then
pendu = pendu.." __________.__<br />"
pendu = pendu.." |<br />"
pendu = pendu.." |<br />"
pendu = pendu.." |<br />"
pendu = pendu.." |<br />"
pendu = pendu.." |<br />"
pendu = pendu.." |<br />"
pendu = pendu.." |<br />"
pendu = pendu.." |<br />"
pendu = pendu.." ____|____"

elseif pendu_level==4 then
pendu = pendu.." __________.__<br />"
pendu = pendu.." | /<br />"
pendu = pendu.." |/<br />"
pendu = pendu.." |<br />"
pendu = pendu.." |<br />"
pendu = pendu.." |<br />"
pendu = pendu.." |<br />"
pendu = pendu.." |<br />"
pendu = pendu.." |<br />"
pendu = pendu.." ____|____"

elseif pendu_level==5 then
pendu = pendu.." __________.__<br />"
pendu = pendu.." | / |<br />"
pendu = pendu.." |/<br />"
pendu = pendu.." |<br />"
pendu = pendu.." |<br />"
pendu = pendu.." |<br />"
pendu = pendu.." |<br />"
pendu = pendu.." |<br />"
pendu = pendu.." |<br />"
pendu = pendu.." ____|____"

elseif pendu_level==6 then
pendu = pendu.." __________.__<br />"
pendu = pendu.." | / |<br />"
pendu = pendu.." |/ O<br />"
pendu = pendu.." |<br />"
pendu = pendu.." |<br />"
pendu = pendu.." |<br />"
pendu = pendu.." |<br />"
pendu = pendu.." |<br />"
pendu = pendu.." |<br />"
pendu = pendu.." ____|____"

elseif pendu_level==7 then
pendu = pendu.." __________.__<br />"
pendu = pendu.." | / |<br />"
pendu = pendu.." |/ O<br />"
pendu = pendu.." | /|<br />"
pendu = pendu.." |<br />"
pendu = pendu.." |<br />"
pendu = pendu.." |<br />"
pendu = pendu.." |<br />"
pendu = pendu.." |<br />"
pendu = pendu.." ____|____"

elseif pendu_level==8 then
pendu = pendu.." __________.__<br />"
pendu = pendu.." | / |<br />"
pendu = pendu.." |/ O<br />"
pendu = pendu.." | /|\<br />"
pendu = pendu.." |<br />"
pendu = pendu.." |<br />"
pendu = pendu.." |<br />"
pendu = pendu.." |<br />"
pendu = pendu.." |<br />"
pendu = pendu.." ____|____"

elseif pendu_level==9 then
pendu = pendu.." __________.__<br />"
pendu = pendu.." | / |<br />"
pendu = pendu.." |/ O<br />"
pendu = pendu.." | /|\\<br />"
pendu = pendu.." | |<br />"
pendu = pendu.." |<br />"
pendu = pendu.." |<br />"
pendu = pendu.." |<br />"
pendu = pendu.." |<br />"
pendu = pendu.." ____|____"

elseif pendu_level==10 then
pendu = pendu.." __________.__<br />"
pendu = pendu.." | / |<br />"
pendu = pendu.." |/ O<br />"
pendu = pendu.." | /|\\<br />"
pendu = pendu.." | |<br />"
pendu = pendu.." | /<br />"
pendu = pendu.." |<br />"
pendu = pendu.." |<br />"
pendu = pendu.." |<br />"
pendu = pendu.." ____|____"

elseif pendu_level==11 then
pendu = pendu.." __________.__<br />"
pendu = pendu.." | / | <br />"
pendu = pendu.." |/ O <br />"
pendu = pendu.." | /|\\ <br />"
pendu = pendu.." | | <br />"
pendu = pendu.." | / \\ <br />"
pendu = pendu.." | <br />"
pendu = pendu.." | <br />"
pendu = pendu.." | <br />"
pendu = pendu.." ____|____"

hasLost = true
reset()
end

ui.addTextArea(id["pendu"], pendu, nil, 323, 235, 135, 138, 0x010101, 0xFFFFFF, 0.5f)
end

function reset()
beginReset = true

if hasToReset then
if getNbPlayers() < 2 then
tfm.exec.newGame("@4488917")
else
letters = {}
invertLetters = {}
word = ""
hasDefinedWord = false
pendu_level = 0
beginReset = false
hasToReset = false
resetTimer = 0
lettersEntered = {}

drawWord()
drawPendu()

local randX = math.random(799)
tfm.exec.movePlayer(master, randX, 385, false, 0, 0, false)

local oldMaster = master

if getNbPlayers()~=1 then
if bestPlayer==oldMaster then
while master==oldMaster do
master = randomPlayer()
end
else
master = bestPlayer
end
else
master = bestPlayer
end

randX = math.random(799)

tfm.exec.movePlayer(master, randX, 90, false, 0, 0, false)
tfm.exec.setPlayerScore(master, 0, false)

timer = 0

askWord()
end
end
end

function removeAll()
ui.removeTextArea(id["ask_word_main"])
ui.removeTextArea(id["ask_word_button"])
ui.removeTextArea(id["ask_word_popup"])
ui.removeTextArea(id["pendu"])
ui.removeTextArea(id["reset_timer"])
ui.removeTextArea(id["reset_timer_label"])
ui.removeTextArea(id["turn"])
ui.removeTextArea(id["turn_label"])
ui.removeTextArea(id["one_player"])
ui.removeTextArea(id["one_player_label"])
end

function checkWord(word_arg)
if word_arg:len() >= 2 and word_arg:len() <= 12 then
for _,c in pairs(chars) do
if string.match(word_arg, c) then
return false
end
end

return true
else
return false
end
end

function checkBestPlayer()
topScore = 0
bestPlayer = randomPlayer()

for name,player in pairs(tfm.get.room.playerList) do
if player.score >= topScore then
topScore = player.score
bestPlayer = name
end
end
end

function getNbPlayers()
return #players
end

function updatePlayersList()
players = {}

for p,_ in pairs(tfm.get.room.playerList) do
table.insert(players, p)
end
end

function randomPlayer()
return players[math.random(1,#players)]
end

for name,player in pairs(tfm.get.room.playerList) do
tfm.exec.setPlayerScore(name, 0, false)
end

updatePlayersList()
bestPlayer = randomPlayer()
tfm.exec.newGame("@4488917")


Then go to your tribe house, type in /lua in your chat, paste the code in the window that pops up and then click on submit.
Genovandfast
« Citoyen »
1431100680000
    • Genovandfast#0000
    • Profil
    • Derniers messages
#58
  0
We tried it on our tribe but it didnt work should we try it on utility or something else ?
Sorrelle
« Citoyen »
1449991860000
    • Sorrelle#0000
    • Profil
    • Derniers messages
    • Tribu
#59
  0
i wuv this minigame <3
Mmmmmmmmmmmmmmm
« Citoyen »
1450123080000
    • Mmmmmmmmmmmmmmm#4582
    • Profil
    • Derniers messages
    • Tribu
#60
  0
every time iam entering a word, everything just resets, like /module stop
  • Forums
  • /
  • Transformice
  • /
  • Modules
  • /
  • [Minigame] Hangman
« ‹ 3 / 4 › »
© Atelier801 2018

Equipe Conditions Générales d'Utilisation Politique de Confidentialité Contact

Version 1.27