Du musst dir die Coords deines Chars erst mit Cheatengine raussuchen, damit du damit arbeiten kannst.
Dann schreibst du dir die Coords von allen möglichen Spawnpunkten raus.
Dann vergleichst du ob die aktuelle position des Chars sich in einem der vorher notierten Spawnpunkte befindet.
Hab hier mal ne Spawnfunktion aus meinem Uralt HFFF Bot (von 2008, lol). Vielleicht hilfts dir ja.
north, south middle sind übrigens die 3 Spawnpunkte von der Map ;)
Code:
Func _SPAWN()
$MERKER = 0
$RND = Random(1500, 2500)
Sleep($RND)
$ROLL_1 = Random(1, 6, 1)
Select
Case $ROLL_1 = 6
$RND = Random(30000, 100000)
Sleep($RND)
EndSelect
$T_INIT_SPAWN = TimerInit()
$ZONE = _MemoryRead($ZONE_ADRESS, $PID)
Select
Case $ZONE = 129
Do
$T_DIFF_SPAWN = TimerDiff($T_INIT_SPAWN)
$READ_X = _MemoryRead($POS_X_ADRESS, $PID)
$READ_Y = _MemoryRead($POS_Y_ADRESS, $PID)
Select
Case ($READ_X > 3324071967 And $READ_X < 3324394360) And ($READ_Y > 1159184346 And $READ_Y < 1160550115) ;north
Send("{NUMPAD0}")
$RND = Random(200, 400)
Sleep($RND)
Send("{NUMPAD0}")
$RND = Random(200, 400)
Sleep($RND)
_MOUSE_MOVE(-10, 0, Random(99, 101, 1))
$RND = Random(200, 400)
Sleep($RND)
Send("{Space}")
$RND = Random(11400, 11600)
Sleep($RND)
Send("{r}")
$MERKER = 1
Case ($READ_X > 3324074163 And $READ_X < 3324405017) And ($READ_Y > 1152526703 And $READ_Y < 1155581531) ;middle
Send("{NUMPAD0}")
$RND = Random(200, 400)
Sleep($RND)
Send("{NUMPAD0}")
$RND = Random(200, 400)
Sleep($RND)
_MOUSE_MOVE(-10, 0, Random(99, 101, 1))
$RND = Random(200, 400)
Sleep($RND)
Send("{Space}")
$RND = Random(8300, 8350)
Sleep($RND)
Send("{r}")
$MERKER = 1
Case ($READ_X > 3323968247 And $READ_X < 3324398145) And ($READ_Y > 3288969411 And $READ_Y < 3296228729) ;south
Send("{NUMPAD0}")
$rndnumber = Random(200, 400)
Sleep($rndnumber)
Send("{NUMPAD0}")
$rndnumber = Random(200, 400)
Sleep($rndnumber)
_MOUSE_MOVE(10, 0, Random(30, 32, 1))
$rndnumber = Random(200, 400)
Sleep($rndnumber)
Send("{Space}")
$rndnumber = Random(7410, 7415)
Sleep($rndnumber)
Send("r")
$rndnumber = Random(390, 400)
Sleep($rndnumber)
Send("{a down}")
$rndnumber = Random(101, 104)
Sleep($rndnumber)
Send("{a up}")
$MERKER = 1
EndSelect
$T_DIFF_SPAWN = TimerDiff($T_INIT_SPAWN)
Until ($T_DIFF_SPAWN > 30000) Or $MERKER = 1
Sleep(1000)
Select
Case $T_DIFF_SPAWN > 30000
_CLOSE_WINDOWS()
_DISCHANGE()
_LOAD()
_SPAWN()
EndSelect
Case $ZONE <> 129
_RECONNECT()
_SPAWN()
EndSelect
EndFunc ;==>_SPAWN