It is currently 28 Mar 2024, 15:22

All times are UTC + 2 hours [ DST ]




Post new topic Reply to topic  [ 10 posts ] 
Author Message
PostPosted: 07 Apr 2017, 21:13 
Offline
Начинающий игрок
User avatar

Joined: 19 Oct 2013, 20:44
Posts: 16
Location: Москва
Всем привет, собственно сам скрипт.
Не переплавляет крафт после БСа.
Я полный ноль в скриптах, но логика рабочая.
Подскажите где нужно что поправить для переплавки крафта.
Заранее, спасибо за помощь.

Code:
sub Mining()
   start:
   gotoXY(2557,498)
   minround()
   gotoXY(2557,495)
   minround()
   gotoXY(2560,495)
   minround()   
   gotoXY(2560,492)
   minround()
   gotoXY(2563,492)
   minround()
   gotoXY(2566,489)
   minround()
   gotoXY(2563,489)
   minround()
   gotoXY(2560,489)
   minround()   
   gotoXY(2561,487)
   minround()
   gotoXY(2563,486)
   minround()
   gotoXY(2566,486)
   minround()   
   gotoXY(2569,486)
   minround()
   gotoXY(2569,488)
   minround()
   gotoXY(2572,486)
   minround()
   gotoXY(2572,483)
   minround()
   gotoXY(2575,480)
   minround()   
   gotoXY(2572,480)
   minround()
   gotoXY(2569,480)
   minround()
   gotoXY(2566,483)
   minround()   
   gotoXY(2563,483)
   minround()
   gotoXY(2563,480)
   minround()
   gotoXY(2566,480)
   minround()
   gotoXY(2563,477)
   minround()
   gotoXY(2566,477)
   minround()   
   gotoXY(2566,474)
   minround()
   gotoXY(2569,475)
   minround()
   gotoXY(2569,477)
   minround()   
   gotoXY(2572,477)
   minround()
   gotoXY(2575,477)
   minround()
   goto start:
endsub

Sub minround()
   VAR Kirka = '0x0E86'
   VAR MaxVes = 1000
   VAR Tiles
   VAR x, y, t, k, mX, mY, mZ
   VAR MaxTime = 100   
   VAR ms1 = "There is nothing"
   VAR ms2 = "You can't use"
   VAR ms3 = "You put "
   VAR ms4 = "You loosen some rocks"
   VAR ms5 = "location"
   VAR ms6 = "Try mining"
   VAR ms7 = "Цель слишком далеко"
   mX = UO.GetX('self')
   mY = UO.GetY('self')
   mZ = UO.GetZ('self')
   for y=-1 to 1
      for x=-1 to 1
         If UO.Weight > MaxVes Then
            Plavca()
            BS()
         Endif
         Tiles = F_HarvestTiles(mX+x, mY+y)
         k = 0
         repeat
            UO.DeleteJournal()
            t = UO.Timer()
            k = k + 1
            UO.WaitTargetTile(Tiles, mX+x, mY+y, mZ)
            UO.UseType( Kirka )
            repeat
               wait(300)
            until UO.InJournal(ms1) OR UO.InJournal(ms2) OR UO.InJournal(ms3) OR UO.InJournal(ms4) OR UO.InJournal(ms5) OR UO.InJournal(ms6) OR UO.InJournal(ms7) OR ((t + MaxTime) < UO.Timer()) or UO.Weight > MaxVes
         until ( NOT UO.InJournal(ms4) AND NOT UO.InJournal(ms3) OR (k > 10) ) or UO.Weight > MaxVes         
      next
   next
   Drop()  ; Функция сброса, чтобы закомментить - поставь перед ней ;
endsub

Sub F_HarvestTiles(x,y)
   var i
   if UO.PrivateGetTile(x, y, -1, 1339, 1343) then
      for i=1339 to 1343
         if UO.PrivateGetTile(x, y, -1, i, i) then           
            return i
         end if
      next
   end if
   return 0
end sub

Sub Drop() ; сотри ненужное...
;---------------------------------------------------------------------
   uo.findtype('0x19B9','0x0000','backpack')  ;сброс айрона
   if uo.findcount() > 0 then
      UO.Drop('-1',1,1,0,'finditem')
      wait(300)
   endif
;-----------------------------------------------------------------------
endsub

sub BS()
   uo.findtype('0x1BEF','0x0000','backpack')
   UO.WaitTargetType('0x1BEF')
   UO.UseType('0x13E3')
   wait(3000)
   While uo.count('0x1BEF') > 9
      UO.SendGumpSelect(508)
      wait(7000)
      PlavcaItem()
   wend 
endsub

Sub Plavca()
   gotoXY(2572,475)
   uo.findtype('0x19B9',-1,'backpack')
   while uo.count('0x19B9') > 0
      uo.usetype('0x19B9')
      wait(300)
   wend
