Witam.
Szukam skryptu do NG na gobliny, żeby podnosił i dawał do ręki small stones, i sktypt na leczenia health potionami.
Z góry thx.
const
WeaponID = 3297
SpearID = 1781
SpearOz = 3.60
SpearAmount = 20
Fluid = [99, 2886, 2887, 2887, 2888, 2889, 2890, 2891]
Procedure PickUpSpears(Spears: TItem);
begin
if (Self.Capacity <= (Spears.Amount * SpearOz)) then
begin
if (Self.Capacity/SpearOz) > 1 then
Spears.MoveToContainer(Self.Containers.Container[0], 0, Int(Self.Capacity/SpearOz));
end else Spears.MoveToContainer(Self.Containers.Container[0], 0, 0);
Sleep(500);
end;
Procedure FindSpears;
var
x, y, z, i, f: integer;
Tile: TTile;
begin
for x := -1 to 1 do
begin
for y := -1 to 1 do
begin
Tile := Screen.Tile[x + 7, y + 5];
begin
for i := 0 to Tile.Count-1 do
begin
if i >= Tile.Count then Break;
if Tile.Item[i].ID = SpearID then
begin
if i = 1 then PickUpSpears(Tile.Item[i]);
else for f := Low(Fluid) to High(Fluid) do if Tile.Item[i-1].ID = Fluid[f] then PickUpSpears(Tile.Item[i]);
else Tile.Item[i-1].MoveToGround(Self.X+Random(-2,3), Self.Y+Random(-2,3), Self.Z, 0);
end;
end;
end;
end;
end;
end;
Function GetItemFromOpenBackpack(ID, Index: integer): TItem;
var
x: integer;
y: integer;
begin
Result := nil;
for x := 0 to Self.Containers.Count - 1 do
begin
if x >= Self.Containers.Count then Break;
if x = Index then Continue;
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 := Self.Containers.Container[x].Item[y];
Exit;
end;
end;
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;
while not terminated do
begin
UpdateWorld;
FindSpears;
Weapon := GetItemFromOpenBackpack(WeaponID, Self.Containers.Count);
if Weapon <> nil then Weapon.MoveToBody(Self.Arrow, 0);
Spear := GetItemFromOpenBackpack(SpearID, 0);
if Spear <> nil then Spear.MoveToContainer(Self.Containers.Container[0], 0, 0);
if (Self.RightHand.ID = SpearID) then
begin
if (Self.RightHand.Amount < 90) then
begin
Spear := GetItemFromOpenBackpack(SpearID, Self.Containers.Count);
if Spear <> nil then Spear.MoveToBody(Self.RightHand, 0);
end;
end else begin
SpearCount := CountItemAmountFromOpenBackpack(SpearID);
if SpearCount >= SpearAmount then
begin
Self.RightHand.MoveToBody(Self.Arrow, 0);
Sleep(500);
Spear := GetItemFromOpenBackpack(SpearID, Self.Containers.Count);
if Spear <> nil then Spear.MoveToBody(Self.RightHand, 0);
end else if Self.RightHand.ID = 0 then Self.Arrow.MoveToBody(Self.RightHand, 0);
end;
Sleep(500);
end;
const
minMana = 0; //minimum mana
minHealth = 350; //Health to start healing with ultimate health potion
maxHealth = 0; //Health to start healing with Exura
while not Terminated do
begin
UpdateWorld;
if (Self.Health < minHealth) then
begin
Self.Containers.UseItemWithSelf(266);
Sleep(1000);
end;
else
begin
if (Self.Health < maxHealth) and (Self.Mana > minMana ) then
begin
Self.Say('Exura'); //change this to Exura or Exura Gran as u wish
Sleep(1500);
end;
end;
Sleep(100);
end;
Ostatnio zmieniony przez Mag Samurai : 06-01-2009, 21:14
Ostatnio zmieniony przez Scaryario : 07-01-2009, 05:57
Ostatnio zmieniony przez Mag Samurai : 07-01-2009, 13:50
"Ilu klnie, że jest źle i dalej brnie, zwinięte banknoty, sto złotych, dziury dwie, Absolut, XTC, 1, 2, 3 czy to świat jest zły czy ty?"
Ostatnio zmieniony przez Aititsui : 08-01-2009, 00:23
Ostatnio zmieniony przez Scaryario : 08-01-2009, 06:33
Aktualnie 1 użytkowników przegląda ten temat. (0 użytkowników i 1 gości)
Zakładki