Zitat: Natter
Was klappt denn nicht? brigens kannst du ein Event automatisch wiederholen lassen, indem du beim Aufruf register_timed_event(...).repeated:=true; setzt (falls ich das gerade richtig im Kopf habe, ansonsten nochmal nachfragen).
Also zunchst einmal erscheint der Einsatz bei jedem Ingame-Test woanders, egal welche Koordinaten ich zum Testen nehme. Hinzu kommt, dass sich dieser Einsatz leider nicht bewegt.
Wenn ich das Script im Debug-Modus ausfhre fllt mir folgendes auf:
1) MothershipMission.Position enthlt den Wert "Unknown Identifier"
2) MothershipMission.Country wird bei jedem Einsatz zufllig gewhlt.
Das repeated:=true habe ich in der Referenz nicht gefunden. Werde ich aber testen. Danke :)
Edit:
Eben getestet und funktioniert.
Zitat: DirkF
Allerdings knntest Du bei dem Code oben Probleme mit den Koordinaten bekommen - Du setzt den Bodeneinsatz zu Testzwecken genau auf einen der Pole, und an den Polen sind die Koordinatenverzerrungen am grten. Viele Bewegungen dort kann man nicht mit dem bloen Auge erkennen, weil die Punkte in der Koordinatenverzerrung auf den Pol fallen und optisch nicht mehr zu unterscheiden sind.
Zitat: DirkF
Zum anderen gibt es auf dem X-Force-Globus keine negativen Koordinaten - wenn Du bei Null startest und eine negative Richtung gehst, dann wird das auf der Y-Achse sowieso ignoriert (sdlicher als Sdpol geht's nunmal nicht) und bei der X-Achse in einen berlauf auf 360 fhren.
Was das angeht, wei ich nicht, wie die Koordinaten aufgebaut sind. Dachte eigentlich dass ich das mit ein paar Tests herausfinden wrde. Natrlich werde ich dann die Flle mit negativen Koordinaten und berlauf auffangen und verarbeiten.
Zitat: DirkF
das knnte auch noch fr rger sorgen.
Zum einen bist Du mit der random-Funktion kritisch und eventuell im undefinierten Bereich (die msste eigendlich immer 0 zurckgeben, temp kann niemals 1 werden).
Stimmt, da hat sich ein Fehler eingeschlichen. Danke :)
Zitat: DirkF
Und kontrolliere mal Deine logik bei den Bedingungen mit den Zusammenhngen zwischen DirX und Speed etc - die Kommentare dort entsprechen nicht dem was programmiert wurde - z.B. ist Speed eine Konstante, von der nie etwas abgezogen werden kann
Ich wsste nicht, wo da ein Fehler drin stecken sollte. Natrlich wird die Konstante Speed nie verndert (sonst wr sie ja nicht konstant). ;)
Jedoch kann man eine Zahl davon abziehen, sofern mit dem neuen Wert eine Variable berschrieben wird. Meine Idee war die: Speed entspricht die Entfernung, die der Einsatz (Mutterschiff) pro Minute zurcklegen kann. den Einsatz kann man ja nicht drehen und vorwrts fliegen lassen, also musste ich mir dafr was anderes einfallen lassen - den Satz des Pythagoras (Rechtwinkliges Dreieck, Katheten, Hypothenuse, usw.). Die Entfernung (Hypothenuse) ist die Konstante Speed, whrend DirX und DirY die beiden Katheten darstellen. DirX und DirY entsprechen also nicht der neuen Position, sondern nur die Richtung, in der das Mutterschiff fliegt. Damit das Mutterschiff nicht nur geradeaus fliegt wird DirX jede Minute ein wenig (-2..2) verndert und DirY so berechnet, dass die Entfernung zur neuen Position der Konstante Speed entspricht. Sollte DirX grer als Speed oder kleiner als -Speed werden, so wird die Differenz von Speed subtrahiert:
Im positiven Fall: DirX = Speed-(DirX-Speed)
bsp mit DirX=21 (19+2):
DirX = 20-(21-20) = 20-1 = 19
Im negativen Fall: DirX = -Speed-(DirX+Speed)
bsp mit DirX=-22 (-20-2)
DirX = -20-(-22+20) = -20+2 = -18
Sollte einer der beiden Flle passieren, nhert sich das Mutterschiff dem anderen Pol (negativeY wird dabei also geswitcht).
Ich kann auch im Nachhinein keinen grberen Denkfehler darin erkennen. Falls ich aber dennoch einen habe, lasst es mich wissen.
Edit: Ich habe den Fehler in meinem Script gefunden.
TGround.Position.x und TGround.Position.y kann man nicht ohne weiteres einfach ndern. Mann muss erst eine Variable vom Typ TFloatPoint erstellen und damit dann TGround.Position berschreiben.
Logikfehler habe ich noch 2 entdeckt: Zum einen bewegt sich das Mutterschiff viel zu schnell. Lsst sich aber ganz leicht runterschrauben, indem ich die Konstante Speed verringer.
Zum Anderen bewegt sich das Mutterschiff entlang der X-Achse in Pol-Nhe wesentlich langsamer als in quator-Nhe. Werd da wohl noch was bearbeiten mssen.
Was mich berrascht hat, ist dass das Mutterschiff einfach ber die Pole hinweg geflogen ist, ohne Probleme wegen einem berlauf zu verursachen.