From: mormonman
Thats when you should move to a different tile.
Im trying to do it without moving so far iv done this
i only want to move as a last choice
Function LoadInfo : Boolean;
Begin
GraahkNPC := 7363;
With GraahkCol Do
Begin
UpText := 'aah';
MaxDist := 50;
Color := 3044321;
HueMod := 0.01;
SatMod := 1.91;
LumTol := 12;
MinR := 160; MaxR := 254;
MinG := 92; MaxG := 147;
MinB := 49; MaxB := 80;
MinX := 19.17; MaxX := 52.22;
MinY := 15.62; MaxY := 42.03;
MinZ := 5.00; MaxZ := 12.77;
End;
with GraahkCol2 do
begin
UpText := 'aah';
MaxDist := 50;
Color := 12819598;
HueMod := 0.35;
SatMod := 1.62;
LumTol := 14;
MinR := 111; MaxR := 193;
MinG := 130; MaxG := 193;
MinB := 157; MaxB := 220;
MinX := 20.95; MaxX := 52.49;
MinY := 22.13; MaxY := 53.68;
MinZ := 35.49; MaxZ := 72.18;
end;
End;
Function TeleportGraahk : Boolean;
Var
P: TPoint;
FC, LC : TPoint;
Begin
Result := False;
If FindNPC(GraahkNPC, NPC) Then
Begin
FC := TileToMS(Point(NPC.Tile.x - 1, NPC.Tile.y - 1), 5);
LC := TileToMS(Point(NPC.Tile.x + 1, NPC.Tile.y + 1), 5);
End;
If FindObjRecordEx(P.x, P.y, GraahkCol, FC.X, LC.Y, LC.X, FC.Y, True, True) Then
Begin
Mouse(P.x, P.y, 4, 4, True);
Wait(500 + Random(500));
Result := (GetColor(257, 368) = 128);
End;
If Not Result Then
Begin
Mouse(707, 145, 10, 10, True);
If FindNPC(GraahkNPC, NPC) Then
Begin
FC := TileToMS(Point(NPC.Tile.x - 1, NPC.Tile.y - 1), 5);
LC := TileToMS(Point(NPC.Tile.x + 1, NPC.Tile.y + 1), 5);
End;
If FindObjRecordEx(P.x, P.y, GraahkCol2, FC.X, LC.Y, LC.X, FC.Y, True, True) Then
Begin
Mouse(P.x, P.y, 4, 4, False);
Wait(500 + Random(500));
Result := (GetColor(257, 368) = 128);
End;
End;
If Result Then
Begin
Mouse(261, 435, RandomRange(-20, 20), RandomRange(-5, 5), True);
End;
End;