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

Zuweisung von Zielen bei Objekten in Urwigo

daKnut

Geocacher
Code:
for key, value in pairs(table)....

key hat mir gefehlt. Dachte es wär optional. Scheint aber zwingend zu sein.

Danke!
 

daKnut

Geocacher
Jetzt wo das mit dem ermitteln der aktuellen Player Zone klappt. Habe ich mir den nächsten Schritt überlegt:

Ermitteln welche Character in der Zone des Players sind. Damit diese später in der Multiple Choice aufgeführt werden können.

Falls es hier schon bessere Herangehensweisen gibt nennt gerne eure Ideen.

Falls nicht geht es hier weiter mit dem Code:
Ich wollte alle ZCharatcter durchgehen und ihre aktuelle Zone mit der abgleichen die ich vom Player ermittelt habe.

Meine Schleife die erstmal nur die zCharacter durchgehen soll:
Code:
function NPCs()
strChars = ""
	for k , aChar in pairs(objTestCartridge.ZCharacter) do
		strChars = strChars .. aChar.Name
	end
	return strChars
end

Funktioniert aber nicht. Ist ZCharacter keine Table über alle ZCharacter in Cartridge?

Was funktioniert ist die selbe Schleife mit AllZObjects.
Code:
function NPCs()
strChars = ""
	for k , aChar in pairs(objTestCartridge.AllZObjects) do
		strChars = strChars .. aChar.Name
	end
	return strChars
end
 

bodenseepingu

Geomaster
....ich habe unter
http://www.das-wherigo-handbuch.de/index.php?title=Programmierbeispiele/Codesnipsel#Items

eine neue Version des Koffer-Beispiels hochgeladen.

Dabei habe ich die Objektverknüpfung für den Koffer durch eine selberprogrammierte ersetzt - d.h. hier fehlt bei allen zugelassenen Objekten die Rückwärtsverknüpfung
(Anmerkung: Regal und Garage enthalten zum Vergleich die originären Verknüpfungen)

Wenn du das anschaust, werden hoffentlich alle Fragen mehr oder weniger beantwortet - die Thematik ist nicht ganz einfach und diese Lösung entstand nach einigem Experimentieren, da ich zuerst mal die Objektverknüpfung von Urwigo nutzen wollte und diese nachträglich ausschalten wollte - geht aber leider nicht...weiteres siehe im wherigo-handbuch. Ich schreib noch was dazu...
 

bodenseepingu

Geomaster
daKnut schrieb:
:
Ich wollte alle ZCharatcter durchgehen und ihre aktuelle Zone mit der abgleichen die ich vom Player ermittelt habe.

Meine Schleife die erstmal nur die zCharacter durchgehen soll:

Funktioniert aber nicht. Ist ZCharacter keine Table über alle ZCharacter in Cartridge?

Ne, ne - du kannst nur über AllZObjects alle Objekte der Cartridge durchgehen und dann ermitteln, ob
das Objekt ein ZCharacter oder ZItem ist - im koffer-Beispiel siehst du auch das...
ZCharacter ist nur eine Klasse !!! Keine Table.

Ansonsten gibt es ja eine einzige Seite, die im Wherigo-Handbuch verlinkt ist, die alle Wherigo-Klassen und ihre Methoden / Tables etc. die soweit bekannt sind aufzählt. Das ist meine Referenz, wenn ich irgendwelche WIG-Internas für speziellen LUA-Code brauche..
 
OP
T

Team Bush-Rescue

Geocacher
Wow, da liest man mal drei Tage nicht und hier geschehen Meilensteine!
Langsam fällt es schwer, mitzukommen, aber Ihr macht ja riesige Schritte. Ich gehe mal davon aus, dass man die Codesnipsel auch frei weiter verwenden darf?
Ggf. baue ich dann den WIG doch noch einmal um. Oder besser noch, benutze das im nächsten.
 

daKnut

Geocacher
Ich an deiner Stelle könnte mich wohl nicht überwinden den Wherigo nochmal umzubauen :^^:

Alles von mir hier darfst du gern verwenden. Das sind alles nur Gedankenschnipsel. Glaube aber kaum das du dafür Anwendung finden wirst.

Bisher ist das für mich alles noch eine Phase des Verstehens (und in den Kopf kriegen :kopfwand: :D ).
 
OP
T

Team Bush-Rescue

Geocacher
daKnut schrieb:
Ich an deiner Stelle könnte mich wohl nicht überwinden den Wherigo nochmal umzubauen :^^:

Ja, mir lief auch ein seltsam mulmiges Gefühl durch den Bauch als ich das schrieb ;) Er wird sicher auch so ganz prima funktionieren, der Betatest war sehr vielversprechend und ich passe gerade nur noch etwas die Zonen an.

daKnut schrieb:
Alles von mir hier darfst du gern verwenden. Das sind alles nur Gedankenschnipsel. Glaube aber kaum das du dafür Anwendung finden wirst.
Bisher ist das für mich alles noch eine Phase des Verstehens (und in den Kopf kriegen :kopfwand: :D ).

Ich brauche noch etwas länger um hinterher zu kommen :) Liest sich momentan wie Holländisch - fremde Sprache, aber man bekommt irgendwie mit, was gesagt wird, auch wenn man selber nichts produzieren kann.
 

daKnut

Geocacher
@bodenseepingu
Danke schonmal für die vielen Infos! Ich tauch jetzt erstmal ab und versuch es zu verstehen! Ich komme aber sicher mit den einen oder anderen Frage nochmal wieder!

Eine Frage hätte ich aber noch damit ich verstehe was ich da verstehen will.

