Roblox Studio, touch event nur für den Spieler ausführen?

1 Antwort

Vom Beitragsersteller als hilfreich ausgezeichnet

Hallo,

damit der Part und dem entsprechend seine Farbe nur für den Spieler sichtbar ist, musst Du den Part erst local Speichern, z.B in dem Ordner ReplicatedStorage und nennst ihn z.B. in Stein um.

Der Stein wird dann in Roblox-Studio selbst nicht mehr sichtbar sein!

Dann erstellt Du ein LocalScript in dem Order StarterPlayer/StarterCaharacterScripts ein

und gibst folgenden Code ein:

local stein = game.ReplicatedStorage:WaitForChild("Stein")
if not workspace.CurrentCamera:FindFirstChild("Stein") then
   local steinModel = stein:Clone()
   steinModel.Parent = workspace.CurrentCamera
end

Dieser Kopiert, falls noch nicht vorhanden, den Stein in die Spieler-Kamera und veränderungen an diesem sind dann nur noch für den Spieler der das Touch-Event ausgelöst hat sichtbar.

In dieses Script fügst Du auch deine Touchroutine ein


oONeoBerlinOo 
Beitragsersteller
 16.09.2023, 22:40

Hallo Visionary66,

herzlichen Dank!

Vorweg - ich bin blutiger Script-Anfänger, nicht Roblox Studio, aber scripten...

Mit deinem Code und deiner Beschreibung hast du mich regelrecht nach vorn geboostet.

Ich habe eine Weile gebraucht, aber echt viel gelernt!

Es läuft!

ich habe verstanden:

  • wo spielerindividuelle Inhalte hingehören
  • deren Scripte hinmüssen
  • und ich aus diesen neuen Positionen heraus diese Inhalte ansteuere

Vielen Dank!

Jetzt nochmal so doof gefragt:

Wenn dadurch so viele Inhalte von der Stuido Map verschwinden - wie macht ihr das?

Ich meine, ich erstelle sie, scripte und will testen - aber wenn ich weiter mappe, sehe ich die ja nicht mehr im Studio?

Gibt es da vielleicht eine Methode?

Ich versuche mich grad einsteigermäßig an einem Obby, wo jeder Spieler für sich Objekte berühren muss, um weiter zu kommen ...

...aber wenn ich das jetzt mal so gedanklich durchspinne, dann ist meine Map im Stuido ja regelrecht leer...

Gibt es da evtl einen Weg, wie man beides haben kann?

Sichtbar im Studio und im Storage?

Aber bis hier hin - der Hammer, du hast mir sehr geholfen :)

Danke!

1
oONeoBerlinOo 
Beitragsersteller
 16.09.2023, 22:44
@oONeoBerlinOo

EDIT: Ehm, kann ich hier iwo einstellen, dass meine ursprüngliche Frage gelöst werden konnte? finde nix dazu.

0
Visionary66  17.09.2023, 03:22
@oONeoBerlinOo

Also ich erstelle zuerst einen Ordner im Workspace und lege alle Parts dort rein was mit der einen Stage, und nicht Local sein muss, zu tun hat. Nennen wir ihn einfach mal Stage1. Dann erstelle ich in diesem Ordner einen Unterordener und nennen ihn mal LocalStage1. Dort lege ich alles rein was nachher local sein soll. In diesem erstelle ein "normales" Script und teste ob alles so funktioniert wie es soll.

Als Beispiel beginnt das Script dann so:

local folder = script.Parent

local stone= folder.Stone

local door= folder.Door

local color= folder.Colors.Color

Wenn alles funktioniert wie es soll, ziehe ich dann den LocalStage1-Ordner nach ReplicatedStorage.

Dann erstelle ich mein LocalScript in StarterCharacterScripts und kopiere alles was in dem normalen Script steht dort hinein. Da braucht man nur noch die Zeilen für das kopieren des Ordners hinzuzufügen und die Variable für den Speicherort anzupassen.

Von dem Beispiel von oben so etwa:

local stage1 = game.ReplicatedStorage:WaitForChild("LocalStage1")

local clientModel = stage1:Clone()

clientModel.Parent = workspace.CurrentCamera

local folder = workspace.CurrentCamera:FindFirstChild('LocalStage1')

--local folder = script.Parent

local stone= folder.stone

local door= folder.Door

local color= folder.Colors.Color

Sollte man die lokalen Teile doch nochmal sehen wollen/müssen, hat man diesen Ordner schnell hin und her verschoben.

Ich will nicht ausschliessen, daß es vielleicht auch bessere möglichkeiten gibt oder ob es beide möglichkeiten gibt das sichtbar zu machen, aber ich bin so eigentlich immer gut klar gekommen.

0