Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
| Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
|
quickstart:skripte:abfragen [2026/07/08 09:46] 216.73.216.251 alte Version wiederhergestellt (2026/06/27 02:02) |
quickstart:skripte:abfragen [2026/08/15 19:41] (aktuell) 43.173.181.57 alte Version wiederhergestellt (2017/01/09 15:59) |
||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | == Abfragen == | + | ====== Abfragen |
| + | |||
| + | ===== Abfragen ===== | ||
| If-Abfragen sind essenzieller Bestandteil aller Dialoge und Scripts. Hier wird am Beispiel eines Dialoges erklärt, wie man sie einsetzt. | If-Abfragen sind essenzieller Bestandteil aller Dialoge und Scripts. Hier wird am Beispiel eines Dialoges erklärt, wie man sie einsetzt. | ||
| Zeile 6: | Zeile 8: | ||
| Abfragen geschehen in der Regel in der Condition eines Dialoges, also in der dazugehörigen FUNC INT. Wenn dies TRUE zurückgibt, | Abfragen geschehen in der Regel in der Condition eines Dialoges, also in der dazugehörigen FUNC INT. Wenn dies TRUE zurückgibt, | ||
| + | <code C> | ||
| FUNC INT DIA_Dr_Test_110_Bloedmann_condition | FUNC INT DIA_Dr_Test_110_Bloedmann_condition | ||
| { | { | ||
| Zeile 13: | Zeile 15: | ||
| return TRUE; | return TRUE; | ||
| }; | }; | ||
| - | }; | + | };</ |
| ------ | ------ | ||
| - | IF (Npc_KnowsInfo(self, | + | <code C>IF (Npc_KnowsInfo(self, |
| Das ist der Kopf der Abfrage. IF ist das Schlüsselwort, | Das ist der Kopf der Abfrage. IF ist das Schlüsselwort, | ||
| ------ | ------ | ||
| + | <code C> | ||
| { | { | ||
| return TRUE; | return TRUE; | ||
| }; | }; | ||
| + | </ | ||
| Hier wird man erkennen, dass das return TRUE; einfach nur in die Klammern der Abfrage gesetzt wurde (was zwingend nötig ist). Die gesamte Funktion liest sich dann praktisch so: | Hier wird man erkennen, dass das return TRUE; einfach nur in die Klammern der Abfrage gesetzt wurde (was zwingend nötig ist). Die gesamte Funktion liest sich dann praktisch so: | ||
| Zeile 36: | Zeile 38: | ||
| So könnte das zum Beispiel aussehen: | So könnte das zum Beispiel aussehen: | ||
| + | <code C> | ||
| { | { | ||
| - | IF (Npc_KnowsInfo(other, | + | |
| - | && (Npc_HasItems(other, | + | && (Npc_HasItems(other, |
| - | || (Npc_HasItems(other, | + | || (Npc_HasItems(other, |
| - | { | + | { |
| - | return TRUE; | + | return TRUE; |
| - | }; | + | }; |
| - | }; | + | </ |
| Hier würde sich das so lesen: | Hier würde sich das so lesen: | ||
| Zeile 57: | Zeile 59: | ||
| Für geübte Laien hier mal die Profi-Variante der Erklärung: | Für geübte Laien hier mal die Profi-Variante der Erklärung: | ||
| - | func int Npc_HasItems(var c_npc n0, var int iteminstance) | + | <code C>func int Npc_HasItems(var c_npc n0, var int iteminstance)</ |
| var c_npc n0 bedeutet einfach nur, dass man da other (für den Helden) oder self (für den NPC) einsetzen muss (obwohl letzteres nicht unbedingt häufig verwendet wird). | var c_npc n0 bedeutet einfach nur, dass man da other (für den Helden) oder self (für den NPC) einsetzen muss (obwohl letzteres nicht unbedingt häufig verwendet wird). | ||
| Zeile 66: | Zeile 68: | ||
| ------ | ------ | ||
| - | == Operatoren == | + | ===== Operatoren |
| In Daedalus gelten die selben Operatoren wie in C++: | In Daedalus gelten die selben Operatoren wie in C++: | ||
| + | <code C> | ||
| == Gleich | == Gleich | ||
| != ungleich | != ungleich | ||
| Zeile 76: | Zeile 78: | ||
| <= kleiner oder gleich | <= kleiner oder gleich | ||
| < kleiner | < kleiner | ||
| + | </ | ||
| Einiges davon ist sicher schon vom Mathematikunterricht bekannt. | Einiges davon ist sicher schon vom Mathematikunterricht bekannt. | ||