Postado Dezembro 21, 2010 14 anos Dragons Darashia Exp: 80-110k/hour Gp: 8-12k + Items/hour Monsters: Dragon Hatchling Dragon Loots: Gold Dragon Shield Wand of Inferno Dragon Hammer Serpent Sword Dragonbone Staff Requeriments Level: 80+ Vocation: Knight; Premium Time: Yes; Equipment: A semi-rare and set and sooft boots must give you no-waste Supply: About 100 Health Potion for Safety. Por: Monek666 Soft boot switcher from boh to softs at x mana.ng diagonaldraggy.ng Dragon -1 Darashia.wpt reconnecter.ng screenshot when level up.ng
Postado Abril 30, 2011 14 anos tem como me arranjar um wpt desse pra mage? desculpe se revivi o topico mais tem uma razão então não é flood
Postado Abril 30, 2011 14 anos vo ver espera ja edito aki se eu achar Correr do monstro const RampsID = [1950, 1952, 1954, 1956, 385, 1947, 434, 414, 604, 7020] Wanted='Troll';// Escolha o nome do Monstro aqui para vc correr á 3 SQM dele Wanted2='Troll Champions';// Escolha outro Monstro aqui para vc correr á 3 SQM AttackAt = 16;//recomendavel deixar assim //fixado em 100 nao toma a distância 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 //northwest 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 - 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 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; Exori Frigo nos drag const frigo = ['Dragon,Dragon Lord']; flam = ['ancient scarab']; tera = ['cyclops']; vis = ['acolyte of the cult']; mort = ['black knight']; useWand = 1 //se estiver com Wand 1 sem wand 0 function GetExoriType(Crea: TCreature): String; begin Result := ''; for z := Low(frigo) to High(frigo) do begin if AnsiLowerCase(Crea.Name) = AnsiLowerCase(frigo[z]) then Result := 'exori frigo'; end; for z := Low(flam) to High(flam) do begin if AnsiLowerCase(Crea.Name) = AnsiLowerCase(flam[z]) then Result := 'exori flam'; end; for z := Low(tera) to High(tera) do begin if AnsiLowerCase(Crea.Name) = AnsiLowerCase(tera[z]) then Result := 'exori tera'; end; for z := Low(vis) to High(vis) do begin if AnsiLowerCase(Crea.Name) = AnsiLowerCase(vis[z]) then Result := 'exori vis'; end; for z := Low(mort) to High(mort) do begin if AnsiLowerCase(Crea.Name) = AnsiLowerCase(mort[z]) then Result := 'exori mort'; end; 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; begin sleepTime := 1100; if useWand = 0 then sleepTime := 1000; while not terminated do begin updateworld; if Self.Attacking <> nil then begin creature := GetCreatureByID(self.attacking); if creature <> nil then begin exori := GetExoriType(creature); if exori <> '' then begin updateworld; if (abs(creature.x - self.x) <= 3) and (abs(creature.y - self.y) <= 3) then begin if Self.Attacking > 0 then if creature.visible then self.say(exori); end; end; end; end; sleep(sleepTime); end; end; Editado Abril 30, 2011 14 anos por Djow (veja o histórico de edições)
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.