Autor |
Nachricht |
< GTADS 2.0 Testversion |
|
Verfasst am:
Sa, 17 Mai 2014 - 22:08
|
|
|
Abenteurer

Anmeldungsdatum: 03.09.2009
Beiträge: 453
Wohnort: Cham
|
|
Ja, das Problem war, dass der Rückgabestring, auf den die Endgame Routine wartet, noch auf das englische UNDO gesetzt war. Ist behoben, neben einer Unstimmigkeit in der actorOutOfPrep bei den postures. Danke! |
|
|
|
 |
|
Verfasst am:
So, 18 Mai 2014 - 21:24
|
|
|
Neuling

Anmeldungsdatum: 14.05.2014
Beiträge: 16
Wohnort: Joao Pessoa, Brasil
|
|
Ich habe ein Problem mit den Endungen von Räumen.
z.B. habe ich einen Raum 'Tiefer Wald' und im Norden einen Raum 'Höhle' mit Ausgang nach Süden in den Wald.
Wenn der Spieler in der Höhle jetzt aber z.B. Norden eingibt, kommt folgende Meldung:
Du kannst nicht in diese Richtung gehen. Der offenbar einzige Ausgang führt nach Süden, zurück zu dem Tiefer Wald.
Das ist blöd. Ich habe nun den Raum mit isHim = true auf männlich gesetzt und den Raumnamen auf 'Tief[^] Wald' geändert.
jetzt steht in der Meldung zwar richtigerweise: ..., zurück zu dem tiefen Wald. aber leider wird der Raum (also die Kurzbeschreibung) falsch als 'Tief[^] Wald' angezeigt.
Kann man da was machen, oder bleibt einem letztendlich nur übrig auf zusammengesetzte Ortsangaben zu verzichten, also statt tiefer Wald nur Wald zu schreiben. |
|
|
|
 |
|
Verfasst am:
So, 18 Mai 2014 - 21:35
|
|
|
Abenteurer

Anmeldungsdatum: 03.09.2009
Beiträge: 453
Wohnort: Cham
|
|
Die Definition funktioniert folgendermaßen:
Code: | deepForest : OutdoorRoom 'Im tiefen, tiefen Wald' 'tief[^] Wald[-es]'
"Beschreibungstext"
isHim = true
;
|
Der erste Text entspricht der "roomName" Eigenschaft, der zweite der "name" Eigenschaft, welche für die zurück Meldung verwendet wird.
Der roomName ist dafür gedacht, beliebig ausformuliert zu werden (ohne Deklination), der name wird für den Exit Lister entsprechend dekliniert mit Adjektiv und Substantiv Endungen. |
|
|
|
 |
|
Verfasst am:
So, 18 Mai 2014 - 22:43
|
|
|
Neuling

Anmeldungsdatum: 14.05.2014
Beiträge: 16
Wohnort: Joao Pessoa, Brasil
|
|
Super, Danke! Damit funktioniert es so, wie ich es wollte. |
|
|
|
 |
|
Verfasst am:
Mo, 19 Mai 2014 - 3:10
|
|
|
Neuling

Anmeldungsdatum: 14.05.2014
Beiträge: 16
Wohnort: Joao Pessoa, Brasil
|
|
Habe noch zwei kleine Unstimmigkeiten entdeckt.
1. Wenn ich ein Objekt (welches sich im Inventar befindet) abstellen will:
>stelle [objekt] ab
erscheint als Ausgabe:
>Du siehst hier keinen [objekt] ab.
und das Objekt verbleibt im Inventar.
2. Ich habe einen Stuhl erstellt. Wenn der Spieler den Stuhl nimmt, dann aber eingibt:
>setze dich auf Stuhl
erscheint als Ausgabe:
>Das geht nicht, solange du den Stuhl in der Hand hat.
statt hast
Gruß, Chupup |
|
|
|
 |
|
Verfasst am:
Mo, 19 Mai 2014 - 10:01
|
|
|
Abenteurer

