Code: Select all
program Fishing; {(c)Made by Slak}
type FishR = record
   Tile:word;
   X,Y,Z:integer;
end;
const
FishFile = 'Tiles.txt'; // {Имя файла с координатами тайлов...скинуть в папку где сам скрипт}
pole = $0DBF; //тип удочки
dagger = $0f51; //тип дагера
var FishP: array [0..333] of FishR;
    CountDim,i : Integer;
    stime : TDateTime;
{$Include 'all.inc'}
procedure GetRail(FileNam : String);
var
List : TStringList;
i : integer;
s : string;
begin
   List := TStringList.Create;
   List.LoadFromFile(FileNam);
   for i := 0 to List.Count-1 do
   begin
      s := List.strings[i] + ' ';
      FishP[i].Tile := StrToInt(Copy(s,1,Pos(' ',s)-1));
      Delete(s,1,Pos(' ',s));
      FishP[i].X := StrToInt(Copy(s,1,Pos(' ',s)-1));
      Delete(s,1,Pos(' ',s));
      FishP[i].Y := StrToInt(Copy(s,1,Pos(' ',s)-1));
      Delete(s,1,Pos(' ',s));
      FishP[i].Z := StrToInt(Copy(s,1,Pos(' ',s)-1));
      Delete(s,1,Pos(' ',s));
   end;
   CountDim := i-1;
end;
procedure moved;
var bag : Cardinal;
Begin
repeat
  findtype($0e75,ground);
  if (FindCount  >= 1) and (GetDistance(finditem)  <=2) and (GetDistance(finditem) >=0) and connected and (not dead) then begin
   bag := finditem;
   useobject(bag); wait(1000);
   grab(findtype($0EED,bag),0); wait(500);
   Ignore(bag);
   findtype($0e75,ground);
  end;
until (FindCount < 1) or dead;
{wait (1000);
FindType($099f, backpack);
               while (FindCount > 0) do
               begin
                  DropHere(FindItem);
                  wait(600); 
end;}
End;
Begin
SetARStatus(true);
Hungry(2,backpack);
clearjournal;
IgnoreReset;
GetRail(FishFile);
while true do
begin
while Connected and (not dead) do
begin
useobject(backpack);
if ( GetType(ObjAtLayer(RhandLayer))<>dagger ) and Connected and (not dead) then
begin
  if ObjAtLayer(LhandLayer)<>0 then unequip(LhandLayer); wait(1000);
  if ObjAtLayer(RhandLayer)<>0 then unequip(RhandLayer); wait(1000);
  useobject(backpack); wait(1000);
  findtype(dagger, backpack);
  if (FindCount > 0) then Equip(RhandLayer,finditem); wait(1000);
end;
  for i := 0 to CountDim do
  begin
   repeat
   stime := Now;
      CheckSave;
      usetype(pole,$FFFF);
      WaitForTarget(5000);
      if TargetPresent then TargetToTile(FishP[i].Tile,FishP[i].X,FishP[i].Y,FishP[i].Z); //координату z на свою менять нада!!!
      CheckTargetError(5,2);
      WaitJournalLine(now,'seem to|stop|far away|t use that',30000);
      moved;
   until (InJournalBetweenTimes('seem to|far away|t use that', stime, Now) >= 0)  or dead;
  end;
  Hungry(2,backpack);
end;
wait(100);
end;
End.Имеется вот такой скриптик. Хотелось что бы при произнесении определенной фразы, например give me my fish, чар скидывал на землю нарезаную рыбу которую он наловил.
помогите пожжалуста.