endsub

sub PlavcaItem()
   uo.findtype('0x1410','0x0000','backpack')
   while uo.findcount() > 0
      UO.WaitTargetObject('finditem')
      UO.UseObject('0x40036951')
      wait(300)
      uo.findtype('0x1410','0x0000','backpack')
   wend
endsub

Sub gotoXY(x,y)
   var ld=0,ldc=0
   var dx,dy
   var mx,my
   var ox,oy,mk,k
   start:
   mx=UO.GetX()
   my=UO.GetY()
   dx=mx-x
   if dx<0 then
      dx=0-dx
   endif
   dy=my-y
   if dy<0 then
      dy=0-dy
   endif
   if dy>dx then
      dx=dy
   end if
   if dx<=0 then
      return
   end if
   if not ldc then
   end if
   if dx<3 then
      mk=70
   else
      mk=15
   end if
   
   ox=mx
   oy=my
   for k=1 to mk
      mx=UO.GetX()
      my=UO.GetY()
      if mx<>ox or my<>oy then
         goto sdidapl
      end if
      wait(10)
   next
   sdidapl:
   
   mx=UO.GetX()
   my=UO.GetY()
   dx=mx-x
   if dx<0 then
      dx=0-dx
   endif
   dy=my-y
   if dy<0 then
      dy=0-dy
   endif
   if dy>dx then
      dx=dy
   end if
   
   if dx<=0 then
      return
   end if
   if ld==dx then
      ldc=ldc+1
      if ldc>100 then
         uo.print("Can not reach location!")
         return
      end if
   else
      ld=dx
   end if
   
   if mx==x then
      if my==y then
         return
      endif
      if my>y then 
         UO.Press(33)
         goto start
      endif 
      UO.Press(35)
      goto start
   end if
   if mx<x then
      if my>y then
         UO.Press(39)
         goto start
      endif
      if my==y then
         UO.Press(34)
         goto start
      endif
      UO.Press(40)
      goto start
   end if
   if my<y then
      UO.Press(37)
      goto start
   endif
   if my==y then
      UO.Press(36)
      goto start
   endif
   UO.Press(38)
   goto start
end sub

_________________
Alea Jacta Est - Выбор сделан
PVM - 100%
PVP - 2%
Skype: SantaSD
Discord: Тиберий (Кирюха)
Discord2: Deadsanta (Кирюха)
Vampire - Deadsanta
Craft - Tpaktopuctka
Archer - Panaromix
Mage - Bambo


Top
 Profile  
 
PostPosted: 07 Apr 2017, 21:54 
Offline
Игрок

Joined: 20 Dec 2016, 20:00
Posts: 139
sub PlavcaItem type 0x1410 должен соответствовать тайпу переплавляемого айтема.


Top
 Profile  
 
PostPosted: 07 Apr 2017, 22:47 
Offline
Начинающий игрок
User avatar

Joined: 19 Oct 2013, 20:44
Posts: 16
Location: Москва
cheesecake wrote:
sub PlavcaItem type 0x1410 должен соответствовать тайпу переплавляемого айтема.

Type и соответствует переплавляемому итему...проблема не решена

_________________
Alea Jacta Est - Выбор сделан
PVM - 100%
PVP - 2%
Skype: SantaSD
Discord: Тиберий (Кирюха)
Discord2: Deadsanta (Кирюха)
Vampire - Deadsanta
Craft - Tpaktopuctka
Archer - Panaromix
Mage - Bambo


Top
 Profile  
 
PostPosted: 08 Apr 2017, 00:44 
Offline
Игрок

Joined: 20 Dec 2016, 20:00
Posts: 139
santasd wrote:
cheesecake wrote:
sub PlavcaItem type 0x1410 должен соответствовать тайпу переплавляемого айтема.

Type и соответствует переплавляемому итему...проблема не решена



Цвет тоже?


Top
 Profile  
 
PostPosted: 08 Apr 2017, 01:28 
Offline
Начинающий игрок
User avatar

Joined: 19 Oct 2013, 20:44
Posts: 16
Location: Москва
cheesecake wrote:
santasd wrote:
cheesecake wrote:
sub PlavcaItem type 0x1410 должен соответствовать тайпу переплавляемого айтема.

Type и соответствует переплавляемому итему...проблема не решена



Цвет тоже?

а в скрипте указан цвет? я проглядел чтоли?
не отвечу на твой вопрос, потому что не знаю

_________________
Alea Jacta Est - Выбор сделан
PVM - 100%
PVP - 2%
Skype: SantaSD
Discord: Тиберий (Кирюха)
Discord2: Deadsanta (Кирюха)
Vampire - Deadsanta
Craft - Tpaktopuctka
Archer - Panaromix
Mage - Bambo


