Quote:
Originally Posted by Xxx Daniel xxX
ja die schon injected aber wenn ich mir hier zb. bots anschaue und mir dann einfach die ID von irgendwelchen händlern aufschreibe haben diese eine ganz andere id als in den bots hier (wie zb. auch der frosti trank)
|
Die ID ändert sich ständig, schon wenn du den Distrikt wechselst, kann sich die ID ändern.
Die Model ID ändert sich hingegen nicht ständig...sollte man beachten.
Wenn du aber einen Händler ansteuern willst, dann mach das ganz einfach mit GetNearestAgentToCoords($x, $y)
Such die die Koordinaten raus, z.B. indem du dich einfach neben den NPC stellst und deine Koordinaten raussuchst.
Code:
$Merch = GetNearestNPCToCoords(7370, -24923)
Cmd($CA_GONPC, $Merch)
Jetzt rennt der Bot zu dem NPC hin, in dem Fall ist es der Händler in der Nördlichen Station, aber egal. Damit der Bot aber nicht sofort zur nächsten Funktion (z.b. Identifizieren) weiterspringt, solltest du überprüfen, ob du das Ziel schon erreicht hast. Das sieht dann in etwa so aus:
Code:
$Merch = GetNearestNPCToCoords(7370, -24923)
Cmd($CA_GONPC, $Merch)
Sleep(100)
$cbType = "float"
CmdCB($CA_GETCOORDS, -2)
Do
$oldCoords = $cbVar
Sleep(250)
$cbType = "float"
CmdCB($CA_GETCOORDS, -2)
If $oldCoords[0] = $cbVar[0] AND $oldCoords[1] = $cbVar[1] Then
Cmd($CA_GONPC, $Merch)
EndIf
Until ComputeDistance($cbVar[0], $cbVar[1], 7336, -24951) < 200
Sleep(Random(150, 250))
Func ComputeDistance($x1, $y1, $x2, $y2)
Return Sqrt(($y2 - $y1)^2 + ($x2 - $x1)^2)
EndFunc
Die ID des Händlers wird also bei jedes mal, wenn du ihn ansteuern willst, aktualisiert, deshalb kannst du dann mit ca_gonpc den NPC auch ansteuern.
Wenn du die funktion ca_useitembyid verwenden willst, musst du eben davor auch erst die id irgendwie rauskriegen. oder du benützst einfach die funktion ca_useitem