Wie kann ich ein Skript dazu bringen, eine Shop-GUI aufzurufen, wenn ein Stein berührt wird?Ich brauche ein Skript, das in Roblox ein Gui auf Knopfdruck bringt?
Und wie soll ich das "kaufen" Zeug in der Shop-GUI machen?
Wie kann ich ein Skript dazu bringen, eine Shop-GUI aufzurufen, wenn ein Stein berührt wird?Ich brauche ein Skript, das in Roblox ein Gui auf Knopfdruck bringt?
Und wie soll ich das "kaufen" Zeug in der Shop-GUI machen?
Erstellen Sie ein Skript, das das "Touched" -Ereignis eines Bausteins mit einer Funktion verbindet, die die "getPlayerFromCharacter" -Methode von game.Players verwendet, um den Player zu finden, und dann die GUI in das "PlayerGui" des Players einfügt. Zum Beispiel:
function newGUI()
--enter something that makes a shop GUI then at the end returns the 'ScreenGui' it's in.
end
script.Parent.Touched:connect(function(hit)
local player = game.Players:getPlayerFromCharacter(hit.Parent);
if player ~= nil then
newGUI().Parent = player.PlayerGui;
end
end)
werden Sie brauchen werden, um zu machen, dass Shop-Schnittstelle selbst, aber ich gebe Ihnen die „GUI Giver“ Skript.
Hinweis: Sie müssen das Skript Inside der Brick/Part.
local Gui = game.Lighting.GUI --Replace this with the location of your GUI
function GiveGui(Player)
if Player.PlayerGui:FindFirstChild(Gui.Name)~=nil then return end
Gui:Clone().Parent=Player.PlayerGui
end
script.Parent.Touched:connect(function(hit)
local Player=game.Players:GetPlayerFromCharacter(hit.Parent)
if Player==nil then return end
GiveGui(Player)
end)
Der folgende Code kann der Spieler den Laden gui geben verwendet werden:
local ShopGui = game.Lighting.ShopGui -- This should be the location of your gui
local ShopPart = workspace.ShopPart -- This should be the shop part
ShopPart.Touched:connect(function(hit)
if hit.Parent == nil then return end
if hit.Name ~= "Torso" then return end
local Player = game.Players:playerFromCharacter(hit.Parent)
if Player == nil then return end
if _G[Player] == nil then _G[Player] = {} end
if _G[Player].ShopGui == nil then
_G[Player].ShopGui = ShopGui:Clone()
_G[Player].ShopGui.Parent = Player.PlayerGui
end
end)
ShopPart.TouchEnded:connect(function(hit)
if hit.Parent == nil then return end
local Player = game.Players:playerFromCharacter(hit.Parent)
if Player == nil then return end
if _G[Player] == nil then return end
if _G[Player].ShopGui ~= nil then
_G[Player].ShopGui:Destroy()
_G[Player].ShopGui = nil
end
end)
Beachten Sie, dass „ShopPart“ sollte ein großer Teil sein, der die ganze Shop-Bereich (vorzugsweise unsichtbar)
deckenDann müssen Sie auch ein Geschäft gui bauen.
Im Shop gui sollten Sie TextButtons (oder Bild-Tasten), dass jeder das folgende Skript enthält:
local Cost = 100
local ThingToBuy = game.Lighting.Weapon -- Make sure this is right
script.Parent.MouseButton1Down:connect(function()
local Player = script.Parent.Parent.Parent.Parent -- Make sure this is correct
if Player.leaderstats["money"].Value >= Cost then -- Change "money" to anything you want (it must be in the leaderstats tho)
Player.leaderstats["money"].Value = Player.leaderstats["money"].Value - Cost
ThingToBuy:Clone().Parent = Player.Backpack
-- GuiToBuy:Clone().Parent = Player.PlayerGui
end
end)
Der Code ist nicht getestet, so dass es Fehler enthalten könnten. Und Sie müssen möglicherweise mehr Sachen als erwähnt ändern. Aber es sollte Ihnen eine Idee geben, wie man den Shop gui =)
Wir sind nicht hier, um Ihren Code für Sie zu schreiben. Vielleicht, wenn Sie die Frage auf einen bestimmten Bereich beschränken, mit dem Sie Probleme haben, könnte jemand auf eine Lösung hinweisen. –