Featurewunsch - Parameterübergabe

XML-Variante AOQML, ihre Möglichkeiten, Ergänzungen und Entwicklung...

Moderatoren: Ratsgruppe Programmierer, A-Team

Featurewunsch - Parameterübergabe

Beitragvon Tommek » Di 29 Dez, 2020 15:15

Ein Featurewunsch:

einem <choice> eine Variable anhängen, ähnliche der GET-Methode (HTTP-Requests) welche ich in der darauffolgenden Szene auswerten kann.

Code:
<choice target="szene.xml" get="X" name="X">szene</choice>


als Namen der Variable könnte standardmäßig der Szenennamen genommen werden.

Weshalb der Wunsch?

Es erspart Hilfszenen,. Zum Beispiel im Bereich Jagd, hier wird gefragt mit welcher Waffe man angreifen möchte. Jede Waffe hat eine eigene Szene, da der <choice> erst zur entsprechenden Wahl führt. Könnte ich jedoch dem choice übergeben was der Spieler geklickt hat, benötige ich nur noch eine Szene, in der ich dann mit switch auswerten kann. Ich hätte sowas bereits mehrmals benötigt.
Benutzeravatar
Tommek
Site Admin
Site Admin
 
Beiträge: 7640
Registriert: Mi 17 Mai, 2006 22:40
Wohnort: Eodatia
Heldenname: Alrik Dormwald
Mitglied bei: Orkwacht

Re: Featurewunsch - Parameterübergabe

Beitragvon Tommek » Di 29 Dez, 2020 15:17

Hier hatte ich Helix folgendes vorgeschlagen:

Die eigentliche Zielszene wird geschrieben, inklusive der Variablen-Abfragen.

Von der Quellszene wird auf die jeweiligen Szenen normal verlinkt. In diesen wird nur die Variable entsprechend gesetzt und das eigentliche Ziel über einen include eingebunden.

Damit hat man zwar mehr Dateien im Filesystem, aber es bleibt im Code trotzdem sehr übersichtlich ohne größere Umbauten.
Benutzeravatar
Tommek
Site Admin
Site Admin
 
Beiträge: 7640
Registriert: Mi 17 Mai, 2006 22:40
Wohnort: Eodatia
Heldenname: Alrik Dormwald
Mitglied bei: Orkwacht

Re: Featurewunsch - Parameterübergabe

Beitragvon lordhelix » Di 29 Dez, 2020 15:37

Die Jagd in der Rast fragt irgendwann ab welche Waffe man nehmen will. Maximal glaube ich gibt es 5 Optionen, welche alle auf je eine Szene verlinken.

Man hat also 6 Szenen: Auswahlszene + 5 Szenen (je 1 pro Option). Wenn man den Optionen in der Auswahl bereits den jeweiligen Parameter mitgibt, brauche ich nur 2 Szenen. 1 Auswahlszene und eine Szenen mit Auswertung der Waffe.

Das was Tommek mir vorgeschlagen hat funktioniert einwandfrei und ich dachte erst es sei die Lösung, aber es macht am Ende ja doch noch 1 Szene mehr.

1 Auswahlszene + 5 Hilfsszenen + 1 Auswertungsszene.

Der Code wäre dennoch "gebündelt" in einer Szene. Daher halte ich den Featurewunsch nicht mehr für unbedingt nötig, aber falls irgendwann mal was gemacht wird, dann bitte beachten :danke:
lordhelix
Ordenskrieger
Ordenskrieger
 
Beiträge: 389
Registriert: So 07 Apr, 2019 22:00
Heldenname: Helix

Re: Featurewunsch - Parameterübergabe

Beitragvon Lowlander » Di 29 Dez, 2020 19:03

Gerade großen Questen werden durch solche technischen Hilfsszenen unnötig unübersichtlich, daher finde ich das Feature nach wie vor sinnvoll.

Der Aufwand ist allerdings recht groß, weil nicht nur der ChoicePlayer (der Programmcode, der das choice-Tag auswertet) angepasst werden muss, sondern die Werte auch durch die URL geschleust, dann in der nächsten Questszenen-Aktivierung (quest.inc.php) aus der URL extrahiert und von dort an die QuestScene.class.php weitergeleitet werden müssen, da die Variable erst in der Ziel-Szene tatsächlich gesetzt werden, um auf die Spieler-Auswahl zu reagieren.

Ich stelle mir das am ehesten analog zu <set .../> so vor:

Code: Alles auswählen
<choice target="ziel-szene" name="variablenName" value="variablen-Wert" scope="scene"/>


Bereits geneierte Quest-Navigations-URLs müssen natürlich gültig bleiben, damit laufende Quests weiter funktionieren.

Bei dem Umbau würden einige Funktionen, die eh schon recht viele Parameter haben, mindestens einen weiteren bekommen (ich würde name/value/scope in einem Objekt zusammenfassen). Evtl. steht hier dann daher noch ein Refactoring an.
Lowlander
:: Ratsmitglied :: Programmierung
:: Ratsmitglied :: Programmierung
 
Beiträge: 2146
Registriert: So 25 Nov, 2007 18:05
Wohnort: Hage/Ostfriesland
Heldenname: Markorka Faargh


Zurück zu Questen, Abenteuer und Zufallsbegegnungen (inkl. AOQML)



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron