2010-12-15 7 views
-3

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?

+3

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. –

Antwort

2

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) 
6

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) 
0

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)

decken

Dann 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 =)

Verwandte Themen