Dort werden Multiple Choice Eingaben generiert und als Befehl eingesetzt um Gegenstände in Zonen oder andern Gegenstände abzulegen/aufzunehmen?!
 

bodenseepingu

Geomaster
genau - ist aber eigentlich alles im wherigo-handbuch erklärt - es ging zuerst mal nur um items in items verpacken und wieder rauszuholen - und das beispiel habe ich nur für das item koffer geändert, um eine objektverknüpfung mit lua zu programmieren, da viele die hier diskutierte rückwärts-verknüpfung nicht mögen
einfach mal im emulator probieren und das verhalten von koffer, regal bzw garage miteinander vergleichen. für den koffer musste ich dazu selber eine table mit zulässigen items oder charactern anlegen
 
OP
T

Team Bush-Rescue

Geocacher
An alle, die hier mitgelitten und gedacht haben: Das Objekt meiner grau gewordenen Haare und gleichzeitig mein ganze Stolz ist endlich online.
Ich habe einige von Euch übrigens erwähnt ;)

Danke für die Hilfe!
 

AoiSora

Geocacher
Hab mir grad dein Listing angeschaut. Sieht wirklich echt super aus. Vorallem dass du den Film von Majus mit verlinkt hast gefällt mir^^. Den find ich einfach so geil.

Hab den WIG auch mal angetestet. Sieht wirklich super aus. Komplex, gute Story und fette Dialoge (so wie ein Monkey Island sein muss)

Häng nur grad im Wald fest und weiß nicht ob man das am Emu schaffen kann. Aber man muss es ja auch nicht komplett am PC durchspielen können, hauptsache man bekommt einen guten ersten Eindruck davon.

Also von mir bekommste zwei *Daumen hoch* :2thumbs:
 

Charlenni

Geomaster
Äh, zufällig hier drüber gestolpert, da ich etwas zum Thema Commandos gesucht habe. Ist zwar schon etwas her, könnte aber für den einen oder anderen doch noch interessant sein.

Was hier gesucht wird, dass also die Umkehrung nicht geht, gibt es sehr wohl im Command. Nennt sich MakeReciprocal und ist standardmässig auf true gesetzt, also alle Commandos, bei denen die WorksWithList Einträge enthält, werden auch beim Ziel angezeigt. Setzt man MakeReciprocal auf false, geschieht dies nicht mehr. In wie weit das die einzelnen Player unterstützen, kann ich nicht sagen, aber OpenWIG kann es (und damit auch WhereYouGo).

Das Command müsste dann so aussehen:

zitemApfel.Commands = {
Gib = Wherigo.ZCommand{Text="Geben", CmdWith=true, Enabled=true, MakeReciprocal=false, EmptyTargetListText="Nothing available"},
}

Getestet habe ich das noch nie, ist aber von den Wherigo-Entwicklern so vorgesehen.
 

daKnut

Geocacher
Es erfordert alle eine Anpassung im Quellcode und ist nicht über den Builder einzustellen?
Sollte es sich so lösen lassen finde ich das noch akzeptabel.

Danke für den Hinweis!
 

Charlenni

Geomaster
Ja, muss bisher von Hand gemacht werden. Der Entwickler von Earwigo ist dran, das weiß ich. Inwieweit Urwigo in der Richtung weiter entwickelt wird, ist mir noch nicht klar. Passiert da noch etwas? Kann man da noch Wünsche äußern?
 

jonny65

Geomaster
Bezug auch auf den Thread http://forum.geoclub.de/viewtopic.php?f=74&t=67692
hier ist es aber besser thematisch besser aufgehoben. Man soll dem Spion Geld geben können, das Kommando Geben soll auch nur beim Geld erscheinen :
In Urwigo Menü > View > Lua user functions einfach die Zeile
Code:
objGeld.Commands.cmdGeben.MakeReciprocal = false
eintragen, weiter nix.
 

PapaGei139

Geocacher
Man soll dem Spion Geld geben können, das Kommando Geben soll auch nur beim Geld erscheinen :
In Urwigo Menü > View > Lua user functions einfach die Zeile
Code:
objGeld.Commands.cmdGeben.MakeReciprocal = false

eintragen, weiter nix.

Hat das einer inzwischen so hinbekommen?
Bei mir kommt beim Versuch meine Testcartridge zu compilieren eine Lua-Fehlermeldung.
Bevor die Frage kommt. Ja, ich hab das Item und den Befehl an meine angepasst. :roll:
 

Charlenni

Geomaster
Ich würde es mal mit
Code:
objGeld.Commands["Geben"].MakeReciprocal = false
versuchen. Höchstens Du hast das Commando mit einem Namen versehen, der "cmdGeben" lautet. Ansonsten sollte es funktionieren. Wengistens auf Garmin Playern.

Eventuell noch darauf achten, dass der Befehl vor einem "Enabled" ausgeführt wird. Dort wird nämliche der Wert abgeprüft und das reziproke Commando bei Bedarf erstellt.
 

Sabeta

Geocacher
@Leto,

habe es eben getestet, die Verschlüsselung der Bezeichner muß raus, dann bleibt die Fehlermeldung aus, allerdings funktioniert es dennoch nicht.


Eine funktionierende Urwigo-Datei würde mich interessieren.

Sabeta
 

Sabeta

Geocacher
okay, jetzt funktioniert es (auch mit Verschlüsslung) - wenn auch nicht so wie erhofft* als benutzterdefiniertes LUA

Code:
abbrechen.Commands.abbrechen.MakeReciprocal = false
Die Kennung des Befehls ist hier "abbrechen"
Die Kennung des Items ist ebenfalls "abbrechen"

* ich benötige das genau andersherum :D
 
Oben