NG Phorum

Forum o bocie TibiaNG oraz ElfBotNG


#1 2009-05-02 11:49:12

Admin

Administrator

Zarejestrowany: 2009-04-02
Posty: 24
Punktów :   

Depositer

Jest to depositer dodajemy go do końca skryptu i dajemy odpowiednio WPT do z Banku do Cave i z Cave do Banku
Najlepiej ściągnąć gotowy plik który jest w załączniku i dodać go na koniec WPT. Odnajdujemy koniec WPT Klikamy ADD>SCRIPT>Depositer.ng i powinno nam ładnie śmigać.

[hide]

Kod:

const
CaveToBankWaypoints = 'D:\Program Files\TibiaBot NG\macaco pra banco.wpt'
BankToCaveWaypoints = 'D:\Program Files\TibiaBot NG\banco pra macaco.wpt'

MinCap = 50;
WaitTime = 10;
////////////////////////////////////////////




var
Coins: integer;


Function GetTileFromXYZ(X, Y, Z: integer): TTile;
begin
Result := nil;
if abs((Self.X - 7) - X) > 14 then Exit;
if abs((Self.Y - 5) - Y) > 11 then Exit;
if Self.Z <> Z then Exit;
Result := Screen.Tile[abs((Self.X - 7) - X), abs((Self.Y - 5) - Y)];
end;


Procedure UseTile(X,Y,Z: Integer);
Var
Tile: TTile;
begin
if Z = Self.Z then
begin
Tile := GetTileFromXYZ(X, Y, Z);
Tile.Item[1].Use;
end;
else Unreachable := True;
end;

Procedure UseRope(X,Y,Z: Integer);
begin
if Z = Self.Z then
begin
Self.Containers.UseItemWithGround(3003, X, Y, Z);
end;
else Unreachable := True;
end;

Procedure MoveTo(X,Y,Z: Integer);
begin
if Z = Self.Z then
begin
Self.MoveTo(X,Y,Z);
end;
else Unreachable := True;
end;

Procedure UseShovel(X,Y,Z: Integer);
begin
if Z = Self.Z then
begin
Self.Containers.UseItemWithGround(3457, X, Y, Z);
Self.Containers.UseItemWithGround(5710, X, Y, Z);
Sleep(1000);
Self.MoveTo(X, Y, Z);
end;
else Unreachable := True;
end;


Procedure WaypointToAction(X,Y,Z,Action :Integer);
begin
UpdateWorld;
Case Action of
1: UseRope(X,Y,Z);
2: UseTile(X,Y,Z);
3: MoveTo(X, Y+1, Z+1);
4: MoveTo(X, Y-1, Z-1);
5: MoveTo(X, Y, Z-1);
6: MoveTo(X, Y, Z);
7: UseShovel(X,Y,Z-1);
8: MoveTo(X, Y, Z);
9: Sleep(X*1000);
else
MoveTo(X,Y,Z);
end;
end;


Function WaypointReached(X,Y,Z,Action :Integer): Boolean;
begin
UpdateWorld;
Result := False;
Case Action of
1: if (Z = Self.Z + 1) then Result := True;
2: if (Z = Self.Z + 1) then Result := True;
3: if (Z = Self.Z) then Result := True;
4: if (Z = Self.Z) then Result := True;
5: if (Z = Self.Z) then Result := True;
6: if ((X = Self.X) and (Y = Self.Y) and (Z = Self.Z)) then Result := True;
7: if (Z = Self.Z) then Result := True;
8: if (abs(Z - Self.Z) = 1) then Result := True;
9: Result := True;
else
if ((X = Self.X) and (Y = Self.Y) and (Z = Self.Z)) then Result := True;
end;
end;


Function CountWaypoints(FilePath: String): Integre;
Var
i: Integer
WaypointFile: TextFile
begin
i := 0
AssignFile(WaypointFile, FilePath);
ReSet(WaypointFile);
while not EoF(WaypointFile) do
begin
temp:= ReadLn(WaypointFile);
i := i+1;
end;
Result:= (i/4);
end;