Top
 Profile  
 
PostPosted: 08 Apr 2017, 16:29 
Offline
Игрок

Joined: 19 Mar 2017, 21:51
Posts: 85
sub PlavcaItem()
uo.findtype('0x1410','0x0000','backpack')
while uo.findcount() > 0
UO.WaitTargetObject('finditem')
UO.UseObject('0x40036951')
wait(300)
uo.findtype('0x1410','0x0000','backpack')
wend
в этой строке айди форжи вписал?UO.UseObject('0x40036951')
или он на форжу нажимает а на сам предмет который плавить нужно нет?
Кстати есть у тебя не айрон дагер то цвет тоже нужно указывать '0x1410','0x0000', цвет это - '0x0000' у тебя в данный мемент не указан


Top
 Profile  
 
PostPosted: 08 Apr 2017, 21:03 
Offline
Начинающий игрок
User avatar

Joined: 19 Oct 2013, 20:44
Posts: 16
Location: Москва
Элронд wrote:
sub PlavcaItem()
uo.findtype('0x1410','0x0000','backpack')
while uo.findcount() > 0
UO.WaitTargetObject('finditem')
UO.UseObject('0x40036951')
wait(300)
uo.findtype('0x1410','0x0000','backpack')
wend
в этой строке айди форжи вписал?UO.UseObject('0x40036951')
или он на форжу нажимает а на сам предмет который плавить нужно нет?
Кстати есть у тебя не айрон дагер то цвет тоже нужно указывать '0x1410','0x0000', цвет это - '0x0000' у тебя в данный мемент не указан


Когда запускаешь скрипт PlavcaItem, он пишет autotarget cancelled, не знаю чего автотаргет, но дело в том что если запустить плавкуитем и вручную жать на плавильню, то он автоматом из пака плавит нужный итем, то есть, я так понимаю, что с итемом в скрипте все ок, написано правильно, а вот форжу не определяет.
Я сменил
UO.UseObject('0x0FB1')
но эффекта это не возымело

P.S. крафтит айрон щиты, цвет 0x0000, так что в данном случае все правильно с цветом

_________________
Alea Jacta Est - Выбор сделан
PVM - 100%
PVP - 2%
Skype: SantaSD
Discord: Тиберий (Кирюха)
Discord2: Deadsanta (Кирюха)
Vampire - Deadsanta
Craft - Tpaktopuctka
Archer - Panaromix
Mage - Bambo


Top
 Profile  
 
PostPosted: 08 Apr 2017, 21:24 
Offline
Игрок

Joined: 19 Mar 2017, 21:51
Posts: 85
ты вписал тайп форжи а нужно айди UO.UseObject('0x40036951')- айди выглядит именно так 0x40036951


Top
 Profile  
 
PostPosted: 08 Apr 2017, 21:36 
Offline
Начинающий игрок
User avatar

Joined: 19 Oct 2013, 20:44
Posts: 16
Location: Москва
Элронд wrote:
ты вписал тайп форжи а нужно айди UO.UseObject('0x40036951')- айди выглядит именно так 0x40036951


Поправил, теперь он выдает ошибку в строчке 152:
UO.UseObject(''0x40036951')
wait(300) ; это строчка 152.
Менял на 3000 (эксперимент) - ошибка вылазит
Указал айди форжи через _info - айди 0x40022AFB - выдает ошибку все равно

Все сработало, плавит крафт, ошибка в знаке одном (лишний) - спасибо всем кто помог.

_________________
Alea Jacta Est - Выбор сделан
PVM - 100%
PVP - 2%
Skype: SantaSD
Discord: Тиберий (Кирюха)
Discord2: Deadsanta (Кирюха)
Vampire - Deadsanta
Craft - Tpaktopuctka
Archer - Panaromix
Mage - Bambo


Top
 Profile  
 
PostPosted: 11 Apr 2017, 12:36 
Offline
Начинающий игрок
User avatar

Joined: 19 Oct 2013, 20:44
Posts: 16
Location: Москва
Прошу прощения за недостойный ап темы, но мне нужен скрипт на ламбер, уже настроенный, не важно где рубить, покажите место я там маркнусь просто, скрипты с форума не умею настраивать, немощный в скриптах я, пожалуйста, подгоните скрипт на ламбер. От души всем...

_________________
Alea Jacta Est - Выбор сделан
PVM - 100%
PVP - 2%
Skype: SantaSD
Discord: Тиберий (Кирюха)
Discord2: Deadsanta (Кирюха)
Vampire - Deadsanta
Craft - Tpaktopuctka
Archer - Panaromix
Mage - Bambo


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 10 posts ] 

All times are UTC + 2 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 180 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group