Benutzer-Werkzeuge

Webseiten-Werkzeuge


scripting:tutorials:level2:npcs

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
scripting:tutorials:level2:npcs [2023/09/10 14:00] fritz_98scripting:tutorials:level2:npcs [2023/11/11 11:53] (aktuell) – [Zusätzliche Parameter der Callback-Funktion] fritz_98
Zeile 1: Zeile 1:
-=====NPCs=====+======NPCs======
  
 Grundsätzlich sind alle Nichtspielercharaktere (Non-Player-Characters) NPCs. Im Kontext von Siedler 5 sind allerdings speziell jene Charaktere gemeint, die dem Spieler über Helden Interaktionen anbieten, gekennzeichnet durch ein großes Ausrufezeichen über dem Kopf. Grundsätzlich sind alle Nichtspielercharaktere (Non-Player-Characters) NPCs. Im Kontext von Siedler 5 sind allerdings speziell jene Charaktere gemeint, die dem Spieler über Helden Interaktionen anbieten, gekennzeichnet durch ein großes Ausrufezeichen über dem Kopf.
Zeile 52: Zeile 52:
 \\ \\
  
-===Interaktion mit einem bestimmten Helden===+====Interaktion mit einem bestimmten Helden====
  
 Möglicherweise wollen wir den Kundschafter nur mit Dario sprechen lassen. Dafür muss die Dario-Entity den Skriptnamen ''"Dario"'' besitzen: Möglicherweise wollen wir den Kundschafter nur mit Dario sprechen lassen. Dafür muss die Dario-Entity den Skriptnamen ''"Dario"'' besitzen:
Zeile 84: Zeile 84:
 \\ \\
  
-===Zusätzliche Parameter der Callback-Funktion===+====Zusätzliche Parameter der Callback-Funktion====
  
 Im vorigen Beispiel haben wir gesehen, dass es ganz schön sein kann, wenn der NPC den Helden, mit dem er angesprochen wird, direkt beim Namen nennen kann bzw. generell der Heldenname im Callback verfügbar ist. Im vorigen Beispiel haben wir gesehen, dass es ganz schön sein kann, wenn der NPC den Helden, mit dem er angesprochen wird, direkt beim Namen nennen kann bzw. generell der Heldenname im Callback verfügbar ist.
Zeile 110: Zeile 110:
          
     -- Mit dieser Information können wir nun festlegen, wie der Kundschafter den Helden anspricht     -- Mit dieser Information können wir nun festlegen, wie der Kundschafter den Helden anspricht
-    local Address = ""+    local Address = "Herr"
     if HeroName == "Ari" then     if HeroName == "Ari" then
         Address = "Herrin"         Address = "Herrin"
-    else 
-        Address = "Herr" 
     end     end
          
Zeile 139: Zeile 137:
 \\ \\
  
-===Weitere Parameter===+====Weitere Parameter====
  
 Im nächsten Beispiel wollen wir weitere Parameter für NPCs demonstrieren und zeigen, dass auf eine NPC-Interaktion nicht notwendigerweise ein Briefing folgen muss. Außerdem zeigen wir, dass einem NPC noch weitere, frei wählbare Werte gegeben werden können, auf die in der NPC-Interaktion zugegriffen werden kann. Im nächsten Beispiel wollen wir weitere Parameter für NPCs demonstrieren und zeigen, dass auf eine NPC-Interaktion nicht notwendigerweise ein Briefing folgen muss. Außerdem zeigen wir, dass einem NPC noch weitere, frei wählbare Werte gegeben werden können, auf die in der NPC-Interaktion zugegriffen werden kann.
Zeile 181: Zeile 179:
 ---- ----
  
-====Funktionen für NPCs====+=====Funktionen für NPCs=====
  
 Es gibt einige Funktionen, die für NPCs benutzt werden können, die im Folgenden kurz erklärt sind. Es gibt einige Funktionen, die für NPCs benutzt werden können, die im Folgenden kurz erklärt sind.
  
-===Einen NPC deaktivieren===+====Einen NPC deaktivieren====
  
 Mit der Funktion ''DestroyNPC(_NpcDescription)'' kann ein zuvor erstellter NPC wieder "zerstört" werden. Dabei wird **nicht die Entity gelöscht**, sondern nur die Interaktivität deaktiviert (also das Ausrufezeichen entfernt). Mit der Funktion ''DestroyNPC(_NpcDescription)'' kann ein zuvor erstellter NPC wieder "zerstört" werden. Dabei wird **nicht die Entity gelöscht**, sondern nur die Interaktivität deaktiviert (also das Ausrufezeichen entfernt).
Zeile 198: Zeile 196:
 \\ \\
  
-===Wegpunkte für NPCs===+====Wegpunkte für NPCs====
  
 Wir können NPCs wie den Kundschafter oben zwischen verschiedenen Wegpunkten umherwandern lassen. Dazu müssen auf der Karte Entities platziert werden, deren Skriptnamen einem durchnummerierten Schema folgen. Wir können NPCs wie den Kundschafter oben zwischen verschiedenen Wegpunkten umherwandern lassen. Dazu müssen auf der Karte Entities platziert werden, deren Skriptnamen einem durchnummerierten Schema folgen.
Zeile 218: Zeile 216:
 \\ \\
  
-===NPC-Status abfragen===+====NPC-Status abfragen====
  
 Um zu prüfen, ob mit einem NPC bereits gesprochen wurde, wird die Funktion ''TalkedToNPC(_NpcDescription)'' benutzt. Wie auch ''DestroyNPC'' arbeitet diese Funktion nur mit dem Namen der NPC-Beschreibung. Deshalb ist folgender Aufruf ausreichend: Um zu prüfen, ob mit einem NPC bereits gesprochen wurde, wird die Funktion ''TalkedToNPC(_NpcDescription)'' benutzt. Wie auch ''DestroyNPC'' arbeitet diese Funktion nur mit dem Namen der NPC-Beschreibung. Deshalb ist folgender Aufruf ausreichend:
scripting/tutorials/level2/npcs.1694354445.txt.gz · Zuletzt geändert: 2023/09/10 14:00 von fritz_98