Hi!
Ich wollte nun neben den Mark/Recall-Spells einige mehr Zaubersprüche hinzufügen und so eine Teleport-Mod erstellen.

Momentan hänge ich aber an den DivineIntervention-Spell (Göttlicher Eingriff) fest..
Ich musste leider nach einigen Stunden Arbeit und Verwunderung, warum der Mist nicht funktioniert, feststellen, dass GetDistance nur in der Selben Zelle funktioniert.

Jetzt muss ich irgendwie anders herausbekommen, welche Kirche am Nächsten ist.. Zur Erinnerung: Göttlicher Eingriff teleportiert den Spieler zur nächstgelegenen Kirche.

Momentan hab ich zwei Ideen.. Aber irgendwie brauch ich bei beiden die Postion eines Objekts (z.B. des Spielers) auf der Karte. Also praktisch die Pos. des Spiel-Markers. Ich hoffe ihr wisst was ich meine..

Dann kann ich entweder die Distanz von Spieler-Position und Kirchen-XMarker ausrechnen oder wie in HTML heruasfinden, ob der Spieler in einem bestimmten Bereich (soz. Image-Maps) ist.

Naja.. auf jeden Fall brauch ich die Pos. auf der Karte! Ist das möglich??
Oder habt ihr vlt eine bessere Idee?

MfG
Julius Gramm ^^

PS.:
Mal noch ein bsp. Script dieses Spells.. hab noch ein anderes.. naja.. schauts euch halt an:

Code:
ScriptName DivineInterventionScript

; by Osiris AKA Julius Gramm AKA Tino F.

float distance
short curChurch

Begin ScriptEffectStart

;hier wird überprüft wie weit die Marker vom Player entfernt
;sind und legt dann bei der höchsten Entf. den Marker fest

     set distance to Player.GetDistance AnvilDIMarker  	
     ;set curChurch to 1												

     if distance > Player.GetDistance BravilDIMarker
		set distance to Player.GetDistance BravilDIMarker
		set curChurch to 2
	endif	

     if distance > Player.GetDistance BrumaDIMarker
		set distance to Player.GetDistance BrumaDIMarker
		set curChurch to 3
	endif

     if distance > Player.GetDistance CheydinhalDIMarker
		set distance to Player.GetDistance CheydinhalDIMarker
		set curChurch to 4
	endif

     if distance > Player.GetDistance ChorrolDIMarker
		set distance to Player.GetDistance ChorrolDIMarker
		set curChurch to 5
	endif

     if distance > Player.GetDistance ICTempleCenterMarker && getstage MQ16 < 5		; könnte sonst möglicherweise die MQ beeinflussen
		set distance to Player.GetDistance ICTempleCenterMarker
		set curChurch to 6
	endif

     if distance > Player.GetDistance KvatchDIMarker && getstage MS48 >= 90				; könnte sonst möglicherweise die Befr. v. Kvatch beeinflussen
		set distance to Player.GetDistance KvatchDIMarker
		set curChurch to 7
	endif

     if distance > Player.GetDistance LeyawiinDIMarker
		set distance to Player.GetDistance LeyawiinDIMarker
		set curChurch to 8
	endif

     if distance > Player.GetDistance SkingradDIMarker
		set distance to Player.GetDistance SkingradDIMarker
		set curChurch to 9
	endif

     if curChurch == 1											;Jetzt wird der Player teleportiert
		Player.MovetoMarker AnvilDIMarker
	elseif curChurch == 2
		Player.MovetoMarker BravilDIMarker
	elseif curChurch == 3
		Player.MovetoMarker BrumaDIMarker
	elseif curChurch == 4
		Player.MovetoMarker CheydinhalDIMarker
	elseif curChurch == 5
		Player.MovetoMarker ChorrolDIMarker
	elseif curChurch == 6
		Player.MovetoMarker ICTempleCenterMarker
	elseif curChurch == 7
		Player.MovetoMarker KvatchDIMarker
	elseif curChurch == 8
		Player.MovetoMarker LeyawiinDIMarker
	elseif curChurch == 9
		Player.MovetoMarker SkingradDIMarker
	endif
End
Der Spieler wird natürlich immer nach Anvil geportet, weil die Distanzen alle gleich sind und keine kleiner!