Anmeldungsdatum: 03.09.2009
Beiträge: 453
Wohnort: Cham
|
|
Danke fürs Melden:
Fehler 1 konnte ich nicht nachvollziehen, es sei denn es fehlt das Vokabular "Stuhl" an sich.
Fehler 2 ist nach erstem Anschein ein Fehler in der Original Bibliothek, der aber im Englischen wegen dem starren Satzbau nicht auffällt.
Code: | ['hat', &verbZuHaben, nil, nil, true] |
sollte vermutlich zu
Code: | ['hat', &verbZuHaben, 'actor', nil, nil], |
damit bei allen Verben der 'actor' also das Subjekt, getriggert wird. Da muss ich aber abschließend noch ein paar Tests machen. |
|
|
|
 |
|
Verfasst am:
Mo, 19 Mai 2014 - 13:52
|
|
|
Neuling

Anmeldungsdatum: 14.05.2014
Beiträge: 16
Wohnort: Joao Pessoa, Brasil
|
|
Fehler 1 hat nichts mit einem "Stuhl" zu tun. Es geht um das Verb "abstellen", also z.B. >stelle Kiste auf Boden ab
wenn man nur
>stelle Kiste
eingibt, dann fragt der Parser:
>worauf willst du sie stellen?
gibt man hingegen
>stelle Kiste ab
ein, dann gibt der Parser aus:
>Du siehst hier keine Kiste ab.
und wenn man eingibt, wohin man es stellen möchte:
>stelle Kiste auf Boden ab
erhält man diese Antwort:
>Du kannst die Kiste nicht auf etwas einstellen |
|
|
|
 |
|
Verfasst am:
Di, 20 Mai 2014 - 8:10
|
|
|
Abenteurer

Anmeldungsdatum: 03.09.2009
Beiträge: 453
Wohnort: Cham
|
|
Prüf doch bitte mal die Verbschablone (LegAb) in de_de.t
Dort müsste stehen:
Code: | VerbRule(LegAb)
verb('leg','lege','stell','stelle') dobjList prep('ab','hin','weg')
| verb('lass') dobjList prep('fallen','hier')
: DropAction
verbPattern('abzulegen/ablegen', '(was)')
; |
Damit funktioniert es bei mir. |
|
|
|
 |
|
Verfasst am:
Di, 20 Mai 2014 - 13:11
|
|
|
Neuling

Anmeldungsdatum: 14.05.2014
Beiträge: 16
Wohnort: Joao Pessoa, Brasil
|
|
Bei mir stand bloß:
Code: | VerbRule(LegAb)
verb('leg','lege','stell') ... |
habe das 'stelle' ergänzt und jetzt funktioniert es, bis auf
>stelle Kiste auf Boden ab.
Das 'ab' verwirrt den Parser, man muss es weglassen. |
|
|
|
 |
|
Verfasst am:
Di, 20 Mai 2014 - 14:22
|
|
|
Abenteurer

Anmeldungsdatum: 03.09.2009
Beiträge: 453
Wohnort: Cham
|
|
Das liegt daran, dass "auf etwas (ein)stellen" sich auf die Aktion SetTo bezieht (gedacht z.B. für "Stell Wecker auf 16 Uhr (ein)"), in diesem Fall wird der letzte Teil der Eingabe als freier Text (singleLiteral) verstanden. |
|
|
|
 |
|
Verfasst am:
Do, 22 Mai 2014 - 22:08
|
|
|
Abenteurer

Anmeldungsdatum: 03.09.2009
Beiträge: 453
Wohnort: Cham
|
|
So, die Vorschläge der Standardantworten sind nun, soweit es mir möglich war, eingepflegt,der komplette Code ist bereinigt und die Kommentare überarbeitet / besser lesbar gemacht.
Revision 20 auf Github beinhaltet die neuesten Änderungen und ich glaube wir nähern uns dem offiziellen Release von Version 2.0
Von meiner Warte aus ist G-TADS "feature complete", Alles, was ich beabsichtigt hatte einzubauen, ist nun enthalten. Vielen Dank an Alle für Verbesserungsvorschläge, Fehlermeldungen und Korrekturen. |
|
|
|
 |
|