-
What do you want to achieve? I have a system where i tween the enemies to a waypoint
-
What is the issue? Enemies doesn’t move, instead they rotate?
-
What solutions have you tried so far? I don’t know how to fix this, my first time doing something like this
local script in starterplayerscripts:
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local TweenService = game:GetService("TweenService")
local Events = ReplicatedStorage:WaitForChild("Events")
local remoteEvents = Events:WaitForChild("Remotes")
local moveEnemyEvent = remoteEvents:WaitForChild("MoveEnemy")
moveEnemyEvent.OnClientEvent:Connect(function(enemy, enemyStats, map)
local speed = enemyStats["Speed"]
local waypoints = map.Waypoints:GetChildren()
local startTime = tick()
local serverTimeNow = workspace:GetServerTimeNow()
local timeOffset = (startTime - serverTimeNow)
local distanceOffset = (speed * timeOffset)
for i = 1, #waypoints do
local waypoint = waypoints[i]
local distance = (enemy.PrimaryPart.Position - waypoint.Position).Magnitude
local walkSpeed = distance / speed
local tweenInfo = TweenInfo.new(walkSpeed, Enum.EasingStyle.Linear)
local tweenGoal = {Position = waypoint.Position}
local tween = TweenService:Create(enemy.PrimaryPart, tweenInfo, tweenGoal)
tween:Play()
tween.Completed:Wait()
-- enemy.Config.MovingTo.Value = i
end
end)
enemy module in serverscriptservice inside of a server script:
function enemy.Move(enemy, map)
local enemyStats = require(enemyModuleAccess:FindFirstChild(enemy.Name))
moveEnemyEvent:FireAllClients(enemy, enemyStats, map)
end