Function ExtractWaypointsFromFile(FilePath: String; Count: Integer): Integre;
Var
i: Integr
WaypointsArray: Integer
WaypointFile: TextFile
begin
WaypointsArray := VarArrayCreate([0, Count - 1, 0, 3], $C);
AssignFile(WaypointFile, FilePath);
ReSet(WaypointFile);
for i:=0 to Count-1 do
begin
WaypointsArray[i,0] := StrToInt(ReadLn(WaypointFile));
WaypointsArray[i,1] := StrToInt(ReadLn(WaypointFile));
WaypointsArray[i,2] := StrToInt(ReadLn(WaypointFile));
WaypointsArray[i,3] := StrToInt(ReadLn(WaypointFile));
end;
CloseFile(WaypointFile);
Result := WaypointsArray;
end;


procedure DepositeGold;
begin
UpdateWorld;
Sleep(2000);
Self.NPCSay('hi');
Sleep(2000);
Self.NPCSay('deposit all');
Sleep(2000);
Self.NPCSay('yes');
Sleep(2000);
Self.NPCSay('bye');
end;

Procedure ResetBP;
begin
updateworld;
 If self.containers.count >= 1 then
  begin     
  sleep(2000);
  Self.Backpack.Use 
  sleep(2000);
  Self.Arrow.Use
  sleep(2000);
  Self.Backpack.Use 
  sleep(2000);
  Self.Arrow.Use
  sleep(2000);
  end;
 else
  begin 
  Self.Backpack.Use
  sleep(2000);
  Self.Arrow.Use
  sleep(2000);   
  end;
end; 


function CountItemAmountFromOpenBackpack(ID: integer): integer;
var
x: integer;
y: integer;
begin
Result := 0;
for x := 0 to Self.Containers.Count - 1 do
begin
if x >= Self.Containers.Count then Break;
for y := 0 to Self.Containers.Container[x].Count - 1 do begin
if y >= Self.Containers.Container[x].Count then Break;
if Self.Containers.Container[x].Item[y].ID = ID then begin
Result := Result + Self.Containers.Container[x].Item[y].Amount;
end;
end;
end;
end;

Procedure FollowWaypoint(FilePath: String)
begin
Index := 0
Unreachable := False
WaypointsCount := CountWaypoints(FilePath);
WP := ExtractWaypointsFromFile(FilePath, WaypointsCount);

while (Index <> (WaypointsCount-1)) and (not Terminated) do
begin
if Unreachable then
begin
Index := Index+1;
Unreachable := False;
end;

if Index = (WaypointsCount-1) then Index := 0;
if WaypointReached(WP[Index,0],WP[Index,1],WP[Index,2],WP[Index,3]) then
Index := Index +1;

WaypointToAction(WP[Index,0],WP[Index,1],WP[Index,2],WP[Index,3]);

Sleep(1000);
end;
end;

begin
updateworld
Coins := CountItemAmountFromOpenBackpack(3031);
if Self.Capacity > MinCap then exit;


//-------------------------------------------//
//***** Get from the Cave to the banker *****//
//-------------------------------------------//
//
//
FollowWaypoint(CaveToBankWaypoints); //
//
//
//*******************************************//


While (Coins > 0) and (not terminated) do
begin
DepositeGold;
Sleep(WaitTime*1000);
ResetBP;
updateworld;
Coins := CountItemAmountFromOpenBackpack(3031);
end;
if Terminated then Exit;


//-------------------------------------------//
//**** Return from the banker to the cave ***//
//-------------------------------------------//
//
//
FollowWaypoint(BankToCaveWaypoints); //
//
//
//*******************************************//


Sleep(1000);
end; [/hide]

Offline

 

Stopka forum

RSS
Powered by PunBB
© Copyright 2002–2008 PunBB
Polityka cookies - Wersja Lo-Fi


Darmowe Forum | Ciekawe Fora | Darmowe Fora
www.bulletsofpain.pun.pl www.nutriolandia.pun.pl www.microrc.pun.pl www.zawada.pun.pl www.gossip-girl.pun.pl