-- Gets the player's info
local function getPlayerInfo(playerName)
-- TODO: replace this with a real function that fetches the player's info from the Roblox leaderboard API
end
-- Set up motor pins
local motorPins = {12, 13, 14} -- {1:Left Motor, 2:Right Motor, 3:Vertical Motor}
-- Set up speed for motors
local speed = 50 -- speed value between 0 and 100
-- Target player to follow
local targetPlayer = nil
-- Function to start targeting a player
function target(playerName)
targetPlayer = playerName
print("Now following " .. targetPlayer .. " in leaderboard roblox list.")
end
-- Function to stop targeting a player
function stopTargeting()
targetPlayer = nil
print("Stopped targetting the player in leaderboard roblox list.")
end
-- Set up the microphone
local microphone = GetMicrophoneFromPort(2)
-- Function to process microphone commands
function processMicrophoneCommand(command)
local detectedPlayerName = string.match(command, "target (.+) with a code block")
if detectedPlayerName then
target(detectedPlayerName)
end
end
-- Main loop
while true do
if targetPlayer then
local playerInfo = getPlayerInfo(targetPlayer)
if playerInfo then
local targetAngle = math.atan2(playerInfo.Y - 50, playerInfo.X - 50) * 180 / math.pi
gyro.targetRotationY(targetAngle)
else
print("Player not found in leaderboard roblox list.")
end
end
-- Check if the microphone is activated
if microphone.isActivated() then
-- Get the command from the microphone
local command = microphone.getCommand()
-- Process the command
processMicrophoneCommand(command)
end
wait(0.05)
-- Connect the "Chatted" event to the microphone
microphone.on("Chatted", function(player)
local command = player.Character.Head.SurfaceGui.TextBox.Text
processMicrophoneCommand(command)
end)