Frage zum Scripting... AND OR NOT ?

Wo die Designer von Abenteuern Ideen, Tipps und Abenteuer austauschen können.

Moderators: Boar, Orphanus

User avatar
kokunze
Posts: 1338
Joined: Tue Sep 21, 2004 2:26 am

Frage zum Scripting... AND OR NOT ?

Post by kokunze »

Wenn ich zusätzliche Bedingungen für ein Event hinzufügen sind diese automatisch "and"-verknüpft. Es ist also kein Problem zu sagen:
"Wenn Spieler die Zone xy betritt UND er bereits Quest yz beendet hat" ...


Geht das auch andersrum? Kann ich irgendwie eine Aussage negieren bzw oder befehle nutzen?
Was ich gern sagen würde wäre dann:
"Wenn Spieler die Zone xy betritt ODER die Zone yz betritt"

bzw

"Wenn Spieler die Zone xy betritt und die Quest yz NICHT beendet hat"



(in diesem Fall könnte man das nicht beendet durch "aktiv ODER inaktiv" ersetzen, aber auch da bräuchte man einen ODER Befehl.
Letztes Event: Yubo Games 2006
Auswertung, Teilnehmerliste, Bilder und Hall of Fame auf
www.Ryzom-COW.de

Kontessa
www.Ryzom-COW.de
[size=-2]Wieder neu, wird schrittweise erweitert.[/size]
User avatar
epawel
Posts: 150
Joined: Tue Sep 21, 2004 2:26 am

Re: Frage zum Scripting... AND OR NOT ?

Post by epawel »

Hört sich verwirrend an :P
Master Lory Virox
-----------------------------
Leader of N Loox

[size=-2]
[ Mittelschwerer Rüstungsmeister ]
[
Meister Wüstenrrostoffabbauer ] [ Meisterrohstoffabbauer der Länder der Seen ] [ Meisterrohstoffabbauer der Urwurzeln ]
[/size]

[highlight]Shop [size=-2]

[/size]
[/highlight]_______ _______ _______ _______ _______
User avatar
zerotacg
Posts: 660
Joined: Fri Jan 28, 2005 10:26 am

Re: Frage zum Scripting... AND OR NOT ?

Post by zerotacg »

kokunze wrote:"Wenn Spieler die Zone xy betritt ODER die Zone yz betritt"
Zone xy triggert event A und zone yz triggert event a
also bei beiden zonen n event rein haun das das triggert was du willst
wenn dann eine der beiden zonen betreten wird wird der triggfer ausgelöst
kokunze wrote: "Wenn Spieler die Zone xy betritt und die Quest yz NICHT beendet hat"[/b]
man hat mehrere sachen zur auswahl bei nem quest
completed
prerequest
etc
könntest damit arbeiten und den trigger deactivieren wenn der Quest beendet ist
¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ Zerotacg ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
Server: Leanon, Gilde: Silberdrachen
Image Upload
IRC: [url=irc://irc.quakenet.org/#ryzom.de]irc://irc.quakenet.org/#ryzom.de[/url]
Jena saves,
Ma`Duk does incremental Backups.
User avatar
kokunze
Posts: 1338
Joined: Tue Sep 21, 2004 2:26 am

Re: Frage zum Scripting... AND OR NOT ?

Post by kokunze »

hmm, muss ich mir mal noch genauer anschauen. Wollte halt das der Missionesgeber die Mission erst gibt, wenn man bereits ein par andere erledigt hat. Soweit kein Problem...
Nun soll er aber wenn man die anderen Missionen noch nicht erledigt hat, ne Ersatz Nachricht sprechen. Und da liegt das Problem zu sagen, wenn du Quest1, oder Quest2 oder Quest3 noch nicht erledigt hast, dann mache Dialog xy.
Letztes Event: Yubo Games 2006
Auswertung, Teilnehmerliste, Bilder und Hall of Fame auf
www.Ryzom-COW.de

Kontessa
www.Ryzom-COW.de
[size=-2]Wieder neu, wird schrittweise erweitert.[/size]
yadayada
Posts: 37
Joined: Sat Jun 17, 2006 10:37 am

Re: Frage zum Scripting... AND OR NOT ?

Post by yadayada »

Setz nen Fake-Trigger zum Start des Szenarios, der bei Erfüllung von Quest 1 oder 2 oder 3 ausgelöst wird.

Beim letzten NPC prüfst dann, ob der Trigger ausgelöst wurde. Wenn ja, gib Mission, wenn nein, naja....gib sie nicht. *g*
User avatar
sahera
Posts: 155
Joined: Tue Sep 21, 2004 2:26 am

Re: Frage zum Scripting... AND OR NOT ?

Post by sahera »

kokunze wrote:Nun soll er aber wenn man die anderen Missionen noch nicht erledigt hat, ne Ersatz Nachricht sprechen. Und da liegt das Problem zu sagen, wenn du Quest1, oder Quest2 oder Quest3 noch nicht erledigt hast, dann mache Dialog xy.
Kannst ein Event setzen indem du sagst das der Dialog aktiv ist solange eines der Quest nicht abgeschlossen also Aktiv ist. Nach Abschliessen des jeweiligen Quest einfach die gemachten Quest auf inaktiv setzen, wenn alle Quest inaktiv sind wird dann der Dialog auch inaktiv.

Ich hoffe ich habe dich richtig verstanden ;)
Be'YleSahera

Wir Tryker glauben an die Werte der Freiheit, Gleichheit und Aufteilung !
Wenn du an eine Welt ohne Tyrannei oder Intoleranz glaubst, eine Welt ohne Meister und Sklaven, dann helfe uns, sie aufzubauen !

User avatar
kokunze
Posts: 1338
Joined: Tue Sep 21, 2004 2:26 am

Re: Frage zum Scripting... AND OR NOT ?

Post by kokunze »

yadayada wrote:Setz nen Fake-Trigger zum Start des Szenarios, der bei Erfüllung von Quest 1 oder 2 oder 3 ausgelöst wird.

Beim letzten NPC prüfst dann, ob der Trigger ausgelöst wurde. Wenn ja, gib Mission, wenn nein, naja....gib sie nicht. *g*
Das versteh ich jetzt nicht ganz wie es gemeint ist. Ein einfacher User Trigger kann doch nur "getriggert" werden, aber keinen Status wie 1 oder 0, bzw ja oder nein annehmen.

Zu Sahera:
Glaub ich weiß wie du das meinst. Die einfachste Variante einer Oder Verknüpfung ist für jedes Oder ereignes nen eigenes Event zu machen. Ist aber halt sehr aufwendig und hat bei mir aus irgend einem Grund nicht gefunzt.

Mein Beispiel:
"Wird Missionsgeber3 als Ziel ausgewählt und (Mission 1 oder Mission 2 sind noch nicht abgeschlossen oder GingoAngriffTruppe lebt noch), starte Dialog 1"

daraus wurden durch meine Variante 5 Events:
- Wird Missionsgeber3 als Ziel gewählt und ist Mission 1 aktiv, starte Dialog 1
- Wird Missionsgeber3 als Ziel gewählt und ist Mission 1 inaktiv, starte Dialog 1
- Wird Missionsgeber3 als Ziel gewählt und ist Mission 2 aktiv, starte Dialog 1
- Wird Missionsgeber3 als Ziel gewählt und ist Mission 2 inaktiv, starte Dialog 1
- Wird Missionsgeber3 als Ziel gewählt und lebt GingoAngriffTruppe noch, starte Dialog 1

(Es werden jeweils nach aktiv und inatkiv gefragt. Nur so ist gesichert das der Dialog getriggert wird, wenn man die Quest noch nicht angenommen hat UND wenn man sie angenommen aber noch nicht beendet hat)

Man sieht gleich den erheblichen Mehraufwand. Ausserdem wurde seltsamerweise der Dialog auch getriggert wenn beide Missionen successful waren und die GingoAngriffTruppe tot war.
Letztes Event: Yubo Games 2006
Auswertung, Teilnehmerliste, Bilder und Hall of Fame auf
www.Ryzom-COW.de

Kontessa
www.Ryzom-COW.de
[size=-2]Wieder neu, wird schrittweise erweitert.[/size]
User avatar
seroin0
Posts: 82
Joined: Tue Nov 30, 2004 9:03 am

Re: Frage zum Scripting... AND OR NOT ?

Post by seroin0 »

Das ist auch kein Wunder, warum er den Dialog startet, wenn die Gingotruppe tot ist oder wenn beide Missionen Erfüllt sind.
Schon wenn man die beiden Events sieht, so merkt man, dass der Dialog praktisch immer getriggert wird, da nunmal eine Mission entweder Aktiv oder Deaktiv sein kann.
Oder anders gesagt: diese 5 Zeilen sagen nicht mehr aus als diese:

Wenn Missionsgeber3 als Ziel gewählt, starte Dialog 1.


Warum reduzierst du das ganze nicht?
- Wird Missionsgeber3 als Ziel gewählt und ist Mission 1 inaktiv, starte Dialog 1
- Wird Missionsgeber3 als Ziel gewählt und ist Mission 2 inaktiv, starte Dialog 1
- Wird Missionsgeber3 als Ziel gewählt und lebt GingoAngriffTruppe noch, starte Dialog 1

So ist sichergestellt, das der Dialog nicht 100% der Zeit getriggert ist.
(Ich gebe keine Garantie auf Richtigkeit, da selbst noch nicht getestet ;) )
Last edited by seroin0 on Mon Sep 18, 2006 6:20 pm, edited 1 time in total.
yadayada
Posts: 37
Joined: Sat Jun 17, 2006 10:37 am

Re: Frage zum Scripting... AND OR NOT ?

Post by yadayada »

Ich meinte damit, dass Du Dir nen künstlichen 1 oder 0 Zustand schaffst, der mit der eigentlichen Sache nichts zu tun hat.

Beispielsweie kannst ja nach Erfüllung von Mission 1, 2 oder 3 irgendwo einen Yubo spawnen und der Dialog des letzten NPC richtet sich dann danach, ob der Yubo lebt oder nicht.
User avatar
tridman
Posts: 570
Joined: Tue Sep 21, 2004 2:26 am

Re: Frage zum Scripting... AND OR NOT ?

Post by tridman »

kokunze wrote:Mein Beispiel:
"Wird Missionsgeber3 als Ziel ausgewählt und (Mission 1 oder Mission 2 sind noch nicht abgeschlossen oder GingoAngriffTruppe lebt noch), starte Dialog 1"
Mal meine Lösungsidee:

Du scriptes Dialog 1 und sagt generell er soll gestartet werden, wenn Missionsgeber3 als Ziel ausgewählt wird.

Dann machst du folgende Events:
1. Wenn Mission 1 abgeschlossen -> Deaktiviere Dialog 1
2. Wenn Mission 2 abgeschlossen -> Deaktiviere Dialog 1
3. Wenn GingoAngriffTruppe stirbt -> Deaktiviere Dialog 1


Resultat ist, dass Der dialog gestartet wird, solange er aktiv ist. Sobald eine oder mehrere der Events getriggert wurden wird der Dialog abgeschaltet und wird auch nicht gestartet.

"You never know when a giant, flaming, magical, time-traveling bird is gonna swallow you whole and spit you out in the tenth century! - So hit those books!"
Brooklyn - Gargoyles: Clan-Building, Chapter eleven
Post Reply

Return to “Abenteuer-Designer Austausch und Tipps”