-
Schwertmeister
Also ich hab hier bei RM 2k3 nur die Möglichkeit 'Control Variables'. Ist das das Gleiche?
-
Provinzheld
Ja, ist das gleiche.
Eine andere Frage: Weshalb hast du soviele Waits in deinem Code? In der Regel reicht ein einziger 0.0 Wait am Ende des Events, wenn es sich um einen PP handelt. Du hast ans Ende einen 0.1 Wait gesetzt. Ich denke mal, weil du eine Verzögerung für's blocken willst. Sofern nicht, lass diesen auf 0.0. Die übrigen Dreieransammlungen weiter oben im Code, sollten überflüssig sein. Wobei ich keinen Überblick über dein KS habe, womit ich nicht sicher sagen kann, ob die ganzen Waits doch nötig sein könnten.
-
Schwertmeister
@Nagasaki Das mit den drei Waits zwischendrin habe ich mir vom Code von Kazesui abgeguckt. Ich habe keine Ahnung, ob das notwendig ist oder nicht. (:
@Kelven Also das Ganze sieht nun so bei mir aus:
CE 'control shield'
@> Control Variables: [0201:buckler] = [Nelu]'s Shield ID
& wie gehe ich weiter vor?
-
Provinzheld
Versuch das mal in deinem aktuellen Code zu integrieren. Wie Corti bereits anmerkte, frag ab, ob die Variable [0201:buckler] größer als 0 ist.
Hast du wieder folgendes an erster Stelle deines Codes stehen?
@> Key Input Processing: [0003], Wait
Wenn ja, lass sämtliche Waits in deinem Code weg und schau, wie gut es läuft. Wenn es Probleme gibt, zeig am besten bitte nochmal den gesamten Code für dein Block-System. Das wäre leichter nachzuvollziehen.
Nachtrag:
Natürlich alle Waits, bis auf den, der die Dauer des Blockens bestimmt.
Geändert von Nagasaki (31.08.2015 um 14:34 Uhr)
-
Schwertmeister
So?
CE (PP)
@> Control Variables: Variable [0201] = [Nelu ALCHEMI]'s Shield ID
@> Conditional Branch: Variable [0201:buckler] == 201
@> Control Switches: [0147:shield control] = ON
@>
: Else
@> Control Switches: [0147:shield control] = OFF
@>
: Branch End
Geändert von Norpoleon (31.08.2015 um 17:36 Uhr)
-
Schwertmeister
Fuck! Ich hab's tatsächlich verstanden. (:
Der Code sieht nun so aus:
@> Control Variables: [0201:buckler] = 1
@> Conditional Branch: Variable [0201:buckler] == 1
@> Control Switches: [0147:shield control] = ON
@>
: Else
@> Control Switches: [0147:shield control] = OFF
@>
: Branch End
-
Ritter
Das macht jetzt aber gar keinen Sinn mehr. Du setzt die Variable auf den Wert 1 und fragst in der nächsten Zeile ab, ob sie den Wert 1 hat, was natürlich immer zutrifft.
-
Deus
Du möchtest doch testen, ob irgendein Schild ausgerüstet ist. Dann müsste das so aussehen:
@> Control Variables: Variable [0201] = [Nelu ALCHEMI]'s Shield ID
@> Conditional Branch: Variable [0201:buckler] > 0
@> Control Switches: [0147:shield control] = ON
@>
: Else
@> Control Switches: [0147:shield control] = OFF
@>
: Branch End
-
Schwertmeister
& wie füge ich der Datenbank weitere Schilde hinzu?
Indem ich weitere Variablen als Shield ID benenne?
Oder sind alle in meinem Spiel möglichen Schilde bereits in der Datenbank?
Geändert von Norpoleon (01.09.2015 um 00:30 Uhr)
-
Provinzheld
Schilde stehen in der Datenbank bei den Items. Du wirst sicher wissen, wo diese zu finden sind.
Du benötigst zudem nur diese eine Variable. Es soll nur abgefragt werden, ob ein Schild ausgerüstet ist. Ist kein Schild ausgerüstet, so wird die Variable durch den Befehl
@> Control Variables: Variable [0201] = [Nelu ALCHEMI]'s Shield ID
stattdessen auf 0 gesetzt.
Wenn ein Schild ausgerüstet wird, dann nimmt die Variable den Wert der Item ID des Schildes an. Die Item ID ist immer größer als 0, da diese bei 1 anfangen. Für dein System sollte egal sein WELCHER Schild ausgerüstet ist. Es ist nur wichtig OB ein Schild ausgerüstet ist.
Daher sollst du mit dem Conditional Branch lediglich abfragen, ob die Variable größer als 0 ist.
-
Schwertmeister
Was ist jetzt, wenn bei unterschiedlichen Schilden etwas unterschiedliches passieren soll?
Beispielsweise soll bei Wood Shield Animation X abgespielt werden;
beim Bronze Shield soll Animation Y ablaufen.
-
Provinzheld
Dann fragst du nach der speziellen ID. Also welchen Wert die Variable hat um zu erkennen, welcher Schild ausgerüstet ist. Der Wood Shield hat z.B. die ID 44, der Bronze Shield die ID 48.
Das hat aber wenig mit dem System des Blockens an sich zu tun. Das ist Grafikspielerei. Daher solltest du die Abfrage hierfür in ein anderes Event auslagern und per Call aufrufen.
Stichworte
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln