Can I ask, does it work with underground things too? For example an SCP game?
You could remove the roof of your game and map out your map that way
one way would be to have a cache of the formatted terrain data and load it in chunks perhaps I’ll write one soon! :ReadVoxels(Position,Region)
Made a script to add players as tags
Made something myself for this minimap since I didn’t find anything so might help some people idk I made a script so you can see players as tags on the map.
-
first step
add a local script inside of PlumsMinimap name it whatever you want and also add a normal script inside of serverscriptservice so like this
-
paste this inside the script that you just made in serverscriptservice
-->> Service
local CollectionService = game:GetService("CollectionService")
local Players = game:GetService("Players")
-->> Script
Players.PlayerAdded:Connect(function(player)
player.CharacterAdded:Connect(function(char)
if char.PrimaryPart then
CollectionService:AddTag(char.PrimaryPart, player.Name)
end
end)
end)
- paste this inside the local script that you just made inside of PlumsMinimap module
-->> Services
local Players = game:GetService("Players")
-->> Modules
local Settings = require(script.Parent.Settings)
-->> Variables
local Tag = {
tagName = nil; --This is the name of the tag you give the part in your workspace / ReplicatedStorage.
toolTip = nil; --This is the text you want to show up if you hover over the blip on the map. You can set it to "" to hide it.
iconID = 5254553771; --This is the image of your blip.
color = Color3.fromRGB(255,255,255); --The color showing on the background
size = UDim2.new(0, 20, 0, 20); --The size of the blip, when it shows on the map
snapToBorder = true; --If you want it to snap on the border.
rotate = true; --If you want the blip to rotate with its world orientation.
};
-->> Script
for _, player in pairs(Players:GetPlayers()) do
if player ~= Players.LocalPlayer then
local newTag = Tag
newTag.tagName = player.Name
newTag.toolTip = player.DisplayName.." @"..player.Name
table.insert(Settings["Tags"], newTag)
end
end
Players.PlayerAdded:Connect(function(player)
if player ~= Players.LocalPlayer then
local newTag = Tag
newTag.tagName = player.Name
newTag.toolTip = player.DisplayName.." @"..player.Name
table.insert(Settings["Tags"], newTag)
end
end)
Players.PlayerRemoving:Connect(function(player)
if player ~= Players.LocalPlayer then
local index = nil
for i, tag in pairs(Settings["Tags"]) do
if tag.tagName == player.Name then
index = i
break
end
end
if index then
table.remove(Settings["Tags"], index)
end
end
end)
and that should be it it should now work you can change the settings of the tag inside of the local script just don’t change the tagName cause then it will break everything and if you wanna change the toolTip delete line 23 and 32
I put this here since it didn’t take me long to make and some people with no experience in scripting might find this useful so here it is.
Wild, that is pretty nice. Will use this in my game for testing for sure, I feel my minimap gets too cluttered tho from all the points of interest… maybe I will disable some others.
found some issues with this btw so I am working on fixing this and will maybe then send an updated version here since it bugs for some reason when playing with more then 2 players and also when your the first player in a server it doesn’t work
Replace in Blip (Minimap.Internal.MinimapController.Blip) Line 96-97 with the following:
else
if TagInfo.team == false and self.state.Visible == false then
self.state.Visible = true
elseif TagInfo.team == true then
if plr.Team.Name == TagInfo.tagName then
self.state.Visible = true
else
self.state.Visible = false
end
elseif self.state.Visible == false then
self.state.Visible = true
end
end
Then with CollectionService, add Team Names to the HumanoidRootPart upon joining, then add all teams to the blips in Settings, make sure tagName is the exact same as the Team name and add a new boolean setting called “team” to all blips. Set it to true for all teams and to false for other blips.
This will display other team members but only if you are on the same team.
Also, if you don’t want your own player to display the blip, simply remove the tag locally
Welcome!
I wonder how you could make it fullscreen somehow like when u click on the minimap and its open up a big ui with the minimap in it and there an X button to close it ( my coding skill is trash so idk how to do it much)
If anyone does want the map itself to be draggable you can override the position of the player, to a position of your choice in MinimapController
For example:
local ROOTPART_POS = humanoidRootPart.CFrame.p
if Settings.Technical.overrideMapFocus then
if Settings.Technical.isMinimapExpanded then
ROOTPART_POS = Settings.Technical.overrideMapFocus
end
end
You can create this overrideMapFocus as a Vector3 which is where you want it to focus the map towards. Kind of like an invisible player, as that’s how it acts.
You need to create your own dragging functions to change this variable, my code to do this isn’t tested enough to recommend but you can use InputBegan/InputChanged to get the input position and change overrideMapFocus. You’ll need some good Lua knowledge to do this but hopefully it can be included with my contribution sent to OP. Once I finish and test my code for it I can send it here or you can message me and I can send over the prototype.
Hi, I’m new to scripting. Could you please share how you were able to make the map go fullscreen when clicking on the map or pressing a hotkey? also, where do you recommend adding the zoom script?
( I was wondering if you’d be willing to share the MapGUI as a .rblx file so I can learn from it?)
How do you make a Fullscreen Minimap when clicking on the map?
is there also a way to remove the player tag Background?
Is there a way to click a blip and it will make a UI visible?
Does anyone know why my blips arent rotating? they snap to borders but dont rotate?
edit: So the reason they weren’t rotating is I had 2 parts using the same tag, the parts had different names, Gas Station and Gas Station2, but using the same tagname “GasStation”
so I just copied the tag twice in settings named it 2 and put the tag to the 2nd gas station part and it all works now!
How can i modify the mapPosition and mapSize in the settings with a different local script through a key input? like default it would be on top right corner of screen and then when I press M Key it would center the map to the middle and increase its size? or would i have to do it through a reference of the map itself and modify it there within a local script? , Never mind found the related functions
im having this same issue, how did you fix this?
Script timeout: exhausted allowed execution time for the current resumption point