satanklaus
Geomaster
Zum Problem:
Ich bastle gerade einen Hint-Generator, den der Spieler ständig im Inventory hat und der abhängig vom jeweiligen Kontext Hilfe anbietet. Dazu habe ich einige generische Funktionen für die "Streng-Dich-erstmal-selber-an-Motivation": mit jedem Mal Hilfe anfordern verdoppelt sich die Wartezeit auf den Hint. Und nun brauche ich noch einen kontext-spezifischen Teil: Je nach Zone soll ein anderer Hilfetext kommen.
Dazu muss ich unterscheiden, ob ich a) überhaupt in einer Zone bin und wenn ja b) in welcher.
Bisher habe ich dazu eine String-Variable, die über globale OnEnter/OnExit Zone-Events entweder auf CurrentZone.Name oder "None" gesetzt wird. Die werte ich dann entsprechend aus und generiere den passenden Hint.
Funktioniert grundsätzlich, mich interessiert nun, ob ich die Kontext-Info auch nur bei Bedarf abfragen kann - also nur, wenn der Spieler das "Orakel" tatsächlich befragt.
Mein Problem ist, dass ich den Fall nicht vernünftig identifizieren kann, wenn der Spieler zum Zeitpunkt der Abfrage in keiner Zone ist.
Ein Compare von CurrentZone.Name mit nil hat in Urwigo nicht funktioniert und in Lua komme ich an das CurrentZone-Objekt nicht ran. Jetzt wo ich das schreibe fällt mir auf, dass ich noch mit einem leeren String ("") statt mit nil vergleichen könnte... aber egal:
Habt ihr Tipps, wie ich das lösen könnte? Vielleicht sind die CurrentXXX Objekte ja auch ein Holzweg?
Danke!
Ich bastle gerade einen Hint-Generator, den der Spieler ständig im Inventory hat und der abhängig vom jeweiligen Kontext Hilfe anbietet. Dazu habe ich einige generische Funktionen für die "Streng-Dich-erstmal-selber-an-Motivation": mit jedem Mal Hilfe anfordern verdoppelt sich die Wartezeit auf den Hint. Und nun brauche ich noch einen kontext-spezifischen Teil: Je nach Zone soll ein anderer Hilfetext kommen.
Dazu muss ich unterscheiden, ob ich a) überhaupt in einer Zone bin und wenn ja b) in welcher.
Bisher habe ich dazu eine String-Variable, die über globale OnEnter/OnExit Zone-Events entweder auf CurrentZone.Name oder "None" gesetzt wird. Die werte ich dann entsprechend aus und generiere den passenden Hint.
Funktioniert grundsätzlich, mich interessiert nun, ob ich die Kontext-Info auch nur bei Bedarf abfragen kann - also nur, wenn der Spieler das "Orakel" tatsächlich befragt.
Mein Problem ist, dass ich den Fall nicht vernünftig identifizieren kann, wenn der Spieler zum Zeitpunkt der Abfrage in keiner Zone ist.
Ein Compare von CurrentZone.Name mit nil hat in Urwigo nicht funktioniert und in Lua komme ich an das CurrentZone-Objekt nicht ran. Jetzt wo ich das schreibe fällt mir auf, dass ich noch mit einem leeren String ("") statt mit nil vergleichen könnte... aber egal:
Habt ihr Tipps, wie ich das lösen könnte? Vielleicht sind die CurrentXXX Objekte ja auch ein Holzweg?
Danke!