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

Wandernde Zone (Agent von Bodenseepingu)

FSNTL

Geocacher
Ich habe mir mal den Agenten angesehen, kann ich gut gebrauchen ;-)

Allerdings habe ich da noch zwei Fragen.

Wie in der Datei : Anhang anzeigen agent_1.zip zu sehen habe ich noch eine weitere Zone (Weg) erstellt, dieser Weg darf nicht verlassen werden, warum bekomme ich die Meldung (Weg verlassen) wenn der Agent den Weg betritt? :???:

Die Einstellung (Richtung, Entfernung Größe) beim Erstellen der Agentenzone habe ich gefunden und geändert, warum wird die Agentenzone denn wieder Größer sobald Sie sich bewegt? :???:


Würde mich freuen wenn sich das mal Jemand anschaut und mir hilft :hilfe:

Danke
 

Charlenni

Geomaster
1. Der Agent ist der Spieler oder der Character aus der Cartridge?
2. Die Zone witrd in der Funktion function move_zone(zone, point, v_min, v_max) bewegt. Dort ist der Radius mit 10 m angegeben. Die Zone wird bewegt, in dem einfach die Punkte am neuen Ursprung neu erzeugt werden (und das halt mit 10 m Radius um den Ursprung).
 
OP
F

FSNTL

Geocacher
Der Agent ist der Character und verfolgt den Spieler (Spieler darf nur auf dem Weg laufen)
 
OP
F

FSNTL

Geocacher
Noch zwei Fragen....

01 => Wie kann ich den "Agenten" wieder auf die Grundposition bringen (also die Tabelle mit den letzten Positionen bereinigen) und wieder neu starten?

02 => Die Geschwindigkeit ist ja in dem Code:
Code:
function move_zone(zone, point, v_min, v_max)
    local entf
    local radius = 5
    local entf , b = calc_dist_bearing(zone.OriginalPoint, point)
    print(entf, b)
    local speed = entf / 15    --kann auch ne andere Algorithmik reingesetzt werden
    if speed < v_min then speed = v_min end
    if speed > v_max then speed = v_max end
    local dist = Wherigo.Distance(speed,'m')   --wir gehen von einem Timing von 1sec aus - d.h. speed in meter pro sek
    zone.OriginalPoint = Wherigo.TranslatePoint(zone.OriginalPoint,dist,b)
    zone.Points = GetZonePoints(zone.OriginalPoint,radius)
    --deaktivieren, aktivieren in Urwigo...
    return entf
end

bei local speed festgelegt, kann ich dafür auch eine Variable nutzen (und wenn ja, wie?) damit ich in der Cartrige die Geschwindigkeit ändern kann?

Danke und Gruß
 
OP
F

FSNTL

Geocacher
Hallo, Punkt 02 habe ich mit einer Variablen schon gelöst.

Aber wie kann ich die schon gespeicherten Positionen in der Tabelle wieder löschen, damit ich den Agenten wieder mit der Grundposition starten kann??

Danke und Gruß
Frank
 
Oben