Anfänger Roblox und Lua: Beginn mit der Entwicklung von Spielen mit Roblox Studio | Kaupenjoe (Nico) | Skillshare

Playback Speed


1.0x


  • 0.5x
  • 0.75x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Anfänger Roblox und Lua: Beginn mit der Entwicklung von Spielen mit Roblox Studio

teacher avatar Kaupenjoe (Nico), CS Student, Nerd and Educator

Schau dir diesen Kurs und Tausende anderer Kurse an

Erhalte unbegrenzten Zugang zu allen Kursen
Lerne von Branchenführern, Ikonen und erfahrenen Experten
Wähle aus einer Vielzahl von Themen, wie Illustration, Design, Fotografie, Animation und mehr

Schau dir diesen Kurs und Tausende anderer Kurse an

Erhalte unbegrenzten Zugang zu allen Kursen
Lerne von Branchenführern, Ikonen und erfahrenen Experten
Wähle aus einer Vielzahl von Themen, wie Illustration, Design, Fotografie, Animation und mehr

Einheiten dieses Kurses

    • 1.

      Introduction to my Roblox Class

      0:45

    • 2.

      Overview of the Class

      1:12

    • 3.

      (Lua) Installing Roblox Studio

      3:10

    • 4.

      (Lua) Variable Types in Lua

      6:31

    • 5.

      (Lua) Output & Comments

      7:37

    • 6.

      (Lua) Math Operations

      10:54

    • 7.

      (Lua) Relational & Logical Operations

      11:15

    • 8.

      (Lua) If and Else Statements

      9:50

    • 9.

      (Lua) Local Variables

      4:07

    • 10.

      (Lua) String Operations

      7:47

    • 11.

      (Lua) Loops in Lua

      8:46

    • 12.

      (Lua) Functions in Lua

      4:50

    • 13.

      (Lua) Tables in Lua

      10:50

    • 14.

      (Lua) The Math Library in Lua

      8:11

    • 15.

      (Roblox) Roblox Studio Explained

      6:42

    • 16.

      (Roblox) Reference a Part

      7:00

    • 17.

      (Roblox) Types of Scripts

      7:25

    • 18.

      (Roblox) Properties Overview

      9:15

    • 19.

      (Roblox) Vector3 and Position

      7:31

    • 20.

      (Roblox) The Wait-Function

      2:54

    • 21.

      (Roblox) Basic Part Movement

      3:18

    • 22.

      (Roblox) The Touched Event

      7:43

    • 23.

      (Roblox) Creating Instances from Scripts

      6:29

    • 24.

      (Roblox) Click Detector

      6:22

    • 25.

      (Roblox) Applying Forces

      9:08

    • 26.

      (Roblox) Constraints

      8:14

    • 27.

      (Roblox) Spawn Points

      3:36

    • 28.

      (Roblox) Player vs Character

      3:12

    • 29.

      (Roblox) Saving Variables on Player

      5:21

    • 30.

      (Roblox) Leaderboard with Leaderstats

      10:01

    • 31.

      (Roblox) Collectable Parts

      15:27

    • 32.

      (Roblox) Adding Trails to the Player

      7:47

    • 33.

      (Roblox) Three Types of GUIs

      10:38

    • 34.

      (Roblox) API References

      3:13

    • 35.

      (Roblox) Introduction and how this Section is build

      1:04

    • 36.

      (Roblox) Modelling the Obby

      27:42

    • 37.

      (Roblox) Adding Checkpoints to the Obby

      5:47

    • 38.

      (Roblox) Adding a Leaderboard with Leaderstats

      9:34

    • 39.

      (Roblox) Adding Disappearing Stairs to the Obby

      11:33

    • 40.

      (Roblox) Adding Moving Parts to the Obby

      11:41

    • 41.

      (Roblox) Additional Ideas for the Obby

      2:31

    • 42.

      (Roblox) Publishing your Game

      6:45

    • 43.

      (Roblox) Add Pictures to your GUI

      4:46

    • 44.

      (Roblox) Storing Player Data with DataStoreService

      22:40

    • 45.

      (Roblox) Multiple Places in a Single Game

      2:38

    • 46.

      (Roblox) Teleport between different Places

      4:42

    • 47.

      (Roblox) Where to go from here

      1:27

  • --
  • Beginner level
  • Intermediate level
  • Advanced level
  • All levels

Community Generated

The level is determined by a majority opinion of students who have reviewed this class. The teacher's recommendation is shown until at least 5 student responses are collected.

2,663

Students

3

Projects

Über diesen Kurs

Wolltest du schon immer deine eigenen Spiele entwickeln, wusstest aber nicht, wo du anfangen sollst? Das ist genau der Kurs, den du dann brauchst! Aktualisiert für 2023

In diesem Beginner und Lua lernst du die Grundlagen der Lua sowie die Spielentwicklung mit Roblox Studio. Es sind keine Erfahrungen erforderlich, um die Besonderheiten der Erstellung von Spielen mit Roblox Studio zu lernen.

Dieser Kurs ist für komplette Anfänger zugänglich. Auch wenn du in deinem Leben noch nie programmiert hast. Grundkenntnisse in Roblox wären von Vorteil, aber nicht notwendig.

Zuerst lernst du Lua, dann gehen wir die grundlegenden Konzepte der Roblox durch und als Teil des Kurses wirst du sogar dein erstes Spiel erstellen!

Der gesamte Quellcode wird zur Verfügung gestellt, damit du alles mitverfolgen kannst, was ich in den Vorträgen mache.

Wenn du Fragen oder Anregungen hast, kannst du mich hier kontaktieren. Ich helfe dir gerne dabei, mit Roblox Spiele zu machen.

Meet Your Teacher

Teacher Profile Image

Kaupenjoe (Nico)

CS Student, Nerd and Educator

Teacher

I am Nico - also known as Kaupenjoe - I have a Master's Degree in Computer Science and teach Game Development through many different classes. Mid-2020, when I became a bit disillusioned with my job, I set my sights to something different. Multiple people have previously told me I was good at teaching things.

With some of my prior YouTube Video making knowledge I was able to make my first courses. The Minecraft Courses in particular made a huge impact on students and myself and allowed me to teach full-time with courses and other supplementary methods.

I hope you will also join me and allow me to help you learn Programming, Modding or Game Development. As a hobby, side-hustle or as a promising career, it is an amazing and fulfilling field and I'm so happy to have y... See full profile

Level: Beginner

Kursbewertung

Erwartungen erfüllt?
    Voll und ganz!
  • 0%
  • Ja
  • 0%
  • Teils teils
  • 0%
  • Eher nicht
  • 0%

Warum lohnt sich eine Mitgliedschaft bei Skillshare?

Nimm an prämierten Skillshare Original-Kursen teil

Jeder Kurs setzt sich aus kurzen Einheiten und praktischen Übungsprojekten zusammen

Mit deiner Mitgliedschaft unterstützt du die Kursleiter:innen auf Skillshare

Lerne von überall aus

Ob auf dem Weg zur Arbeit, zur Uni oder im Flieger - streame oder lade Kurse herunter mit der Skillshare-App und lerne, wo auch immer du möchtest.

Transkripte

1. Einführung in meinen Roblox: Hallo, ich bin Nico, auch bekannt als Calvin Draw und willkommen zu meinem Anfängerkurs für Roadblock Scripting hier auf Skillshare. In diesem Kurs lernst du deine ersten Schritte beim Entwickeln von Spielen mit Roblox. Auch absolute Anfänger sind hier willkommen, da in dieser Klasse eine Lua-Einführung enthalten ist. Nachdem Sie sich mit Lua vertraut gemacht haben, werden wir uns einige grundlegende Roblox-Konzepte wie Klickdetektoren, Positionswechsel und das Touched Event ansehen wie Klickdetektoren, Positionswechsel . Und natürlich viel, viel besser ausgestattet mit diesem Wissen. Anschließend werden Sie mit der Erstellung Ihres Projekts fortfahren. Dein erstes EIN Spiel, das ein RB sein wird. Sie können alles, was Sie gelernt haben und noch mehr, Ihrer Kreativität freien Lauf lassen. Am Ende wird es sogar einige zusätzliche Zwischenthemen geben einige zusätzliche Zwischenthemen , die auch für Romanovs Spieleentwicklung sehr nützlich sein werden . Worauf warten Sie noch, melden Sie sich jetzt für diesen Kurs an und beginnen Sie mit den ersten Schritten zur Entwicklung großartiger Spiele und Roblox. Wir sehen uns in der ersten Lektion. 2. Kursübersicht: In Ordnung, Willkommen bei den Roblox-Kernen für Anfänger. Und dies wird ein kurzer kleiner Überblick darüber sein , was Sie in diesem Kurs erwarten können. Zuallererst ist in diesem Kurs eine kurze Einführung enthalten, die sehr, sehr nützlich sein wird. Wenn Sie also noch nie in Lua gescripts geschrieben haben, ich nur empfehlen, dies durchzugehen. Das erspart Ihnen stundenlange Kopfschmerzen, da Sie keine richtigen Spiele und Roblox entwickeln können , wenn Sie nicht zumindest ein bisschen Schleife für Schleife wissen, werden wir über das Roblox Studio sprechen. Wir werden über das Referenzieren von Teilen sprechen, die verschiedenen Arten von Skripten. Wir werden uns einige Ereignisse und Funktionen ansehen oder Bewegung hinzufügen. Wir werden uns sogar ein bisschen mit Gewalt und Einschränkungen befassen ein bisschen mit Gewalt und , wenn sie über den Unterschied zwischen Spielern und Charakteren sprechen , wir werden eine Bestenliste erstellen, Teile zum Sammeln hinzufügen, dem Spieler eine Spur hinzufügen und noch ein paar Dinge mehr. Nachdem wir mit den Grundlagen fertig sind, werden wir ein benutzerdefiniertes Spiel machen , das ein OB sein wird, und das wird auch wirklich großartig sein. Nach dem RB habe ich auch einige Zwischenthemen, die wir behandeln werden, wie das Veröffentlichen des Spiels, Hinzufügen von GUI-Bildern, das Speichern der Daten mit einem Datenspeicherdienst und einige weitere Dinge, die im Laufe des Kurses ebenfalls sehr nützlich sein können . Zu jeder Vorlesung erhalten Sie eine RB-Excel-Datei. Sie haben also im Grunde nicht für jede einzelne Vorlesung einen Überblick über die Skripte erhalten jede einzelne Vorlesung , die wir geschrieben haben Roblox verfügt über einige ziemlich leistungsstarke Tools zum Erstellen. Ich hoffe also, dass du die Reise genießen wirst dein eigenes erstes Roblox-Spiel zu entwickeln. Wir sehen uns in der nächsten Vorlesung. Also, ja. 3. (Lua) Roblox Studio installieren: In Ordnung, willkommen zum Roblox-Kurs. Und in dieser ersten Vorlesung werden wir Roblox Studio auf Ihrem PC installieren. Wenn Sie den Roadblocks Player theoretisch installiert haben, sollte Roblox Studio ebenfalls installiert sein. Wenn dies jedoch nicht der Fall ist, können Sie zu roblox.com slash create navigieren und einfach auf Start create klicken. Es wird dann geprüft, ob Sie Roblox Studio installiert haben. Es sollte dann ein Pop-up haben, falls es nicht gestoppt wird, damit Sie es starten können. Und wenn Sie es nicht installiert haben, können Sie das Studio einfach herunterladen. Dies ist nur eine EXE-Datei, und wenn Sie starten, werden Roadblocks wie jedes andere Programm auf Ihrem PC installiert . Wenn du nicht angemeldet bist, liest du mit so etwas. Also gibst du einfach deinen Benutzernamen und dein Passwort ein und loggst dich ein, das Login und dann wird Roblox Studio gestartet. Wir werden das einfach maximieren. Und du siehst, in meinem Fall habe ich schon einige aktuelle Spiele, oder? Ich habe bereits einige Dateien, lokale Dateien und sogar Online-Dateien für Sie. Das ist wahrscheinlich leer unter meinen Spielen. Du solltest jedoch deinen Platz haben. Es gibt immer etwas , das existiert und unter neu kannst du ein neues Spiel starten. Lass uns ein neues Spiel erstellen. Lass uns die Grundplatte hier wählen. Und nachdem es geladen ist, können Sie sehen, dass es jetzt im Grunde einen neuen Ort erstellt hat. Es tauchen viele Dinge auf. Normalerweise schließe ich hier sowohl die Toolbox als auch den Terrain-Editor. Und ich mache auch das rechte und ein bisschen größer. Und ich gehe auch zu View und schalte die Ausgabe , weil das eigentlich ziemlich wichtig ist. Es ermöglicht uns, bestimmte Ergebnisse zu sehen, und das werden wir in Kürze in den nächsten Vorlesungen sehen. Eines fällt auf, dass Sie diese Datei mit einer kleinen Wolke hier haben . Und wenn ich Control S drücke, kannst du sehen, dass es mein Spiel speichern möchte, das aber vorerst in der Roblox Cloud speichern möchte. Ich schlage vor, das nicht zu tun. Was ich dir empfehle ist, dass du zu Datei gehst und entweder in Datei speichern oder Datei speichern, weil das macht es tatsächlich so, dass du eine RB Excel-Datei auf deiner lokalen Festplatte hast eine RB Excel-Datei auf , das ist eigentlich ein bisschen besser, besonders wenn du z.B. auf ein Problem stößt, du kannst einfach deine OB Excel-Datei teilen und dann kann ich sie mir ansehen, z.B. und du wirst auch Zugriff haben, als Sie können wahrscheinlich alle OBX-Dateien sehen, die in diesem Kurs generiert wurden . Jede Vorlesung hat also eine RB-EXE-Datei, in der alle Assets, alle Skripte, die wir schreiben, alles drin ist. Und du kannst im Grunde jeden Schnappschuss sehen. Moment habe ich das zwar auf der lokalen Festplatte gespeichert, ich habe immer noch die Cloud. Wir wollen nur diesen Ort schließen und sie werden die Datei aus der Datei öffnen. Und dann öffnen wir einfach die Datei, die wir gerade erstellt haben. Und Sie können jetzt sehen, dass dies absolut nur unsere lokale Datei ist. Und wenn wir Control S drücken und es wird tatsächlich wieder auf unserer Festplatte gespeichert , wirklich cool. In den kommenden Vorlesungen werden wir Ihnen zunächst eine kleine Einführung geben, um Sie mit der Programmiersprache Lua vertraut zu machen . Dafür benötigen wir eigentlich nur den Explorer und hauptsächlich den Server-Skriptdienst sowie den Play-Button. Wenn wir die Play-Taste drücken würden, kannst du sehen, dass unser Spielmodus plötzlich geladen wird und wir tatsächlich in dieses Spiel laden würden. Ich kann mich jetzt bewegen und springen. Das ist also im Grunde für dich da, um dein Spiel zu testen. Aber wie gesagt, all die Dinge, die mich umgeben, viele dieser Knöpfe werden in der Einführung auf das Klo nicht viele dieser Knöpfe werden in der Einführung auf das Klo nicht erwähnt. Zuallererst möchte ich nur, dass du ein sehr, sehr solides Fundament bekommst , Herr, das ist extrem wichtig. Und dann werden wir absolut tolle Dinge machen. Und das wird für diese Vorlesung hier sein. Ich hoffe, Sie fanden das nützlich und Sie werden etwas Neues lernen und wir sehen uns alle in der nächsten Vorlesung. Also, ja. 4. (Lua) Variable Typen in Lua: Ordnung, also lasst uns hier mit der Lula-Einführung für den Roblox-Kurs fortfahren . Und in dieser Vorlesung werden wir über Variablen sprechen. Variablen sind nun im Grunde Speicher für bestimmte Daten. Aber was bedeutet das alles? Richtig, wir haben uns hier ein bisschen von den Dingen in der Umgebung angesehen . Und jetzt werden wir reingehen und unser erstes Drehbuch erstellen und uns das dann ansehen. Wir werden diese hier im Server-Skriptdienst erstellen . Also wir klicken einfach auf das Plus und dann siehst du es schon häufig verwendetes Script. Wenn du etwas kreierst , willst du normalerweise diejenigen, die nicht ausgegraut sind Das ausgegraute Zeug ist im Grunde, ähm, normalerweise willst du diese Art von Teilen und Dingen sozusagen nicht innerhalb dieses Containers erstellen . Aber wir wollen ein Drehbuch erstellen, also machen wir das. Das Skript wird sofort geöffnet. Sie können die Kunst hier vergrößern, indem Sie die Strg-Taste gedrückt halten und dann einfach mit dem Mausrad nach oben scrollen. Sie verkleinern die Grafik, indem Sie nach unten scrollen. So können Sie hier also hineinzoomen. Das ist auch sehr wichtig. Noch ein Skript hier, ich werde es tatsächlich umbenennen. Es gibt mehrere Möglichkeiten, dies zu tun. Klicken Sie mit der rechten Maustaste und Sie können zu Umbenennen wechseln. Sie können auch einfach F2 drücken und dann werden Sie aufgefordert, dies umzubenennen. Oder du kannst gehen, wenn du die Eigenschaften hier unten hast, kannst du einfach hier zum Skript gehen und das dann einfach aufrufen. Wir werden das 01 Dash Variablen nennen. Denn das ist, naja, das ist sozusagen die erste Vorlesung, auf die wir uns wirklich einlassen. Und wir werden das Variablen nennen. Da hast du es. Nun, was hier sehr wichtig ist, ist, dass es dieses spezielle Ding bereits mit einem Aufdruck hier drüben ausfüllt . Wenn wir also nichts tun würden, lösche ich einfach, was ich zuvor hatte. Wenn wir nichts tun und einfach auf Play klicken, oder? Was Sie feststellen, ist, dass, naja, nichts passiert, weil wir im Moment unsere Konsole nicht haben. Wir müssen dies oder das tatsächlich aktivieren. Wir gehen zu View und wollen zur Ausgabe gehen. Das ist also unsere Ausgabe und Sie können jetzt helloworld von sehen, gesendet vom Server. Wir werden in diesem Skript mit einem Namen, oh, einer Bindestrichvariablen darüber sprechen diesem Skript mit einem Namen, oh, einer . Und von Zeile eins an, wenn wir zu dem Tab hier zurückkehren , wo wir unser Drehbuch haben, können wir sehen, dass dies Zeile eins ist, wunderschön. Jetzt können wir das beenden und fortfahren. Also werde ich meinen Kommentar hier noch einmal hinzufügen. Wir werden ein bisschen mehr über Kommentare und solche Dinge sprechen . Ich möchte das nur oben im spezifischen Skript haben, nur damit wir wissen , dass wir uns gerade im Null-Eins-Variablen-Skript befinden. Also der Druck, der dir egal ist. Also wählen wir es einfach aus und drücken Löschen, um es zu löschen. Und wir werden über Variablentypen sprechen. Nun zur allgemeinen Übersicht wollen wir Variablen, weil wir bestimmte Daten speichern wollen. Also wollen wir vielleicht eine Nummer speichern. Das könnte ein Highscore sein, Gesundheit das Reittier, irgendwas in der Art. Also werden wir einfach sagen, dass x gleich zehn ist. Und jetzt wird in diesem Fall jedes Mal, wenn ich von x spreche, dies für eine Zahl stehen. In diesem Fall steht dies für eine Ganzzahl. Eine Ganzzahl ist nur eine ganze Zahl, also wird es zwei oder fünf oder -27 sein. Das ist alles in Ordnung. Aber wenn wir etwa 20,8 wollen, obwohl das jetzt ein Float ist, mache ich das 20,8, das ist ein Float. Wenn wir das deklarieren, richtig, wenn wir Variablen erstellen, wollen wir im Grunde den Namen der Variablen sagen. In diesem Fall ist also x gleich. Dies ist der Zuweisungsoperator, was im Grunde bedeutet, dass wir diesen Wert dieser Variablen zuweisen . Wenn das alles sehr neu für Sie ist, machen Sie sich keine Sorgen. Während du damit arbeitest, wirst du in der Lage sein , mehr und mehr zu verstehen, was das alles vorerst bedeutet, du kannst im Grunde einfach darüber nachdenken, als ob x nur eine Art Platzhalter ist , den wir platziert haben. Und wenn der Code dann richtig läuft, wenn das Skript ausgeführt wird, dann sagen wir, okay, mit x meinen sie tatsächlich zehn. Während wir uns das in Zukunft etwas genauer ansehen. Ich werde das einfach ausdrucken damit du sehen kannst, ob wir einen Druck und dann eine Klammer haben einen Druck und dann eine Klammer und wir ein x hineinlegen, oder? Und dann die schließende Klammer, was wird das ausgeben, die Frage ist, dass X ausgegeben wird als würde der Buchstabe X eine Zehn ausgeben. Nun, spielen wir einfach und Sie werden sehen, dass es zehn ausgibt , weil wir den Wert ausgeben, der innerhalb der Variablen x liegt. Eine gute Metapher, die viele Leute verwenden, ist, dass Variablen im Grunde genommen nur Buckets sind und irgendeine Art von Daten enthalten. Es gibt einen speziellen Typ und der heißt Null. Dies ist eine spezielle Art von Wert, und dies steht im Grunde für das Fehlen eines Werts, in bestimmten Programmiersprachen auch Null genannt wird. In diesem Fall heißt es Null. Das bedeutet nicht , dass das Null ist. Das bedeutet, dass es nichts anderes als eine andere Art von Variablen ist, oder die Booleschen Werte. Nun können Boolesche Werte entweder wahr oder falsch sein, manchmal auch mit Eins oder Null dargestellt , aber sie werden so geschrieben. Das ist also ein boolescher Wert und sie können entweder wahr oder falsch sein . Wie sieht das jetzt aus? Nun, wir können z.B. sagen, dass es ein guter Kurs ist und wir würden natürlich hoffen, dass das auch stimmt. Und Sie können sehen, dass sich dadurch auch die Farbe ändert. Im Grunde sind dies bestimmte Schlüsselwörter oder bestimmte Variablentypen. Sie können hier im Grunde die Schriftfarbe ändern und dies sogar fett vermarkten. Wir können dann einen anderen booleschen Wert haben, z. B. ist geerdet. Das ist etwas , das einem Spiel etwas näher kommt. Und das könnte gleichbedeutend mit falsch sein. Und Sie können sehen, dass es uns manchmal auch Dinge vorschlägt. Während wir also tippen, richtig, was Sie sehen können, schlägt es bereits vor, Oh, das soll falsch sein und Sie können die Tabulatortaste drücken , um das automatisch zu vervollständigen. Schließlich haben wir auch Saiten. Jetzt werden wir in einer zukünftigen Vorlesung etwas ausführlicher darüber sprechen . Aber im Grunde sind Zeichenketten wie Wörter und sie sind immer von diesen Anführungszeichen umgeben. So können wir z.B. HelloWorld sagen. Und du siehst, das ist alles in Ordnung, obwohl ich hier ein Leerzeichen habe weil es von Anführungszeichen umgeben ist, können wir das gesamte Wort speichern. Sie könnten auf die Tatsache stoßen, dass ich vielleicht tatsächlich mehrere Zeilen möchte. wären viele Wörter, z. B. und so machst du das, indem du offene Klammern machst und du kannst sehen, dass die schließenden Klammern normalerweise automatisch generiert werden. Und dann kannst du hier einfach hallo, hallo student und dann ein Komma eingeben . Und dann könntest du sehen, ich kann das weiterschreiben. Ich schreibe, weil es Spaß macht , mehrere Zeilen zu grüßen. Du gehst, aber lass uns jetzt mehrere Zeilen geben. Und das ist die allgemeine Idee hier, oder? Um es hier am Ende zusammenzufassen, richtig, Variablen insgesamt, unsere Datenblöcke, die einige Daten enthalten, und diese können unterschiedliche Werte haben und können unterschiedliche Datentypen sein. Sie kann eine normale Zahl enthalten, die eine Ganzzahl ist. Sie kann Gleitkommazahlen enthalten , also Zahlen mit einem Dezimalpunkt. Es könnte auch nu sein, was das Fehlen eines Werts ist. Du kannst Boolesche Werte haben und du kannst auch Stärken haben , wo das für diese Vorlesung hier war. Ich hoffe, Sie fanden das nützlich und Sie werden etwas Neues lernen und wir sehen uns alle in der nächsten Vorlesung. Also ja. 5. (Lua) Ausgabe und Kommentare: Ordnung, lassen Sie uns die Lula-Einführung für den Roadblocks-Kurs hier fortsetzen . Und in dieser Vorlesung werden wir uns die Ausgabekommentare ansehen und ein bisschen damit, wie man Skripte liest Ausgabekommentare ansehen und ein bisschen damit, wie man Skripte liest, damit wir noch einmal beginnen Im Server-Skriptdienst klicken wir auf das kleine Plus hier, erstellen Sie ein neues Skript. Und wir werden das umbenennen , indem wir die Taste F2 drücken. Und wir werden das in O2 Dash Output Comments umbenennen . Wie wäre es mit dem? Da hast du es. Und dann schauen wir mal, was wir tun können. Nun, wir können diesen Druck tatsächlich behalten. Ich werde das einfach nach unten verschieben. Und hier oben werden wir unseren Kommentar erneut erstellen. Das werden also Ausgaben und Kommentare sein. Wunderschön. Da hast du es. Wir haben diesen Druck also schon einmal gesehen und er gibt hier unten in der Ausgabe etwas aus. Wenn Sie dies nicht noch einmal haben, können Sie zu Ansicht gehen und es hier aktivieren. Sie können also sehen, dass dies jetzt aktiviert ist, da es eine Art Schaltflächenhintergrund hat. Und wenn es nicht aktiviert ist, dann hat es das nicht. So aktivieren Sie das also im Grunde . Und da hast du es. Wenn wir das in einem Skript haben und auf Play klicken, dann sehen Sie das, was Sie unten in der Ausgabe sehen und Helloworld vom Server aus sehen. Wir werden das gleich erklären. Und dann gibt es drei Kommentare zur O2-Ausgabe. Also noch einmal, das liegt daran, dass dies in der dritten Zeile war. Lass uns damit aufhören und lass uns mit dem Drehbuch weitermachen. Aber das ist schon ziemlich cool. Und das letzte Mal haben wir über die Idee von Variablen gesprochen. Was ist, wenn wir eine Gesundheitsvariable haben und die gleich 1.000 ist? Auch hier siehst du wieder, dass du die Leerzeichen dazwischen nicht benötigst. Also sind Leerzeichen nur noch besonders wichtig wie statt Zahlen, denn jetzt sind die Zahlen zwischen bestimmten Operationen nicht mehr miteinander verbunden, du kannst tatsächlich so viele Leerzeichen setzen, wie du möchtest. Normalerweise empfehle ich es nicht. Entweder ein Leerzeichen oder Null Leerzeichen sind im Grunde die bevorzugte Methode, um dies lesbar zu machen. Aber ja, Sie können so viele Leerzeichen einfügen, wie Sie möchten. Und jetzt, anstatt HelloWorld auszugeben, können wir sagen, dass das okay ist, was die Gesundheit des Spielers angeht, da ist Gesundheit. Und dann stellt sich die Frage, okay, wie machen wir, wie können wir dann diese Tausend ausgeben? Natürlich könnten wir sagen, naja, es sind 1.000, das ist großartig. Aber wenn wir das jetzt auf 500 ändern , weil wir vielleicht getroffen wurden oder so, wird hier immer noch 1.000 stehen. Das funktioniert also nicht ganz so, wie wir es uns wünschen würden , wenn wir es bei 1.000 belassen. Und wir sagen eigentlich, nun, Gesundheit, oder? Und dann ist es so, nun, offensichtlich wird es diese Variable hier nehmen. Nun, schauen wir einfach, was passiert. In der Tat tut es das nicht. Es heißt nur, dass die Gesundheit des Spielers Gesundheit ist, was wir hier natürlich nicht ganz im Sinn hatten. Was wir ausgeben wollen, ist der Wert dieser Variablen und nicht der Name. Nun, wenn es in einer Schnur ist. Also wir haben schon einmal darüber gesprochen, innerhalb der Anführungszeichen, dann wird das einfach als normales Wort gelesen. Es ist kein Schlüsselwort und es ist nicht rot als Variable. Aber wir können die Variablen tatsächlich verwenden. Das funktioniert. Es gibt zwei Möglichkeiten , wie wir das tun können. Wir können entweder hier eine Kolumne schreiben. Das ist in diesem Fall also spezifisch für die Druckfunktion. Also nach der ersten Zeichenfolge, richtig, können wir ein Komma machen und dann können wir Gesundheit sagen. Sie können sehen, dass es uns das tatsächlich vorgeschlagen hat. Und dann drücken Sie einfach die Tabulatortaste, um die automatische Vervollständigung durchzuführen. Dann geben wir ein weiteres Komma ein, und alles, was danach kommt , wird ebenfalls angezeigt. Wir können also beispielsweise HP sagen, und was jetzt ausgegeben wird, ist die Gesundheit des Spielers, und dann wird das Reittier hier in der Gesundheitsvariablen gespeichert und dann direkt danach HP. Also lass uns einfach spielen und sehen, was es ausgibt. Und Sie können sehen, dass die Gesundheit des Spielers 1.000 HP beträgt. Perfekt. Jetzt gibt es dort tatsächlich zwei Leerzeichen. Was wir also tatsächlich tun können, einfach damit aufhören und wir können das sogar loswerden, denn in diesem Fall wird tatsächlich ein Leerzeichen hinzugefügt. Dies ist nicht die einzige Möglichkeit , dies zu tun. Wir können einfach diese Zeile kopieren. Also wähle ich es einfach aus, drücke Strg C und dann Strg V, um es erneut einzufügen. Und anstatt das zu tun, können wir hier auch Punkt Punkt und dann noch einen Punkt Punkt machen . Und was das tun wird, das, das wird diese Variable mit der Zeichenfolge verknüpfen. Das könnte jetzt also etwas komplizierter sein. Aber keine Sorge, wir werden in einer zukünftigen Vorlesung etwas mehr darüber sprechen . Und es sollte auch nicht zu verrückt sein. Im Grunde sagen wir nur, dass dies eine Zeichenfolge ist. Dies ist eine Zeichenfolge. Und obwohl dies eine Variable ist, wollten wir sie eigentlich auch zu unserer spezifischen Zeichenfolge hinzufügen . Es wird also fast die exakte Ausgabe wie diese haben. Aber schauen wir einfach, was hier passiert. Wenn wir das also ausgeben, können Sie tatsächlich sehen, dass kein Leerzeichen dazwischen ist, weil wir buchstäblich nur das Letzte nehmen wir buchstäblich nur das Letzte nehmen, was hier ist, oder? Also das heißt, und dann nehmen wir was auch immer diese Variable ist, was auch immer der tatsächliche Wert dieser Variablen ist, wir konvertieren sie in eine Zeichenfolge und dann platzieren wir sie in diesem Fall einfach direkt neben das S. Also hier wollen wir ein Leerzeichen. Wenn wir das also einfach beenden und erneut starten, können Sie dann sehen, dass die Ausgabe in diesem Fall genau dieselbe sein wird , mit Ausnahme der HP. Denn noch einmal, komm her, das generiert automatisch ein Leerzeichen. Es hat übrigens nichts mit diesen Leerzeichen zu tun , verwechseln Sie sich nicht damit. Ich kann das einfach ausführen. Diese Räume haben also nichts damit zu tun. Es hat nur damit zu tun, wie das Ganze grundsätzlich interpretiert wird, oder? Das sind also zwei Arten der Ausgabe hier. In diesem Fall auch ein Text mit einer Variablen, was wahnsinnig nützlich sein kann, nicht nur für In-Game-Zwecke, sondern manchmal auch für Debugging-Zwecke. Debugging bezieht sich im Wesentlichen auf den Versuch, Probleme oder Bugs in Ihren Skripten zu finden. Und das kann manchmal sehr helfen. Schließlich möchten wir auch über Commons sprechen, wo Sie die Kommentare mit den zwei Bindestrichen bereits gesehen haben . Das ist also im Grunde ein einzeiliger Kommentar, den ich machen kann. Ich kann nur ein paar interessante Dinge sagen, oder? Das könnte also sein, um dir selbst oder anderen Dinge zu erklären , deine Drehbücher zu lesen oder solche Dinge. Jetzt funktionieren diese nur für eine Zeile. Also, wenn ich hier noch eine Zeile mache, können Sie sehen, dass wir plötzlich alle eine Art Kommentar sind. Und Sie müssen die Bindestriche hier am Ende auch nicht hinzufügen. Das ist eine persönliche Sache, die ich mache, also ist das überhaupt nicht erforderlich. Du kannst es auch einfach so lassen und alles wird einwandfrei funktionieren. Es gibt jetzt eine persönliche Macke von mir , bei der Sie tatsächlich mehr Dinge hinzufügen müssen , ist für mehrzeilige Kommentare. Wir können also immer noch die beiden Striche machen und dann zwei Klammern öffnen. Sie können wieder sehen, wie die schließenden Klammern automatisch generiert wurden. Und dann haben wir hier tatsächlich einen mehrzeiligen Kommentar. Da hast du es. Das ist großartig. Da hast du es. Sie können also sehen, dass dies jetzt ein mehrzeiliger Kommentar ist und alles zwischen den Klammern hier ist im Grunde alles, was wir als Kommentar interpretieren werden. Sie können das sogar mit dem kleinen Pfeil hier schließen. Das wird also ein bisschen netter sein. Du kannst das sogar tun. Und dann wird es geschlossen. Es wird es so schließen. Das ist interessant. Okay, nun, da hast du's. Das ist eine sehr interessante Art, das zu tun. Das ist ein mehrzeiliger Kommentar. Wir haben etwas Ähnliches gesehen, bei dem wir uns die Rückseite der Variablen ansehen werden. Wir haben die mehrzeilige Zeichenfolge hier mit der gleichen Idee gesehen , obwohl sie in diesem Fall nur mit Kommentaren sein wird. Aber wie ich bereits erklärt habe, wichtiger Hinweis, natürlich stehen all diese Skripte immer für Sie zum Download zur Verfügung. Die Skripte sind also verfügbar und die RB XL-Datei für jede einzelne Vorlesung steht immer zum Download zur Verfügung. Sie können also im Grunde alles überprüfen, es sich eins nach dem anderen ansehen. Also, wenn du vielleicht etwas anderes ausgegeben hast oder so, kannst du den Code immer noch einmal überprüfen, oder? Zusammenfassend können wir noch einmal feststellen, dass die Druckfunktion eine Möglichkeit ist, etwas auszugeben. Normalerweise willst du eine Zeichenfolge ausgeben, oder? Wenn Sie also in gedruckter Form schreiben, können Sie sehen , dass es bereits vorgeschlagen wird, und Sie können darin die Tabulatortaste drücken, um dann mit der Eingabe zu beginnen. Jetzt möchten Sie normalerweise eine Zeichenfolge eingeben. Du willst also mit den Anführungszeichen beginnen und dann kannst du dort einfach Dinge sagen. Und das wird innerhalb des Ausgabefensters ausgegeben. Und dann gibt es auch einen Kommentar. Normale Kommentare beginnen mit Bindestrich, Bindestrich und dann, was auch immer Sie schreiben möchten, dies ist ein einzeiliger Kommentar. Mehrzeilige Kommentare funktionieren mit einem Bindestrich, Gedankenstrich und dann den offenen Klammern. Nun, das war's für diese Vorlesung hier. Ich hoffe, Sie fanden das nützlich und Sie werden etwas Neues lernen und wir sehen uns alle in der nächsten Vorlesung. Also ja. 6. (Lua) Mathe: Ordnung, willkommen zurück zur Klo-Einführung hier für den Roblox-Kurs. Und in dieser Vorlesung werden wir uns mathematische Operationen ansehen. Dafür werden wir erneut auf den Server-Skriptservern ein neues Skript erstellen und es in A3 Dash Maths umbenennen. Weil warum nicht? Da hast du es. Lassen Sie uns nun hier unseren kleinen netten Kommentar hinzufügen , mathematische Operationen. Und mal sehen, welche Arten von mathematischen Operationen es gibt. Nun, natürlich gibt es eine Ergänzung, das ist die erste und die Idee ist die folgende, oder? Wir können also eine Summe haben und das könnte z. B. 20 sein. Das wird also einfach wieder eine Variable sein. Unsere 20 ist der Wert und some ist der Name der Variablen. Und jetzt können wir sagen, naja, einige sollten eigentlich 20 plus 50 sein, z. B. jetzt sollten das jetzt 70 sein. Also schauen wir uns das mal an. Also , wenn ich hier noch einen Druck mache und sage, dass Summe ist, verwenden wir einfach diesen. Also werden wir Summe sagen. Da hast du es. Jetzt wird die Summenvariable ausgegeben. Zuerst machen wir tatsächlich die Summe gleich 20. Ändern wir das tatsächlich auf zehn. Es werden also 60 sein, weil das das ein bisschen besser demonstrieren wird. Also werden wir zuerst sagen, dass die Summe gleich 20 ist. Wir sagen, die Summe ist gleich zehn plus 50. Was dann rauskommen und hören wird, einige von euch vielleicht sagen, nun, es wird 20 plus zehn plus 50 oder so ähnlich sein. Lass uns einfach spielen und sehen, was passiert. Sie können sehen, dass einige 60 sind , weil das Letzte, was hier passiert , ist , dass der Variablen der Wert zehn plus fünf zugewiesen wird . Dieser wird also einfach ignoriert oder überschrieben , da Code immer von oben nach unten ausgewertet wird . Also beginnen wir bei Zeile eins und es wird durchgehen und durchgehen und durchgehen. Und dann wird es so sein, unsere Summe ist jetzt 20 und dann die nächste Zeile, unsere Summe ist jetzt 60, weil ich diesen Ausdruck im Grunde als zehn plus 50 bewertet habe. Das ist die allgemeine Idee. Ich kann auch, ich kann sagen, naja, was ich eigentlich machen möchte, ist, dass ich noch einen haben möchte. Also sagen wir einfach, das wird die zweite Summe sein, denn, warum nicht? Und das entspricht der Summe plus einem anderen Betrag, oder? Also plus 50 oder plus 150 können sein, was wir wollen. Und was wird das jetzt sein? Nun, einige haben den Wert 20. Theoretisch sollte das also 20 plus 150 sein, was 170 sein sollte. Wenn wir das also tun, können wir sehen, dass einige 20 sind. Jetzt könntest du sagen, warte, wie ist die 20? Ah, nun sieh dir das an. Wir geben die Summenvariable und jetzt die zweite Summenvariable aus. Es gibt also immer etwas, das Sie beachten müssen. Also noch einmal, wenn ich das schreibe, können Sie sehen, dass es uns das bereits vorschlägt und dann können wir einfach die Tabulatortaste drücken, um es automatisch zu vervollständigen. Und jetzt geben wir die zweite Summenvariable aus. Und jetzt sollten wir sehen, dass die Summe 170 ist. Jetzt können Sie auch alle anderen Ausgänge hier unten in der Ausgabe sehen . Das ist völlig in Ordnung und du kannst es so belassen. Wenn Ihnen das jedoch zu unübersichtlich wird, können Sie einfach zu den anderen Skripten gehen und hier einfach Kommentare zu allen Druckzeilen in den anderen Skripten hinzufügen Druckzeilen in den , damit Sie dort nicht auch die Ausgaben haben . Also behalte das im Hinterkopf. Das ist also eine Ergänzung. Schauen wir uns jetzt die Subtraktion an. Kannst du dir vorstellen, wie das aussehen wird? Nun, lass uns einfach eine, nennen wir das einfach Subtraktion. Und das entspricht, naja, z. B. so etwas wie 25 -50. Wird das funktionieren? Das wird eine negative Zahl sein. In der Zwischenzeit, ich meine, schauen wir uns einfach den richtigen Druck an. Und wir werden sagen, das wird einfach Subtraktion ist , und dann noch einmal Komma, und dann werden wir noch einmal Subtraktion eingeben , automatische Vervollständigung mit der Tabulatortaste. Lassen wir das einfach ablaufen und schauen wir, was passiert. Und Sie können sehen, dass die Subtraktion minus 25 ist, das ist absolut kein Problem. Negative Zahlen sind völlig in Ordnung. Das funktioniert also mit negativen Zahlen, nicht negativen Zahlen, oder? Wir können auch 150 -50 haben und dann werden es 100 sein. Das ist also wirklich cool. Die nächste Sache ist natürlich die Multiplikation. Nun, das wird die Frage Mole T. Nennen wir das einfach Multitasking, alles wird gut. Wie funktioniert das? Nun, das ist mit einem Stern gemacht. Also das sind fünf Sterne, 40 z. B. und dann sollte es sein, was sollte das sein? 200? Ja, genau. Es werden 200 sein. Das wird also Multiplikation sein, und dann nochmal, mach einfach das hier Multiplikation. Und das wird genau das Gleiche bewirken. Nun noch einmal, was ich hier sagen möchte, Sie müssen keine Leerzeichen dazwischen setzen. Sie können Leerzeichen dazwischen setzen, müssen es aber nicht. Es ist dieselbe Idee, wenn Sie die Leerzeichen hier einfügen, da der Raum genau hier ist. Weil die Idee ist , dass dies jetzt ein Multiplikationsoperator ist ein Multiplikationsoperator , der in diesem Fall zwei ganze Zahlen verwendet , können Sie dies natürlich auch tun. Oh, was wird das bewirken? Nun, ich meine, lass uns das einfach versuchen. Schauen wir uns an, was fünfmal passiert. 40,5 ist 202,5. Das ist absolut richtig, und das funktioniert auch. Sie können also auch fließende Zahlen verwenden. Das macht es im Grunde ganz alleine. Das ist also auch ziemlich cool. Nun, die Teilung ist die eine Sache , die etwas interessanter ist. Division ist natürlich Division und das entspricht z.B. 20/3. Sagen wir das einfach so. Okay, das ist interessant. Also lasst uns die Division machen. Ist, und dann rufen wir das einfach an und lassen Sie uns sehen was uns das bringt. 20/3 ist, ich weiß nicht. Nun, es ist 6,66, 666666 das wiederholt sich, bis es auf sieben läuft. Das ist also eine degenerierte Idee. Denken Sie also daran, wenn Sie Dinge haben , die nicht perfekt ineinander passen. Also 21/3 wäre natürlich sieben. Also, wenn wir das machen, bekommen wir einfach sieben. Das ist großartig. Wenn Sie jedoch etwas haben , das nicht gleichmäßig teilbar ist, erhalten Sie eine Dezimalzahl. Und das ist auch sehr wichtig. Wenn wir versuchen würden, durch Null zu teilen. Dies ist eine Sache, die Sie vielleicht schon einmal gehört haben oder auch nicht. Wenn Sie mit Null addieren, nun, erhalten Sie unendlich. Das ist also eine sehr interessante Sache und das ist eine Eigenart von Lu sind mehr oder weniger, man kann tatsächlich durch Null dividieren. Das solltest du nicht tun. Es ist immer noch so, als ob das etwas ist , das eigentlich kein Ding sein sollte. Und in diesem Fall bekommst du Unendlichkeit. den meisten Programmiersprachen wird in diesem Fall normalerweise eine Fehlermeldung angezeigt. Also behalte das im Hinterkopf. Normalerweise solltest du sicherstellen, dass du nicht durch Null teilst. Aber dann gibt es noch eine andere Sache die sehr interessant sein könnte, und das ist das Modalgesetz, auch der Rest und das hier genannt, oder? Nennen wir das einfach einen Rest. Und das entspricht, sagen wir zum Beispiel, den 20. Und dann wird es ein Prozentzeichen für sein und das wird den Rest drucken. Der Rest ist, lassen Sie uns einfach den Rest ausdrucken und sehen, was das sein wird. Und dann wirst du ziemlich schnell sehen, was das bewirkt. Lass uns den Rest von drei dividieren oder so. Und dann wirst du sehen, dass der Rest hier zwei ist. Die allgemeine Idee ist also, dass ich im Grunde nur den eigentlichen Teilungsprozess durchlaufe den eigentlichen Teilungsprozess und dann sage, dass dies der Rest ist Ich empfehle dringend, auch den Rest auszuchecken. Das ist eine normale Sache. Ich denke, das sollte im Mathematikunterricht gelehrt werden. Das sollte eine Sache sein, die im Mathematikunterricht gelehrt wird. Und es kann in diesem Fall für bestimmte Dinge beim Programmieren tatsächlich sehr, sehr wichtig sein, denn wenn wir den Rest von zwei machen würden, also 20 modales O2, ist das eine Methode, um zu also 20 modales O2, überprüfen, ob eine Zahl gerade oder ungerade ist, denn in diesem Fall ist sie gerade, oder? Also, wenn wir das einfach spielen, bekommen wir eine Null. Also können wir im Grunde sagen: Hey, wenn diese Zahl und dann machen wir Modulo zwei gleich Null, wissen wir, dass es eine gerade Zahl ist . Und wenn wir das tun, können wir jede ungerade Zahl machen, was, in diesem Fall 21, das spielt keine Rolle. Dann holen wir uns einen. Wenn also der Rest Null ist, dann wissen wir in diesem Fall, wenn wir modales O2 verwenden, also wenn der Rest eins mit Modal oder zwei ist, dann wissen wir, dass die Zahl, die ursprüngliche Zahl, eine ungerade Zahl ist. Wenn es eine Null ist, dann ist es eine gerade Zahl von in der Tat sehr interessant, nicht zuletzt gibt es etwas, das als Inkrementieren und Dekrementieren bezeichnet wird . Das bedeutet im Grunde nur, dass wir einer bestimmten Zahl eins hinzufügen wollen . Also können wir zum Beispiel eine Reihe von Cold Five haben, oder? Und dann können Sie in anderen Programmiersprachen, je nachdem, ob Sie schon einmal programmiert haben oder nicht, Dinge wie Zahl plus plus oder Zahl minus minus tun . Was du jetzt sehen wirst ist, dass das nicht funktioniert, okay? Wir können das einfach kommentieren , oder? Wir werden einfach sagen, dass sie sind und dann wird das so sein , als ob es nicht funktioniert, weil es einfach nicht funktioniert. Es ist einfach etwas, das uns niedriger nicht bietet. Es gibt jedoch Dinge, die wir tun können , um diese Zahl zu erhöhen oder zu verringern. Im Grunde können wir also sagen, dass Zahl gleich sich selbst plus eins ist . Das wird einfach die Zahl nehmen , die in diesem Fall als fünf definiert ist , und dann wird einfach eins hinzugefügt, oder? Also noch einmal, das ist nichts Verrücktes, es heißt nur, dass Zahl gleich Zahl plus eins ist. Also nehmen wir einfach, was auch immer dieser Ausdruck ist, und speichern ihn dann wieder in Zahl. Okay, das ist fair. Wir können auch Zahl plus gleich eins haben. Das macht genau das Gleiche. Es ist nur ein bisschen kompakter und in einer Zeile geschrieben. Das sind genau die gleichen Dinge die sie tun, ist genau dasselbe. Der Grund, warum Sie beide kennenlernen oder beide gesehen haben möchten , ist, dass manche Leute es vorziehen, es so zu machen. Manche Leute ziehen es vor, es so zu machen. Wenn Sie also die Drehbücher anderer Leute lesen, ist es sehr wichtig, beide gesehen zu haben. Und dann gilt in diesem Fall natürlich dieselbe Idee für Minus. Nun, du kannst das sogar verlängern und du kannst sagen, nun, was ist, was ist damit, oder? Wenn wir mal gleich machen, absolut Zahlen, dann wollen wir vielleicht gleich dividieren. Funktioniert das? Das wird sein, ich weiß nicht einmal , wie der Sommer dort sein wird, aber die Küstennummer spielt jetzt verrückt. Modulo ist eigentlich gleich, ja, das können wir auch. Nun, diesen habe ich noch nie gesehen, als ob er wirklich irgendwo gebraucht würde, niemals. Dieser. Es mag bestimmte Momente geben, in denen das nützlich sein könnte, aber ja, die meiste Zeit wirst du diese verwenden , vielleicht diese drei. Und diese beiden sind sehr spezifische Dinge , die sehr, sehr selten sind. Aber noch einmal, das gesehen zu haben, kann in der Tat sehr wichtig sein, oder? Um es noch einmal zusammenzufassen: Mathematische Operationen sind genau das , was sie sagen, oder? sind es Operationen, die In diesem Fall sind es Operationen, die bestimmte mathematische Funktionen ausführen, oder? Summierung also nur ein Plussymbol, ein Minussymbol für die Subtraktion, ein Stern für die Multiplikation und der Schrägstrich für die Division. Und in diesem Fall auch der Prozentsatz für das Modell oder den Rest. Das ist also nur normale Mathematik. Jetzt fragst du dich vielleicht, warum ich da Mathe brauche, es gibt viele Momente, in denen du vielleicht etwas Mathe brauchst, oder? Es könnte also sein, dass du vielleicht eine Waffe hast und dann einen bestimmten Effektmultiplikator für Schaden hast, und dann hat der gegnerische Spieler eine bestimmte Rüstung. Und du willst sichergehen, dass die Gesundheit oder der Schaden korrekt generiert werden , er wird korrekt berechnet. Hier kommt all die Addition, Subtraktion, Multiplikation, Division oder das ins Spiel. Und all das wird irgendwie, es wird etwas geben das am Ende herauskommt. Das wird das sein, der Schaden. Nath kann also tatsächlich sehr, sehr wichtig sein. Das sind natürlich nur die Grundlagen der Mathematik. Aber mit diesen Bausteinen kannst du schon ein paar ziemlich coole Dinge bauen , wo auch immer das für diese Vorlesung hier ist. Ich hoffe, Sie fanden das nützlich und Sie werden etwas Neues lernen und wir sehen uns alle in der nächsten Vorlesung. Also, ja. 7. (Lua) Relationale und logische Operationen: Ordnung, willkommen zurück zur Klo-Einführung hier für den Roblox-Kurs. Und in dieser Vorlesung werden wir uns einen relationalen und logischen Operatoren ansehen einen relationalen und logischen Operatoren Das klingt heutzutage sehr kompliziert, aber noch einmal, keine Sorge, wir werden das zuerst durchgehen, es erstellt ein neues Skript im Server-Skriptdienst genau hier. Und wir werden es 04 Dash nennen. Nennen wir das relationale Logik. Da hast du es. Und noch einmal, wir brauchen die HelloWorld nicht, sondern wir brauchen sie für relationale und logische Operatoren, manchmal auch als relationale und logische Operationen bezeichnet werden. Beides funktioniert so ziemlich gut. Vergessen Sie auch hier nicht, den Druck zu kommentieren , wenn Sie nicht möchten , dass er am Ausgang komplett mit Spam überschwemmt wird. Und dann lass uns darüber nachdenken. Was sind also relationale, was sind logische Operatoren? Wir sind, relationale, sie betrachten im Grunde zwei Werte und bewerten im Grunde die Beziehung zwischen ihnen. Das wäre also kleiner als, größer als kleiner oder gleich, größer oder gleich. Wir haben auch Gleichberechtigte und auch Ungleiche. Das sind also die, naja, im Grunde alle relationalen Operatoren und sie erzeugen einen, sie erzeugen einen booleschen Wert, oder? Das heißt also noch einmal, wenn Sie an die Variablentypen zurückdenken, ist dies entweder wahr oder falsch. Nun, das sollte hier nichts Verrücktes sein. Wenn ich sage, nun, 20, kleiner oder gleich 25, gibt es natürlich kleiner oder gleich 25, nur, es kann nur wahr oder falsch sein. Es gibt keine Unschärfe, oder? Es gibt keinen wie einen. Wenn es zu 50 Prozent klein ist, ist das nicht das, worüber wir sprechen. Wir sagen nur, hey, ist das kleiner als das, oder ist das gleich? Und das ist die allgemeine Idee. Und logische Operatoren sind Operatoren, die zwei boolesche Werte annehmen und diese auswerten. sind end OR und der NOT-Operator sind in diesem Fall, das sind die wirklich wichtigen. Es gibt auch einige andere. Wenn Sie daran wirklich interessiert sind, können Sie nach Boolescher Algebra suchen. Das ist im Grunde der Begriff, den man sich ansehen sollte. Und das bringt uns im Grunde ein bisschen mehr dazu. Aber vorerst beschäftigen wir uns nicht allzu sehr damit. Wenn wir also darüber nachdenken, können wir sagen, ein Test, z. B. hier ist drei, kleiner als 20. Dies ist in unserem Fall natürlich der Fall. Wir können das einfach ausdrucken , oder? Also sagen wir einfach, ist drei kleiner als 20? Und wir werden das einfach ausdrucken. Wir werden den Test hier ausdrucken. Da hast du es. Aber lass uns das einfach spielen und sehen, was passiert. Und es wird sich als wahr herausstellen, weil es drei ist, tatsächlich kleiner als 20. Das ist in der Tat sehr interessant, Sie können das sehen, wertet diesen Ausdruck aus und macht ihn zu einem booleschen Wert, der in diesem Fall wahr ist. Jetzt können wir auch sagen, sagen wir, Tests hier nochmal, das wird in Ordnung sein. Das ist 20 ist größer als 200. Das wird natürlich falsch sein. Und dann werden wir einfach das auswählen, Strg C drücken, los geht's , drücken Strg V , um es wieder einzufügen. Und dann ändern wir das einfach. Ist 20 größer als 200 , weil wir jetzt sagen, dass 2020 größer als 200 ist, was natürlich falsch ist. Lass uns das einfach noch einmal abspielen. Und wir werden sehen, ob 20 größer als 200 falsch ist. Das ist genau richtig, denn das ist nicht der Fall. Das sind die Beispiele für größere. Und dann gilt die gleiche Idee für kleinere Gleichgestellte, oder? Dann wird es einfach auch wahr sein, wenn es gleich ist. Und wenn das dann gleich wäre, oder? Das wäre jetzt falsch. Stimmt es? Sollte Sinn machen, denn nun, 20 ist nicht kleiner als 20 ist gleich 20. Wenn wir das tun würden, wird es plötzlich wieder wahr. Hoffentlich macht das hier in diesem Fall Sinn. Wenn es nun um den Gleichheitsoperator geht, nehmen wir zum Beispiel an, wir haben eine Zeichenfolge, eine, die hallo sein wird, und dann haben wir auch eine Zeichenfolge, die auch hallo heißt. Warum nicht? Da hast du es. Dann machen wir einen Vergleich. Warum kein Vergleich? Das ist gleich, und dann sagen wir Zeichenfolge eins gleich zwei Gleichheitszeichen. Das ist der relationale Gleichheitsoperator , der diese beiden Zeichenketten betrachtet, oder? Und gibt einen booleschen Wert aus. Dies ist der Zuweisungsoperator, der sehr, sehr leicht mit dem anderen verwechselt werden kann. Aber was Sie bekommen sollten, ist, dass Sie sehen können, dass Sie eine Fehlermeldung erhalten , wenn Sie nur eine haben. Also diese rote Unterstreichung hier, siehst du, es ist wie, oh, das ergibt für mich keinen Sinn. Absolut keine Sorgen. Zwei Gleichheitszeichen sind der relationale Operator. Ein Gleichheitszeichen ist der Zuweisungsoperator. Sehr, sehr wichtig. Jetzt drucken, lassen Sie uns das einfach ausdrucken und lassen Sie uns einfach den Vergleich ausdrucken. Und wir sollten theoretisch eine Wahrheit bekommen, oder? Also werden wir einen haben, der erste Ausdruck, ist das wahr, der zweite ist falsch. Und dann werden wir hier einfach eine Norm haben, einfach ein echtes Ergebnis. Lass uns einfach sehen. Und wir werden sehen, was wahr ist, absolut fantastisch. Das funktioniert also auf jeden Fall. Nun, wenn ich hier etwas ändere, dann sogar die Gehäuse, denn diese sind jetzt nicht mehr exakt gleichwertig. Was also passieren wird, ist falsch, denn in diesem Fall sind beide nicht gleich, sind beide nicht gleich weil die Groß- und Kleinschreibung immer berücksichtigt wird , weil es sich um ein anderes Zeichen handelt und sie daher nicht genau gleich sind. Aber das wäre eines dieser Dinge. Und tu das nicht. Dies ist nur ein Beispiel. Also du, damit du das irgendwie verstehst. Das ist ungefähr das, was du tun würdest, oder? Wenn du ein Passwort hast und denkst, okay, das ist alles, was die Person hat. Eingetragen, und das ist das Passwort, das ich gespeichert habe, rot. Sind die gleichwertig? Und dann nur wenn es wahr ist, wirst du sie reinlassen. Tun Sie das jetzt nicht, speichern Sie solche Passwörter nicht. Das sollte nur von fortgeschrittenen Leuten gemacht werden. Sehr, sehr, nur damit du darüber nachdenkst, okay, das ist eine der Möglichkeiten, wie du einen Vergleich als wichtig erachten könntest. Wenn es nun um die logischen Operatoren geht, wird es hier etwas komplizierter, denn hier wollen wir eigentlich mehrere boolesche Werte nehmen und sie zusammensetzen, also sie nebeneinander setzen. Und dann, weißt du, das ist quasi eine logische Erweiterung dafür. Was Sie also beispielsweise tun könnten, ist, sagen wir, x ist gleich einem Vergleich. Also wird hier der Vergleichswert verwendet, was in diesem Fall der Fall sein wird. Und dann können wir hier einen AND-Operator eingeben. Und dann muss der zweite Wert ein weiterer boolescher Wert sein. Also könnten wir z.B. sagen, lass uns einfach hier testen, oder? Jetzt heißt es also, nun, wenn die Zeichenfolge übereinstimmt und der Test wahr ist, dann wird x wahr sein, oder? In diesem Fall wird der Vergleich also wahr sein und der Test wird falsch sein, oder? Also das passiert gerade hier, oder? Weil der Test hier falsch ist. Also wenn wir jetzt x ausdrucken würden ist es nur um des Arguments x willen gleich hier oder da gehst du. Wenn wir das zusätzlich tun, sei falsch und du kannst sehen, dass x falsch ist. Warum ist das so? Nun, weil der Endoperator besagt, dass beide booleschen Werte wahr sein müssen , damit der gesamte Ausdruck wahr ist. Nun noch einmal, falls das für Sie im Moment etwas kompliziert ist , machen Sie sich absolut keine Sorgen. Das ist eine Sache, mit der du nur ein bisschen herumspielen musst. Ich empfehle Ihnen also dringend, dieses relationale logische Skript hier zu öffnen dieses relationale logische Skript und einfach damit herumzuspielen. Was noch verrückter ist, ist, dass du das so oft anziehen kannst , wie du willst. Ich kann also sagen, dass das Ende wahr ist. Und vielleicht noch eine, die wir sagen wollen, naja, 20 ist größer oder gleich 50, so etwas, oder? Sie können also sehen, Sie können diese beliebig aneinanderreihen. Noch einmal, es könnte ein bisschen kompliziert sein. Es geht darum, das auszuprobieren und ein paar Dinge mit uns auszuprobieren, oder? Ich werde das einfach rüberkopieren und hier auch einen OR-Operator erstellen. Also das wird sein, jetzt wird es wahr oder falsch sein. Was mit dem oder passiert, bedeutet, dass entweder eines oder beide wahr sein müssen , damit die Ausgabe wahr ist. In diesem Fall bedeutet wahr oder falsch also nur, dass der Vergleich wahr ist. Und dann ist es uns egal , was mit dem Rest ist, weil einer von ihnen wahr ist. Das wird wahr sein. Wir können also sehen, sagen wir einfach X1 und X2, nur damit wir verstehen , dass der Unterschied hier ist. Und wenn wir das spielen, können Sie sehen, dass x2 wahr ist, weil wir hier den Operator oder verwenden und das kümmert nur, ob einer von ihnen wahr ist und dann der gesamte Ausdruck wahr ist. Wie gesagt, es ist nicht wirklich eine fortgeschrittene Sache, ist nur eines der Dinge, die nicht wirklich früh in der Schule gelehrt werden. Ist es im Grunde nur formale Logik? Daran ist nichts Verrücktes. Und obwohl es ein bisschen einschüchternd klingen mag , ist es das eigentlich nicht. Noch einmal, setz dich einfach ein bisschen damit hin, spiel ein bisschen damit herum und du wirst feststellen , dass das eigentlich nicht so verrückt ist. Nun noch eine letzte Sache, lassen Sie den Vergleich auch hier durchführen. Und dann werden wir sagen, dass wir das eigentlich negieren wollen. Das bedeutet, dass dies eigentlich kein Test ist. Nun, das könnte so sein, als wäre die FREC das, das ist ziemlich verrückt. Nun, wir negieren im Grunde das Falsche oder wir drehen es um. Negieren bedeutet also einfach, dass wir es von falsch zu wahr umdrehen. Oder wenn das schon wahr war, dann falsch. Manchmal sieht man das so geschrieben mit einem Ausrufezeichen vorne. Aber das bedeutet nur, dass die ganze Sache wahr ist, oder? Das ist jetzt also plötzlich nicht mehr falsch, was gleich wahr sein wird, oder? Lass mich das machen. Das wird also ein bisschen klarer, oder? Also negieren wir den Test, dass alles, was in der Testvariablen geschrieben ist, in diesem Fall falsch ist. Und wir stellen es auf die Wahrheit um. Nochmals, wenn Sie das nicht sofort verstehen, spielen Sie einfach ein bisschen damit herum. Ich kann nur empfehlen, dass du wirklich einfach Sachen abtippen und ausdrucken willst einfach Sachen abtippen und ausdrucken und dann ein bisschen damit anfangen und dann sagst, okay, jetzt verstehst du es, denn das tatsächlich anzuwenden ist viel wichtiger, als mir nur zuzuhören, das etwa zehnmal zu erklären. Es ist besser, wenn du dich hinsetzt und sagst, okay, das X ist das und dann ist das Y das, und dann ist es so wie nichts, und dann druckst du es einfach aus. Aber der Argumentation halber wollen wir einfach sehen, dass x3 wahr sein wird. Und Sie werden feststellen, dass X3 tatsächlich wahr ist. Denn wieder einmal ist der Vergleich wahr und das Gegenteil von Test ist auch wahr. Daher ist das wahr. Kurz zusammengefasst: Bei Ihren relationalen und logischen Operatoren dreht sich alles um boolesche Werte. Und im Grunde unsere Operationen, die zwei Werte vergleichen, in einigen Fällen zwei oder mehr Werte, und Ihnen daraus einen booleschen Wert geben, richtig, entweder wahr oder falsch. Es gibt kleiner als, größer als gleich, nicht gleich und auch die logischen Operatoren UND, ODER und NICHT, in diesem Fall diese einfachen Operationen eigentlich sind diese einfachen Operationen eigentlich alles, was der Computer mag. Wenn Sie zum niedrigsten Wert heruntergehen dort all die Einsen und Nullen, von denen Sie vielleicht schon einmal gehört haben. Das ist alles, was sie benutzen und, oder. Und dann einige relationale Operatoren, das ist alles, was sie benutzen, sonst nichts. Damit geht also tatsächlich große Leistung einher, wie beim Programmieren, weshalb sie ziemlich wichtig sind. Noch einmal, hier am Ende, wollte ich dir im Grunde den Anstoß geben, okay, setz dich wirklich für gute zehn, 20 Minuten hin und teste einfach mal, wie diese funktionieren. Wenn du sie nicht verstanden hast, wenn du sie verstanden hast, absolut großartig. Ich flehte dich immer noch an, sie einfach ein bisschen auszuprobieren , falls du sie nicht verstanden hast , probiere es noch einmal aus. Ich kann es nur empfehlen, wenn natürlich noch Fragen offen sind, zögern Sie nicht, sie zu stellen. Sonst wird es das für diese Vorlesung genau hier sein . Ich hoffe, Sie fanden das nützlich und Sie werden etwas Neues lernen und wir sehen uns alle in der nächsten Vorlesung. Also, ja. 8. (Lua) If- und Else: Ordnung, willkommen zurück zu der kleinen Einführung hier für den Roadblocks-Kurs. Und in dieser Vorlesung werden wir uns die Aussagen „Ob“ und „ sonst“ ansehen. Jetzt kommen wir der Sache wirklich auf den Grund. noch einmal auf den Server-Skriptservern Lassen Sie uns noch einmal auf den Server-Skriptservern ein neues Skript erstellen und es mit fünf Strichen umbenennen , falls und sonst. Wie wär's damit? Da hast du es. Mir geht es gut, noch einmal, ich werde alle fünf machen , falls und sonst. Nun, wenn Aussagen wirklich sehr, sehr interessant sind , nehmen wir an, wir haben zum Beispiel eine Goldmenge, die 100 betragen wird. Und dann haben wir vielleicht eine, vielleicht hast du eine Note und das wird sein, sagen wir, wir haben gerade 65 bestanden, so etwas. Und dann haben wir auch einen booleschen Wert. Und das wird, ist, ist natürlich gut. Und das wird genauso wahr sein. Nehmen wir einfach an , dass das der Fall ist. Die Sache, die wir mit Wenn-Else-Aussagen machen können, ist, dass wir quasi von oben nach unten unterbrechen den Fluss quasi von oben nach unten unterbrechen und sagen können: Okay, wenn etwas wahr ist, dann tu das. Oder wenn etwas anderes wahr ist, dann tu das. So können wir z. B. sagen, ob es grob ist Gut, Sie können sehen, dass es darauf hindeutet , dass es ungleichmäßig war, sagt uns, dass dies ein boolescher Wert ist. Also drücken wir die Tabulatortaste, um die automatische Vervollständigung zu starten. Wir sagen dann, sobald wir die Eingabetaste drücken, das Ende hier automatisch generiert. Und jetzt ist das extrem wichtig. Sie können sehen, dass unser Cursor hier tatsächlich eingerückt ist. Das ist also das Gleiche, als ob ich die Tabulatortaste drücken würde und Sie können sehen, dass hier der gleiche Einzug passiert. Und dann ist das automatisch, weil wir uns gerade in dieser If-Anweisung befinden. Und du musst dir bewusst sein, der Gedankenstrich es so schreibt. Also kann ich hier Sachen schreiben. Ich denke nicht, dass es technisch falsch ist, aber es sieht sehr seltsam aus. Also du im Grunde, sobald du dich in einer if-Anweisung oder einer Funktion befindest, die wir später sehen werden und solche Dinge. Du hast immer einen Gedankenstrich und ja, wenn ich stattdessen ein anderes Wenn hier hätte, wenn wir der Argumentation halber einen anderen Typ einrücken würden , lass uns einfach damit weitermachen. Das wird also etwas drucken und es wird Brent produzieren. Ja, es ist ein ziemlich guter Kurs. Da hast du es also. Solange das Gute stimmt, drucken wir das aus. Lass uns das einfach der Argumentation halber spielen. Es ist wahr. Also, ja, es ist ein hübscher, es ist ein ziemlich guter Kurs. Nun, stellen wir einfach sicher, dass es auch heißt, dass es ein ziemlich guter Kurs ist. Aber jetzt sagen wir falsch. Lassen Sie uns einfach lösen, dass das nicht der Fall ist, aber falls doch spielen wir und haben keinen Output. Denn in diesem Fall alles zwischen dann und wird alles zwischen dann und Ende nur ausgeführt, wenn dies zutrifft. Und jetzt fangen wir wirklich an, diese verschiedenen Tools zu verwenden. Dies ist im Grunde jede dieser Vorlesungen. Es ist ein weiteres Tool in Ihrem Toolkit, das Sie benötigen, um die Grundlagen zu verstehen, die später mit allen Hindernissen einhergehen. Und das ist eine der größten und wichtigsten Wenn-und-Alse-Aussagen . Also könnten wir z.B. auch über so etwas nachdenken. Nehmen wir an, lassen Sie uns hier einfach einen weiteren hinzufügen. Das könnte so etwas wie die Maut sein. Also vielleicht genau dort, wo du die Brücke überqueren willst und insgesamt sind es 150 Gold. Was wir also zum Beispiel sagen können ist, ob unser Ziel, das wir haben, größer oder gleich der Maut ist , oder? Dann können wir sagen drucken, der Spieler könnte passen. Aber vielleicht wollen wir sagen, naja, eigentlich wollen wir hier nicht enden. Also können wir dieses Ende durch ein anderes ersetzen. Und dann kann man wieder sehen, dass es ein Anderes ist. Wenn ich nur den Tap Kick drücke, kann ich die automatische Vervollständigung vornehmen und dann die Eingabetaste drücken, dann wird hier ein weiteres Ende generiert. Wir können also sagen, dass, wenn Gold höher ist als die Maut, der Spieler möglicherweise besteht. Und wenn das nicht der Fall ist, können wir sagen, dass der Spieler nicht passen darf, oder? Dann können wir einfach auf Play klicken. Und wir können sehen, wenn wir uns das ansehen, darf der Spieler nicht passen, weil Gold tatsächlich kleiner ist als oben rechts. Wir haben nur 100 Gold, aber wir brauchen 150. Daher wird dies ausgedruckt. Also wird alles andere ausgedruckt. Wenn das falsch ist und alles hier ausgedruckt wird, wenn das stimmt, können wir auch so etwas machen, oder? Wir können also sagen, das ist jetzt eine sehr primitive Methode, aber es ist wahr, oder? Wir können also sagen, aktuelles Gold, sagen wir, Gold wird Rüstung sein, Gold, oder? Also einfach Outputs reinlegen, das Gold auch. Und was wir tun können, ist, wenn wir bestehen, nun ja, wir wollen tatsächlich Gold minus gleich machen , was auch immer die Summe ist, nur wenn wir es tatsächlich erfolgreich bestehen, weil wir es sonst eigentlich nicht tun wollen. Schauen wir uns jetzt einfach an, was das Ziel ist nachdem wir das bewertet haben? Nun, es werden, naja, 100 sein, oder? Weil wir nichts bezahlt haben. Denn in der Tat können wir zahlen, weil unsere Maut , naja, sie beträgt hier 150 und wir können nicht einmal etwas tun. Ich werde das einen Schritt komplizierter machen, aber du wirst diesen Ort verstehen, sagen wir einfach nach Hause, oder? Also sind wir gerade zu Hause. Und wenn wir bestehen, sagen wir einfach, wir werden in der Innenstadt sein. Sagen wir der Argumentation halber, wenn wir nicht bestehen, nun ja, wir müssen nicht einmal den Standort ändern, sodass wir das aktuelle Gold sagen können. Lass uns das einfach kopieren und dann können wir den aktuellen Standort sagen. Dann können wir den Standort auch ausdrucken. Okay, lass uns das einfach noch einmal spielen . Und dann werden wir sehen, richtig, wir sind immer noch zu Hause und wir haben immer noch 100 Gold. Aber was ist, wenn ich jetzt die Maut ändere? Es kostet tatsächlich 69, um zu bestehen? Was wird jetzt passieren? Nun, jetzt ist unser Gold größer oder gleich der Mautgebühr, was bedeutet, dass wir passieren dürfen. Unser Standort wird sich in die Innenstadt ändern und wir werden jedes Ziel, das wir haben, abziehen, wie die Maut von unserem Gott. Also lasst uns das spielen und mal sehen, und plötzlich können wir sehen, dass wir jetzt 31 Gold haben und wir in der Innenstadt sind. Das ist natürlich so, am Spiel selbst hat sich nichts geändert. In diesem Fall haben wir nur eine oder zwei Variablen geändert. Aber vielleicht siehst du schon, wie unglaublich mächtig es ist, diese If-Statements zu haben und sie miteinander zu verknüpfen. Sie können hier eine weitere IF-Anweisung eingeben. Es gibt alle möglichen Dinge, die du tun kannst, was wirklich, wirklich großartig ist. Das ist wirklich eines der Dinge, ich meine, es ist einfach cool zu sehen so etwas zum Leben erweckt wird. Hoffentlich ist das ein wirklich anschauliches Beispiel dafür, denn sie haben Aussagen und die If-Else-Aussagen sind wirklich, wirklich großartig. Nun, sagen wir noch einmal, das Letzte. Also wir haben hier eine Note und sagen wir zum Beispiel wir wollen überprüfen, okay, diese Person hat bestanden. Wir können also sagen, ob der Bildschirm größer oder gleich 50 ist, dann sagen wir einfach, lassen Sie uns das genau andersherum machen. Also sagen wir, wenn es kleiner als 50 ist, dann drucken wir einen Fehler, oder? Weil wir dann gescheitert sind. Jetzt werden wir das durch ein anderes ersetzen. Aber wisst ihr was Eigentlich, wenn es durch ein anderes ersetzt wird, wenn weil ich überprüfen möchte ob die Note größer oder gleich 50 ist und sie auch kleiner ist. So toll sind sie kleiner als 100. Dann möchte ich etwas Bestimmtes machen. Und dann will ich noch einen, denn du kannst sie so oft anketten, wie du willst. Und dann wird das etwas anderes bewirken. Das wird also Drucken sein, sagen wir, es wurde hier übergangen, das ist großartig. Und dann hier, wenn du 100 bekommst, richtig, also das würde passieren, wenn du 100 oder mehr bekommst. Aber lassen Sie uns einfach einen Moment darüber nachdenken. Aber wenn wir 100 oder mehr haben, werden wir sagen, dass sie mit Auszeichnung bestanden haben. Weil warum nicht, oder? Weil das wirklich cool ist. Im Moment haben wir also 65 für die Note. Wir sollten also die Ausgabe von B aus der Vergangenheit sehen. Mal sehen, ob das funktioniert. Und Sie können sehen, dass Vergangenheit tatsächlich Output ist. Das ist wirklich gut. Lassen Sie uns damit aufhören und dann hierher zurückkehren und das tatsächlich auf, sagen wir 100, ändern. Jetzt sollten wir mit uns weitermachen. Lass uns sehen. Lass uns das spielen. Und wir können sehen, dass es mit Auszeichnung bestanden wurde. Das ist großartig. Wir können sogar noch einen Schritt weiter gehen. Sagen wir einfach der Argumentation halber, wir wollen hier noch einen hinzufügen. Was wir tun können, ist, dass wir weitere hinzufügen können, wenn, und wir können sagen, wenn sie am besten sind, mehr als 100. Lass es uns, lass es uns so machen. Nehmen wir an, wenn groß gleich 100 ist, dann machen wir das, oder? Und dann machen wir noch etwas anderes. Und das wird im Grunde so sein, wenn es etwas anderes als 100 sind, und dann können wir mehr sagen, mehr als 100 sind nicht möglich. Du hast geschummelt. Also so etwas, mehr als 100 sind nicht möglich, du hast geschummelt. Und wenn ich jetzt 101 machen würde, würden wir plötzlich mehr als 100 bekommen, das ist nicht möglich. Du hast geschummelt. Also, wenn Sie die Logik dahinter nicht ganz verstehen, denken Sie einfach darüber nach, oder? Was ist jetzt Note? Großartig wie 101. Ist das kleiner als 50? Nicht 101 ist nicht kleiner als 50. Deshalb gehen wir zum Beispiel, wenn wir jetzt überprüfen, ob es größer oder gleich 50 ist? Es ist in der Tat größer oder gleich 50. Aber das muss auch wahr sein, weil wir den logischen Operator UND richtig verwenden , also müssen beide Dinge wahr sein , damit die gesamte Aussage wahr ist. Und weil großartig größer als 100 ist, gehen wir zum Beispiel, wenn wir jetzt Großartig aussehen, gleich 100, es ist nicht gleich 100, es ist tatsächlich 101. Deshalb gehen wir zu den anderen hier drüben. Und weil wir keine If-Anweisung haben, sagen wir nur, okay, jetzt verwenden wir das L, also wird alles hier ausgeführt, was bedeutet, dass das ausgedruckt wird. Nun, ich hoffe, das sind einige interessante Beispiele für If-und-Else-Aussagen, wie man sie verwenden kann und warum sie es sind. Also wirklich, wirklich großartig. Ihr seht, wie wir schon, wir haben hier fast ein klitzekleines Spiel gemacht, nur mit einer wenn sonst Aussage mit Gold, mit einer Maut. Und das ist schon richtig genial, oder, um noch einmal kurz zusammenzufassen, ob und sonst Aussagen boolesche Werte verwenden , um etwas zu bewerten, oder? Sie können einen normalen booleschen Wert verwenden. Sie können die relationalen und logischen Operatoren verwenden , um diese booleschen Werte miteinander zu verknüpfen. Wie wir auf verschiedene Weise gesehen haben, können wir if- und else if- und else-Anweisungen verwenden , um diese IF-Anweisungen miteinander zu verknüpfen. Und dann wird alles, was in dieser IF-Anweisung enthalten ist, ausgeführt. Wenn der boolesche Ausdruck wahr ist, wirklich eine sehr coole Sache. Und ich kann nur empfehlen, in Ihrer Freizeit ein bisschen damit herumzuspielen . Es ist wirklich, wirklich großartig. Nun, das war's für diese Vorlesung hier. Ich hoffe, Sie fanden das nützlich und Sie werden etwas Neues lernen und wir sehen uns alle in der nächsten Vorlesung. Also, ja. 9. (Lua) Lokale Variablen: Ordnung, willkommen zurück zur Klo-Einführung hier für den Roblox-Kurs. Und dann, in dieser kurzen Vorlesung, werden wir über lokale Variablen sprechen. dafür noch einmal im Server-Skriptdienst Lassen Sie uns dafür noch einmal im Server-Skriptdienst ein neues Skript erstellen und dieses 06 Dash local nennen . Und das wird natürlich auch gemeinsame lokale O6-Variablen haben . Nun, das ist kein wahnsinnig wichtiges Thema. Ich wollte es jedoch, wir werden im Grunde einmal darüber sprechen. Also lokale Variablen, als wir eine Variable hatten, wir einfach x gleich gemacht, ich weiß nicht, wie 100 und das war's. Jetzt können wir auch das Schlüsselwort local davor setzen. Und du kannst sehen, du kannst sehen, dass es ein Schlüsselwort , weil es fett und auch rot wird. Jetzt können wir also sagen, dass das lokale Y z. B. 50 ist. Nun, warum sollte das wichtig sein oder warum nicht? Nun, die allgemeine Idee ist, dass eine lokale Variable sie im Grunde so macht, dass sie sie dort einschränkt , wo sie zugänglich ist. Im Moment ist es in diesem Fall eigentlich egal, weil wir einfach x drucken können und dass alles in Ordnung sein wird und y drucken und alles wird in Ordnung sein. Also werden beide einfach zur Arbeit gehen. Nehmen wir an, wir haben eine If-Anweisung und sagen einfach, dass x, sagen wir, größer als fünf ist , und dann wollen wir etwas tun. Nun, wenn stattdessen jemand , sagen wir, diese Aussage wirklich kompliziert, wirklich komplex ist und wir tatsächlich einige Variablen darin benötigen, um zu funktionieren. Wir könnten z. B. sagen z ist gleich 100. Das funktioniert. Und das können wir dann hier verwenden und was auch immer wir tun wollen. Und das Verrückte ist, dass wir dieses Z dann sogar außerhalb dieser if-Anweisung verwenden können . Sie können also sehen, dass das Z hier außerhalb dieser if-Anweisung zugänglich ist , aber das ist nicht immer das, was wir wollen, weil erstens die Person, die es verwendet, das verwirren kann, oder? Also vielleicht wollen wir das eigentlich nicht. Z ist nur in dieser if-Anweisung verwendbar. Und danach, was auch immer es wird, welchen Wert es auch hat, es ist nicht einmal repräsentativ für das, was wir wollen. Das könnte der Fall sein. Wenn das der Fall ist, dann können wir es z.B. lokal machen. Und Sie können sehen, was passiert, wenn das jetzt rot unterstrichen ist , was bedeutet und was falsch ist. Sie können das globale Z alleine sehen, da Variablen normalerweise globale Variablen sind. In diesem Fall sagen wir jedoch ausdrücklich, dass dies eine lokale Variable ist und nur in diesem bestimmten Kontext zugänglich ist. Der Kontext ist die if-Anweisung. Wenn also die erste n-Ebene beendet wird, das Ende dieser if-Anweisung im Grunde löscht das Ende dieser if-Anweisung im Grunde auch Anführungszeichen ohne Anführungszeichen, diese lokale Variable. Insgesamt ist es normal , grundsätzlich alles lokal zu machen, außer wenn es Momente gibt, in denen, oh, weißt du was, das eigentlich nicht lokal sein sollte. Theoretisch sollten Sie jedes Mal, wenn Sie eine Variable erstellen, einfach mit einer lokalen Variable beginnen. Und das ist, und dann wird es Ihnen gut gehen und dann wird es Ihnen gut gehen. Weil es nur sehr wenige Fälle gibt , in denen dies nicht der Fall ist. Und du kannst sehen, ob es nicht stimmt, wenn du dann damit weiterarbeiten willst, dann ist es völlig in Ordnung, dann kannst du das weglassen. Aber normalerweise willst du sie lokal machen und dann wird es dir gut gehen. Ein weiterer weiterer Grund, warum Sie dies tun möchten ist, dass sie ein bisschen leistungsfähiger sind. Um fair zu sein, was moderne Maschinen angeht, das wird hier wahrscheinlich keinen großen Unterschied machen, aber nur für den Fall, dass es ziemlich wichtig sein kann. Und wenn Sie das Local in den Skripten anderer Leute sehen , dann wissen Sie einfach, normalerweise möchten Sie sie für alle Ihre Variablen verwenden , außer in sehr, unter bestimmten Umständen, in denen globale Variablen benötigt werden, dann können Sie es weglassen. Normalerweise, wenn ich eine Variable mit local davor instanziiere , oder? Also habe ich einfach dafür gesorgt , dass die Prinzen hier auskommentiert werden, natürlich wegen dieses Prints, der einen Fehler auslöst solange wir eine lokale Variable haben. Aber insgesamt machen sie, um es hier noch einmal zusammenzufassen , lokale Variablen etwas schneller und schränken den Geltungsbereich ein , in dem eine bestimmte Variable zugänglich ist. Sie kein globales erstellen, wird es ein bisschen eng und es ist für die Leute einfacher, Ihre Skripte zu verwenden. Außerdem läuft das Spiel dadurch einfach ein bisschen schneller. Vielleicht sind es hier winzige Änderungen, aber normalerweise möchten Sie, wann immer möglich, local verwenden. Das war's für diese Vorlesung hier. Ich hoffe, Sie fanden das nützlich und Sie werden etwas Neues lernen und wir sehen uns alle in der nächsten Vorlesung. Also, ja. 10. (Lua) String-Operationen: In Ordnung, willkommen zurück zum Roblox-Kurs. Und in dieser Vorlesung werden wir uns auf natürlich Zeichenkettenoperationen ansehen, zunächst den Server-Skriptservern. Lassen Sie uns hier ein neues Skript erstellen und es in Lassen Sie uns hier ein neues Skript erstellen 07 und Bindestrich-String-Operationen umbenennen. Und natürlich werden wir noch einmal eine 07-String-Operation durchführen, Ahmed hier drüben, und dann fangen wir an. Wir können also eine neue Variable erstellen. Nennen wir es einfach einen Test und wir nennen es so etwas wie Hallo, ich sage Hallo, und das ist eine Zeichenfolge. Und das haben wir schon einmal gesehen. Wir können das zum Beispiel ausdrucken, indem wir die Funktion printf hier testen. Und das wird in diesem Fall natürlich den Wert der Testvariablen ausgeben. Dafür benötigen wir die Ausgabe hier drüben und stellen auch sicher, dass sie in den alten Skripten ist und stellen Sie sicher, dass Sie auch die Druckfunktionen in den alten Skripten auskommentieren . Und wenn wir das Ausgabefenster geöffnet haben und das Drucken hier drüben, dann lass uns einfach spielen und wir sollten dort Hallo sehen können. Ich sage hallo, das ist ziemlich gut. Warum schreibe ich da jetzt etwas so Seltsames hinein? Nun, weil wir gleich etwas Interessantes sehen werden. Aber das erste, was wir mit einer Zeichenfolge tun können ist herauszufinden, wie lang die Zeichenfolge ist. Weil wir das vielleicht manchmal machen wollen. Wir können also die Länge einer Zeichenfolge herausfinden , indem wir wie folgt vorgehen. Was wir tun können, ist Hashtag-Test zu sagen, und das wird die Länge dieser bestimmten Zeichenfolge ausgeben . Es wird also einfach gezählt, wie viele Zeichen es gibt, einschließlich Leerzeichen. Bevor wir das ausgeben, zählen wir tatsächlich 1, 234-567-8910, 1112, 1314, 1516 1718 1920 201-20-2203, 2420, 5206, 2728, 2930. Theoretisch sollte diese Testvariable, diese Zeichenfolge hier, diese Zeichenfolge hier, drei Zeichen lang sein. Unser Druck hier sollte also die Länge einer Schnur 30 ergeben. Lass uns spielen und sehen, ob das wirklich ES ist. Und die Länge einer Zeichenfolge ist 30. Nett. Das ist schon ziemlich cool, aber was können wir noch tun? Nun, es gibt eine ganze Reihe verschiedener Dinge. Nehmen wir an, wir erstellen eine neue Variable. Was wir tun werden, ist eine Zeichenfolge einzugeben und Sie können sehen, dass sie uns das tatsächlich vorschlägt, und es markiert es auch als blau. In diesem Fall ist es also ein Schlüsselwort, und wir können einen Punkt dahinter setzen. Und dann können Sie sehen, dass wir verschiedene Funktionen haben , die wir aufrufen können. Und diese stehen im Grunde für eine bestimmte Sache, die sie mit bestimmten Dingen machen. Also zB gibt hier die Länge der Zeichenfolge zurück. Anstatt also den Hashtag zu verwenden, können Sie auch die Zeichenfolge Lynn Wright verwenden und dann die Zeichenfolge dort einfügen. Sehr wichtig. Also können wir das machen. Und in diesem Fall wird der neue Test tatsächlich die Länge sein. Nennen wir diese Länge für einen Moment. Lassen Sie uns das nur als Test kopieren. Und wir können dann genau hier die Länge angeben. Und wenn wir das spielen, werden wir 30.30 sehen weil es im Grunde genau das Gleiche macht. Aber das ist eine der Operationen, die wir durchführen können. Normalerweise werden die meisten Operationen für Zeichenketten in diesem Fall immer mit einem Zeichenkettenpunkt und dann im Grunde mit einer Art Funktion ausgeführt. Lass uns einen neuen Test machen und lass uns einen Blick darauf werfen. Also reih das ein. Und du kannst sehen, dass es eine Menge Sachen gibt. Sie können also sehen dass dadurch n Kopien derselben Zeichenfolge verkettet werden. Das ist im Grunde nur, wenn du, wenn ich die Schnur da reinlege und ich drei da reinlege, dann wird es Hallo sein. Ich sage hallo. Hallo, ich sage hallo, hallo , ich sage hallo. Das ist also im Grunde nur , um dasselbe zu wiederholen. Suppe ist. Dies ist eine Teilzeichenfolge und sie ähnelt dem, was wir gleich sehen werden. Die Beschreibung hier. Es kann ein bisschen kompliziert sein, aber mach dir keine Sorgen. Byte ist normalerweise etwas, das wir nicht wirklich brauchen. Was ich jedoch sehr empfehlen kann, ist, dass Sie sich jederzeit jede dieser Funktionen ansehen können und wir klicken im Grunde einfach auf sie und dann sehen Sie eine ziemlich gute Beschreibung und Sie können sogar auf Erfahren Sie mehr klicken, um mehr zu erfahren. Was wir hier machen werden, ist G Sub, G Sub zu machen . Das sieht verrückt kompliziert aus, ist es aber nicht. Also doppelklicken wir einfach darauf. Es wird das alles korrekt formatieren und wir geben einfach das Komma der Testzeichenfolge ein. Und dann ist das ein Muster. Wir wollen uns dieses Muster ansehen. Also z. B. hallo. Und wir wollen es durch etwas ersetzen. Und in diesem Fall ersetzen wir es einfach durch eine normale Zeichenfolge. Und diese Saite wird einfach Howdy sein. Also, was erwarten Sie hier , wenn wir jetzt einen neuen Test herausgeben, oder? Also, wenn wir einen neuen Test drucken würden, oder? Also diese neue Variable, die G sub haben wird, wird hoffentlich die Testvariable genau hier nehmen. Und es wird nach dem Wort Hallo suchen, oder? Und es wird eine Kopie zurückgeben , in der jedes Mal, wenn Hallo auftaucht, es durch Howdy ersetzt wird. Also, wenn wir einen neuen Test ausdrucken würden, nun, hoffentlich finden wir heraus , dass er sagt, wie geht es dir? Ich sage Hallo? Lass uns spielen und sehen, ob das tatsächlich passiert. Und genau das passiert in der Tat. Wie geht's dir da? Ich sage hallo? Was nun extrem wichtig ist, wenn ich den Originaltest auch gleich hier ausdrucken würde, richtig, weil wir das in die Funktion eingebaut haben und das Hallo durch ein Howdy ersetzt haben, werdet ihr feststellen, dass sich der Test nicht geändert hat. Sie können also sehen, dass der Test völlig unverändert ist. Und so steht es auch. Wenn ich hier einfach aufhöre, ist es auch das, was ich gesagt habe. Wenn wir hier reingehen, wird eine Kopie der übergebenen Zeichenfolge zurückgegeben . Es ändert also nicht die Zeichenfolge, die wir übergeben haben. Es ist sehr wichtig , sich daran zu erinnern. Eine andere Sache, die ich dir zeigen kann, ist z.B. etwas zu finden. Das wird also String Dot Find sein. Das ist also eine weitere Methode, die sich tatsächlich angesehen hat, was darin steht. Sucht also nach der ersten Übereinstimmung des Musters und gibt dann die Indizes zurück. Okay? Also, was heißt das? Nun, lassen Sie uns einfach zB hier testen. Es spielt keine Rolle, welchen wir einsetzen. Und dann kann ich da sagen, also schauen wir uns das mal an. Und dann können wir das auch ausdrucken. Also wo werden wir es dort so machen und dann die Ausgabe finden. Und wir sollten eine Zahl daraus machen, damit du sehen kannst , wo sieben ist, okay, also warum ist es bei sieben? Nun, wenn wir noch einmal zählen, richtig, also zähle ich die Zeichen rechts von mir, also wird es 1234567 sein. Das ist also in der Tat das siebte Zeichen, oder es ist das Zeichen mit Indizes oder Index von Sieben. Das ist die allgemeine Idee. Und dann Dinge zu finanzieren, die Sie verwenden können, wenn Sie manchmal, ist interessant und das ist im Grunde genommen, Fall zu schreien und dann Fall zu flüstern. Die Idee ist also, dass die Zeichenfolge oben und wenn wir etwas hineinlegen, und dann können wir das einfach kopieren. Also habe ich einfach Control C, Control V ausgewählt , um es einzufügen. Und das ist dann Flüstern und das ist dann leiser. Was Sie finden werden, ist, dass das obere, Es wird nur sehen eine Zeichenfolge zurückgibt, bei alle Kleinbuchstaben in Großbuchstaben geändert werden, während das untere Feld hier eine Kopie mit allen Großbuchstaben in Kleinbuchstaben zurückgibt . Also wenn wir das machen, seht ihr dort Hallo rufen, ich sage Hallo und dann ist jeder Frühling wie. Die sind also auch ziemlich cool. Nun können diese Operationen, einschließlich einiger der anderen Funktionen für Zeichenketten, unglaublich nützlich sein, wenn Sie irgendwelche Texte haben , die Sie je nach Standort des Players ändern müssen oder wenn Sie irgendwo etwas ausgeben müssen. Das kann also im Grunde für eine ganze Menge Dinge verwendet werden. Deshalb kann es sehr wichtig sein. Und natürlich empfehle ich wie immer dringend, ein bisschen damit herumzuspielen. Es gibt natürlich noch ein paar weitere Zeichenkettenfunktionen , die Sie verwenden können. Zusammenfassend lässt sich sagen, dass Sie die Länge einer Zeichenfolge ermitteln können , indem Sie entweder ein Hashtag als die Zeichenkettenvariable verwenden, oder Sie können auch die Zeichenkettenfunktionen von string dot und dann, was auch immer die Funktion ist, in diesem Fall Len, verwenden. Wir haben auch gesehen, wie Sie Dinge in Zeichenketten ersetzen können , und denken Sie immer daran, dass dies eine Kopie der ursprünglichen Zeichenfolge zurückgibt, die niemals geändert wird. Wir können sogar Dinge und Zeichenketten finden und am Ende haben wir hier auch gesehen, wie sich Klein- und Großbuchstaben geändert haben. Nun, ich hoffe, Sie fanden das nützlich und Sie werden etwas Neues lernen und wir sehen uns alle in der nächsten Vorlesung. Also, ja. 11. (Lua) Loops in Lua: Willkommen zurück zur Loo-Einführung hier für die Roadblocks-Kerne. Und dann werden wir uns in dieser Vorlesung Loops ansehen. Nun, was sind Loops? Nun, sie sind sehr interessant. Zuallererst natürlich ein neues Script hier drüben, 08 Dash Loops und auch hier oben ein netter Kommentar. Und die Frage ist, was sind Loops? Nun, was wäre, wenn ich dir die Aufgabe geben würde, jede Zahl 1-100 auszudrucken? Du könntest sagen, nun, okay, lass uns einfach richtig anfangen. Wir machen einen und dann werden wir das kopieren. Ich sage 23 und 4,5, und irgendwann bist du fertig. Jetzt sage ich, naja, eigentlich möchte ich, dass du tust, dass nicht jede gerade Zahl gedruckt wird . Ich will nur die ungeraden Zahlen, 1-100 und du wirst sagen, Wow, das ist irgendwie nervig. Also wirst du entweder jede gerade Zahl kommentieren oder du wirst einfach jede gerade Zahl löschen, dann denke ich, Oh, tut mir leid, ich habe das falsch gelesen. Ich wollte eigentlich andersherum. Ich wollte die ungeraden Zahlen eigentlich nicht ausdrucken. Ich wollte eigentlich die ungeraden Zahlen nicht ausdrucken und du sagst, Oh mein Gott, ich habe einfach alles geändert. Und an diesem Punkt wirst du dich einfach sehr ärgern. Das ist natürlich nicht der richtige Weg. Es gibt einen viel einfacheren Weg, das zu tun. Das heißt, Schleifen, im Grunde genommen Schleifen in einem sehr übersichtlichen Begriff, oder bestimmte Codeteile oder bestimmte Teile eines Skripts, die sich x-mal wiederholen, wie oft Sie es im Grunde möchten. So können wir z.B. einen For-Loop machen. Sie können sehen, dass dies bereits darauf hindeutet, dass Sie eine For-Schleife erstellen können , und dies wird bereits als Schlüsselwort hervorgehoben. Und das funktioniert so, dass ich das aufschreibe und es erklären werde. Wir können also sagen, dass ich gleich eins ist und ich sage zehn, und ich sage noch einmal Komma und dann eins und dann tu es. Und sobald ich hier die Enter-Taste drücke, siehst du, dass das Ende degeneriert und alles innerhalb dieser For-Schleife, ähnlich wie wir es von Statements gesehen haben, oder? Alles statt dem für Loop wird in diesem Fall zehnmal gemacht. Nun, wie ist das? Wie funktioniert das? Was bedeutet dieser Wahnsinn? Nun, das bedeutet Folgendes. Das bedeutet, dass wir die Schleife natürlich mit dem Zählen beginnen müssen, weil wir wissen müssen, wie oft wir sie durchlaufen. Was auch immer wir hier hineinlegen, wir können es in diesem Fall einfach ausdrucken, oder? Also drucken wir einfach die Zahl aus , die wir zählen. Und die Frage ist, okay, wir haben angefangen, eins wird bei eins anfangen, was damit gemeint ist, oder? Also fangen wir bei eins an, okay, das sollte ziemlich selbsterklärend sein. Habe einen angefangen. Jetzt werden wir um zehn Uhr enden. Das bedeutet diese Zahl , und dann ist sie extrem stark. Diese Zahl bedeutet , dass wir die Anzahl jedes Mal um eins erhöhen , wenn wir die Runde beendet haben. Wir könnten auch drei machen. Also erhöhen wir die Anzahl um drei oder zwei oder sechs oder neun oder ehren 26, wenn wir wollten, damit können wir eine Menge Sachen machen. Aber vorerst wir das gerade durch. Und jedes Mal, wenn wir diesen Druck durchgehen, erhöhen wir dieses I um eins. Und sobald es zehn ist, sind wir damit fertig. Nun, lass uns spielen und sehen, was passiert. Und Sie werden sehen können, ob wir die Leistung ein wenig erweitern. 1 234-567-8910, genau das, was wir erwartet hätten. Aber wir erhöhen dieses I jedes Mal um eins, wenn wir eine Runde beendet haben. Also fangen wir hier von vorne an. Wir sagen, okay, ich bin gerade einer. Der Rest geht uns im Moment nichts an weil ich nicht zehn bin oder er kleiner als zehn ist. Also sagen wir, es geht uns völlig gut. Und dann drucken wir I aus, was in der Tat eins ist. Wir kommen zum Ende. Also kehren wir zur For-Loop zurück. Wir sagen, okay, jetzt ist ich um eins erhöht, also jetzt bin ich zwei und so weiter und so weiter und so weiter, bis wir zehn sind. Und dann sagt der Loop: Oh, sieh dir das an. Es ist jetzt zehn. Also sind wir fertig. Und das nennt man in diesem Fall einen For-Loop. In der Tat sehr interessant. Jetzt können wir auch eine andere Art von Schleife haben. Lass mich das Spiel für einen Moment unterbrechen. Und wir können eine andere Art von Grippe haben und das ist eine Zeitschleife. Also können wir zB eine lokale Variable x hier haben , das sind drei. Und dann können wir sagen, während und wir können sagen, solange x kleiner oder gleich zehn ist, dann werden wir etwas tun , bei dem es in Reihe einen expliziten booleschen Ausdruck gibt , der wahr sein muss. Und obwohl das stimmt, werden wir das jetzt tun, während Schleifen bekanntermaßen anfällig für die folgende Sache sind, und das ist eine Endlosschleife. Eine Endlosschleife passiert, wenn Sie dies, aus welchem Grund auch immer, nie verfälschen können. Also, wenn x immer kleiner oder gleich zehn ist, dann geht diese While-Schleife, wird sie ewig andauern. Ich glaube, wenn ich mich richtig erinnere, Lula und zusätzlich haben Lula und zusätzlich Roblox Studio dafür eine Art eingebaute Ausfallsicherung, sodass Ihr gesamtes Roblox Studio diesem Fall nicht abstürzt. Aber ich empfehle dir trotzdem, das nicht auszuprobieren , weil es irgendwie nervig ist. Also hier können wir z.B. sagen, okay, wir werden einfach jedes Mal x um eins erhöhen und dann sollte es uns völlig gut gehen jedes Mal x um eins erhöhen und dann sollte es uns , denn wenn wir das um eins erhöhen, wird es natürlich wenn wir das um eins erhöhen, irgendwann größer als x sein, oder? Wenn wir also einfach drucken sagen können und das ist eigentlich auch x ausdrucken, dann wäre y nichts der Fall. Und lass es uns tun, bevor wir es erhöhen. Also drucken wir drei bis zehn aus. Und dann sollten wir auch außerhalb des Geschehens sein. Also lassen Sie uns hier drüben außerhalb des Loops noch einen Druck machen . Und lass uns das spielen und mal sehen, was hier passiert. Und natürlich 3-10, wo außerhalb der Schleife, absolut keine Sorgen. Das können wir auch, und das ist nur ein Beispiel. Darin drin. Egal, ob wir uns innerhalb einer While-Schleife oder einer For-Schleife befinden. Stimmt es? Nehmen wir an, wir wollen so sein, okay, weißt du was? Wenn x sieben erreicht, wollen wir eigentlich Folgendes tun und wir machen Schluss. Break ist ein weiteres Schlüsselwort , das sofort aus der Schleife ausbrechen wird sofort aus der Schleife ausbrechen als ob wir das Ende der Schleife erreicht hätten. Und das heißt nicht, dass wir dieses Ende erreichen. Wir sind wie außerhalb des kleinen Vogels, der herausspringt. Wir können auch continue verwenden. Und das würde so tun, als ob wir hier das Ende erreicht hätten. Das wird also die Runde fortsetzen. Dadurch wird der Kreislauf unterbrochen. Damit sind wir zu diesem Zeitpunkt im Grunde genommen außerhalb des Geschehens. Das ist die allgemeine Idee. Wenn wir hier also Pause verwenden, haben wir drei bis sieben Ausgänge. Sie können, oder in diesem Fall sogar sechs , weil wir x ausgeben, bevor wir es erhöhen. Also x ist sechs, es wird, es wird auf sieben erhöht. X7, wir brechen aus und deshalb haben wir 345,6. Und dann sind wir außerhalb des Geschehens. Wenn wir hier weitermachen würden, würde eigentlich nichts anders sein als zuvor, denn danach ist nichts anders sein als nichts mehr relevant, wenn die Aussage relevant ist. Wenn wir es hier jedoch ganz am Anfang platzieren würden , wäre es jetzt interessant, weil jetzt sieben nicht ausgegeben würden. Wenn wir das jetzt sehen, können Sie plötzlich sehen, was passieren würde, dass wir in eine Endlosschleife geraten würden. Nun, das ist natürlich App. Sie können also sehen, dass wir die zulässige Ausführungszeit ausgeschöpft haben , denn was hier passiert , ist, dass x sieben ist und wir dann sagen, okay, lass uns weitermachen und dann ist es wie Übung. Lass uns weitermachen, Lass uns weitermachen, Lass uns weitermachen, Lass uns weitermachen. Und das so lange, bis in diesem Fall die zulässige Ausführungszeit erreicht ist. Das sind 10 s, wenn wir das richtig sehen können, also beträgt der Zeitunterschied hier 10 s. Theoretisch kann das also passieren. Deshalb sollten Sie damit vorsichtig sein. Also könnten wir z.B. so etwas machen. Also das Drucken passiert danach und dann passiert das, was der Anstieg hier ist, vorher. Wenn wir also damit zu tun hätten, dann springen wir plötzlich 6-8 und in diesem Fall über sieben. Das ist also eine weitere interessante Idee. Und dann haben wir auch eine Wiederholungsschleife, die der While-Schleife ziemlich ähnlich ist . Was wir im Grunde machen, ist das Gegenteil. Also sagen wir im Grunde: Hey, wir wollen den folgenden Code wiederholen , bis etwas stimmt. Das ist so ziemlich, es entspricht fast dem While-Loop, aber es ist ein bisschen anders. Und das ist so geschrieben. Das ist so ziemlich alles über Loops. Oder sie können interessant sein. Das sollte so ziemlich alles sein, oder? Zusammenfassend lässt sich sagen, dass Schleifen eine unglaublich einfache und effiziente Methode sind unglaublich einfache und effiziente Methode , Code, den Sie wiederholen möchten x-mal zu wiederholen, es gibt für Loops, while Loops und repeat until Loops. Und das sind, glaube ich, die drei Hauptversionen. Es gibt auch ein paar interessante Sachen für Loops, für die wir später alle vier Loops sehen können. Aber insgesamt sind das im Grunde die großen Drei. Und sie können in der Tat sehr, sehr interessant sein. Ich empfehle daher dringend ein bisschen damit herumzuspielen. Wenn Sie eine kleine Herausforderung suchen, ist dies nur eine Herausforderung für Sie selbst. Du kannst das auf 100 erhöhen und die Zahlen 1-100 ausdrucken und dann genau das tun , was ich dir gesagt habe, und im Grunde sagen: Hey, wir wollen nur Zahlen ausdrucken , wenn sie durch zwei teilbar sind. Also wenn ja, ob es gerade sind oder wenn es keine gibt. Also das sollte eigentlich ziemlich einfach sein mit der If-und-Else-Vorlesung und der Loops-Vorlesung, das solltest du können. Ich kann Ihnen nur empfehlen, dies auszuprobieren. Es ist eine sehr unterhaltsame Übung. Unabhängig davon hoffe ich, dass Sie das nützlich fanden und Sie etwas Neues lernen werden . Wir sehen uns alle in der nächsten Vorlesung. Also, ja. 12. (Lua) Funktionen in Lua: Ordnung, willkommen zurück auf der Toilette oder hier zur Einführung in den Roadblocks-Kurs. Und in dieser Vorlesung werden wir uns Funktionen ansehen. Also habe ich dieses Wort ein paar Mal gesetzt. Lassen Sie uns hier ein neues Skript erstellen und es in 09 Dash Functions umbenennen , und natürlich auch 09 Funktionen hier. Nun stellt sich die Frage, was sind Funktionen? Nun, als übergeordnete Übersicht können Sie im Grunde mehrere Befehle anstelle einer Funktion eingeben mehrere Befehle anstelle und diese Funktion dann immer ausführen, anstatt all diese verschiedenen Dinge zu tun . Als übergeordnetes Beispiel können wir eine Funktion schreiben. Sie können sehen, dass dies ein Schlüsselwort und dann ist dies der Name der Funktion. Nennen wir das einfach Kochen, oder? Und dann können wir hier sogar etwas eingeben, also schreiben wir den Namen dieser Funktion und dann haben wir Klammern. Sobald Sie die offene Klammer eingeben, sollte die schließende Klammer automatisch generiert werden. Und hier können Sie dann bestimmte Argumente vorbringen. Diese werden Parameter genannt, sind Parameter und sie können an die Funktion übergeben werden, wodurch die Ausgabe geändert wird. Also in unserem Codierungsbeispiel hier, lassen Sie uns hier einfach nichts eingeben und eigentlich einfach zum Ende gehen, die Eingabetaste drücken und dann das Ende hier, wir generieren wieder automatisch. Das ist dasselbe , was wir auch bei den Loops und den Anweisungen if und else gesehen haben . Und hier drinnen, wenn wir etwas kochen, kann ich jetzt verschiedene Dinge hineinlegen. Nun, in diesem Fall wird es nicht funktionieren. Ich werde nur Kommentare machen, damit Sie Vorstellung von einer Funktion bekommen. Was ist eine Funktion, oder? Also jedes Mal, wenn wir kochen wollen, wollen wir vielleicht tatsächlich etwas Bestimmtes kochen. Also sagen wir einfach, sagen wir einfach, wir nennen das Kochessen der Argumentation halber, oder? Und jedes Mal, wenn ich Abendessen kochen möchte, muss ich ein paar Dinge tun, oder? Also muss ich Besteck rausholen, ich muss vielleicht den Ofen vorheizen. Ich muss Gemüse schneiden, solche Dinge. Es gibt also bestimmte Dinge, die ich immer tun muss , wenn ich diese bestimmte Funktion ausführen möchte, oder? Diese spezielle Sache. Und Sie können sie alle innerhalb einer Funktion auflisten. Und dann müssten wir, anstatt jede einzelne Anweisung einzeln zu schreiben , wenn wir dies mehrmals tun würden, immer jede einzelne Anweisung lesen. Und das ist Wahnsinn. Im Grunde ist eine Funktion ein Container , in den Sie in diesem Fall mehrere verschiedene Zeilen einfügen können , die dann ausgeführt werden. Nun, dies ist ein allgemeines Beispiel, an dem Sie sich ein Bild machen können. Hoffentlich. Schauen wir uns nun ein konkretes Beispiel an. Ein konkretes Beispiel könnte also eine Summenfunktion sein. Wir befinden uns innerhalb der Klammer. Wir haben tatsächlich Nummer eins und Nummer zwei angegeben. Und jetzt ist das Verrückte, wenn wir diese num-Funktion aufrufen würden, wollen wir tatsächlich, dass etwas zurückgegeben wird. Wir können also Rückkehr sagen. Und Sie können sehen, dass dies auch ein Schlüsselwort ist und wir wollen Nummer eins plus Nummer zwei zurückgeben. Und das ist es, was jetzt zurückgegeben wird. In diesem Fall haben wir natürlich schon eine Art Funktion, haben wir natürlich schon eine Art indem wir einfach den Plus-Operator verwenden. Dies ist jedoch nur ein Beispiel für Sie, um Funktionen zu verstehen und zu verstehen warum sie äußerst nützlich sein können. Denn jetzt können wir drucken und sagen, nun ja, die Summenfunktion, oder? Und wir können einfach einige drucken und dann 3.10 sagen. Und das ist, wie Sie sehen können, das ist, wir rufen die Summenfunktion auf. Sie können sogar sehen, dass es hier hervorgehoben wird. Wenn ich darauf und innerhalb von hier klicke, können wir eine Zahl und eine weitere Zahl eingeben, und diese werden hier summiert. Das sind also Parameter, die wir als Parameter übergeben, Sie müssen immer die richtige Anzahl an Parametern haben. Also wenn wir das tun, wenn ich das machen würde, dann bekommen wir hier zwar keine Probleme, wenn ich das tatsächlich ausführen würde, würden wir ein Problem bekommen. Aber der Argumentation halber, lass uns das einfach spielen. Und wir werden sehen, dass wir, wenn ich mir die Ausgabe ansehe, versucht haben, eine Addition für eine Zahl von Null durchzuführen , denn wenn ich etwas nicht richtig übergebe, dann ist das, was übergeben wird, Null. Jetzt haben wir das schon einmal gehört, oder? Null, es war nur das Fehlen eines Werts in einer bestimmten Variablen. Also müssen wir etwas weitergeben. Und wenn wir beide Zahlen hier eingeben würden, dann könnten wir feststellen, dass die Summenfunktion 13 ausgibt, was genau das ist, was wir hier erwarten würden. Nun, wenn Sie tatsächlich etwas skripten, können Funktionen natürlich viel komplizierter werden, aber das ist nur eine sehr, sehr kleine Einführung in Funktionen. Wir werden sie sehen , wenn wir tatsächlich mit Roblox selbst programmieren. Um es hier zusammenzufassen, Funktionen, die Sie im Grunde verwenden können, um mehrere verschiedene Dinge zu stapeln und sie alle nacheinander ausführen zu lassen. Dies kann auch andere Funktionen beinhalten. Sie können auch zu bestimmten Dingen und Funktionen zurückkehren. ZB haben wir hier eine Summenfunktion , bei der wir zwei Parameter übergeben. Und die werden dann zurückgegeben, nachdem wir etwas mit ihnen gemacht haben. Das ist ein allgemeiner Überblick über Funktionen. Wenn Sie sich nicht ganz sicher sind, wie Sie sie verwenden sollen, machen Sie sich keine Sorgen, das Wichtigste ist, dass Sie in dieses Thema eingeführt wurden und wir in späteren Vorlesungen auch mehr über Funktionen erfahren können mehr über Funktionen erfahren können . Ansonsten hoffe ich, dass Sie das nützlich fanden und etwas Neues gelernt haben. Wir sehen uns in der nächsten Vorlesung. Also, ja. 13. (Lua) Tabellen in Lua: Okay, willkommen zurück zur Klo-Einführung hier für die Roboterergebnisse , dann zu dieser Vorlesung, wir werden uns die Tabellen ansehen. Nun, Tabellen sind eine sehr interessante Sache und sie können ziemlich kompliziert sein, aber mach dir keine Sorgen, wird uns gut gehen. Also lass uns hier Tabellen und Hash-Tabellen machen und dann das Gleiche hier drüben. Und das ist, Tabellen sind Tische. Die allgemeine Idee von Tabellen ist im Grunde , dass Sie eine Art Liste bestimmter Dinge haben. Also, wenn eine Tabelle natürlich ein bisschen anders ist als eine Liste, aber Sie können sie sich vorerst als Liste vorstellen , damit wir etwas zum Testen haben. Ich werde eine lokale Variable namens days erstellen. Und in diesen Tagen wird dies eine Liste aller Tage von Montag bis Freitag sein. Zuallererst, Was wir tun werden ist gleich und dann eine geschweifte Klammer, die sich schließende geschweifte Klammer wird automatisch wieder generiert. Und das wird in diesem Fall eine Tabelle mit Zeichenketten sein. Also das wird das Montagskomma sein, und dann haben wir Dienstag. Und kannst du dir vorstellen, was genau als Nächstes kommt? Tag der Zeugen, so heißt es Donnerstag und dann haben wir nicht zuletzt auch Freitag. Da hast du es. Das sind also im Grunde, naja, das sind die Tage und wir können jetzt Folgendes tun. Wir können drucken, oder? Und was wir drucken können, ist, dass wir einen Tag drucken können. Und der Tag, an dem wir drucken ist, dass wir gut drucken werden, wie wäre es, wenn wir ausdrucken wollten, sagen wir Mittwoch. Wie machen wir das? Nun, lassen Sie uns über diesen Tag nachdenken, damit wir Tage einplanen können und Sie sehen, dass er uns das sogar vorschlägt. Und wie kommen wir nun tatsächlich aus einem unserer Todesfälle heraus? Nun, wir haben diese Klammer hier und die Erkenntnisse können wir in eine Zahl eintragen. Und diese Zahl steht für den Index einer Seite der Liste, oder? Das wird also das Element von Index eins und X2 und X3 und X4 und X5 sein. Aber alle, Mittwoch, wir machen drei und lasst uns einfach spielen und schauen, ob wir Mittwoch rauskommen und tatsächlich einen Tag, Mittwoch, das ist schon ziemlich geil. Jetzt beginnt der Index hier bei Eins statt bei Null. Das ist also nur wichtig, wenn Sie bereits programmieren und wenn Sie schon einmal programmiert haben, normalerweise, wenn Sie andere Dinge in anderen Sprachen und anderen Programmiersprachen tun andere Dinge in anderen Sprachen , beginnen Indizes normalerweise bei Null. Dies ist bei Lua nicht der Fall. In Lua beginnt jeder Index bei eins. Das ist sehr wichtig. Wenn Sie jetzt nicht wissen, was das alles bedeutet, machen Sie sich darüber keine Sorgen. Das ist in Ordnung. Ich sage nur, dass es für Leute, die schon einmal programmiert haben, eine sehr, sehr wichtige Sache ist, die es zu beachten gilt. Jetzt haben wir natürlich einen Ausgang, aber was ist, wenn wir vielleicht wollen, wir geben alles aus. Das wird also etwas komplizierter aussehen, aber wir haben einen For-Loop, den wir verwenden können , der im Grunde alles innerhalb dieser bestimmten Tabelle ausgibt. Nun, es gibt zwei verschiedene Dinge, die wir tun können. Wir können entweder einen normalen For-Loop verwenden , genau da, wo wir sind Hey, ich möchte bei eins anfangen und ich möchte bei aufhören. Dies ist ein sehr wichtiger Hashtag-Tag. Das wäre also die Länge dieser speziellen Tabelle. Zum Beispiel, wie viele Elemente sind in dieser Tabelle? Ich möchte um eins erhöhen. Dafür will ich machen und dann einfach Tage ausdrucken. Noch einmal Klammern. Ich habe gesehen, dass dies theoretisch am Montag, Dienstag, Mittwoch, Donnerstag, Freitag ausgegeben werden sollte . Das sollte völlig in Ordnung sein. Mal sehen, ob das funktioniert. Und natürlich Montag, Dienstag, Mittwoch, Donnerstag, Freitag. Absolut, keine Sorge. Und es funktioniert völlig gut. Das ist ziemlich cool. Es gibt einen zweiten Weg , wie wir das tun können. Das funktioniert absolut, aber es gibt einen anderen Weg , wie wir das machen können. Jetzt dieser, ein bisschen komplizierter. Der Grund, warum die andere interessant sein könnte, ist jedoch , dass die Tabellen derzeit dem Index zugeordnet sind. Also im Grunde ist das rot, das ist eins, das sind zwei, das sind drei, das sind vier, das sind fünf. Theoretisch könnte ich machen, was ich will. Also ich könnte, und ich werde einfach, ich werde einfach verrückte Sachen machen. Sagen wir einfach, a ist gleich dem, C ist gleich dem, d ist gleich dem und dann ist F gleich dem. F ist E. Eigentlich hast du es. Sie können also sehen, dass es hier keine, nein, es gibt keine Fehler, weil sie jetzt verschiedenen Schlüsseln zugeordnet sind, oder? Also das Verrückte ist, wenn ich das behalten würde und ich spiele es, dann wirst du feststellen, dass ein Tag gleich Null ist. Und wir geben auch nichts aus weil es kein gibt, das ist alles Null. Es, das funktioniert nicht. Aber so gut müssen wir das Schlüsselwertpaar bekommen. Weil wir diese Tabelle im Grunde von einer normalen Liste, in der Sie über den Index auf die Elemente zugreifen können, in eine Art Wörterbuch oder eine Map umgewandelt diese Tabelle im Grunde von einer normalen Liste, in der Sie über den Index auf die Elemente zugreifen können , in eine Art haben , die einen Wert einem anderen Wert zuordnet. Jetzt können wir also eine For-Schleife mit einem Schlüssel und einem Wert machen, und zwar paarweise in der Tagestabelle. Dann werden wir etwas tun. Aber das sieht ziemlich verrückt aus. Die allgemeine Idee ist jedoch, dass dies das Neue ist. Was wir nehmen ist, dass wir einen Schlüssel bekommen , der immer das Erste ist, was hier ist, oder? Also a ist gleich, das ist der Schlüssel und der Wert ist was darin geschrieben steht, oder? Vorher war der Schlüssel also nur der Index 1.234,5. Und jetzt ist der Schlüssel a, B, C, D und E. Das ist das einzige, was sich geändert hat. Und wenn wir Folgendes tun würden, wenn wir jetzt Tag oder sagen wir, sagen wir Schlüssel machen würden. Und dann drucken wir den Schlüssel aus. Und ich werde den Wert berechnen und dann den Wert ausdrucken. Sie werden feststellen , dass dadurch der Schlüsselwert Montag usw. ausgegeben wird . Aber lass uns das einfach spielen. wird Schlüssel a den Wert Montag sehen, Schlüssel C ist Mittwoch Interessanterweise wird Schlüssel a den Wert Montag sehen, Schlüssel C ist Mittwoch, und das ist auch eine sehr wichtige Sache. Es ist nicht mehr in Ordnung. Ist das nicht verrückt? Nun, das ist in der Tat der Fall. Also lass uns das einfach noch einmal spielen. Wie wir sehen, hatten wir Montag, Mittwoch, Dienstag, Freitag, Donnerstag. Lass uns das noch einmal machen und wir bekommen wieder die gleiche Bestellung. Dies ist eine weitere äußerst wichtige Lektion, denn wenn wir diese Paare hier verwenden, ist die Reihenfolge, in der wir sie gespeichert haben, nicht garantiert. Das ist extrem wichtig und muss grundsätzlich beachtet werden. Es ist jedoch immer noch eine sehr, sehr interessante Sache. Aber behalte das im Hinterkopf, es ist sehr cool. Und wenn ich den Wert der Schlüssel hier nochmal löschen würde , oder? Und wir sollten das noch einmal durchmachen. Was wird der Schlüssel sein? Nun, es ist genau 12345. Jetzt ist die Reihenfolge korrekt , weil ich mich dazu nicht zitiere. Ich bin mir nicht hundertprozentig sicher, aber ich bin mir ziemlich sicher, dass die Schlüssel sortierbar oder bestellbar sind, oder? Also 1234, es gibt eine bestimmte Reihenfolge für diese Dinge, dann wird die Reihenfolge immer so sein , wie du sie im Grunde gespeichert hast. Und das ist ziemlich cool. In der Tat. Das ist aber nicht alles, denn was fehlt in diesen Tagen? Nun, natürlich fehlen Samstag und Sonntag. Was wir also tun können, ist, dass wir bestimmte Werte in diese Tabelle einfügen können . Wir können Table Dot machen und Sie können sehen, dass es eine Menge Dinge gibt, die wir tun können, wir können bestimmte Dinge erstellen, wir können bestimmte Dinge finden. Wir können sogar sehen, dass der maximale numerische Schlüssel zurückgegeben wird. Es gibt verrückte Sachen. Wir können Dinge bewegen, wir können sie sortieren, wir können sie klonen. Aber für unsere Zwecke möchte ich eigentlich nur etwas einfügen. Und das, was ich einfügen möchte, ist, dass ich in Tage einfügen möchte. Das ist also die Tabelle, in die wir einfügen wollen. Dann müssen wir das Spezifische eingeben, in diesem Fall möchte ich das eigentlich an einer bestimmten Stelle platzieren. Also werde ich das auf Position Nummer sechs setzen. Und dann möchte ich den Wert angeben. Und der Wert hier ist Samstag. Und was wir tun können, ist das einfach zu kopieren. Und dann, in diesem Fall, auf Position sieben, möchte ich am Sonntag platzieren. Und wenn wir das jetzt ausgeben würden, also noch einmal, kann ich einfach nehmen, was ich will. Eigentlich nehmen wir einfach diesen und dann löschen wir ihn einfach von hier aus. Das wird okay sein, damit wir den Output hier nicht überspannen. Lassen Sie uns spielen, und Sie werden feststellen, dass wir jetzt einen Schlüssel sechs haben, der den Wert von Samstag zurückgibt, und einen Schlüssel sieben, der den Wert von Sonntag zurückgibt. In der Tat sehr interessant. Und dann noch eine letzte Sache hier. Jetzt weiß ich, dass das ziemlich viel war und das sind viele neue Dinge auf einmal. Mach dir überhaupt keine Sorgen. Wir werden in der Lage sein, weißt du, du wirst in der Lage sein, das ein bisschen später mit Leichtigkeit zu bewältigen . Was ich jedoch wie immer empfehle , ist, damit einfach ein paar Dinge auszuprobieren . Probiere es aus. Wenn Sie hier verschiedene Werte haben, indem Sie anstelle von Zeichenketten haben, können Sie hier Zahlen eingeben. Und das ist übrigens auch eine wirklich interessante Sache. Sie können sogar verschiedene Werte von Variablentypen kombinieren und kombinieren. Sie können hier Zahlen haben und so weiter und so fort. Was eigentlich sehr interessant ist , denn das bedeutet, dass Sie quasi einen Kurs haben können. Nun, das ist ein bisschen fortgeschrittener und wieder etwas für Leute, die bereits in einer anderen Sprache programmiert haben . Also kannst du haben, also können wir zB eine Person haben, die einen Vornamen hat, z. B. John. Und es kann einen Nachnamen haben, der vielleicht Smith ist. Und dann kannst du sogar ein H haben, oder? Welches ist vielleicht eine 32. Und jetzt kann ich Person für Person drucken. Und dann wollen wir FirstName eingeben, dieses y und dann wollen wir die Person haben. Wir können auch Person Dot machen, und das ist verrückt. Wir können sogar Person Dot machen. Und Sie können alle drei verschiedenen Dinge sehen , die wir in diese spezielle Tabelle aufgenommen haben. Wir können so ausgeben. Also können wir den Nachnamen eingeben und dann können wir sagen, ist, dass wir Person.New Age, Jahre alt sagen können. Lassen Sie mich ein wenig herauszoomen. Da hast du es. Also Person und was? Es wird den Vornamen der Person ausgeben. So können wir uns schreiben. Wir können auch so darauf zugreifen. Und wir haben nur ist und dann das Alter, Jahre alt. Lassen Sie uns dieses LLS ausgeben, das abspielen und sehen, ob das funktioniert. Und natürlich ist ihr Sohn John Smith 32 Jahre alt. Absolut verdammt, großartig. Das ist wirklich cool und wir können natürlich noch ein bisschen weiter gehen. Und jetzt ist das nur, ich möchte das nur erwähnen. Wir können sogar eine Tabelle mit Tabellen erstellen. Das bedeutet, dass wir theoretisch mehrere Personen haben können und dann eine Liste dieser Personen haben können. Wir werden das hier nicht machen , weil das absolut Wahnsinn ist. Dies würde den Rahmen der Lula-Einführung hier bei weitem sprengen. Ich wollte dir Tische vorstellen. Sie können ziemlich kompliziert sein. Das kann ein bisschen kompliziert sein. Das kann ein bisschen kompliziert sein. Aber hoffentlich konnte ich Sie dazu bewegen, zu verstehen, was hier passiert. verstehen, was hier passiert. Nochmals, ich empfehle dringend , das Skript hier mitzunehmen, das natürlich immer zum Download zur Verfügung steht. Und du kannst das nehmen und es einfach ausprobieren. Versuche, verschiedene Dinge damit zu machen, Dinge an verschiedenen Stellen einzufügen, Dinge einzufügen, die um die Person hier herum liegen. Ich kann nur empfehlen, das zu tun und zu versuchen, ein Gefühl dafür zu bekommen, wie das funktioniert. Aber noch einmal, um die Gesamttabellen zusammenzufassen, oder es können Listen von Dingen sein , die bestimmte Schlüssel und bestimmte Werte haben. Wenn Sie die Schlüssel nicht angeben, sind die Schlüssel nur eins bis unabhängig der Anzahl der Elemente, die sich in diesem Fall in dieser Tabelle oder Liste befinden . Und du kannst sie mit zwei verschiedenen For-Loops durchspielen , zwei verschiedenen Arten von For-Loops. Und das ist in der Tat sehr, sehr cool. Wir können die Tabellen sogar verwenden, um so etwas wie einen Kurs zu machen. In diesem Fall ist es eine Person hier drüben , die einen Vornamen und ein Alter hat. Und wir können das auf zwei verschiedene Arten ausgeben. Nun, das war's für diese Vorlesung hier. Ich hoffe, Sie fanden das nützlich und Sie werden etwas Neues lernen und wir sehen uns alle in der nächsten Vorlesung. Also, ja. 14. (Lua) Die Math in Lua: Ordnung, willkommen zurück zur Klo-Einführung hier für die Roadblocks-Cores. Und in dieser Vorlesung werden wir über die Mathematikbibliothek sprechen , oder? Also lasst uns natürlich noch einmal unser Script hier erstellen, 11. Das wird mathematisch-liberal sein. Da hast du es. Und das wird 11 Mathe sein, das wird in Ordnung sein. Und das wird hier nur eine sehr, sehr kleine Einführung sein . Aber es könnte nützlich sein. Also haben wir natürlich schon ein paar mathematische Dinge gemacht, oder? Wir haben addiert, subtrahiert, multipliziert, dividiert und wir haben sogar den Rest erhalten. Ziemlich verrückte Dinge , die wir schon gemacht haben. Aber mit der Mathematikbibliothek können wir noch verrücktere Dinge machen. Also, wenn wir z. B. minus fünf drucken würden , aber wir sagen, weißt du was? Eigentlich ist es mir egal , ob es minus fünf oder plus fünf ist oder nicht. Ich will dafür eigentlich nur die absolute Zahl. Nun, wir können einfach den Mathepunkt ausdrucken. Und du kannst hier all die verrückten Dinge sehen , die wir mit dieser Mathematikbibliothek im Grunde bekommen können. Wir können eine Zufallszahl bekommen. Das werden wir gleich sehen. Wir können sogar Pi verrückt machen. Wir können den Exponenten machen, wir bekommen den Kosinus, wir können einen Winkel zurückgeben, den Sie im Bogenmaß angeben, und er wandelt ihn in Grad um. Wir bekommen den Logarithmus. Es gibt eine Menge Dinge, wie Sie deutlich sehen können, dass wir das können. Und das kann äußerst nützlich sein um noch mathematischere Dinge zu tun. Wenn du sagst, Oh, ich brauche diesen Mathekram nicht. Nun, zum Beispiel ist es wirklich nützlich, Dinge wie die Sinuswelle zu haben . Denn was man mit einem Schild machen kann, ist z.B. perfekte Kreise zu machen und so Dinge in Kreisen zu verwischen. Ich sage nur, dass das eines der Dinge ist, bei denen das äußerst nützlich sein kann. Aber in diesem Fall wollen wir eigentlich abs, was für absolut steht. Wir erhalten also den absoluten Wert von minus fünf, was, wenn wir nur spielen, natürlich fünf ist, weil, nun, das ist der absolute Wert. Dem absoluten Wert ist das Vorzeichen egal. Es geht nur darum, nun, was ist der tatsächliche Wert? Es gibt noch andere Dinge , die wir tun können. Also können wir zum Beispiel blaugrün rechnen. Das wird also die Decke sein. Sie können sehen, dass die kleinste Ganzzahl zurückgegeben wird, größer oder gleich x ist. Was bedeutet das? Okay, das klingt so, es viel verrückter klingt als es tatsächlich ist. Wenn wir 10.21 eingeben, wird es einfach zurückkehren, naja, es wird versiegelt. Es wird also tatsächlich eine Ganzzahl daraus machen, was bedeutet, dass es auf die nächste ganze Zahl aufwärts gerundet wird . Wenn wir tatsächlich den anderen machen , der Boden sein wird, wird das abgerundet. Wir können das also tatsächlich aufstellen, aufrunden und dieser rundet ab, doppelt. Denken Sie daran, dass das mit den normalen Rundungen nicht abgerundet wird, oder? Also haben wir auch eine Runde. Dieser läuft in diesem Fall auch ab, weil er eigentlich richtig aussieht. Oder die Regel richtig? 0,5 bedeutet, dass Sie aufrunden und alles unter 0,5 rundet ab. Aber schauen wir mal, das sollte 111010 sein. Uh, schau, ob das tatsächlich der Fall ist. Und natürlich 111010. Perfekt. Und lassen Sie uns das beenden und das noch einmal mit 0,5 machen und dann sollte es 111011 sein. Und natürlich 111011, genau wie wir dorthin gekommen sind. Sie sind absolut perfekt. Genau so funktioniert das, weil das die, sagen wir mal, normalen Rundungsregeln sind. Da hast du es. Das sollte also hoffentlich Sinn machen. Wir können auch das Minimum und das Maximum ermitteln. Das ist also auch, kann in der Tat ziemlich nützlich sein. Also das ist min, was im Grunde bedeutet, dass es dir die Mindestanzahl gibt. Du hast zwei Zahlen eingegeben, oder? Und es gibt eine kleinere Zahl zurück, die als r Omega angegeben ist. Das sollte also sehr sinnvoll sein. Und dann können wir natürlich zwei logische Konsequenzen daraus ziehen, nämlich die maximale Zahl, die die größte Zahl zurückgibt. Sie können tatsächlich, da bin ich mir ziemlich sicher, so viele Zahlen eingeben, wie Sie möchten. Lass uns das einfach machen. Warum nicht 60? Ich meine, das würde nichts ändern, das sollte theoretisch auch funktionieren. Lass uns einfach sehen. Und das tut es in der Tat. Der erste ist eins und der zweite ist 515. Das kann also sehr nützlich sein, z. B. möchtest du vielleicht die höchste Zahl für einen Highscore oder so bekommen , die Min- und Max-Funktionen können sehr nützlich sein. Aber lassen Sie uns auch Pi ausdrucken , weil White Hat und nicht Power sondern Pi. Und dann können wir auch die Quadratwurzel-Mathematik verwenden , dass SQRT die Quadratwurzel von 25 ist. Pi wird also natürlich 3,141, 5265 sein , so etwas. Und dann sollte die Quadratwurzel von 25 fünf sein. Mal sehen, wie weit war ich mit Pi entfernt? 314-15-9265? Ich glaube, ich hatte recht. Ich glaube, ich sagte 649. Ich bin mir nicht sicher, aber das ist im Grunde Pi. Und das ist natürlich mit Präzision, das ist Amin. werde diese Präzision in Spielen sowieso nie brauchen, ich bin mir ziemlich sicher, dass das die Präzision ist , die du dir holen wirst, der Umfang des beobachtbaren Universums innerhalb von Millimetern. Ich bin mir also ziemlich sicher , dass das gut wird. Und dann ist die Quadratwurzel von 25 natürlich fünf. Perfekt Der letzte geht. Sie können auch eine gewisse Zufälligkeit haben. Nun ist es sehr wichtig, dass Zufälligkeit für den Computer immer pseudozufällig ist. Im Grunde bedeutet das, dass Sie es mit einem bestimmten Wert ausstatten. Und wenn Sie Zahlen generieren, die immer gleich sein werden, ist das dasselbe. Die Idee, wenn man z.B. an die Minecraft-Weltgenerierung als Beispiel denkt , kann man sie in einen Seed stecken und dann generiert es immer dieselbe Welt. Nun, wie funktioniert das? Das ist genau der Samen , den du hineinlegst. Und dann sind die Werte, die man herausbekommt, immer dieselben. Also können wir eine zufällige Zahl machen, das wird dir eine Zahl geben, die Nummer 0-1. Und du kannst auch Mathe Punkt Random machen. Und wir können da tatsächlich Sachen reinstellen. Wir können also 0,10 eingeben und das sind die Unter - und Obergrenzen, die Sie erreichen können. Also lass uns das einfach spielen und wir können sehen , dass die erste Zahl 0,6 ist, was auch immer, was auch immer, was auch immer, was auch immer, und dann 42. Ich meine, was für eine perfekte Zahl hier, um n zu bekommen. Wenn wir das beenden und das nochmal spielen, werdet ihr feststellen, dass, oh, es sind genau die gleichen Zahlen, und das ist genau die Sache, weil der Startwert derselbe ist , oder? Also haben wir hier den gleichen zufälligen Startwert. Wenn ich das ändere, bekommen wir jetzt ganz andere Zahlen. Sie können also sehen, jetzt erhalten wir 0,0,69,57. Also, wenn du es in den Samen steckst , richtig, wenn du auch 100 hinzufügst, solltest du theoretisch genau die gleichen Zahlen bekommen wie ich. Und das ist die Idee dieser Zufälligkeit oder der Pseudo-Zufälligkeit. Das ist in der Tat ziemlich cool Wenn du das komplett randomisieren willst, brauchst du normalerweise die Anzahl der Sekunden auf deinem Computer oder die Anzahl der Ticks auf deinem Computer, denn das ist normalerweise zufällig genug für einen Seed. Um es zusammenzufassen. Insgesamt sind die mathematischen Funktionen, naja, es gibt reichlich und sie können dir viele verschiedene Dinge bringen. Sie können absolute Zahlen, Sie können auf- und abrunden. Du kannst Minimax bekommen, und du kannst hier sogar einige Konstanten wie Pi und sogar Zufallszahlen bekommen , deren Endspiele extrem nützlich sind. Und sie können dir einfach, sie können dir bei einer Reihe verschiedener Dinge sehr helfen. Es sind morgendliche Feinde in einem bestimmten Gebiet , die ein bisschen zufällig sind oder Feinden zufällige Attribute verleihen. Alle möglichen Dinge. Wirklich cool, oder? Aber damit sind diese Vorlesung und auch die gesamte untere Einführung abgeschlossen. Hoffentlich war dies eine gut genug Einführung, damit Sie sich hier mit Laura ein wenig vertraut machen können. Wenn Sie sich diesbezüglich immer noch nicht sehr sicher fühlen , ist das völlig in Ordnung. Es gibt zwei Dinge, die ich auf jeden Fall empfehlen kann. Erstens, wenn es bestimmte Themen gibt , über die wir gesprochen haben und bei denen Sie etwas wackelig sind, versuchen Sie, die Vorlesung noch einmal durchzugehen und zu sehen, ob mit all den verschiedenen Dingen, über die wir bisher im Nachhinein gesprochen haben , sie mit all den verschiedenen Dingen, über die wir bisher im Nachhinein gesprochen haben, jetzt etwas einfacher zu verstehen sind. Zweitens, was ich nur empfehlen kann ist, einfach mit diesen herumzuspielen, mit den verschiedenen Themen , die wir haben. Spielen Sie einfach ein bisschen mit den mathematischen Funktionen hier drüben herum, spielen Sie mit Tabellen, spielen Sie mit Loops und wenn- und Else-Anweisungen herum . Mit nur diesen 11 Dingen, über die wir gesprochen haben , können Sie bereits viele Dinge tun . Auch wenn es vielleicht nicht viel zu sein scheint. Ich sage dir, das ist die Grundlage, auf der alles, jedes Spiel, im Grunde genommen mit all diesen Grundlagen erstellt wird. Ja, natürlich gibt es auch viele andere Dinge. Aber diese Grundlagen, wenn Sie sie nicht verwenden können, dann ist alles andere irrelevant weil Sie die Grundlagen, die Grundlagen, kennen müssen. Sonst funktioniert es einfach nicht gut. In dieser Hinsicht stoßen wir auf echte Hindernisse, falls dies für Sie bisher nützlich war Ich würde mich über eine Bewertung von Ihnen sehr freuen. Ansonsten sehe ich dich in der nächsten Vorlesung. Also, ja. 15. (Roblox) Roblox Studio erklärt: In Ordnung, willkommen zurück zu den Roblox-Ergebnissen. In dieser Vorlesung werden wir uns einige der Benutzeroberflächen von Roblox Studio ansehen . Das soll euch nur einen allgemeinen Überblick geben, nicht auf jeden einzelnen Button eingehen und was alles macht, denn dafür bräuchte man im Grunde ein zweistündiges Video. Und genau das hatte ich nicht im Sinn. Ich wollte dir nur jedes der verschiedenen Fenster hier zeigen und ungefähr, was sie machen. Also entweder diese oder vielleicht ohne die Ausgabe wird ungefähr das sein , was du sehen wirst, wenn du Roblox Studio zum ersten Mal mit einem benutzerdefinierten Spiel öffnest . Das Erste, was ich wirklich möchte, ist die Ausgabe hier anzusehen und hinzuzufügen, denn die Ausgabe ist eines der wichtigsten Dinge, die wir während des gesamten Kurses verwenden werden, weil sie uns im Grunde ermöglicht geben alles, was wir wollen, durch Skripte aus. Und hier wird das angezeigt. Dann konzentrieren wir uns auf diesen großen Bereich hier, der quasi die Kameraansicht ist. Und du kannst sehen, dass ich gerade im Auswahlmodus bin. Es gibt auch den Bewegungsmodus, den Skalierungsmodus und den Rotationsmodus. Sagen wir im Auswahlmodus. Und wenn ich mit der rechten Maustaste darauf klicken würde, kann ich mich jetzt bewegen, wenn ich die Kamera bewege, aber ich kann mit dem Scrollen des Mausrads hineinzoomen. Und wenn ich mit der linken Maustaste klicke, kann ich tatsächlich bestimmte Dinge auswählen. Sie können also sehen, dass es jetzt blau umrandet ist, was bedeutet, dass ich dieses Objekt ausgewählt habe. Das ist die allgemeine Idee. Ich kann mich auch mit WASD bewegen und mit E und Warteschlange hoch, es geht rauf und runter. Sie können sehen, wenn ich die Kamera oben rechts bewege, bewegt sich auch der Würfel hier drüben, denn das ist ein dreidimensionaler Raum, er wird mit einem X-Wert, einem Y-Wert dargestellt , und ein Z-Wert davon ist nur ein dreidimensionales Koordinatensystem. Ich kann hier auf die Gesichter klicken und dann wird es zu diesem Gesicht wechseln. Also kann ich zur Ansicht von oben nach unten gehen. Und jetzt habe ich alles von oben nach unten im Blick. Es könnte für bestimmte Dinge nützlich sein, aber ich kann es auch jederzeit auswechseln. Wenn ich ein bestimmtes Objekt auswähle, kannst du sehen, dass es im Explorer rechts, rechts aufleuchtet , sodass du sehen kannst, dass der kleine Ort hier drüben dann hervorgehoben ist. Und die allgemeine Idee ist , dass ich auch einfach darauf klicken kann und dann wird es auch hervorgehoben. Also diese Idee des Entdeckers. Der Explorer steht für alles , was sich in unserem Spiel befindet, sowohl innerhalb der Spielwelt. Die Spielwelt ist der ganze Workspace-Kram, oder? Wenn ich also hier auf das Plus klicken würde, könnte ich hier eine Menge Dinge hinzufügen. Wir werden jetzt nichts hinzufügen, aber ich könnte wahnsinnig viele Dinge hinzufügen. Das ist im Grunde alles, was wir sehen. Und dann gibt es noch andere Dinge, oder? Es gibt also die Beleuchtungsdienste eines Spielers, paar Sachen zum Lagern. Einiges wird auch in den Vorlesungen durch die meisten dieser Dinge gehen . Aber vorerst ist der Arbeitsplatz wirklich das Wichtigste, was wir haben. Und vielleicht der Server-Skriptdienst, in den wir vorerst im Grunde alle unsere Skripte laden werden. dann unten rechts etwas ausgewählt haben, Wenn wir dann unten rechts etwas ausgewählt haben, können wir sehen, dass wir einige Eigenschaften haben. Eigenschaften repräsentieren ein bestimmtes Objekt, oder? In diesem Fall hat dieser spezielle Spawnort also diese besonderen Eigenschaften, genau wie Sie ein Mensch sind, oder? Und Sie haben einen bestimmten Namen , der eine Immobilie wäre, nur als allgemeine Idee. Und Sie können sehen, dass verschiedene Objekttypen unterschiedliche Arten von Eigenschaften haben. In diesem Fall ist der Spawnort also vom Typ Spawnort und er enthält einige Daten. Sie können also sehen, dass dies ist, was ist Stift orange oder hat dieser Name eine Größe? Das ist also Teil der Transformation und hat einen Pivot, es hat ein bestimmtes Verhalten, es hat Kollisionen, es hat einige Porteigenschaften und so weiter und so fort. Es hat sogar ein Kraftfeld, das für die Spawnorte spezifisch ist . Das Gleiche gilt für die Teams, da bin ich mir ziemlich sicher. Es gibt also eine Menge Dinge und Sie können hier sogar weitere Attribute hinzufügen. So sehr, sehr interessant. In der Tat werden wir uns auch in einer zukünftigen Vorlesung mit Eigenschaften befassen. Und dann, um auch nur einen kleinen Überblick zu geben . Wenn wir das also auswählen und jetzt in den Bewegungsmodus wechseln können, können wir das jetzt verschieben. Sie können also sehen, dass ich das jetzt bewegen kann. Ich kann es auch skalieren. Ich kann mir die Skalierung vorstellen. Wenn wir die Umschalttaste gedrückt halten, skalieren wir sie im Grunde gleichmäßig. Wenn wir die Kontrolle behalten und es in einer Achse skalieren, können wir es sogar so drehen. Und wenn du willst, dass das einrastet, dann könntest du das in der Bewegung hier drehen, Raster ausrichten, und dann kann ich es jetzt nur um 45 Grad drehen. Ich kann es nur in Schritten von einem Stern verschieben. Das ist die allgemeine Idee hier. Die meisten dieser anderen Dinge werden wir auch während des Kurses sehen . Die Transformation könnte immer noch einige interessante Dinge sein. Wenn wir also den Spa-Standort erneut auswählen, können Sie sehen, dass dies nicht die Transformation hier ist. Wir können viel detaillierter darauf eingehen, wie bestimmte Dinge zu tun sind. Sie sehen also, ich habe einfach eine viel bessere Kontrolle über alles, besonders wenn ich die Größe vergrößere. Sie können jetzt sehen, dass der Umfang der Studie hier tatsächlich in Zahlen dargestellt wird , was wirklich großartig ist. So kann ich mit dem Avatar des aktuellen Moments sehr, sehr genau umgehen. Wir brauchen hier eigentlich nichts. Das ist also nur, um Avatare hinzuzufügen, in diesem Fall um zu testen, nur um bestimmte Dinge hier zu testen. Von hier aus können wir spielen, wir können einen lokalen Server mit x Anzahl von Spielern starten. Wir können sogar den Player-Emulator ändern. Es ist sehr interessant. Die Ansicht ist eigentlich ziemlich wichtig, da wir hier bestimmte Fenster aktivieren und deaktivieren können. Und wie Sie sehen, gibt es tatsächlich eine ganze Reihe von Vermögensverwaltern und wir haben die Toolbox und wir haben den Objektbrowser und die Skriptanalyse und die Befehlsleiste. Es gibt hier also eine Menge Dinge, von denen wir die meisten im Moment überhaupt nicht brauchen. Das meiste Interessante ist die Toolbox vielleicht interessant sein wird. Hier kannst du also bestimmte Dinge von Roblox in dein Spiel laden , oder? Sie können also Lichter hinzufügen, in diesem Fall können Sie sogar einige Plugins hinzufügen, oder? Sie können also Plugins hinzufügen. Manche von ihnen kosten, manche Roebuck, manche nicht. Einige von ihnen sind kostenlos. Seien Sie jedoch immer vorsichtig, wenn Sie Dinge von anderen Leuten hinzufügen, die möglicherweise bösartigen Code in ihren bösartigen Skripten enthalten. Das gibt es. Meistens ist das für Dinge, die kostenlos sind. Schau dir immer an, wie viele Bewertungen sie haben und auch, wie viele positive Bewertungen die Hälfte sind, oder? Also etwas, das 91% positiv ist und mehr als 100 Bewertungen hat , das wird wahrscheinlich in Ordnung sein. Behalte das also im Hinterkopf und wir können das schließen. Sie können ein Raster hinzufügen, das jetzt eine Kraft ist. Dieses Raster können wir als zweistufiges Raster oder auch als 16. Notenraster erstellen. Das hilft dir nur zu sehen, was passiert. Beim Wireframe-Rendern werden im Grunde alle Volumenkörper deaktiviert, Sie erhalten nur ein Drahtmodell von allem. Dies kann etwas Rechenleistung sparen , da Ihr PC im Grunde sehr langsam ist. Und dann hier die Plug-ins , wir werden vorerst keine Plugins für die Vorlesungsreihe verwenden, weil wir in der Regel fast alles, was wir brauchen, manuell oder selbst machen können . Es gibt jedoch einige verdammt coole Plug-ins, die verfügbar sind. Aber darauf werden wir uns vorerst nicht konzentrieren, oder? Und das ist ein allgemeiner Überblick. Wie ich schon sagte, wir könnten vorerst auf alle möglichen Dinge bis ins kleinste Detail eingehen, wir werden damit klarkommen. Und wir werden dann im Grunde von hier aus einen Schritt nach dem anderen machen. Aber das war's für diese Vorlesung hier bis zum nächsten Mal. Also, ja. 16. (Roblox) Referenz eines Teils: Ordnung, willkommen zurück zu den Roblox-Grundlagen hier für den Robotik-Kurs. Und in dieser Vorlesung werden wir uns Teile ansehen und herausfinden, wie man sie referenziert. Was sind also Teile, während Poren sozusagen alles sind , was im Arbeitsbereich existiert. Wenn wir also hier auf diesen Teil klicken, können Sie sehen, dass wir einen neuen Port erstellen. Wir können das wieder löschen. Wir können auch zum Plus am Workspace gehen und bis zum Port runter gehen oder wir können einfach einen Teil hineinlegen und Sie können einen Teil sehen und dann wird auch ein neuer Teil für uns erstellt , wenn wir diesen Port haben. Wir können das jetzt verschieben und verschieben. Und wir können all die Dinge tun , die wir bisher gesehen haben, oder? Wir können uns bewegen und diesen Port skalieren. Wir können das größer machen, wir können es kleiner machen. Wir können das regeln. Es gibt also viele Dinge, die wir mit diesem speziellen Port machen können. Und es wird in der Tat sehr interessant , jetzt heißt dieser Port. Und was wir vielleicht tun möchten, ist, dass wir in einem Skript darauf verweisen möchten, oder? Es gibt also eine Reihe von Möglichkeiten, wie wir das tun können. Vorerst. Wir werden fast alle unsere Skripte anstelle des Server-Skriptdienstes erstellen , was das zu einem Serverskript machen wird , oder? Dies wird nur auf dem Server ausgeführt. Die Unterschiede zwischen Servern und Clients werden in den kommenden Jahren etwas mehr darüber sprechen , als winziger Überblick im Allgemeinen, der Server ist im Grunde das, was Roblox kontrolliert. Das ist wie irgendwo auf einem Server, irgendwo auf Roblox-Land, dass du damit nichts zu tun hast. Sie sind der Kunde, also ist Ihr PC der Client. Wenn du dich mit einem Spiel verbindest, verbindest du dich mit einem dieser Server und dein Client kann offensichtlich nicht alles tun, oder? So kann der Kunde die Anzahl der Münzen ändern, die Sie haben. Denn wenn du das machen könntest, könntest du einfach eine Taste drücken oder ein benutzerdefiniertes Skript erstellen und du denkst, Oh, ich habe 1.000 Münzen und dann die Server so, ja, absolut. Du hast 1.000 Münzen. Also muss es unabhängig davon eine Entkopplung geben, momentan eine Art Skriptdienst. Wir werden ein neues Script erstellen, ich nenne es. Wir wählen diesen F2-O2-Strich und nennen ihn die Referenz. Ligo wird dies noch einmal vergrößern und wir werden dies als referenzieren einen Teil im Workspace bezeichnen . Das wird in der Tat sehr interessant sein. Es gibt also ein paar Dinge, die wir tun können. Nehmen wir also an, wir möchten auf die Grundplatte verweisen. Wir können das schaffen. Lassen Sie uns einfach eine lokale variable Grundplatte erstellen und das entspricht dem Spiel. Wir wollen also immer mit Kleinbuchstaben beginnen. Das ist sehr wichtig, und jetzt kannst du sehen, dass ich alles, was ist, anstatt hier zu bekommen. Das Spiel ist also im Grunde die Wurzel des Explorers. Du kannst sehen, dass ich Spieler habe, und das ist dieser Typ hier drüben. Ich kriege einen Arbeitsplatz mit diesem Typen. Und jetzt gibt es noch eine Menge anderer Dinge, ich frage mich, ob Sie einen Arbeitsplatz haben. Noch einmal, sehr wichtig. Das Gehäuse ist hier wichtig. Behalte das immer im Hinterkopf. Ein Arbeitsbereich mit einem kleinen W sieht vielleicht so aus , als ob er funktionieren könnte, aber er wird nicht funktionieren. Also behalte das im Hinterkopf. Stellen Sie immer sicher, dass das Gehäuse korrekt ist. Das und jetzt plötzlich kann man sehen, dass es eine Menge Dinge gibt, aber es gibt auch eine Kamera, die genau hier ist. Und da ist Teil eins. Schau dir das an. Das ist cool, ist das derselbe Port? In der Tat ist es so. Und der Name hier muss genau übereinstimmen. Wenn ich das umbenenne, wenn ich darauf klicke, drücke F2 und benenne den Port in den Kleinbuchstaben p um. Das funktioniert nicht mehr. Jetzt können Sie sogar sehen, dass es uns einen Port mit Kleinbuchstaben vorschlägt, da dies der Name des Teils ist , auf den wir verweisen. Es muss exakt übereinstimmen. Ich weiß, dass ich an diesem Punkt feile, aber es ist extrem wichtig weil ich immer wieder gesehen habe , dass die Leute einfach das Gehäuse gewechselt haben. Das Gehäuse ist wichtig. Okay, jetzt referenzieren wir den Teil mit dem Kleinbuchstaben p, oder? Okay, das ist in Ordnung. Als Grundplatte wollen wir das nicht. Wir wollen uns eigentlich auf die Grundplatten beziehen. Also im Grunde genommen, da hast du es. Ich kann das mit der Tabulatortaste automatisch vervollständigen. Jetzt habe ich auf die Grundplatte verwiesen. Ich kann Dinge damit machen. Nun, okay. Aber was ist mit meinem Teil , auf den ich verweisen möchte? Nun, wir sagen wieder lokal. Und dann nennen wir es meinen Teil da es nur der Name der Variablen ist , der sich vom Namen des Objekts des Teils unterscheidet . Das ist auch sehr wichtig. Das ist es, was dargestellt wird. Fügen Sie den Code ein, solange dies der eigentliche Teil des physischen Objekts ist. Und noch einmal, wir sagen Game Workspace und dann Port, nicht Parent. Eigentlich wollen wir parken. Da hast du es. Und jetzt können wir Dinge mit einem Port machen, weil das Teil verschiedene Arten von Eigenschaften hat. Wir können diese Eigenschaften innerhalb des Skripts ändern. Wir können also meinen Teil sagen, die Variable ist, die auf diesen bestimmten Teil verweist. Das, und jetzt kannst du sehen, dass ich die Position ändern kann, ich kann den Namen, die Drehung, die Farbe ändern . In unserem Fall ändern wir einfach die Transparenz auf 0,5. Und dann machen wir auch meinen Teil Punktfarbe. Und dann können wir das in eine Farbe mit drei Punkten ändern. Und dann machen wir einfach so etwas wie eine Weile wir können die Farbe genau hier ändern. Also suchen wir uns einfach ein schönes Blau aus. Ja, das ist nett. Das generiert diese Farben also nur automatisch. Du kannst sehen, wenn ich auf die Höhe klicke, wenn ich auf Samstag klicke, wie du siehst, die Farbe genau hier, und du kannst auf das Farbrad klicken, um die Farbe zu ändern, was in der Tat sehr, sehr cool ist. Was passiert nun, wenn wir das Spiel tatsächlich starten? Nun, lass uns einfach in die Spielansicht gehen. Wir belauschen den Port gerade , es sieht völlig normal aus, aber wenn ich das Spiel starte, sollte das zu 50 Prozent transparent sein. Es sollte also zu 50% transparent sein und blau werden. Lass uns einfach das Spiel spielen und mal sehen wo, anstatt das Spiel. Und wenn ich hier rumgehe, können Sie sehen, dass es jetzt ein bisschen transparent und blau ist, genau das, was wir wollten. Wenn wir in den Arbeitsbereich gehen, können wir den Teil sogar hier sehen. Es hat jetzt eine andere Farbe und die Transparenz beträgt 0,5. In der Tat ziemlich cool, ich sehe , wenn wir das Spiel nicht mehr spielen, wird es in diesem Fall im Grunde auf seine ursprünglichen Eigenschaften zurückgesetzt , denn wenn wir sie anstelle des Skripts ändern, werden sie nicht dauerhaft geändert. Das wäre also eine Möglichkeit, über den Namen hier auf ein Teil in einem Workspace zu verweisen . Nun nochmal, es ist extrem wichtig, dass wenn ich die Namen hier ändere um z.B. meinen coolen Teil oder? Nun, wenn ich das jetzt spielen würde, was würdest du denken, passiert? Nun, wir beziehen uns auf etwas, das Teil genannt wird. Lass uns einfach spielen. Und wir werden sehen, dass dieser Teil kein gültiges Mitglied von Works ist gültiges Mitglied von oder kein Development-Mitglied von Workspace ist. Workspace und es hat weder seine Farbe noch seine Transparenz geändert weder seine Farbe noch seine Transparenz , da das Teil jetzt Mike Cool Part heißt . Also behalte das im Hinterkopf. Wenn Sie diesen Fehler genau hier erhalten, bedeutet das einfach, dass Sie wahrscheinlich auf etwas verweisen , dessen Name geändert wurde. Wenn wir sicherstellen, dass wir das machen, können wir plötzlich, wenn wir das spielen, sehen wir , dass wir keine Fehler bekommen. Und wieder bekommen wir unseren blauen Teil, der transparent ist. Ziemlich cool, richtig, um es zusammenzufassen, wie gesagt, achtet darauf, die Dinge richtig zu benennen. Du kannst game dot workspace dot verwenden, egal wie der Name deines Ports lautet, auf den du verweisen möchtest. Stellen Sie sicher, dass diese sicherstellen , dass das Gehäuse immer korrekt ist. Und dann können Sie auf die Eigenschaften zugreifen , indem Sie Ihre Teilvariable Punkt eingeben. Und dann können Sie auf alle Arten von Eigenschaften zugreifen , die Teil dieses speziellen Teils sind. Und du kannst sie mit einem Drehbuch ändern, aber das war's für diese Vorlesung hier. Ich hoffe, Sie fanden das nützlich und die Benachrichtigungen und die neue Wir sehen uns alle in der nächsten Vorlesung. Also, ja. 17. (Roblox) Arten von Skripts: Lassen Sie uns hier mit den Grundlagen von Roadblocks fortfahren . Folgen Sie dem Roblox-Kurs und in dieser Vorlesung werden wir uns die verschiedenen Arten von Skripten ansehen . Wir haben das also schon einmal gesehen, wenn wir ein neues Skript im Server-Skriptdienst erstellen, es wird im Grunde häufig verwendet sagen Script und Modulskript. Es gibt jedoch eine andere Art von Skript. Wenn wir das hier einfach eingeben, werden Sie sehen, dass es auch ein lokales Skript gibt. Das normale Skript hat leider anscheinend keinen Tooltip, das lokale Skript jedoch. Sie können also sehen, dass ein lokales Skript ein Skript ist , das auf dem Client und nicht auf den Servern läuft. Die Logo-Skripte können also unter den folgenden Dingen platziert werden . Rucksack eines Spielers, das Charaktermodell eines Spielers, eine Verwendung der GUI, das Spielerskript und der replizierte erste Dienst, das Modulskript, ist ein Skriptfragment und es wird nur ausgeführt wenn andere Skripts die Requirements darauf verwenden. Das ist also interessant. Und das Drehbuch, naja, das ist nur ein normales Drehbuch. Bisher haben wir normale Skripte unter dem Server-Skriptdienst verwendet . Und das wurde dann sowohl auf dem Server als auch auf dem Client ausgeführt. Das ist die allgemeine Idee. Jetzt gibt es einige Dinge, von denen Sie nur möchten, dass sie auf dem Client passieren. Das sind hauptsächlich Dinge, die im Grunde kundenspezifisch sind. Also vielleicht Bilder, oder? Vielleicht möchten Sie einem bestimmten Client Bildmaterial hinzufügen. Das ist so ziemlich etwas, was du mit dem Klienten machen willst. Lokale Skripts oder Client-Skripts. Sie können über Remote-Ereignisse mit einem Server kommunizieren . Aber das ist eher ein Zwischenthema für Fortgeschrittene, über das wir jetzt nicht sprechen werden. Aber die allgemeine Idee ist, dass wir ja lokale Skripte haben können. Wenn wir uns also noch einmal ansehen würden , wo wir das hinzufügen können, würden ein Rucksack, ein Charaktermodell, ein GYE, ein Spielerskript den ersten Dienst replizieren. Was wir also tun können, ist dies zuerst der Replikation hinzuzufügen. Du kannst sehen, dass es sogar sagt: Hey, lokales Skript. Und wenn wir das machen und einfach drucken, drucken, Hallo, die Welt ist eigentlich völlig in Ordnung. Lassen Sie uns das umbenennen und ich sage in diesem Fall das lokale O3-Skript. Und dann nur ein lokales Skriptbeispiel in diesem Fall, wir drucken einfach Hello World und wir werden sehen, ob wir das spielen, es wird ausgegeben. Aber jetzt, und das ist eine entscheidende Sache. Wir haben jetzt Kunden hierher gebracht. Das hatten wir also vorher nicht, oder? Wir erhalten jetzt tatsächlich etwas vom Kunden. Und das ist extrem wichtig wenn wir einfach auf den Referenzpunkt hier drüben eingehen und HelloWorld drucken würden Referenzpunkt hier drüben eingehen und , genau das Gleiche, nur der Argumentation halber und wir spielen das ab. Du wirst sehen, dass das jetzt auf dem Server ist . Du kannst sehen, wo du hingehst. HelloWorld ist also auf dem Server von O2 und referenziert Zeile acht und die andere, richtig, die HelloWorld, diese ist vom Client oder drei lokalen Skripten zum Schreiben. Jetzt könntest du sagen, nun, was ist der verdammte Unterschied, oder? Es ist nichts Verrücktes los. Nun, im Moment ist das mein Client und ich kann tatsächlich auf den Server und den Server wechseln. Der Server kontrolliert im Grunde alles, oder? Also zum Server, theoretisch könnte ich einfach sagen, Hey, weißt du was, nein, ich werde meinen Mann hierher bringen und ich werde ihn einfach bewegen. Jetzt können Sie sich nach den normalen Bewegungsregeln bewegen. Aber wenn Sie versuchen würden Ihre Position gegenüber dem Kunden zu ändern, , Ihre Position gegenüber dem Kunden zu ändern, funktioniert das nicht, denn genau hier kommen Anti-Cheating-Sachen ins Spiel. Daher ist die Trennung von Client und Server sehr wichtig. Das ist also im Grunde die allgemeine Idee ein lokales Skript ins Spiel kommt. Und wie gesagt, du kannst mit dem Server kommunizieren, aber das ist etwas für ein mittleres Level. Und dann ist ein Modulskript etwas komplizierter. Also werden wir hier einfach ein Modulskript O3-Testmodul erstellen . In diesem Fall nennen wir das tatsächlich Testimonial. Da hast du es. Im Modulskript besteht die allgemeine Idee also darin, Funktionen oder bestimmte, im Grunde genommen Funktionen, die Sie oft verwenden werden, einzufügen, oder? Also verschiedene Multiplikatoren, verschiedene Bonusfunktionen, einige Berechnungen, die Sie möglicherweise verwenden. Oft können Sie eine neue Funktion erstellen. Und das geht so, dass wir diesen Tisch hier drüben nehmen. Ich sage Modul. Das ist also der Name der Tabelle, die sich summiert. Das wird also der Name der Methode sein und dann was auch immer wir wollen. Also im Grunde werden wir einfach noch einmal eine Summenmethode erstellen und diesen Fall zurückgeben, nicht wiederholen, wir geben x plus y zurück. Also nochmal, das ist nur ein Beispiel. Schreiben Sie eine Summenmethode. Sie würden wirklich kein benutzerdefiniertes Modulskript dafür erstellen, sondern nur damit Sie sehen, okay, so würden Sie eine Methode in einem Modulskript erstellen und später darauf verweisen. Also wenn wir das haben, können wir jetzt im Server-Skript, Server wieder ein normales Skript erstellen und wir nennen das 03 Dash-Testmodule. Warum nicht? Das ist okay. Da hast du es. Und was wir tun werden, ist, dass wir dieses Modulskript jetzt irgendwie mit diesem bestimmten Skript verbinden müssen. Der Weg dazu ist, dass wir hier die Require-Methode verwenden müssen , aber eigentlich wollen wir eine lokale Variable erstellen. Nennen wir das einfach die Summe. Sicher, und das entspricht der erforderlichen Methode. Und dann müssen wir auf das Modulskript verweisen. Das ist also der Game Dot Server-Skriptdienst und das.o3-Testmodul genau so. Und dann wird es tatsächlich so dargestellt , weil wir eine Referenz eines Punktes mit einer Zahl beginnen können eine Referenz eines Punktes mit einer Zahl beginnen , aber das ist in Ordnung. Wir können es so benutzen, das ist okay. Und dann können wir sagen, lasst uns das ausdrucken. Lassen Sie uns also den Summenpunkt drucken und Sie können sehen, dass er uns jetzt sogar sagt, hey, wir können diese Tabulatortaste verwenden, um die automatische Vervollständigung vorzunehmen, und wir können 50,23 Shirt sagen. Warum nicht? Das wären also 73, die wir hier ausdrucken. Also lass uns spielen. Und wir werden sehen, dass der Server hier 73 ausdruckt. In der Tat ziemlich großartig. Und das ist natürlich wieder nur ein Beispiel. Die Idee hier ist, dass Sie wissen , ob Sie bestimmte Zahlen haben, oder? Sie könnten also Dinge hinzufügen wie, Sie wissen schon, Sie könnten verschiedene Tabellen hinzufügen. Du könntest vielleicht hinzufügen, dass es so etwas wie ein Erlebnis, einen Erfahrungsmultiplikator oder so etwas gibt, oder? Und dann könntest du einfach eine neue Tabelle hinzufügen und du würdest sagen , du weißt schon, vielleicht einfach, du sammelst mehr Erfahrung, oder? Dann bekommst du etwa 25 Punkte. Erfahrener, mittlerer, du bekommst eine ganz normale Erfahrung. Und dann auf hart hast du vielleicht weniger Erfahrung. Dies ist nur noch einmal, wie nur ein Beispiel dafür, was Sie hier verwenden könnten. Nun, diese wäre nicht nur im Modul verfügbar, das ist extrem wichtig, da es sich jetzt um eine lokale Variable handelt, oder? Schauen wir uns das mal an. Wenn wir die Summe R ausdrucken würden und versuchen würden, diese zu verwenden. Das könnten wir nicht tun. Wir verwenden hier nur einige, was interessant ist. Nun, wenn wir nicht lokal handeln würden, was würde jetzt passieren? Denken Sie, dass wir das jetzt nutzen können? Nun, schauen wir uns das an, richtig, Zusammenfassung, dass wir das immer noch nicht verwenden können, denn um das zu verwenden, müssen wir das Modul Punkt ausführen. Und jetzt wird es plötzlich zu dieser speziellen Tabelle hinzugefügt. Und wenn wir jetzt hier rein gehen, haben wir plötzlich den Erfahrungsmultiplikator zur Verfügung, der wirklich großartig ist und es kann im Grunde, ich meine, es macht einfach so viel Sinn, oder? Sie könnten viele Dinge anstelle von Modulen speichern, Skripten, die Sie in, naja, in allen verschiedenen Skripten verwenden werden. Vielleicht benennt ein spezieller Spieler das, vielleicht bestimmte Dinge , um später eine Verbindung zu bestimmten Diensten herzustellen. Also ein Modulskript, das für viele Dinge äußerst, äußerst nützlich ist. Und nur um es dir zu zeigen, du kannst Summationserfahrung sehen , Multiplikator Medium. Wenn du das ausdrucken würdest, dann würden wir uns eine Eins oder hier holen, weil das genau das Medium ist , das wir hier definiert haben. Das ist in der Tat ziemlich großartig. Zusammenfassend lässt sich sagen, dass es drei Arten verschiedener Skripts gibt, drei Arten verschiedener Skripts denen es sich um lokale Skripts handelt, die nur auf dem Client ausgeführt werden. Dann gibt es normale Skripte, die sowohl auf dem Server als auch auf dem Client ausgeführt werden können und die quasi automatisch synchron sind. Und dann gibt es auch Module, Skripte, die zum Speichern von Variablen oder Funktionen verwendet werden, die Sie überall in Ihrem Code verwenden können. Und das hilft dir im Grunde, dich nicht zu wiederholen. Wie dem auch sei, ich hoffe, Sie fanden das nützlich und Sie werden etwas Neues lernen und wir sehen uns alle in der nächsten Vorlesung. Also, ja. 18. (Roblox) Eigenschaften Übersicht: Lassen Sie uns mit dem Roadblocks-Anfängerteil des Roadblocks-Kurses fortfahren . Und in dieser Vorlesung werden wir uns die Eigenschaften ansehen. Also werden wir uns eingehend mit den Immobilien befassen. Also lasst uns einfach dieses Fenster erweitern und lasst uns einfach unseren coolen Teil übernehmen und uns all die verrückten verschiedenen Immobilien ansehen all die verrückten verschiedenen Immobilien , die wir zur Verfügung haben. Die erste ist also die Ziegelfarbe im Allgemeinen, die Ziegelfarbe und die Farbe oder fast dasselbe. Wenn wir hier also eine andere Ziegelfarbe wählen, sagen wir ein dunkles Blau, können Sie sehen, dass sich die Farbe hier ändert. Und die allgemeine Idee von Bricolage ist, dass es sich um vordefinierte Farben handelt , die einfach zu verwenden sind. Die Farbe kann zwar buchstäblich wie jede Farbe sein, oder? Wenn ich hier einfach eine zufällige Farbe auswähle , wird sie keinen Namen haben. Sie können also sehen, es sagt, dass es braun, gelblichgrün ist. Es wird also ungefähr dieser Farbe entsprechen, aber es ist nicht genau diese Farbe, oder? Du kannst also sehen, dass das alles Liebe ist. Und dann weiß ich nicht, ob es sich um Olivin handelt , aber wenn ich die Zahlen hier ein bisschen ändern würde , oder? Vielleicht wird das hier wie eine Zwei sein. Und dann wird es ein Sandviolett sein. Aber du kannst sehen, dass es, es ist nicht genau hier drin. Es ist einfach ähnlich wie Wo ist der Sand, Violett. Ich habe keine Ahnung. Ich kann es nicht finden. Wie dem auch sei, das ist die allgemeine Idee, oder? Sie können hier also eine Nummer eingeben. Das wäre also ein Hex, oder? So etwas. Jetzt ist es Black Metallic, aber das ist nicht wirklich schwarze Mentalität. Du kannst diese Farbe und diese Farbe sehen, sie sind nicht dasselbe. Es ist also die allgemeine Idee der Ziegelfarbe und der Farbe , wenn es darum geht, Schatten zu werfen, die ziemlich selbsterklärend sein sollte. Im Moment wirft er einen Schatten und jetzt nicht mehr. Das ist, das ist so ziemlich alles dazu gehört, das Material. Sie können also verschiedene Materialarten wählen. Bestimmte Materialien haben also bestimmte Eigenschaften. Sie können also z. B. Metall wählen , das ein wenig reflektierendes Licht sein wird. Sie können also sehen, dass das jetzt wirklich sehr nach Metall aussieht. Plastik würde einfach nichts sein. Wenn wir uns also für Glas entscheiden, ist es nicht zu 100% durchscheinend , weil die Transparenz natürlich nicht da ist. Aber wenn wir das transparent machen würden, wäre es jetzt wie ein Glas Shine n wäre auch transparent. Ziemlich cool. Es gibt also eine Reihe verschiedener Materialien , aus denen Sie wählen können. Plastik ist einfach der normale ohne echte Textur , oder? Also die Materialvariante in diesem Fall, wir haben keine Materialvarianz und ich bin mir nicht einmal sicher, welches der Materialien eine hat. Wir können zum Materialmanager hier oben gehen und uns tatsächlich alle Materialien ansehen , die es hier gibt. Kraftfeld, z. B. könnten wir das Kraftfeld wählen. So würde das Kraftfeld also aussehen. Und dann können wir hier reingehen und das Kraftfeld wählen , z.B. Kraftfeld. Und jetzt ist das ein Kraftfeld. Sie können also sehen, dass es von allen Seiten sehr durchsichtig ist. Das ist also in der Tat interessant. Und es gibt noch eine Menge anderer Dinge. Wir haben Metall hier, verschiedene Metallarten, Diamantfolie, korrodiert. Metal ist echt geil, dass man das mit so manchem Zeug kann, oder? Wenn wir korrodiertes Metall wählen, z. B. wenn sie sehen können, dass sich die Farbe hier ändert was ändert sich an der Textur selbst, oder? Jetzt können Sie also sehen , dass die Farbe hier der Grundfarbe entspricht. Wenn wir dieses Rot wählen würden, dann wird es plötzlich Rot, Grün, solche Sachen. Es ist also wirklich cool, was du hier gerne ändern kannst, und es ist wirklich geil. also nur empfehlen, ein bisschen damit herumzuspielen und ein Gefühl für diesen Brick zu ist auch ziemlich cool und man bekommt eine Brick-Textur obendrauf. In der Tat ziemlich beeindruckend, rote Reflexion und Transparenz. Wir haben schon einmal darüber gesprochen, oder? Durch Reflexion wird das eigentliche Ding einfach stärker reflektiert. Jetzt siehst du, dass das vom Material abhängig ist , denn jetzt das Ziegelmaterial, sie können eigentlich nicht reflektiert werden. Wenn wir wieder auf Plastik umsteigen würden, was im Grunde alles sein kann, was Sie wollen, können wir das so reflektieren, wie Sie möchten. 100% wären wortwörtlich, es reflektiert alles Licht. Also jetzt hat es einen, jetzt ist es ein Spiegel, oder? Und das spiegelt das perfekt wider. Aber weil unser Skript die Transparenz auf 0,5 erhöht, wollen wir das eigentlich nicht. Und jetzt haben wir wieder einen Spiegel. Jetzt können Sie sehen, dass es den Spieler nicht widerspiegelt. Das wird für einen Großteil der Verarbeitung viel zu intensiv sein. Aber das ist die allgemeine Idee für die Reflexion und dann für die Transparenz. Wir haben das schon gesehen, im Grunde genommen, wie transparent dieser spezielle Teil ist. Also Archivierung, eine sehr wichtige Sache bei all den verschiedenen Immobilien. Und das ist eigentlich sehr wichtig. Sie können den Mauszeiger darüber bewegen und es wird Ihnen eine kurze Beschreibung dessen geben , was dieses spezielle Ding bewirkt. Sie können also sehen, dass das Archiv im Grunde genommen nur so ist: Wird das hier gespeichert? Dann haben wir einen Klassennamen, der normalerweise gesperrt ist , weil dies in diesem Fall ein Port ist. Wir können das auch sperren. Wenn wir dann dieses Schloss machen, können wir es tatsächlich weiter bewegen. Also wenn wir das sperren und jetzt kann ich nicht einmal ich kann nicht einmal mehr versuchen, das auszuwählen. Und jetzt kann ich wieder reingehen und es entsperren, und jetzt kann ich es wieder auswählen, ich kann es wieder bewegen. Sehr interessant. In der Tat sollten der Name hier und der Elternteil ziemlich selbsterklärend sein. Und dann sind diese normalerweise auch unveränderlich. Die Größe ist jedoch veränderbar, also wollen wir sie vielleicht vergrößern, vielleicht 758 machen, vielleicht etwas, das nicht so ist. Da hast du es. Das ist also ziemlich cool. Sie können also sehen, dass es jetzt größer ist und wir können auch die Position ändern. Wenn wir also die Position ändern, können Sie sehen, dass sich die Position sowohl am Ursprung als auch am C-Frame ändert. Sie können dies also auch manuell tun. Also ich könnte wieder -25,20 machen, und du kannst sehen, jetzt hat es sich bewegt und das ist ziemlich cool. Nun, der Ausgangspunkt ist im Grunde genommen, du kannst den Mauszeiger darüber bewegen, oder? Diese enthält die Information der Position und die Matrix der Drehung. Das kannst du ändern und du kannst daraus lesen. Der Ursprung, falls Sie jemals daran gedacht haben, hier dreht sich das im Grunde. Die allgemeine Idee ist also, wenn ich es drehe, dreht es sich um einen bestimmten Punkt im Raum und Sie können sehen, dass es zeigt, es dreht sich genau um die Mitte dieses bestimmten Teils, oder? Wenn ich jedoch die Position des Ursprungs ändern würde, übernehmen wir einfach die Kontrolle Z um die Drehung wieder auf Null zu setzen, wenn ich das hier auf 000 ändern würde, oder? Nun, das Ding gehört tatsächlich dazu. Das wollen wir nicht. Wir wollen den Dreh- und Angelpunkt ausgleichen, oder? Wenn wir nun den Pivot um 20 minus fünf und -20 ausgleichen würden , wollen wir ihn damit ausgleichen. Plötzlich steht der Drehpunkt bei Nullen, Nullen. Sie können also sehen, dass die Position jetzt 00 ist, weil wir den Drehpunkt verschoben haben. Und wenn ich rotieren würde, würden wir uns jetzt um diese bestimmte Position drehen. Also drehen wir uns jetzt darum. Das ist eigentlich ziemlich cool, denn was Sie tun können, ist, es auszugleichen. Und wenn du z.B. eine Spinnplattform haben möchtest, nun, sie können einfach die ändern, hier die Drehung ändern und jetzt hast du plötzlich eine Spinnplattform. Du kannst verrückt werden wie eine Distanz. Aber ja, das ist wirklich cool und kann für viele verschiedene Dinge verwendet werden . In diesem Fall sollten Can Collide und Can Touch ziemlich selbsterklärend sein, oder? Es geht nur darum, ob hier eine physische Interaktion stattfinden kann oder nicht , kann berührt werden. Wenn das Touched Event deswegen aufgerufen wird, gibt es grundsätzlich auch verschiedene Kollisionsgruppen , die Sie definieren können. Verankert bedeutet , dass dies nicht der Fall ist, dass es nicht von der Schwerkraft beeinflusst wird. Also, wenn wir das haben würden, lasst uns das in die Luft heben und es ist nicht verankert. Wenn wir spielen, fällt es auf den Boden. Wir können das also tatsächlich sehen. Sie können also sehen, dass es jetzt am Boden liegt, obwohl wir es in die Luft gebracht haben. Und wenn wir das richtig verankern, wenn wir hier runtergehen und das hier verankern, dann bedeutet das, dass es an dieser bestimmten Position bleibt und nicht von der Schwerkraft beeinflusst wird. Sie können also sehen, dass es jetzt in der Luft ist. Ziemlich cool, oder? Maßgeschneiderte physikalische Eigenschaften, masselos, solche Dinge. Normalerweise empfehle ich, sich von denen ein bisschen fernzuhalten , weil man dann in verrückte Sachen gerät, oder? Die benutzerdefinierten physikalischen Eigenschaften, die Sie sehen können, Sie können die Reibung, die Elastizität und die Dichte ändern . Es gibt also einige coole Dinge , die du damit machen kannst. Aber das ist definitiv ein bisschen mehr für fortgeschrittene und fortgeschrittene Benutzer, oder? Und mit dem Rest würde ich mich vorerst nicht anlegen. Sie könnten jedoch jederzeit den Mauszeiger über die Dinge bewegen und sich ansehen , was die verschiedenen Eigenschaften im Grunde bedeuten. Und jetzt sind das natürlich Eigenschaften, die für ein Teil spezifisch sind , je nachdem, was Sie hier erstellen. Wenn wir auf Textur oder D-Kuh oder auf eine Dialograte oder eine Annäherungsaufforderung klicken . All diese verrückten Dinge, die werden alle unterschiedliche Eigenschaften haben. Sie müssen jedoch denken, einfach darüber im Klaren sein, dass eine Eigenschaft nichts anderes ist als eine Variable oder ein Attribut, das an ein bestimmtes Objekt angehängt ist. In diesem Fall sollte es eigentlich nichts Verrücktes sein. Aber wenn du eine Eigenschaft hast, ist das so etwas wie die Spawnrate, es könnte z.B. auch eine benutzerdefinierte Eigenschaft sein. Und dann würdest du sagen, oh, das ist wahrscheinlich eine Zahl, die eine bestimmte Beziehung zu A's zur Spawnrate eines bestimmten Dings hat , oder? Das ist also die Eigenschaftenübersicht, die wirklich nützlich und cool sein kann wirklich nützlich und , um ein bisschen damit herumzuspielen. Und dann werden Sie sehen, dass es eine Menge Dinge gibt, die Sie mit Eigenschaften und sogar benutzerdefinierten Eigenschaften machen können Wir werden uns später zusammenfassen lassen, dass jedes Ihrer vorhandenen Objekte Eigenschaften hat. Einige von ihnen sind Eigenschaften , die all die verschiedenen Dinge gemeinsam haben. Wenn das zum Beispiel ein Ding statt eines 3D-Raums ist, hat es immer einen C-Rahmen und einen Ursprung, Bedeutung und eine Größe. Das ist also im Grunde die Transformation, die die tatsächliche Position des Objekts im 3D-Raum bezeichnet. Und es gibt noch andere Dinge wie Kollisionen, Dinge, die von einem Teil absteigen, können auch masselos verankert sein, alles Mögliche. Es gibt also eine Reihe von Eigenschaften. Ich empfehle dringend, ein bisschen damit herumzuspielen, einfach einen neuen Port hinzuzufügen mit einigen der hier vorhandenen Eigenschaften herumzuspielen . Und Sie können vorerst sogar Ihre eigenen Attribute hinzufügen . Darauf werden wir uns jetzt nicht einlassen. Aber es genügt zu sagen, dass Sie mit Immobilien viele coole Dinge tun könnten. Okay, das war's für diese Vorlesung hier, oder wir fanden das nützlich und haben etwas Neues gelernt. Wir sehen uns alle in der nächsten Vorlesung. Also, ja. 19. (Roblox) Vector3 und Position: Ordnung, Willkommen zu den Roblox-Grundlagen für den Roblox-Kurs. Und in dieser Vorlesung werden wir über Vektoren und das Ändern der Position eines Teils sprechen . Wir haben also schon einmal darüber gesprochen, Teile zu referenzieren. Wir haben über Module und Skripte gesprochen und wir haben über die Eigenschaften gesprochen. Und jetzt lassen Sie uns diese Eigenschaften innerhalb eines Skripts richtig ändern . Also lasst uns hier ein neues Drehbuch machen. Es benötigt einen Server-Skriptdienst. Nennen wir es 05 Dash Positions. Und dann schauen wir mal. Also nennen wir das den Vektor Drei und die Positionen. Kommentieren Sie hier und dann werden wir darüber sprechen, was das ist. Lassen Sie uns also zunächst unseren Teil übernehmen. Das wird also sein, mein Teil hier wird gleich dem Game-Workspace sein , mein cooler Teil. Das haben wir also schon einmal in der Referenzvorlesung gesehen. Das sollte also nichts Verrücktes sein. Und jetzt können wir meinen Teil dazu beitragen und jetzt können wir ändern, was ich meine so ziemlich all die verschiedenen Eigenschaften, die da drin sind, einschließlich einiger Dinge, die hier wie ein Blitz sind. Und wir haben sogar diese seltsamen Dinge vom Typ Aktenschrank. Vorerst werden wir nur die blauen Würfel verwenden und z. B. die Position, die Sie sehen können, ist vom Typ Vektor drei, und dies beschreibt die Position dieses Teils innerhalb der Welt. Derzeit, wenn wir das einfach tun und das nur der Argumentation halber ausdrucken. Lass uns das einfach ausdrucken. Wir sollten einen Vektor bekommen und der ist -21,8 und so weiter und so weiter bis 0,4, 99,1, 17,93. Das ist also im Grunde diese Position. Und wenn ich es ändern würde, würde sich an der Ausgabe nichts ändern , weil wir nur gleichzeitig ausgeben. Also, wenn ich in die Position hier gehe und 50, 50, 50 mache , dann wird sich die tatsächliche Position ändern. Also jetzt ist es da drüben. Aber es würde die Ausgabe nicht aktualisieren , denn obwohl diese bereits ausgegeben wurde und wir sie nur einmal ausgeben, ist das fair genug. Was wäre, wenn wir diese Position ändern würden, oder? Was ist, wenn wir die Position ausgeben und dann Y Teil dieser Position sagen, und dann wollen wir das ändern. Wie ändern wir das? Nun, wir ändern das, indem wir ihm einen neuen Vektor drei geben, oder? Also wollen wir Vektor-Menü mit drei Punkten sagen. Und dann geben wir hier eine X-Nummer, eine Zahl und eine Z-Nummer ein. Das Wichtigste hier ist nun, dass ein Vektor drei, einen Vektor schreibt. Vielleicht hattest du das in Mathematik. Vielleicht hattest du das in Mathematik insgesamt. Es ist sehr einfach zu verstehen. Was Sie wahrscheinlich schon einmal gesehen haben, ist, lassen Sie uns so etwas machen. Sie haben also wahrscheinlich schon einmal ein zweidimensionales Gitter mit einer Y-Achse und einer X-Achse gesehen , oder? Und darauf kannst du jeden einzelnen Punkt mit zwei Zahlen beschreiben . Jetzt ist es dasselbe in drei Richtungen, nur in eine andere Richtung, oder? Also diese Position, wie wir sie schon einmal gesehen haben, ist, lass uns das einfach ein bisschen netter machen. 2015 und -17 der Argumentation halber, oder? Also jetzt ist es hier drüben und wir können diese Position jetzt ändern , indem wir ihr einfach andere Koordinaten geben. Also sagen wir, statt -21 nehmen wir, lass uns nochmal 50, 50, 50 machen. Und das sind jetzt die Teile verankert, also wird es in der Luft bleiben. Was wir erwarten würden, ist, dass dies -20, 15, -17 ausgibt, dann ändern wir die Position auf 50, 50, 50. Wenn wir also das Spiel tatsächlich starten, obwohl es die alten Zahlen ausgibt, wird das jetzt auf 50, 50, 50 geändert. Und wir können das bestätigen, wir gehen einfach runter und wir können sehen Position 50, 50, 50 ist. In der Tat sehr interessant, aber das können wir nur ändern. Wir können natürlich, ich meine, so ziemlich alles ändern . Wir können sogar die Drehung ändern, die ebenfalls ein Vektor drei ist. Nun gibt es einige interessante Dinge über die Rotation im dreidimensionalen Raum. Vorerst machen wir nur den Vektor hier drüben. Also könnten wir zum Beispiel 4500 machen, sagen wir, und jetzt sollte es in X-Richtung gehen, wir drehen um 45 Grad. Schauen wir uns das einfach an und wir können sehen, wenn wir uns das ansehen, können Sie sehen, dass es jetzt um 45 Grad gedreht ist . Und wenn wir uns das tatsächlich ansehen, können Sie auch sehen, dass die Orientierung jetzt nicht ganz 45, sondern ziemlich 45 ist. Manchmal gibt es Rundungsprobleme. Denken Sie also daran , dass die Rundung manchmal etwas seltsam sein kann , insbesondere bei diesen Vektoren da viele , da viele Berechnungen durchgeführt werden müssen. Also runden sie manchmal auf eine etwas seltsame Weise ab oder runden sich auf. Wir können auch etwas tun , das sehr interessant ist , und das ist vielleicht, dass wir den Teil verschieben wollen, oder? Also vielleicht wollen wir wirklich sagen, weißt du was? Ich möchte eigentlich, dass sich die Position ändert. Ich möchte also die aktuelle Position meinerseits einnehmen und ich wollte nur vielleicht ein paar Studien nach unten machen. Nehmen wir an, erstellen Sie hier einen neuen Vektor. Wir wollen die X-Achse nicht bewegen. Wir wollen es auf der Z-Achse vielleicht um 25 Grad nach unten bewegen. Und vielleicht wollen wir ein Plus fünf auf der Z-Achse machen, eigentlich kein Plus Fünf, sondern nur ein 5-Jahr auf der Z-Achse. Sie können sehen, dass das alles funktioniert, denn wenn Sie einen Vektor, Vektor minus einen Vektor, funktioniert das alles völlig gut. Wenn wir das also einfach spielen, werden wir jetzt sehen, dass sich der Würfel dorthin bewegt hat, wo er sich bewegt hat. Nun, es lohnt sich, es ist genau da. Und wenn wir uns dieses Mikro-Apart ansehen, ist es jetzt in 50, 75, 45. Jetzt denkst du, das ist irgendwie komisch. Ja, das ist irgendwie komisch. Wie ist das passiert? Nun, wir haben diesen Vektor subtrahiert, oder? Also nehmen wir 50 minus Null, das ist 50. Fair genug. Wir haben 50 minus -25 gemacht. Oh, nun minus, minus, das ist ein Plus, das heißt, es gibt eine 75. Und dann haben wir hier fünf subtrahiert. Das ist also interessant . Wenn wir etwas subtrahieren , wollen wir hier eigentlich keine negativen Zahlen haben. Und wenn wir das dann noch einmal machen würden , können Sie jetzt sehen, dass sich jeder weiter unten befindet und da ist es. Also ist es jetzt viel weiter unten. Und jetzt funktionieren unsere Berechnungen völlig einwandfrei. Das ist also die allgemeine Idee der Vektorberechnung, oder? Es ist also grundsätzlich immer das erste Element minus oder plus Rate, das funktioniert z.B.. Wir würden es also tun, wenn wir das Minus behalten, das wäre das erste Element. Die neuen Elemente werden 50 minus Null sein. Und dann wäre der zweite 50 -25, und dann wäre der letzte 50 minus fünf. Das ist die allgemeine Idee dahinter. Was passiert, wenn wir sagen würden, weißt du was, lass uns das mal durchgehen. Wird das funktionieren? Nun, lass uns hier einfach 22.2 machen. Und lass uns einfach sehen, was passiert. Es gibt also keine Fehler. Und wenn wir einen Blick darauf werfen, ist es jetzt sehr, sehr weit weg. Und wenn Sie sich das ansehen, können Sie 150, 90 sehen. Also genau das, was wir hier erwarten würden. Dieselbe Idee, oder? Anstatt ein Minus zu machen, machen wir jetzt mal zwei. Und dann machen wir das im Grunde für alle, oder? Also machen wir das und dann machen wir das. Nun, das sind tatsächlich 45 und das waren 25. Und deshalb bekommen wir hier 150,90 als Teile. In der Tat sehr interessant. Nun gibt es noch ein paar andere interessante Dinge und das ist z.B. wenn wir etwas vergrößern wollen, oder? Also haben wir die Größe hier drüben. Wir können z. B. ein Mal gleich machen und dann können wir die Größe um 50 Prozent erhöhen. Das wird in diesem Fall einfach Zahlen mit 1,5 multiplizieren oder verkleinern. Wenn wir uns das noch einmal ansehen, können Sie sehen, dass es jetzt größer ist , jetzt sieht es nicht mehr so aus. Aber wenn wir hier hingehen und sehen, dass die Größe jetzt 10,57 Punkt 5.12 ist. Und wenn wir nicht rennen, beträgt die Größe nur 75,8. Dies sind jedoch einige der Beispiele für das Ändern der Position, der Drehung und der Größe. Das ist schon richtig cool, oder? Zusammengefasst wird Position oder Drehung durch einen Vektor dargestellt. Und ein Vektor besteht hier einfach aus drei Zahlen mit einem X- und einem Y-Wert und dem Z-Wert. Und Sie können sie mit den normalen Vorgängen ändern , oder? Multiplizieren, subtrahieren, all diese Arbeit. Das ist also ziemlich cool und du machst es so. Nun, das war's für diese Vorlesung hier. Ich hoffe, Sie fanden das nützlich und Sie werden etwas Neues lernen und wir sehen uns alle in der nächsten Vorlesung. Also, ja. 20. (Roblox) Die Wait-Function: Ordnung, lassen Sie uns hier die Grundlagen der Robotik für den robusten Kurs fortsetzen . In dieser Vorlesung werden wir über die Gewichtsfunktion sprechen . Die Gewichtsfunktion ist also eine unglaublich wichtige Sache, der Sie beim Scripting und bei Roblox oft begegnen werden . Und lass uns hier einfach ein neues Skript erstellen, es 06 Dash Waiting nennen. Und wir nennen das einfach die Gewichtsfunktion, weil es um die Gewichtsfunktion geht. Nehmen wir an, ich habe einen For-Loop. Ich habe bei Null angefangen und gehe zu zehn und erhöhe um eins. Lass uns das machen. Und sagen wir, ich drucke die Nummer aus. Also, wenn wir das machen würden, würde es die Zahlen ausdrucken, oder? Unverzüglich. Man kann in einer Frage von, ich meine, buchstäblich fast allen von Null bis Zehn sehen , sogar im selben Tick, also denselben Millisekunden. So schnell war es. Aber sagen wir Nein, nein, nein, nein, nein. Ich möchte, dass das jede Sekunde ausgedruckt wird. Nun, wir verwenden einfach die Gewichtsfunktion hier drüben. Ich gebe einen weiter. Was es also tatsächlich tut ist, dass es den aktuellen Thread ausgibt, bis die angegebene Zeit in Sekunden abgelaufen ist. Nun ist es sehr wichtig, dass dies, sagen wir, negative Folgen haben kann sagen wir, negative Folgen wenn viele Drehbücher laufen. Die Gewichtsfunktion ist also nicht das A und O, dass Sie sie überall verwenden sollten. Es gibt auch andere Möglichkeiten, darauf zu warten, dass etwas passiert. Das ist also nicht das A und O. Aber in diesem Fall, wenn wir dieses 012 ausführen würden und Sie sehen, dass es weitergeht. So kann ich herumlaufen, es ist alles in Ordnung. Und es geht genau 1 Sekunde nach der anderen weiter und wir nehmen teil und jetzt ist das Gewicht fertig. Das ist also ziemlich cool. Das ist cool für bestimmte Dinge wie zum Beispiel zum Zählen von Dingen, solche Sachen. Das ist echt geil. Dies ist ein Beispiel dafür, wo die Gewichtsfunktion wirklich nützlich sein könnte. Manchmal kann es auch wichtig sein, wenn du bestimmte Dinge importierst und manchmal denkst du einfach, ich warte einfach ein bisschen und dann kannst du etwas weiter ausführen. Aber wie gesagt, das eigentliche, was es tut, ist, dass es im Grunde den aktuellen Thread liefert. Nun, das ist Computersprache auf hohem Niveau , was im Grunde genommen dass alles, was es bei dieser bestimmten Art von Arbeitslast tut, irgendwie gestoppt bei dieser bestimmten Art von Arbeitslast tut, irgendwie wird und es dann nach Ablauf der Sekunden fortgesetzt wird. Es gibt also Dinge , die, wenn du das verwendest, möglicherweise bestimmte Dinge in deinem Spiel kaputt machen könnten. Seien Sie also vorsichtig und verwenden Sie Ihre Gewichte nicht überall. Wir sagen einfach, oh, das funktioniert nicht. Lass uns hier einfach warten , dass das normalerweise nicht das ist, was du tun willst. Ich möchte das nur noch einmal betonen . Was ich im Druck kommentieren werde und das ist so ziemlich alles, was Druck kommentieren werde und das ist so ziemlich es zur Gewichtsfunktion gibt. Es gibt wirklich nichts zusammenzufassen. Es wartet nur ein paar Sekunden und Sie sollten es nicht überall in Ihren Skripten verwenden. Es wird einige Beispiele geben, wo wir es verwenden werden, die interessant sein werden. Und dann gibt es einige Beispiele, wo wir es verwenden könnten, aber wir möchten vielleicht etwas anderes verwenden. Nun, das war's für diese Vorlesung hier, oder wir fanden das nützlich und ihr werdet etwas Neues lernen und wir sehen uns alle in der nächsten Vorlesung. 21. (Roblox) Basic: Ordnung, willkommen zurück zu den Grundlagen der Robotik hier für den Roblox-Kurs. Und in dieser Vorlesung werden wir uns dem Verschieben eines Teils befassen. Das wird also in der Tat sehr interessant sein. Also dafür im Serverskriptdienst, noch einmal, indem wir ein neues Skript erstellen und das nennen wir 07 und wir nennen diese Bewegung. Das wird also im Grunde einige der Dinge beinhalten , die wir bisher gelernt haben. Um sich zu trennen, gibt es natürlich viele Möglichkeiten, dies zu tun. Dies ist übrigens nur ein Beispiel, das wir mit einem aktuellen Verständnis, das wir haben, verwenden können. Es gibt also verschiedene Möglichkeiten, wie wir Teile besser bewegen könnten, aber es ist möglich, dies auf diese Weise zu tun. Deshalb möchte ich nur betonen, dass dies nicht der einzige Weg ist und dass es möglicherweise nicht der richtige Weg für jede bestimmte Sache ist , die Sie tun möchten. Aber wir schauen uns das einfach an. Also lass uns im Grunde einfach unseren coolen Teil hier machen. Orgel, sagen wir mal lokal, meinen Teil. Und wir sagen, das ist Game Workspace, mein cooler Teil. Da hast du es. Dann machen wir einen For-Loop. Wir werden das noch einmal um eins beginnen. Wir gehen dann zu, sagen wir, 15 und wir werden um eins erhöhen. Und was wir dann tun, ist innerhalb dieser Forenschleife meinen Teil zu sagen, diese Position wird jetzt meinem Teil dieser Position entsprechen . Also die tatsächliche Position, an der sich befindet, plus ein neuer Vektor. Sie werden also Vector 3 neu sein. Und dann sagen wir einfach, lass uns hier IO machen, 0.0. Also setzen wir die aktuelle Position auf sich selbst plus I. Also beginnen wir mit eins. Und wenn wir das machen und anfangen würden, bekommen wir im Grunde nur Position plus 15, weil das war's. Aber was wäre, wenn wir jetzt eine Sekunde dazwischen warten würden, was würde dann passieren? Nun, schauen wir uns das mal an. Lass uns damit aufhören. Und wenn wir dann unseren Teil finden und darauf zulaufen, siehst du, oh, sieh dir das an. Es bewegt sich Schritt für Schritt , weil es 1 s wartet und dann zunimmt und dann 1 s wartet zunimmt und 1 s wartet und bis es endgültiges Ziel erreicht hat, was plus 15 in X-Richtung wäre . Und das können wir sehen. Jetzt ist es also 220, also hätte es vorher 205 sein sollen, wegen der ganzen Rekruten, die Dinge, die wir zuvor mit den Drehbüchern gemacht haben . Das ist also die allgemeine Idee. Du kannst also in diesem Fall die Warte-Funktion verwenden, um die Einstellung der Position zu verzögern und so sieht es so aus, und so sieht es so als würde es tatsächlich etwas tun. Also könntest du z.B. auch machen, du könntest das auch machen, vielleicht 50 und dann vielleicht setzt du es ein bisschen weniger hinzu. Also vielleicht eine Viertelsekunde. Und wenn Sie sich das jetzt ansehen würden, würde es viel glatter aussehen. Wenn wir uns das ansehen, können Sie jetzt sehen, dass es nicht glatt ist, aber es ist fast eine sanfte Bewegung, oder? Und wir könnten das noch reibungsloser machen. Jetzt muss ich das erhöhen weil es natürlich schneller geht, wenn ich das erhöhe oder wenn ich die Wartezeit verringere. Und wenn ich es mir jetzt so ansehen würde, können Sie sehen, dass es fast glatt ist. Zusammenfassend lässt sich sagen, dass dies zwar ein möglicher Weg ist , aber wir werden in zukünftigen Vorlesungen auch einige andere Möglichkeiten sehen . Dies liegt daran , dass wir einige Dinge behandeln müssen, bevor wir dies tatsächlich tun. Weil es nur noch ein paar interessante Dinge gibt, naja, die sozusagen zu Ihrem Toolkit hinzugefügt werden müssen. Aber das war vorerst alles für diesen Vortrag hier. Ich hoffe, Sie fanden das nützlich und haben etwas Neues gelernt. Wir sehen uns alle in der nächsten Vorlesung. Also, ja. 22. (Roblox) Das berührte Ereignis: Ordnung, willkommen zurück zu den Roblox-Grundlagen für den robusten Kurs. Und in diesem Vortrag werden wir über das Touched Event sprechen . Jetzt haben wir viele Dinge gesehen, die wir im Code und in den Skripten ändern können . Wir sind jedoch noch nicht wirklich an einem Punkt angelangt , an dem wir tatsächlich etwas eingeben oder etwas passieren lassen können , während sich das bald ändert Lassen Sie uns hier im Server-Skriptdienst ein neues Skript erstellen . Das nennen wir 08 Touched Event. Und das wird in der Tat sehr interessant sein. Das Touched Event ist also ein Event, wie der Name schon sagt. Und Ereignisse sind im Grunde genommen Dinge, die passieren. Dies sind Ereignisse, die bestimmte Funktionen auslösen können, um dann ausgeführt zu werden. Ereignis In the Touched wird im Grunde jedes Mal aufgerufen , wenn ein Teil einen anderen Teil berührt. Lassen Sie uns also nur der Argumentation halber alle meine Positionierungsänderungen hier loswerden. Weil wir die beiden eigentlich nicht wollen. Nun, wir wollen nicht mehr, dass dies den R-Kernteil hier beeinträchtigt . Also lass uns das einfach spielen und dann sollte unser cooler Part einfach da bleiben, wo er ist. Nun, es wird wegzoomen, aber das ist eigentlich lustig. Also das wegen der Bewegung hier. Also lasst uns auch unsere Bewegung loswerden. Und jetzt sollten wir eine saubere Weste haben. Für das Touched Event werden wir also zunächst wieder unseren Teil bekommen. Mein Teil ist also wieder der Game-Workspace. Und dann mein cooler Teil in diesem Fall, da hast du es. Und dann werden wir ein paar berührte Ereignisse haben. Also sagen wir meinen Part Punkt und dann können wir sagen Berührt. Und du kannst sehen, dass das ein Blitz ist. Also ein Blitz, das ist ein Ereignis. Sie können also sehen, dass es ausgelöst wird, wenn ein Teil mit einem anderen Teil in Kontakt kommt. Sehr cool. Sie können sich auch alle anderen Blitze ansehen. Es gibt auch eine Änderung, ein Recht, sofort ausgelöst wird, nachdem sich eine Eigenschaft eines Objekts geändert hat. Könnte interessant sein , dass wir wollen, dass dies Feuer zerstört, unmittelbar bevor eine Instanz zerstört wird. Okay, Berührung ist beendet, wenn Sie aufhören, einen anderen Teil zu berühren, und so weiter und so fort. Jetzt wollen wir das Touched Event hier verwenden. Und dann wollen wir einen Doppelpunkt machen und dann eine Verbindung herstellen. Das ist sehr interessant. Sie können also auch einige andere Dinge tun. Du kannst das auch einmal machen würde dann einmal etwas aufrufen. Dieser verbindet eine Funktion einem Ereignis und sagt im Grunde, Hey, wird dieses bestimmte Ereignis aufgerufen, dann wollen wir eigentlich diese Funktion aufrufen, bei der es auch ein Gewicht gibt , das auf etwas wartet. Und dann ist hier parallel verbinden noch komplizierter, im Grunde einmal und verbinden sind die interessanten Dinge. Nehmen wir an, wir sagen, einer ist hier, innerhalb dieser speziellen Funktion, der Eins-Funktion, können wir eine weitere Funktion einfügen, oder? Und dann sagen wir den anderen Teil und wir werden einfach diese Funktion anstelle dieser erstellen. Sie können also sehen, dass dies die Funktion hier ist, und dies sind die schließenden Klammern von einmal. Und dann können wir einfach drucken sagen, und dann können wir z.B. einen anderen Teil sagen, oder? Was hier also passiert, ist, dass dieser andere Teil der Teil ist , an dem er meinen Teil berührt hat. Also, wenn wir einfach dieses spezielle Ding spielen würden , was würde passieren? Grundplatte, du könntest so sein wie? Nun, sieh dir das an. Das Mikroteil berührt die Grundplatte, oder? Und wenn ich hier aufspringen würde, würde nichts passieren. Warum ist das so? Nun, denn einmal heißt einmal, es passiert einmal. Und dann sagte ich, wenn wir das verbinden würden, richtig, wenn wir verbinden würden, was würde jetzt passieren? Nun, lassen Sie uns das einfach spielen und Sie werden sehen, es wird Grundplatte hier drüben spammen bis sie die Grundplatte nicht mehr überspannt. Okay, interessant, was passiert, wenn ich jetzt darauf einspringe? Nun, lass es uns einfach machen. Und Sie können den humanoiden Wurzelteil sehen, linker Fuß, rechter Fuß. Und auch die Fragen, warum hört es auf? Nun, beim Touched Event musst du im Grunde anfangen zu berühren und nicht dauernd zu berühren. Das ist etwas anderes. Aber du kannst sehen, dass es jetzt, je nachdem wie eine Bewegung es ist, wie verschiedene Teile meines Körpers werden. Denn wenn wir in den Workspace Count und Joe gehen, werde ich tatsächlich durch eine ganze Reihe verschiedener , winziger Teile repräsentiert . Der linke Fuß, die linke Hand und so weiter und so fort. Und sozusagen nicht wie mein ganzer Körper. Okay, das ist also sehr interessant. Aber jetzt können wir tatsächlich Dinge geschehen lassen indem wir ein bestimmtes Objekt berühren. So könnten wir z.B. im Mikroteil, lassen Sie uns das tatsächlich verankern, damit es in der Luft bleibt. Jetzt schwimmt es also. Es wird also niemals den Boden berühren. Und dann können wir tun, wir können tun, was wir wollen. Wir können etwas ausdrucken. Wir können es in Bewegung setzen lassen. Wir können den Spieler in den Himmel schießen. Ich meine, es gibt alle möglichen Dinge wegen diesem anderen Teil, oder? Wir haben immer Zugriff auf das , was uns berührt hat. Deshalb sollten wir in gewisser Weise Zugriff auf den Spieler oder den Charakter haben , oder? Also können wir auch etwas damit anfangen. Für unsere Zwecke werden wir nur die werden wir Transparenz des Objekts verringern. Also werden wir einfach sagen, wir werden die Transparenz gleich eins machen. Also im Grunde wird es sowieso 2,5 ändern, und dann ändern wir es auf eins sobald das tatsächlich etwas berührt. Sobald ich also auf dieses Objekt gesprungen bin oder es einfach bürste, wird es im Grunde verschwinden, weil die Transparenz eins sein wird. Da, da hast du es. Es ist weg. Jetzt ist es natürlich nicht weg, oder? Es ist immer noch da, aber es ist unsichtbar. Es ist also ziemlich cool, dass du bestimmte Eigenschaften jetzt ändern kannst bestimmte Eigenschaften jetzt ändern , weißt du, da im Spiel etwas passiert. Jetzt ändern wir also nicht mehr nur die Eigenschaften, reagieren tatsächlich auf Dinge, die innerhalb eines Spiels passieren. Und jetzt, nur weil es eine sehr unterhaltsame Sache ist, werden wir jetzt das verwenden , was wir bisher haben. Ich werde eine boolesche Eigenschaft erstellen, die hierher verschoben wird. Und ich werde fragen, nun, wenn Verschieben gleich falsch ist, dann möchte ich eigentlich Folgendes tun. Ich wollte dann erst einmal den Umzug zur Realität machen. Und dann will ich hier einen For-Loop machen. Ich ist gleich eins und dann machen wir zehn und wir machen eins, und dann machen wir es. Und was wir hier machen, ist, dass wir 1 s warten. Und dann möchte ich eigentlich meinen Teil zu dieser Position sagen. Und dann möchte ich seine Position ändern. Also gehen wir einfach von Plus-Gleichem aus. Sagen wir Plus ist gleich und dann sagen wir einfach Vektor-Menü mit drei Punkten und dann nur eine Nulle, Nullen. Also noch einmal, wir werden es am Ende einfach um ein n in die X-Richtung bewegen . Nachdem dieser For-Loop abgeschlossen ist , wollen wir sagen, dass Verschieben gleich falsch ist weil wir es sonst im Grunde nie zurücksetzen können. Und dann wird es, es wird im Grunde nicht funktionieren, aber das, okay, wenn wir das tun, jetzt, wenn wir das Teil berühren, beginnt es sich in die X-Richtung zu bewegen, zehn Blöcke für 10 s, und dann wird es aufhören und dann können wir es tatsächlich wieder bewegen. Also lass uns das der Argumentation halber hier sehen, oder? Also sollte nichts passieren, alles in Ordnung. Ich habe das nach 1 s angefasst . Sie können jetzt sehen, dass es sich bewegt. Jetzt weiß ich nicht, was passieren wird, wenn es hier auf diesem Spawnpad ankommt. Ich bin eigentlich ganz ruhig, Oh, was wird passieren? Und es wird aufhören. Es ist jetzt gestoppt. Und ich kann es wieder anfassen und es wird sich weiter bewegen. Wie du siehst. Das ist klar, nicht wahr? Weil es schon wieder erledigt ist. Und wenn ich es nach einer Sekunde erneut berühre, kann man es kontinuierlich sehen. Das ist also wirklich, wirklich verdammt cool. Das ist eine großartige Sache, die hier im Grunde funktioniert. In diesem Fall ist es ein Beispiel dafür, wie Sie darauf reagieren können , dass etwas passiert, anstatt auf die Welt. Zusammenfassend lässt sich sagen, dass ein Ereignis an ein bestimmtes Objekt angehängt ist. Und wenn dieses Objekt ausgelöst wird, je nachdem, was passiert, dann können Sie tatsächlich eine Funktion damit verbinden, und Sie können diese Funktion jedes Mal aufrufen, wenn dieses bestimmte Ereignis abgefangen wird. Im Fall des Touched Events kannst du jetzt zum Beispiel kannst du jetzt zum Dinge reagieren, die der Spieler tun könnte, die Welt einfügen und dann bestimmte Dinge damit machen. Nun, das war's für diese Vorlesung hier. Ich hoffe, Sie fanden das nützlich und Sie werden etwas Neues lernen und wir sehen uns alle in der nächsten Vorlesung. Also, ja. 23. (Roblox) Instanzen aus Skripts erstellen: Ordnung, lassen Sie uns hier mit den Grundlagen der Straßensperren für den Roblox-Kurs fortfahren . Und in dieser Vorlesung werden wir einen Blick darauf werfen, wie neue Teile herausgebracht werden. Was bedeutet es also, neue Teile zu spawnen? Nun, wir werden Herzen mithilfe von Skripten hervorbringen. Also werden wir zunächst auf den Server-Skriptservern ein neues Skript erstellen und es 09 Dash Spawning nennen . Wie wär's damit? Und das nennen wir Spawn-Objekte. Da hast du es. Und was wir tun werden, ist einfach ein neues Objekt zu erzeugen. Also werden wir einfach neue Teile spawnen. Und lassen Sie uns das zunächst im Drehbuch selbst machen . Und dann machen wir es gleich auf Knopfdruck. Wie würden wir also einen neuen Port spawnen? Nun, lass uns einfach ein Lokal machen und es einen neuen Teil nennen. Und das wird ein neuer Teil sein , wie spawnen wir ihn? Wir sagen Beispiel, und Sie können sehen, dass es uns das bereits nahelegt. Wir können dies automatisch vervollständigen, indem wir die Tabulatortaste neu drücken. Und dann müssen wir hier drinnen den Klassennamen herausfinden. Also müssen wir den Klassennamen als Zeichenfolge eingeben, sobald ich anfange, die Anführungszeichen einzugeben . Sie können sehen, dass wir tatsächlich, naja, eine ganze Menge verschiedener Klassen auswählen können , die es hier gibt. Wir können also einen neuen Luftregler, einen neuen Vektor mit drei Werten und ein neues Modulskript hinzufügen , wenn wir dies wünschen. Aber in unserem Fall wollen wir ein neues Herz. In diesem Fall wählen wir einfach ein neues Teil aus. Und was passiert, wenn ich das tun würde? Lass uns einfach spielen und sehen, was passiert. Und was Sie feststellen werden, ist, dass, naja, nichts wirklich passiert. Lass uns sehen. Es gibt keine, es gibt keine neuen Teile. also nichts wirklich passiert, weil dieser Teil, in diesem Fall, irgendwie nirgends entstanden ist. Wir können also die Eigenschaften dieses Teils ändern. Wir können also sagen, dass z. B. der Name einem neuen Teil hier entspricht , oder? Jetzt haben wir ihm einen neuen Namen gegeben und wir können sogar die Position ändern, oder? Wir können sagen, während die Position jetzt Vektor drei ist neu und sagen wir 0150 oder so. Und wir wollen es auch verankern, oder? Also machen wir einfach diesen Anker. Und wenn das alles in Ordnung ist, sollten wir es theoretisch ungefähr über dem Spawn schweben sehen. Und du kannst nichts sehen. Und wenn wir in den Arbeitsbereich schauen, sieht man auch, dass mein neuer Teil nicht, nicht dazu gehört, weil wir eigentlich auch die Eltern einstellen müssen. Das ist extrem wichtig. Elternschaft ist also wortwörtlich nur die Idee, wenn du dir den Explorer hier ansiehst, aber das referenzierende Skript oder Referenzieren und all meine anderen Skripte. Das übergeordnete Element sind die Server-Skriptserver. Du siehst also einfach, dass das die Beziehung ist. Sie können den Elternteil auch hier sehen. Und wenn wir in den Arbeitsbereich gehen, können Sie das Mikroteil sehen, dieses Elternteil ist der Arbeitsbereich. Und wenn Sie in die Grundplatte gehen, wenn Sie eine weiter nach unten gehen, die Textur hier, diese Elternplatte ist die Grundplatte. Welche Grundplatten? Elternteil ist der Arbeitsbereich. Das ist die allgemeine Idee. Das sollte wirklich nicht verwirrend sein. Es zeigt Ihnen im Grunde nur die hierarchische Struktur des Explorers, und das ist so ziemlich alles. Und wenn wir jetzt sagen, dass neues Teil, Elternteil gleich Game Dot Workspace ist, setzen wir es plötzlich auf den Workspace. Und jetzt schauen wir mal, ob wir unseren neuen Teil tatsächlich sehen können. Und was du plötzlich finden wirst, da ist es, da ist unser neuer Teil. Wenn wir in den Workspace gehen, sehen wir einen neuen Port, genau den gleichen Namen, den wir ihm hier gegeben haben. Und wir haben es komplett durch ein Drehbuch hervorgebracht. Und normalerweise ist das immer die Bestellung, die Sie annehmen möchten. Also im Grunde willst du das neue Objekt erstellen, dann willst du einige der Variablen hier setzen , oder? Also werden wir die Eigenschaften ändern. Und dann ist das immer wichtig. Wir wollen das Elternteil einstellen, oder? Und das ist eine sehr, sehr wichtige Sache, die wir den Eltern hier vorstellen wollen. Andernfalls wird es überhaupt nicht angezeigt. Was wäre, wenn wir etwas Interessantes machen würden, oder? Was wäre, wenn wir einfach das Touched Event bekommen würden, oder? Also machen wir hier dasselbe, aber anstatt uns zu bewegen, wird es tatsächlich etwas anderes machen. Also was wir tun werden, ist, dass wir das einfach rüberkopieren und ich werde es einfach kommentieren , denn nun , in diesem Fall möchte ich eigentlich nicht, dass das Ding mit etwas anderem verbunden ist. Wir machen das beim Laichen. Also werden wir einfach ein Objekt spawnen. Und dann werden wir sagen, nun, weißt du, was wir tun sollten, anstatt bewegen, wird tatsächlich etwas hervorgebracht. Also beim Touched Event, als wir meinen coolen Teil angefasst haben, möchte ich jetzt, dass neue Ports erstellt werden. Also machen wir einfach einen lokalen Newport und wir können fast das Gleiche machen wie diesen, oder? Wir können einfach sagen, Hey, in Newport, und nennen wir das einfach, nennen wir es einen anderen Newport. Und setzen wir eine 015. Lass uns telefonieren und eigentlich hätte ich gerne so etwa 20 und werde es in diesem Fall nicht verankern. Und dann lass uns das tatsächlich aufstellen, das ein bisschen nach hinten schieben. 525, okay? Und dann müssen wir es immer noch dem Workspace zuordnen. Und wir fügen hier auch eine kleine Gewichtsfunktion hinzu, sagen wir eine halbe Sekunde, weil wir sonst einfach mit neuen, verdammten Teilen überschwemmt werden, was eine kleine Verzögerung hier drüben bedeutet. Aber jetzt sollte das so sein, solange ich auf dem, was meinen coolen Teil angeht, richtig, es werden neue Teile rein geschleudert. Also schauen wir einfach, dass das etwas bewirkt, aber ich bin mir ziemlich sicher, dass es das tun wird. Wir haben wieder unseren Teil, den wir zuvor hatten. Und wenn wir darauf aufspringen würden, könntest du sehen, plötzlich können sie es sehen. Und jetzt fragst du dich vielleicht: Moment, warum bringt es so viele hervor? Wir haben es speziell so gemacht, dass die Gewichtsfunktion da ist. Also, wenn ich nur so dastehen würde, aber damit du siehst, es würde nichts verderben. Und wenn ich mich bewegen würde und Sie sehen, dass es funktioniert. Und der Grund ist natürlich, dass das Touched Event, in diesem Fall, eigentlich für jeden Teil aufgerufen wird, oder? Im Grunde sagen wir also, dass es nicht einmal wichtig ist, welches Teil hier unser Mikroteil berührt. Für jeden von ihnen bringen wir einen neuen Teil hervor. Und wir haben bereits gesehen , dass der Spieler aus winzigen, winzigen verschiedenen Teilen besteht. Daher wird das als wahnsinnig lange Zeit bezeichnet werden . Um es kurz zusammenzufassen, wenn wir in diesem Fall einen neuen Teil , können wir in diesem Fall z. B. Punkt neu und wichtig ausführen. Oder wir können auch fast alles andere spawnen. Wir können eine ganze Reihe verschiedener Klassen spawnen , so werden sie genannt. Sie sagen im Grunde nur, okay, was für ein Teil oder welche Art von Objekt ist das? In unserem Fall wollen wir nur portieren und es gibt noch andere, oder? Der Spawnort als eigene Klasse, solche Dinge. Wir könnten diese Dinge also auch spawnen. In unserem Fall halten wir uns an dieser Stelle nur an die Teile. Wir können dann die Eigenschaften ändern. Und dann ist es sehr wichtig , dass wir das übergeordnete Element des neuen Teils, den wir gerade erzeugt haben, in den Game-Dot-Workspace setzen , da er sonst nicht angezeigt wird. Und am Ende hier haben wir gesehen, dass wir das auch mit dem Touched Event verbinden können , was wirklich großartig ist. Jetzt bringen wir also Dinge hervor , während wir tatsächlich mit der Welt interagieren. Ziemlich cool, aber das war's für diese Vorlesung hier. Ich hoffe, Sie fanden dieses und das neue Deo nützlich . Wir sehen uns alle in der nächsten Vorlesung. Also, ja. 24. (Roblox) Click: Ordnung, lassen Sie uns hier mit dem Robo Space X fortfahren, dem Regelbuch-Kurs folgen und in dieser Vorlesung werden wir über die Klickerkennung sprechen. Was könnte das sein? Nun, nun, lassen Sie uns ein neues Skript im Server-Skriptdienst erstellen . Und wir nennen das zehn und Dash Click Detection. Und das wird sehr interessant sein. Also Klickerkennung, was bedeutet das? Nun, Sie haben wahrscheinlich ein oder zwei Spiele gespielt , bei denen Sie auf etwas klicken konnten . Und genau das werden wir auch tun. Also erstellen wir einfach ein neues Teil im Workspace. Lassen Sie uns zunächst ein neues Teil hier erstellen und nehmen wir das und lassen Sie uns das etwas vergrößern , nur damit wir wissen, dass es sich um ein anderes Teil handelt. Lass uns das tatsächlich 55,5 machen. Da hast du es. Und dann färben wir auch ein bisschen anders. Lass uns das machen. Blau ist irgendwie nett, aber lass es uns ein bisschen blauer machen. Ja, da hast du's. Wir machen das auch verankert, damit es so in der Luft schwebt und damit bin ich eigentlich einverstanden. Wir haben jetzt also einen Floating-Port und werden ihn in Clicker umbenennen . Und was dieser Teil braucht ist, dass er tatsächlich ein Unterobjekt benötigt. Also werden wir hier auf dieses Plus klicken. Und Sie können sogar sehen, ob der häufig verwendete Klickdetektor genau das ist, was wir hinzufügen müssen. Und Ihr Klickdetektor hat nur ein paar Dinge, nämlich die maximale Aktivierungsdistanz. Darüber werden wir gleich sprechen. Aber jetzt haben wir dafür einen Klickdetektor. Was wir tun wollen, ist, dass wir das tatsächlich als Variable bekommen wollen. Also holen wir uns den Klickdetektor, und das ist eine Variable. Und jetzt gehen wir zu Game Dot, Workspace Dot. Und dann müssen wir versuchen, den Clicker zu finden. Also werden wir den Clicker-Teil verwenden. Und weil der Klickdetektor hier ein untergeordnetes Objekt des Clickers ist, können wir den Klickdetektor tatsächlich besorgen, wie Sie sehen können. Fantastisch. Jetzt haben wir den Klickdetektor hier, und das bezieht sich auf diesen speziellen Clip-Detektor. Und jetzt können wir einfach eine neue Funktion erstellen. Lassen Sie uns also einfach per Klick eine neue Funktion erstellen. Und wir werden auch den Player einbauen , denn das ist eigentlich das, was wir für die Funktion bekommen werden, oder? Wenn du auf etwas klickst, bekommen wir tatsächlich den Spieler , der darauf klickt. Lassen Sie uns also zunächst diesen Player ausdrucken. Klicken Sie auf Ich und drucken Sie dann einfach den Player aus , das ist alles, was wir tun werden. Und wie verbinden wir das? Nun, noch einmal, der Klickdetektor hat in diesem Fall bestimmte Ereignisse hier drüben, oder? Also haben wir, und wir haben sogar ziemlich viele. Also zerstörend, das sind normale Ereignisse, aber dann gibt es auch das Mausklick-Ereignis und den Mauszeiger, die Maus über der linken Seite und das Rechtsklick-Ereignis. Und dann, ich glaube, das sind die wichtigsten. Und das ist ziemlich großartig. Eigentlich. Wir werden das MouseClicked-Ereignis erneut verwenden , indem wir hier connect verwenden. Und dann können wir einfach die onClick-Methode ohne die Klammern einfügen. Also wollen wir das einfach so weitergeben. Und wenn wir dann darauf klicken, werden wir diese Funktion tatsächlich ausführen. Das ist dieselbe Idee, die wir schon beim Touched Event gesehen haben , wo wir hier eine Inline-Funktion angeschlossen haben. Wir haben die Funktion gerade hier erstellt. Aber in diesem Fall haben wir die Funktion schon einmal gemacht und dann fügen wir sie dort ein. Es ist dieselbe Idee. Nun, wenn das alles der Fall ist, dann lass uns einfach spielen und wenn wir tatsächlich da rübergehen. Das Erste, was Sie sehen können, ist , dass, wenn ich mit der Maus darüber fahre, Sie sehen können, wie es sich in eine Hand verwandelt, denn nun, das ist jetzt anklickbar. Wenn ich mit der linken Maustaste klicke, kannst du sehen, wie dieser Spieler auf die Kamera geklickt hat. Jetzt sagt der Server plötzlich, ja, der Spieler klickt auf diesen speziellen Clip-Detektor. Das ist wirklich großartig , denn jetzt können wir plötzlich auf einer ganz anderen Ebene mit dem Spiel interagieren . In diesem Fall gibt es tatsächlich eine zweite Möglichkeit , dies zu tun. Und das heißt, Sie können dem Clicker selbst ein Skript hinzufügen. Sie können das also das Clickers-Skript nennen, sagen wir, richtig. Und dann nehmen wir einfach dasselbe, was wir hier haben. Und lassen Sie uns das einfach dem Skript hier hinzufügen. Das ist jetzt also der Klickdetektor, aber wir können tatsächlich etwas anderes machen . Wir können Drehbuch sagen. Dadurch wird unser Drehbuch in unsere Hierarchie aufgenommen. Und ich sage Elternteil. Und dann sagen wir Klickdetektor weil dieses Skript, richtig, wir gehen zum übergeordneten Element, das ist der Clicker, und dann klicken wir auf die Textur. Das wird auch funktionieren. Also, wenn ich das einfach, sagen wir mal, kommentieren würde , weil das ein bisschen besser ist, wenn wir das tun. Da haben wir es. Das wird also auskommentiert und dann haben wir das Clicker-Skript als Kind des Clickers. Und das können wir auch tun. Und schauen wir mal, theoretisch sollte das immer noch funktionieren. Und wenn wir hierher gehen, können Sie sehen, dass wir immer noch dieses Ergebnis erhalten und das kann manchmal besser sein. Vorher haben wir natürlich alles in den Server-Skriptdienst gestellt . Es könnte also Sinn machen, das Skript tatsächlich unter unserem Clicker-Teil zu haben . Denn vielleicht, wenn wir das duplizieren würden, und dann haben wir hier ein zweites. Jetzt funktioniert dieser auch, ohne dass ich etwas tun muss. Jetzt gibt es zwei verschiedene Skripte, und jetzt kommt natürlich das Problem hinzu , dass Sie den Überblick behalten müssen , welches Skript welches ist und all das. Aber unabhängig davon ist es irgendwie cool. Sie können dieses Skript auch unter dem eigentlichen Teil haben . Das ist nicht die Hauptsache. Die Hauptsache ist natürlich die Erkennung von Klicks selbst, was eine weitere Möglichkeit ist, mit der Welt zu interagieren , und jetzt können wir verwenden, was Sie bisher gelernt haben, oder? Dinge bewegen, die Position schicken und schon kann man etwas anklickbar machen und man kann Positionen ändern, z.B. rechts. Also nur der Argumentation halber habe ich hier etwas geschaffen , das vielleicht interessant sein könnte. Also, wenn ich das einfach spiele und lass es uns, und ich zeige es dir. Also, wenn ich hier rübergehe, haben wir diesen roten Würfel oben. Und wenn ich diesen anklicke, wechselt der rote Würfel nach oben. Und wenn ich auf die linke klicke, wechselt sie zurück. Also im Grunde nur eine Möglichkeit diese spezielle Würfelposition zu ändern. Das ist eine ziemlich coole Sache. Jetzt werde ich den Code eigentlich nicht zeigen. Der Code wird verfügbar sein, sodass Sie ihn herunterladen können, und Sie können die Excel-Datei mit dieser speziellen Anzeige beweglicher Teile herunterladen die Excel-Datei mit . Was ich sagen würde ist, dass Sie zunächst versuchen, dies selbst zu erstellen. Und wenn du das schaffen könntest, wäre das absolut fantastisch. Wenn Sie nicht weiterkommen, können Sie es sich jederzeit ansehen. Es sind im Grunde zwei Clicker hier auf dem linken und dem rechten Klicker. Und es sind zwei Drehbücher. Die Skripte sind jedoch buchstäblich genau dieselben. Es könnte also eine Möglichkeit geben, dies vorerst in einem Skript zusammenzufassen , indem Sie nur versuchen, zu sehen, ob Sie herausfinden können , wie Sie das erstellen können. Denn das wäre schon eine wirklich coole Art , einige der Dinge, die wir bisher gelernt haben, zu festigen . Zusammenfassend ist der Klickdetektor ein wirklich nützliches Tool, das Sie für die weitere Interaktion mit der Welt und Roblox verwenden können . Und es kann wirklich für alles verwendet werden. Sie können einfach eine neue Funktion erstellen, die dann aufgerufen wird, wenn der Spieler auf einen Klickdetektor klickt. Und das kann alles machen, was du willst, oder? Aber das war's für diese Vorlesung hier. Ich hoffe, Sie fanden das nützlich und Sie werden etwas Neues lernen und wir sehen uns alle in der nächsten Vorlesung. Also, ja. 25. (Roblox) Kräfte anwenden: Ordnung, lassen Sie uns hier mit den Roblox-Grundlagen für den Robotik-Kurs fortfahren . Und in dieser Vorlesung werden wir uns im Grunde genommen mit Gewalt und allem, was damit zu tun hat, befassen. Was also Kraft zwingt, ist im Grunde genommen einem bestimmten Teil eine Kraft hinzuzufügen. Und wir schauen uns nur ein Beispiel dafür an. Also fügen wir hier einfach einen neuen Teil und nennen ihn der Argumentation halber den kraftvollen Teil. Und was wir für diesen Teil tun wollen, nun, wir wollen das verschieben. Zuallererst wollen wir das jedoch einschätzen. Lassen Sie uns das wieder auf 444 skalieren. Und dann können wir, naja, wir können viele Dinge hinzufügen, wie wir gesehen haben, aber wenn wir nach Kraft suchen, können wir ein Kraftfeld sehen. Jetzt wollen wir eigentlich kein Kraftfeld hinzufügen. Wir wollen entweder eine Linienkraft oder eine Vektorkraft hinzufügen. Das ist jetzt fast dasselbe. Es gibt einen kleinen Unterschied, aber zuerst schauen wir uns die Vektorkraft an und dann schauen wir uns gleich die Linienkraft an. Die Vektorkraft zeigt theoretisch einfach auf einen Vektor und schießt diesen Teil dann im Grunde auf einen bestimmten Vektor. Wir benötigen jedoch einen Anhang. Sie können also sehen, dass dies ein Anhang ist, der benötigt wird. Und die Kraft, die ausgeübt wird, wird in diesem Fall auf 1.000 in X-Richtung ausgeübt. Es würde also plötzlich in diese Richtung schießen. Also lass es uns einfach hier ablegen. Und wenn wir das einfach spielen würden, könntest du sehen, dass, naja, nichts passiert. Sie können den Teil also hier sehen, nichts passiert. Ändern wir in diesem Fall die Farbe auf Gelb. Und wir werden sehen können, dass es theoretisch in diese Richtung gehen sollte. Dies ist jedoch nicht der Fall, weil wir keinen Anhang haben. Also müssen wir diesem Truppenbericht eigentlich einen Anhang hinzufügen. Sie können sehen, wir können einfach danach suchen und einen Anhang hinzufügen. Und jetzt ist der Anhang ein Teil dieses speziellen Teils. Wenn wir nun den Anhang verschieben würden, können Sie ihn sehen. Okay, jetzt ist diese Bindung direkt mittendrin, das ist normalerweise das, was wir eigentlich wollen. Wir können also einfach Anhaftung sagen. Wir können darauf klicken, auf den Anhang klicken und Sie können sehen, wie dieser angehängt ist. Wenn wir nun sichergehen wollen , dass dies der richtige ist, können wir diesen kraftvollen Teileanhang auch umbenennen. Und wenn wir uns die Vektorkraft ansehen , können Sie eine kraftvolle Teilebefestigung erkennen. Okay, lass uns das spielen und mal sehen, was jetzt passiert. Was Sie sehen werden, ist, dass sich das immer noch nicht bewegt. Also denkst du vielleicht, das ist irgendwie komisch, oder? Weil wir es bewegen können, aber es bewegt sich nicht. Nun, das Problem ist, dass zwischen diesem Teil und der Grundplatte Reibung besteht diesem Teil und der Grundplatte da es natürlich zu Berührungen kommt. Und das kannst du dir vorstellen, wenn du einen Würfel hast, der wie auf einem Tisch liegt, um ihn zu bewegen. Das wird nicht so schlimm sein. Aber wenn es wie eine gummiartige Oberfläche ist, wird das etwas schwieriger, weil die Reibung unterschiedlich stark ist. Also, wenn wir diese Truppe auf, sagen wir in diesem Fall etwa 3.500, erhöhen würden . Ich bin mir ziemlich sicher, dass das ausreichen sollte , damit es sich in X-Richtung bewegt. Und du wirst sehen, da ist es. Und es zoomt häufig in den Himmel, bis, naja , bis es im Grunde weg ist. Das ist also schon ziemlich cool. Lass uns versuchen, 2.500 zu machen. Vielleicht wird es dadurch ein bisschen langsamer. Und vielleicht können wir dann auch noch jemand anderen sehen. 2.500 sind hier offenbar nicht ganz genug, wie Sie sehen können. Wir müssen also ein bisschen mehr tun, aber das ist in Ordnung. Lass uns 3.000 machen und dann wird das hoffentlich nicht zu schnell gehen. Und dann können wir das tatsächlich erweitern. Wir können den kraftvollen Teil sehen. Sie können sehen, dass die Geschwindigkeit tatsächlich etwas ist , weil sie sich in diese Richtung bewegt, oder? Es hat tatsächlich eine Geschwindigkeit, weil eine Kraft ausgeübt wird , wenn ich sie erhöhen würde. Also sagen wir einfach, es waren 50. Jetzt ist das Teil weg , weil es vom Boden des Himmels geflogen ist. Und wenn wir das einfach neu starten und schnell in den Workspace gehen und die Truppe hier ändern, sagen wir 5.000, oder? Plötzlich haben wir jetzt eine wahnsinnige Geschwindigkeit und sie ist viel schneller. Nun, das ist eine Art, ein Teil zu bewegen, oder? Mit einer Macht. Das ist schon sehr interessant. Um das zu haben, gibt es eine andere Art von Kraft. Das können wir auch haben, das haben wir gesehen. Es gibt eine Löwenstreitmacht. Der Unterschied hier ist also subtil. Vektorkraft übt im Grunde eine Kraft in eine bestimmte Richtung aus. In diesem Fall macht die X-Richtung dies nun relativ zum Anhang. Das kannst du auch relativ zur Welt verwenden. Der Unterschied besteht darin, dass, wenn wir das drehen würden, richtig, wir jetzt also die X-Richtung verwenden, was diese Struktur genau hier ist. Was in Ordnung ist. Weil die Extraktion der Welt auf diese Weise erfolgt und die X-Richtung der Bindung auch so ist. Wenn wir die Anhänge rotieren würden. Also ich habe jetzt den Aufsatz ausgewählt und drehe ihn um 90 Grad, oder? Also lass uns einfach hier nochmal nachschauen. Modale Drehung um 90 Grad. Ich habe das gerade überprüft. Und wenn ich es um 90 Grad drehen würde, das X des Aufsatzes plötzlich ist das X des Aufsatzes plötzlich in diese Richtung. Jetzt sind wir alle irgendwie verwirrt, weil, naja, die Macht, okay, lass uns einfach zuerst für einen Moment die Leitung loswerden. Die Vektorkraft wird relativ zur Befestigung verwendet. Also zoomen wir jetzt in diese Richtung. Wenn du sagst, warte, was zur Hölle passiert? Nun, schauen wir uns das mal an und Sie werden sehen, dass es jetzt nicht in diese Richtung zoomt, sondern in diese Richtung. Weil die Kraft lokal angewendet wird, weil wir Weltkoordinaten haben. Die Welt in dieser Richtung ist also x, diese Richtung ist z und die Aufwärtsrichtung ist der Grund, warum das alles mehr oder weniger in Ordnung sein sollte. Aber dann hast du auch Anweisungen für deine eigenen Teile, oder? Denn wenn du dich auseinanderdrehst, wird es plötzlich gedreht. Siehst du, das ist jetzt x, das ist x, das ist z, das ist y. Das ist alles in Ordnung. Aber wenn wir es um 90 Grad um die X-Richtung drehen würden , oder? Plötzlich ist y jetzt anders, weil wir die Rotation geändert haben. Wenn man also die Drehung von etwas ändert, ändert man sein lokales 3D-Koordinatensystem lief eine ziemlich verrückte Sache, aber insgesamt hoffentlich einigermaßen verständlich, hoffentlich einigermaßen verständlich dass es einen Unterschied zwischen einem lokalen Koordinatensystem und dem globalen Koordinatensystem gibt. Und das war die Vektorkraft. Lassen Sie uns auch über die andere Kraft sprechen. Das ist die Linienstärke. Lassen Sie uns hier einfach die Vektorkraft deaktivieren. Und die Linienstärke muss, wie Sie sehen, an Anhängen hängen. Was wir also tun können, ist einfach einen neuen Port zu erstellen. Das wird der, dieser hier, und wir werden das gelb machen, aber wie orange, das wird okay sein. Lassen Sie uns das ein wenig vergrößern. So etwas. Mir geht es eigentlich gut mit. Und wenn wir, sagen wir, das ein bisschen drehen und das um zwei verschieben würden sagen wir, das ein bisschen drehen und das um , ungefähr so. Was wir tun könnten, ist hinzuzufügen, dass dies der Teil der Kraftlinie sein wird . Nur um das zu demonstrieren, wollen wir dem einen, einen weiteren Anhang hinzufügen. Jetzt ist dieser Anhang wieder mittendrin. Wir können den Anhang verschieben und Sie sollten sehen können, ob wir das tun. Lassen Sie uns das auch umbenennen. Befestigung mit Linienkraft. Das können wir jetzt auch verschieben. Und du kannst sehen, dass es ein kleiner Punkt hier ist , dass du C sein wirst. Du kannst das auch sichtbar machen Du kannst das auch sichtbar machen und dann wird es immer sichtbar sein auch wenn wir es nicht ausgewählt haben, kann das manchmal nützlich sein. Wenn wir das also einfach wie oben hier drüben bewegen würden , können wir jetzt den kraftvollen Teil der Bindung nehmen und ihn an die andere Bindung anhängen, die Arbeitskräftebindung eine Linie bilden und dann wird sich dieses spezielle Objekt über diese Linie bewegen. Also wird hier im Grunde der erste Anhang gezogen. Wenn wir also zur Linienkraft gehen, richtig, dann zieht sie die kraftvolle Bindung in Richtung der Linienbefestigung. Wenn wir eine Reaktionstruppe aktivieren, ist das wichtig. Und dann ist Größe wieder nur die Vorstellung davon, wie schnell es geht. Also, wenn wir das einfach ausführen würden, lassen Sie uns sehen, ob das etwas bewirkt, das jeder sehen wird, nichts passiert, aber 1.000 waren wahrscheinlich nicht hoch genug. Lass uns einfach 4.500 machen, so etwas. Vielleicht reicht das in diesem Fall. Und das ist in der Tat genug. Und du kannst sehen, dass es versucht, das zu erreichen. kann es jedoch aufgrund der Schwerkraft nicht diesem Fall kann es jedoch aufgrund der Schwerkraft nicht aufstehen. Was wir also tun könnten, ist, diesen Wert zu erhöhen, um die Linienstärke noch stärker zu machen. Wir könnten also etwa 7.500 machen, vielleicht nicht 75 K, das sind ein bisschen viel 7.500, vielleicht so etwas. Und wir können sehen , ob das etwas bewirkt. Und jetzt ist es so, als hätte es tatsächlich die Ohrmuschel umgeworfen, was auch irgendwie lustig ist. Aber du kannst sehen, dass es im Grunde eine Linie von der Mitte dieses Würfels bis zu diesem zieht eine Linie von der Mitte . Also von der gewaltsamen Bindung an den anderen. Das sind also die beiden Arten von Kräften, in diesem Fall die Vektorkraft und die Ausrichtungskraft, die beide bei Anhängen verwendet werden. Sie sind auch sehr interessant , weil man mit Bindungskraft tatsächlich viele Dinge machen kann , und wir werden in zukünftigen Vorlesungen auch einiges damit machen. Zusammenfassend lässt sich sagen, dass es insgesamt zwei Arten von Kräften gibt, die Vektorkraft und die Linienkraft. Die Vektorkraft übt einfach eine Kraft in einer bestimmten Vektorrichtung für eine bestimmte Befestigung Die Vektorrichtung kann relativ zur Befestigung selbst sein. Es wird also die Richtung ändern abhängig von der Drehung des Aufsatzes selbst. Oder es kann relativ zur Welt sein, was bedeutet, dass die Objekte, die Ausrichtung oder Drehung des Objekts keinen Einfluss darauf haben, in welche Richtung die Kraft ausgeübt wird. Es gibt auch eine Linienkraft , bei der eigentlich zwei Aufsätze verwendet werden. Es übt also im Grunde eine Kraft von einer Bindung auf die andere aus. Zeichnet also eine Linie von einer Anlage zur anderen und übt dann eine Kraft auf diese Linie aus. Und das war's für diese Vorlesung hier. Ich hoffe, Sie fanden das nützlich und Sie lernen etwas Neues und wir sehen uns alle in der nächsten Vorlesung. Also, ja. 26. (Roblox) Einschränkungen: Ordnung, lassen Sie uns hier mit dem Roblox-Anfängerbereich für den Roblox-Kurs fortfahren . Und in dieser Vorlesung werden wir uns mit Einschränkungen befassen. Einschränkungen sind eine sehr, sehr interessante Sache, die Sie Ihrem Arbeitsbereich wieder hinzufügen können , wodurch die Bewegung Ihrer Teile eingeschränkt wird. Nun, das wird ein oberflächlicher Überblick als Einführung hier sein , das ist, kann sein, ich meine, das könnte eine eigene zweistündige theoretische Vorlesung haben. Also fügen wir einfach einen neuen Teil hinzu und machen das, sagen wir mal, ein bisschen dunkleres Orange, vielleicht ein bisschen dunkleres Orange. Da hast du es. Und wir werden das einfach ein wenig vergrößern und dem einen Anhang hinzufügen. Das wird also der betrügerische, ausgelaugte Teil sein und das wird eine Einschränkung haben. Zuallererst wird es einen Anhang haben. Eigentlich. Das wird der betrügerische, gestreamte Anhang sein , nur damit wir wissen, was das ist. Und dann können wir suchen, damit wir etwas hinzufügen können und wir können einfach nach Einschränkungen suchen. Und Sie können sehen, dass es eine Reihe von Einschränkungen gibt. Wie Sie deutlich sehen können, kann Balsa einschränken. Es gibt ein zylindrisches Zustimmungsscharnier, kein Kollisionsspiel in prismatisch, starr, als gäbe es hier alle möglichen Dinge, die man haben kann, und die machen unterschiedliche Dinge. Beispielsweise bildet die Seilbeschränkung ein Seil zwischen zwei Befestigungen. In unserem Fall werden wir also den ersten Anhang B haben , unseren eigenen Anhang. Und dann schauen wir mal. Der zweite Eigensinn ist der Eigensinn für unseren kraftvollen Teil. Und dann sieht man plötzlich, dass es ein Seil zwischen ihnen bildet. Wenn ich also tatsächlich die Sichtbarkeit aktiviere, kannst du sehen, dass das jetzt ein Seil ist, das zwischen dieser Befestigung und dieser Befestigung gesponnen wird. Und das Seil ist echt cool. Sie können also unterschiedliche Dicken haben. Das wäre also ein wirklich dickes, dickes Seil. Also setzen wir es wieder auf 0,1. Du kannst natürlich auch die Farbe ändern, oder? Wenn Sie also eine andere Seilfarbe haben , die Sie möchten, funktioniert das auch. Und dann gibt es noch ein paar interessante Dinge , und das ist die Länge hier drüben, die Restitution sowie die aktivierte Winde. Wenn wir die Winde aktivieren, können wir noch ein paar weitere Attribute verwenden. Aber lass uns einfach sehen, lass uns die Länge so machen, dass du sehen kannst, ob ich die Länge erhöhe, zehn ist nichts, aber wenn ich zwei mache, Wendy, z. B. wenn ich 50 mache, Lass uns gehen. Okay, also 20 sind nicht ganz genug, aber 30, nicht ganz 40. Und dann wird es hier irgendwie nachgelassen weil es länger ist, als es eigentlich sein muss, oder? Also, wenn ich 32 oder so machen würde, wird das immer noch gelehrt. 35 geht schon irgendwie unter. Das sieht man also daran, dass das Seil eine bestimmte Länge hat. Wenn ich es dann bewege, kannst du es sehen. ist es tatsächlich. Es berücksichtigt die Länge des Seils, wenn es angezeigt wird. Das ist also wirklich, wirklich cool, oder? Und was wird jetzt passieren? Nehmen wir an, ich mache diesen speziellen Teil hier vor Anker. Das heißt, dieser Typ bewegt sich nicht wie das, was du verdammt noch mal tust. Aber was passieren wird, ist, dass ich meine Vektorkraft hier wieder aktiviere. Der Würfel möchte also in diese Richtung verkleinern. Was denkst du? Was wird passieren? Lass uns einfach einen Blick darauf werfen und sehen, was passieren wird. Also werden wir den Würfel finden, während er versucht, sich in diese Richtung zu bewegen. Aber natürlich kann es das, weil es durch die Seilbeschränkung eingeschränkt ist. Das ist wirklich großartig. Und damit kannst du einige interessante Dinge machen. Das ist also ein Beispiel für die Seilbeschränkung. ob es so viele Einschränkungen gibt wie Sie deutlich gesehen haben, oder? Eine weitere interessante Einschränkung ist die Federbeschränkung. Das ist das hier, und es ist ein bisschen knifflig zu benutzen, aber wenn du es einmal verstanden hast, ist es wirklich cool. Zuallererst werde ich dafür den Beschränkungsanhang etwas nach unten verschieben den Beschränkungsanhang etwas nach unten , nur weil er einfach so ist, dass er sich auf der gleichen Ebene wie der andere befindet. Das wäre also, wo ist es? Das ist minus vier. Die Wortposition ist also tatsächlich 1,5 im Y und die Weltposition hier ist zwei. Also lass uns einfach hinzufügen, mach das 12. Da hast du es. Und jetzt sollte es auf dem gleichen Niveau sein. Und dann können wir diesen Anhang tatsächlich anhängen . Null ist wieder der Beschränkungsteil und Anhang Eins ist der kraftvolle Port. Sie können sehen, dass es jetzt eine Feder gibt und wir können das Aussehen hier ändern , indem wir weitere Spulen hinzufügen. Wir können den Radius hier auf Verrücktheit und die Dicke auf etwas richtig Dickes ändern . Nochmals, lassen Sie uns das einfach immer sichtbar machen , damit wir es vorerst haben . Und das ist nur der Schein. Das ändert also nichts an der Funktionalität. Die Funktionalität ist dann hier mit der Feder erledigt. Die aktuelle Länge ist also 16. Also sagen wir einfach, dass die drei Längen, das ist im Grunde die Länge, die Sie wollen. Sie können sehen, dass es tatsächlich die Länge ist , bei der die Feder keine Steifigkeitskraft ausübt. Das bedeutet, dass dieses bestimmte Objekt nicht mehr verschoben wird . Und das ist in Ordnung. Wenn du 16 sagst, dann würde nichts passieren, wenn wir das einfach ausführen würden. Und es ist auch keine Steifigkeit, sodass sowieso nichts passieren wird. Aber wenn wir die Steifigkeit auf 1.000 setzen würden, sagen wir, lassen Sie uns Dämpfung auf etwa fünf erhöhen, ungefähr so. Und lass uns das einfach spielen. Oh, aber bevor wir anfangen, lassen Sie uns die Vektorkraft deaktivieren, nur damit wir sie deaktiviert haben. Und dann lass uns wirklich hier rein gehen und du wirst das sehen können, wenn ich drin bin, richtig. Moment passiert also nichts, wenn ich versuche, das hier reinzustellen und mir das anzusehen, richtig. Plötzlich prallt es zurück, oder? Also kann ich das bewegen. Dem Frühling entgegen. Und es wird immer versuchen, die Entfernung zu ermitteln, die in der Einschränkung hier definiert ist. Sie können also sehen, dass die aktuelle Entfernung 17 beträgt. Ich kann das verkleinern, indem ich es im Grunde nach rechts schiebe. Und dann wird es wieder verlängert. Jetzt ändert sich die aktuelle Länge hier nicht. Es ändert sich wahrscheinlich nur auf dem Server, was eigentlich eine interessante Sache ist. Lassen Sie uns also tatsächlich sehen, ob dies tatsächlich der Fall ist. Und du kannst sehen, dass du hier ziemlich verrückte Dinge tun kannst. Aber ja, es ändert sich auf dem Server. Das ist also gut zu wissen. Aber ja, das ist eines dieser Dinge, die du tun kannst, einige wirklich interessante Dinge, damit das funktioniert. Natürlich braucht die Federzwang eine ausreichend hohe Steifigkeit und im Grunde genommen drei Längen, oder? Also, wenn wir diese freie Länge plötzlich verringern würden, würde es das rückgängig machen, weil, nun ja, jetzt ist die freie Länge 12 und es wird versuchen die aktuelle Länge ungefähr auf die freie Länge zu bringen. Nicht genau, aber so viel wie es im Grunde genommen werden kann. Und weil die Feder in diesem Fall, einmal um tatsächlich ein Gleichgewicht zu halten, beide mögen, sie will nicht zu lang sein und sie will auch nicht zu kurz sein. Sie können auch Grenzwerte aktivieren. Das wäre also die maximale Länge, oder? Sie können also, die maximale Länge ist kleiner als die freie Länge, macht keinen Sinn. Du kannst also so etwas wie 20 und minlength sagen, du kannst so etwas wie fünf sagen und dann kannst du es nicht einmal näher an das herankommen lassen. Also, wenn wir das jetzt nur noch ein bisschen mehr hierher verlegen würden . Schauen wir uns so etwas an, das einfacher sein wird , als wenn Sie versuchen würden, weniger als fünf zu versuchen, lassen Sie uns tatsächlich zehn machen. Vielleicht wird das ein bisschen einfacher und das wird nicht einmal funktionieren. Also du kannst da sehen, ich verstehe tatsächlich, ich kann das nicht mal mehr drücken, weil das die tatsächliche Mindestlänge ist. Wenn es Null ist, kann es so kurz sein, wie Sie möchten. Was ich also mit den Einschränkungen, insbesondere der Federbeschränkung, sehr empfehle , denn das kann manchmal sein, es gibt viele Dinge, die Sie hier ändern können. Ich empfehle dringend, ein wenig damit herumzuspielen, einschließlich einiger anderer Einschränkungen. Die Zeilenbeschränkung ist also wahrscheinlich eine der am einfachsten zu handhabenden. Die Federbeschränkung ist etwas komplizierter, und einige der anderen sind noch komplizierter. Sie ermöglichen jedoch fast alle möglichen physikalischen Dinge. Theoretisch also mit der Federbeschränkung und einigen anderen, den Scharnieren und den zylindrischen Beschränkungen. Man kann tatsächlich Physik bauen, Autos simulieren und solche Sachen. Das ist eigentlich so, wie wir es mit echter Physik simuliert haben. Es ist verrückt, dass das funktioniert, aber es funktioniert. Aber das ist etwas für fortgeschrittene, fortgeschrittene Leute, oder? Als ob das im Moment nichts für uns wäre, aber es ist ziemlich cool. Ich kann also nur wärmstens empfehlen, ein bisschen mit einigen Einschränkungen herumzuspielen ein bisschen mit einigen Einschränkungen und einfach zu schauen, was man sich einfallen lässt, das ist im Grunde immer eine der besten Ideen, um zu lernen, wie das alles funktioniert. Zusammenfassend lässt sich sagen, dass es mehrere Einschränkungen gibt , die Sie Ihren Teilen hinzufügen und dann zwei Anlagen hinzufügen können . Und es kann die Teile in ihrer Bewegungsfähigkeit einschränken . Es gibt viele verschiedene Arten von Einschränkungen. Wir haben hier das Seil und die Federbeschränkung als zwei Beispiele gesehen . Und noch einmal, wir werden erwähnen, ich nur empfehlen kann, einfach mit einigen von ihnen herumzuspielen , und dann können wir hoffentlich auch einige coole Anwendungen für sie finden . Aber das war's für diese Vorlesung hier. Ich hoffe, Sie fanden das nützlich und Sie lernen etwas Neues und wir sehen uns alle in der nächsten Vorlesung. Also, ja. 27. (Roblox) Spawn-Punkte: Ordnung, lassen Sie uns hier mit den Grundlagen der Straßensperren fortfahren Folgen Sie dem Robotik-Kurs und in dieser kurzen Vorlesung werden wir über das Hinzufügen neuer Spawnorte sprechen. Also natürlich das Hinzufügen eines neuen Spawn-Standorts. Das ist überhaupt nicht verrückt, oder? Du kannst es buchstäblich einfach tun, indem du zum Modell-Spawn gehst und dann gibt es einen weiteren Spawn, oder du könntest den bereits vorhandenen Spawn duplizieren. Was passiert, wenn Sie zwei davon am selben Ort haben ? Nun, lass uns einfach spielen. Und wir werden natürlich sehen , dass ich genau hier spawne. Also spawne ich die nächsten beiden und klicke hier auf Game. Lass uns einfach aufhören und lass uns wieder spielen. Und lass uns einfach sehen , wo es jetzt geboren ist. Jetzt spawne ich auch neben dem Klickspiel. Das ist also ziemlich cool. Und lass uns wiedergeboren werden. Und hoffen wir, dass die Kräfte des Zufalls auf meiner Seite sind , denn jetzt habe ich nicht neben dem Klickspiel gespawnt, sondern tatsächlich neben der Quelle hier drüben, was ziemlich cool ist. Die Idee ist also, dass, wenn du mehrere Spawns hast , die dasselbe Team sind , dir einfach nach dem Zufallsprinzip einer von ihnen zugewiesen wird . Wenn du einen der Spawnorte auswählst und den ganzen Weg nach unten gehst, kannst du sehen, dass es eine erlaubte Änderung bei Berührung gibt und auch die Teamfarbe. Dafür braucht man also tatsächlich Teams. Wir werden uns das nur ansehen. In unserem Explorer können wir also tatsächlich einige Teams hinzufügen. Also können wir ein Team hinzufügen. Wir werden dieses Team einfach Rot nennen. Und dann fügen wir auch ein weiteres Team hinzu und das wird Team Blue sein. Team blau. Wir werden das einfach bläulich färben. Und die andere, wir werden eine rötliche Farbe daraus machen. Wirklich bereit, das gefällt mir, das ist ziemlich cool. Und das ist so ziemlich alles, was Sie tun müssen. Wir können die automatische Zuweisung ein- oder ausschalten. Lassen wir sie einfach für beide an. Und wenn wir jetzt zu dem kleinen Ort gehen, oder? Und wir gehen runter, wir können die Teamfarbe ändern, wirklich rot, und wir können sagen: Erlaube dem Team, sich zu ändern. Und dann können wir hierher gehen und das auch sagen, und das wird das blaue sein. Ich glaube, es war so, Electric Blue. Ich bin mir ziemlich sicher, dass wir unsere beiden Teams haben. Im Moment sind die Löffel jedoch neutral, wir wollen, dass sie nicht neutral sind. Wenn du spawnst, hast du also bestimmte Teams, die damit verbunden sind. Also lass uns einfach hier reingehen. Im Moment bin ich also im Team Rot , weil ich genau hier spawne. Wenn ich zum anderen Spawn gehe und den anderen Span berühre, bin ich plötzlich Tim Blue. Lass uns gehen und ich kann zurück gehen und wieder zu Team Rot gehen. Und du kannst sogar sehen, dass du die Teams wechselst. Das ist nicht immer das, was du willst, oder? Könnte sein, vielleicht willst du eigentlich nicht , dass die Leute ihr Team wechseln. Dann sagst du einfach: Hey, du kannst nicht zulassen, dass der Teamwechsel bei uns erscheint. Das funktioniert also. Also kannst du das einfach ausschalten. Und was auch wichtig ist , ist, wenn wir das jetzt auf, sagen wir, wirklich blau statt auf elektrisches Blau ändern würden jetzt auf, sagen wir, wirklich blau , oder? Aber wenn ich das aktiviert habe, wird die Teamfarbe Elektroblau sein, aber bei Teamblau wird die Teamfarbe tatsächlich blau sein. Was wird jetzt passieren? Mal sehen, ich gehe ins kleine Team Rot. Und wenn ich hierher gehe, verändert das jetzt das Team. Du kannst sehen, dass es mich auf neutral umstellt, weil es die Teamfarbe nicht findet. Das ist sehr wichtig. Das ist also ein wichtiger Teil davon. Also im Grunde, wenn wir hier rein gehen, die Teamfarbe direkt an der Spawn-Position, das müssen eigentlich genau die gleichen Teamfarben sein. Das wäre also Electric Blue. Und dann muss das auch elektrisch blau sein. Diese Teamfarben sind im Grunde identisch. diesem Grund können Sie auch zwei Teams mit derselben Farbe haben . Das ist eigentlich ein sehr wichtiger Teil davon, aber das ist die allgemeine Idee, Teams und neue Spawnorte hinzuzufügen . Nun, was Sie in der guten Sache tun sollten, ist all diese Teams und all diese vier Standorte mithilfe eines Skripts zu erstellen . Das ist auch eine kluge Idee. Wir werden das vorerst nicht tun. Ich wollte dir nur im Grunde zeigen, wie du einen weiteren Standort hinzufügst und wie du dir das Team ansiehst. Das war's für diese Vorlesung hier. Ich hoffe, Sie fanden das nützlich und Sie werden etwas Neues lernen und wir sehen uns alle in der nächsten Vorlesung. Also, ja. 28. (Roblox) Spieler vs Charakter: Lassen Sie uns hier mit den Roblox-Grundlagen für den Roadblocks-Kurs fortfahren . Und in diesem Vortrag werden wir über Charakter gegen Spieler sprechen . Was ist also ein Spieler und was ist ein Charakter? Wir haben die Spieler hier im Explorer gesehen. Und wenn wir mitmachen, dann können wir tatsächlich sehen , dass etwas dazukommt und das ist zählbar. Da bin ich also, ich werde als Spieler hinzugefügt, aber wenn wir in den Workspace gehen, werde ich auch im Workspace hinzugefügt , was ziemlich interessant ist. Schauen wir uns das aus der Sicht des Servers an. Auf dem Server können wir also sehen , dass der Spieler auch durchkommt und wir haben auch den modalen Kilometer. Sie können also sehen, dass dies ein Modell ist, während dies hier ein Spieler ist. Also, was ist jetzt der Unterschied zwischen dem Spieler hier und dem Model oder dem Charakter , also was die einzelnen Dinge macht. Der Player enthält also eigentlich welche Spielerdaten, oder? Das wird also etwas sein, das für mich in meiner Benutzer-ID einzigartig ist , ich habe ein Team, oder? Das ist also spezifisch für meinen Spieler. Während der Charakter oder das Modell hier nur die physische Repräsentation ist , oder? Das wird also sein, das ist das Modell oder der Charakter, und das hat verschiedene Farben. Es hat, es hat ein Gesundheitsset, es hat eine humanoide Komponente. Und die humanoiden Komponenten sind, wie Sie sehen können, für einen Teil der Skalierung verantwortlich , für einen Teil der Breite, diese gleichmäßige Beschreibung. Sie können also sehen, dass es verschiedene Accessoires gibt. Das sind also all die visuellen Dinge. Dazu gehören auch Skripte, wie Sie sehen können, lokale Skripte wie Animate. Das sind also im Grunde alle Animationen, die Sie sehen, wenn ich mich hier bewege. Diese Animationen, oder? Die Laufanimation, die Sprunganimation, all das, das alles wird über die Animation hier drüben gemacht, dieser Typ, auf den ich wirklich eingehen kann. Sie können also tatsächlich sehen, dass dies das Animationsskript ist , das bereits hier ist. Und du kannst sehen, dass hier eine Menge Sachen drin sind. Wie Sie also deutlich sehen können, können einige dieser Peelings ziemlich verrückt werden. Wenn man also wirklich darüber nachdenkt, ist es wichtig, dass der Spieler, wenn wir irgendwelche Werte hinzufügen wollen, diese mit dem Spieler hinzugefügt werden während dem Charakter alles andere hinzugefügt wird. Du kannst also sehen, ob, du kannst sehen, ob ich den Player hier drüben ausbaue, da drüben ist ein Rucksack, da ist etwas Starterausrüstung. Wenn du also Ausrüstung hast, richtig, würdest du sie im Player speichern und sie würde im Charakter oder im Modell angezeigt. Wenn du also aus irgendeinem Grund das Aussehen unseres Charakters ändern möchtest , müsstest du dich auf den Charakter beziehen und nicht auf den Spieler. Jetzt kannst du den Charakter über den Player bekommen, oder? Denn wenn ich hier auf Kontrolle klicke, kannst du tatsächlich sehen, dass wir hier eine Charakterreferenz haben, und die ist kollegial, was genau dieser Typ hier ist , oder? Sie sind also miteinander verbunden. Du kannst den Charakter vom Spieler bekommen. Aber das ist die allgemeine Idee. Zusammenfassend lässt sich sagen, dass der Charakter alles ist, was visuell ist. Es hat im Grunde einen Verweis auf alle Modelle und all das humanoide Zeug und ist innerhalb des Arbeitsbereichs verfügbar. Theoretisch würde man aber immer über den Player gehen. Man wartete immer, bis der Spieler geladen hat oder so, und ging dann tatsächlich über den Spieler zum Charakter, weil der Spieler einen Bezug zu dem Charakter hat und der Spieler selbst im Grunde der eigentliche Kunde ist und alle möglichen Entzündungen hat, einschließlich eines gewissen Wertespeichers, was in der nächsten Vorlesung tatsächlich zu sehen sein wird. Nun, das wird für diese Vorlesung hier sein. Ich hoffe, Sie fanden das nützlich und Sie werden etwas Neues lernen und wir sehen uns alle in der nächsten Vorlesung. Also, ja. 29. (Roblox) Variablen auf dem Player speichern: Lassen Sie uns hier mit den Roboter-Grundlagen für den Robotik-Kurs fortfahren . Und in dieser Vorlesung werden wir uns ansehen, wie Sie bestimmte Variablen auf Ihrem Player speichern können . Nun, das mag auf den ersten Blick ein bisschen erscheinen, und das ist nicht wirklich nützlich, aber es ist in der Tat sehr, sehr interessant. Wo können wir diese Werte also hinzufügen? Wir möchten diese Werte dem Starterpaket hinzufügen. Sie können also Werte hinzufügen, wie Sie sehen können Wenn ich nach Werten suche, fügen Sie Farbwerte zu Wertzahlen hinzu. Es gibt also eine Reihe von Dingen , die wir hier hinzufügen können. Sagen wir einfach, wir fügen einen Endwert und nennen wir das einfach. Ich habe es nur zur Diskussion hier erlebt, nur damit wir etwas haben, mit dem wir arbeiten können. Wenn wir jetzt anfangen würden zu spielen, oder? Und wenn wir in den Spieler schauen und Joel beruhigen und dann in den Rucksack, siehst du, dass ich etwas Erfahrung in meinem Rucksack habe. Nun, in diesem Fall macht es natürlich nicht viel Sinn, den Rucksack zu erleben konzeptionell nicht viel Sinn, den Rucksack zu erleben, aber denk einfach darüber nach, okay, du wirst deinem Spieler jetzt etwas Erfahrung hinzufügen. Wir werden das in der nächsten Vorlesung auf eine etwas nettere Art sehen . Aber nur der Argumentation halber werden wir es vorerst so belassen. Jetzt, im Moment, können wir mit der Erfahrung wirklich alles machen, als ob es deine Meinung nicht ändert. Ich schätze, wir können es hier ändern, aber das bringt nichts, oder? Aber was wir tun wollen, sagen wir einfach, dass wir die Erfahrung jedes Mal ändern wollen , wenn ich die Position hier ändere. Sagen wir, als ich auf den anderen Block hier drüben gesprungen bin , oder? Das wäre also der Berührungsblock, oder? Wenn ich mich darauf einlasse, anstatt 1 Milliarde Dinge zu erkunden, würde ich eigentlich einfach die tatsächliche Erfahrung dieses bestimmten Spielers ausdrucken wollen . Okay, das klingt, das klingt sehr interessant. Theoretisch sollten Sie dies bereits selbst tun können. Aber lassen Sie uns das einfach durchgehen. Jetzt werde ich hier zuerst ein neues Objekt erstellen und wir werden das ein bisschen anders behandeln. Also lasst uns das in einer etwas anderen Farbe einfärben, vielleicht ein bisschen dunkelrot. Ja, das ist gut. Burgund. Absolut. Das ist Burgunderrot. Wir behalten das als Clicker mit einem anderen Skript. Dies wird tatsächlich der Erlebnisklicker sein. Und das wird das Erlebnis, das Clicker-Skript sein , weil es tatsächlich das tatsächliche Erlebnis der Spieler ausgibt. Jetzt haben wir den Spieler hier, oder? Wenn es darauf klickt, können wir tatsächlich Player Dot machen und dann Backpack und dann Dot Experience. Wird das funktionieren? Nun, es wird danach suchen. Und solange wir hier alles richtig geschrieben haben, sollte das funktionieren, oder? Also sollten wir in der Lage sein, diesen Spieler zu sagen, oder? Und dann können wir tatsächlich einen Spieler machen, der den Namen des Spielers ausgibt, hat XB, oder? Das sollte also die Ausgabe sein, die dieser Spielerrat hat, und dann die Erfahrung, die wir tatsächlich im Rucksack haben. Mal sehen, ob das tatsächlich etwas bringt, oder? Also lass uns hier reingehen und mal sehen, wo es genau hier ist. Wenn ich also darauf klicke, sollten wir diese Anzahl sehen können, diese Spielerzählung hat XP erlebt. Okay, nun, das ist nicht ganz das Training, wie wir es uns vorgestellt haben, weil unsere Erfahrung hier, richtig, das ist ein Ganzzahlwert. Wir müssen tatsächlich den Punktwert machen und dann bekommen wir den Wert, denn wenn wir einfach Erfahrung haben, bekommen wir natürlich wenn wir einfach Erfahrung haben, bekommen einfach den Namen, richtig. Es ist also standardmäßig der Name und wir wollen den Wert tatsächlich erhalten. Also theoretisch, wenn ich das nochmal mache, wenn wir hier reingehen und darauf klicken, dann können wir sehen, dass dieser Spieler durchkommt und keine Erfahrung hat. Das ist ein sehr, sehr guter erster Schritt. Lassen Sie uns nun sehen, wie wir das Erlebnis verbessern können. Dafür. Wir wollen sowohl den Clicker links als auch den Clicker rechts ändern. Da hast du es. Und dafür bekommen wir wieder den Spieler. Also können wir einfach die Erfahrung ändern, oder? Wir können also im Grunde einfach den Erfahrungswert dieses Spielerrucksacks nehmen . Das ist also die Erfahrung. Und wenn das, wenn der Spieler klickt, wollten wir den Wert nur um eins erhöhen. Das ist buchstäblich alles, was wir tun wollen. Okay, lass es uns hier machen, und lass uns das Gleiche hier machen. Und das sollte so ziemlich das sein, was wir brauchen. Jetzt erhöht sich der Wert des Erlebnisses jedes Mal, wenn wir auf die linke und die rechte klicken. Also schauen wir einfach, ob das tatsächlich etwas bewirkt. Zuallererst, um jemanden zu überprüfen, überprüfen Sie HasZero-Erfahrung, die absolut korrekt ist. Wenn wir zum Spieler hier gehen, schauen wir uns das Rucksack-Erlebnis an. Jetzt klicke ich auf diesen. Sie können sehen, plötzlich habe ich eine Erfahrung gemacht. Jetzt muss ich 3456 und ich kann tatsächlich auf dasselbe klicken und natürlich mehrere Erfahrungen sammeln, aber das ist in diesem Fall nur ein Beispiel. Wenn ich jetzt darauf klicke, siehst du, dass ich 16 Erfahrung habe. Ja, das ist wirklich cool, oder? Also wenn der Wert auf dem Player gespeichert wurde und er jetzt gespeichert wird. Wenn ich jetzt aufhören und noch einmal sortieren , würden wir es natürlich zurücksetzen, oder? Wenn ich wieder hierher gehe, willkommen zurück. Das ist wieder Null , weil wir es nirgends speichern. Das ist etwas, das wir uns als Zwischenschritt ansehen werden als Zwischenschritt ansehen weil wir das in der Roadblocks-Cloud speichern müssen , was etwas komplizierter ist und auch einige andere Dinge beinhaltet , auf , was etwas komplizierter ist und auch einige andere Dinge beinhaltet einige andere Dinge die Sie wirklich achten müssen. Aber im Moment haben Sie hier einen bestimmten Wert für den Player mit einem Int-Wert gespeichert einen bestimmten Wert für den . Und noch einmal kann ich Ihnen zeigen, dass es verschiedene Werte gibt, die Sie haben können. Boolesche Werte, Farbwerte und Wertezahlen. Sie können sogar Objektwerte haben, Vektor drei Werte. Es ist also ziemlich cool, welche Art von Werten Sie auf dem Player speichern können. Und damit kannst du dein Spiel im Grunde an Statistiken oder Attributen für den Spieler verbessern . Das ist jetzt schon ziemlich cool, aber in der nächsten Lektion werden wir sehen, wie Sie die Leader-Sets hinzufügen können. Das würde also bedeuten, die Statistiken in der Rangliste oben rechts hinzuzufügen , rechts. Wenn ich hier mitmache, haben wir die Bestenliste gesehen, weil wir verschiedene Teams haben und ich kann dieser Bestenliste bestimmte Werte als Statistik hinzufügen dieser Bestenliste bestimmte Werte als und diese dann auch ändern. Und dann können wir sie tatsächlich mehr oder weniger im Spiel sehen . Wir müssen also nicht einfach einen zufälligen Stein anklicken und ihn anklicken , um zu sehen, wie viel Erfahrung wir haben. Wir werden das tatsächlich im Spiel sehen können. Also noch einmal, das ist verdammt geil. Unser, das war's für diese Vorlesung hier. Ich hoffe, Sie fanden das nützlich und Sie lernen etwas Neues und wir sehen uns alle in der nächsten Vorlesung. Also, ja. 30. (Roblox) Leaderboard mit Leaderstats: Ordnung, lassen Sie uns hier mit den Roblox-Grundlagen für den World-Works-Kurs fortfahren . Und in dieser Vorlesung werfen wir einen Blick auf Bestenlisten, auch Leader-Statistiken genannt. Das ist sehr interessant. Dafür wird also die Erfahrung gelöscht , die wir in das Starterpaket aufgenommen haben , da dieses Mal tatsächlich all unsere verschiedenen Werte über ein Skript generiert werden . Also auf den Server-Skriptservern werden wir ein neues Skript erstellen und das werden 16 Dashliter-Statistiken sein. Und lassen Sie uns einfach hinzufügen, dass dies entweder eine Rangliste oder eine Leader-Statistik ist. Das ist die allgemeine Idee und es ist eigentlich sehr wichtig, dass wir das alles richtig machen. Zuallererst werden wir einen lokalen Spieler haben und dieser entspricht den Spielern. Das wird sich also genau hier ansehen. Also die Spieler hier drüben, und es wird das schaffen. Und was wir tun können, ist, dass wir hier eine lokale Funktion einrichten können . Und diese Funktion wird das Leaderboard-Setup sein. Und das wird für jeden Spieler passieren und es wird so aussehen. Also werden wir einen neuen Ordner erstellen. Zuallererst wird es Leader Stats heißen und dann der Ordner selbst. Das ist also ein neuer Ordner und das ist eine Instanz Punkt nu, und das ist ein neuer Ordner. Wie du siehst. Dies ist nur ein neuer Ordner, für jeden unserer Spieler erstellt wird . In nur einem Moment sehen Sie, wie sie für jeden Spieler hinzugefügt werden . Aber zuallererst, und das ist extrem wichtig. Der Name hier muss exakt Literstatistik lauten. Bitte achten Sie darauf. Muss genau so geschrieben werden. Kleinbuchstabe L, Liter-Statistik. Es gibt kein Leerzeichen dazwischen, es gibt keinen Bindestrich, genau so. Ich habe das so oft gesehen, dass die Leute sagten, Oh, ich weiß nicht, wo es nicht funktioniert. Das liegt daran, dass es genau so geschrieben werden muss. Sobald das der Fall ist, kannst du den Punkt für die Leader-Statistik als übergeordneten Punkt dem Spieler selbst gleichsetzen . Dadurch werden die Ordner dem Player übergeordnet, was genau das ist, was wir wollen. Und jetzt können wir verschiedene Werte hinzufügen. So können wir z.B. den erlebten Wert zurückstellen. Wir können also eine erfahrene Gleichinstanz Punkt nu ausführen, und das wird jetzt ein Ganzzahlwert sein. Und dann können wir sehen, dass erfahrener Punktname dann natürlich Erfahrung ist. Da hast du es. Dann wird der gemessene Punktwert Nullen sein. Also beginnen wir bei Null, was Sinn macht. Dann ganz wichtig hier am Ende. Erfahrung, dass Elternteil dann gleich Liter-Statistik ist. Also wollen wir dann jede unserer Variablen den Leader-Statistiken zuordnen. Und theoretisch können wir das einfach duplizieren oder, oder das kopieren und das dann zum Beispiel auch in Gold ändern , oder? Also dann ändere das alles einfach in Gold. Und sagen wir, wir beginnen mit etwa zehn Gold. Und jetzt haben wir das. Jetzt ist es noch nirgends kalt, denn wo nennen wir das? Nun, wir werden sagen, dass Spieler Punkt Spieler hinzugefügt haben. Dies ist ein Ereignis hier, wie Sie sehen können, und es wird jedes Mal aufgerufen, wenn ein Spieler zum Spiel hinzugefügt wird. Und wir werden das mit dem Leaderboard-Setup verbinden . Und jedes Mal, wenn ein neuer Spieler unserem Spiel beitritt, erhält er den Leader-Statistik-Ordner mit dem Ganzzahlwert Erfahrung und dem Wert von Gold mit Null Erfahrung und zehn Volt. Das ist also wirklich cool. Lass uns einfach spielen und sehen, ob das funktioniert. Und ich versichere Ihnen , dass es funktionieren wird. Du kannst sehen, dass Joel beim Zählen keine Erfahrung und zehn Gold hat. Und wenn wir den Player hier öffnen, können wir tatsächlich sehen, dass es einen Ordner mit Anführersätzen gibt. Und stattdessen hast du die Erfahrung und das Gold. Und im Grunde sucht die Rangliste hier immer nach einem Leader-Statistik-Ordner und zeigt diesen dann an. Was wir jetzt natürlich nicht mehr tun können , ist, dass wir darauf klicken können weil im Moment nichts in unserem Rucksack ist, also können wir das tatsächlich anzeigen. Gehen wir also zurück zu hier und holen wir uns den Erlebnisklicker. Und dann holen wir uns hier auch die beiden Clicker. Also der linke und der rechte, und wir werden das hier ändern. Wir haben den Wert der Erfahrung im Rucksack geändert und jetzt ändern wir ihn tatsächlich in den Leader-Sets. Also, wie funktioniert das? Nun, es gibt ein paar Möglichkeiten, wie wir das machen können. Wenn wir nichts überprüfen wollen, können wir wortwörtlich einfach Liter-Statistiken sagen dass der Goldpunktwert gleich plus gleich eins ist, z. B. oder erfahren, ich meine, was auch immer wir wollen. Lass uns einfach hier Erfahrung machen, und lass uns auch hier Erfahrung machen. Also können wir das machen. Jetzt machen wir das nur der Argumentation zuliebe, oder? Gehen wir also einfach hier rein und wir sollten herausfinden können, dass, wenn ich das mache, Sie sehen können, dass unsere Erfahrung hier zunimmt. Das ist ziemlich cool. Aber was ist, sagen wir, das anfällig für sehr einfache Pfeile ist? Weil ich in diesem Fall hier einen Tippfehler mache. Und plötzlich sagen wir, ich tippe hier drüben und plötzlich klicke ich darauf und erhalte eine Fehlermeldung, weil hey, die Erfahrung ist kein gültiges Mitglied. Ich denke, was zum Teufel ist hier los. Ich vermisse es, das zu tippen. gibt es also eine kleine Hier gibt es also eine kleine Validierung , die Sie durchführen können. Und das wird ungefähr so sein. So können wir z.B. sagen, Hey, gib mir die Leader-Statistiken für den Spieler hier drüben. Also werden wir die Leader Stands als Variable verwenden. Dadurch werden keine Fehler ausgelöst, auch wenn keine Liter vorhanden sind. Das liegt daran, naja, es spielt keine Rolle. Und dann können wir ein Lokal machen und das ist in der Tat sehr interessant. Was wir also tun können, ist Erfahrungsstatistik zu sagen , und das ist verrückt. Wir können Literstatistiken sagen. Und dann setzen Sie den Doppelpunkt in Liter, finden Sie das erste Kind, das ist eine Funktion und diese sucht nach Erfahrung. Das könnte absolut verrückt aussehen. Was wir dann tun, ist, dass wir sagen, wenn wir das erlebt Dann, und dann können wir das tatsächlich erhöhen. Und das können wir nutzen, indem wir die Erfahrung nutzen. Das können wir sagen, nachdem wir das erlebt haben, dass dieser Wert plus gleich eins ist. Warum ist das besser als das? Nun, das stellt zunächst sicher, dass beide Gruppen von Führungspersönlichkeiten existieren, und auch die tatsächliche Erfahrung hier mit dem guten ersten Kind wird bestätigt, indem hier die If-Anweisung verwendet wird. Und die allgemeine Idee dieser Zeilenrate ist, dass dies wahr ist und dann wird zurückgegeben, was auch immer hier drin ist, oder? Also sagen wir im Grunde: Hey, ist das nicht Null? Das ist im Allgemeinen die Idee, oder? Also sagt der Anführer, es ist nicht Null. Und dann finden wir dieses Kind, das dann in der Erfahrung gerettet wird, dass diese Erfahrung, dass Wert plus eins gleich eins ist, dasselbe ist wie diese. Wenn wir das also, nur um der Argumentation willen, auch in den roten Klicker kopieren und wir ändern das. Du, wir werden dafür sorgen, dass das alles funktioniert. Also gehen wir hier rein und wir werden hier klicken und Sie können sehen, dass die Erfahrung immer noch zunimmt. Das ist in diesem Fall viel besseres Scripting und es stellt nur sicher , dass alles existiert. Was ist nun mit der Ausgabe? Das funktioniert immer noch nicht gut, gehen wir zum Erlebnisklicker hier. Und dann gilt hier dasselbe, oder? Wir können das im Grunde einfach bekommen. Und dann können wir, anstatt das Plus gleich zu machen, einfach sagen, dass wir in diesem Fall den erfahrenen Datenwert hier ausdrucken werden. Und dann können wir das auch tun. Wir können eine andere Aussage machen. Also wenn die Erfahrung aus welchem Grund auch immer nicht besteht, können wir einfach sagen, dass dieser Spieler, Spieler, keine Erfahrung hat, um der Argumentation willen, oder? Und wenn wir das spielen und hier rein gehen, haben wir hier jetzt keine Erfahrung, oder? Und dann können wir diese Erfahrung machen. Jetzt haben wir sechs, also haben wir jetzt sechs Erfahrung. Das funktioniert alles, richtig, das ist also schon ziemlich cool. Jetzt können wir noch verrückter werden, nur um der Argumente willen. Also was wir zum Beispiel tun könnten ist, dass wir sagen könnten, nun, wenn du darauf klickst, wollen wir eigentlich wissen, ob du nicht genug Gold hattest oder nicht, oder? Vielleicht kostet es Gold , das Ding zu bewegen. Was wir dann sagen können, ist, dass wir das dann tun können. Und dann können wir auch sagen, such mir auch das Gold, oder? Und dann können wir Folgendes sagen. Wenn es noch keine Erfahrung gibt wird das jetzt Gold Star sein, oder? Also das ist Gold Stat. Dann können wir sagen, ob Gold Stat ist, dann werden wir überprüfen, was der Wert ist. Wenn der Goldwert und Goldstandard-Datenwert mehr als eins sind, weil wir ihn verringern werden. Dann können wir damit weitermachen und den Erfahrungswert erhöhen. Und wir werden den Goldstandardwert senken. Jetzt werden wir hier absolut verrückt. Lassen Sie uns das einfach auch auf das andere übertragen, wie ich bereits erwähnt habe. Jetzt gibt es einen besseren Weg, dies zu tun. Anstatt zwei solcher Skripts zu haben, können Sie nur ein Skript verwenden und für beide dieselbe onClick-Funktion ausführen. Vorerst werden wir es einfach so belassen, das wird in Ordnung sein. Aber die allgemeine Idee ist , dass wir überprüfen, okay, haben wir auch einen Goldwert? Und wenn wir das tun, ist der Wert größer als eins oder größer oder gleich? Eigentlich ist es das, was wir wollen. Ja. Und wenn das der Fall ist, schauen wir nach der Erfahrung, dass wir die Erfahrung erhöhen , indem wir das Gold verringern. Und wir können auch hier nachverfolgen, anstatt, ob, wir können hier etwas Anderes machen. Und wir können dann tatsächlich etwas ausdrucken, wie der Spieler hat nicht genug Gold , um der Argumentation willen. Wenn der Spieler also Null Gold oder weniger als Null hat , hätte er wahrscheinlich. Dann wird es ausgedruckt, der Spieler hat nicht genug Gold. Schauen wir uns das an. Also lasst uns spielen und wir werden sehen, dass ich bei zehn Gold keine Erfahrung habe, wenn ich so weitermache . Ich klicke darauf. Jetzt habe ich ein Erlebnis und neun Gold und ich kann, ich kann dasselbe klicken. Ich bin bei Null Gold, alles funktioniert immer noch gut. Wenn ich das jetzt mache, dann hat der Computer plötzlich nicht genug Gold. Jetzt wird das Ding immer noch bewegt. Was wir tun können, ist, das zu ändern und zu sagen, nun, weißt du was, es wird sich nur bewegen wenn das Ziel tatsächlich abgezogen wird, oder? Also werden wir die Bewegung verschieben, nur um zu erscheinen. Und dann können wir das Teil plötzlich nur bewegen, wenn wir tatsächlich Gold haben. Nun, das ist sehr interessant, oder? Also können wir das voranbringen. Das ist alles in Ordnung, oder? Da hast du es. Und wir verschieben das noch einmal, und jetzt klicke ich hier und plötzlich, nein, funktioniert nicht, oder? Als ob du auf mich geklickt hast, aber du hast nicht genug Gold. Das ist in der Tat sehr interessant, dass das schon eine ziemlich coole Funktionalität ist. Zusammenfassend lässt sich sagen, dass wir das Ereignis „Spieler hinzugefügt“ für die Spieler verwenden das Ereignis „Spieler hinzugefügt“ für die Spieler , um für jeden Spieler, der unserem Spiel beitritt, einen Ranglistenordner zu erstellen . Und dieser Ordner wird die gewünschte Anzahl verschiedener Variablen enthalten . Und sie können jede Art von Zahl oder jede Art von Wert darstellen . In unserem Fall haben wir Erfahrung und Gold hinzugefügt, und wir verwenden dies zur Validierung. Wir brauchen es in einer bestimmten Menge Gold hier drüben, um einen Teil zu bewegen. Und dann würden wir auch Erfahrung sammeln. Das ist wirklich großartig und es ermöglicht dir, ermöglicht dir, so viele Dinge zu tun. Jetzt öffnen sich die Dinge wirklich und wir werden sehen, wie viel mehr Dinge wir tun können. Aber das war's für diese Vorlesung hier. Ich hoffe, Sie fanden das nützlich und Sie werden etwas Neues lernen und wir sehen uns alle in der nächsten Vorlesung. Also, ja. 31. (Roblox) Sammlerstücke: Ordnung, lassen Sie uns hier mit den Roblox-Grundlagen fortfahren und dem Roadblocks-Kurs folgen. Und in dieser Vorlesung werden wir Teile herstellen, die Sie in die Hand nehmen können. Also, wie wird das aussehen? Nun, lass uns zuerst hier einen neuen Teil machen und dann schauen wir mal. Also machen wir das zuerst zu unserem 333. Das ist, glaube ich, ungefähr die richtige Größe, die ich will. Ich möchte sie verankern und sie nur ein kleines Stück über dem Boden hochbewegen. Also werden wir so etwas haben. Jetzt werden wir sie tatsächlich ein helleres Gelb färben. Also vielleicht dieses Gelb, ich denke, das ist ein anderes als er, oder? Nein, das ist neues Gelb und das ist auch neues Gelb. Lass uns dann das tiefe Orange machen ist auch in Ordnung. Jetzt haben wir diesen Port und wir werden das die Goldwarteschlange nennen, weil das, naja, ein Goldwürfel sein wird . Dem wird ein neues Skript beigefügt sein, und das wird das Gold-Pickup-Skript sein. Jetzt werden wir das vorerst überall hier machen. Und dann zeige ich dir, wie du das viel besser machen kannst . Vorerst ein Gold-Pickup-Skript , nur um das zu überprüfen und was brauchen wir? Nun, wir müssen eigentlich wissen was diese speziellen Goldkubisten sind, also brauchen wir einen lokalen Goldwürfel und der entspricht dem Script Dot Parent. Und dann brauchen wir auch lokale Spieler, und das entspricht Game-Dot-Spielern. Noch einmal, das ist die gleiche Idee, mit der wir diese Spieler bekommen. Und jetzt haben wir eine lokale Funktion auf Teil berührt heißt, weil wir das Touched Event hier in nur einem Moment verwenden , um diesen bestimmten Gold-Gegenstand oder dieses Gold abzuholen. Im Grunde gibt es mehrere Schritte, natürlich, der erste wäre, lass uns einfach diesen goldenen Würfel mit Punkt berührten Doppelpunkt verbinden. Und dann fügen wir den hier angesprochenen Teil ohne Klammern ein. Also einfach so, und jetzt wird diese Funktion oder diese lokale Funktion jedes Mal aufgerufen , wenn das Touched Event ausgelöst wird. Wir wollen aber nur sicherstellen, dass es ausgelöst wird, wenn der Spieler es berührt. Also für diesen Teil nehmen wir einen, den Elternteil des anderen Teils. Das wird also der andere Teil dieses Elternteils sein. Und dann bekommen wir den Humanoiden dieses Humanoiden, oder? Das wird also der Elternteil sein. Also findet der Elternteil des anderen Teils, Dickdarm, das erste Kind, das ein und dann ein Humanoid ist. Humanoid. Da hast du es. Es gibt einen langen Funktionsaufruf. Achte darauf, dass du das richtig schreibst. Suchen Sie also das erste Kind, das genau so geschrieben ist , auch in derselben Groß-/Kleinschreibung. Und wenn das existiert, dann können wir es tun, wenn damals und heute alles, was hier drin ist, immer nur hingerichtet wird. Wenn der andere Teil, der diesen Goldwürfel berührt , ein Spieler ist , an dem ein Humanoid befestigt ist. Das erste, was wir tun werden, ist Gold Queue Colon Destroy zu machen , was bedeutet, dass dieser Goldwürfel zerstört wird. In nur einem Moment. Wir werden tatsächlich sehen, dass wir das auf eine etwas andere Art machen können . Aber vorerst machen wir das einfach und dann können wir dasselbe tun , was wir hier im Clicker schon gemacht haben, oder? Also machen wir im Grunde genau das alles mit Leary , oder? Also holen wir uns die Spielerstatistiken, also sagen wir lokale Ebene. Zuallererst müssen wir den Spieler tatsächlich kriegen. Dafür müssen wir also einen Doppelpunkt für Spieler machen, Spieler von Charakter abrufen, Spieler von Charakter abrufen weil wir darüber vom Charakter gesprochen haben. Und wir haben die Haare reingesteckt und hier drüben, wir haben die Eltern hier drüben reingebracht, denn lasst uns darüber nachdenken. Wir brauchen den Spieler jetzt von den Spielern, aber wir haben nur über das Elternteil hier Zugriff auf den Charakter. Weil der Charakter das ist , was tatsächlich berührt wurde, oder? Dies ist die 3D-Darstellung des Modells und berühren Sie tatsächlich den anderen Teil. Und wir müssen den Spieler davon abbringen. Das ist die Art und Weise, wie man es macht. Dann holen wir uns die Leader-Statistiken. Liter, die dem Punktliter des Spielers entsprechen, legen also die Leader-Statistiken fest. Da hast du es. Und dann erhalten wir noch einmal die Goldstatistiken, in diesem Fall den Goldstern, die den Liter-Statistiken entsprechen. Und das ist genau das Gleiche , was wir hier bisher gesehen haben. Wir holen uns einfach die Anführerstatistiken, Doppelpunkt, finden das erste Kind. Und der erste Versuch , den wir finden wollen , ist in diesem Fall Gold Wenn die Goldstatistiken wahr sind, ist der Goldwert wahr. Dieser. Da hast du es. Dann wollen wir, naja, nicht den Namen, aber dann haben wir es. Wir möchten sagen, dass der Goldsternpunktwert plus gleich eins ist. Damit haben wir jetzt einen Gold-Pickup-Port, also haben wir einen von denen hier. Das ist also ziemlich cool. Lass uns das einfach spielen und sehen ob ich das wirklich verstehen kann. Aber ich bin mir ziemlich sicher, dass ich das schaffen sollte. Wenn ich also darauf zugehe und ihn berühre, verschwindet der Würfel und ich erhalte ein Gold. Und los geht's, der Würfel ist verschwunden und ich habe 1 V gewonnen. Jetzt ist der Würfel für immer weg. Und theoretisch könnten wir es einfach duplizieren, Control D, und wir können es duplizieren und weitere Würfel hinzufügen. Aber irgendwann bekommt man ein Problem, sagen wir zum Beispiel , wissen Sie, all diese Würfel werden Sie tatsächlich zu Gold bringen. Okay, nun, lass es uns ändern. Nun, warte eine Sekunde. Das hat es in einem von denen geändert, oder? Das hat dieses spezielle Skript geändert, aber dieses wurde nicht geändert und dieses Skript wurde nicht geändert, und die anderen wurden ebenfalls nicht geändert. Das ist irgendwie ein bisschen richtig, das ist nicht so gut. Was könnten wir also tun , um dem entgegenzuwirken? Es gibt eine Reihe von Optionen, die uns zur Verfügung stehen , um dies zu mildern. Eine davon wäre die Verwendung eines Modulskripts. Sagen wir der Argumentation halber, erstellen Sie hier ein Modulskript, und wir nennen es, das ist 17 Striche. Und das wäre die Goldabholung. Nennen wir es einfach so. Da hast du es. Und dann könnten wir einfach sagen, nun, lassen Sie uns einfach so ziemlich fast das Ganze nehmen und schauen wir einfach, was wir als Funktion bekommen werden, oder? Also werden wir hier eine Veranstaltung veranstalten. Und wir werden dieses Modul Dot Goal Pickup nennen. Und wir werden sehen, welche Parameter wir benötigen. Also brauchen wir den anderen Teil. Das wird also der erste Parameter sein. Und dann brauchen wir auch den Goldwürfel, das wird der zweite Parameter sein. Und die letzten werden die Spieler sein. Das wird der dritte Parameter sein. Und jetzt sollte das theoretisch funktionieren Fragezeichen. Nun, ich meine, lass uns einfach sehen, okay, also werden wir in der Lage sein, eine Zwei hier drüben zu machen, und dann müssen wir das nur verlangen, damit wir Abholung vor Ort sagen können, sagen wir, Gleichberechtigte erfordern. Und dann wollen wir Game Dots sagen, eine Art Skriptdienst und dann eine Klammer in Anführungszeichen 17 und Gold Pickup. Sie können die automatische Vervollständigung mit der Tabulatortaste durchführen. Und jetzt sollten wir in der Lage sein, Pickup Dunkelgold Pickup zu nennen , indem wir den anderen Teil als ersten Parameter übergeben, den Goldwürfel als zweiten und dann die Spieler als dritten Parameter übergeben. Und jetzt ist das nicht nur ein bisschen einfacher zu lesen und zu schreiben, sondern wir können uns jederzeit damit befassen. Du kannst, du kannst die Strg-Taste gedrückt halten und darauf klicken und dann wirst du tatsächlich zu dieser Funktion hier gebracht . Das ist also ziemlich cool. Und jetzt haben wir das in diesem speziellen Teil. Das ist also ziemlich großartig. Jetzt müssten wir sie immer noch einmal alle ändern. Aber wenn wir diesen hätten, wäre es der, den wir geändert haben. Ja. Lassen Sie uns also nur der Argumentation halber den Rest löschen und wenn wir das jetzt duplizieren, oder? Jetzt haben wir wieder ein paar davon, also haben wir vier davon, aber jetzt nennen sie alle den Gold-Pickup eins. Nun, wenn ich den Wert ändern will, wechseln sie das Stockwerk oder die Nacht. Wenn ich jetzt den Wert in diesem Modulskript ändere, werden sie sich für alle ändern. Also, wenn ich das richtig spielen würde und wir hier reingehen würden, würden wir das hier abholen. Plötzlich erhalte ich sechs Gold und sechs Gold für diesen und diesen und diesen und diesen auch. Was nun passiert ist , ist, dass das Gold tatsächlich, weil sie hier alle die gleiche Funktion haben, sie alle diese verwenden können. Das ist ziemlich cool, denn sonst würden wir sowieso dieselbe Funktion verwenden. Es gibt keinen wirklichen Grund, es nicht zu ändern. Das ist jetzt schon sehr cool und unkompliziert. Aber lassen Sie uns einfach der Argumentation wegen der Torabnahme sagen , ich sage jetzt, weißt du was? Anstatt den Goldwert so zu haben, wie die Erhöhung, möchte ich hier eigentlich einfach eine Erhöhungsvariable machen. Und ich werde das hier reinstellen , damit ich es im Grunde ändern kann, okay? Eine Torabnahme kann tatsächlich unterschiedliche Werte haben. Jetzt werden wir auf das Problem stoßen dass das gleich Null ist, oder? Und wenn ich das dann vorerst spiele , wird nichts passieren. Sobald ich jedoch eines davon in die Hand nehme, wird es so sein, als würde es gleich Null sein , weil es nicht definiert ist. Und jetzt sind wir wieder beim gleichen Problem. Wenn ich es hier auf eine Zwei ändere, ist das in Ordnung. Aber jetzt habe ich ein paar andere, bei denen das nicht der Fall ist. Also was du am Ende hier haben willst , ist, dass irgendwie all deine Goldwürfel ein Drehbuch haben anstatt dass jeder von ihnen sein eigenes Drehbuch hat, oder? Das können wir nun erreichen, indem wir einfach alle auswählen, mit der rechten Maustaste klicken und wir werden als Ordner gruppieren. Das wird sich hier nach oben bewegen. Ich nenne das die Gold-Pickups. Da hast du es. Und dann werde ich das Skript auch hier in den Ordner legen . Das ist nicht unbedingt notwendig, aber es ist nur ein bisschen netter. Jetzt werden wir diese Gold-Pickups ein wenig ändern. Im Moment haben wir also keinen Würfel. Schreiben Sie das Drehbuch hier ist eigentlich jetzt das Elternteil. Das wird also der Abholordner sein. Sagen wir, richtig, los geht's. Und was wir jetzt tun werden, ist, dass wir alle untergeordneten Elemente dieses bestimmten Ordners durchgehen wollen . Das ist jetzt also ein For-Loop, also werden es vier sein. Und dann können wir hier drüben ein I und einen Pickup machen , und das wird ein I-Paar sein. Was das macht, können Sie tatsächlich sehen, es sagt tatsächlich, dass es eine Iteratorfunktion und die Tabelle zur Verwendung für die Schleife zurückgibt . Jetzt denkst du vielleicht, was zum Teufel hier vor sich geht. Keine Sorge, gib es einfach einen Moment. Also werden wir das nur für Folgendes verwenden, und wir werden es für den Abholordner verwenden, Doppelpunkt bekommen Kinder. Das wird also alle Kinder kriegen, oder? Das ist in Ordnung. Und dann werden wir etwas tun. Was werden wir hier machen? Zuallererst werden wir sagen, wenn ich gleich eins bin, dann möchte ich, dass du weitermachst , denn das wird das Gold-Pickup-Skript sein. Okay, das ist fair. Dann möchte ich, dass du den berührten Doppelpunkt aufhebst. Und dann möchte ich On-Board Touched verwenden. Okay, ich möchte das in erster Linie machen. Nun, es ist sinnvoller, anstatt es so zu tun, diese Funktion buchstäblich hier zu übernehmen und sie hier zu platzieren. Denn jetzt ist das Problem, dass Sie es tun werden, wir werden das jetzt nicht benennen. Also wir werden hier einfach eine Funktion haben , die das nennt, weil der Zugriff auf den Goldwürfel und die Spieler etwas schwieriger ist. Also werden wir die Spieler hierher bringen, und wir müssen trotzdem hier weitermachen. Und wir brauchen auch den Goldwürfel. Wir haben jedoch den Goldwürfel , der gerade abgeholt wurde. Das ist also eine bedauerliche Verdoppelung hier. Das ist also das Pickup-Skript. Nennen wir es so. Da hast du es. Und dann ist der Pickup eigentlich der Goldwürfel. Und dann brauchen wir beides nicht. Und ich habe das vielleicht ein bisschen schnell durchgemacht. Gehen wir also einfach noch einmal von oben nach unten durch. Ich habe also einen Abholordner, oder? Das wird dieses Foto sein, nach dem ich jetzt gefragt habe. Ich nenne das versehentlich weiterleiten. Das nennt man Pickups. Nimm uns mit. Da hast du es, richtig? Weil wir Script Dot Parent verwenden werden, was das übergeordnete Skript ist, okay? Und dann haben wir die Spieler, das müssen immer noch diese Spieler sein. Und dann haben wir hier das Pickup-Skript, das dafür erforderlich ist. Wenn wir uns das ansehen, können wir die Komplexität sogar noch weiter reduzieren , indem wir einfach sagen, indem wir das einfach weglassen. Weil, warum geben wir die Spieler hier drüben weiter? Wir könnten einfach sagen, Hey, du musst die Spieler holen . Und dann hast du es. Wir haben die Spieler. Wir können das tun und es hat Zugriff auf die Spieler. Sie können also sehen, dass wir auf diese Weise bestimmte Dinge von bestimmten Skripten trennen , um sie vor allem ein bisschen leichter lesbar zu machen . Und zweitens, um die Dinge zu reduzieren, die wir tun müssen , um weiter an diesem speziellen Spiel zu arbeiten, oder? Denn stellen wir uns vor, wir haben. Wenn wir ein riesiges Feld von, ich weiß nicht, wie viele Goldwürfel hier drüben sind, oder? Jeder von ihnen hat sein eigenes Skript und wir müssen es für alle ändern. Das ist alles lächerlich. Das ist verrückt. wäre ein goldenes Drehbuch großartig, wenn das alles funktionieren würde. In diesem Fall werden sie hier alle dieselbe Nummer haben. Und selbst das könnten wir ändern, belassen wir es jetzt bei zwei. Und lassen Sie uns einfach sehen, was passiert, wenn wir das ausführen würden. Das Erste, was wir sehen werden, ist , dass wir nicht abholen, sondern abholen müssen. Das liegt wahrscheinlich daran, dass wir uns das hier tatsächlich um 11 Uhr ansehen. Das Problem ist also, dass es gerade versucht, es für das Gold-Pickup-Skript hier zu verwenden , was eigentlich interessant ist. Ich hätte erwartet, dass das Auge sagt: Hey, das ist das Gold abholen, dann tu es nicht. Dieser Moment, in dem es tatsächlich eine Null ist. Das wird interessant sein. Aber ich glaube nicht, dass es so ist. Nein, es ist immer noch, es wird immer noch da sein. Okay? In Ordnung, also das Ich-Gleichheits-Eins hat nicht funktioniert. Also lass uns einfach die folgenden machen. Sag einfach, wenn der Name des Pickup-Punkts dem Namen Gold Pick Up entspricht, dann wollen wir weitermachen. Nun, das sollte theoretisch tatsächlich darüber hinweggehen, und das tut es auch. Es gibt hier also keine Fehler mehr. Und wenn wir auf diesen 2222 stoßen, gehen wir. Jetzt seht ihr also, obwohl die eigentlichen Pickups, richtig, die Goldwürfel selbst keine eigenen Skripte haben. Sie werden ordnungsgemäß zerstört. Und das alles wird über ein Skript erledigt. Das ist also absolut unglaublich. Im Moment könnten wir noch einen Schritt weiter gehen, oder? Dies ist jetzt der letzte Schritt , den wir unternehmen werden. Und das heißt, das sind zwei hier drüben, ist immer noch ein bisschen komisch, oder? Sie könnten also diesem speziellen Goldwürfel einen weiteren, einen Wert hinzufügen . Theoretisch könnten wir das den Goldwert nennen, oder? Wir könnten das also der Argumentation halber den Goldwert nennen . Und wir könnten das nennen, sagen wir mal. Und dann könnten wir sagen, hey, wenn die Abholung abgeschlossen ist, möchte ich eigentlich den Goldwert haben, den Punktwert. Jetzt sucht es hier drüben nach diesem Wert und liest den Wert aus, der den Goldwürfel geschrieben ist Du bekommst fast das gleiche Problem wie bei den anderen, wo du ihn erneut ändern musst. Du könntest also auch etwas Interessantes machen. Dies ist noch einmal, dies ist nur ein Beispiel. Das ist nur, um dich dazu zu bringen, darüber nachzudenken. So würdest du es nicht unbedingt machen, aber was er tun könnte, ist auch in mir zu sagen, weißt du was? Lassen Sie uns einfach die X-Größe ermitteln und sie dann abhängig machen, z. B. wie viel Gold Sie erhalten, abhängig der Größe des tatsächlichen Blocks. Nehmen wir an, dieser Block ist jetzt zwei zu zwei. Und dann können wir einfach ein paar Würfel löschen. Und sagen wir einfach, wir haben einen Haufen kleiner Würfel und einen Haufen großer Würfel, und dann haben wir einen Haufen noch kleinerer Würfel. Das werden also Würfel sein, die 111 sind. Also das, um der Argumentation willen, oder? Wir werden also einen Haufen sehr, sehr kleiner Würfel und einen Haufen mittelgroßer Würfel haben . Und vielleicht gibt es einen riesigen Würfel wie 999, oder? Nur der Argumentation halber. Die Frage ist nun, funktioniert das? Nun, ich meine, wir nehmen buchstäblich die X-Größe des Pickup-Ports als Wert. Warum sollte das nicht funktionieren? Stimmt es? Also lass uns hier reingehen und wir werden sehen, ob ich einen dieser kleinen kaufe. Wir bekommen ein Gold. Es gibt zwei, es gibt drei Gold, oder? 311, das sind zwei. Das ist eine Zwei. Und es sind wieder drei, wieder drei, und das ist eine riesige Eins und das sind neun. Also das ist wie noch einmal, nur um dich dazu zu bringen, darüber nachzudenken wie du all die Dinge , über die wir bisher gesprochen haben , zu einer riesigen Sache zusammenfügen kannst. Jetzt gebe ich zu, dass hier eine Menge Dinge drin waren. Ich verstehe also, wenn es immer noch ein bisschen verwirrend ist. Ich empfehle Ihnen, Nummer eins zu tun, Sie haben die RB-Excel-Datei zum Download zur Verfügung, damit Sie sie herunterladen können. Schau dir das Drehbuch an. Nummer eins, das Gold Pickup-Skript und Nummer zwei, das Modulskript. Sehen Sie, wie sie zusammenarbeiten. Ich versuche hier nur ein paar Dinge zu ändern. Und vielleicht kannst du ein paar deiner eigenen Tonabnehmer hinzufügen. Vielleicht als kleines Beispiel, das du selbst hinzufügen kannst, ist vielleicht, dass du Dinge hinzufügen kannst, vielleicht Dinge beschädigen oder Dinge heilen, oder? Heilende Pickups und heilende Heil-Pickups und verletzende Pickups oder so, nur um ein Gefühl dafür zu bekommen, was tatsächlich passiert. Aber insgesamt ist das absolut erstaunlich. Zusammenfassend lässt sich sagen, dass wir einen Pickup haben , den wir mit dem Touched Event gemacht haben. Wir haben damit begonnen, ein Skript für jeden unserer Würfel zu haben und sind dann so weit gegangen , dass wir hier ein Skript haben , das die Würfel steuert, das im Grunde das Touched Event zu diesen Würfeln hinzufügt. Und dann ein Modulskript , in dem die gesamte Funktionalität enthalten ist. Und das ist eines der hervorgehobenen Dinge, ein Modulskript dafür absolut fantastisch ist, oder? Aber das war's für diese Vorlesung hier. Ich hoffe, Sie fanden das nützlich und Sie werden etwas Neues lernen und wir sehen uns alle in der nächsten Vorlesung. Also, ja. 32. (Roblox) Spuren zum Spieler hinzufügen: Ordnung, lassen Sie uns hier mit den Grundlagen der Roboter fortfahren und dem Kurs „Rubriken“ folgen. Und in diesem Vortrag werden wir uns ansehen wie Sie Ihrem Player eine Spur hinzufügen können. Bevor wir den Trail hinzufügen, was ist überhaupt ein Trail? Also fügen wir es einfach zu meinem coolen Teil hier hinzu. Wir können einfach das Plus-N-Zeichen drücken. Wir suchen nach Pfad und wählen diesen aus. Und jetzt hat es eine Spur, oder? Jetzt haben wir den Trail hinzugefügt, jetzt müssen wir zwei Anhänge hinzufügen. Theoretisch müssen wir also zu unserem coolen Teil hier nur zwei Anhänge hinzufügen. Also lass uns einfach diesen Anhang machen und dann habe ich das einfach mit Control D dupliziert und wir werden das einfach um zwei verschieben, sagen wir, jemand wie dieser, das wird okay sein. Und dann die andere, wir werden auch auf die andere Seite gehen. Da hast du es. Und jetzt kann ich den ersten Anhang und den zweiten Anhang verwenden . Und jetzt, da es damit verbunden ist, können wir jetzt tun, wenn wir das verschieben, wir sollten sehen, wo ihr hingeht, eine Spur, die genau von diesen beiden Anhängen ausgeht. Und du kannst die Wege ändern , um alle möglichen Dinge zu tun, oder? Du kannst auf dem Trail hier sehen, wir haben, wir können es immer in die Kamera richten. Wir haben sogar Lichtemissionen. Wir können ihm eine Textur geben. Es gibt verschiedene Modi, die Sie verwenden können. Also statische Verpackung, Sie können dem eine Transparenz hinzufügen und dann können Sie hier auch einige Emissionen haben. Also lifetime maxlength, Sie können die Breite ermitteln. Es gibt also eine Menge Dinge und du könntest auch richtig cool machen , indem du der Farbe hier eine Farbe hinzufügen kannst. Sie können eine Farbsequenz hinzufügen. Also könntest du zum Beispiel einfach die Farbe Rot am Anfang ändern , um zu lesen. Und dann in der Mitte hier ist es vielleicht blau und dann änderst du es hier in ein anderes Grün und dann änderst du es hier in eine andere Farbe, sodass du Regenbogenfarben oder alle möglichen verrückten Dinge bekommen kannst . Sie können jetzt also sehen, dass es ungefähr so geformt ist. Und wenn wir diesen Kerl jetzt in Bewegung bringen würden, also wenn wir das jetzt bewegen, siehst du, jetzt ändert sich das im Laufe der Zeit, was schon ziemlich cool ist. Sie können sehen, jetzt ändert es die Spur, es ändert seine Farbe und bleibt bei einigen Eigenschaften erhalten. Also z. B. oder bei der Emission können Sie verschiedene Dinge hinzufügen, z. B. eine längere Lebensdauer haben, damit es länger am Leben bleibt. Sie können eine Mindestlänge und eine maximale Länge angeben und sogar die Breite anpassen. Also, wenn wir, ich weiß nicht, fünf Jahre auf Lebenszeit machen würden , dann würde es einfach viel länger dort bleiben, wie Sie sehen können. Als ob es einfach viel länger am Leben bleibt, bis es zerfällt. Das ist also auch ziemlich cool. Es sieht zwar cool aus hier, aber es tut uns nicht wirklich etwas. Also fügen wir es dem Player hinzu. Das erste, was wir tun wollen, ist , im Speicher dieser Server , im Speicher dieser Server einen Trail hinzuzufügen, und das wird der Player-Trail sein. Das wird also der Trail sein , der dem Spieler hinzugefügt wird. Und der Argumentation halber ändern wir das hier einfach in eine, noch einmal, verrückte Farbe. Warum nicht? Also lass uns einfach Rot nehmen und dann etwas später zu Rosa und dann zu Blau. Und dann gehen wir zu Türkis, sagen wir mal, und dann zu Grün, vielleicht etwas später. Und dann gehen wir zu hellgrün und dann zu gelb über. Und dann gehen wir hier am Ende zu einer Orange und dann ganz am Ende wieder zu einem dunkleren Rot. Jetzt haben wir eine coole Regenbogenfarbe hier drüben, was ziemlich toll ist. Und wir werden das benutzen und es dem Spieler geben. Das alles ist in Ordnung. Schauen wir uns dann das hier an, genau hier. Also werden wir daraus eine maximale Länge machen, weil es sonst, ich meine, sonst ist die Länge unendlich und das wollen wir nicht unbedingt. Und dann hängen wir das an den Player an. Nun, eigentlich werden wir es an den Charakter anhängen, aber weil der Charakter natürlich das ist , was tatsächlich sichtbar ist, oder? Das ist das, das ist das Sichtbare, dass wir das schon einmal durchgemacht haben. Aber lassen Sie uns einfach noch einmal ein Skript im Server-Stub-Service hinzufügen . Und wir nennen das 18 Dash und wir nennen es auch den Player Trail. Da hast du es. Und lassen Sie uns einfach hier hineinzoomen. Das ist der Spielerpfad und wir werden einen lokalen Spieler erstellen. Das wird also wieder unser Spiel sein, Game-Dot-Spieler. Und dann wollen wir, dass die Spieler mitspielen. Wir wollen also überprüfen, wann der Spieler hinzugefügt wurde und das mit einer bestimmten Funktion verbinden, das hier mit einer bestimmten Funktion verbinden, wo wir den Spieler bekommen und dann hier drinnen, oh, das sind Spieler. Natürlich, da hast du es. Spieler hinzugefügt, los geht's. Dann statt hier wollen wir den Spielerpunkt, Charakter einen Doppelpunkt hinzufügen und das mit einer anderen Funktion verbinden, diesmal das Abrufen des Charakters. Wir haben hier also zwei Ereignisse, die ineinander übergehen. Das ist völlig in Ordnung und jetzt wollen wir weitermachen. Also wollen wir jetzt den Trail klonen. Also wollen wir sagen Gameserver, Speicher, Punkt, Punkt Player Trail, dieser hier, Doppelpunkt Clone. Jetzt haben wir diese Spur geklont. Wir haben also einen Kredit, ein zweites Objekt dieses speziellen Objekts. Also wir tun buchstäblich so, als ob wir Kontrolle C und Kontrolle V machen würden , und jetzt haben wir es dupliziert. Das ist also die allgemeine Vorstellung davon, was Clone macht. Im Grunde. Wir wollen dann sagen, dass der Trail Don Parent jetzt dem Charakter entspricht. Dann wollen wir etwa eine halbe Sekunde warten , weil das notwendig ist. Was ich von dem was ich sonst gefunden habe, die Anhänge und solche Sachen funktionieren nicht so ganz. Und dann werden wir neue Anhänge erstellen. Also werden wir einen neuen Anhang erstellen. Es wird mit Null angefasst und das entspricht einem Instanzpunkt, natürlich ein neuer Anhang. Und wir können sofort sagen, dass dies unter Character Dot Head erscheinen wird. Das wird also an den Kopf des Charakters gehen. Und dann können wir sagen, dass der Nullpunktname des Anhangs nur so sein wird , dass wir diesen Trail-Anhang Null haben. Es ist nicht notwendig, den Namen zu ändern, sondern nur, um alles zu organisieren. Und dann können wir einen zweiten Anhang als Anlage eins erstellen. Und das ist auch Instanz, die noch einmal neu ist und dann ein neuer Anhang. Und das sind zwei Charaktere , dieser humanoide Wurzelteil. Da hast du es. Und dann ändern wir auch den Namen. Und dieser Name wird in diesem Fall Anhang eins nachgestellt . Und jetzt müssen wir das noch zuweisen. Wir müssen also immer noch sagen, dass Trail Dot Attachment Zero gleich einer Tangente Null ist und Trail Dot Attachment Eins gleich Attachment Eins ist. Lass uns einfach spielen und schauen, was sich das alles einfallen lässt . Da sind wir also. Und wenn ich anfange, mich zu bewegen, sieht man plötzlich, dass wir einen wirklich, wirklich tollen Trail bekommen dass wir einen wirklich, wirklich tollen Trail uns mit einer bestimmten Länge gut folgt. Und das können wir natürlich ändern, oder? Wenn wir zu Workspace gehen, zählen und nachfragen. Und dann hier unten sollten wir in der Lage sein, den Spielerpfad zu finden. Und theoretisch könnten wir dieses Gewicht so ändern, dass wir in die Kamera schauen wollen. Jetzt wird es also immer in die Kamera schauen, wie Sie sehen können, was auch ziemlich cool aussieht. Sie können dies also ein- oder ausschalten. Es gibt Lichteinflüsse. Also du kannst es hier ändern und einfach im Grunde schauen, was das, was sich hier ändert. Also vielleicht wollen wir das ein bisschen heller machen oder vielleicht eine Frau, weißt du was? Nein, es wird tatsächlich eine Helligkeit von Null sein, dann ist es plötzlich natürlich völlig dunkel. Es gibt also eine Reihe von Dingen, die Sie hier tun und es grundsätzlich an Ihre Bedürfnisse anpassen können. Und das kann deiner Zeichenliste einen Umhang hinzufügen. Dies könnte etwas sein, das du für deine Charaktere hinzufügen möchtest. Vielleicht möchtest du das zu deinem Spiel hinzufügen , damit die Leute es kaufen können, z. B. mit Straßensperren als Beispiel hier. Aber das ist die allgemeine Idee eines Trails. Also nur der Argumentation wegen des Additivs für den linken und den rechten Fuß des Charakters. Und schauen wir uns an, wie der aussieht. Es wird ein bisschen verrückt aussehen, aber warum nicht? Sie können sehen, dass es immer noch funktioniert. Du bekommst also im Grunde eine Spur , auf die der Charakter tritt. Und das ist eigentlich auch richtig cool. Ich kann, ich kann mir das vielleicht für ein Haustier oder so vorstellen . Wie ein wirklich seltenes Haustier, das eine dieser Trails haben könnte eine dieser Trails haben , die wirklich, wirklich toll aussehen werden. Aber ja, das ist ein Trail und so fügt man ihn speziell dem Charakter hinzu. Aber ehrlich gesagt kann man hinzufügen, dass es wirklich alles bedeutet. Zusammenfassend lässt sich sagen, dass ein Trail mit zwei verschiedenen Anhängen hinzugefügt werden kann . In unserem Fall klonen wir es nun tatsächlich aus dem Serverspeicher und fügen es dann dem Charakter über zwei Anhänge hinzu , die wir in diesem Fall ebenfalls in einem Skript erstellen. Und das ist nicht nur für einen Charakter machbar, das könnte man theoretisch auch Kaslow hinzufügen. Denken Sie, das bewegt verschiedene Modelle. Du kannst es wirklich überall machen , wo du zwei Anhänge hast. Roboter, das war's für diese Vorlesung hier. Ich hoffe, Sie fanden das nützlich und Sie werden etwas Neues lernen und wir sehen uns alle in der nächsten Vorlesung. Also, ja. 33. (Roblox) Drei Arten von GUIs: Ordnung, lassen Sie uns hier mit den Roblox-Grundlagen für den Roboterkurs fortfahren . Und in diesem Vortrag werden wir einen kurzen Überblick über Griechenland werfen. Griechenland oder GUIs sind im Grunde grafische Benutzeroberflächen. Und sie ermöglichen es dem Benutzer, mit einer ebenso grafischen Benutzeroberfläche zu interagieren. Und es gibt grundsätzlich zwei verschiedene Typen. Wir können entweder hier etwas in der Standard-GUI erstellen , oder wir können auch etwas in der Welt erstellen. Fangen wir mit der Standard-GUI an. Und wenn wir hier die Plus-Taste drücken, können Sie sehen, dass es uns bereits die Bildschirm-GUI vorschlägt und genau das wollten wir erstellen. Also werden wir eine Bildschirm-GUI erstellen. Und damit können wir noch ein Plus machen. Und dann könntest du sehen, dass wir sicherlich UI-Objekte hinzufügen können , z. B. einen Frame. Frame. Und das wirst du hier in der oberen linken Ecke sehen. Jetzt haben wir einen weißen Rahmen und wir können ihn sogar verschieben, sodass wir ihn verschieben können. Sie können sehen, wir haben einige Richtlinien. Dies ist die horizontale Mitte, und dann können wir sie sogar genau in die Mitte des Bildschirms bringen . Wir können die Größe dann so ändern, dass wir die Größe so ändern können, oder? Das ist also ziemlich cool. Wir können das also im Grunde wie bei vielen Dingen einfach in der Größe ändern. Nimm sogar ein paar Richtlinien, wo es ist, zum Beispiel, wie viele Pixel es groß ist und wie viele Pixel es von oben sind, z. B. und dann innerhalb davon, lass uns die Größe hier einfach ein bisschen erhöhen . Und was wir dann tun können, genau wenn wir es wieder zentrieren, da hast du es. Wir können diesem Frame auch Dinge hinzufügen. So können wir z.B. ein Textlabel hinzufügen und jetzt haben wir ein Label hinzugefügt. Das können wir ihr auch schicken. Wir können das vielleicht ein bisschen vergrößern und zum Beispiel sagen, okay, wir wollen den Text ändern , der im Etikett angezeigt wird. Wir können auf dieses Etikett klicken und dann bis zu den Texten hier drüben gehen . Sie können sehen, dass wir nicht nur den Stil des Textes ändern können, indem wir ihn fett und vielleicht sogar kursiv machen, oder? Wir können eine Menge Sachen machen. Wir können ein Rich-Text-Label erstellen und den Text ändern. Also können wir z.B. sagen, dass dies ein Beispiel für einen Text ist, oder? Und wenn ich das schicke, los geht's, bam, fertig. Wir können die Textgröße ändern. Ich will die größeren. Machen wir das ein bisschen größer. 32, absolut fantastisch. Wir können sogar die Waage erstellen, sodass sie dann automatisch skaliert, wie Sie sehen können. Wenn ich also dieses bestimmte Element skaliere, skaliert es automatisch, was ziemlich cool ist. Aber lass uns das einfach von hier rausholen. Und Sie können die Texte auch ändern. Die Texte sind ebenfalls farbig. Ihr seht also, unter diesem Text gibt es sehr, es gibt eine Menge Eigenschaften, die man grundsätzlich ändern kann, um das zu ändern, lasst uns das auch fett machen. Und dann haben wir hier ein, naja, ein Textelement. Ziemlich cool. Und Sie können sehen, dass es noch einige andere gibt. Also Text-Button, z.B. Das ist nur ein Button mit einem Text drauf. Sie können tatsächlich auch eine Bildschaltfläche haben. Das funktioniert also auch in der Bild-Schaltfläche , auf der sich dann ein Bild befindet, sodass Sie auf diese Schaltfläche klicken können und bestimmte Dinge passieren. Wir werden hier eigentlich nur ein sehr kleines Beispiel für die Textschaltflächen sehen . Das wird also nur die Schaltfläche zum Schließen sein. Also ändern wir das einfach von Button auf Schließen. Und lassen Sie uns das auch einfach vergrößern. So etwas wie vielleicht, vielleicht 50 wird okay sein. Und dann machen wir auch diesen Ball. Da hast du es. Und wenn ich jetzt auf diesen Button klicke, würde nichts passieren, weil wir das einfach spielen können, oder? Wenn ich spielen würde, würde die GUI auftauchen, weil das GYE immer erscheint. Und obwohl ich auf diese Schaltfläche klicken kann, passiert nichts und das GY bleibt bestehen. Aber natürlich, richtig, das ist irgendwie nervig. Was du also tun könntest, ist, lass uns das einfach beenden. Und wenn wir das tatsächlich deaktivieren wollten, können wir einfach ein lokales Skript zu unserem Text-Button hier drüben hinzufügen zu unserem Text-Button hier drüben und dann können wir etwas hinzufügen. Also das ist zB das Beispiel-Button-Skript, oder? Dies ist nur ein Button-Skript. Nun, das ist ein lokales Skript, weil die GUI nur für unseren Kunden relevant ist, oder? Nur für unseren speziellen Spieler. Wir müssen das nur auf dem lokalen Client machen. Also holen wir uns den Button. Die Schaltfläche selbst bezieht sich auf das übergeordnete Skript , da wir natürlich auf dieses Skript verweisen und es bezieht sich jetzt auf diese Schaltfläche als übergeordnetes Element. Und dann können wir auch das eigentliche Panel bekommen. Es wird also das Panel geben und das entspricht der Schaltfläche, dieses übergeordnete Element, oder? Das wäre also der Rahmen selbst, genauso wie der rahmenlose Frame ihn Frame nennen würde. Und wenn wir noch einen Schritt weiter gehen und tatsächlich zur Bildschirm-GUI gehen wollten , können wir dann Frame Dot Parent sagen. Das sind also alle drei, die wir haben. Und wenn wir eigentlich etwas machen wollten, nun ja, dann bietet uns der Button ein Event an. Das wäre natürlich der Button Punkt aktivieren, aktiviert. Eigentlich, da hast du es. Das ist also ein Ereignis hier, lässt das aktivierte Ereignis genau hier erscheinen. Und wir können den Doppelpunkt verbinden und dann einfach eine neue Funktion hier erstellen. Und wir haben wirklich nichts drin oder wir müssen nichts bekommen. Und dann können wir einfach sagen, dass z.B. Druckknopf hier geklickt wurde, nur um das zu haben. Und dann können wir einfach auch Bildschirm sagen. Es wird also unser Bildschirmpunkt aktiviert sein, was gleich falsch ist und dadurch wird der Bildschirm im Grunde deaktiviert. Das ist ziemlich cool. Mal schauen, ob das schon funktioniert, aber es sollte schon funktionieren. Also lass uns einfach reingehen und du kannst sehen, wenn ich jetzt auf dieses Schließen klicke, siehst du ButtonClicked und auch die GUI wurde jetzt deaktiviert, weil sie gestartet wurden, wir sind genau hier bei diesem wurde es im Grunde deaktiviert, jetzt wurde es nicht direkt hier in der Historie deaktiviert , weil die GUI natürlich auch irgendwo hier im Workspace oder woanders gespeichert ist , wahrscheinlich woanders, aber es ist repliziert. Und das ist die allgemeine Idee. Deshalb ist es dann für unseren Spieler deaktiviert. Ziemlich cool. Das wird also ein Beispiel für eine GUI sein. Nun, eine wichtige Sache, die Sie beachten sollten, wenn Sie z.B. ein Bild haben möchten , oder? Wenn wir hier also ein Bildlabel hinzufügen und es einfach zentrieren möchten , möchten Sie dieses Bild in etwas anderes ändern. Das Problem wird sein, dass Sie es eigentlich nicht wirklich in irgendetwas ändern können. Im Moment ist unser Spiel also nicht auf Roblox veröffentlicht. Das ist gewollt, und aus diesem Grund können wir hier jetzt ein benutzerdefiniertes Bild hinzufügen. Ab diesem Zeitpunkt, sobald wir unser Spiel veröffentlichen. Dann können wir tatsächlich auf die Möglichkeit zugreifen , auch Bilder hinzuzufügen, und dann können wir hier auch ein Bild hinzufügen. Also behalte das im Hinterkopf. Wir werden es vorerst so belassen. Und wir gehen tatsächlich zur Bildschirm-GUI und aktivieren und deaktivieren sie. Und dann werden wir uns die beiden anderen GUIs ansehen. Es gibt also eine andere Art von GUI. Sagen wir einfach, wir wollen das zum Clicker hinzufügen, sagen wir zu diesem speziellen Block hier drüben. Und was wir tun können, ist, wir könnten hier einfach ein Plus machen und wir können GUI eingeben, und Sie können sehen, dass wir sowohl eine Billboard-GUI als auch eine Oberflächen-GUI hinzufügen können . Lassen Sie uns zunächst eine Oberflächen-GUI hinzufügen und schauen wir uns an, was das ist. Also ich denke, es gibt nur Clicker. Wir können jetzt auch bestimmte Dinge hinzufügen. Sie können also sehen, dass es auf dieser Seite ist. Lass uns jetzt das Gesicht ändern. Das wird eine Front sein. Wir wollen wahrscheinlich die Rechte oder die Linke. In der Tat, da hast du es. Und jetzt haben wir das auf dieser speziellen Seite. Sie können also sehen, dass es dort ein Etikett gibt. Wenn ich herauszoome, ist es kaum lesbar. Wenn ich ein bisschen hineinzoome und es viel besser lesbar ist, können wir das ändern. Also im Textlabel hier drüben können wir hier reingehen und ein paar Dinge ändern, als erstes die Texte hier ändern. Das ist also nur ein Beispieltext. Da hast du es. Wenn wir das verschieben wollten, können wir das tun. Bei der Position hier zu X und Y muss man sich nun bewusst sein, dass die Skalierung und der Offset hier ziemlich groß sind. Wenn wir also z. B. einen Offset von 50 machen, bewegen wir uns tatsächlich rüber. Wenn du eine Skala machst, dann solltest du etwa 0,1 und solche Sachen machen. Weil es sonst so wäre , als würde man es außer Betrieb nehmen. Also sagen wir zum Beispiel 25, plötzlich haben wir das hier mittig auf dem Bildschirm. Lassen Sie uns das auch ein bisschen größer machen, damit es ein bisschen einfacher zu lesen ist. 32, vielleicht ein bisschen zu groß, vielleicht eine 26. Ja, da hast du's. Und jetzt haben wir das hier. Also, wenn wir jetzt spielen und es tatsächlich angehen würden, und du kannst sehen, wo es ist? Da ist es. Es ist also schwer zu lesen und dann wird es irgendwann ein bisschen schöner zu lesen. Das ist also möglicherweise nicht immer das Richtige , was Sie tun möchten. Es handelt sich jedoch um eine Oberflächen-GUI, also um eine GUI, die Sie auf einer Oberfläche platzieren können. Aber zu guter Letzt haben wir den dritten. Und wenn wir das hinzufügen, ist dies die Billboard-GUI. Nun, die Billboard-GUI ist irgendwie interessant, weil sie manchmal irgendwie komisch ist, aber lassen Sie uns einfach einen Rahmen hinzufügen. Und Sie können jetzt sehen, dass es sich in der Mitte dieses Objekts befindet. Wir können die Position ändern indem wir diesen Statistik-Offset hier verwenden. Also sagen wir einfach, ich möchte diese zehn Starts höher machen, und jetzt ist es da drüben. Wenn ich jetzt ein- und auszoome, sieht man, dass es seine Größe ändert, weil es seine Größe auf diesem Bildschirm im Grunde immer gut beibehalten möchte. Wenn wir also nur sicherstellen , dass das alles eingerichtet ist, also im Frame, wollen wir auch hier als Größe eins Komma Null und dann 10 verwenden . Weil wir uns immer gefragt haben, da hast du es. Wir wollen immer, dass der Frame die GUI perfekt ausfüllt. Die allgemeine Idee ist, dass, wenn Sie die Größenskala hier verwenden , das zu 100% funktioniert. Wenn ich die Hälfte davon haben will, könnte ich 0,10 machen, 0,05 wären 5%, 0,5 wären die Hälfte davon. Jetzt nimmt es also die Hälfte der Billboard-GUI ein, wie Sie sehen können, oder? Und dann würde eins natürlich bedeuten, dass ich es zu 100 Prozent besetze. Wenn ich dann hier ein Textlabel hinzufüge, oder? Nun, da wir das Textlabel haben, ändern wir das Textlabel selbst. Also sagen wir einfach, es wird ein bisschen größer sein. Wir 32, ähm, vielleicht, vielleicht machen wir 28 und das wird okay sein. Und dann wird der Text tatsächlich von mir angeklickt. Da hast du es, richtig? Und wenn ich jetzt einfach mitmachen würde, schauen wir uns einfach an, wie das aussehen wird. Also, wenn ich hier meine Kamera wechsle, wird das völlig in Ordnung sein. Das ist eigentlich eine ziemlich nette Billboard-GUI. Jetzt wird es durch das Licht hier beeinflusst. Wir können das auch ändern, aber insgesamt ist das ziemlich cool. Aber jetzt wollen wir sehen, was passiert, wenn ich weiter wegziehe und weiter wegziehe und weiter wegziehe. Und du kannst sehen, dass das seltsam ist , was passiert, oder? An diesem Punkt wird es also riesig, Idioten, ziemlich groß. Jetzt können wir es immer noch lesen, was eigentlich ziemlich großartig ist, aber es wird ziemlich groß. Und um ehrlich zu sein, müssen wir etwa 100 Studien entfernt wirklich wissen, was der Frosch hier drüben passiert. Nicht wirklich. Vielleicht sollte es passieren irgendwo hier draußen auftaucht, das würde wahrscheinlich reichen. Und wir können das ändern, indem erneut zur Billboard-GUI gehen und zur maximalen Entfernung heruntergehen. Moment ist es unendlich, also zeigt es im Grunde einfach , wo Sie sich auf der Welt befinden. Und vielleicht sagen wir hier einfach 50 und lassen Sie uns sehen ob das etwas bewirkt und es wird definitiv etwas bewirken, aber es ging, naja, da haben Sie es. Es macht eigentlich genau das , was wir wollten. Wenn wir also weit davon entfernt sind, wird es nicht angezeigt. Und dann haben wir auch nicht dieses seltsame Größenproblem. Und wenn wir in einen bestimmten Radius gehen, sind das 50 Staaten davon. Also die Kamera muss es sein, damit ich das manchmal zeigen kann und manchmal nicht, aber das sollte nicht ganz in Ordnung sein. Und wenn wir dann hier sind, kannst du es deutlich sehen und das ist ziemlich cool. Aber die Größe hier ist eigentlich das Wichtigste. Also die Skala haben und dass die X- und die Y-Koordinate eins sind. Also im Grunde genommen, um die Billboard-GUI auszufüllen, und dann wird die Skalierung normalerweise genau das tun, was Sie im Grunde wollen. Und das sind die drei GUIs, die Bildschirm-GUI, die Oberflächen-UI und die Billboard-GUI. In der Tat sehr interessant, damit ist diese Vorlesung genau hier abgeschlossen. Ich hoffe, Sie fanden das nützlich und haben etwas Neues gelernt. Wir sehen uns alle in der nächsten Vorlesung. Also, ja. 34. (Roblox) API: Ordnung, lassen Sie uns hier für den Kurs mit den Roboter-Grundlagen fortfahren . Und in dieser Vorlesung befinden wir uns tatsächlich in den Roblox Engine-API-Referenzen statt in Roblox Studio. Denn hier zeige ich dir im Grunde einen allgemeinen Überblick darüber, wie du create robots.com verwenden kannst. Ich werde das auch in den Ressourcen verlinken. Und das ist eine sehr gute Quelle für Sie, nun ja, wie Sie sehen können, die Logik hinter Ihren Erfahrungen, Hindernissen. Im Grunde haben Sie also Zugriff auf all die verschiedenen Klassen und Datentypen und alles, was darin enthalten sein könnte und das Sie sich jemals ansehen möchten. Also z.B. was wir schon einmal gesehen haben, haben wir vor dem Pestdetektor gesehen, also lasst uns das anklicken und ihr könnt ihn sehen. Ein Klickdetektor ermöglicht ein Skript und ein lokales Skript empfängt Mausklick-Ereignis eine Zeigereingabe von einem 3D-Objekt durch sein Mausklick-Ereignis eine Zeigereingabe von einem 3D-Objekt. Absolut verrückt. Es zeigt dir im Grunde eine Menge Sachen. Es zeigt dir ein Beispiel hier und erklärt viel, wie dieses Ding funktioniert, oder? gibt es bestimmte Codebeispiele Hier gibt es bestimmte Codebeispiele, die Sie dann verstehen können. Und es gibt sogar eine Zusammenfassung , in der Sie die Eigenschaften dieser bestimmten Klasse finden. Es gibt Ihnen die Methoden und Ereignisse, die Sie verwenden können. Und das ist absolut unglaublich. Ich möchte also nicht ins wahnsinnige Detail gehen, aber sie sind auch mit Hyperlinks verlinkt. Also zum Beispiel, wenn ich sage, oh, was ist das Drehbuch? Klicken Sie darauf. Bam, das ist ein Drehbuch. Das ist absolut fantastisch und ich kann es nicht genug empfehlen. Wenn Sie sich jemals nicht sicher sind, was etwas tut oder wie das funktioniert? Was ist das für ein Dual? Wir haben gerade über die GUIs gesprochen, z. B. richtig. Gehen wir also hier hoch zur Billboard-GUI, z. B. BAM. Sie sind jedoch Container für GUI-Objekte. Sie können sehen, dass ihre Position relativ zu einer Zierde steht. Wenn es kein Adore Knee gibt, dann wird der Elternteil als Unterteil festgelegt, solche Dinge. Es gibt so viele interessante Dinge , die Sie sich hier ansehen können. Es ist eigentlich verrückt. Ich möchte das im Grunde kurz und bündig machen falls es etwas gibt, das Sie mit einigen der Grundlagen, über die wir bisher gesprochen haben, lernen möchten der Grundlagen, über die wir bisher gesprochen haben , oder? Wenn du die Klo Einführung durchgemacht hast, verstehst du Lewis einigermaßen. Wenn Sie jetzt die Grundlagen der Straßensperren durchlaufen haben und im Standard sind. Die meisten Grundlagen, die wir durchgemacht haben. Du kannst hier fast jeden Kurs durchgehen und ungefähr verstehen, was vor sich geht. Nun, natürlich gibt es einige von ihnen, die ein bisschen höher sind, vielleicht sind einige der Animationssachen und einige andere Dinge vielleicht ein bisschen zu weit weg, oder? Mit einer Cloud und dem Speichern bestimmter Dienste sind Sie vielleicht immer noch nicht in der Lage, einige Dinge zu erledigen, aber es ist immer noch wirklich, wirklich großartig, dass Ihnen das zur Verfügung steht. Und es ist, es ist so cool , dass du das einfach durchlesen kannst und immer mehr Informationen erhältst. Was Sie auch bei einigen von ihnen finden werden, ist, dass sie es sind, sie könnten veraltet sein. Also ich glaube das okay, die Winkelgeschwindigkeit ist eigentlich nicht veraltet. Nun, es gibt bestimmte Dinge , die veraltet sind, oder? Wir können hier also tatsächlich Dinge sehen, z. B. die Körperposition hier ist die Körperposition hier veraltet und sollte nicht verwendet werden, aber sie sagt dir immer, was du stattdessen verwenden solltest, oder? Das ist also ein altes und das ist wirklich, wirklich cool. Ich kann also nicht genug ausdrücken wie cool die Engine-API hier ist. Wie gesagt, ich werde das verlinken. Es hat so eine großartige Ressource. Bitte schauen Sie es sich an, oder? Aber damit sind diese Vorlesung und auch die Grundlagen der Straßensperren abgeschlossen. Im nächsten Schritt werden wir tatsächlich unser erstes eigenes Spiel machen und das wird ein ABI sein. Also hoffe ich, dich dort zu sehen. Ja. 35. (Roblox) Einführung und wie dieser Abschnitt aufgebaut ist: Ordnung, Willkommen hier zur ersten Vorlesung in der Armeesektion. Und ich möchte nur kurz erwähnen welche Art von OB wir bauen werden. Das ist also das fertige RB , das im Grunde genommen fertig sein wird. Und wenn ich spawne, spawne ich hier am Ende, aber das wird völlig in Ordnung sein. Wir können den Avi dann quasi gegen Ende sehen. Sie können also sehen, dass wir hier verschiedene Formen haben. Wir haben bewegliche Dinge, also wir haben bewegliche Kill Bricks, die du nicht anfassen kannst. Sie bewegen sich alle in verschiedenen Dingen. Dies geschieht mit dem Tween-Dienst hier. Wir haben Treppen, die verschwinden, wenn Sie sie berühren. Und dann haben wir hier nur ein paar Kill Bricks und noch ein paar andere Dinge. Das ist also wirklich großartig und das wird ein wirklich, wirklich cooles RB. Jetzt mache ich es natürlich falsch, aber das ist völlig in Ordnung. Und da hast du es. Das ist also die allgemeine Idee des Wohnmobils, das wir erstellen werden. Wirklich coole Dinge hier, sehr zu empfehlen, sie sich anzusehen. Und zu jeder Vorlesung gibt es natürlich eine RB-Excel-Datei zum Herunterladen. Sie können den RB also grundsätzlich in jedem Zustand herunterladen , in dem Sie ihn weiterhin verwenden möchten. Ich hoffe wirklich, dass du viel Spaß beim Bauen des Wohnmobils hast und wir sehen uns in der nächsten Vorlesung. Also, ja. 36. (Roblox) Modellierung des Obby: In Ordnung, willkommen zurück zum Roblox-Kurs. Und in dieser Vorlesung werden wir dafür tatsächlich ein ABI erstellen. Wie Sie sehen können, sind wir tatsächlich in Roblox Studio, wo wir einen neuen Ort schaffen können. In diesem Fall möchte ich eigentlich, dass du dafür RB wählst, weil wir damit im Grunde mindestens drei oder vier verschiedene Dinge kopieren können mindestens drei oder vier verschiedene Dinge kopieren drei oder vier verschiedene Dinge , die bereits für uns erstellt wurden. Und es wird unserem OB das Leben einfach viel einfacher machen. Wählen wir also RB und dann werden Sie sehen , dass das Spiel beginnt und Sie können sehen, dass dies unser Beispiel ist. Ich bin hier drüben. Die allgemeine Idee ist also, dass dies die Vorlage von Roblox selbst ist. Und du kannst sehen, dass es hier einen Stern hat. Wir haben schon einige Checkpoints hier diese lila und dann die rot leuchtenden, die aus zerstörten Ziegeln bestehen. Und ja, das ist so ziemlich das, was wir haben. Und das erste, was wir tun werden, ist das einfach als Datei zu speichern . Ich nenne das einfach RB1. Und das wird die Datei sein, die Sie nach dieser Vorlesung herunterladen können . Wie dem auch sei, welche Teile wollen wir retten. Nun, lass uns der Argumentation halber einfach spielen und sehen, was dieser RB kann. Wir werden natürlich am Anfang hier spawnen und dann können wir hier für den ersten Teil weitermachen. Und die eine Sache ist , wenn wir den mittleren Teil hier nicht berühren, bekommen wir diesen Checkpoint wir werden ihn sofort reparieren. Und wenn wir dann einfach hier weitermachen, hast du es. Sie können diese sehen. Sie geben hier die Geschwindigkeit vor, also musst du vorsichtig sein, wenn du auf sie zugehst und von ihnen wegspringst. Da hast du es. Und dann werden die Kill Bricks dich natürlich töten, wenn du sie triffst. Also musst du damit vorsichtig sein. Und da hast du es. Das habe ich tatsächlich hier gemacht, aber ich mache mir überhaupt keine Sorgen. Nun, mach dir überhaupt keine Sorgen. Versuchen wir es einfach noch einmal. Also so etwas. Da hast du es. Jetzt haben wir es. Lass uns gehen. Und dann ist das letzte nur ein Sprungbrett hier drüben. Du kannst also sehen, ob du darauf springst, dann hast du es. Und jetzt haben wir den RB im Grunde genommen beendet. Jetzt passiert nichts, oder? Es gibt keine große Fanfare oder ähnliches. Aber es ist eine sehr gute Grundvoraussetzung , auf der man aufbauen kann. Und deshalb wollte ich das. Wenn du wieder hier bist, solltest du im Grunde zur Auswahl gehen und was du tun kannst, ist zu bieten, so ziemlich einfach diese Teile hier löschen und dann können wir das berechnen. Jetzt werden wir also im Grunde den OB entwerfen. Und wir werden bestimmte Funktionen haben , die noch nicht implementiert sind, weil ich im Moment nur eine grobe Form für die ABI entwerfen wollte , oder? Ich möchte nur ein paar Checkpoints platzieren. Ich möchte ein paar Kill Bricks platzieren, ich möchte einige interessante Hindernisse platzieren, und dann werden wir im Grunde von dort aus weitermachen. Das Erste, was ich hier für die Checkpoints empfehle , ist , sie einfach zu dimensionieren. Sie können sie also auswählen, zum Skalierungswerkzeug gehen und dann die Umschalttaste drücken. Und dann wird es sie im Grunde in alle Richtungen gleichzeitig skalieren . Und wir wollen sie vergrößern, schauen wir uns an, wo wir uns gerade befinden. Bei diesem Wert 0,92, 0,5 und wie wäre es mit 99 Komma drei, Komma Neun. Ich denke, das sollte in Ordnung sein. Und dann haben wir einen großen. Jetzt kannst du auch sagen, naja, vielleicht ist uns das tatsächlich zu groß , dann können wir das auch ändern. Vielleicht wollen wir, dass das flacher wird, also ist es eins. Und da hast du es. Ich finde, neun mal neun ist eigentlich ziemlich gut. Wenn der Spieler nun das Ganze trifft, wird dieser Checkpoint tatsächlich registriert, und das ist dieser. Es ist einfach komisch, dass sie das gemacht haben, aber das ist okay. Dann sollten Sie sich auch zwei dieser Förderbänder besorgen , damit wir wollen, dass einer variieren kann. Gehen wir nach links und ein Förderband, das nach rechts geht. Wir können also einfach einen von ihnen auswählen, Umschalttaste gedrückt halten und den anderen auswählen. Und dann können wir sie einfach ausschneiden, indem wir Strg X und Control V drücken , um sie wieder einzufügen. Beachten Sie nun, dass sie sich hier unten im Arbeitsbereich befinden, aber das können wir in wenigen Augenblicken beheben. Vorerst. Ich möchte sie nur hier am Anfang irgendwie retten . Das Gleiche werde ich mit einem Kill Brick machen. Ich kopiere einfach dieses Control C und dann Control V , um es wieder einzufügen. Und dann habe ich den Kill Brick auch hier drüben. Und dann können wir das später für alle möglichen Dinge verwenden . Und dann das Gleiche, was ich für das Trampolin machen werde . Du kannst tatsächlich sehen, dass es ein Surface G gibt und diesen Surface Jude, ich werde innerhalb des Spiels selbst deaktivieren. Ich glaube, das ist das Drehbuch. Vier, wie Sie sehen können, entspricht die aktivierte Oberflächen-GUI falsch. Deshalb hat es ein Drehbuch und das ist der Grund, warum das eigentlich nicht angezeigt wird. Das ist also nur für das, was Sie tun, während Sie das eigentliche Spiel erstellen, was eigentlich ziemlich großartig ist. Also lasst uns das auch einfach kopieren. Da hast du es. Und lass uns das einfach hierher bringen . Und dann können wir fast einfach den ganzen Rest löschen, weil der ganze Rest für uns im Moment irgendwie nicht wirklich notwendig ist , oder? Also lasst uns einfach alles außer diesem löschen. Da hast du es. Jetzt haben wir also ein Heereslager und wir haben fast alles gelöscht. Das ist in Ordnung. Und Sie können im Arbeitsbereich sehen, jetzt ist alles wie nach dem Zufallsprinzip eingerichtet. Also die Checkpoints, das ist Checkpoint eins. Das ist gut. Lassen Sie uns das auch ändern. Machen wir das ein bisschen interessanter. Also fangen wir damit an, also vielleicht so etwas. Vielleicht wollen wir das ein bisschen vergrößern. Und wir werden das ändern. Und was ich tun will ist, hier eine Rampe zu bauen. Also werden wir einfach dieses Control D duplizieren , um es zu duplizieren. Und dann können wir das umdrehen. Und lassen Sie uns sichergehen, dass Sie da sind. Ja, das ist etwas, was einer von denen denkt , dass man so etwas tun kann, ist, dass man vielleicht so etwas tun kann. Das ist also etwas kniffliger, oder? Du musst von der Seite hier drüben springen, das ein bisschen leiser drehen, dass es fast dasselbe ist. Da hast du es. Und dann haben wir das. Also jetzt musst du eigentlich hier und dann rauf gehen. Noch eins. Ja, da hast du's. Also gehst du her, spring hier hoch. Und was mit dem Wohnmobil hier sehr wichtig ist, sind auch häufige Tests weil man manchmal denkt, oh, das sollte wirklich einfach sein. Und dann findest du heraus, warte eine Sekunde, das ist tatsächlich eine wirklich schwierige Phase und das ist nicht ganz das, was du tun willst. Und dann bauen wir einfach eine Rampe, die hier runter führt. Also lasst uns einfach das und das und so etwas machen. Und dann hast du es. In Ordnung? Das ist also eines dieser Dinge, bei denen man einfach ein paar verschiedene Dinge ausprobieren muss. Und hier ist die, das ist das, was die Modellierung sehr subjektiv ist. Du kannst alles genau so verfolgen, wie es mir geht. Oder du schaust dir einfach diese Vorlesung an und kopierst dann die Datei aus der fertigen Vorlesung oder schaust dir einfach die fertige an. Und die Idee ist dann auch eine große Sache. Du willst das bunter machen . Wenn du die Steine hier steinfarben lässt, ist das einfach verdammt langweilig, oder? Du kannst sie also einfach auswählen und sagen, Hey, das soll vielleicht wie ein Blau hier drüben sein , elektrisches Blau. Ja. Und dann sollte dieser vielleicht wie ein Cyan sein, oder? Und dann sollte dieser vielleicht ein Pastellblau sein. Und dann hast du plötzlich einen blauen Staat. Und dann hast du es. Wir können das spielen. Und du wirst sehen, dass du das sofort spielen kannst. Da haben wir es. Also können wir einfach hierher gehen und wir können hier rüber springen, hierher gehen und dann sind sie mit der ersten Stufe fertig. Jetzt kommt es natürlich darauf an, welche Art von RB du machen willst, oder? Wenn du eine Hardcore-Armee aufbauen willst, ist das wirklich schwer und das kannst du natürlich tun. Normalerweise bevorzugen die Leute ein etwas einfacheres RB und eine einfachere Zeit damit, aber das ist völlig in Ordnung , dass es an dir liegt. Sie können es gestalten , wie Sie möchten. Also lasst uns dann weitermachen und lasst uns hier tatsächlich etwas erstellen. Also werden wir eine Art Gehweg erstellen. Also werden wir das einfach noch einmal vergrößern und nur ein bisschen länger und vielleicht auch ein bisschen breiter. Also einer in jede Richtung. Ich finde das ziemlich gut. Und jetzt möchte ich hier den Kill Brick benutzen. Also, wie würde ich sie verwenden, während ich sie duplizieren werde, Control D, ich werde sicherstellen, dass ich auswähle, die ich gerade erstellt habe. Ich lege es unter die zerstörten Ziegelsteine hier drüben. Die Art und Weise, wie der Arbeitsbereich hier organisiert ist , erfolgt im Grunde über die Funktion, oder? Also haben wir alle Kill Bricks zusammen. Wir haben die gesamte OB-Struktur zusammen, obwohl die Trampoline, obwohl die Förderbänder, alle Checkpoints, du das auch stufenweise machen kannst. Normalerweise denke ich jedoch, dass dies ein besseres Setup ist , da einige Hobbys etwa 500 Seiten lang sind. Und normalerweise ist es so besser , denn innerhalb des Spiels, richtig, anstatt in der Spielansicht hier, kannst du immer auf etwas klicken und es wird das sowieso im Explorer hervorheben. Sie müssen es also nicht wirklich so einrichten, dass jeder Staat einzeln angezeigt wird. Also werden wir das so machen, dass du über die Kill-Bricks hier drüben springen musst . Lass uns das einfach noch einmal duplizieren und dann einfach hierher gehen. Nee, nicht da unten, das wäre irgendwie komisch. Und dann noch eins, duplizieren Sie es. Und dann vielleicht so etwas. Da hast du es. Und dann auch noch einer am Ende hier. Machen wir das einfach ein bisschen größer damit wir es noch weiter vergrößern können. Und dann können wir den Kerl einfach hierher bringen. Ich denke, das sollte hübsch sein, ja, das sollte ziemlich gut sein. Und hier natürlich auch nochmal die Farbe ändern , denn das wird dir einfach einen schönen Kontrast geben . Vielleicht beweg den Kerl ein bisschen. Da hast du es. Also das ist eigentlich, ich mag das gerade irgendwie. Wenn Sie diese Phase abgeschlossen haben, möchten Sie natürlich einen, einen weiteren Checkpoint, damit Sie den Checkpoint duplizieren können, klicken Sie auf das Kontrollpunkt-Steuerelement D, und dann werden wir das einfach hierher verschieben, um sicherzustellen, dass es, wenn es, dass es nicht zu hoch ist, oder? Denn wenn du etwas duplizierst, wird es immer so sein, als ob es weiter oben steht, was manchmal komisch ist, aber da hast du es. Und das ist so ziemlich alles. Nun das nächste, was normalerweise gesehen wird und wirklich gefällt, also werde ich den Teil hier drüben kopieren, das ist Treppe. Also werden wir versuchen, Treppen zu bauen. Jetzt. Sie sind tatsächlich ziemlich schwierig, sie zu 100% richtig zu machen. Aber sie sind trotzdem ziemlich großartig. Also werden wir einfach Treppen bauen. Und später könnten wir z.B. wenn wir sie verschwinden lassen wollten, oder? Du kannst es also so machen, dass, wenn du die Treppe hochgehst wo sie hinter dir verschwinden, das immer ein cooler Effekt ist und die Leute scheinen das zu mögen. Also, wie würden wir das eigentlich machen? Es gibt ein paar Möglichkeiten , wie Sie damit umgehen können. Was ich im Grunde tun möchte, ist zunächst, einen neuen zu erstellen, ich werde tatsächlich mit der rechten Maustaste auf das Teil und ich werde einen neuen Ordner erstellen. Und ich nenne das die Treppe. Ich nenne die Treppe 90, weil wir eine 90-Grad-Treppe bauen werden. Im Grunde werden wir Treppen bauen, die von dieser Ausrichtung zu einer perfekten Ausrichtung führen, oder? Das bedeutet also im Grunde , dass wir aufsteigen und dann in diese Richtung enden werden. Und ich will das haben, weil du dann diese Treppe mit einer anderen Treppe kombinieren kannst diese Treppe mit einer anderen Treppe kombinieren und dann kannst du 180 Stufen haben und dann sogar 270 Stufen. Und selbst wenn 360 Stufen und theoretisch einfach weiter hochgehen, wenn du willst. Also lassen Sie uns einfach diesen duplizieren. Und was du tun willst, ist, dass du das rotieren willst. derzeit Wenn wir dies jedoch standardmäßig drehen würden, drehen wir es standardmäßig um 48, 25 Grad. Ja, 25,5 Grad, was ein bisschen zu viel ist, richtig. Du kannst also sehen, ob wir das verschieben würden, als ob das eine viel zu große Lücke für Treppen wäre, oder? Also willst du die Rotation hier ausschalten und du willst die freie Rotation machen. Jetzt können Sie es also grundsätzlich um so wenig oder so viele Grad drehen , wie Sie möchten. Und hier kommt es auf Ihre persönlichen Vorlieben an, wohin Sie wollen. Das Gleiche gilt jetzt für den Umzug . Wir werden den Umzug hier ausschalten , damit wir sie in Lake bewegen können. Winzige Mengen an Studien. Und das kannst du immer überprüfen, oder? Du kannst dir das immer von vorne ansehen und sagen, okay, sieht das aus wie eine Treppe, oder? Ich mag es wirklich irgendwie, okay, hier scheint dieser Gipfel richtig zu sein. Okay? Vielleicht wollen wir das noch ein bisschen erweitern und dann können wir das duplizieren. Und weil es immer die ersten Plätze gibt, wir, das ist wirklich cool. Also können wir das ein bisschen mehr drehen und es erneut bewegen und das noch einmal machen und es ein bisschen mehr drehen. Und du kannst die machen , du kannst die Treppe so groß oder so klein machen , wie du willst. nun in unserem Fall Lassen Sie uns nun in unserem Fall noch einmal einen Blick darauf werfen. Schauen wir uns das mal an. Zu Debugging-Zwecken. Was ich dringend empfehle, ist, dass Sie den Start duplizieren. Das ist irgendwie komisch, aber haben Sie einen Moment Geduld mit mir. Du nimmst den originalen Stuart und deaktivierst ihn einfach, sodass du enabled auf false setzt, und dann gehst du zurück zum anderen und verschiebst ihn einfach in die Phase, die du hier testen möchtest. Weil du sonst immer den gesamten RB spielen musst. Und das ist normalerweise einfach sehr seltsam, sehr seltsam. Wir können also sehen, dass das funktionieren würde. Also die Treppe, ihre Arbeit, das ist in Ordnung. Wir müssen nicht, wir müssen nicht da runter gehen und dann gehen sie also können wir einfach damit weitermachen und das weiter rotieren. Wie gesagt, du kannst sie so groß oder so klein machen , wie du willst. Du kannst beliebig viele Treppen hinzufügen, oder? Du kannst sagen, Oh, weißt du was, ich will jedes Mal nur ein bisschen Rotation oder vielleicht ein bisschen weniger, ein bisschen mehr, so etwas. Bewege sie auch einfach, damit sie nicht immer gleich aussehen, oder du kannst sie sehr präzise machen. Das ist also manchmal auch etwas , das man sehr genau will. Wenn du es sehr genau willst, kannst du jederzeit zur Transformation hier drüben gehen und die Ausrichtung manuell anhand von Zahlen ändern , anstatt nur irgendwie mit dem Auge, oder? Denn im Moment mache ich es einfach, indem ich es die Augen sehe und so sage: Ja, das klingt ungefähr richtig. Das sieht ungefähr richtig aus. Das ist also eine Sache, die Sie auch immer im Hinterkopf behalten können . Und wir nähern uns hier sehr , sehr schnell der Rotation , die wir wollen. Sie können also sehen, dass wir so ziemlich so weitermachen werden, wie ich es gesagt habe. Und dann noch einer. Und dann, am Ende hier, müssen wir auf jeden Fall die Zahlen dort verwenden, aber das wird völlig in Ordnung sein. Weil wir das am Ende schaffen können. Also lass uns einfach noch eins machen und noch eins hier drüben. Manchmal ist die Aussicht ein bisschen verrückt. Wir würden nur ein bisschen zurückgehen wollen. Los geht's, skalieren Sie das und drehen Sie es dann erneut. Kann das tatsächlich ein bisschen nach hinten verschieben. Also können wir das einfach ein bisschen weiter nach hinten drehen , damit es keine Lücke gibt, weil ich hier im Grunde keine Lücken haben möchte. Vielleicht eine etwas größere Rotation, wo wir an dieser Stelle -98 hinzufügen, das ist eigentlich ziemlich gut. Wir sind also fast bei unseren -90 Grad, denn sobald wir bei 90 Grad sind, wissen wir, dass wir erreicht haben, wo wir hin wollen, aber wir sind noch nicht ganz da. Also wahrscheinlich noch ein paar mehr. Wo sind wir jetzt? -92. Okay. Ich denke, das wird jetzt der -90 sein. Jetzt wollen wir uns also der Transformation zur Orientierung befassen und wir wollen einfach Null minus 90 machen. Und Sie können jetzt sehen, dass das eigentlich perfekt in diese Richtung geht. Wenn wir das also skalieren würden, können Sie sehen, dass dies jetzt ein exakter 90-Grad-Winkel ist , was ziemlich beeindruckend ist. Also können wir einfach den, den Checkpoint wieder nehmen, oben bewegen, hier rüber gehen, und jetzt haben wir einen Checkpoint hinter der Treppe. Vielleicht möchtest du hier noch einen Sprung hinzufügen , bevor du einfach da reingehst. Das könnte auch der Fall sein, oder? Also, richte das einfach ein. Da hast du es. Lassen Sie uns das ein wenig skalieren. So etwas könnte ziemlich gut sein, und dann sollte es dir gut gehen. Das sind Treppen. Stellen wir sicher, dass wir diese herausnehmen , da sie nicht Teil der Treppe ist und wir jetzt eine 90-Grad-Treppe haben. Was ich hier empfehle, ist auch, dies zu duplizieren, oder? Also einfach D drücken und dann kannst du es einfach bewegen. Und was du tun kannst, ist wirklich großartig. Denn jetzt könntest du das theoretisch einfach noch einmal duplizieren. Ich nehme all diese Treppen, bewege sie einfach hoch und dann hoch. Da hast du es. Und du kannst hier die gesamte Treppe drehen. Aber es ist wichtig, dass wir das tatsächlich um 90 Grad drehen . Lassen Sie uns das jetzt um 90 Grad drehen . Und plötzlich sieh dir das an, oder? Ich kann sie einfach ein Jahr lang unterbringen und sie hier ablegen. Und sie passen fast. Es ist nur so, dass wir das nur ein bisschen machen müssen. Da hast du es. Nur ein bisschen höher, ein bisschen hoch oder nicht. Stellen Sie sicher, dass es sich nicht einzeln bewegt hat. Du willst sie zusammenbringen und dann gehen sie. Und jetzt haben wir eine Treppe. Jetzt sehen sie ein bisschen komisch aus, aber sehen wir uns einfach an, los geht's. Das ist eigentlich fast perfekt. Du wirst es nicht einmal bemerken. Und jetzt haben wir tatsächlich eine 180°-Lenkung, also eine 180-Grad-Treppe, sodass wir all diese Teile nehmen können, sodass wir all diese Teile nehmen können, sie in das andere legen können, das hinterlässt den leeren Ordner und dann können wir das nennen, einfach diese beiden Stufen in 180 umbenennen. Denn jetzt müssen wir AT-Treppen wollen und wir werden das hier am Anfang noch einmal speichern , wo wir im Grunde alles gespeichert haben. Das wird in Ordnung sein. Da hast du es. Das ist also, das ist eine wirklich tolle Beteiligung. Theoretisch können wir auch 180 Stufen haben. Nun, es ist vielleicht ein bisschen komisch, auf sie zu steigen, aber noch einmal, die Treppe oder einfach eine Sache bei der man einfach nicht viele Dinge ausprobieren wird , oder? Diese Treppen sind vielleicht ein bisschen steil und ein bisschen komisch, aber am Ende sollten sie funktionieren. Also, wenn ich hier reingehe und sie rüberführe, dann hast du es. Ich konnte hochgehen. Das ist also ziemlich großartig. Lassen Sie uns die tatsächlich vergrößern, die Lücke hier nur ein wenig vergrößern. Und lassen Sie uns tatsächlich noch einmal eine Studie in Bewegung setzen. Da hast du es, vielleicht so etwas und dann so etwas. Also musst du hier rüberspringen. Das wird also in der Tat ziemlich interessant sein. Und dann verschwinden. Das werden wir tatsächlich in einer späteren Vorlesung sehen. Denn vorerst wollten wir eigentlich nur ein paar andere interessante Dinge kreieren. Das nächste Ding, oder? Das ist also ziemlich genial, oder? Wir haben welche, wir haben etwas davon, wir haben ein paar Kill Bricks hier drüben. Wir haben ein paar Treppen , die in der nächsten Vorlesung verschwinden werden. Und jetzt möchte ich hier weitermachen, oder? Jetzt möchte ich weitermachen und nur ein paar Grundformen machen. Schauen wir uns also einfach die Größe an. Die Größe ist 616, was ich will. Und ich denke, das ist eigentlich okay. Ich mache das eigentlich ein bisschen größer. Mach das 818. Ja, das ist perfekt. Das ist großartig. Genau das hatte ich im Sinn. Und Sie können sogar die Position ändern. Ich persönlich mag es also immer, jetzt die Positionen mit all diesen Kommawerten zu haben . Also ändere ich die Position auf 20. Ich ändere das auf 14 und wir werden das auf 105 ändern. Ich denke, das wird okay sein. Und dann werden wir einfach diese Position ändern, auch 2105. Und das wird das ein bisschen schief machen , aber das ist okay. Denn was du dann tun kannst ist, dass du irgendwie sicherstellst, dass das so ist, du kannst es einfach verstecken, indem du es auch ein bisschen schief machst auch ein bisschen schief und es dann einfach skalierst und sagst, ja, das ist eigentlich ein krummer Gehweg und dann sollte sich niemand darum kümmern. Wenn es die Leute interessiert, ist das normalerweise keine große Sache. Und Sie können es auch später jederzeit ändern. Weil die Modellierung , wie Sie sehen können, oder? Also, bis jetzt habe ich nur etwa 20 Minuten gemodelt 20 Minuten gemodelt und wir haben schon ein paar Stufen drin. Und das Beste daran ist, dass, wenn Sie ein paar Zedern geerntet haben, oder? Also dieser Zustand hier, Sie können genau diesen Zustand kopieren und ihn später auch auf eine etwas andere Weise wiederverwenden ihn später auch . Das ist also immer eine Sache, die Sie auch beachten müssen , dass Sie Stufen jederzeit wiederverwenden können. Nun, ich möchte eigentlich nicht, dass das rotiert wird. Ich finde sogar, dass die Null minus Null eigentlich in Ordnung ist. Wir machen es einfach so. Wir werden das einfach größer machen. Ja. So etwas. Vielleicht vielleicht nur eine große, große Plattform. Da hast du es. Okay, das ist gut. Und jetzt können wir mit diesem fortfahren. Also, was wird dieser machen? Nun, dieser wird, dieser wird Steine dazwischen getötet haben. Wähle einen Kill-Brick aus. Okay, ich weiß nicht, was passiert ist, aber aus welchem Grund auch immer sind diese Ports unter dem Kill-Brick. Ich weiß nicht, wie das passiert ist, aber okay. Wir wollen sie natürlich im Rahmen der OB-Struktur herstellen . Da hast du es. Und jetzt können wir diesen Kubrick duplizieren. Ich weiß nicht, wie das passiert ist. Ob das passiert wäre, weiß ich nicht, aber wenn so etwas passiert, solltest du das ziemlich schnell herausfinden. Und dann kannst du immer korrigieren, dass unsere einzelnen Plattformen und zwischen diesen Plattformen, ich möchte den Kill Brick hier haben. Und ich möchte, dass sie so sind oder ich möchte nicht, dass sie sich so ausdehnen. Ich möchte, dass sie sich gleich ein bisschen so bewegen. Jetzt werden wir die Bewegung in dieser Vorlesung nicht noch einmal umsetzen , Moment modellieren wir einfach alles. Denn das Wichtigste daran und das ist auch, ich meine, ich habe schon einmal darüber gesprochen, ist, dass Sie einfach sicherstellen wollen , dass Sie, wenn Sie so etwas erstellen, vor allem, einen Schritt nach dem anderen machen. Du musst nicht unbedingt alles auf einmal machen. Modellieren Sie einfach zuerst den RB und dann die gesamte Funktionalität, die Bewegung für bestimmte Teile, das Verschwinden eines anderen Teils, wie Sie etwas anzeigen, richtig und in der Bestenliste und all das, das können Sie später immer tun. Also, wie wäre es damit? Ich finde das ziemlich gut. Und ich denke, wir können das Ding dann einfach hierher kopieren und wir werden dieses Ding einfach ersetzen. Also werden wir diesen einfach durch unseren bewährten alten Checkpoint ersetzen , wo wir in der Tat auch in Zukunft Dinge am Checkpoint ändern müssen. Aber noch einmal, das spielt momentan keine Rolle, vorerst wollen wir nur etwas modellieren und das ist eigentlich schon ziemlich gut. Also ich bin ziemlich zufrieden damit. Wir haben hier eine Bewegung, wir haben eine andere Bewegung hier drüben. Und dann ist das Letzte , was wir einfach tun werden, zuerst werden wir das neu einfärben, denn zu grünen Stufen sind das an dieser Stelle eigentlich drei grüne Stufen. Nun, das kann zwar nicht stehen, aber lassen Sie uns das alles auch neu einfärben. Lass uns einfach reingehen und das machen, wie wäre es, wenn wir es nicht zu einer roten, vielleicht zu einer Art hellrosa Persimone machen. In Ordnung. Okay, das ist die Farbe Persimmon Shore. Und dann werden wir einfach sicherstellen, dass wir all diese nehmen und wir werden wissen, dass ich sie nicht verschieben möchte. Bist du verrückt? Ich wollte sie nur auswählen und dann wollen wir sie neu einfärben, vielleicht gelb, das wird okay sein. Gelb und Rot passen eigentlich sehr gut zusammen. Und dann müssen wir hier überprüfen und dann, was als nächstes kommen könnte. Also, wie wäre es, wenn wir einfach einen von diesen kopieren. Und was ich machen möchte, ist, dass ich hier eine noch interessantere Form haben wollte . Also was wir tun werden, ist, dass wir diesen Teil übernehmen und ich gehe runter und wir werden das nicht sammelbar machen. Der Grund dafür ist dass ich, wenn ich es dupliziere, dasselbe Teil tatsächlich in sich selbst bewegen kann. Und ich kann das dann umdrehen. Und du kannst sehen, wenn ich das bei der Drehung tatsächlich um 45 Grad mache, kann ich jetzt einen kleinen Stern machen. Das sieht also viel interessanter aus, als nur eine normale Plattform hier zu haben. Aber warte eine Sekunde. Nun, diese funktionieren eigentlich nicht wirklich, weil sie jetzt kollidieren können. Der Spieler wird also einfach durch sie hindurchfallen. Das ist wahr. Wenn ich jetzt jedoch beide Teile nehme, wenn ich einfach beide Teile auswähle und auf diese Weise modelliere, kann ich sie zusammenfügen. Und wenn ich eine Vereinigung mache, dadurch eine neue Art von Teil entstanden, nämlich eine Union, und sie sind jetzt zusammen. Also im Grunde alles also sind beide Teile miteinander verschmolzen. Sie sind nicht geschweißt, sie sind jetzt eigentlich ein Teil. Und wenn ich das weiß, kann ich das Kerzenlicht einfach wieder aktivieren. Und jetzt kann der Spieler mit diesem neuen Teil kollidieren. Das ist also eine wirklich coole Sache, die du machen kannst. Sie können damit sogar noch weiter gehen, was ziemlich interessant ist. Du kannst das also machen, z. B. wir werden das einfach mit einem anderen Teil machen . Wir können einen Kerzenschein falsch machen. Wir werden einen neuen Port bauen. Und dann sagen wir z.B. ich. Nimm das und ich mache es einfach ein bisschen kleiner, oder? So etwas und dieser Sohn hat einen kleineren Teil auf den größeren Teil. Und was ich normalerweise mache, ist, dass ich vorschlage das ein bisschen größer zu machen, damit es so ist, als ob Sie sehen können dass es das gesamte Array durchläuft. Und wenn wir das zu einem negativen Teil machen, oder? Und dann wählen wir beide aus und wir vereinigen diese Ebene, plötzlich haben wir ein großes Loch in diesem Teil und das ist völlig in Ordnung, oder? Also, du kannst hier reingehen und wir können einen Can Collide machen und der ganze Spieler wird durchfallen. Das ist also eigentlich, das macht es so viel interessanter, sich das anzusehen, oder? Also lass uns unser Lager hierher bringen und das tatsächlich nach oben verschieben, nach oben. Weil ich jetzt eigentlich den ganzen Rest des Levels spielen will, will ich nicht . Ich will nur, dass du dir die, die Verbindung und die Teile zeigst . Da haben wir es. Also lass uns einfach hier reingehen und sehen. Da sind wir also. Und wenn ich hier weitermache, kannst du sehen, dass wir das machen und hier kann ich das durchstehen, ohne dir Sorgen zu machen, was wirklich cool ist, oder? Mit der Vereinigung und dann Negation können Sie also so coole Teile erstellen, die sich völlig von im Grunde völlig von den normalen Seerechtecken unterscheiden. Und natürlich können Sie hier auch Zylinder, Eckkeile, Keile sowie Kugeln und Kugeln hinzufügen . Du kannst diese auch hinzufügen und nur mit ihnen und ein bisschen Vereinigung und Negation kannst du tatsächlich einige ziemlich interessante Dinge kreieren. Nennen wir das einfach , damit wir jetzt den Überblick behalten können. Das ist nur das Quadrat mit Loch, oder? Und das ist der Star. Wie wär's damit? Stimmt es? Also haben wir jetzt ein Geschäft und einen Platz hier drüben. Das ist also ziemlich cool. Lass uns hier zu einem anderen Typ gehen. Also holen wir uns einfach einen Zylinder. Und wir nehmen einfach den Zylinder und wir werden einfach sicherstellen , dass er sich innerhalb der Struktur des Egos befindet. Jetzt wollten wir das eigentlich um 90 Grad in diese Richtung drehen . Und wir können das ein bisschen vergrößern. Sie können also sehen, dass wir hier zu einem Kreis oder einem Zylinder gekommen sind. Und jetzt können wir tatsächlich auch eine Kreisformgröße erhalten. Also mal sehen, ist das die gleiche Größe? Ist es. Jetzt haben wir auch einen Kreis. Das ist ziemlich cool. Da haben wir es. Wir können das jetzt auch gelb machen. Das war dieses gelbe, rote, leuchtende Gelb? Ja, ist es. Das ist das Ziel. Du musst einlagern. Wir haben ein Quadrat mit Fall und wir haben einen, nennen wir es einen Kreis, obwohl es ein Zylinder ist, aber dann weiß jeder, was es ist, oder? Also das ist eigentlich so, dass das wirklich großartig ist. Du kannst sehen, damit kannst du einige weitere interessante Formen bauen , die gerade erst auftauchen, die das Spiel einfach viel interessanter aussehen lassen. Nun, zum Beispiel in unseren Formen hier drüben, können wir sie einfach irgendwie bewegen. Vielleicht nimm den, nimm den Laden hier, dreh ihn vielleicht ein bisschen. Wenn wir es also um 45 Grad drehen, wird es natürlich nicht ganz funktionieren, aber drehen wir es um 22,5 Grad und dann wird es tatsächlich ein bisschen anders aussehen. Da hast du es. Also das wird jetzt ein bisschen anders aussehen. Wir können auch diesen nehmen. Wir können das Quadrat auch drehen , denn warum nicht schreiben? Also lass uns auch interessant aussehen. Da hast du es. Und übrigens, du kannst das auch skalieren und es wird ein paar seltsame Dinge tun, aber du kannst es skalieren. Das ist also auch ziemlich cool daran, dass die Skalierung normalerweise nur in alle Richtungen gleichzeitig funktioniert , anstatt nur in eine. Da hast du es also. Jetzt haben wir den. Und dann können wir einen weiteren Kreis bekommen. Den Kreis um die Y-Achse zu rotieren, wird uns nichts nützen, aber das wird okay sein. Und dann hast du es. Jetzt haben wir ein paar verrückte Formen hier und wir können ganz am Ende einen neuen Checkpoint hinzufügen, nur um sicherzustellen, dass wir genug Platz haben. Da hast du es. Und dann ist das alles. Jetzt haben wir den Checkpoint hier und jetzt haben wir unsere verrückten Formen. Einfach so. Ich denke, das ist genug Demonstration, um es Ihnen zu zeigen. Okay? Du kannst im Grunde einzelne Teile hinzufügen, oder? Und vielleicht möchtest du diese Formen auch in einem späteren Level verwenden , was du natürlich kannst, genau dann kannst du sie verwenden und vielleicht möchtest du sie tatsächlich drehen , sodass du auf sie laufen musst. Und das alles. In diesem Fall können Sie mit einem benutzerdefinierten Objekt viele, viele Dinge tun. Nun, da ich hier modele, denke , dass wir damit ziemlich gut zurechtkommen. Löschen wir also einfach den Start und der andere Stern sorgt dafür, dass dieser wieder aktiviert wird. Andernfalls könnten wir einige Probleme haben. Speichern wir das und gehen wir ins Spiel. Und lassen Sie uns einfach sehen, ob wir das tatsächlich ausführen können. Das ist absolut in Ordnung. Wir haben das gesperrt, das ist großartig. Und jetzt schauen wir mal, ob ich darüber springen kann und das kann ich, das ist unglaublich. Gehen wir die Treppe hinauf. Oh, wir haben hier einen kleinen Schluckauf. Das ist also interessant. Also ja, das ist die Methode , die tatsächlich funktioniert. Aber in dieser Phase, genau jetzt bewegen sie sich nicht, also musst du einfach hierher springen. Es ist jedoch schwieriger als erwartet , das richtige Timing zu finden. Und jetzt haben wir die hier. Jetzt können Sie sehen, dass die Zylinder tatsächlich weg sind. Das ist ein kleines Problem, aber, und wir können diesen Sprung tatsächlich schaffen. Aber der Grund, warum die Zylinder weg sind, ist natürlich, dass wir hier rein gehen , weil sie nicht verankert sind. Wir können also im Moment sehen, dass sie nicht verankert sind. Stellen Sie also sicher, dass sie verankert sind. Jedes Mal, wenn Sie hier ein neues Teil hinzufügen, möchten Sie sicherstellen, dass es verankert ist und dann kann es losgehen. Und das ist so ziemlich das Basis-RB, das wir vorerst behalten werden. Was wir tun werden. Wir haben nicht mit den Förderbändern gearbeitet weil sie hier die Geschwindigkeit verwenden, sondern die Geschwindigkeitseigenschaft. Und das gibt es eigentlich nicht mehr ganz. Es funktioniert immer noch. Aber ich persönlich würde argumentieren, dass es wahrscheinlich besser ist, das nicht unnötig zu verwenden, aber das ist in Ordnung. Du kannst es benutzen. Aber seien Sie sich bewusst, dass das möglicherweise nicht so funktioniert , wie Sie es erwarten würden. Unabhängig davon bin ich aber in den kommenden Vorlesungen ziemlich zufrieden damit. Die spezifischen Dinge, die wir tun werden, sind, dass wir diese Dinge rotieren lassen. Wie ich bereits besprochen habe. Wir werden sie rotieren lassen. Und wir werden vielleicht auch einige dieser Formen hier drehen. Da bin ich mir noch nicht ganz sicher , aber so etwas in der Art. Wir werden auch sicherstellen, dass an den Checkpoints tatsächlich angezeigt wird, in welcher Phase Sie sich befinden. Und wir werden es auch so gestalten, dass ihr eine Rangliste mit den verschiedenen Stufen darin habt. Und das ist so ziemlich das, was wir in diesem Fall für das gesamte Audio machen werden, es wird in der Tat ziemlich interessant sein. Also die fertige Datei der Erstellung hier steht euch natürlich zum Download zur Verfügung. Ansonsten hoffe ich, dass Sie das nützlich fanden und etwas Neues lernen und wir sehen uns alle in der nächsten Vorlesung. Also, ja. 37. (Roblox) Checkpoints zum Obby hinzufügen: Ordnung, lass uns hier mit dem RB für den Roblox-Kurs weitermachen In Ordnung, lass uns hier mit dem RB für den Roblox-Kurs weitermachen. Und in dieser Vorlesung werden wir die Funktionsweise der Checkpoints grundlegend ändern. Und dafür müssen wir uns das aktuelle Checkpoint-Skript ansehen. Also, wir haben hier ein Drehbuch und du wirst dir das ansehen und du wirst sagen, Oh mein Herr, was ist das für ein Wahnsinn? Mach dir überhaupt keine Sorgen. Machen Sie für den ersten Teil einfach etwas langsamer. Das ist viel auf einmal. Du musst es Zeile für Zeile nehmen. Ich sage dir nur, dass du hineinzoomst und was du tun kannst, ist, dass du es sogar so machen kannst , dass du buchstäblich nur Zeile für Zeile sehen kannst, nur damit du es verstehst. Denn insgesamt ist das eigentlich nicht so verrückt, wie du denkst. Du wirst im ersten Moment überwältigt sein , wenn du das siehst, aber dann wirst du sagen, okay, warte eine Sekunde. Weißt du, all das, du weißt schon, wann wenn Aussage, weißt du, und du weißt, was das bedeutet. Okay? Wenn es getroffen wird, ist das ein Touched Event, okay? Also verbindest du diese Funktion damit, okay? Das haben wir schon gesehen. Dann sagen wir, wenn etwas das getroffen hat und es ein Elternteil gibt, und das Elternteil hat einen Humanoiden, der im Grunde sagt, ob der Spieler diesen bestimmten Spawn getroffen hat, oder? Wenn der Spieler den Checkpoint-Teil erreicht hat, dann sind wir drin, okay, dann machen wir das alles. Okay, das ist gut. Im nächsten Teil holen wir uns den Spieler , den wir auch schon einmal gesehen haben, und dann bekommen wir die Checkpoint-Daten. Wenn diese Checkpoint-Daten nun nicht existieren, erstellen wir tatsächlich neue Checkpoint-Daten, wie Sie sehen können. Wenn also Checkpoint-Daten, wenn nicht Checkpoint-Daten bedeuten, dass sie nicht existieren, dann erstellen wir einfach eine neue Instanz davon und legen sie in den Speicher dieser Server. Nun, dann nennen wir es auch Checkpoint-Daten und das war's im lokalen Checkpoint, dann wird es so sein, wir überprüfen im Grunde, ob in den Checkpoint-Daten bereits ein Checkpoint gespeichert ist. Und wenn das nicht der Fall ist, erstellen wir mit diesem Spieler wieder nur einen neuen Objektwert. Und dann verbinden wir hier eine neue Funktion , die im Grunde wartet, bis wir antworten, und dann antworten wir am Standort des neuen Checkpoints. Und das ist so ziemlich alles, was wir tun. Jetzt. Auch hier könnten einige Teile verwirrend sein, insbesondere der C-Rahmen hier. Im Grunde genommen ist der C-Frame genau die Art, wie Sie die Position eines Teils festlegen können . Das ist so ziemlich alles, was Sie vorerst wissen müssen . Und das erste, was ich hier tun möchte, ist, dass ich daraus ein Modellskript machen weil das in jedem Checkpoint dasselbe Skript ist, wir müssen nur eine Sache im Grunde ein bisschen ändern möchte, weil das in jedem Checkpoint dasselbe Skript ist, wir müssen nur eine Sache im Grunde ein bisschen ändern, und dann war's das. Warum sollten wir das dann eigentlich nicht haben? Wir wollen also zu unserem bewährten alten Serverskriptdienst gehen unserem bewährten alten Serverskriptdienst und ein neues Modellskript erstellen. Ich nenne das das Checkpoint-Skript. Das gefällt mir, das ist gut. Und was wir tun werden, ist, das Ganze hier zu erledigen , all das. Und wir werden das einfach hier ablegen. Also werden wir sagen, das ist das Modul Dot Add Player, Check Point, klar, entspricht der Funktion. Und wir brauchen den Treffer und wir brauchen eigentlich auch den Spawn-Standort. Ich werde das gleich zeigen, und dann ist es soweit. Das ist jetzt die Funktion. Und wir wollen eigentlich auch nur sichergehen, dass alles in Ordnung ist, wir wollen die if-Anweisung auch hier kopieren, weil ich festgestellt habe, dass das ein bisschen besser funktioniert. Wenn wir es so machen, können wir es einfach so nennen. Wir können einfach dieses Modul nehmen und es im Skript hier anfordern, und dann war's das. Das ist alles was wir tun müssen. Lokaler Checkpoint, Checkpoint-Modul entsprechen also Required und dann benötigen wir nur den Game Dot Server Script Service Punkt Checkpoint Script Script. Da hast du es. Und dann können wir hier eine Funktion aufrufen, richtig, App Layer Protect Point Hit und der Standort ist einfach Spawn. Und dann war's das. Das ist alles, was wir in diesem Fall tun müssen , damit das funktioniert. Und wir können sehen, dass es immer noch funktioniert, wenn ich einfach hier reingehe und sie alle geändert habe. Stimmt. Also sind wir einfach so, dass der erste der ist der sich ändert und alle anderen werden wir einfach löschen. Wir werden sie einfach alle auswählen. Wenn Sie etwas auswählen und die Kontrolle behalten, können Sie einfach mehrere auswählen. Und dann werden wir das einfach ein paar Mal duplizieren und alle neuen Skripte auf die anderen Checkpoints verschieben . Und was wir finden werden, ist, wenn wir das Spiel starten und wir tatsächlich zum nächsten Checkpoint gehen, oder? Das Ding sollte eigentlich erst passieren, wenn wir es schneiden, anfassen, aber du kannst sehen, dass wir tatsächlich eine unzugewiesene Immobilie bekommen. Das ist also eigentlich eine sehr interessante Sache. Nun, der Grund, warum wir das bekommen, wie Sie sehen können, ist, dass wir das jetzt hier im Wert angeben. Der Grund dafür ist der Spawn hier. Weil wir natürlich die Position des Löffels verwenden müssen . Lassen Sie uns das und andere tolle Dinge, die wir schon einmal gemacht haben, beenden andere tolle Dinge, die wir schon einmal gemacht haben, Wenn wir eine solche Tabelle hätten, . Wenn wir eine solche Tabelle hätten, müssten wir sie in jedem unserer Skripte ändern. Aber jetzt kann ich einfach in unser Modulskript gehen und sagen, nun, statt Löffel, wir wollen eigentlich den kleinen Ort hier drüben. Speichere es, spiel. Und jetzt wird es für all unsere verschiedenen Checkpoints funktionieren . Das ist es, was die Modulskripte sind, so unglaublich mächtig. Also schauen wir uns das an und los geht's, keine Probleme mehr. Und wenn ich hier runterspringen würde, antworte ich an dieser bestimmten Stelle. Und du kannst sehen, da hast du es. Ich antworte hier. Und das Gleiche passiert , wenn ich hier weitermache und direkt hierher gehe und wieder einfach abspringe. Dann wirst du sehen können, wie sie dann genau dort spawnen. Also alle Checkpoints funktionieren jetzt einwandfrei, wie Sie sehen können, was wirklich, wirklich großartig ist. Und nun, das ist so ziemlich alles, was wir tun müssen, um sie robuster zu machen. Und das Tolle ist jetzt auch wenn wir einen neuen Checkpoint hinzufügen würden, weil er jetzt dasselbe Checkpoint-Skript hat, es würde einfach einfach weitergehen. Sobald wir das eingerichtet haben, verwendet jetzt jeder neue Checkpoint, den wir hinzufügen, das Modulskript. Und wenn wir hier etwas ändern wollen, z. B. in der nächsten Vorlesung, dann wird das einfach funktionieren. Und das ist eigentlich mit allem, was wir bisher gelernt haben. Das Touched Event, wir haben das schon einmal gesehen, erfordert ein Modulskript das habe ich schon einmal in anderen Modulen gesehen, das Skript selbst , die Funktion hier, es ist etwas komplizierter , das gebe ich dir. Aber insgesamt sollte es verständlich sein, wenn man es wirklich Zeile für Zeile betrachtet. Und damit, das war's eigentlich für diese Vorlesung hier. Ich hoffe, Sie fanden das nützlich und haben etwas Neues gelernt. Wir sehen uns in der nächsten Vorlesung. Also, ja. 38. (Roblox) Hinzufügen eines Leaderboards mit Leaderstats: Ordnung, lass uns hier mit der ABA für den Roblox-Kurs fortfahren . Und in dieser Vorlesung werden wir nicht nur eine Bestenliste erstellen, sondern auch das Nummerierungssystem für unsere Checkpoints. Das wird also in der Tat sehr interessant sein. Der erste Teil davon wird also, naja, im Grunde das Hinzufügen von Zahlen zu unseren Checkpoints sein . Jetzt werde ich das auf eine etwas freche Art machen. Ich werde tatsächlich ein neues Skript anstelle unserer Checkpoints hier erstellen . Und wir werden das einfach so nennen. Zuallererst wird es ein Drehbuch geben, richtig. Da hast du es. Und wir werden das tatsächlich in die Checkpoint-Nummerierung umbenennen . Denn lustigerweise, wenn wir hier rein gehen, wenn wir sicherstellen, dass unsere Checkpoints in der richtigen Reihenfolge eingerichtet sind, oder? Sie können also diesen Checkpoint 123 sehen, das sind vier und das sind fünf. Wenn sie hier in der richtigen Reihenfolge eingestellt sind, können wir sie einfach von oben nach unten nummerieren und es sollte uns völlig gut gehen. Das ist also genau das, was ich mit diesem Drehbuch machen werde. Das ist es also, was dieses Skript im Grunde benötigt. Wenn sie in einer zufälligen Reihenfolge sind, wird das nicht funktionieren. Aber wenn Sie sie duplizieren, sollten sie normalerweise in einer festgelegten Reihenfolge sein, und das ist in Ordnung. Dazu wollen wir also zuerst den Ordner finden. Das ist natürlich ein Skript, das Eltern ziemlich selbsterklärend sein sollten. Wir haben dann eine Zählung, oder? Das wird einer sein. Wir beginnen mit einem und verwenden dann eine For-Schleife. Und die For-Schleife, die wir verwenden werden, ist, dass wir die Kinder dieses bestimmten Ordners entwöhnen, wir werden all diese Dinge bekommen. Also, was wir tun werden, ist Checkpoint zu sagen. Also ich und Check Point. Und der Grund, warum ich zwei Dinge habe, ist , dass wenn ich Ordner Doppelpunkt mache , Kinder kriege, bekommen wir alle Instanzen, das ist dieser Checkpoint. Aber das Erste wird eigentlich ein Int-Wert sein, oder in diesem Fall nur der Index. Also hol Kinder. Und dann wollen wir das machen. Wir wollen zuerst diese Nummer anrufen und das entspricht einem neuen Instanzpunkt neu. Und das nennen wir einen Wert von int. Ich werde sagen, dass der Nummernpunktname dem Checkpoint entspricht , Checkpoint-Wert entspricht der Anzahl weil wir das am Anfang auf Eins setzen wollen , sie wollen sagen , dass der übergeordnete Punkt dem Checkpoint entspricht. Und dann das Ende hier, wir wollen sagen, dass Zählen plus eins ist. Denn natürlich wollen wir mit jedem neuen Checkpoint die Anzahl erhöhen und das ist so ziemlich alles , was wir tun müssen, oder? Also lasst uns das tatsächlich spielen und uns die Checkpoints hier ansehen. Nun, was ist wichtig zu beachten wenn wir die Checkpoints tatsächlich öffnen, oder? Sie können das zunächst sehen, wir haben alle Checkpoints. Lass uns einfach auf den Server wechseln , damit wir uns bewegen können. Dieser Checkpoint ist genau hier. Sie können sehen, dass jetzt der Wert eins ist, dieser Checkpoint da der tatsächlich die Position hier geändert hat, aber das ist kein Problem, da er auch immer noch einen Wert hat. Manchmal ändert man die Positionen, aber sie sollten sich nicht ändern. Sie sollten sich erst ändern, nachdem das Spiel geladen wurde. Das ist also das einzige, was dieses Skript vermasseln kann. Wenn sie sich aus irgendeinem Grund ändern , bevor all das grunzt, dann ja, dann hast du vielleicht Probleme und dann kannst du das auch einfach manuell hinzufügen. Aber ich füge das gerne mit einem Skript persönlich hinzu, dieser Modus ist eine persönliche Präferenz von mir. Ich werde nicht lügen. Das haben sie jetzt. Und was wir tun könnten, z. B. nur um der Argumentation willen, ist, dass wir einfach sagen können: Hey, drucke einfach mein, mein Ding aus. In dem Modulskript, das wir das letzte Mal erstellt haben, werden wir also einfach den Punkt zum Spawn-Standort drucken. Und das sollte eine sogenannte Checkpoint-Nummer haben . Es wird also der Ort, Punkt, Checkpoint Nummer, geboren, dieser Wert. Also jedes Mal, wenn der Spieler jetzt den Spawnort berührt, sollten wir den Wert ausgedruckt bekommen. Also lass uns einfach sehen, okay, also sollten wir in der Lage sein, hierher zu ziehen, und dann sollten wir vielleicht hierher ziehen. Und wenn wir das anfassen, können Sie einen sehen. Also wird es einen ausdrucken. Okay, interessant. Lass uns weitermachen und schauen ob wir den nächsten erreichen. Wir haben jetzt zwei. Und wenn wir hier weitermachen, haben wir jetzt drei. Und das wird so lange weitergehen, bis mir im Grunde , naja, die Checkpoints ausgegangen sind. Wenn wir also diesen treffen, haben wir vier, und wenn wir hier weitermachen, dann haben wir hier fünf. Das ist also wirklich großartig. Also können wir jetzt den Wert ermitteln oder in welcher Phase wir uns auch befinden. Das können wir tatsächlich über den Wert hier herausfinden. Und wir werden zwei Dinge tun. Das erste, was wir tun werden, ist, eine kleine GUI zu erstellen. Das wird also eine Starter-GUI sein, und wir werden das einfach die Screen-GUI nennen. Wir werden ein Textlabel hinzufügen . Und wir werden das einfach ein bisschen größer machen , ungefähr so. Also das ist natürlich nur zu Demonstrationszwecken , oder? Ich meine, in Wirklichkeit möchtest du es wahrscheinlich ein bisschen schöner aussehen lassen , aber es sieht besser aus. Das kannst du jederzeit ändern. Das ist das große Ding. Das Interessante daran ist für mich im Moment die Funktionalität. Also dann nennen wir das einfach, ich meine, vielleicht so etwas wie Null, das wird in Ordnung sein. Wir werden es so viel größer machen. Also das sollte vielleicht so etwas sein. Vielleicht nenne ich es eine 69. Nett. Ja, das ist gut. Und dann ist das so ziemlich alles, oder? Und das können wir in einem Moment ändern. Was wir also tun werden, ist , zu unserem Modulskript zurückzukehren und eine neue Sache hinzuzufügen. Und das wird eine lokale Funktion sein, die nicht einmal von außerhalb aufgerufen wird. Es wird tatsächlich von dieser Funktion genau hier aufgerufen . Das wird die GUI zum Hinzufügen von Spielern sein. Und das wird einfach die Funktion sein. Wir werden einen Treffer und eine Nummer brauchen, okay? Dann holen wir den Spieler her. Wir können den Spieler aufwecken, indem wir dasselbe tun wie hier. Jetzt haben wir also den Player in dieser Funktion. Wir können dann Spieler, Spieler gy, Gy sagen. Das ist eigentlich unsere Bildschirm-GUI. Also wollen wir das in GUI umbenennen. Ja, richtig, also dieser Name muss mit der Checkpoint-Nummer dieses Namenspunkts übereinstimmen. Das werden wir auch umbenennen. Das ist also die Checkpoint-Nummer. Also das Textlabel, wir werden es umbenennen Checkpoint Number Punkt txt ist gleich, und dann machen wir das gleich Stufe und dann plus was auch immer die Zahlen und das wird sein, und das wird unser Text sein. Wir haben immer ihre Bühne geschrieben und dann, was auch immer wir haben. Also lasst uns das auch ändern. Nehmen wir an, das ist jetzt Phase Null. Ich denke, das macht Sinn, oder? Stufe Null. Da hast du es. Und jedes Mal, jedes Mal, wenn wir das erreichen wollen, wollen wir das ändern. Anstatt das auszudrucken, können wir also buchstäblich sagen , Spieler hinzufügen GUI den Treffer weitergibt. Und dann die Zahl, die genau dem Wert der Checkpoint-Nummer für die Spawnposition entspricht. Und das ist alles, was wir tun müssen, um das schon hinzuzufügen. Und das ist wirklich großartig. Denn wenn wir jetzt hier reingehen, können Sie sehen, dass wir im Stadium Null sind. Nun nochmal, wie gesagt, das sieht nicht gut aus. Du kannst natürlich ändern, wie das aussieht, oder? Wir haben, wir haben schon einmal über GUIs gesprochen , wenn wir weitermachen und ich gehe hier hin , warte eine Sekunde. Ich habe ein OOP gemacht, siehe hier, ich habe hier ein Plus gemacht. Das, das sollte Punkt, Punkt sein. Da hast du es. Das ist eigentlich das, was du tun musst. Manchmal macht Lower die Dinge ein bisschen anders als andere Programmiersprachen, aber das ist völlig in Ordnung. Und dann hast du es. Und jetzt haben wir Phase eins und können hier weitermachen. Und du wirst Stufe zwei und Stufe drei finden und so weiter und so fort. Absolut genial. Jetzt hast du also ein Display im Fitnessstudio, aber das ist nicht alles, was wir wollen. Wir wollen natürlich auch eine Bestenliste, um unsere eigenen Statistiken mit den Statistiken anderer Spieler zu vergleichen. Nun zu den Leader-Statistiken, richtig, wir können so ziemlich fast dasselbe Skript kopieren , das wir zuvor erstellt haben. Bei den Server-Skriptservern wollten wir also einfach ein neues Skript erstellen und das nennen wir Leader Stats, Liters Stats. Da hast du es. Und ich werde tatsächlich die vorherigen Skripte kopieren. Dies ist also das Skript aus Teil 16 der Roblox-Grundlagen, in dem wir die Anführerhaltung hinzugefügt haben. Nun, wir wollen keinen Erfahrungswert und wir wollen schon gar keinen Goldwert. Aber was wir wollen, ist, dass wir hier einen Int-Wert wollen. Also benennen wir das um in, nennen wir diese Phase, und das ist der Wert Null, das ist in Ordnung. Und dann war's das wortwörtlich, das ist alles, was wir hier tun müssen. Jetzt müssen wir das natürlich noch ändern, aber das ist okay, das können wir machen. Also im Checkpoint-Skript hier, wenn wir die Spieler-Benutzeroberfläche hinzufügen, können wir eine neue Methode erstellen und diese Änderung einfach später Stats nennen, oder? Ich mache es noch einmal als neue Funktion mit der Hitze und der Zahl. Und dann hast du es. Und was wir dann tun können, ist den Spieler wieder zu bekommen, weil wir den Spieler immer brauchen werden. Und was können wir jetzt tun? Nun, theoretisch können wir einfach unsere Torabnahme einbauen, die wir in den vorherigen Spielen erneut erzielt haben . Und davon können wir Teile nehmen. Also können wir zuerst die Leader-Statistiken abrufen , oder? Liter entsprechen also den Punktführersätzen der Spieler , weil das immer derselbe Name sein wird . Dann können wir Lokalbühne sagen. Stufe entspricht Litern und Liter Stats Doppelpunkt, finde das erste Kind. Ich nenne das die Bühne , weil wir es hier so nennen, oder? Das ist derselbe Name wie dieser, Stage. Und wenn die Bühne dann tatsächlich präsent ist, oh nein, es sind Bühnen anwesend. Dann werden wir tun, dass der Stufenpunktwert der Zahl entspricht , die wir aus dem Aufruf der Change-Leader-Statistik-Funktion erhalten. Und wir können das hier einfach glitzernd nennen. Und wir können die Leader-Statistiken ändern , indem wir den Treffer weitergeben. Und dann das Gleiche hier, der Spawn-Standort , diese Checkpoint-Nummer , dieser Wert und das war's. Das ist buchstäblich alles, was wir tun müssen. Und jetzt haben wir auch eine benutzerdefinierte Bestenliste. Also, wenn wir das noch einmal machen würden, was Sie finden würden, ist, dass wir jetzt die Leader-Sets hier drüben haben. So kann nicht nur ich meine aktuelle Phase sehen, sondern jeder in der Instanz könnte auch meine Phase sehen. Und Sie können sehen, dass beide fast gleichzeitig aktualisiert wurden. Und wir können diese Nummer zwei fortsetzen und so weiter und so fort. Absolut genial. Das ist zu diesem Zeitpunkt also so ziemlich ein fast funktionierender Abi. Jetzt geht es nur noch darum, immer mehr Stufen und immer mehr Dinge hinzuzufügen . Und Sie können sehen, wie jedes einzelne Teil sehr klein und wie ein Ding aussieht. Aber jetzt kannst du hoffentlich sehen , dass du, wenn du bestimmte Dinge kombinierst, wirklich, wirklich cool kreieren kannst. Nun, im Grunde geht es bei Spieleeffekten darum. Ist es für diese Vorlesung hier? Ich hoffe, Sie fanden das nützlich und Sie werden etwas Neues lernen und wir sehen uns alle in der nächsten Vorlesung. Also, ja. 39. (Roblox) Verschwindende Treppen zum Obby hinzufügen: Oder lassen Sie uns hier mit dem RB weitermachen, dem Robotik-Kurs folgen und in dieser Vorlesung lassen wir dem Robotik-Kurs folgen und in dieser Vorlesung lassen wir unsere Treppe verschwinden. Ja. Ich habe also bereits erwähnt , dass, wenn du die Treppe hochgehst, vielleicht passieren sollte, dass jede einzelne Treppe tatsächlich verschwindet, wenn der Spieler sie berührt. Jetzt gibt es ein paar Möglichkeiten, wie wir das tun können. Wir werden unserem Teil nur ein Drehbuch hinzufügen. Und dann fügen wir diese speziellen Skripte all unseren verschiedenen Starparts hinzu. Im Grunde nehmen wir dafür einfach das Plus hier bei einem Drehbuch und nennen dieses Drehbuch die verschwindende Treppe. Nun das Skript, zuallererst, es wird natürlich den Teil selbst haben und das ist nur script dot parent sollte ziemlich selbsterklärend sein, oder? Wir nehmen den übergeordneten Teil des Drehbuchs. Und dann wollten wir auch ein lokales Verschwinden gleich falsch machen . Das ist ein boolescher Wert. Dadurch wird nur sichergestellt , dass unser Touched Event, das wir in nur einem Moment implementieren werden, im Grunde nicht mehrmals pro Sekunde aufgerufen wird. Jetzt wollen wir etwas verwenden, das wir noch nie benutzt haben, und das ist der Tween-Dienst. Das ist also eigentlich ein sehr guter Moment , in dem wir das im Grunde testen können. Und die Idee des Tween-Dienstes besteht darin, reibungslos von einem Wert einer bestimmten Sache zum anderen überzugehen . Wir ändern also im Grunde eine bestimmte Immobilie. In unserem Fall werden wir die Transparenz von Null auf Eins ändern . Und wenn das erledigt ist, ändern wir es wieder auf eins, 1:0. Also, wie wird das aussehen wenn ich das Spiel nur für einen Moment spiele und wir auf den Server hier wechseln. Wir wählen diesen Teil aus. Und dann wäre die Idee, dass die Transparenz, rechts, reibungslos von Null auf Eins übergeht. Und wenn es eins ist, warten wir 6 s und dann geht es zurück auf Null. Nun kann das, wie wir es zuvor gesehen haben, mit einem For-Loop und einem kleinen Weight-Funktionsaufruf gemacht werden einem For-Loop und einem kleinen , und dann änderst du es einfach um, ich weiß nicht, 0,1 oder 0,01 oder wie viel du auch ändern willst, das funktioniert. Dies ist jedoch nicht der optimale Weg. Der optimale Weg wäre, den Tween-Dienst hier zu nutzen . Und das funktioniert so, dass Sie eine doppelte Servicevariable haben. Dies entspricht Game Colon Get Service. Und hier müssen wir die Server angeben. Jetzt können Sie sehen, dass es viele Dienste gibt. Wir haben nicht wirklich ausführlich darüber gesprochen und werden uns nur einige Dienste ansehen. Aber jetzt möchte ich hier Between Surface verwenden. Das ist zwischen dem Gottesdienst und dann wollen wir auch eine Entzündung. Das sind also Tween-Informationen. Das ist eigentlich ziemlich einfach. Ich werde das auch erklären. Das wird also zwischen den Informationen sein. Lass es uns einfach machen. Nenn es so. Ich nenne es mit einem kleinen T, nicht mit einem großen, weil wir sonst die Klasse hier benutzen werden. Wir wollen ein kleines T daraus machen. Und es wird Tween-Informationen zwischen den Informationen geben, diesmal mit einem großen T-Punkt . Und dann können wir hier die Uhrzeit angeben. Die Zeit ist also nur, wie lange es dauern wird , von dem Wert , den Sie gerade sind, die Eigenschaften Kronecker zu dem Wert zu erhalten , den Sie gerade sind, die Eigenschaften , den Sie erreichen möchten. Wir sagen einfach 1 s. Und dann den Lockerungsstil, wir können einfach sagen, dass dies der Enum-Punkt-Lockerungsstil sein wird , wie Sie sehen können, und dann Punkt und dann können Sie sehen, dass es eine Menge verschiedener gibt. Linear ist also am leichtesten zu verstehen. Es ist nur ein linear gezeichnetes Diagramm, oder? Also von einem Punkt zum anderen, dann gibt es auch ein ausgeglichenes, im Grunde genommen ein bisschen zurück. Dies gilt in unserem Fall nicht wirklich, da Sie bei der Transparenz zwar nicht über eins oder Null hinausgehen können. Und dann gibt es noch andere Dinge, oder? Sie können also sehen, dass es Cubic gibt. Im Grunde beginnt es also mit einer niedrigeren Geschwindigkeit und Qualität. Sie können sehen, dass dies durch eine quadratische Interpolation bestimmt wird. Es gibt also eine Reihe von Möglichkeiten, wie Sie das Ein- und Ausziehen im Grunde vereinfachen können . Was ich hier empfehle, ist, dass Sie einfach ein paar davon ausprobieren und sehen können , was sie tun. Auch in diesem speziellen Beispiel ist es nicht die beste Art, es sich anzusehen. Die Transparenz hier zu erhöhen, wird nicht wirklich verrückt sein, aber alles andere könnte in der Tat interessant sein. Also werden wir uns vorerst einfach für linear entscheiden. Wir müssen das nicht zu kompliziert machen . Wie gesagt, du kannst einfach ein paar davon ausprobieren und sehen, was sie machen. Und jetzt wollen wir eigentlich ein neues Tween machen, oder? Also nennen wir diesen Teil einfach. Dadurch wird das Teil eingeschaltet und die Transparenz wird von den tatsächlichen Werten auf Null gesenkt. heißt, Nulltransparenz bedeutet nur , dass es absolut solide ist. Und wir können sehen, dass dies durch den Tween-Dienst geschehen wird. Also unsere Variable hier, Doppelpunkt erstellen, dann wollen wir sagen, welche Instanz. Also, welcher Teil tatsächlich trainiert wird und welcher Teil Teil Teil sein wird , sollte Sinn machen, oder? Also wollen wir den Teil ändern. Jetzt. Wir wollen es zwischen den Informationen bereitstellen. Jetzt haben wir das schon gemacht, das ist perfekt. Und dann wollen wir hier einen Tisch machen. Die Tabelle wird also natürlich nur aus geschweiften Klammern bestehen. Und hier drinnen wollen wir unterscheiden , was wir ändern werden. Wir wollen die Transparenz ändern und sicherstellen, dass wir das richtig schreiben, oder? Also Transparenz und zweitens, was wollen wir daran ändern? In diesem Fall wollen wir dies auf Null ändern. Stellen Sie also sicher, dass das, dieses Wort hier genau dem Namen in den Eigenschaften entspricht, oder? Dieser muss also genau zu diesem passen. Achten Sie also bitte darauf. Wenn es auch nur den winzigen Cyber wie diesen gibt, wird es nicht funktionieren. Wenn Sie sicherstellen , dass das in Ordnung ist, können wir einfach diese Zeile kopieren. Wählen Sie es aus, drücken Sie Control C und Control V, um es wieder einzufügen. Und den anderen Teil rufen wir hier ab. Und in diesem Fall wollen wir, dass die Transparenz gewährleistet ist. Wenn wir also mitbestimmen, was passieren wird, wird es innerhalb von 1 s passieren, ändern Sie die Transparenz. Unabhängig davon, was der tatsächliche Wert ist, Null. Und wenn wir einen Teil dazu beitragen , wird der Wert der Transparenz durch einen durch einen Wert ersetzt, den sie derzeit hat. Also sagen wir, Teil Punkt berührt. Also werden wir das Touched Event verwenden. Wir werden das mit einer Funktion verbinden. Natürlich wollen wir wissen, was passiert und was wir einfach tun werden, ist wir einfach in unseren bewährten alten Server-Skriptdienst gehen unseren bewährten alten Server-Skriptdienst und eigentlich einfach die, diese hier, die if-Anweisung nehmen , weil sie im Grunde überprüft, ob ein Spieler an dieser bestimmten Stelle getroffen hat oder nicht . Und wir werden noch etwas hinzufügen und das verschwindet. Aber wir wollen sagen, dass es nicht verschwindet, oder? Die Idee ist also, dass sich das sofort bewahrheitet, oder? Also werden wir das sofort auf wahr setzen weil wir das im Grunde nicht anrufen wollen , wenn wir den Twin-Service bereits in Betrieb haben. Jetzt können Sie dies auf viele verschiedene Arten tun. Sie können auch überprüfen, ob ein Tween funktioniert. Ich denke, der Boolesche Wert hier ist völlig in Ordnung. Die Idee ist dann, dass wir warten, sagen wir eine Viertelsekunde. Und dann sagen wir Teil des Doppelpunktes. Und das wird nun den Zwischendienst übernehmen die Transparenz von dem, was auch immer es ist, zu einem machen . Und das wird tatsächlich sofort funktionieren. Also, wenn wir hier reingehen und zu den Teilen gehen, dann schauen wir uns einfach an, welche Partner das sind, dieser Teil. Okay, nehmen wir wieder unseren Laden. Lass uns das einfach duplizieren und hier drüben legen, damit wir es etwas einfacher haben , dorthin zu gelangen, deaktivieren wir den Startteil und dann sollten wir in der Lage sein, sofort neben der Treppe zu spawnen. Also wir klein neben der Treppe. Und wenn ich die Treppe berühre, wirst du feststellen , dass sie dort verschwindet. Das ist eigentlich ziemlich cool. Jetzt hast du es. Es besteht also immer noch eine Kollision. Wie Sie sehen können, stehe ich so gut wie da oder so , weil, naja, wir ändern einfach die Transparenz. Aber wir haben die Transparenz geändert, was schon wirklich großartig ist. Sie haben also gesehen, dass, sobald wir die Treppe berührten, richtig, der Twin-Service begann. Also dieser hier, dieser Teil aus und es hat die Transparenz innerhalb von 1 s linear um 0-1 geändert . Was werden wir jetzt tun, wie werden wir das verschwinden lassen? Wir können vielleicht hier drin sagen, naja, das kann kollidieren und dann könnten wir einfach falsch sagen. Das ist nicht ganz richtig. Denn wenn wir das tun, dann, sobald wir anfangen zu spielen, wird die Sache tatsächlich, naja, lassen Sie uns innerhalb einer Viertelsekunde durchfallen , was vielleicht ein bisschen zu schnell ist. Also können wir uns das einfach ansehen und sehen, was das tatsächlich bewirkt. Wenn wir also hier reingehen und versuchen, vorsichtig zu diesem Teil überzugehen, können Sie sehen, dass es jetzt schon so ist, als hätte es keine Kollision mehr gegeben. Das war also sehr, sehr schnell. Ich würde also sagen, dass dies wahrscheinlich nicht der optimale Weg ist , dies zu tun. Was willst du tun, ist zu sagen, hey, wenn der Tween hier fertig ist, oder? Sobald das erledigt ist, wollen wir das Teil ausschalten. Also im Grunde, wenn das Teil komplett weg ist und wir tun könnten, ist , einfach einen Teil abzusagen. Das ist also das Tween, das wir erstellt haben, vervollständige es. Im Grunde kannst du das abgeschlossene Ereignis sehen ein Tween ausgelöst wird, wenn der Zwilling das Spiel beendet hat. Das ist also genau das, was wir wollen, oder? Und das wollen wir hier mit einer neuen Funktion verbinden. Jetzt können wir auch den Staat kriegen. In diesem Fall brauchen wir den Staat nicht wirklich , weil es uns gut gehen wird. Und dann können wir einfach sagen, in diesem Fall ist Teil kann kollidieren gleich falsch. Also das wird in Ordnung sein. Dann warten wir noch einmal, wir 0,25 s. Dann sagen wir, dass Teil beim Doppelpunktspiel ist , wenn sie sagen, dass Verschwinden gleich falsch ist. Und dann können wir entweder sagen, dass ein Teil genau hier kollidieren kann. Nun, ich würde hier nicht wirklich die wahre Berechnung eingeben, da dann das gleiche Problem auftritt wie zuvor. Wo, sobald das sichtbar wird, es, wieder damit kollidieren kann. Nun, das könnte etwas sein, was du willst. Es könnte den Fall geben, oder? Wenn Sie also möchten, dass es sofort mit Hubble kollidiert, nachdem Sie das Teil kaum sehen können, können Sie dies tun. Oder wenn du nur ein Sammelobjekt haben willst das Teil vollständig da ist, dann kannst du sagen, dass Port auf Doppelpunkt abgeschlossen Doppelpunkt die Verbindungsfunktion noch einmal mit einem Status hier drüben verbindet. Und wenn das erledigt ist, kann man sagen, dass Horde kollidieren kann. Die Logik hier sollte ziemlich vernünftig sein, oder? Wir haben nur einen Service oder einen Tween, oder? In diesem Fall, dass es einen Wert von einem zum anderen ändert , hat es seinen Zielwert erreicht. Das abgeschlossene Ereignis wird aufgerufen, und wir verbinden gerade eine weitere Funktion damit. Das ist buchstäblich alles , was wir hier tun. Es ist also eine wirklich, wirklich coole und großartige Sache, die wir machen können. Und wenn wir das jetzt haben, können wir hier reingehen und sehen, ob ich die erste Treppe hier berührt habe. Du kannst es sehen, jetzt bin ich durchgefallen und lass uns einfach wieder da rein gehen. Lassen Sie uns die erste Serie berühren und dann weiter nach oben gehen. Also lass uns einfach gehen. Da hast du es. Und jetzt kannst du sehen, wie es zurückprallt und da ist es wieder und ich kann wieder darauf stehen und dann kann ich es wieder verfolgen. Das ist also wirklich, wirklich cool. Jetzt haben wir dieses Drehbuch zum Verschwinden der Treppe auf einer Treppe. Wie können wir es zu all unseren Treppen hinzufügen? Ich weiß nicht, ob es einen einfachen Weg gibt, das zu tun. Ich habe sie im Grunde nur alle dupliziert. Also im Grunde einfach einen von ihnen auswählen , Control D vergleichen und sie dann einfach, naja, im Grunde verschieben Sie sie zu den anderen Teilen. Nun, wenn es einen einfacheren Weg gibt, das zu tun, dann freue ich mich, mich darüber aufzuklären. Ich habe noch keinen einfacheren Weg gefunden, Teile zu duplizieren und sie einfach verschiedenen Eltern zuzuweisen. Aber sieh uns an, im Grunde sind wir schon fertig. Es hat also nicht so lange gedauert. Das sollte also ziemlich okay sein. Und dann schließen wir einfach die Ports, wenn Sie das zukunftssicher machen möchten . Sie können auch ein Modulskript mit dieser Änderung bei about erstellen und das stattdessen verwenden und dann die Ports einfach mit dem Modulskript verbinden lassen, was natürlich machbar ist. Aber in unserem Fall denke ich, dass das in Ordnung sein wird. Und lass uns einfach sehen, wie das aussehen wird, denn das wird wirklich, wirklich verdammt großartig aussehen . Also wenn wir jetzt die Treppe hochgehen und du siehst , wie dort jetzt alles verschwindet und wieder auftaucht. Das ist absolut genial. Und der andere Weg funktioniert auch. Das ist echt cool. Nun, wieder, wieder einmal, die Treppe ist vielleicht nicht der beste Weg, um zu modellieren, oder? Vielleicht könnte die Treppe ein bisschen größer sein, ein bisschen breiter, solche Dinge. Sie können es jederzeit ändern, da die Funktionalität jetzt da ist. Richtig? Jetzt hast du einen der Teile mit dem Drehbuch. Und wenn du die Treppe erneuern willst, absolut keine Worte. Sie können alle anderen Treppen löschen. Sie können die Modellierung ändern, wie sie funktioniert. Und da hast du es. Eine letzte Sache, ich habe das schon einmal gezeigt, aber den Tween-Dienst hier drüben, ich empfehle Ihnen auf jeden Fall , sich das anzusehen, weil es ein sehr wichtiger Teil ist , um viele Dinge in Straßensperren zu tun , die im Grunde einfach cool aussehen. Und das werden wir auch in der nächsten Vorlesung verwenden. Ich empfehle daher dringend, sich die Dokumentation hier anzusehen . Sie können das auch tun, indem Sie einfach auf die Zwischenfläche hier drüben gehen, glaube ich, und dann anzeigen. Es könnte trotzdem eine sehr interessante Sache sein, sich das anzusehen. Das war's für diese Vorlesung hier. Ich hoffe, Sie fanden das nützlich und Sie werden etwas Neues lernen und wir sehen uns alle in der nächsten Vorlesung. Also, ja. 40. (Roblox) Hinzufügen von bewegten Teilen zum Obby: Lass uns hier mit dem RB weitermachen, dem Robotik-Kurs folgen und in dieser Vorlesung werden wir anfangen, unsere Killed Bricks zu bewegen, oder? Deshalb habe ich schon eine Weile über das Verschieben der Kill-Bricks geärgert und darüber gesprochen . Und die Idee ist, dass wir ein Drehbuch machen wollen , das die Rotation der Kill-Bricks ändert, etwa so, oder? Und wir haben bereits in der vorherigen Vorlesung gesehen, dass wir den Tweening-Dienst für die Treppe gesehen haben, oder? Dadurch wurde die Transparenz der Treppe auf 0-1 oder 1-0 erhöht. Und jetzt wollen wir dasselbe für unsere zerstörten Steine hier drüben machen, nur mit der Rotation. Also dafür in den Kill Bricks, richtig, wir können einfach das Kill-Skript verlassen. Das können wir im Grunde einfach dort belassen. Und was wir tun wollen, ist, dass wir nur ein weiteres Drehbuch hinzufügen wollten und das wird unser rotierendes Drehbuch hier sein. Das ist perfekt. Und jetzt bekommt das die Nummer eins, einen Teil, oder? Das wird unser Part sein, Script Dot Parent. Und dann gehen wir wieder zwischen den Gottesdiensten. Das ist also zwischen Service gleich, wir haben diesen Doppelpunkt des Spiels gesehen, der Service bekommt und dann die Tween-Dienstzeichenfolge hier drüben eingefügt. Jetzt wollen wir auch Informationen. Das könnte also so etwas wie die rotierende Information sein , die rotierenden Informationen. Da hast du es. Und das wird gleich sein , dass Tween und Foot neu sind. Und dann wollen wir hier wieder die Zeit haben. Also sagen wir vorerst einfach eins. Enum, dieser lockernde Stil , vorerst auch dieser lineare. Ich kann es hier nur empfehlen, Sie können sich auf jeden Fall verschiedene Lockerungsstile ansehen und das werden wir gleich tun. Sobald alles funktioniert, ist die Frage, okay, wie können wir das drehen? Nun, das ist etwas komplizierter als das, was Sie zuvor gesehen haben, weil ein bisschen mehr Mathematik erforderlich ist. Aber sagen wir einfach, wir werden das drehen, oder? Das wird also nicht unser Tween sein. Es wird also ein Tween-Dienst-Dolon erstellt. Und das wird bei dem Teil natürlich funktionieren, was Sinn machen sollte. Wir werden die rotierenden Informationen hinzufügen. Und dann wollen wir hier hinzufügen, was sich als Tabelle ändert. Was sich nun für den Kill-Brick ändern wird , wird der C-Frame sein, oder? Und was sich für den C-Rahmen ändern wird , ist insbesondere die Ausrichtung. Wie kann ich damit die Ausrichtung des C-Rahmens ändern ? Nun, zunächst sagen wir einfach C-Frame. Und dann wird es den tatsächlichen C-Frames entsprechen. Das wird Teil C-Rahmen sein. Also setzen wir ihn auf denselben Port und multiplizieren ihn dann mit den Punktwinkeln des C-Rahmens. Und die Idee hier ist , dass dies aus den Euler-Winkeln XYZ entspricht . Angles gibt Ihnen also im Grunde einen neuen C-Rahmen aus Strahlungszahlen zurück . Also das könnte ein bisschen sein, oh, das ist verrückt. Im Allgemeinen. Rotationen im 3D-Raum sind eigentlich ziemlich kompliziert. Du könntest sagen, naja, ich meine, es sind nur drei Zahlen hier drüben. Nun, ganz so einfach ist es nicht. Drei Zahlen können für Orientierung und Drehung eigentlich nicht ganz ausreichen . Deshalb machen sie manchmal seltsame Dinge, wenn man diese Zahlen ändert , oder? Also vielleicht hast du diese Auswahl -90 geändert und plötzlich ändert sich diese Änderung auf -90, wie der Y-Wert, tatsächlich auf 70 und du denkst, nun, wie ist das passiert? Nun, insgesamt wollen wir hier in den Winkeln mathematische Punktradianten sagen. Also wollen wir den Radiant hier reinlegen, 45. Und dann wollen wir sagen, Klammern schließen Null, Komma, Null. Ich werde hier einfach rauszoomen und Sie können den C-Rahmen sehen. Der tatsächliche Wert sollte der aktuelle Wert multipliziert dem Winkel des mathematischen Radians von 45 s sein. Was heißt das? Nun, wir werden uns das gleich ansehen. Was wir einfach tun werden, ist einfach Spin Colon Play zu sagen. Und das ist alles, was wir jetzt tun werden. Also werden wir es einfach so belassen, oder? Also sagen wir einfach, hey, dreh dich einfach um und dann werden wir sehen, wir fangen hier an und verschieben es einfach hierher. Wir sollten sehen können, wie unser erster Kill Brick Wall etwas tut. Und du wirst sehen, was es macht, oder? Also machen wir das hier und du kannst sehen, dass es sich tatsächlich dreht, aber es dreht sich um die falsche Achse oder es hat sich um die eigene Achse gedreht. Also es tatsächlich um diese Achse zu drehen, was in diesem Fall eigentlich nicht richtig ist. Also wollen wir die Mathematik dort ändern. Wir wollten also eigentlich um die blaue Achse rotieren , die eigentlich Z ist. Also wollen wir diese beiden hier ändern , das macht überhaupt keine Sorgen. Du kannst also im Grunde auschecken, oder wenn du denkst, warte, woher weißt du, dass wir uns um diese Achse drehen wollen? Plötzlich können Sie sehen, dass, wenn ich das Blau hier ändere, richtig, wir zum gewünschten Ergebnis kommen. Und blau hier oben rechts ist z. Das bedeutet , dass wir das letzte ändern müssen , weil es x, y, z ist. Hoffentlich ist das irgendwie verständlich. Jetzt, wo wir das ändern, richtig und wir gehen hier rein, sollten wir nun in der Lage sein, zu sehen sich das langsam dreht und los geht's. Also eigentlich haben wir das nicht einmal verstanden, aber es hat es in diese Richtung herumgeschrieben. Und wenn wir zum Server gehen und diesen auswählen, können wir anhand der Ausrichtung tatsächlich sehen, dass sich dadurch der Wert hier ändert, 245. Das ist also buchstäblich so ziemlich alles, oder? Also heißt es im Grunde nur, Hey, wir wollen dieses spezielle Ding auf 45 ändern. Und wenn wir zu fünf, z. B. 5 s, gehen , dann wird es ein bisschen länger dauern und dann können wir auch sehen, wie es sich bewegt. Du kannst es also sehen, jetzt bewegt es sich. Und jetzt haben wir den 45-Grad-Winkel erreicht, und das ist alles, was es tut. Die Idee hier ist also , dass es buchstäblich nur den Blickwinkel zu dem ändert, was Sie hier eingeben. Das meiste von diesem Zeug ist so etwas wie diese Berechnung. Nun ist es interessant , einen Blick darauf zu werfen. Und wenn Sie wirklich daran interessiert sind, empfehle ich dringend, sich die C-Frame-API-Referenzen anzusehen. tun sie, sie sind ziemlich wichtig, sie sind ziemlich interessant. Es ist jedoch eine Menge Mathematik erforderlich. Das ist die Sache, die Sie beachten können. Jetzt dreht es sich also um 0-45. Und was ist, wenn wir jetzt wollen, dass es wieder zurückdreht? Nun, mach dir überhaupt keine Sorgen. Wir machen nur eine zweite Runde. Also sagen wir einfach , das ist Dreh einen Dreh, das wird in Ordnung sein. Und dieser geht auf -45. Also gehen wir zuerst zu 45 und dann gehen wir zurück zu -45. Also, jetzt sollte man Spin spielen, und das ist das absolut Geniale. Was wir nun tun wollen, ist, wenn das erledigt ist, wir sagen, abgeschlossen. Also nutzen wir noch einmal das abgeschlossene Event. Wir wollen eine neue Funktion verbinden und sagen einfach Funktion. Und in derselben Zeile werden wir einfach Spin bis Doppelpunkt sagen Spin bis Doppelpunkt und dann werden wir es einfach in derselben Zeile beenden. Der Abstand dazu ist auch nicht ganz richtig. Da hast du es, richtig. Jetzt, noch verrückter, wir werden das einfach auch kopieren. Ich sage eins, Spin zwei ist abgeschlossen, wir werden jetzt einfach Spin eins platzieren. Dadurch wird es jetzt so , dass es von vier, 0-45 auf -45 und ewig hin und her geht . Wenn wir das nur spielen, wirst du das sehen können. Zuallererst geht es auf 45 und sobald es diesen Bam erreicht hat, geht es zurück und jetzt geht es auf -45, minus 45. Und wenn es das erreicht hat, geht es wieder auf 45 zurück. Absolut spektakulär. Und ich liebe das absolut und bin hier, oder es kommt rein, ist der andere Lockerungsstil. Also ändern wir vielleicht die Zeit hier auf drei. Und jetzt hier, wenn wir so etwas wie eine exponentielle bekommen , oder? Dadurch wird der Widerstand sehr schnell reduziert , wenn sich zwischendurch ein Ziel nähert. Das könnte interessant sein. Schauen wir uns diesen an. Das wird verrückt aussehen, oder? Wenn wir uns das also ansehen würden, sieht es plötzlich ganz anders aus. Dies ist jedoch auch ein wirklich cooler Effekt, wie Sie sehen können. Und das ist es, was ich meine. Sei offen für Experimente mit Dingen wie dem Lockerungsstil, denn das sieht wirklich cool aus und kann deinen zweijährigen Elementen im Grunde etwas Unvorhersehbarkeit verleihen etwas Unvorhersehbarkeit , oder? Also können wir das machen. Wir können auch sagen, vielleicht wollen wir sagen, wir wollen eine Sinuswelle sehen. Klar, warum nicht? Schauen wir uns das Schild an. Wie wird das aussehen? Nun, lass uns einfach sehen, richtig. Das wird also ungefähr so aussehen. Es ist also anders. Auch hier ist es nicht linear. Es ist eine Sinuswelle, oder? Also wird es langsamer, es beschleunigt sich ein bisschen. Wir können uns auch einen anderen ansehen , der irgendwie interessant ist. Ist der, ist es der Rücken? Ja, dieser, der ist eigentlich auch ziemlich cool, weil er tatsächlich ein bisschen überschießt. Wir werden also sehen, dass es tatsächlich etwas über 45 Grad hinausgeht . Und dann hat es sich irgendwie erholt, wie Sie sehen können. Also überschießt es ein bisschen und geht dann zurück und dann kommt es immer wieder zurück. Es ist wirklich großartig. Ich kann das nicht genug betonen. Spielen Sie einfach ein bisschen mit dem Lockerungsstil hier drüben herum und Sie werden erstaunt sein, was Sie tun können. Jetzt, wo wir das rotierende Skript fertig haben. Nun, wir können uns einfach alle unsere zerstörten Steine hier ansehen. Stellen wir einfach sicher, dass wir alle richtigen haben. Es sind also alle darüber liegenden. Ordnung, und dann nehmen wir einfach das rotierende Drehbuch und fügen es einfach zu allen hinzu. Da hast du es. Drehbuch notieren, rotierendes Drehbuch, rotierendes Skript N. Eigentlich noch eins, und wir brauchen noch eins. Da hast du es. Da hast du es. Noch einmal. Alles wird rotieren. Jetzt. Um fair zu sein, sie werden sich alle mit der gleichen Geschwindigkeit drehen und nun ja, im Grunde genommen im Gleichklang. Was Sie jetzt tun können, ist, die ursprüngliche Drehung einiger von ihnen zu ändern , oder? Damit die Rotation nicht synchron ist oder das funktioniert. Also können wir mit so jemandem auskommen. Und dann machen wir vielleicht aus diesem Typen so etwas. Und ich werde hier weitermachen. Vielleicht hat dieser Typ eine absolut verrückte Sache. Vielleicht steht dieser Typ tatsächlich oben und dann ist dieser Typ schon 45 Jahre alt. Schauen wir uns also einfach an, was das alles macht wenn sie sich alle gleichzeitig bewegen, oder? Schauen wir uns das an. Und du kannst jetzt sehen, wie sich alle bewegen, aber sie bewegen sich alle gleichzeitig. Es sieht sehr cool aus, oder? Ich gebe dir, sie, sie sehen ziemlich cool aus und du kannst sehen, dass das, was 45 Grad sind , sich tatsächlich für jeden von ihnen ändert, oder? Weil der C-Frame in diesem Fall eine Art lokales Recht ist . Also ändern wir es im Grunde einfach auf 45 Grad. Aber was 45 Grad sind, ändert sich, was tatsächlich einen sehr, sehr coolen Effekt hat. Jetzt gibt es noch eine winzige Sache, die ich hinzufügen möchte, und das wird die Folgende sein. Also lasst uns einfach die obere rotierende Schriftstelle öffnen , damit wir die richtige haben. Und wir werden das hier einfach zu einer lokalen Tween-Time machen . Das wird, sagen wir, gleich eins sein und wir werden es einfach hier ändern , sodass wir die Tween-Zeit ändern können , für jeden unserer erledigten Steine rotierende Kill-Bricks hier drüben. Und die Idee hier ist, dass wir das tatsächlich über neue Int-Werte tun werden. Also fügen wir hier einfach einen Int-Wert zum Kill-Brick hinzu. Und das wird das Doppelte Mal sein, oder? Dann sagen wir Port Dot, Twin Time, Dot Value. Da hast du es. Und jetzt bekommen wir die Zeit von hier. Nennen wir diese beiden. Und dann können wir einfach die alten rotierenden Skripte löschen. Das ist also wieder eines der Dinge, bei denen ein Modulskript vielleicht irgendwie gut wäre, aber es ist nicht unbedingt notwendig. Und ich werde das einfach duplizieren und es all unseren rotierenden Killed Bricks hinzufügen . Und dann ist es auch sinnvoll, sie möglicherweise in die rotierenden Kill Bricks umzubenennen die rotierenden Kill Bricks umzubenennen nur damit wir wissen, was das sind, oder? Das werden also die rotierenden oder sagen wir, Riot Killed Bricks sein, das wird in Ordnung sein. Das sollte hoffentlich reichen, damit wir sagen, okay, das werden die rotierenden sein. Da hast du es. Das ist auch einer. Und dann auch dieser. Und da haben wir es. Und jetzt können wir das tatsächlich ändern. Nehmen wir an, wir möchten dies auf sechs ändern und wir möchten dies auf eins ändern, und wir möchten dies auf drei ändern. Und das sollten auch drei sein, sagen wir. Jetzt werden sie alle völlig aus dem Takt geraten, weil einige von ihnen schneller sein werden, andere werden langsamer sein. Und hier kannst du natürlich auch die Lockerungsstile ändern und siehst jetzt gibt es alle möglichen einfach ihr eigenes Ding zu machen. Im Grunde. Es ist ihnen nicht einmal wichtig. Und es wird viel interessanter sein , das zu umgehen, ich meine, das wird interessant sein. Bitteschön, aber ich habe es getan. Es ist einfach genial, oder? Ihr könnt also jetzt so viele Dinge tun, die Lockerungszelle einiger von ihnen ändern, theoretisch könnt ihr, ihr würdet auch die Lockerungszelle an einem bestimmten Punkt ändern, während das passiert, ihr wechselt theoretisch könnt ihr, ihr würdet auch die Lockerungszelle an einem bestimmten Punkt ändern , während das passiert, zwischen den Zeiten. Es gibt eine Menge Dinge, die du tun könntest. Diese Ideen. Ich hoffe, dass ich dich im Grunde dazu inspiriert damit herumzuspielen , denn das ist das Wichtigste. Denn am meisten wirst du lernen, wenn du denkst, warte, wie kann ich das oder das oder das machen? Und ja, normalerweise schaffst du das. Es läuft einfach darauf hinaus, es auszuprobieren und zu sehen, was Sie tun können. Aber das ist im Grunde die Bewegung für unsere geschlagenen Steine hier drüben. Und das fasst ziemlich genau die allgemeine Sache zusammen, die ich mit dem RB machen wollte. Wir werden noch eine Vorlesung haben, in der ich über ein paar Dinge gesprochen habe , die Sie vielleicht hinzufügen können. Aber unabhängig davon wird das vorerst alles für diese Vorlesung hier sein. Ich werde ehrlich und nützlich sein und du wirst etwas Neues lernen. Und ich sehe euch alle in der nächsten Vorlesung. Also, ja. 41. (Roblox) Zusätzliche Ideen für den Obby: Ordnung, willkommen zurück in der RB hier für den Row-Box-Kurs. Und in dieser Vorlesung möchte ich nur kurz über ein paar Dinge sprechen, die Sie möglicherweise in Ihr OB einbauen wenn Sie es weiterentwickeln. In unserem Beispiel hier haben wir natürlich nur fünf Stufen und es wird gespielt, während du es sehr, sehr schnell spielen kannst, oder? Aber die Idee der Armee war, ein Beispiel dafür zu sein , wozu Sie in der Lage sind. Bestimmte Dinge, auf die du näher eingehen könntest, wären etwa die Quadratwurzel des Lochs in der Mitte zu nehmen , oder? Vielleicht machen wir sie ein bisschen größer. Und dann kannst du sie so aufstellen, richtig. Also kannst du sie so aufstellen, dass du eine Zigarette bekommst, einen Korridor. Der Korridor bewegt sich mit einem Tween-Dienst. Das könnte also wirklich, wirklich cool aussehen, oder? Und vielleicht könnte es sogar eine Regenbogensache sein. Das wäre vielleicht keine schwierige Phase, aber es geht nicht immer darum, Probleme mit dem Status zu haben. Es geht auch darum, einfach lustige Etappen zu haben und sie cool aussehen zu lassen, oder? Denn ehrlich gesagt, weißt du, der Look für ein RB ist , ich würde sagen, irgendwo zwischen etwa 30 und 60% von dem, was das Coole daran ist, oder? Und wenn es viele Stufen hat, gehst du einfach weiter und fügst verschiedene Stufen hinzu , die immer noch ähnlich sind. Sie können also theoretisch mehr Formen hinzufügen, Sie könnten die Formen hinzufügen und sie auf eine andere Weise neigen lassen. Ich habe es anders geschrieben. Du kannst mehr Treppen hinzufügen, oder? Sie können Treppen hinzufügen , die sich vielleicht von rechts nach links trennen , oder so ähnlich. Sie können bestimmte Teile hinzufügen, bei denen Sie rechts oder links, rechts wählen müssen Also ähnlich wie bei diesem, aber einer davon ist tatsächlich, seine Fehler zu berechnen. Also wirst du das durchstehen , solche Dinge. Es gibt viele Möglichkeiten, wie du das angehen und es wirklich großartig machen kannst . Und ich möchte nur, dass du experimentierst, wenn du wirklich daran interessiert bist , damit weiterzumachen . Ich denke, wenn du einfach mit irgendwelchen Ideen experimentierst , die du vielleicht hast , kannst du dir natürlich auch andere Abbys ansehen, sehen, was sie haben und dann vielleicht sagen, Okay, wie kann ich das umsetzen? Das ist eine großartige Möglichkeit immer mehr Roadblocks-Scripting zu lernen. Abgesehen davon sind wir damit fertig. Jetzt werden wir uns wieder mit diesem speziellen RB befassen, denn im Rest des Kurses werden wir uns tatsächlich einigen weiteren Zwischenthemen befassen. Und die meisten von ihnen möchte ich dir in diesem Fall im Grunde genommen von innen zeigen . Und das hilft dir hoffentlich auch dabei, dein eigenes Roblox-Spiel zu erstellen. Es gibt auch einige Ideen für zukünftige Ergänzungen, wie wir das verbessern können, wie Sie Ihr Hobby in diesem Fall weiter verbessern können. Und was ich meine, das wäre es für diese Vorlesung in diesem Abschnitt des Kurses. Ich hoffe, Sie fanden das nützlich. Und wenn Sie das bis jetzt getan haben, würde ich mich über eine Bewertung von Ihnen sehr freuen. Ansonsten sehe ich dich in der nächsten Vorlesung. Also, ja. 42. (Roblox) Veröffentlichen deines Spiels: Ordnung, willkommen zurück zu den Zwischenthemen hier folgen Sie dem Roblox-Kurs und in dieser kurzen Vorlesung werde ich Ihnen zeigen, wie Sie Ihr RB oder ein beliebiges Spiel wirklich auf Roblox selbst veröffentlichen können . Um das zu tun, wollen wir einfach zu Datei gehen und dann werden Sie sehen , dass Sie hier eine auf Roblox veröffentlicht haben . Jetzt wählen wir das, was auf Roblox veröffentlicht wurde da sich dann im Grunde ein neues Fenster hier öffnet. Dies sind einige der Dinge , die bereits veröffentlicht wurden. In diesem Fall sind nicht alle privat, aber ich kann ein neues Spiel erstellen, und dadurch entsteht im Grunde ein völlig neues Spiel. Jetzt nennen wir das einfach unser Beispiel, OBE z.B. so jemand, nichts allzu Verrücktes. Ich bin der Autor hier. In diesem Fall können Sie sogar das Genre ändern. Jetzt kannst du es überhaupt behalten. Oder du kannst sagen, das ist eine Art mittelalterliches Thema oder B, so etwas. Es ist in Ordnung. Wir werden es einfach überhaupt behalten. Nun, normalerweise die Geräte, wir haben das nur für den Computer wirklich getestet . Wenn Sie also unbedingt gerettet werden möchten, können Sie das Telefon und das Tablet ausschalten, denn, nun, wir wissen definitiv, dass es auf dem Computer funktionieren wird. Sie können diese jedoch auch eingeschaltet lassen, aber stellen Sie sicher, dass Sie auch Ihr Spiel testen ob sie auf dem Telefon und der Oberseite einwandfrei funktionieren Wenn Sie möchten, können Sie hier eine Beschreibung hinzufügen. Andernfalls können Sie einfach auf Erstellen klicken und dadurch wird der RBA auf Roadblock hochgeladen. Sie können also sehen, dass wir unsere Wohnung bereits beladen. Hab einfach Geduld dafür. Und dann hast du es. Jetzt haben wir die Datei hier drüben mit einer kleinen Wolke, und das bedeutet, dass wir jetzt auf dem Server sind. Navigiere jetzt einfach zu erstellen, dass es sich Roadblocks um Com-Slash-Kreationen handelt. Und ich werde das einfach neu laden und Sie werden unser Beispiel finden, wenn auch direkt hier unten, als eine neue Erfahrung, die geschaffen wurde. Das ist echt cool. Und du siehst, das ist nicht das Richtige. Wenn ich in Studio bearbeite, wird Roblox Studio tatsächlich für uns geöffnet. Das würde also tatsächlich ein neues Fenster öffnen. Im Moment können Sie also sehen, dass Roblox Studio wieder geöffnet wird. In unserem Fall haben wir das tatsächlich schon offen. Also wird es so sein, oh mein Gott, wir haben schon geöffnet. Da hast du es also. Wir werden das einfach schließen. Und jetzt haben wir es auch hier geöffnet. Das ist also wirklich, wirklich großartig, aber das ist nicht alles. Also kannst du natürlich hier reingehen. Lass uns einfach reingehen. Wir können diese Dinge auch ändern , damit Sie sehen, dass wir es veröffentlichen können, wir können alles abschalten. Wir können Abzeichen erstellen. Es gibt verschiedene Statistiken, die Sie sich ansehen können. Sie können sogar das Ende der Lokalisierungen konfigurieren. Also können wir das zunächst in einem neuen Tab öffnen. Das wird also unsere Schöpfung hier drüben sein. Wie Sie sehen können, ist dies nur die Übersicht. Es gibt noch andere Grundeinstellungen, sodass Sie den Namen ändern können , wenn Sie möchten . Sie können ihn privat machen. Das ist auch eine sehr wichtige Sache. Ermöglicht also den Zugriff auf API-Dienste. Darauf werden wir gleich zurückkommen. Ich empfehle Ihnen dringend, dies bereits einzuschalten und die Änderungen einfach zu speichern. Wir werden das jedoch noch einmal durchgehen. Dies ist für bestimmte APIs erforderlich, z. B. für die Datenspeicher-API die wir uns in Kürze ansehen werden. Es gibt Orte. Also im Moment gibt es nur einen Ort, oder? In diesem Fall ist es also nur dieser RB. Und normalerweise hat man für eine Abtei nur einen Ort, aber man hat mehrere Orte, die über bestimmte Teleportationspads oder bestimmte Gateways oder was auch immer Sie im Grunde wollen miteinander verbunden sind bestimmte Teleportationspads oder bestimmte Gateways oder . Und das werden wir auch in den Zwischenschritten hier sehen . Es gibt noch andere Elemente, mit denen Sie Badges erstellen können, dass Sie Pässe erstellen können, und Sie können sogar Entwicklerprodukte erstellen die in diesem Kurs nicht eingegangen wird. Aber es gibt immer noch eine interessante Sache. Es gibt verschiedene Zugriffsarten. Die Zugriffsarten hier wären also, ob für die Einrichtung eines privaten Servers eine Zahlung erforderlich ist oder nicht. Man kann also sagen, benötigt X Robotik, solche Dinge. Es gibt also eine sehr coole Sache, die du machen kannst. Es gibt einen Fragebogen , der derzeit nicht in Frage kam. Es gibt eine Lokalisierung, also würde das tatsächlich bestimmte Dinge übersetzen. Das ist absolut verrückt. Wir haben uns nicht mit der Lokalisierung des Dienstes befasst, aber es ist wirklich cool , dass es das gibt. Wir können auch einige soziale Links hinzufügen. Das wären also nur soziale Plattformen hier drüben. Wir können ein paar Updates bekommen. Dies ist also eine großartige Möglichkeit , den Benutzer zu benachrichtigen. Im Grunde ist, weißt du, etwas passiert. Es gibt Benachrichtigungen. Wir können also Benachrichtigungsketten erstellen und dann Werbung und Sponsoring in einem anderen Fenster angezeigt. Und am Ende gibt es hier Entwicklerstatistiken im Grunde sagen, wie viele Leute auf welcher Plattform spielen? Was sind die historischen Daten? Es gibt eine Menge Dinge hier, was wirklich, wirklich großartig ist. Aber wenn wir hier zu der Erfahrung zurückkehren, können Sie sie auf Roblox ansehen. Und was passieren wird, ist, dass Sie wahrscheinlich, wie Sie es schon mehrfach gesehen haben, dieses bestimmte Fenster sehen . Und was wirklich cool ist, ist, dass du hier noch einmal zu Edit gehen kannst hier noch einmal zu Edit gehen und es dann wieder in Roblox Studio öffnen wird . Das werden wir jetzt eigentlich nicht wollen, oder. Es gibt also eine Menge Dinge, richtig, diesen Ort konfiguriert, sodass wir tatsächlich konfigurieren können , dass dies die alte Version ist. Wenn wir zur neuen Version zurückkehren, können Sie hier sehen, dass wir jetzt auch das Symbol und so ändern können. Es gab also eine große Sache , die ich mir ansehen wollte und die Art und Weise, wie du das durch die Kreationen hinbekommst ansehen wollte und die Art und Weise, wie du das durch die Kreationen hinbekommst , oder? Also, wenn wir in diesem Erstellungsbildschirm sind, gehst du zu deiner Abby, dann gehst du zu Orten und dann klickst du auf den Ort und dann kannst du die Details ändern, oder? Sie können das Symbol also gleich hier ändern. Sie können entweder das automatisierte Bild erstellen oder dies sogar ändern. Sie können das Vorschaubild ändern. Also das Vorschaubild wäre natürlich dieses Ding hier, oder? Man kann tatsächlich auf Straßensperren sehen. Also, wenn Sie Roboter verwenden, dieses große Ding genau hier, und dann gibt es Zugriff darauf. Wie viele Besucher sind verfügbar? Normalerweise möchten Sie, dass sie alle wie die Serviceeinstellungen sind. Ihr alle wollt einen für Roblox optimierten Versionsverlauf. Also, welche Versionen wurden implementiert? Und dann zum Schluss noch ein paar Genehmigungen. Im Moment sind die meisten davon nicht wichtig. Ich schlage vor, dass Sie den größten Teil dieser Ausfallrate beibehalten. Wenn wir jetzt also auf Play klicken, richtig, es wird nicht wirklich geöffnet. Roblox Studio wird Roblox tatsächlich selbst öffnen. Also los geht's, unser Beispiel-OB, indem wir Joel zählen und wir schließen uns jetzt an, und da sind wir. Jetzt sind wir im Spiel und das sind eigentlich Straßensperren. Das ist nicht Roblox Studio. Und wenn wir hier weitermachen und hierher gehen, bam, Stufe eins, das funktioniert. Wir können immer noch hier sterben. Und das ist so ziemlich alles, was dazu gehört. Ich meine, das ist wirklich gut. Es funktioniert also auf jeden Fall. Ich empfehle dringend, häufig zu testen. Sehen wir uns die Treppe an. Sie würden auch verschwinden und auch herunterfallen. Das war nicht ganz das, was ich mir vorgestellt hatte. Bitte entschuldigen Sie die Tatsache , dass es keine Lautstärke gab. Ich habe das ausgeschaltet, aber da hast du es. Also jetzt hast du die Sägen hier drüben, die sich drehen, oder? Da hast du es. Oh, das ist verrückt. Dieser ist ein Dieser ist verrückt . Der ist eigentlich gut. Das gefällt mir. Und dann haben wir unsere Formen und los geht's. Also jetzt haben wir das Spiel tatsächlich hier drüben. Jetzt ist es natürlich noch ein bisschen leer, aber dies ist der Beginn der Spieleentwicklung und jetzt ist es veröffentlicht, ist noch nicht öffentlich, ist noch nicht öffentlich, aber Sie können sich natürlich entscheiden, ob Sie es veröffentlichen möchten oder nicht. Sobald wir damit fertig sind, können wir zurückkehren. Noch einmal. Das Wichtigste sind die Kreationen. Und dort kannst du im Grunde auf all deine Kreationen zugreifen. Sie können also zu Ihrem Beispiel oder B gehen und alles ändern , was Sie möchten. Der Grund, warum es so wichtig ist, dass wir dies veröffentlicht haben, ist, dass wir tatsächlich verlangen, dass unser Platz veröffentlicht wird, bevor wir ihn nutzen können. Nun, all die Dinge , über die wir in den kommenden Vorlesungen sprechen werden. Aber das wird im Grunde alles für diese Vorlesung hier sein . Ich hoffe, Sie fanden das nützlich und Sie haben das Neue gelernt, und wir sehen uns alle in der nächsten Vorlesung. Also, ja. 43. (Roblox) Füge Bilder zu deiner GUI hinzu: Ordnung, willkommen zurück zu den Zwischenthemen hier, Kurs über weitere Hindernisse. Und in dieser kurzen Vorlesung werden wir uns ansehen, wie Sie Ihrer GUI ein Bild hinzufügen können . Der Grund, warum wir das nicht geschafft haben als wir uns das erste Mal mit GUIs befasst haben, ist, dass Bilder eigentlich das sein müssen , was sie von Ihrem Ort verlangen, um veröffentlicht zu werden, oder? Also, wenn ich hier ein Bild hinzufüge, richtig, also fügen wir ein Bildlabel hinzu, wie Sie jetzt sehen können, haben wir hier ein Bild. Fügen wir das einfach innerhalb der Größe hier hinzu. Das wird völlig in Ordnung sein. Das wird sich ändern. Jetzt. Um das rechts zu ändern, klickst du auf das Bild und dann gehst du einfach runter zum Bild hier. Und Sie können sehen, wir können jetzt ein Bild hinzufügen. Um nun ein Bild hinzuzufügen, wählen wir einfach eine Datei aus. Ich habe hier einen Daumen-hoch-Button vorbereitet. Ich denke, das wird völlig in Ordnung sein. Wir nennen es einen Daumen hoch und wir werden erstellen, wodurch der Daumen-hoch-Button tatsächlich auf Roblox selbst hochgeladen wird. Sie können also sehen, dass net jetzt eine Roadblocks-ID hat, und diese ID ist tatsächlich wichtig und wird jetzt verfügbar sein. Machen wir das ein bisschen netter. Vielleicht sollten wir das tatsächlich ein bisschen kleiner machen , eine gerade Zahl wie diese. Und dann machen wir das. Da hast du es. Also jetzt haben wir das. Lassen Sie uns auch die Grenze entfernen , weil ich eigentlich keine Grenze haben möchte. Nein, ich möchte hier keine Nullgrenze haben. Da hast du es. Also jetzt bekommen wir hier neben deiner Bühne einen Daumen hoch . Im Moment machen wir nichts damit, aber es ist ziemlich cool, oder? So ungefähr können Sie das Bild hinzufügen. Wenn wir jetzt speichern, können Sie sehen, dass wir uns jetzt ändern, wir haben diese Änderungen jetzt in Roblox gespeichert, oder? Wenn wir also zu unseren Kreationen zurückkehren und zu unserem Beispiel gehen würden , ich an den Stellen enden, anstatt an einer Stelle in der Versionsgeschichte. Sie können sehen, dass wir gerade die neueste Version veröffentlicht haben, weil sie sicher ist. Und wenn wir das jetzt veröffentlichen würden, wir es noch einmal auf Roblox veröffentlichen und dann wird es auch tatsächlich veröffentlicht. Jetzt veröffentlichen wir die Änderungen. Es gibt zwei verschiedene Operationen, oder? Wenn Sie jedoch noch einmal zur Versionsgeschichte zurückkehren, können Sie jetzt sehen, dass dies eine veröffentlichte Version ist. Es gibt also einen Unterschied zwischen dem Speichern Ihrer Änderungen und dem Veröffentlichen der Änderungen. Dies ist eine sehr wichtige Sache, die Sie beachten sollten. Okay? Also, wenn ich das hinzufüge und es gespeichert habe, oder? Also habe ich Strg S gedrückt oder du gehst zu Datei und Speichern. Das bedeutet, dass es in der Roblox Cloud gespeichert ist. Sie können frühe Versionen und als Frühversion gespeicherte Versionen wiederherstellen . Dies ist ein Überblick über alle Änderungen, die Sie vorgenommen haben. Aber nur weil du gespeichert hast, heißt das nicht, dass die Leute, die dein Spiel spielen , diese Änderungen haben werden. Um die Änderungen an die Leute zu bringen , die dein Spiel spielen, musst du die Version veröffentlichen, die sehr, sehr wichtig ist, und es ist ein sehr wichtiger Unterschied, dass sehr wichtig ist, und es ist ein sehr du weißt, wann du das im Grunde tatsächlich versuchst. Eine weitere Kleinigkeit ist, dass Sie sich wahrscheinlich fragen werden, nun, wie kann ich dieses Bild ändern, wenn etwas passieren sollte? Nun, lass uns nur der Argumentation halber ein anderes Bild hochladen, oder? Und das werden die Daumen runter sein. Da hast du es. Es wird auch ein Daumen runter sein. Lassen Sie uns das auch erstellen. Das wird hochgeladen und es wird hier eine neue ID bekommen. Jetzt haben wir also einen Daumen runter und sagen wir der Argumentation halber, wir fügen hier einfach ein lokales Skript hinzu. Die lokalen Dienste werden der Bildwechsler sein, ein bisschen hineinzoomen und wir wollten nur das Bild bekommen. Also das Bild ist natürlich, script dot parent sollte ziemlich selbsterklärend sein. Und dann sagen wir ImageView.Image. Bitte denken Sie daran , dass die Variable Bild mit einem kleinen I heißt . Und das großgeschriebene I-Bild ist eigentlich die Eigenschaft hier, die darauf verweist, dass das Bild, das wir haben, einfach gleich ist. Und das ist sehr wichtig. Wir wollen im Grunde die Ribulose-URL erhalten, damit das Bild dem HTTP-Doppelpunkt Schrägstrich www Punkt entspricht. Roadblocks sind Com-Slash-Assets, solches Fragezeichen ist gleich und dann können Sie einen Punkt machen und dann holen Sie sich einfach die Bild-ID, um die Bild-ID zu erhalten. Aber ich wähle einfach das Bildlabel und wähle dann das gewünschte Bild aus, oder? kannst du, du kannst es einfach auswählen und dann kannst du die ID von hier kopieren. Und dann stellen wir einfach sicher, dass das Standardbild tatsächlich der Daumen nach unten ist. Und dann wollen wir es im Grunde ändern. Also werden wir wieder hierher gehen. Wir werden das einfach hier hinzufügen. Und das sollte in Ordnung sein. Dann können wir das speichern. Und Sie können sehen, dass ich die Änderungen genau hier annehme. Und das erspart uns erneut zwei Hindernisse für die Cloud und wir sollten mit einem Daumen nach unten beginnen. Allerdings wird es das tatsächlich auf einen Daumen hoch ändern , sobald wir das Spiel starten, denn das Bild ändert sich, dein Skript wird ausgeführt. Und da haben wir es. Jetzt haben wir tatsächlich einen Daumen hoch bekommen, weil es natürlich die Bildsprache hier geändert hat. Du kannst das Bild hier ändern, oder? Wenn, wenn wirklich etwas passiert, wenn ein Spieler stirbt, wer ändert das vielleicht in einen Daumen runter, oder? Und wenn sie den nächsten Checkpoint erreichen, kannst du ihn in einen Daumen hoch ändern. Beachten Sie nun, dass dies ein lokales Skript ist und dass die Standard-GUI lokal ist. Also, wenn Sie versuchen, dies über ein normales Skript hier drüben zu tun , könnte es vorerst etwas schwieriger sein, dies tatsächlich zum Laufen zu bringen vorerst etwas schwieriger sein, dies tatsächlich zum Laufen zu Auf diese Weise ändern Sie jedoch ein Bild, oder? Und das wird es eigentlich für diese Vorlesung hier sein . Ich hoffe, Sie fanden das nützlich und Sie lernen etwas Neues und wir sehen uns alle in der nächsten Vorlesung. Also, ja. 44. (Roblox) Spielerdaten mit DataStoreService speichern: Ordnung, lassen Sie uns hier mit den Zwischenthemen für die Roboterergebnisse fortfahren . Und in dieser Vorlesung werden wir uns den Datenspeicherdienst ansehen. Der Datenspeicherdienst ist also ein unglaublich leistungsfähiger Dienst, mit dem Sie Spielerdaten in der Roblox Cloud speichern können. Das ist nicht nur wirklich cool, es ermöglicht dir auch Dinge zu tun wie, naja, sagen wir, dein Spieler hat dein ABI tatsächlich gespielt , bevor er Stufe zwei erreicht hat. Was nun passieren wird, ist, dass, wenn sie das Spiel verlassen und wieder beitreten würden, sie am Anfang wieder spawnen würden, oder? Sie haben also all ihren Fortschritt verloren , weil ihr Fortschritt nicht gespeichert wurde. Aber mit dem Datenspeicherdienst können wir den Fortschritt zwar online in und in einer Datei speichern , irgendwo in einem Tisch, und ihn dann abrufen, wenn der Spieler beitritt und wieder, und genau das werden wir tun. Schauen wir uns also einfach an, wie wir das machen können. Die Oberfläche selbst ist also bei diesen Servern, Webservern, eigentlich nicht so kompliziert Wir werden einfach ein neues Skript erstellen und das nennen wir das Load-Checkpoint-Skript. Und so wie das funktioniert, wir zuallererst natürlich brauchen wir zuallererst natürlich einen gewissen Datenspeicherdienst. Es wird also einen lokalen Datenspeicherdienst geben. Dies entspricht Game Colon Get Service. Und wir wollen den Datenspeicherdienst genau hier haben. Das ist unglaublich. Das ist das Erste. Die zweite Sache ist, dass wir ein bestimmtes Geschäft wollen. Die Idee ist also, dass Sie im Data Store-Dienst eine Reihe verschiedener, sagen wir, Ablagen haben. Und in diesen Ablagen speichern Sie alle Daten. Das wird also bewirken , dass wir einen Lokal brauchen und wir werden das einfach den Checkpoint nennen, Checkpoint-Laden. Und das entspricht dem Datenspeicherdienst-Dolon get Datastore. Und dann wollten wir das benennen. Das ist jetzt unglaublich wichtig. Wir werden das den Checkpoint Store nennen. Jedes Mal, wenn wir auf den Shop zugreifen möchten, benötigen wir diese bestimmte Zeichenfolge. Dies ist unser einzigartiger Schlüssel, um zu identifizieren, auf welchen Datenspeicher wir zugreifen möchten. Und es ist unglaublich wichtig , dass wir das richtig gemacht haben, aber wir haben einen Datenspeicherdienst und wir haben den Checkpoint-Store hier drüben , der alle Informationen speichert. Das nächste, was wir tun wollen, ist, dass ich dasselbe tun möchte , was in der Rangliste gemacht wird. Und das ist die Idee des Spielers, der hier hinzugefügt wurde. Also holen wir uns einfach auch die Spieler. Das ist normalerweise eine Sache, die du willst. Und dann wollen wir das Ereignis, das vom Spieler hinzugefügt wurde, hierher kopieren. Ich meine, wir können es auch einfach abtippen, aber manchmal kannst du es einfach, du kannst das einfach so kopieren, dass es gut ist. Und das wird eine Funktion sein. Und die Funktion hier ist Checkpoint-Daten abrufen, oder? Wir machen das und fügen das hier in den Connect ein. Also werden wir einen Checkpoint mit Daten bekommen und wir können auch den Spieler dafür bekommen. Natürlich, da hast du es. haben wir den Spieler auch hier. Und das ist eigentlich sehr wichtig, weil wir die Spieler-ID benötigen, oder? Wir brauchen also einen Schlüssel , unter dem wir das alles speichern. Die Idee ist also, dass wir einen Schlüssel herstellen werden. Das wird also der Checkpoint-Schlüssel sein. Und das entspricht normalerweise dem, was du tun willst, ist Spielerpunkt, Spieler-ID, und es wird Punkt, Punkt und dann machen wir Strich. Und dann kannst du z.B. wieder Punkt Punkt sagen. Und dann kannst du z.B. Checkpoint sagen und das wird es so machen, dass der Schlüssel für jeden Spieler spezifisch ist , da die Spieler-ID für jeden Spieler einzigartig ist, also sollte das überhaupt kein Problem sein. Aber auch hier muss dieser Schlüssel immer derselbe sein. Andernfalls werden Sie nicht in der Lage sein, die Daten abzurufen oder die Daten abzurufen. Das wird sehr interessant. Also stellen wir jetzt fest, dass lokale Daten gleich Null sind, und dann machen wir es wie folgt, eine lokale Erfolgs- oder Fehlermeldung, die einem P-Aufruf entspricht. Ich werde das gleich erklären. Anstelle des P-Aufrufs wird eine neue Funktion ausgeführt. Und das wird ein Data Equal-Checkpoint-Store sein. Also jetzt gehen wir rein, gehen in den Laden, Doppelpunkt, werden asynchron. Also werden wir alle Daten, die da drin sind, asynchron abrufen . Wir werden also nicht warten, bis das geladen wird. Wir sagen nur, hol es dir, wann immer du kannst. Und wir werden die Daten für den Checkpoint-Schlüssel für den Spieler erhalten Checkpoint-Schlüssel für , der uns gerade beigetreten ist. Das ist die allgemeine Idee. Nun, nachdem das erledigt ist, richtig, das ist sehr wichtig. Wir wollen überprüfen, ob alles funktioniert hat oder nicht. Also werden wir sagen, wenn wir Erfolg haben, dann können wir etwas zurückgeben oder wir können, wir können tun, was wir anders sagen wollen, oder? Aber das würde bedeuten, dass es nicht erfolgreich ist, dann wollten wir eigentlich einen Fehler machen. Und wir wollen einen Datenspeicherfehler sagen. Es muss nicht genau so heißen, sondern nur für alle Fälle. Und dann wollen wir die Fehlermeldung genau hier veröffentlichen, oder? Und wenn es gelingt, können wir im Grunde weitermachen. Wir werden das jetzt einfach anrufen. Fahren Sie mit dem Ändern fort, wechseln Sie das Geschäft , ändern Sie den Checkpoint, das wird in wenigen Augenblicken erledigt. Aber die Idee hier ist , dass wir diesen Schlüssel hier lesen und er sagt: Hey, einfach die Funktion get async hier mit diesem bestimmten Schlüssel ab, wodurch wir im Grunde alles bekommen, was unter diesem Schlüssel in unserem Datenspeicher gespeichert ist . Der Grund, warum wir Peek Hole verwenden können Sie tatsächlich sehen, führt die Provider-Funktion aus und fängt alle Fehler ab. Die allgemeine Idee ist also , dass wir aus diesem Grund Erfolg und diesen Fehler hier haben. Der P-Code stellt im Grunde nur sicher, dass, wenn beim Get ein Fehler auftritt, Sie nicht richtig mit dem Internet verbunden oder es einen Ausfall gibt oder die Server abstürzen oder was auch immer es sein mag, dies unter der Fehlermeldung gesperrt wird. Und wenn alles erfolgreich war und wir unter dem Erfolg einfach einen wahren werden. Das ist Leary, alles was wir tun. Also vorerst. Ich wollte hier nur einen Erfolg ausdrucken. Wenn das erfolgreich ist und ein weißer Pfeil genau hier, falls nicht. Also lassen Sie uns das einfach der Argumentation halber speichern. Lass uns das einfach innerhalb des Spiels ausführen und du wirst sehen, was für eine interessante Sache das passieren wird, wenn wir das jetzt spielen, einfach so, du kannst zuerst sehen, Spieler-ID nicht einmal Mitglied eines Spielerkontos ist dass die Spieler-ID nicht einmal Mitglied eines Spielerkontos ist und das ist in Ordnung weil sie eigentlich Benutzer-ID heißt. Ich habe eine Schleife gemacht, habe ihren Anführer gesehen, das sollte die Benutzer-ID sein. Das wollten wir verwenden. Und dann ist es die gleiche Idee wie die Spieler-ID. Was ist, wenn wir das jetzt machen? Jetzt bekommen wir diesen Fehler mehr und wir haben tatsächlich einen Erfolg. Das ist wirklich cool, oder? Also haben wir einige Daten reingeladen. Das ist interessant. Die eigentliche Frage ist aber, was haben wir reingeladen, oder? Also, wenn wir hier nur Erfolgsdaten sagen, bekommen wir etwas Interessantes, oder? Also, welche Daten wurden tatsächlich vom Get Async geladen? Nun, schauen wir uns das mal an. Und es wurde, weil du siehst, dass es eine Null hat, oder? Also, weil wir angesichts der Daten hier drüben Mill geschrieben haben, ist das nicht ganz richtig. Das ist nicht genau das , was wir wollen. Wir wollen nicht, dass das gleich Null ist. Was wir also tun können, ist, dass wir n Daten sagen können und im Grunde sagen, nun, es sollte etwas geschrieben werden, anstatt der Daten. Sonst sind wir nicht wirklich erfolgreich. Als ob es kein Erfolg wäre. Wenn Daten gleich Null sind, ist das nicht richtig, wir wollen, also lasst uns das einfach machen, oder? Also nur wenn Erfolg und Daten vorhanden sind, dann wollen wir erfolgreich ausdrucken. Andernfalls wollen wir die Fehlermeldung ausdrucken. Und wenn wir das jetzt laden würden, können Sie sehen, dass wir immer noch eine Null bekommen, aber jetzt bekommen wir tatsächlich den Knoten für die Fehlermeldung, weil es lustigerweise keine Fehlermeldung gibt, oder? Okay, das ist also interessant. Wir wollen aufhören und wir wollen das ändern, um etwas anderes, wenn nicht sogar Erfolg zu haben, dann tun wir das und dann gehen wir, jetzt haben wir das getan. Ich habe das extra so gemacht, damit du die Logik durchgehen kannst , warum du jeden einzelnen Schritt brauchst, oder? Sie wollen nicht wirklich erfolgreich wenn die Daten gleich Null sind, oder? Das ist nicht richtig, Das ist nicht richtig. Sie möchten die Fehlermeldung nur ausgeben, wenn sie nicht erfolgreich ist, denn dann wissen wir, okay, das ist alles in Ordnung. Wenn es also etwas komplizierter wird, liegt das jetzt in der Natur der Zwischenschritte, weil wir viel mehr Dinge verwenden und viel mehr Dinge miteinander verbinden. Aber vorerst werden wir es so belassen. Fahren Sie nun fort, den Checkpoint zu ändern. Nun, wie würden wir das machen, oder? Der Checkpoint wird also genau hier im Checkpoint-Skript erstellt. Und das ist wirklich cool, weil das Checkpoint-Skript genau hier einen Checkpoint mit Daten erstellt , wie Sie sehen können. Jetzt können wir das buchstäblich einfach nehmen und es tatsächlich ändern. Also können wir das einfach machen, wir können das nehmen und wir werden einfach dasselbe tun, oder? Wenn wir also erfolgreich etwas einlesen, werden wir eine neue Instanz erstellen. In diesem Fall sind das, das ist ein, das sind die Checkpoint-Daten genau hier. Was wir also tun werden, ist, genau das Gleiche hier zu tun. Also werde ich den ganzen Weg gehen, oder? Also dieser hier. Was wir jetzt tun werden, ist das einfach in eine andere Funktion zu werfen , weil ich denke , dass es ein bisschen besser ist, den Bildschirm zu behalten. Das wird das Create Checkpoint System sein. Vielleicht ist System hier nicht das richtige Wort , aber das wird in Ordnung sein. Wir können den Namen gleich ändern. Checkpoint-Daten. Klar, das ist in Ordnung. Bewerten Sie die Checkpoint-Daten. Also werden wir das hier nennen. Und die Idee ist , dass dies nur einmal aufgerufen wird , oder? Denn wenn die Checkpoint-Daten bereits von der ersten Person erstellt wurden , die dem Server hinzugefügt wird. Wir wollen es nicht noch einmal erstellen, aber wenn nicht, dann werden wir es einfach erstellen. Und wenn das richtig ist, nachdem wir das erstellt haben, wollen wir jetzt genau den Frühling machen, oder? Also wollen wir das ändern. Wir wollen das Kind der Benutzer-ID genau hier haben. Und noch einmal, was wir tatsächlich tun können , ist, dass wir im Grunde alles bekommen können außer dem Spieler, der hier hinzugefügt wird. Das wollen wir nicht, wir wollen nur das. Und dann wird das eine weitere Funktion sein. Und diese Funktion wird ein Get oder Create Checkpoint oder Player sein. Und das wird so aussehen und dann füge hier einfach ein Ende hinzu. Und das ist sehr wichtig. Da hast du es. Jetzt haben wir die Checkpoint-Daten nicht. Das ist in Ordnung. Wir können das weitergeben. Wir haben den Spieler nicht. Wir können, wir können den Spieler definitiv weitergeben. Das wird absolut kein Problem sein. Also, wenn wir das nennen würden, get oder create den langen Namen, aber das ist in Ordnung. Also können wir den Player hier drüben weitergeben. Da hast du es. Das ist in Ordnung. Und dann die Checkpoint-Daten, die wir nicht weitergegeben haben. Lassen Sie uns also darüber nachdenken, wie wir das im Grunde erreichen können. Wir könnten also eine sehr interessante Sache machen und das könnte die Rückkehr sein, oder? Also können wir die Checkpoint-Daten hier zurückgeben. Und wir können hier zu den Checkpoint-Daten zurückkehren. Und wir können lokale Punktdaten erstellen, oder? Und dann können wir das einfach weitergeben. Da hast du es. Und dann sagen wir hier einfach Punktdaten. Das kann zum Beispiel ein sehr einfacher Weg sein, dies zu tun. Vielleicht hast du nicht so darüber nachgedacht, aber sie könnten das natürlich, das wäre völlig in Ordnung, oder? Entweder haben wir die Checkpoint-Daten direkt hier erstellt, oder wir oder wir lesen sie aus den Daten aus dem Serverspeicher ein. Und wenn das der Fall ist, geben wir das einfach zurück. Und weil es für diese Funktion benötigt wird , können wir es einfach hier übergeben . Das ist alles, was dazu gehört. Das einzige , was wir natürlich auch tun müssen, ist sicherzustellen, dass der Checkpoint-Punktwert den der Checkpoint-Punktwert den Daten entspricht, die wir gerade gelesen haben. Das wird der gespeicherte Checkpoint sein. Ich finde den Namen gut. Das wird gut sein. Und wir setzen das einfach auf den Wert des Store-Checkpoints. Und das werden wir auch gleich hier weitergeben. Das werden Daten sein. In diesem Fall müssen wir nun eigentlich nicht überprüfen, ob eine Daten Null sind oder nicht. Weil wir gesagt haben, ob Erfolg und Daten sind, prüfen wir bereits, ob Daten gleich Null sind oder nicht, oder? Denn wenn N-Daten im Grunde bedeuten, dass es nicht Null ist, ist das die allgemeine Idee. Dafür bekommen wir also im Grunde alles, was wir brauchen. In diesem Fall. Wenn wir also etwas einlesen, erhalten wir tatsächlich die richtigen Daten über die Checkpoint-Server. Wenn wir Erfolg hatten und Daten wahrscheinlich eingelesen wurden, bekommen wir einen Erfolg ausgedruckt. Nun, dann erstellen Sie die neuen Checkpoint-Daten auf dem Serverspeicher. Dies sind die lokalen Serverspeicher. Das ist also der Server selbst, auf dem wir gerade spielen, nicht derselbe Datenspeicher. Das sind zwei völlig verschiedene Dinge. Jetzt haben sie einen sehr ähnlichen Namen, oder? In diesem Fall haben sie tatsächlich den gleichen Namen, oder? Wir haben die Daten, Checkpoint-Daten hier, Check Point-Store genau hier. Und wir haben den Checkpoint mit den Daten hier aus dem Laden. Ich verstehe, dass es einige Abstraktionsebenen gibt , die Sie berücksichtigen müssen. Gleichzeitig ist der Datenspeicher im Grunde wie ein, ein großes altes, das ist das Archiv, das irgendwo auf dem Server weit, weit weg ist, von dem man nicht einmal weiß, wo das ist, oder? Das ist das Archiv. Sie können auf das Archiv zugreifen, indem den Dienst nutzen und dann einen bestimmten Shop aufrufen. Das ist, als würde man sich einen bestimmten Aktenschrank besorgen. Nehmen wir an, Sie nehmen eine bestimmte Datei aus diesem Aktenschrank, indem Sie die Benutzer-ID mit dem Checkpoint hier überprüfen, das ist der Schlüssel. Und dann bekommst du diese Daten direkt bei diesen Daten raus , z. B. wenn es drei sind, um der Argumentation willen, wenn das drei sind, dann kreierst du auf dem Server, den du gerade spielst, all diesen Wahnsinn genau hier und dann sagst, okay, unser Checkpoint-Wert, den der Spieler klein haben sollte, das sind drei, und das ist so ziemlich das, was wir sind hier machen. Aber eine große Sache, und das ist die Sache , die nicht getan wird. Wir sparen nichts. Wir sind gerade dabei, wir lesen es gerade ein, okay, also können wir auch etwas lesen. Lassen Sie uns hier eine weitere Funktion erstellen, und wir werden sie die eingestellten Checkpoint-Daten nennen. Lass uns das wirklich machen. Da hast du wieder den waldspezifischen Spieler, und das wird das Entfernen der dunklen Ebene der Spieler sein. Dieses wird ausgelöst, wenn ein Spieler kurz davor ist, das Spiel zu verlassen. Sehr wichtig, den Doppelpunkt zu entfernen. Und das wird der Datensatz der Checkpoints genau hier sein. Und natürlich ohne die Klammern, los geht's. Also, wie legen wir die Checkpoint-Daten fest? Nun, zunächst brauchen wir hier den gleichen Punkt. Das ist also das, was wir brauchen. Jetzt brauchen wir eigentlich schon den Namen des Checkpoints. Nehmen wir an, das ist Get oder Create, der Checkpoint für den Spieler. Nun, das legt tatsächlich den Wert für uns fest, was nicht ganz das ist, was wir wollen. Was wir also einfach tun können, ist diesen speziellen Teil hierher zu bringen . Also sollten wir das zum eigentlichen Checkpoint machen. Jetzt haben wir die Daten gerade nicht. Das ist in Ordnung. Wir können die Checkpoint-Daten jetzt erstellen. Eigentlich möchte ich sie umbenennen, um auch Checkpoint-Daten abzurufen oder zu erstellen , weil das viel genauer ist. Und das werden wir einfach hier ändern. Und wieder können wir einfach die Checkpoint-Daten abrufen. Auf diese Weise können wir einfach sagen, Checkpoint-Daten abrufen oder erstellen, das erste Kind der Benutzer-ID finden Sie hier. Und jetzt haben wir den Checkpoint und der Wert wird lauten, das werden die Daten sein, die gespeichert werden sollen. Der Wert des Checkpoints und das Ego. Wie speichern wir das jetzt? Während wir das Gleiche tun, machen wir eine lokale Erfolgsmeldung, die einem P-Aufruf entspricht, und erstellen hier eine neue Funktion. Und dann sagen wir Check Point Store. Dies ist unser asynchroner Datastore-Doppelpunkt. Wir geben den Checkpoint-Schlüssel und dann geben wir die Daten weiter. Und da hast du es. Und das sollte alles sein , was wir brauchen. Nun solltest du natürlich auch einen, wenn nicht sogar Erfolg haben. Dann wollen wir einen Fehler ausgeben und sagen, Daten können nicht richtig gespeichert werden und geben dann die Fehlermeldung hier aus, nur damit wir das haben, es ist immer sehr wichtig, Ihre Fehler zu sperren. Und jetzt, wenn ein Spieler entfernt wird, richtig, wenn er das Spiel verlässt, sollte er theoretisch den Checkpoint speichern und wenn er dem Spiel wieder beitritt, sollte er den Checkpoint bekommen, der gespeichert wurde, richtig, die Daten, die gespeichert wurden, und das sollte so ziemlich alles sein, was wir hier brauchen. Nun, das könnte vorerst ziemlich kompliziert aussehen . Jetzt ist es so, oder? Wir haben quasi mehrere Funktionen. Wir machen viele verschiedene Dinge. Wir haben hier eine gewisse Verzweigungslogik. Ich verstehe, dass das im Grunde genommen ziemlich viel ist , wenn man es gleichzeitig aufnimmt. Deshalb sind dies die Zwischenthemen. Es wird im Laufe der Zeit immer komplizierter. Aber hoffentlich ist die allgemeine Logik vernünftig. Also speichern wir das einfach und schauen wir mal, ob alles funktioniert. Es könnte hier oder da einen Pfeil geben, aber ich denke, dass das insgesamt in Ordnung sein sollte. Und dann werde ich eine weitere Sache erklären , die hier ziemlich wichtig ist. Also lasst uns einfach mitmachen. Theoretisch sollten wir bei Stufe Null mitmachen, alles sollte in Ordnung sein und es sollten keine Fehler vorliegen, und das ist absolut erstaunlich. Also, wenn wir jetzt genau hier weitermachen und hierher gehen würden, sind wir jetzt in der ersten Phase. Wenn wir das jetzt vorerst beenden, speichern Sie die Daten. Jetzt bekommen wir tatsächlich das und das ist quasi das Speichern der Daten, die Instanz kann nicht im Datenspeicher gespeichert werden. Sie greifen darauf zurück, nur gültige UTF-8-Zeichen zu akzeptieren. Okay, das ist in Ordnung. Die Frage hier ist also, was ist der tatsächliche Wert, den es zu sparen versucht? Das ist also die nächste Sache. Oh ja, das ist eigentlich, ich weiß, was das Problem ist. Wenn wir hier zur Logik des Checkpoint-Skripts zurückkehren, ist der Wert in Checkpoint hier natürlich hier zur Logik des Checkpoint-Skripts zurückkehren, ist der Wert in Checkpoint der Wert in Checkpoint nur die Spawnorte. Wir wollen eigentlich den Wert der Checkpoint-Nummer genau hier haben, weil das nicht wirklich gespeichert wird. Wenn wir also Folgendes tun, wenn wir hier reingehen und den Punkt-Checkpoint-Punktwert speichern, machen wir das jetzt tatsächlich richtig. Und das Gleiche gilt in die andere Richtung. Jetzt stoßen wir gerade auf ein Problem. Sparen ist absolut kein Problem. Das Speichern können wir also tun, überhaupt kein Problem, aber Laden ist jetzt etwas schwieriger. Einfach deshalb, weil wir gerade die Nummer für den Checkpoint haben. Okay. Das ist in Ordnung. Aber wie kommt man an diesen Checkpoint? Wie bekommt man den richtigen Checkpoint für die Nummer? Was Sie jetzt tun können, ist, dass wir dieses sehr praktische Dandy-Checkpoint-Nummerierungsskript hier dieses sehr praktische Dandy-Checkpoint-Nummerierungsskript haben, oder? Und dieser könnte sich tatsächlich als viel nützlicher erweisen, als Sie vielleicht denken, denn genau hier bringen wir die Kinder aller Checkpoints mit rein. Das sollte also eigentlich alles sein, was wir wirklich brauchen. Ich denke über die Idee nach, hier einen Tisch zu machen , oder? Das wären also unsere Checkpoints, was einer Tabelle entspricht , die gerade leer ist. Und dann können Sie Checkpoints in der Tabelle mit Punkten einfügen. Und dann wird der Wert lauten, es wird gezählt und der Wert wird der Checkpoint selbst sein. Das wird also ein Jackpot sein. Ich glaube, der intelligenteste Weg, dies zu tun, besteht darin, hier in den Server-Skriptdienst zu gehen und ein Modulskript zu erstellen, oder? Wir werden einen neuen machen, das wird unser Checkpoint-Tisch sein. Nehmen wir an, wir werden das auch tatsächlich in Checkpoints umbenennen, oder? Ich biege hier nicht an den Checkpoints ab. Und jetzt sollten wir in der Lage sein , die Checkpoints nicht richtig zu nummerieren, wenn wir das verlangen können. Das wird also unser Tisch sein. Nennen wir diesen Checkpoint Table Shore. Das ist erforderlich. Das wird die Punkt-Checkpoint-Tabelle des Gameserver-Skriptdienstes sein. Und die Checkpoint-Tabelle, wir sollten in der Lage sein, Folgendes zu tun. Fügen Sie nun den Checkpoint der Checkpoint-Tabelle gegen den Checkpoint ein. Also fügen wir jetzt Dinge in die Tabelle ein, das ist das Modulskript, oder? Und was wir tun können, speichern wir uns das für einen Moment. Und innerhalb des Lade-Checkpoints hier können wir das auch bekommen. Es gibt die lokalen Peckpoints, die der Punkt-Checkpoint-Tabelle für den erforderlichen Gameserver-Skriptdienst entsprechen . Und das wären dann Checkpoints, Klammern, Store-Checkpoint. Da hast du es. Und ich glaube, dass das wahrscheinlich die sauberste Art ist , dies tatsächlich zu tun. Also Erfolg eins ist geladen, das ist in Ordnung. Lass uns nur der Argumentation halber hier drüben sein und lass uns das machen. Jetzt, wo wir einen geladen haben, hören wir auf. Das ist ein Safe, das ist in Ordnung. Lass uns nochmal spielen und wir spawnen immer noch am Anfang, was sehr interessant ist. Wir bekommen jedoch keine Fehler, was eigentlich ziemlich gut ist. Unerwartetes passiert. Möglicherweise müssen wir das hier hinzugefügte weiße Zeichen tatsächlich in unser Ladeskript aufnehmen . Und ich würde das gleich angeben, nachdem wir den Wert hier festgelegt haben. Ich glaube, das wäre die Idee dahinter und das sollte reichen, weil der hier hinzugefügte Charakter aufgerufen werden sollte , nachdem der Spieler hinzugefügt wurde. Versuchen wir also einfach, dies unter dem Wert hinzuzufügen , dass Sie den Spawnort bereits geändert haben , denn das ist das einzige, was wir wirklich tun müssen, oder? Wir müssen nur Geld ausgeben, um den Laichort zu ändern. Da haben wir es. Es funktioniert sofort. Das ist absolut unglaublich. Du siehst also, manchmal steckt hier ein bisschen von dem *****. Also, wenn du zu zwei gehst, kann ich davon springen und ich werde auf zwei antworten, während ich im Spiel bin, oder? Also werden wir in Phase zwei antworten. Da hast du es. Und wenn ich das richtig beende, retten wir die beiden jetzt wieder. Noch einmal, keine Fehler. Absolut fantastisch. Und wenn ich noch einmal spielen würde, würden wir nicht nur Erfolge sehen, sondern auch sofort mit der zweiten Phase beginnen. Absolut verdammt geil. Was hier also sehr wichtig ist, ist, dass man manchmal sieht, dass es Verbindungen gibt. Es gibt viele Verbindungen, die manchmal schwer zu entwirren sind. Du kannst dir vorstellen, wie wir das gemacht haben, oder? Wir hatten eine, wir haben jetzt eine Checkpoint-Tabelle hier drüben als Modulskript. Und wir speichern die Checkpoints über das Checkpoint-Nummerierungsskript hier. Und dann ist da noch das Load-Checkpoint-Skript, das eine Menge Sachen macht, oder? Also werde ich versuchen, das in etwa 2 Minuten zusammenzufassen , damit es verständlich ist. Wir haben also einen Datenspeicherdienst. Dies ist ein Archiv, und das Archiv speichert viele, viele verschiedene Aktenschränke. Nun der letzte Accomodant, den Sie sich als Datenspeicher vorstellen können. Der Datenspeicher ist ein Aktenschrank. Dies kann viele verschiedene Dateien enthalten. Sobald wir unseren Datastore haben, können wir über einen Schlüssel auf bestimmte Dateien zugreifen, oder? Damit wir diesen Schlüssel bekommen können. In unserem Fall erstellen wir einen Schlüssel mit der Benutzer-ID und streichen dann einfach den Checkpoint hier drüben, nur damit Sie den haben. Dann holen wir uns die Daten aus diesem speziellen Aktenschrank indem wir Checkpoints Stores, das ist der Datenspeicher, Doppelpunkt werden asynchron und dann den Schlüssel übergeben, wenn das die spezifischen Daten zurückgibt, die mit diesem Schlüssel gespeichert sind. In unserem Fall wird das die Nummer sein, die unserem Checkpoint zugeordnet ist, oder? Also wird es entweder der erste Checkpoint sein, zweite Checkpoint, so weiter und so fort. Es ist wahr, oder? Und wenn wir diese Daten erfolgreich abgerufen haben, erstellen wir die Checkpoint-Daten und dann den Checkpoint für den tatsächlichen Spieler. Nun, diese beiden Funktionen hier sind den Funktionen innerhalb des eigentlichen Checkpoints sehr ähnlich . Wenn wir uns das Checkpoint-Skript ansehen und dann zum Checkpoint-Modul hier kommen. Es wird dieses hier sein, genau hier, wo im Grunde nur das gleiche Modell erstellt wird, oder? Und dann die Daten eines Checkpoints aufrufen und den gleichen Objektwert auch darin rekrutieren. Und die Idee des Objektwerts ist, dass er den tatsächlichen Port speichert , also den eigentlichen Checkpoint-Teil, den physischen Port innerhalb des Spiels. Wenn wir also hier rein gehen, wird dieser spezielle Teil als Checkpoint gespeichert , an dem der Spieler antworten sollte. Und das wollen wir jetzt mit der Nummer bekommen. Jetzt geht es um die Nummer und den tatsächlichen Scheckbuchport oder um einen vollständig voneinander getrennten Port. Sie haben eigentlich nichts miteinander zu tun, was irgendwie ein Problem ist. Wir lösen das so, während wir die Checkpoints nummerieren, oder? Während wir die Checkpoints nummerieren und ihnen den Wert int hinzufügen, ihnen den Wert int hinzufügen, wir sie auch zu einer Tabelle hinzu, die die Anzahl enthält. Und wenn wir die Anzahl haben, können wir den Checkpoint-Teil bekommen. Und auf diese Weise können wir dann die Checkpoints genau hier benötigen, das Checkpoint-Tabellen-Modulskript. Wir können Checkpoints benutzen, Checkpoint speichern, um den eigentlichen Teil davon hierher zu bekommen, richtig, das Spielobjekt, das eigentliche Objekt. Und dann sagen wir einfach, hey, sobald der Charakter hinzugefügt ist, dann ändere einfach den Frame des Charakters, was im Grunde die Position des Charakters zum Checkpoint selbst und für weiter oben ist . Also spawnen wir im Grunde ein bisschen höher als der Checkpoint und fallen auf ihn runter. Da sind wir. Wenn wir jetzt das Spiel beenden, wenn der Spieler entfernt wird, nehmen wir den gleichen Schlüssel, wir entsperren im Grunde den Aktenschrank. ist wieder so, als würde man den Aktenschrank entsperren, Es ist wieder so, als würde man den Aktenschrank entsperren, den Anfang der Datei abrufen und sagen, hey, jetzt setze diese Datei auf die Daten , die ich hier angegeben habe. Und die Idee ist, dass wir das neue Objekt bekommen, das Objekt, das derzeit unser Checkpoint ist. Wir bekommen den Wert aus der Zahl da und bam, los geht's. Wir werden die Nummer daraus abrufen und sie dann noch einmal unter unserem Schlüssel speichern , noch ein wichtiger Hinweis hier. Jetzt sprechen wir über das Speichern von Daten. Und es ist unglaublich wichtig, dass Sie beim Speichern von Daten sehr vorsichtig sind beim Speichern von Daten sehr vorsichtig und dass Sie wahrscheinlich die Safes und Checkpoints und Fehler und all das hinzufügen . Denn wenn die Daten aufgrund Ihrer Fahrlässigkeit verloren gehen, sind die Menschen möglicherweise nicht glücklich, insbesondere wenn sicher ist , dass Roboter beteiligt sind. Im Moment sind keine Roboter beteiligt, also sollte es nicht so schlimm sein. Aber ich sage nur, sei vorsichtig und sei sehr vorsichtig damit. Ich empfehle auch dringend , sich über den Datenspeicherdienst die API-Referenzen auf Roblox selbst zu informieren. Das ist eine sehr, sehr empfehlenswerte Lektüre dafür. Aber davon abgesehen, das war's für diese Vorlesung hier. Ich hoffe, Sie fanden das nützlich und Sie werden etwas Neues lernen und wir sehen uns alle in der nächsten Vorlesung. Also, ja. 45. (Roblox) Mehrere Orte in einem einzigen Spiel: Ordnung, willkommen zurück zum Zwischenbereich des Robotik-Kurses. Und in diesem Vortrag werden wir uns ansehen, wie Sie einem Erlebnis mehrere Orte hinzufügen können . Deshalb ist die allgemeine Idee, dass wir, wenn wir zu unserem Creator-Dashboard hier zurückkehren , richtig, zu unseren Kreationen, unser Beispiel hier haben. Nur als Beispiel, wir werden das nur verwenden. Wir können auf diese besondere Erfahrung dieser Schöpfung eingehen und verschiedene Orte hinzufügen. Wenn wir jetzt zu Orten gehen, können wir hier buchstäblich einfach einen neuen Ort hinzufügen. Es wird mir ein paar Orte geben, die ich bereits veröffentlicht habe. Sie können einige von ihnen sehen, die Sie hinzufügen können, da es sich um gespeicherte Orte handelt , und einige von ihnen können Sie hinzufügen. Also, wie gehen wir das im Grunde an? Nun, was Sie tun können, ist in Roblox Studio. Also, wenn wir wieder hierher gehen, was wir tun können, ist zum Beispiel , dass wir einfach ein flaches Gelände bekommen, also wird es ein bisschen anders aussehen, damit sie nicht etwas anderes zum Herumspielen haben anderes zum Herumspielen als das Gras hier in diesem Fall, wirst du sagen, nun, okay, was machen wir damit? Also werden wir das einfach speichern. Und was du tun kannst, ist, dass wir entweder ein neues Spiel machen, wir können es als neues Spiel speichern, wenn ich Strg S drücke, oder ich kann sagen, aktualisiere ein bestehendes Spiel und ich kann hier reingehen und sagen, füge es als neues Platzieren hinzu. Also werde ich das sagen, ich werde kreieren. Jetzt wird der Name wortwörtlich ein Spiel ohne Titel sein, aber das ist alles in Ordnung, denn das können wir alle in ein bisschen ändern. Das ist kein Grund zur Sorge. Jetzt können wir zu unserem Dashboard zurückkehren, wenn ich das tatsächlich neu lade. Bitte sehen Sie sich die Zimmerleute an, Nummer zehn. Nun, das ist natürlich kein guter Name. Was wir tun werden, ist , einfach auf die Schaltfläche In Studio bearbeiten zu klicken auf die Schaltfläche In Studio bearbeiten und Roblox Studio sollte dann erneut geöffnet werden. Nun, eine Theorie, das sollte ein anderes Beispiel sein. Sie sollten eigentlich nicht kollidieren. Du kannst sehen, dass wir den Ort laden und das ist der eigentliche Ort, das RB-Erlebnis oder die RB-Kreation, oder? Jetzt können Sie also sehen, dass es Count Minerals Plays Number Ten heißt. Nun, das ist nicht ganz der Name, an den ich gedacht hatte. Wir können also zu den Spieleinstellungen gehen und du kannst sehen, dass wir das unter den Orten auch tatsächlich ändern können . Sie können also sehen, dass es verschiedene Spieler gibt, auch Spieler. Und hier können wir das Spiel konfigurieren. Also nehmen wir an, wir sind auch erst 16, und das wird das Gras grüner sein . Da hast du es. Und Sie können sehen, dass es auch eine Reihe verschiedener Dinge gibt, die Sie tun können. Wir werden das einfach speichern. Und wenn wir das dann speichern, hat sich nichts geändert, okay, das ist in Ordnung. Aber wir können das dann veröffentlichen und es wird tatsächlich veröffentlicht, oder? Sie können also sehen, dass wir die Änderungen veröffentlichen, aber jetzt, wenn wir zu den Korrelationen hier zu unserem Beispiel zurückkehren , wenn wir das neu laden, können Sie sehen, dass der tatsächliche Name Gras ist grüner und wir ändern auch einige dieser Dinge genau hier, genau jetzt. Natürlich passiert hier im Moment nichts, weil hier nichts hinzugefügt wurde, aber es ist ein anderer Ort innerhalb desselben Spiels. Wie immer, eine Sache, die Sie beachten sollten, lesen Sie, dass Sie mehrere Orte innerhalb eines Tores haben können . nächsten Vorlesung werden wir sehen, wie Sie die beiden verschiedenen Orte unterscheiden können . Ansonsten hoffe ich, dass Sie das nützlich fanden und etwas Neues lernen und wir sehen uns alle in der nächsten Vorlesung. Also, ja. 46. (Roblox) Teleport zwischen verschiedenen Orten: Ordnung, willkommen zurück zum Zwischenabschnitt für den robusten Kurs. Und in diesem Vortrag werden wir sehen, wie wir uns mithilfe des Teleportdienstes von einem Ort zum anderen Ende teleportieren können des Teleportdienstes von einem Ort zum anderen Ende . Also werde ich dafür einfach meinen Kreis hierher kopieren , damit wir im Grunde etwas haben, mit dem wir weitermachen können. Und wenn du diesen Kreis erreichst, teleportieren wir uns an den Ort, wir im Grunde zu unserer Erfahrung hinzugefügt haben, zu unserem RB hier beim letzten Mal, das ist in der letzten Lektion passiert, das wird der Teleportkreis sein und wir werden hier auf das kleine Plus klicken und ein Skript hinzufügen. Und das Drehbuch wird das Teleport-Skript sein. Und das wird uns teleportieren. Für die Teleportation benötigen wir den Teleport-Service. Das entspricht Game Colon Get Service. Das ist natürlich der Weg, um einen Dienst zu bekommen, und das ist der Teleport-Service. Wir wollen auch die Spieler haben, das werden nur Gamer sein. Und dann wollen wir einen Teleporter. Die Teleporter sind also das eigentliche Spielobjekt, oder? In diesem Fall kreisen sie. Das wird also der Befehl für den Zähler sein und das wird dem übergeordneten Punkt des Skripts entsprechen . Und dann wollen wir die Orts-ID. Das ist also das Wichtigste, oder? Die Orts-ID ist eine eindeutige ID für Ihren Ort. Und du solltest in der Lage sein, das zu bekommen indem du hier hingehst, oder? Das ist also unser Ort , zu dem wir gehen wollen. Und du kannst sehen, nun, wie kriegen wir das hin? Nun, geh einfach hier rein. Sie können den Namen auch hier ändern, die Beschreibung hier sind Genres, all das, und das ist in Ordnung. Wir brauchten jedoch die Orts-ID. Wie kriegen wir das hin? Nun, Sie können sich die URL hier ansehen und Sie können sehen, dass dies die Erfahrung ist und dies der richtige Ort ist. Das wäre also unsere Orts-ID. Wir werden das einfach kopieren und dann werden wir hier wieder auf Straßensperren stoßen. Und du wirst sehen, dass wir daraus einfach eine machen können, wir wollen das eigentlich nicht zu einer Zeichenfolge machen. Wir wollen das zu einer Zahl machen , die eigentlich ziemlich wichtig ist. Und dann machen wir hier einfach eine lokale Funktion, beide auf Part Touch. Also werden wir in diesem Fall, dem anderen Teil, ein Touch-Event machen und das wird reichen, das wird uns zunächst zu dem Charakter bringen. Das ist nur ein anderer Teil von Dot Parent, das ist unser Charakter. Und dann sagen wir einfach, dass der Spieler dem Doppelpunkt des Spielers entspricht , holen Spieler von Charakter ab und geben den Charakter hier weiter. Und wenn es dann einen Spieler gibt, sagen wir Teleportdienst Doppelpunkt Teleport. Wenn Sie sich hier zur Orts-ID teleportieren, können Sie sehen, dass dies die Orts-ID ist und wir teleportieren natürlich den Spieler, der jetzt Spieler ist, der jetzt Spieler ist, aber der einzelne Spieler, der gerade diesen bestimmten Teil berührt hat . Und wir sagen, Polen teleportieren oder mit einem Punkt berühren und verbinden. Und dann fügen wir einfach den berührten Teil ohne die Klammern hinzu. Und das wird das Teleport-Skript sein. Also speichern wir das. Und das ist so ziemlich alles, was wir in diesem Fall tun müssen. Aber wenn wir jetzt spielen, sollte ich eigentlich in Phase zwei spawnen , denn das war das letzte Mal, naja, das letzte Mal, was gespeichert wurde, und du kannst sehen, dass ich in Phase zwei bin, also das ist das Coole an der Sparquote. Dadurch werden auch nach mehreren Tagen alle verschiedenen Daten gespeichert. Das ist jetzt das Tolle, natürlich muss ich das Level hier besiegen, aber ich denke, hier wird es mir gut gehen . Da hast du es. Und eine Stunde in Phase fünf. Und wenn ich das jetzt berühre, sollte ich teleportiert werden. Also lass uns sehen. Also bekommen wir genau hier eine Fehlermeldung. Das ist völlig in Ordnung, und Sie können sehen, dass die Teleportation fehlschlägt weil Sie in Roblox Studio nicht teleportieren können. Das ist die erste sehr interessante Sache, über die man nachdenken sollte, aber das ist kein Problem, denn was wir tun können, ist, dass wir das einfach beenden und dann können wir das einfach auf Roblox veröffentlichen . Die Preise werden das vorerst veröffentlichen. Alle unsere Änderungen werden auf Roblox veröffentlicht. Und wenn Sie jetzt zu unseren Kreationen hier zurückkehren, können wir zur Erfahrung zurückkehren, zum RB genau hier. Und wir sagen einfach Aussicht auf Straßensperren. Und der Modus wird das jetzt abspielen , Roblox wird es öffnen. Dies ist nicht mehr Roblox Studio, sondern Straßensperren. Sie müssen es auch in Roblox testen. Das ist also eine sehr wichtige Sache , die Sie beachten sollten, oder? Wenn ja, je komplexer Ihr Spiel ist, desto mehr müssen Sie im Grunde auch tun, anstatt Straßensperren zu bauen. Und außerhalb von Roblox Studio meine ich, das macht natürlich Sinn, oder? Du willst, du willst dein Spiel auch kontinuierlich auf Bugs und solche Dinge testen . Was Sie also sehen können, ich bin immer noch in Phase fünf, weil, naja, ich bin immer noch in Phase fünf, das ist wirklich cool. Und wenn ich jetzt hier reingehe, bupp, okay, es wird einen Moment dauern. Und du kannst sehen, dass Gras grüner ist. Bam. Es hat eine Weile gedauert. Das Laden dauert manchmal eine Weile. Aber da haben wir es. Wir sind jetzt an einem anderen Ort. Natürlich ist hier nichts drin, aber das ist einfach großartig, weil man auf diese Weise im Grunde mehrere verschiedene Orte miteinander verbinden kann . Sie können mehrere verschiedene Ebenen oder mehrere verschiedene Instanzen erstellen. Es gibt so viele Möglichkeiten, dies zu verwenden, aber Sie können mehrere Abbys erstellen , die miteinander verbunden sind. Du kannst machen, ich meine, es gibt jede Menge Dinge, die du damit machen kannst damit machen indem du mehrere verschiedene Orte hinzufügst. Es ist wirklich cool. Und das ist im Grunde die Idee eines Teleports an verschiedene Orte innerhalb Ihrer Erfahrung. Sehr cool. In der Tat, das wird es für diese Vorlesung hier sein. Ich hoffe, Sie fanden das nützlich und Sie werden etwas Neues lernen und wir sehen uns alle in der nächsten Vorlesung. Also, ja. 47. (Roblox) Wohin soll es von hier aus gehen: Ordnung, willkommen zurück zum Zwischenabschnitt hier, weiterer Roblox-Kurs. Und in dieser Vorlesung werden wir nur darüber sprechen, wohin wir als Nächstes gehen sollen, da dies im Grunde die letzte Vorlesung hier in diesem Kurs ist . Und die Idee ist, was, wo willst du als Nächstes hin? Also eine bestimmte Sache die ich einfach nicht genug empfehlen kann, und ich habe hier bereits über die Roblox Engine-API-Referenzen gesprochen hier bereits über die Roblox Engine-API-Referenzen , die alle Klassen enthalten, richtig , als Referenz haben Sie alle Datentypen. Im Grunde ist hier alles drin, was Sie vielleicht haben möchten. Es gibt auch einige Anleitungen , die sehr nützlich sein können. Dies wird Ihnen im Grunde helfen eine noch bessere Grundlage zu schaffen, als Sie es bereits haben, nachdem alle Vorlesungen zuvor gelesen haben. Darüber hinaus ist eine wichtige Sache natürlich, dass Sie dadurch am meisten lernen werden. Also. Das bedeutet im Grunde, dass Sie einfach immer wieder verschiedene Dinge ausprobieren. Oder ich möchte das hinzufügen, ich möchte es so machen, dass der Spieler in den Himmel geschossen wird. Und dann passiert XYZ, indem Sie kontinuierliche Schritte nach vorne machen. In Zukunft werden Sie noch mehr lernen können. Ich möchte auch einen Kurs für Fortgeschrittene bis Fortgeschrittene machen. Dies ist jedoch noch nicht verfügbar, sobald dies der Fall ist. Sie werden natürlich benachrichtigt, und Requisiten an Sie diese Ausdauer durchhalten, ist dass Sie diese Ausdauer durchhalten, ist das Beste, was Sie haben können , wenn Sie so etwas lernen. Denn am Ende kann das Skripting und Programmieren von Roblox an sich Skripting und Programmieren von Roblox an sich ziemlich herausfordernd und ziemlich kompliziert sein , aber du schaffst es. Ich bin also sehr stolz auf dich und freue mich darauf zu sehen, welches Roadblocks-Spiel du dir einfallen lassen wirst. Abgesehen davon danke ich zu sehen, welches Roadblocks-Spiel du dir einfallen lassen wirst. Abgesehen davon dir vielmals fürs Zuschauen. Nochmals, wenn dies für Sie nützlich wäre, würde ich mich über eine Bewertung von Ihnen sehr freuen. Ansonsten sehe ich dich hoffentlich im nächsten Kurs. Also ja.