Currently I am working on an unoriginal game with my friend, since we wanted to play around studio because we’re both beginners.
The game is basically about guessing the character, so we’ve took a free model of the door we wanted to use for the game. It was already scripted, I could understand part if the script but not fully comprehend.
It only allows one answer, so does anyone know how to add multiple answers? Our objective is to make the game suitable for anyone, that’s why we want to include other languages besides from english.
We’d be grateful if there was any kind of help !
In the image below, there’s only one answer (value inside StringValue) for Donald Duck, but we wanted to add more values in.
You can use some if statements to check if the msg equals your answers.
local Door = script.Parent -- The door
local function openDoor() -- The function that opens and closes the door
Door.CanCollide = false
Door.Transparency = 0.7
wait(4)
Door.CanCollide = true
Door.Transparency = 0
end
game.Players.PlayerAdded:Connect(function(player) -- Event that fires when a player joins
player.Chatted:Connect(function(msg, recipient) -- Event that fires when a player sends a message to the chat
if msg == script.Parent.TheCharacter.Value then -- The If statement that checks if the message that has been sent equals to the value inside the TheCharacter StringValue Instance
openDoor() -- Calls the function that opens the door
end
end)
end)
You can add more if statements for more values if you’d like to.
Or you can use a table that has all the values and a for loop that loops through that table to check if the message equals a value inside that table.
the code works but its outdate inside what you want to do
i make a little code for that
local characterFolder = nil -- change the it for da location of your folder (the parts requires be named by numbers)
local characterInfoData = {
[1] = {"a","b","c"}, -- the multiple answers
[2] = {"sus","j"}
}
local localplayer = game.Players.LocalPlayer
local mycurrentquestion = 0;
function update()
for i,v in pairs(characterFolder:GetChildren()) do
if v:IsA("BasePart") then
local boolean = (tonumber(v.Name) < mycurrentquestion)
local t = table.find({false,true},boolean)-1
local transparency = 0 + (0.7*t)
v.CanCollide = boolean;
v.Transparency = transparency;
end
end
end
function checkchatted(message, recipient)
local found = table.find(characterInfoData[mycurrentquestion],string.lower(message))
if found then
mycurrentquestion += 1 --goes to the next point
update()
end
end
update()
localplayer.Chatted:Connect(checkchatted)
--NOTE: you need insert it on PlayerGui