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

LUA - Personen/Gegenstände per LUA Code in Zonen verschieben

cotwild

Geocacher
Hallo zusammen
Ich erstelle gerade ein Mister X-Whereigo (Urwigo Builder) und komme nicht schlecht voran. Nur scheitere ich gerade beim Versuch meinen Mister X (Person) in eine Zone zu verschieben.
Kriege per Zufall einen Zonen-Namen, kriege es aber einfach nicht hin die Person zu verschieben. Wie kann ich auf die Position einer Person oder auch eines Gegenstandes zugreifen? Ich funktionieren z.b. folgende Parameter des Objekts Person:
-Name (mr_x.Name)
-Beschreibung (mr_x.Description)

Wie kriege ich die aktuelle Zone?? Habe mr_x.zone / mr_x.position / etc. ausprobiert... :-(

Bitte um einen kräftigen Schubs... (Habe lange gegoogelt und hier rumgeschmökert..)

Besten Dank im Voraus!
 
OP
C

cotwild

Geocacher
habe weiter gesucht..

für den Player (gerät selbst so wie ich dies verstehe) gibt es die möglichkeit mit dem
Code:
Player.InsideOfZones
herauszukriegen, in welchen Zonen ich mich befinde. Leider geht dies mit dem ZCharacter "mr_x" nicht.
Hat irgendjemand eine Ahnung wie ich Charaktere oder Gegenstände in Zonen verschieben kann mittels LUA-Code?
 
OP
C

cotwild

Geocacher
Mittlerweilen arbeite ich halt fast nur noch mit dem LUA-Code und speichere Daten in Variablen, die ich dann im Builder wieder nutzten kann. Mr. X wird jetzt nicht verschoben, sondern seine Position in einer Variable gespeichert...

Nun hänge ich jedoch wieder bei einem gleichen Problem. Ich versuche eine Eingabe mit Auswahl von LUA aus zu erstellen bzw. den Inhalt einer bestehenden anzupassen.... Wieder komme ich von LUA nicht auf das "Eingabemöglichkeiten"-Feld, da ich den Namen des Parameters nicht kenne. Das Objekt habe ich über
Code:
local objects = mycartridge.AllZObjects
	for index=1,#objects,1 do
		local inhalt = objects[index]
		if inhalt.Description ~=nil then
			if string.find(inhalt.Description,"Beschreibung meiner Eingabe") then
gefunden. Doch wie heisst das Feld "Eingabemöglichkeiten"? Gibt es eine Funktion, die mir alle vorhandenen Parameter auflistet??
 
OP
C

cotwild

Geocacher
Bin ein Stück weiter...
Code:
inhalt.Text
".Text" Ist die Frage der Eingabe... den Antwortparameter habe ich leider noch immer nicht...
 
OP
C

cotwild

Geocacher
Hallo zusammen

Bin ein grosses Stück weiter und möchte Euch die Ergebnisse meiner Recherchen und neuen Erfahrungen präsentieren:
Code:
z85_u06u30u34_SG.OriginalPoint = ZonePoint(47.4616723839337, 8.32106128334999, 0)
z85_u06u30u34_SG.DistanceRangeUOM = "Feet"
z85_u06u30u34_SG.ProximityRangeUOM = "Meters"
z85_u06u30u34_SG.OutOfRangeName = ""
z85_u06u30u34_SG.InRangeName = ""
z84_u06u81u83_SG = Wherigo.Zone(mycartridge)
z84_u06u81u83_SG.Id = "20a29168-46b4-44b7-8cbb-41a23dc1fe71"
z84_u06u81u83_SG.Name = _15n("\014\105\091\031\095\039\039\048\085\064")
z84_u06u81u83_SG.Description = _15n("\014\127\120\109\120\112\119\029\120\005\008\065\013\125\065\085\039\120\105\013\064\070\022\103\013\120\091\095\103\001\073")
z84_u06u81u83_SG.Visible = true
z84_u06u81u83_SG.Commands = {}
z84_u06u81u83_SG.DistanceRange = Distance(-1, "feet")
z84_u06u81u83_SG.ShowObjects = "OnEnter"
z84_u06u81u83_SG.ProximityRange = Distance(60, "meters")
z84_u06u81u83_SG.AllowSetPositionTo = false
z84_u06u81u83_SG.Active = false
z84_u06u81u83_SG.Points = {

Dies sind alles Parameter einer Zone. Wenn Ihr wie ich Mühe habt, die richtigen Parameter zu finden, die Urwigo nutzt, um auf diese direkt per LUA zugreifen zu können, dann macht folgendes:

-Package erstellen und in .ZIP umbenennen, entpacken und mit Editor öffnen... Hier ist dann der komplette LUA-Code inkl. allen von Urwigo gesetzten Parametern... :)
 

bodenseepingu

Geomaster
Entschuldige bitte, dass manch einer mal 2 Tage nicht liest.

Alle deine Antworten gibt es bereits hier in diesem Forum mehr oder weniger.

Kennst du www.das-wherigo-handbuch.de - dort sind insbesonders auch von mir sehr viele Beispiele,
die LUA verwenden.

Im Beispiel "Debug" gibt es Code, der per LUA Gegenstände von A nach B und umgekehrt schiebt. Das Beispiel Koffer arbeitet mit Items in Items und schiebt Gegenstände kreuz und quer.

Auch das Thema wie man die LUA-Datei _cartridge.lua aus einem .gwz extrahiert wurde hier schon behandelt.

Insbesonders das Debug-Beispiel oder das Koffer-Beispiel gehen auch per LUA damit um, wie man zur Laufzeit ermittelt, welche Gegenstände wo enthalten sind. Auch werden hier dynamische Auswahl-Eingaben aufgebaut. Bitte schau dir das einfach mal an.
 
OP
C

cotwild

Geocacher
Besten Dank für den Link! In welcher Region ist dein fertiggestellter Mister-X-Cache zu finden? => Tutorial gelesen, Frage beantwortet.. :)

Ich wollte die Stationen erst auch nur nummerieren, da ich jedoch nun auf 96 Stationen komme, brauchte ich eine andere Lösung. Nun habe ich einen komplexen Code als Kennung "z34_a12t23u83x03_SB".
z34 entspricht dem prinzip der nummerierung, a12...x03 sind die möglichen verbindungen (a=zug, t=taxi, u=bus, x=abkürzung mr. x), SB ist sektor B (beim platzieren von mr. x wird verhindert, dass er sich in der gleichen zone wie der spieler aufhält.

Das Ding läuft nun problemlos und ich arbeite noch an den Details, Bildern und dem letzten Schliff der Story.

Danke für eure Hilfe ;-)
cotwild
 

Krolock

Geocacher
cotwild schrieb:
Besten Dank für den Link! In welcher Region ist dein fertiggestellter Mister-X-Cache zu finden? => Tutorial gelesen, Frage beantwortet.. :)
cotwild
ca ne 3/4 Stunde südlich von Köln, ansonsten ist das Listing im Blog verlinkt und dort sind ja die Koors angegeben.
 
Oben