What's new

- Skrypt Zam?wienia na Skrypty Qunka ! :)

Status
Not open for further replies.

Quniek

Active User
Joined
Aug 25, 2010
Messages
61
Reaction score
4
Age
30
Tak wiec tworze temat w kt?rym b?dziecie mogli prosi? o Skrypty do NG.
Zam?wienia sk?adamy wed?ug wzoru:
Code:
[B]Opis[/B]: Tutaj opisujecie co dany skrypt ma robie.
[B]ID:[/B] ID przedmiot?w kt?re b?d? potrzebne do Skryptu.
[B]Inne:[/B]Tutaj podajecie nazwy potwork?w, graczy je?eli s? potrzebne lub inne informacje od siebie.
- Zam?wi?? w kolejce mo?e by? max 3, nast?pne b?d? ignorowane
- Nie pro? tutaj o Waypointy, jest od tego ten temat -
Zam?wienia na Waypointy Qunka :)!
Pozdrawiam
Quniek
 

VeriCris

Active User
Joined
Oct 22, 2008
Messages
50
Reaction score
1
Odp: Zam?wienia na Skrypty Qunka ! :)

Opis: Skrypt ma ucieka? przed potworkiem na minimalnie 1 sqm, a maksymalnie 3 sqm, poniewa? b?d? uzywa? r??d?ki dla druida.
ID: -
Inne: Potwory przed jakimi ma ucieka? to dwarf soldier lub ghul.
 

Quniek

Active User
Joined
Aug 25, 2010
Messages
61
Reaction score
4
Age
30
Odp: Zam?wienia na Skrypty Qunka ! :)

Opis: Skrypt ma ucieka? przed potworkiem na minimalnie 1 sqm, a maksymalnie 3 sqm, poniewa? b?d? uzywa? r??d?ki dla druida.
ID: -
Inne: Potwory przed jakimi ma ucieka? to dwarf soldier lub ghul.

Skrypt na 2 strony bo jest d?ugi​

w wanted2 i wanted wpisujesz jakie potworki ma bic

Code:
const
RampsID = [1950, 1952, 1954, 1956, 385, 1947, 434, 414, 604, 7020]
Wanted='X';// < Potwory ktore ma bic
Wanted2='X';// < Potwory ktore ma bic
AttackAt = 100;//will chase out of fire range when creatures health is at or below this amount
              //set to 100 to always keep distance
function GetCreatureByID(ID: integer): TCreature;
var
  x: integer;
  Finished: boolean;
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;
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 TileIsWalkable(X, Y, Z: integer): boolean;
var Tile: TTile;
begin
  Result := True;
  Tile := GetTileFromXYZ(X, Y, Z);
  If (Tile <> nil) and (Tile.Count <> 0) then
    for Z := 0 to Tile.Count - 1 do
    begin
      if Tile.Item[Z].Properties.Hole then Result := False;
      else if Tile.Item[Z].Properties.Stairs then Result := False;
      else if not Tile.Item[Z].Properties.Walkable then Result := False;
      else
      begin
      for x := low(RampsID) to high(RampsID) do
       begin
        if Tile.Item[Z].ID = RampsID[x] then Result := False;
       end;
      end; 
    end;
end;
Function MoveFromRange: boolean;
  begin
  Result := True; 
  Creature := GetCreatureByID(Self.Attacking);
      if Creature <> nil then
      //north
      if ((Creature.X-self.X = 2) and (Creature.Y-self.Y = 2)) or
         ((Creature.X-self.X = 2) and (Creature.Y-self.Y = 3)) or
         ((Creature.X-self.X = 3) and (Creature.Y-self.Y = 2)) or
         ((Creature.X-self.X = 3) and (Creature.Y-self.Y = 3)) or
      //southwest
         ((Creature.X-self.X = 2) and (Creature.Y-self.Y = -2)) or
         ((Creature.X-self.X = 2) and (Creature.Y-self.Y = -3)) or
         ((Creature.X-self.X = 3) and (Creature.Y-self.Y = -2)) or
         ((Creature.X-self.X = 3) and (Creature.Y-self.Y = -3)) or
      //northeast
         ((Creature.X-self.X = -2) and (Creature.Y-self.Y = 2)) or
         ((Creature.X-self.X = -2) and (Creature.Y-self.Y = 3)) or
         ((Creature.X-self.X = -3) and (Creature.Y-self.Y = 2)) or
         ((Creature.X-self.X = -3) and (Creature.Y-self.Y = 3)) or
      //southeast
         ((Creature.X-self.X = -2) and (Creature.Y-self.Y = -2)) or
         ((Creature.X-self.X = -2) and (Creature.Y-self.Y = -3)) or
         ((Creature.X-self.X = -3) and (Creature.Y-self.Y = -2)) or
         ((Creature.X-self.X = -3) and (Creature.Y-self.Y = -3)) then
      Result := False;
      end;
begin
  while not Terminated do
  begin
    UpdateWorld;
    if Self.Attacking <> 0 then
    begin
      Creature := GetCreatureByID(Self.Attacking);
      if Terminated=True then exit;
      if (Creature <> nil) and (MoveFromRange) then
      if (Creature.Health<=AttackAt) then
      if (Creature.Name=Wanted) or (Creature.Name=Wanted2) then
//// Add more monsters here in the same format if you want to run from them
//// make sure to add them also to the constant list at the top
      begin
      //Northwest of Creature
       if (Creature.X > Self.X) and (Creature.Y > Self.Y) then
           begin
           Tile:=GetTileFromXYZ(Self.X, Creature.Y + 1, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Self.X, Creature.Y + 1, Creature.Z)) then
           begin
           Self.MoveTo(Self.X, Creature.Y + 1, Creature.Z);
           end;
           Tile:=GetTileFromXYZ(Creature.X + 1, Self.Y, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Creature.X + 1, Self.Y, Creature.Z)) then
           begin
           Self.MoveTo(Creature.X + 1, Self.Y, Creature.Z);
           end;   
           Tile:=GetTileFromXYZ(Creature.X - 2, Creature.Y - 2, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Creature.X - 2, Creature.Y - 2, Creature.Z)=true) then
           begin
           Self.MoveTo(Creature.X - 2, Creature.Y - 2, Creature.Z);
           end;
           Tile:=GetTileFromXYZ(Creature.X - 2, Creature.Y - 3, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Creature.X - 2, Creature.Y - 3, Creature.Z)=true) then
           begin
           Self.MoveTo(Creature.X - 2, Creature.Y - 3, Creature.Z);
           end;
           Tile:=GetTileFromXYZ(Creature.X - 3, Creature.Y - 2, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Creature.X - 3, Creature.Y - 2, Creature.Z)=true) then
           begin
           Self.MoveTo(Creature.X - 3, Creature.Y - 2, Creature.Z);
           end;
           Tile:=GetTileFromXYZ(Creature.X - 3, Creature.Y - 3, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Creature.X - 3, Creature.Y - 3, Creature.Z)=true) then
           begin
           Self.MoveTo(Creature.X - 3, Creature.Y - 3, Creature.Z);
           end;
           end;         
      //Southwest of Creature
      if  (Creature.X > Self.X) and (Creature.Y < Self.Y) then
           begin
           Tile:=GetTileFromXYZ(Self.X, Creature.Y - 1, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Self.X, Creature.Y - 1, Creature.Z)) then
           begin
           Self.MoveTo(Self.X, Creature.Y - 1, Creature.Z);
           end;
           Tile:=GetTileFromXYZ(Creature.X + 1, Self.Y, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Creature.X + 1, Self.Y, Creature.Z)) then
           begin
           Self.MoveTo(Creature.X + 1, Self.Y, Creature.Z);
           end;   
           Tile:=GetTileFromXYZ(Creature.X - 2, Creature.Y + 2, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Creature.X - 2, Creature.Y + 2, Creature.Z)) then
           begin
           Self.MoveTo(Creature.X - 2, Creature.Y + 2, Creature.Z);
           end;
           Tile:=GetTileFromXYZ(Creature.X - 2, Creature.Y + 3, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Creature.X - 2, Creature.Y + 3, Creature.Z)) then
           begin
           Self.MoveTo(Creature.X - 2, Creature.Y + 3, Creature.Z);
           end;
           Tile:=GetTileFromXYZ(Creature.X - 3, Creature.Y + 2, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Creature.X - 3, Creature.Y + 2, Creature.Z)) then
           begin
           Self.MoveTo(Creature.X - 3, Creature.Y + 2, Creature.Z);
           end;
           Tile:=GetTileFromXYZ(Creature.X - 3, Creature.Y + 3, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Creature.X - 3, Creature.Y + 3, Creature.Z)) then
           begin
           Self.MoveTo(Creature.X - 3, Creature.Y + 3, Creature.Z);
           end;
           end;
           //Northeast of Creature
           if (Creature.X < Self.X) and (Creature.Y > Self.Y) then
           begin
           Tile:=GetTileFromXYZ(Self.X, Creature.Y + 1, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Self.X, Creature.Y + 1, Creature.Z)) then
           begin
           Self.MoveTo(Self.X, Creature.Y + 1, Creature.Z);
           end;
           Tile:=GetTileFromXYZ(Creature.X - 1, Self.Y, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Creature.X - 1, Self.Y, Creature.Z)) then
           begin
           Self.MoveTo(Creature.X - 1, Self.Y, Creature.Z);
           end;   
           Tile:=GetTileFromXYZ(Creature.X - 1, Self.Y, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Creature.X - 1, Self.Y, Creature.Z)) then
           begin
           Self.MoveTo(Creature.X - 1, Self.Y, Creature.Z);
           end;
           Tile:=GetTileFromXYZ(Self.X, Creature.Y + 1, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Self.X, Creature.Y + 1, Creature.Z)) then
           begin
           Self.MoveTo(Self.X, Creature.Y + 1, Creature.Z);
           end;   
           Tile:=GetTileFromXYZ(Creature.X + 2, Creature.Y - 2, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Creature.X + 2, Creature.Y - 2, Creature.Z)) then
           begin
           Self.MoveTo(Creature.X + 2, Creature.Y - 2, Creature.Z);
           end;
           Tile:=GetTileFromXYZ(Creature.X + 2, Creature.Y - 3, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Creature.X + 2, Creature.Y - 3, Creature.Z)) then
           begin
           Self.MoveTo(Creature.X + 2, Creature.Y - 3, Creature.Z);
           end;
           Tile:=GetTileFromXYZ(Creature.X + 3, Creature.Y - 2, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Creature.X + 3, Creature.Y - 2, Creature.Z)) then
           begin
           Self.MoveTo(Creature.X + 3, Creature.Y - 2, Creature.Z);
           end;
           Tile:=GetTileFromXYZ(Creature.X + 3, Creature.Y - 3, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Creature.X + 3, Creature.Y - 3, Creature.Z)) then
           begin
           Self.MoveTo(Creature.X + 3, Creature.Y - 3, Creature.Z);
           end;
           end;
           //Southeast of Creature
           if (Creature.X < Self.X) and (Creature.Y < Self.Y) then
           begin
           Tile:=GetTileFromXYZ(Self.X, Creature.Y - 1, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Self.X, Creature.Y - 1, Creature.Z)) then
           begin
           Self.MoveTo(Self.X, Creature.Y - 1, Creature.Z);
           end;
           Tile:=GetTileFromXYZ(Creature.X - 1, Self.Y, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Creature.X - 1, Self.Y, Creature.Z)) then
           begin
           Self.MoveTo(Creature.X - 1, Self.Y, Creature.Z);
           end;   
           Tile:=GetTileFromXYZ(Creature.X + 2, Creature.Y + 2, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Creature.X + 2, Creature.Y + 2, Creature.Z)) then
           begin
           Self.MoveTo(Creature.X + 2, Creature.Y + 2, Creature.Z);
           end;
           Tile:=GetTileFromXYZ(Creature.X + 2, Creature.Y + 3, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Creature.X + 2, Creature.Y + 3, Creature.Z)) then
           begin
           Self.MoveTo(Creature.X + 2, Creature.Y + 3, Creature.Z);
           end;
           Tile:=GetTileFromXYZ(Creature.X + 3, Creature.Y + 2, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Creature.X + 3, Creature.Y + 2, Creature.Z)) then
           begin
           Self.MoveTo(Creature.X + 3, Creature.Y + 2, Creature.Z);
           end;
           Tile:=GetTileFromXYZ(Creature.X + 3, Creature.Y + 3, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Creature.X + 3, Creature.Y + 3, Creature.Z)) then
           begin
           Self.MoveTo(Creature.X + 3, Creature.Y + 3, Creature.Z);
           end;
           end;
           //North of Creature           
           if (Creature.X = Self.X) and (Creature.Y > Self.Y) then                 
           begin
           Tile:=GetTileFromXYZ(Creature.X - 1, Self.Y, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Creature.X - 1, Self.Y, Creature.Z)) then
           begin
           Self.MoveTo(Creature.X - 1, Self.Y, Creature.Z);
           end;
           Tile:=GetTileFromXYZ(Creature.X + 1, Self.Y, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Creature.X + 1, Self.Y, Creature.Z)) then
           begin
           Self.MoveTo(Creature.X + 1, Self.Y, Creature.Z);
           end;   
           Tile:=GetTileFromXYZ(Creature.X - 2, Creature.Y - 2, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Creature.X - 2, Creature.Y - 2, Creature.Z)) then
 

Quniek

Active User
Joined
Aug 25, 2010
Messages
61
Reaction score
4
Age
30
Odp: Zam?wienia na Skrypty Qunka ! :)

Ten Skrypt ??czysz z tamtym​

Code:
begin
           Self.MoveTo(Creature.X - 2, Creature.Y - 2, Creature.Z);
           end;
           Tile:=GetTileFromXYZ(Creature.X + 2, Creature.Y - 2, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Creature.X + 2, Creature.Y - 2, Creature.Z)) then
           begin
           Self.MoveTo(Creature.X + 2, Creature.Y - 2, Creature.Z);
           end;
           Tile:=GetTileFromXYZ(Creature.X - 2, Creature.Y - 3, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Creature.X - 2, Creature.Y - 3, Creature.Z)) then
           begin
           Self.MoveTo(Creature.X - 2, Creature.Y - 3, Creature.Z);
           end;
           Tile:=GetTileFromXYZ(Creature.X - 3, Creature.Y - 2, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Creature.X - 3, Creature.Y - 2, Creature.Z)) then
           begin
           Self.MoveTo(Creature.X - 3, Creature.Y - 2, Creature.Z);
           end;
           Tile:=GetTileFromXYZ(Creature.X - 3, Creature.Y - 3, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Creature.X - 3, Creature.Y - 3, Creature.Z)) then
           begin
           Self.MoveTo(Creature.X - 3, Creature.Y - 3, Creature.Z);
           end;
           Tile:=GetTileFromXYZ(Creature.X + 2, Creature.Y - 3, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Creature.X + 2, Creature.Y - 3, Creature.Z)) then
           begin
           Self.MoveTo(Creature.X + 2, Creature.Y - 3, Creature.Z);
           end;
           Tile:=GetTileFromXYZ(Creature.X + 3, Creature.Y - 2, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Creature.X + 3, Creature.Y - 2, Creature.Z)) then
           begin
           Self.MoveTo(Creature.X + 3, Creature.Y - 2, Creature.Z);
           end;
           Tile:=GetTileFromXYZ(Creature.X + 3, Creature.Y - 3, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Creature.X + 3, Creature.Y - 3, Creature.Z)) then
           begin
           Self.MoveTo(Creature.X + 3, Creature.Y - 3, Creature.Z);
           end;
           end;
           //East of Creature
           if (Creature.X < Self.X) and (Creature.Y = Self.Y) then
           begin
           Tile:=GetTileFromXYZ(Self.X, Creature.Y -1, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Self.X, Creature.Y -1, Creature.Z)) then
           begin
           Self.MoveTo(Self.X, Creature.Y -1, Creature.Z);
           end;
           Tile:=GetTileFromXYZ(Self.X, Creature.Y + 1, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Self.X, Creature.Y + 1, Creature.Z)) then
           begin
           Self.MoveTo(Self.X, Creature.Y + 1, Creature.Z);
           end;
           Tile:=GetTileFromXYZ(Creature.X + 2, Creature.Y - 2, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Creature.X + 2, Creature.Y - 2, Creature.Z)) then
           begin
           Self.MoveTo(Creature.X + 2, Creature.Y - 2, Creature.Z);
           end;
           Tile:=GetTileFromXYZ(Creature.X + 2, Creature.Y + 2, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Creature.X + 2, Creature.Y + 2, Creature.Z)) then
           begin
           Self.MoveTo(Creature.X + 2, Creature.Y + 2, Creature.Z);
           end;
           Tile:=GetTileFromXYZ(Creature.X + 2, Creature.Y - 3, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Creature.X + 2, Creature.Y - 3, Creature.Z)) then
           begin
           Self.MoveTo(Creature.X + 2, Creature.Y - 3, Creature.Z);
           end;
           Tile:=GetTileFromXYZ(Creature.X + 3, Creature.Y - 2, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Creature.X + 3, Creature.Y - 2, Creature.Z)) then
           begin
           Self.MoveTo(Creature.X + 3, Creature.Y - 2, Creature.Z);
           end;
           Tile:=GetTileFromXYZ(Creature.X + 3, Creature.Y - 3, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Creature.X + 3, Creature.Y - 3, Creature.Z)) then
           begin
           Self.MoveTo(Creature.X + 3, Creature.Y - 3, Creature.Z);
           end;
           Tile:=GetTileFromXYZ(Creature.X + 2, Creature.Y + 3, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Creature.X + 2, Creature.Y + 3, Creature.Z)) then
           begin
           Self.MoveTo(Creature.X + 2, Creature.Y + 3, Creature.Z);
           end;
           Tile:=GetTileFromXYZ(Creature.X + 3, Creature.Y + 2, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Creature.X + 3, Creature.Y + 2, Creature.Z)) then
           begin
           Self.MoveTo(Creature.X + 3, Creature.Y + 2, Creature.Z);
           end;
           Tile:=GetTileFromXYZ(Creature.X + 3, Creature.Y + 3, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Creature.X + 3, Creature.Y + 3, Creature.Z)) then
           begin
           Self.MoveTo(Creature.X + 3, Creature.Y + 3, Creature.Z);
           end;
           end;
           //South of Creature
           if (Creature.X = Self.X) and (Creature.Y < Self.Y) then
           begin
           Tile:=GetTileFromXYZ(Creature.X - 1, Self.Y, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Creature.X - 1, Self.Y, Creature.Z)) then
           begin
           Self.MoveTo(Creature.X - 1, Self.Y, Creature.Z);
           end;
           Tile:=GetTileFromXYZ(Creature.X + 1, Self.Y, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Creature.X + 1, Self.Y, Creature.Z)) then
           begin
           Self.MoveTo(Creature.X + 1, Self.Y, Creature.Z);
           end;   
           Tile:=GetTileFromXYZ(Creature.X - 2, Creature.Y + 2, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Creature.X - 2, Creature.Y + 2, Creature.Z)) then
           begin
           Self.MoveTo(Creature.X - 2, Creature.Y + 2, Creature.Z);
           end;
           Tile:=GetTileFromXYZ(Creature.X + 2, Creature.Y + 2, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Creature.X + 2, Creature.Y + 2, Creature.Z)) then
           begin
           Self.MoveTo(Creature.X + 2, Creature.Y + 2, Creature.Z);
           end;
           Tile:=GetTileFromXYZ(Creature.X + 2, Creature.Y + 3, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Creature.X + 2, Creature.Y + 3, Creature.Z)) then
           begin
           Self.MoveTo(Creature.X + 2, Creature.Y + 3, Creature.Z);
           end;
           Tile:=GetTileFromXYZ(Creature.X + 3, Creature.Y + 2, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Creature.X + 3, Creature.Y + 2, Creature.Z)) then
           begin
           Self.MoveTo(Creature.X + 3, Creature.Y + 2, Creature.Z);
           end;
           Tile:=GetTileFromXYZ(Creature.X + 3, Creature.Y + 3, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Creature.X + 3, Creature.Y + 3, Creature.Z)) then
           begin
           Self.MoveTo(Creature.X + 3, Creature.Y + 3, Creature.Z);
           end;
           Tile:=GetTileFromXYZ(Creature.X - 2, Creature.Y + 3, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Creature.X - 2, Creature.Y + 3, Creature.Z)) then
           begin
           Self.MoveTo(Creature.X - 2, Creature.Y + 3, Creature.Z);
           end;
           Tile:=GetTileFromXYZ(Creature.X - 3, Creature.Y + 2, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Creature.X - 3, Creature.Y + 2, Creature.Z)) then
           begin
           Self.MoveTo(Creature.X - 3, Creature.Y + 2, Creature.Z);
           end;
           Tile:=GetTileFromXYZ(Creature.X - 3, Creature.Y + 3, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Creature.X - 3, Creature.Y + 3, Creature.Z)) then
           begin
           Self.MoveTo(Creature.X - 3, Creature.Y + 3, Creature.Z);
           end;
           end;
           //West of Creature
           if (Creature.X > Self.X) and (Creature.Y = Self.Y) then
           begin
           Tile:=GetTileFromXYZ(Self.X, Creature.Y - 1, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Self.X, Creature.Y - 1, Creature.Z)) then
           begin
           Self.MoveTo(Self.X, Creature.Y - 1, Creature.Z);
           end;
           Tile:=GetTileFromXYZ(Self.X, Creature.Y + 1, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Self.X, Creature.Y + 1, Creature.Z)) then
           begin
           Self.MoveTo(Self.X, Creature.Y + 1, Creature.Z);
           end;   
           Tile:=GetTileFromXYZ(Creature.X - 2, Creature.Y - 2, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Creature.X - 2, Creature.Y - 2, Creature.Z)) then
           begin
           Self.MoveTo(Creature.X - 2, Creature.Y - 2, Creature.Z);
           end;
           Tile:=GetTileFromXYZ(Creature.X - 2, Creature.Y + 2, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Creature.X - 2, Creature.Y + 2, Creature.Z)) then
           begin
           Self.MoveTo(Creature.X - 2, Creature.Y + 2, Creature.Z);
           end;
           Tile:=GetTileFromXYZ(Creature.X - 2, Creature.Y + 3, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Creature.X - 2, Creature.Y + 3, Creature.Z)) then
           begin
           Self.MoveTo(Creature.X - 2, Creature.Y + 3, Creature.Z);
           end;
           Tile:=GetTileFromXYZ(Creature.X - 3, Creature.Y + 2, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Creature.X - 3, Creature.Y + 2, Creature.Z)) then
           begin
           Self.MoveTo(Creature.X - 3, Creature.Y + 2, Creature.Z);
           end;
           Tile:=GetTileFromXYZ(Creature.X - 3, Creature.Y + 3, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Creature.X - 3, Creature.Y + 3, Creature.Z)) then
           begin
           Self.MoveTo(Creature.X - 3, Creature.Y + 3, Creature.Z);
           end;
           Tile:=GetTileFromXYZ(Creature.X - 2, Creature.Y - 3, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Creature.X - 2, Creature.Y - 3, Creature.Z)) then
           begin
           Self.MoveTo(Creature.X - 2, Creature.Y - 3, Creature.Z);
           end;
           Tile:=GetTileFromXYZ(Creature.X - 3, Creature.Y - 2, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Creature.X - 3, Creature.Y - 2, Creature.Z)) then
           begin
           Self.MoveTo(Creature.X - 3, Creature.Y - 2, Creature.Z);
           end;
           Tile:=GetTileFromXYZ(Creature.X - 3, Creature.Y - 3, Creature.Z);
           if (Tile<>nil) and (TileIsWalkable(Creature.X - 3, Creature.Y - 3, Creature.Z)) then
           begin
           Self.MoveTo(Creature.X - 3, Creature.Y - 3, Creature.Z);
           end;
           end;
        end;
      //Diagonal if higher than Attackat health and 1sqm away
      Creature := GetCreatureByID(Self.Attacking);
      if Terminated=True then exit;
      if (Creature <> nil) and (MoveFromRange) then
      if (Creature.Health>AttackAt) then
      if (Creature.Name=Wanted) or (Creature.Name=Wanted2) then 
//// Add more monsters here in the same format if you want to be diagonal from them
//// make sure to add them also to the constant list at the top.
      if (abs(Creature.X-self.X) <= 1) and (abs(Creature.Y-self.Y) <= 1) then
      begin
        if (Self.X<>Creature.X) and (Self.Y=Creature.Y) then   
            begin   
            Tile:=GetTileFromXYZ(Self.x,Self.y-1,self.z);   
            if Tile<>nil then   
            if TileIsWalkable(Self.x,Self.y-1,self.z) then   
               begin   
               Self.MoveUp;   
               Moved:=true;   
               end;   
            If (Moved=False) then   
               begin   
               Tile:=GetTileFromXYZ(Self.x,Self.y+1,self.z);   
               if Tile<>nil then   
               if TileIsWalkable(Self.x,Self.y+1,self.z) then   
               Self.MoveDown;   
               end;   
            end;   
            Moved:=false;   
            if (Self.X=Creature.X) and (Self.Y<>Creature.Y) then   
            begin   
            Tile:=GetTileFromXYZ(Self.x-1,Self.y,self.z);   
            if Tile<>nil then   
            if TileIsWalkable(Self.x-1,Self.y,self.z) then   
               begin   
               Self.MoveLeft;   
               Moved:=true;   
               end;   
            If (Moved=False) then   
               begin   
               Tile:=GetTileFromXYZ(Self.x+1,Self.y,self.z);
               if Tile<>nil then   
               if TileIsWalkable(Self.x+1,Self.y,self.z) then   
               Self.MoveRight;   
               end;   
            end;
       end;
    end;
    sleep(500);
  end;
  end;
 

VeriCris

Active User
Joined
Oct 22, 2008
Messages
50
Reaction score
1
Odp: Zam?wienia na Skrypty Qunka ! :)

Niestety nie dzia?a wyskakuje tylko to:

[Exception] Untitled(36): Access violation at address 08AF88E0 in module 'hook.dll'. Read of address 00000008 when evaluating instruction CallProc ($0,$0,$8AF88C0,$953E470,'Count'). Stack content is: [Integer:9,Integer:31899,Integer:32511,Boolean:0...].
 

Quniek

Active User
Joined
Aug 25, 2010
Messages
61
Reaction score
4
Age
30
Odp: Zam?wienia na Skrypty Qunka ! :)

Zobacz ten skrypt czy bedzie Tobie dzia?a?

Code:
Const
SQM = 3 // jaki odstep ma trzymac od potworka

function GetCreatureByID(ID: integer): 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].ID = ID then
begin
Result := Creatures.Creature[x];
Exit;
end;
end;
end;

UpdateWorld;
KnightID := Self.Following;
while not terminated do
begin
UpdateWorld;
Knight := GetCreatureByID(KnightID);
if Knight <> nil then
if Knight.Z = self.z then
begin
if self.following then
if (abs(Self.X-Knight.X) < SQM + 1) and (abs(Self.Y-Knight.Y) < SQM + 1) then
begin
Knight.Following := false;
UpdateWorld;
Self.MoveTo(Self.X,Self.Y,Self.Z);
end;
if not self.following then
begin
if (abs(Self.X-Knight.X) > SQM) or (abs(Self.Y-Knight.Y) > SQM) then
Knight.Following := true;
end;
if (not self.following) and (abs(Self.X - Knight.X) < 2) and (ABS(Self.Y - Knight.Y) < 2) then
begin
Knight.Following := true;
sleep(100);
Knight.Following := false;
sleep(1000);
end;
end;
else self.displaytext('Target is not on the same floor!');
else self.displaytext('Target losed!!!');
sleep(100);
end;

function GetCreatureByID(ID: integer): 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].ID = ID then
begin
Result := Creatures.Creature[x];
Exit;
end;
end;
end;

UpdateWorld;
KnightID := Self.Following;
while not terminated do
begin
UpdateWorld;
Knight := GetCreatureByID(KnightID);
if Knight <> nil then
if Knight.Z = self.z then
begin
if self.following then
if (abs(Self.X-Knight.X) < SQM + 1) and (abs(Self.Y-Knight.Y) < SQM + 1) then
begin
Knight.Following := false;
UpdateWorld;
Self.MoveTo(Self.X,Self.Y,Self.Z);
end;
if not self.following then
begin
if (abs(Self.X-Knight.X) > SQM) or (abs(Self.Y-Knight.Y) > SQM) then
Knight.Following := true;
end;
if (not self.following) and (abs(Self.X - Knight.X) < 2) and (ABS(Self.Y - Knight.Y) < 2) then
begin
Knight.Following := true;
sleep(100);
Knight.Following := false;
sleep(1000);
end;
end;
else self.displaytext('Target is not on the same floor!');
else self.displaytext('Target losed!!!');
sleep(100);
end;
 

VeriCris

Active User
Joined
Oct 22, 2008
Messages
50
Reaction score
1
Odp: Zam?wienia na Skrypty Qunka ! :)

@Quinek umiem korzysta? z google. Niestety te skrypty, kt?re ju? podawa?e? widza?em wcze?niej i nie dzia?a?y, my?la?em, ?e ty te skrypt robisz, ale z tego co widze to poprostu kopiujesz z innych stron...

[Error] Untitled(51): Syntax error
 

Rock

Advanced User
Joined
Apr 12, 2009
Messages
241
Reaction score
33
Age
30
Odp: Zam?wienia na Skrypty Qunka ! :)

Opis: depositer, ma zanosi? itemy o id podanym poni?ej do dp! Nie chc?, ?eby zanosi? kas? do banku, tylko itemy do dp!
ID: 3266, 3723, 3446, 3349, 3425
Inne: Szuka?em w google, ale nie znalaz?em takiego. Waypointy mam, wi?c prosz?, aby w skrypcie by?a uwzgl?dniona ?cie?ka do pliku (sam sobie j? ju? wpisz?)
 

OneSize

User
Joined
Dec 12, 2010
Messages
33
Reaction score
0
Odp: Zam?wienia na Skrypty Qunka ! :)

Opis: re attack tzn jak schodze po schodach itd to zeby ten sam monsterek byl zaznaczony ale ma byc pod tibie 8.0 do NG
ID: -----------------------
Inne: i moglbys wytlumaczyc jak sie wkleja ten skrypt zeby dzialalo
 

MaxiMage123

New User
Joined
Feb 1, 2009
Messages
3
Reaction score
0
Odp: Zam?wienia na Skrypty Qunka ! :)

Opis: Ignoruje potwory kt?re s? pi?tro wy?ej albo pi?tro ni?ej.
Konkretnie chodzi mi o co? takiego ,?e np. expie na demonach, i bot chce bi? demona kt?ry jest pi?tro ni?ej i przez to nie bije tego kt?rego ma przed sob?.
Mniej wi?cej rozumiesz chyba o co mi chodzi :)
ID: brak
Inne:Nie chodzi mi o skrypt na ignorowanie potwora, bo juz mi taki proponowano, chodzi mi o skrypt kt?ry ignoruje potwory z innych pi?ter
 

Quniek

Active User
Joined
Aug 25, 2010
Messages
61
Reaction score
4
Age
30
Odp: Zam?wienia na Skrypty Qunka ! :)

Prosz? o zamkni?cie tego tematu. Nie moge dawa? skrypt?w poniewa? od pewnego czasu nie mam sprawnego komputera ;-( i jeszcze przez jakis czas nie b?d? go mia?.
 

Rastafarii

New User
Joined
Jun 12, 2010
Messages
5
Reaction score
0
Odp: Zam?wienia na Skrypty Qunka ! :)

Re-attack 8.54
ID Itemku
Nie ma wali? zadnych potworkuw
 

Loyal The Best

Active User
Joined
Jan 29, 2011
Messages
91
Reaction score
0
Odp: Zam?wienia na Skrypty Qunka ! :)

Bardzo ?atwy!
Opis: Otwierac potwora po zabiciu i zbierac items
ID: Amulety SSA * id nie znam sry.
Inne:Hydra
 

Daygoro

User
Joined
Mar 18, 2010
Messages
37
Reaction score
2
Odp: Zam?wienia na Skrypty Qunka ! :)

Opis : Uzywanie itemu co minut? z otwartego bp
ID : 3202
 

eloigor

New User
Joined
Apr 1, 2009
Messages
3
Reaction score
0
Odp: Zam?wienia na Skrypty Qunka ! :)

Opis: Ma on dzialac tak jak normalny spell HASTE, lecz on jest w runce ma klikac na runke na siebie i tak za kazdym razem kiedy sie skonczy haste
ID: 3199
Inne:Use na chara.
 

xurde

New User
Joined
Mar 25, 2011
Messages
4
Reaction score
0
Odp: Zam?wienia na Skrypty Qunka ! :)

Witam!
Opis: Potrzbuj? skrypta, dzieki kt?remu b?dzie w??cza? si? alarm gdy posta? si? wyloguj?.
ID: ----
Inne:----
Wa?ne!
 

swirek281

User
Joined
Apr 21, 2011
Messages
26
Reaction score
0
Odp: Zam?wienia na Skrypty Qunka ! :)

Nie ma raczej takiego skryptu... masz w TA taka opcje..
 

Wizzaro

Advanced User
Joined
Sep 19, 2009
Messages
156
Reaction score
6
Odp: Zam?wienia na Skrypty Qunka ! :)

Witam!
Opis: Potrzbuj? skrypta, dzieki kt?remu b?dzie w??cza? si? alarm gdy posta? si? wyloguj?.
ID: ----
Inne:----
Wa?ne!

Wchodzisz w "Alerts" zaznaczasz "Disconnected" i b?dziesz mia? alarm

Notka moderatorska:
BotExpert +1
 
Last edited by a moderator:

Kmm

New User
Joined
Aug 6, 2010
Messages
1
Reaction score
0
Odp: Zam?wienia na Skrypty Qunka ! :)

Opis:Chodzi o to ?e wbijam mlvl i chc? ?eby 2 posta? manasowa?a t? posta? co skilluje.
ID: Manarune - 3157
Inne: WA?NE
 

chair

New User
Joined
Jun 1, 2011
Messages
1
Reaction score
0
Odp: Zam?wienia na Skrypty Qunka ! :)

Mam problem. Bot mi nie chce otwiera? dragon lord?w. jak by kto zna? jaki skrypt to prosze o podanie z g?ry dzi?ki. ID Dragon Lorda to 4062
 
Status
Not open for further replies.
Top