Hello!
I never coded in Lua before but I still want to develop a Tower Defense type of game with the help of tutorials (GnomeCode)
In my game, you can open a GUI to create a party. Once created, you have to select a map by clicking the appropriate button with the map's name, this is where my problem appears.
I created an IntVariable inside ReplicatedStorage storing the placeId of the selected map. Once you clicked on the desired map button, the value of my IntVariable should change into the placeId of the map.
Here's the code:
local ReplicatedStorage = game:GetService("ReplicatedStorage") local value = game.ReplicatedStorage.lol
script.Parent.MouseButton1Click:Connect(function() value.value = 8833962147 end)
lol is the name of my IntVariable
Once selected, the "placeId" inside my party system script should take the value of lol.
The code from the party system script:
local tps = game:GetService("TeleportService") local ReplicatedStorage = game:GetService("ReplicatedStorage") local placeId = game.ReplicatedStorage.lol.Value
then TeleportAsync should teleport to "placeId":
tps:TeleportAsync(placeId, playersToTP, tpOptions)
but in the end It says " Invalid placeId"
Could anyone help me out on this?
~ Jupitrion
this is the code you shud be using, you can put the place ID here and change the enum.membership type to none. if you want premium and nonpremium members to join, make a copy of this code, one copy should say Enum.Membership type premium and one should say none.
local MarketplaceService = game:GetService("MarketplaceService") local TeleportService = game:GetService("TeleportService") local Players = game:GetService("Players")
local teleporter = script.Parent local showPrompt = true
local placeID_Premium = -- Insert place ID here; can be found in web address bar on the game's page
local function onTeleporterTouch(otherPart)
local player = Players:GetPlayerFromCharacter(otherPart.Parent) if not player then return end -- If the user already has Premium, teleport them to the Premium-only place if player.MembershipType == Enum.MembershipType.Premium then TeleportService:Teleport(placeID_Premium, player) -- Else, prompt Premium upgrade (use debounce to show it only once every few seconds) else if showPrompt == false then return end showPrompt = false delay(5, function() showPrompt = true end) MarketplaceService:PromptPremiumPurchase(player) warn("Prompted Premium purchase") end
end teleporter.Touched:Connect(onTeleporterTouch)
-- If needed, use this event to know when the Premium modal is closed MarketplaceService.PromptPremiumPurchaseFinished:Connect(function(player) warn("Upsell modal closed") end)
-- Handle potential Premium purchase from outside the game while user is playing Players.PlayerMembershipChanged:Connect(function(player) warn("Player membership changed; new membership is " .. tostring(player.MembershipType)) if player.MembershipType == Enum.MembershipType.Premium then -- Teleport player to the Premium-only place TeleportService:Teleport(placeID_Premium, player) end end)
hope this helped!! if any more questions please message me and follow me on roblox