Forum nie tylko o Tibii i OTS...

Nie tylko o Tibii i OTS...


#1 2010-04-22 16:43:32

 Dynamo

Zbanowany

***4314
Skąd: z śmietnika
Zarejestrowany: 2010-04-20
Posty: 257
Nick: Domyśl się :)
Profesja: Szukam ...
Server: Nie wiadomy ;<
WWW

Skrypty do NG BOT (Nie MOJE)

Witam, dzisiaj znowu dodaje nie MOJE skrypty, lecz teraz do NG Bot'a bo też wiele osób poszukuję.

Skrypty pochodzą z paru for.

Więc zaczynamy :

Strzelanie z runy:

Kod:

Const
  RuneID = 3155 // tutaj id runy
  MinHP = 1100 // ponizej xx hp nie strzeli z runy
function GetAttackedCreature:TCreature;   
begin   
  UpdateWorld;   
  result := nil;   
  for i := 0 to Creatures.Count -1 do   
  begin   
    if i >= Creatures.Count then break;   
    if Creatures.Creature[i].ID = Self.Attacking then   
    Begin   
      result := Creatures.Creature[i];   
      exit;   
    end;   
  end;   
end;   
while not terminated do
begin   
  UpdateWorld;
  Creature := GetAttackedCreature;   
  if Creature <> nil then   
  if Self.Health >= MinHP then
  Self.Containers.UseItemWithCreature(RuneID,Creature);   
  sleep(3000);
end;

Używanie mana potiona, gdy xxx HP:

Kod:

const
 Hp='666'  // przy jakiej ilosci hp ma sie uleczyc
 Mana='20' // ilosc mana, mozna zmienic na exure gran/vite
 ManaPotionId='000' //ID manapotiony, ktory chcemy uzyc
 HealSpell='Exura'
while not terminated do
begin
if Self.Mana < Mana then
Self.Containers.UseItemWithSelf(ManaPotionId);
Sleep(200);
if Self.Health <= Hp then
Self.Say(HealSpell);
Sleep(2000);
end;

Wyloguj gdy wbijesz xx exp:

Kod:

Const
   Exp = 4200
while not terminated do
begin
  UpdateWorld;
  if Self.Experience >= Exp
  then Self.Logout(True);
  Sleep(1000);
end;

Zmiana SOFTów na BOHy i na odwrót:
Zmiana butów z bohy na softboots i na odwrót w zależności od HP. Np, jeżeli ustawimy w const HPsoft = 1000 i HPboh = 1500 (tak jak jest teraz), to gdy HP nam spadnie poniżej 1000 to założy soft buty, a gdy będzie powyżej 1500 to założy bohy.


Kod:

const
   BohID = 3079;
   SoftID = 6529;
   HPsoft = 1000;
   HPboh = 1500;
procedure changeBoots(id : integer);
var
  x,i:integer;
begin
   for x:=0 to self.containers.count-1 do
   begin   
      for i:=0 to self.containers.container[x].count -1 do
      begin
         if self.containers.container[x].item[i].id = id then
         begin
            self.containers.container[x].item[i].movetobody(self.feet,1);   
            exit;     
         end;   
      end;
   end;
end;
begin
   updateworld;
   if self.health > HPboh then
      if self.feet.ID = bohID then exit
         else changeBoots(BohID);
   else if self.health < HPsoft then
      if self.feet.ID = SoftID then exit
         else changeboots(softID);     
end;

Użycie Exori, gdy Stalker blisko:

Kod:

Const
  MonsterToCheck = 'Stalker'
  MinHealth = 300
  MinMana = 200 
function CountMonstersBesideYou:Integer;
begin
  Result := 0;
  UpdateWorld;
  for i := 0 to creatures.Count -1 do
  begin
        if i >= Creatures.Count then break
        for x := -1 to 1 do
        begin
            if x >= 2 then break
            for y := -1 to 1 do
            begin
                if y > 1 then break;
                if Creatures.Creature[i].NPC then
                if (Creatures.Creature[i].x = Self.X +x) and (Creatures.Creature[i].y = Self.y + y) then
        if Creatures.Creature[i].Name = MonsterToCheck then
        Result := Result + 1;
            end;
        end;
  end;
end;
while not terminated do
begin
  UpdateWorld;
  if CountMonstersBesideYou >= 1 then
    if Self.Mana >= MinMana then
  if Self.Health > MinHealth then
  Self.Say('exori');
    sleep(200);
end;

Rozbudowany Slime trainer:

Kod:

const Food_Id = 3606; // zmień na inne id jedzenia
      MinMana = 30; // do ile many ma jeść
      StrongWeaponID = 3320; l// ID "normalne" broni
      HealAtHp =400; // ulecz gdy masz x hp
      UhAtHp=300;  // uh gdy max x hp
      KillAtHp=320; // zabij matke gdy max x hp
var
StrongWeapon:TItem;
function GetItemFromOpenBackpack(ID: 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;
    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 Attacking: boolean;
begin
   UpdateWorld;
   for x := 0 to Creatures.Count - 1 do
   begin
      UpdateWorld;
      if Creatures.Creature[x].Attacking then
      begin
         Result := True;
         Exit;
      end;
   end;
   Result := False;
   Exit;
end;
function GetFollowedCreatureID: integer;
begin
   UpdateWorld;
   for x := 0 to Creatures.Count - 1 do
   begin
      UpdateWorld;
      if Creatures.Creature[x].Following then
      begin
         Result := Creatures.Creature[x].ID;
         Exit;
      end;
   end;
end;
var
   MotherSlime, X1, Y1: integer;
begin
updateworld;
updateworld;
   MotherSlime := GetFollowedCreatureID;
   while not Terminated do
   begin
      UpdateWorld;
      if self.LogoutBlock=false then self.Logout(false)
  begin
    UpdateWorld;
      if ((Self.Health) <(HealAtHp)) and ((Self.Mana)>(25)) then
      Self.Say('exura')
       UpdateWorld;
       //if ((Self.Health) <(UhAtHp)) then Self.Containers.UseItemWithSelf(ITEM_RUNE_UH);
      Sleep(1000);
   end;
      if not Attacking then
         begin
         UpdateWorld;
         for x := 0 to Creatures.Count - 1 do
             begin
             UpdateWorld;
             if Creatures.Creature[x].ID <> MotherSlime then
             begin
               if (Creatures.Creature[x].Name <> Self.Name) and Creatures.Creature[x].NPC then
               begin
                  UpdateWorld;
                  X1 := Creatures.Creature[x].X;
                  Y1 := Creatures.Creature[x].Y;
                  if (X1 - Self.X = 1) or (X1 - Self.X = 0) or (X1 - Self.X = -1) then
                  begin
                     UpdateWorld;
                     if (Y1 - Self.Y = 1) or (Y1 - Self.Y = 0) or (Y1 - Self.Y = -1) then
                     begin
                        if Creatures.Creature[x].Health>70 then
                           Begin
                           Creatures.Creature[x].Attacking := true;
                           Break;
                           end;
                     end;
                  end;
               end;
            end;
         end;
      end;
      else
          begin
          if self.Health < KillAtHp then
             Begin
             PlaySound('d:\ouch.wav');
         UpdateWorld;
         for x := 0 to Creatures.Count - 1 do
         begin
            UpdateWorld;
            if Creatures.Creature[x].ID = MotherSlime then
            begin
               if (Creatures.Creature[x].Name <> Self.Name) and Creatures.Creature[x].NPC then
                        Creatures.Creature[x].Attacking := true;
                        StrongWeapon:= GetItemFromOpenBackpack(StrongWeaponID);
                        if  StrongWeapon <> nil then
                        StrongWeapon.MoveToBody(Self.RightHand, 0);
                        Break;
            end;
         end;
      end;
if Self.Mana < MinMana then
   begin
      UpdateWorld;
      for container := 0 to Self.Containers.Count - 1 do
      begin
         UpdateWorld;
         for item := 0 to Self.Containers.Container[container].Count - 1 do
         begin
            UpdateWorld;
            if Self.Containers.Container[container].Item[item].ID = Food_Id then
               Self.Containers.Container[container].Item[item].Use;
         end;
      end;
   end;
end;
Sleep(1000);
   end;
   end;

Gdy w ręku nie ma spearów/kamyków, postać się wylogowuje:

Kod:

while not terminated do
begin
  UpdateWorld;
  if Self.RightHand.ID = 0 then
  Self.Logout(true);
  sleep(500);
end;

Wyślij wiadomość, gdy wpadnie x% skilla:

Kod:

Const
  FriendName = 'Mateusz Dragon Wielki'
begin
UpdateWorld;
X := Self.Skills.Sword.Percentage;
Y := Self.Skills.Shielding.Percentage;
X1 := Self.Skills.Axe.Percentage;
Y1 := Self.Skills.Club.Percentage;
Z := Self.Skills.Fist.Percentage;
Z1 := Self.Skills.Distance.Percentage
XX := Self.Skills.Magic.Percentage;
while not terminated do
begin
  UpdateWorld;
  if X <> Self.Skills.Sword.Percentage then
  begin
    Self.PrivateMessage(FriendName,intToStr(100 - Self.Skills.Sword.Percentage) + '% to Sword level ' + IntToStr(Self.Skills.Sword.Level + 1));   
    X :=  Self.Skills.Sword.Percentage;
    sleep(1500);
  end;
  if Y <>  Self.Skills.Shielding.Percentage then
  begin
    Self.PrivateMessage(FriendName, IntToStr(100 - Self.Skills.Shielding.Percentage) + '% to Shield level ' + IntToStr(Self.Skills.Shielding.Level + 1));   
    Y := Self.Skills.Shielding.Percentage;
    Sleep(1500);
  end;
  if X1 <> Self.Skills.Axe.Percentage then
  begin
    Self.PrivateMessage(FriendName,intToStr(100 - Self.Skills.Axe.Percentage) + '% to Axe level ' + IntToStr(Self.Skills.Axe.Level + 1));   
    X1 :=  Self.Skills.Axe.Percentage;
    sleep(1500);
  end;
  if Y1 <> Self.Skills.Club.Percentage then
  begin
    Self.PrivateMessage(FriendName,intToStr(100 - Self.Skills.Club.Percentage) + '% to Club level ' + IntToStr(Self.Skills.Club.Level + 1));   
    Y1 :=  Self.Skills.Club.Percentage;
    sleep(1500);
  end;
  if Z <> Self.Skills.Fist.Percentage then
  begin
    Self.PrivateMessage(FriendName,intToStr(100 - Self.Skills.Fist.Percentage) + '% to Fist level ' + IntToStr(Self.Skills.Fist.Level + 1));   
    Z :=  Self.Skills.Fist.Percentage;
    sleep(1500);
  end;
  if Z1 <> Self.Skills.Distance.Percentage then
  begin
    Self.PrivateMessage(FriendName,intToStr(100 - Self.Skills.distance.Percentage) + '% to Distance level ' + IntToStr(Self.Skills.Distance.Level + 1));   
    Z1 :=  Self.Skills.Distance.Percentage;
    sleep(1500);
  end;
  if XX <> Self.Skills.Magic.Percentage then 
  begin 
    Self.PrivateMessage(Self.Name,intToStr(100 - Self.Skills.Magic.Percentage) + '% to Magic level ' + IntToStr(Self.Skills.Magic.Level + 1));   
    XX :=  Self.Skills.Magic.Percentage; 
    sleep(1500); 
  end;   
  sleep(100);
end;   
end;

Zbieranie spearów z ziemi do prawej ręki:

Kod:

const
   ITEM_SPEAR_ID = 3277;
   AMOUNT = 10;
var
   Item: TItem;
   Tile: TTile;
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;
function GetItemOnTile(ID: integer; Tile: TTile): TItem;
var
  Z: integer;
begin
  Result := nil;
  for Z := 0 to Tile.Count - 1 do
  begin
    if Z >= Tile.Count then Break;
    if Tile.Item[Z].ID = ID then
    begin
      Result := Tile.Item[Z];
      Exit;
    end;
  end;
end;
begin
   while not Terminated do
   begin
      UpdateWorld;
      if Self.RightHand.Amount <= Amount then
      begin
         UpdateWorld;
         //Northwest
         Tile := GetTileFromXYZ(Self.X - 1, Self.Y - 1, Self.Z);
         Item := GetItemOnTile(ITEM_SPEAR_ID, Tile);
         if Item <> nil then
            Item.MoveToBody(Self.RightHand,0);
         //North
         Tile := GetTileFromXYZ(Self.X, Self.Y - 1, Self.Z);
         Item := GetItemOnTile(ITEM_SPEAR_ID, Tile);
         if Item <> nil then
            Item.MoveToBody(Self.RightHand,0);
         //Northeast
         Tile := GetTileFromXYZ(Self.X + 1, Self.Y - 1, Self.Z);
         Item := GetItemOnTile(ITEM_SPEAR_ID, Tile);
         if Item <> nil then
            Item.MoveToBody(Self.RightHand,0);
         //West
         Tile := GetTileFromXYZ(Self.X - 1, Self.Y, Self.Z);
         Item := GetItemOnTile(ITEM_SPEAR_ID, Tile);
         if Item <> nil then
            Item.MoveToBody(Self.RightHand,0);
         //Center
         Tile := GetTileFromXYZ(Self.X, Self.Y, Self.Z);
         Item := GetItemOnTile(ITEM_SPEAR_ID, Tile);
         if Item <> nil then
            Item.MoveToBody(Self.RightHand,0);
         //East
         Tile := GetTileFromXYZ(Self.X + 1, Self.Y, Self.Z);
         Item := GetItemOnTile(ITEM_SPEAR_ID, Tile);
         if Item <> nil then
            Item.MoveToBody(Self.RightHand,0);
         //Southwest
         Tile := GetTileFromXYZ(Self.X - 1, Self.Y + 1, Self.Z);
         Item := GetItemOnTile(ITEM_SPEAR_ID, Tile);
         if Item <> nil then
            Item.MoveToBody(Self.RightHand,0);
         //South
         Tile := GetTileFromXYZ(Self.X, Self.Y + 1, Self.Z);
         Item := GetItemOnTile(ITEM_SPEAR_ID, Tile);
         if Item <> nil then
            Item.MoveToBody(Self.RightHand,0);
         //Southeast
         Tile := GetTileFromXYZ(Self.X + 1, Self.Y + 1, Self.Z);
         Item := GetItemOnTile(ITEM_SPEAR_ID, Tile);
         if Item <> nil then
            Item.MoveToBody(Self.RightHand,0);
      end;
      Sleep(200);
   end;
end;

Alarm, gdy mało many:

Kod:

Const
  MinMana = 50
  AlertPath = 'C:/Windows/Media/Notify.wav'
while not terminated do
begin
  UpdateWorld;
  if Self.Mana <= MinMana then
  PlaySound(AlertPath);
  Sleep(500);
end;

Alarm, gdy brak food w BP:

Kod:

Const
FoodID = 1111 // WPISZ ID FOODA
MusicPath = 'C:\Windows\Media\Notify.wav'
while not terminated do
begin
UpdateWorld;
a:=0;
For x:= 0 to Self.Containers.Count - 1 do
begin
for y := 0 to Self.Containers.Container[x].Count - 1 do
begin
if Self.Containers.Container[x].Item[y].ID = FoodID
then a := 1;
Sleep(100);
end;
sleep(100);
end;
sleep(100);
if a = 0 then PlaySound(MusicPath);
end;

Alarm, gdy Twoja postać, nie rusza się xx sekund:

Kod:

const
  MaxIdleSeconds = 15;
  AudioFile = 'D:\WINDOWS\Media\ringout.wav'; 
var
  LastX: integer;
  LastY: integer;
  IdleCount: integer;
begin
  LastX := 0;
  LastY := 0;
  IdleCount := 0;                   
  while not Terminated do
  begin
    UpdateWorld;
    if ((Self.X = LastX) and (Self.Y = LastY)) then Inc(IdleCount) else IdleCount := 0;
    if IdleCount >= MaxIdleSeconds then PlaySound(AudioFile);   
    LastX := Self.X; 
    LastY := Self.Y; 
    Sleep(1000);
  end;
end;

Alarm, gdy mało cap:

Kod:

Const
cap = 10
while not terminated do
begin
UpdateWorld;
if self.capacity < cap then
PlaySound('C:\Windows\Media\notify.wav');
Sleep(100);
end;

Alarm, gdy zostanie xx potionów/manasów:

Kod:

Const
tItem = 'mana potions...';
iMin = 20; //Minimum potions
AlertFrom = 'C:/Windows/Media/Notify.wav';
Var iItem : integer;
procedure Event_Notice(Text: String);
begin
   if Pos(tItem, Text) = 0 then Exit;
   Delete(Text, 1, 13);
   iItem := StrToInt(Copy(Text, 1, Pos(' ', Text) - 1));
end;
While not terminated do
begin
   iItem := 0;
   updateworld;
   ProcessEvents;
   if iItem <> 0 then
    begin
      if iItem < iMin then
         begin
           PlaySound(AlertFrom);
         end;
   end;
end;

Zamiana GP w platinium coins

Kod:

var
  Coins: integer;
  Finished: boolean;
function GetCreatureByName(Name: string): TCreature;
var
  x: integer;
begin
  Result := nil;
  for x := 0 to Creatures.Count - 1 do
  begin
    if x >= Creatures.Count then Break;
    if Creatures.Creature[x].Name = Name then
    begin
      Result := Creatures.Creature[x];
      Exit;
    end;
  end;
end;
procedure Event_Message(Channel: integer; Name, Text: String);
begin
  UpdateWorld;
  Creature := GetCreatureByName(Name);
  if Creature = nil then Exit;
  if Creature.NPC then
  begin
    if Pos('platinum', Text) <> 0 then
    begin
      Self.Say(IntToStr(Coins));
      Sleep(1000);
      Self.Say('yes');
      Sleep(1000);
      Self.Say('bye');
      Finished := True;
    end;
  end;
end;
procedure Event_Notice(Text: String);
begin
  if Pos('gold coins', Text) = 0 then Exit;
  Delete(Text, 1, 13);
  Coins := IntToStr(Copy(Text, 1, Pos(' ', Text) - 1)) div 100;
  if Coins <> 0 then
  begin
    Self.Say('hi');
    Sleep(1000);
    Self.Say('change gold');
  end;
end;
begin
  Finished := False;
  UpdateWorld;
  Self.Containers.UseItemWithSelf(3031);
  while ((not Terminated) and (not Finished)) do
  begin
    ProcessEvents;
    Sleep(100);
  end;
end;

Używanie Obsidian Knife:

Kod:

onst
 obsidian_knife = 5908;
 skin_body = [4011, 4047, 4052, 4057];
function searchIntArray(id:integer): boolean;
var
 i: integer;
begin
result := false;
 for i := low(skin_body) to high(skin_body) do begin
  if skin_body[i] = id then result := true;
 end;
end;
function GetItemFromOpenBackpack(ID: integer): TItem;
var
  y: integer;
begin
  Result := nil;
  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 := Self.Containers.Container[x].Item[y];
        Exit;
      end;
    end;
  end;
end;
function SkinBodies(id:integer): Boolean;
var
  x, y: integer;
  knife: TItem;
  t: integer;
begin
UpdateWorld;
knife := GetItemFromOpenBackpack(obsidian_knife);
if knife = nil then
begin
 Self.DisplayText('An Obsidian Knife could not be found, please open a container with it.');
 exit;
end;
t := -1;
 for x := -1 to 1 do begin
  for y := -1 to 1 do begin
  // if Screen.Tile[7+x, 5+y].Count >= 3 then begin
  //  t := -2
  // end else  t := -1;
   if searchIntArray(Screen.Tile[7+x, 5+y].Item[Screen.Tile[7+x, 5+y].Count+t].ID) = true then begin
    UpdateWorld;
    knife := GetItemFromOpenBackpack(obsidian_knife);
     if knife <> nil then begin
      knife.UseWithGround(Self.X+X, Self.Y+Y, Self.Z);
      Self.DisplayText('Attempted to skin a creature with the ID ' + IntToStr(Screen.Tile[7+x, 5+y].Item[Screen.Tile[7+x, 5+y].Count-1].ID) + '.');
      Sleep(100);
      UpdateWorld;
     end;
    end;
   end;
  end;
 end;
begin
 while not terminated do begin
 UpdateWorld;
 SkinBodies(skin_body);
 Sleep(100);
 end;
end;

Screen, gdy awansujesz:

Kod:

var
Level: integer;
FistLevel: integer;
MagicLevel: integer;
ClubLevel: integer;
SwordLevel: integer;
DistanceLevel: integer;
AxeLevel: integer;
ShieldLevel: integer;
FishLevel: integer;
begin
UpdateWorld;
Level := Self.Level;
FistLevel:= Self.Skills.Fist.Level;
MLevel := Self.Skills.Magic;
ClubLevel:= Self.Skills.Club.Level;
SwordLevel:= Self.Skills.Sword.Level;
DistanceLevel:= Self.Skills.Distance.Level;
Axe := Self.Skills.Axe.Level;
Shielding := Self.Skills.Shielding;
FishLevel:= Self.Skills.Fishing.Level;
while not Terminated do
begin
UpdateWorld;
if Level <> Self.Level then
begin
Level := Self.Level;
Sleep(1000);
ScreenShot('c:\level' + IntToStr(Level) + '.jpg');
Level := Self.Level;
end;
if FistLevel <> Self.Skills.Fist.Level then
begin
FistLevel:= Self.Skills.Fist.Level;
Sleep(1000);
ScreenShot('c:\FistLevel' + IntToStr(FistLevel) + '.jpg');
FistLevel:= Self.Skills.Fist.Level;
end;
if MLevel <> Self.Skills.Magic then
begin
MLevel := Self.Skills.Magic;
Sleep(1000);
ScreenShot('c:\Mlevel' + IntToStr(MLevel) + '.jpg');
MLevel := Self.Skills.Magic;
end;
if ClubLevel <> Self.Skills.Club.Level then
begin
ClubLevel:= Self.Skills.Club.Level;
Sleep(1000);
ScreenShot('c:\ClubLevel' + IntToStr(ClubLevel) + '.jpg');
ClubLevel:= Self.Skills.Club.Level;
end;
if Swordlevel <> Self.Skills.Sword.Level then
begin
SwordLevel:= Self.Skills.Sword.Level;
Sleep(1000);
ScreenShot('c:\Swordlevel' + IntToStr(Swordlevel) + '.jpg');
SwordLevel:= Self.Skills.Sword.Level;
end;
if DistanceLevel <> Self.Skills.Distance.Level then
begin
DistanceLevel:= Self.Skills.Distance.Level;
Sleep(1000);
ScreenShot('c:\DistanceLevel' + IntToStr(DistanceLevel) + '.jpg');
DistanceLevel:= Self.Skills.Distance.Level;
end;
if Axe <> Self.Skills.Axe.Level then
begin
Axe := Self.Skills.Axe.Level;
Sleep(1000);
ScreenShot('c:\Axe' + IntToStr(Axe) + '.jpg');
Axe := Self.Skills.Axe.Level;
end;
if Shielding <> Self.Skills.Shielding then
begin
Shielding := Self.Skills.Shielding;
Sleep(1000);
ScreenShot('c:\Shielding' + IntToStr(Shielding) + '.jpg');
Shielding := Self.Skills.Shielding;
end;
if FishLevel <> Self.Skills.Fishing.Level then
begin
FishLevel:= Self.Skills.Fishing.Level;
Sleep(1000);
ScreenShot('c:\FishLevel' + IntToStr(FishLevel) + '.jpg');
FishLevel:= Self.Skills.Fishing.Level;
end;
Sleep(1000);
end;
end;

Rzuca m-wall przed kogoś

Kod:

var
x: integer;
begin
Result := nil;
for x := 0 to Creatures.Count - 1 do
begin
if x >= Creatures.Count then Break;
if Creatures.Creature[x].ID = ID then
begin
Result := Creatures.Creature[x];
Exit;
end;
end;
end;
begin
while not Terminated do
begin
UpdateWorld;
if Self.Attacking <> 0 then
begin
Creature := GetCreatureByID(Self.Attacking);
if Creature <> nil then
begin
case Creature.Direction of
0: Self.Containers.UseItemWithGround(3180, Creature.X, Creature.Y - 2, Creature.Z);
1: Self.Containers.UseItemWithGround(3180, Creature.X + 2, Creature.Y, Creature.Z);
2: Self.Containers.UseItemWithGround(3180, Creature.X, Creature.Y + 2, Creature.Z);
3: Self.Containers.UseItemWithGround(3180, Creature.X - 2, Creature.Y, Creature.Z);
end;
end;
end;
Sleep(2000);
end;
end;

Narazie to wszystko w najbliższym czasie postaram się dodać więcej.

Ostatnio edytowany przez Dynamo (2010-04-22 16:50:02)


http://www.otofotki.pl/obrazki/wqdz690429546a.GIF Piszę poprawnie po Polsku.
http://i46.tinypic.com/29f74on.png
http://img717.imageshack.us/img717/8343/userv3.png

Offline

 

#2 2010-04-22 17:59:03

 Sashar

http://i35.tinypic.com/2q9yumu.gif

1350100
Call me!
Skąd: Mielec
Zarejestrowany: 2008-04-14
Posty: 147
Nick: God Sashar
Profesja: PG World
Server: 0
WWW

Re: Skrypty do NG BOT (Nie MOJE)

Dla mnie do NG bardziej przydatne
NG rlz
Na pewno się przyda.


Pomogłem daj + to nic nie kosztuje a wiele może.
więcej info na http://sashar.tnb.pl/
http://s2.tibiafun.y0.pl/char.php?c=Sashar
http://img686.imageshack.us/img686/5772/sashar.png

Offline

 

Stopka forum

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


Darmowe Forum | Ciekawe Fora | Darmowe Fora
BetonovĂŠ JĂ­mky Pardubice