Desarrollo de un minimapa en tiempo real

scripting

#1

bueno, resulta que logré hacer un minimapa que se actualiza todo el tiempo con el RunService, y ahora estoy pegado con la idea de sacar una region cerca del jugador local que detecte lo que está en esa area con el “.touched”, y luego lo clone a la carpeta que se manda al viewport.

más o menos se ve así por el momento, y causa bastante lag, como expliqué agregare el renderizado por cercania solamente y también un boton de prendido y apagado y uno para actualizar el mapa manualmente.

dejaré el codigo de la primera versión acá para quien le interese, creo que puede escribirse más simple y mejor, muchas veces saco la vuelta cuando scripteo. si pueden hacerlo de una forma más limpia no duden en escribir el codigo en los comentarios para que los demás puedan seguir aprendiendo!

local viewPort = script.Parent:WaitForChild("ViewportFrame")

local charPart = viewPort:WaitForChild("Character")

local camera = Instance.new("Camera", workspace)

camera.CameraType = "Scriptable"

local height = 200

local player = game.Players.LocalPlayer

player.CharacterAdded:Wait()

viewPort.CurrentCamera = camera

game:GetService("RunService").RenderStepped:Connect(function ()

local position = player.Character.HumanoidRootPart.Position

camera.CFrame = CFrame.new(Vector3.new(position.X,height,position.Z), position)

charPart.CFrame = player.Character.HumanoidRootPart.CFrame

if game.Workspace.Map.AutoLoad.Value == true then

viewPort.MiniMap:Destroy()

local newmap = game.Workspace.Map.MiniMap:Clone()

newmap.Parent = viewPort

end

end)

EDIT: Probe el mapa en tiempo real con CrossRoads, y resulta que rompe totalmente el juego cuando se cargan cosas grandes y en mucha cantidad, asi que se recomienda solo actualizar en tiempo real con objetos que se van a mover en algun punto o siempre estan en movimiento, no con escenario fijo.

¡nos vemos! :cowboy_hat_face::ok_hand::sparkles:


#2

Esta guay, Gracias!


#3

denada! lo voy a ir actualizando con el tiempo, asi que estate atento si actualizo la publicación ^^


#4

Sigue asi te quedo muy bien!


#5

ummm antes de todo ponle el script para que el lag disminuya y es interesante lo que haces me llama la atencion


#6

gracias!!


#7

Denada :stuck_out_tongue:


#8

para evitar el lag hice 2 carpetas en el modelo, una carpeta de mapa base, que solo se carga 1 vez (o cuando uno lo necesite) y uno que carga cada frame, esta es la carpeta original y decidí que la usare solo para objetos sin anchor, objetos que se mueven, entre otros.


#9

Felicidades por esto! te ha quedado muy bien :slight_smile: