-
Wie wird eine neue func void Rtn ausgelöst?
Ich habe mir jetzt alle Tutorials durchgelesen bzw. angeschaut, die ich finden konnte, aber keine Antwort auf diese Frage gefunden.
Wie wird also eine neue Tagesroutine ausgelöst?
Mit der Suchfunktion in den Dateien konnte ich leider auch keine Anhaltspunkte finden, da die Rtns nur in den NPC.d auftauchen, jedoch nicht mehr im Dialog.
Ich könnte natürlich das Problem umgehen, indem ich den bestehenden NPC verschwinden lasse und einen Doppelgänger am Zielort erscheinen lasse.
Aber es gibt sicherlich mit eurer Unterstützung eine elegantere Lösung.
Vielen Dank schon Mal für die Antworten.
Mitgewirkt an:
Das Korsarennest (Tester, Sprecher), Dunkle Geheminisse (Übersetzer), Odyssee (Sprecher), X in 1 Mod (Tester), Xeres‘ Rückkehr (Storywriter, Tester, Sprecher)
-
Nehmen wir mal als bsp. diesen NPC von mir, er soll beim Start des Spieles direkt vorm Haus des Spielers stehen, damit der Spieler in ihn rein rennt und nach dem Gespräch soll der dann seinen normalen Tagesablauf angehen.
Der Code in der Instance vom NPC sieht so aus:
Code:
daily_routine = Rtn_Start_4;
};
FUNC VOID Rtn_Normal_4 ()
{
TA_Sleep (22,20,07,00,"WP_TIBBETS_DORF_040_BETT");//Familie alle zusammen
TA_Smoke_Joint (07,00,11,40,"WP_TIBBETS_DORF_020");
TA_Sit_Chair (11,40,13,30,"WP_TIBBETS_DORF_040_STUHL");//Familie alle zusammen
TA_Stand_Drinking (13,30,16,30,"WP_TIBBETS_DORF_072");
TA_Stand_Eating (16,30,18,30,"WP_TIBBETS_DORF_072");
TA_Stand_WP (18,30,20,40,"WP_TIBBETS_DORF_072");
TA_Stand_Eating (20,40,21,20,"WP_TIBBETS_DORF_043");//Familie alle zusammen
TA_Sit_Chair (21,20,22,20,"WP_TIBBETS_DORF_040_STUHL");
};
FUNC VOID Rtn_Start_4 ()
{
TA_Stand_Guarding (05,00,00,00,"WP_TIBBETS_DORF_072");
TA_Stand_Guarding (00,00,05,00,"WP_TIBBETS_DORF_072");
};
Laut "daily_routine = Rtn_Start_4;" wird nun halt "Rtn_Start_4" gestartet beim start, um nun aber nach dem Gespräch ihn dazu zu bewegen den Tagesablauf "Rtn_Normal_4" zu benutzen muss man nur folgenden einfachen Code in SEINEM Dialog aufrufen:
Code:
Npc_ExchangeRoutine(self,"NORMAL");
Das wars auch schon, wichtig dabei ist, du in Npc_ExchangeRoutine, den String komplett groß schreibst UND das Rtn keine nullen im Namen haben.
Richtig: Rtn_DeinName_5
Falsch: Rtn_DeinName_005
(Aufzurufen mit: Npc_ExchangeRoutine(self,"DEINNAME");
Wichtig!
Willst du außerhalb des Dialogs die Rtn ändern musst du folgenden Code ausführne:
Code:
B_StartOtherRoutine(EW_Rojer_004, "NORMAL");
Ich hoffe es hilft
-
Ohh, ja, nur der Mittelteil also.
Vielen Dank neocromicon.
Dass ich das übersehen habe... .
Mit den Nullen meinst du aber vermutlich führende Nullen, oder? Der Char hat unter anderem die schon funktionierende Rtn
func void Rtn_Smalltalk_9000 ()
{
TA_Smalltalk(23,00,08,00,"BIGCROSS");
TA_Smalltalk(08,00,23,00,"BIGCROSS");
};
Mitgewirkt an:
Das Korsarennest (Tester, Sprecher), Dunkle Geheminisse (Übersetzer), Odyssee (Sprecher), X in 1 Mod (Tester), Xeres‘ Rückkehr (Storywriter, Tester, Sprecher)
-
Ja er darf nur davor keine haben, danach, also die 9000, ist völlig ok.
Die kacke hat mich mal nen halben Tag gekostet, bis ich das durch zufall herausgefunden hatte ^^
-
Zitat von neocromicon
Ja er darf nur davor keine haben, danach, also die 9000, ist völlig ok.
Die kacke hat mich mal nen halben Tag gekostet, bis ich das durch zufall herausgefunden hatte ^^
Nur ein halber Tag, um es dann selbst herauszufinden, spricht doch für deine Fähigkeiten, wenn ich das jetzt mit mir vergleiche. Da können schon ein paar Tage ins Land ziehen mit einigen eröffneten Fragenthreads, ehe es weitergeht.
Mitgewirkt an:
Das Korsarennest (Tester, Sprecher), Dunkle Geheminisse (Übersetzer), Odyssee (Sprecher), X in 1 Mod (Tester), Xeres‘ Rückkehr (Storywriter, Tester, Sprecher)
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
|