versteckter variablenwert?

Das Board für Schwierigkeiten beim Adventure-Machen und zum Melden von Bugs
Post Reply
Mcrip28
Tutorial Reader
Posts: 80
Joined: 17 Feb 2016, 22:08

versteckter variablenwert?

Post: # 83454Post Mcrip28
06 Oct 2016, 22:20

Hier mein hauptproblem des letzten jahres nocheinmal veranschaulicht dargestellt, auch wenn schon angedeutet wurde, dass es wahrscheinlich nicht lösbar ist:

Setstring(attribut1;Reli)
Setstring(attribut2;gion)
Setstring(zusammen;[attribut1][attribut2])
Setstring([zusammen];Atheist)

HIER DIE KÖNIGSFRAGE:
Wie kann ich in einem "textoutbefehl" den wert "atheist" anzeigen lassen, ohne "[religion]" zu benutzen?

Die variable "religion" ist ja da und kann abgerufen werden, aber ich muss mit der variablen "zusammen" arbeiten!
Last edited by Mcrip28 on 07 Oct 2016, 15:23, edited 2 times in total.

Mcrip28
Tutorial Reader
Posts: 80
Joined: 17 Feb 2016, 22:08

Re: versteckter variablenwert?

Post: # 83455Post Mcrip28
06 Oct 2016, 22:30

Wer sich nun trotzdem fragt: "warum nicht einfach"[religion]" in den textoutbefehl schreiben?"

Weil die variablenwerte von "attribut1" und "attribut2" ebenfalls variablen sind, und nicht wie oben fix.

Das bedeutet?

Attribut1:Reli
Attribut2:ef

Oder

Attribut1:Le
Attribut2:gion

Lasst euch nicht verwirren von DIESEM Zweiten post, wichtig ist nur der erste.

Zimond
Der Engine Papa
Posts: 3420
Joined: 06 Apr 2003, 19:34
Location: Krefeld
Contact:

Re: versteckter variablenwert?

Post: # 83456Post Zimond
07 Oct 2016, 00:52

[[zusammen]]

Wenn zusammen "Reliogion" enthält wird somit aus

[[zusammen]] [religion] und daraus dein wert den du ausgeben willst.
Image

Mcrip28
Tutorial Reader
Posts: 80
Joined: 17 Feb 2016, 22:08

Re: versteckter variablenwert?

Post: # 83459Post Mcrip28
07 Oct 2016, 15:03

Im textout die variable "[[zusammen]]" abzufragen, gibt den wert "0" aus.

Im textout die variable "[zusammen]" abzufragen, gibt den wert "religion" aus.

Ich möchte aber "atheist" ausgegeben haben.

Es muss doch möglich sein..

Mcrip28
Tutorial Reader
Posts: 80
Joined: 17 Feb 2016, 22:08

Re: versteckter variablenwert?

Post: # 83460Post Mcrip28
07 Oct 2016, 15:47

Herr Jesus, es klappt mit einer brücke:

Ich schriebe jetzt das funktionierende skript hier hin:

Setstring(attribut1;reli)
Setstring(attribut2,gion)
Setstring(zusammen;[attribut1][attribut2])
Setstring([[zusammen]];atheist)
Setstring(ausgabe;[[zusammen]])

Textout(1;[[ausgabe]];1;1)

_____________

Ohne den platzhalter "ausgabe" scheint es nicht zu funktionieren (?).

Danke für die hilfe, viele seniorenschmetterlinge im bauch.

Mcrip28
Tutorial Reader
Posts: 80
Joined: 17 Feb 2016, 22:08

Re: versteckter variablenwert?

Post: # 83461Post Mcrip28
07 Oct 2016, 16:13

Und für alle nochmal eine ausführlichere erklärung, wofür man das benutzen kann:

Da diese methode wie oben gezeigt in der engine möglich ist, kann man dieselbige auch für die attribute benutzen.

Attribut 1 wird dann kein fixer wert mehr (wie oben "reli"), sondern ebenfalls eine variable. Z.B. "[Stadtname]".

Attribut 2 wird ebenfalls von einem fixen wert "gion" zu einer variablen "[bürgername]".

Und es können weitere attribute angehängt werden, wie zb ein attribut3 mit einem variablen wert [alter].

Wenn man das ganze nun in eine an die engine angepasste "for-schleife" setzt, lassen sich mit nur wenigen zeilen skript tausende bürger erstellen, jeder mit zugehöriger stadt und eigenem alter.
Oder man kann alle bürger derselben stadt aufrufen.
Oder man kann alle bürger selbigen alters anzeigen lassen.
Ich glaube das nennt man "indexierung", voelleicht hat jemand mal was von "matrizen", also einer "matrix" in der mathematik gehört.

Sowas ist dann auch unter anderem das, was in zb. Wirtschaftsspielen im ladebildschirm angezeigt wird, wie zb: "erstelle städte" oder "arrangiere landschaft".

Diese etwas abstrakte aber eigentlich gut verständliche methode hilft mir bei beiden projekten:

