Plum's minimap - Rotating map, bordersnapping blips and more!

I’ve added this now.
Use Minimap:SetOnePixel(number)
Hope you create some cool stuff!

For example I just created this zoom when you walk:

local minimap = require(script.Parent:WaitForChild("Minimap"))
local currentoneto = .75

wait(2)
game:GetService("RunService").RenderStepped:Connect(function()
	local char = game.Players.LocalPlayer.Character
	if char then
		local rootPart = char:WaitForChild("HumanoidRootPart")
		local vel = Vector3.new(rootPart.Velocity.X, 0,rootPart.Velocity.Z).Magnitude
		local oneto = math.clamp(vel/16, .75, 1.5)
		currentoneto = Vector2.new(currentoneto, 0):Lerp(Vector2.new(oneto, 0), .1).X
		minimap:SetOnePixel(currentoneto)
	end
end)
2 Likes

Thank you very much! This is useful when for example you go inside of a building!

1 Like

On an Android phone, the default minimap location at the bottom right of the screen conflicts with the Jump Button that Roblox supplies. I’d love to have the minimap close to the right side, as it is now, but centered vertically. Is there an easy fix for this?

You could check if the user is on a touch device using: UserInputService.TouchEnabled Then you could use the Minimap:Reposition() and so on.

So it would look something like this.

if UserInputService.TouchEnabled then
   Minimap:Reposition(UDim2.new(1,0,0,0), Vector2.new(1,0))
   --You could also make the minimap smaller and so on :)
end
1 Like

Oh my god, finally a minimap that is not simplified to use like how much time i’ve been spending all day to make a radar rotating smoothly and making arrow turning to what it’s supposed to be

if this doesn’t exists till this day i won’t be able to make it

I’m wondering how I could implement the following feature. I’d like to toggle the display of blips for other players. And this is a team game I will use it on, so I’d use tagging to show just the members of your own team/other teams/all players/etc. I don’t want this to just be set at the beginning because it will be a powerup that toggles it, or only enables it for a given amount of time. I hope that makes sense.

I have been able to show blips for NPCs that go away when the NPC is destroy()ed. But I’m not sure how to go about this new feature.

And thank you again for such a great tool. :slight_smile:

1 Like

Or like if you need to do a quest that it shows until you did the quest and then dissepears,

You need to use collection service on the client for this. Tag all the blips you want to display to this specific client.

for _, player in pairs(game:GetService("Players"):GetChildren()) do
  if player ~= localplayer then
     player.CharacterAdded:connect(function(character)
        if player.Team == localplayer.Team then
            collectionService:AddTag("TeamMember", character:WaitForChild("HumanoidRootPart")
        end
    end)

   player:GetPropertyChangedSignal("Team"):connect(function()
      if player.Character == nil then return end
      if player.Team == localplayer.Team then
         collectionService:AddTag("TeamMember", player.Character:WaitForChild("HumanoidRootPart")
     else
         collectionService:RemoveTag("TeamMember", player.Character:WaitForChild("HumanoidRootPart")
     end
   end
  end
end

I would do something like that :slight_smile: The code shown probably has some errors and bugs, because it’s not tested, and is only meant to show how you could do it :slight_smile:

1 Like

Again. I would create a part on the client, position it where I would want it, and then add it to a tag with CollectionService.

When swimming, the local player icon displayed in the center of a minimap rotates back and forth quite a bit as if it can’t track the direction of the player. Just something to look into, in my opinion.

When viewing a minimap on the phone there are two issues:

  1. The image is fuzzier than on the computer.
  2. Starting in portrait mode then rotating to landscape mode does not trigger a change to the minimap orientation.

Now how about that… say… is it possible to replicate the minimap onto a surface GUI?

I’ve published a fix for this. Hope it helps. The reason for the bug, is that the humanoid root part is moving, when the character is swimming…

1 Like

You would have to modify the current scripts for this. But in theory it would be possible.

I think it would be a bit laggy as we have to duplicate the viewport… But here’s an idea… If we use RunService and make a script fetch the viewportFrame and duplicate it, parent it to surfaceGui then in a short amount of time destroy it… it would work

Dont do that. Modify the scripts instead, to create a surface gui on a part.

2 Likes

When I parent the minimap to another frame, then the blip position wont work because of where its located, is there a way to fix that?

image
the spawnlocation is tagged

1 Like

I dont understand, why you would parent the minimap to another frame… You should use ZIndex instead, to get other things infront.

its a lot easier to fit the other UI together, this frame is in a UIListLayout that has the health bar and the minimap in it, along with other notification frames that will be affected by the minimap

parenting the minimap to another frame makes it easier to add comfort zones and ui aspect ratio

but isnt there a way to fix it? or i will have to find a workaround?

2 Likes

I’m using bordersnapping blips and they show up fine on my computer, but don’t show up at all on my Android phone.