• Willkommen im Geoclub - dem größten deutschsprachigen Geocaching-Forum. Registriere dich kostenlos, um alle Inhalte zu sehen und neue Beiträge zu erstellen.

Was passiert beim abspeichern?

izaseba

Geomaster
Hallo,
ich habe schon wieder ein Problem :hilfe:
Und zwar arbeite ich im Moment an einer Cardrige mit 12 Zonen, wo beim Start zufällig 12 Items verteilt werden.
Alles wird in einer Table nach folgendem Schema gespeichert:
Code:
Absturz={
    {
        zone=Bild1,
        datei=karte1,
        Bild=nil,
        aktiv=false,
        geloest=false
    },
    {
        zone=Bild2,
        datei=karte2,
        Bild=nil,
        aktiv=false,
        geloest=false
    },
...
...
}

Die Table habe ich im on start Event untergebracht.
In einer Funktion wird danach der Variable Bild eine Grafik zugewiesen.
Alles soweit gut und die Cardrige läuft Problemlos durch.
Ich hab mich sorag Heute bei dem Sauwetter aus dem Haus getraut, um das mal durch zu spielen, alles passt perfekt.
Jetzt kommt ein aber...
Wie krieg ich es hin, dass die Table gespeichert und beim erneuten laden korekt wieder initialisiert wird?
Hat schon jemand so was gemacht?

Gruß Sebastian
 
OP
izaseba

izaseba

Geomaster
Ich glaube ich habe die Lösung :^^:
Einfach eine Variable mit dem Identifier Absturz anlegen und schon wird alles gespeichert :eek:ps:

Gruß Sebastian
 

docfred

Geocacher
izaseba schrieb:
Hallo,
ich habe schon wieder ein Problem :hilfe:
Und zwar arbeite ich im Moment an einer Cardrige mit 12 Zonen, wo beim Start zufällig 12 Items verteilt werden.
Alles wird in einer Table nach folgendem Schema gespeichert:
Code:
Absturz={
    {
        zone=Bild1,
        datei=karte1,
        Bild=nil,
        aktiv=false,
        geloest=false
    },
    {
        zone=Bild2,
        datei=karte2,
        Bild=nil,
        aktiv=false,
        geloest=false
    },
...
...
}

Die Table habe ich im on start Event untergebracht.
In einer Funktion wird danach der Variable Bild eine Grafik zugewiesen.
Alles soweit gut und die Cardrige läuft Problemlos durch.
Ich hab mich sorag Heute bei dem Sauwetter aus dem Haus getraut, um das mal durch zu spielen, alles passt perfekt.
Jetzt kommt ein aber...
Wie krieg ich es hin, dass die Table gespeichert und beim erneuten laden korekt wieder initialisiert wird?
Hat schon jemand so was gemacht?

Gruß Sebastian

Wenn ich es richtig verstehe ist das ein benutzerdefnierter table.
Programmiert wird mit URWIGO und das gepostete steht in "User functions"

Damit das gespeichert wir muss du in URWIGO einfach eine Variable mit dem Namen des tables im Feld "identifier" anlegen. (Ich mach das als "string", ist aber wahrscheinlich egal). Die in URWIGO definierte Variable wird dann einfach mit deinem selbstdefiniten table gefüllt. Das sie in URWIGO definiert wurde, wird sie aber bei save mitgespeichert. Das geht deshalb weil LUA es mit dem Variablentyp nicht so genau nimmt. Durch Zuweisung wird hier aus string ein table.

docfred

Du hast es ja grad selbst rausgefunden
 
OP
izaseba

izaseba

Geomaster
@docfred,
besten Dank :up: genau so was das gemeint.
Manchmal hat man halt ein Brett vor dem Kopf :D
Ich muss mich noch daran gewöhnen, dass man bei LUA kein Datentyp bei Variablen zuordnen muss :^^:
 
OP
izaseba

izaseba

Geomaster
bodenseepingu schrieb:
Lest doch einfach das Wiki - wozu geben wir uns denn sonst so viel mühe - da steht es

Jou, lesen bildet, da hast Du recht.
Ist auch nicht so, dass ich nicht in Wiki nachgeschaut habe.
Es kann natürlich auch daran liegen, dass ich zu blöd war die Infos dort zu finden.
Im Kapitel über Variablen steht zumindest nichts drin, was mir geholfen hätte.

Gruß Sebastian
 

bodenseepingu

Geomaster
...wenn du die Initialisierung bei onStart reinnimmst, musst aber aufpassen, dass das keine lokale Variable wird...Ich mach meine tables immer direkt einfach bei User-Functions oben rein - separate Initialisierungsfunktionen ruf ich dann bei onStart() auf.

Variablen werden bei Urwigo in der table ZVariables gespeichert - und nur die dort angelegten Variablen werden beim Speichern/wieder laden auch restauriert - deshalb
funktioniert der Trick mit dem Überschreiben einer Urwigo-Variable.

Im Wiki ist das an 2 Stellen erwähnt - möglicherweise reicht das noch nicht aus - einmal beim Aufbau der LUA-Datei und das 2. mal beim Wherigo-spezifischen LUA-Befehlskatalog.

Was machst du eigentlich mit dem "Bild" in der Table? Was ist das - der Bild-Namen oder das Media-Objekt?
 
OP
izaseba

izaseba

Geomaster
Hallo,
die Initialisierung habe ich in der Tat beim On start Event.
Da die Cardrige Funktioniert, gehe ich doch davon aus, dass die Table Global ist.
Wenn es doch besser in den User Functions aufgehoben sein sollte, kann ich sie auch da ablegen, soll kein Akt sein ;)
Bild ist ein Media Objekt, das Je einem Item zugewiesen wird, das in den Zonen liegt.

Gruß Sebastian
 
Oben