1. Wild west abenteuer:
Spieler trifft zb im saloon auf NPCs, deren "attribut4" (dem aktuellen aufenthaltsort) dem wert "saloon" entspricht. Da es mehrere städte gibt, wird einfach noch das attribut1 (der stadtname des bürgers) auf die stadt überprüft, indem sich der spieler gerade befindet.

2. Selen sky (was auch immer das wird, mischung aus point and click und space odysee):
Mit obiger methode lassen sich mit vergleichsweise "wenig" zeilen skript schiffsflotten generieren. Jedes raumschiff hat koordinaten, beschleunigung, ziel, schussgenauigkeit etc. Verschieden infinit-funktionen kümmern sich um die "ai", es brauch im editor einfach nur noch ein schiff als objekt in den raum gesetzt werden und das skript erkennt, zu welcher fraktion es gehört und wie es sich verhalten soll.

Soviel dazu, mit einem gegnerschiff und dem spielerschiff funktioniert alles wie es sein soll, nur die frameraten geben mir etwas zu denken, ich schaue mal wie weit ich das ausreizen oder verbessern kann. ^^'

Da ich solange schon an dem in diesem thread gelösten problem sitze, kann ich endlich ausrasten, sofern es die zeit hergibt. Bis dahin ahoi!

Mcrip28
Tutorial Reader
Posts: 80
Joined: 17 Feb 2016, 22:08

Re: versteckter variablenwert?

Post: # 83462Post Mcrip28
07 Oct 2016, 16:46

Und wer auch immer irgendwann mal diese abgewandelte objektbasierte methode in der engine benutzen möchte, hier die lösung, wie man auf die x/y werte einer arrayvariablen zugreifen kann, denn "[objx:[[zusammen]]]" wird durch die 3 "]" von der engine nicht erkannt:

Setstring(attribut1;reli)
Setstring(attribut2,gion)
Setstring(zusammen;[attribut1][attribut2])
Setstring([[zusammen]];atheist)
Setstring(ausgabe;[[zusammen]])
Setstring(hilfsvariableausgabe2;[[ausgabe]])
Setstring(ausgabe2;[objx:[hilfsvariableausgabe2]])

Textout(1;[[ausgabe]];1;1)
Textout(2;[ausgabe2];1;1)

Also einfach ebenfalls eine brücke, mit angepasster Einklammerung.

Zimond
Der Engine Papa
Posts: 3420
Joined: 06 Apr 2003, 19:34
Location: Krefeld
Contact:

Re: versteckter variablenwert?

Post: # 83464Post Zimond
07 Oct 2016, 17:03

OK, dann ist wohl direkt im Textoutbefehl keine doppelte eckige Klammer möglich. Aber wenn der Umweg über einen weiteren String klappt ist dat ja juht.
Image

Mcrip28
Tutorial Reader
Posts: 80
Joined: 17 Feb 2016, 22:08

Re: versteckter variablenwert?

Post: # 83470Post Mcrip28
14 Oct 2016, 00:10

Hier kurz ein statement

Die engine ist erste sahne wenn es um eine einfache, schnelle umsetzung von point and click adventures geht. Genau dafür wurde sie auch gemacht.

Habe versucht die letzten tage das umzusetzen was ich bisher geschrieben habe. Bezüglich der arrayvariablen ist die engine allerdings nicht userfreundlich, bin aber wahrscheinlich auch nur einer der wenigen die das nutzen. Die variablen werden durcheinander geworfen, textouts geben gleichzeitig integer und strings aus, es scheint als ob hier der hintergrund-cache nicht gelöscht wird.
Es werden variablenwerte angezeigt, die nicht abgefragt werden. Den gnadenstoss hat mir persönlich die gestrige zugriffsverletzung gegeben, die die backups der letzten 20 std überschrieben haben.

Ziel war es immerhin, das ganze auszureizen, der punkt kann zumindest abgehakt werden haha.

Trotzdem danke für das engagement des erstellers und der aktiven members. Werde mich aber mal in java etc reinlesen.

Die beiden projekte werden nicht pausiert, aber in einer anderen software fortgeführt.

Werde trotzdem aktiv bleiben.

Gruss Mcrip

Zimond
Der Engine Papa
Posts: 3420
Joined: 06 Apr 2003, 19:34
Location: Krefeld
Contact:

Re: versteckter variablenwert?

Post: # 83471Post Zimond
14 Oct 2016, 19:49

Bezüglich der arrayvariablen ist die engine allerdings nicht userfreundlich, bin aber wahrscheinlich auch nur einer der wenigen die das nutzen. Die variablen werden durcheinander geworfen, textouts geben gleichzeitig integer und strings aus, es scheint als ob hier der hintergrund-cache nicht gelöscht wird.
Da bist du in der Tat am Rand des Machbaren ;P
Integers und Strings nutzen tatsächlich den gleichen Namensbereich weswegen eine Zahl nicht den gleichen Namen haben sollte wie ein String. Doof ich weis, aber das ist halt wenn sich so etwas mit der Zeit entwickelt und nicht von Anfang an so geplant wurde.
Image

Post Reply