вставка (копка)

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
dubd
Posts: 249
Joined: 2012-07-27 23:43:14

вставка (копка)

Post by dubd »

прив народ всем.
помогите пожалуйста вставить. Перед тем как чар улетает - пьёт инвиз. Ну он достигает веса 600 кило в сумке, пьёт инвиз и улетает.

Code: Select all

mx = UO.GetX("self")
my = UO.GetY("self")
mz = UO.GetZ("self")
UO.DeleteJournal()
for i = mx-4 to mx+4
for j = my -4 to my+4
while not UO.Hidden()
UO.Warmode("0")
uo.print("Прячемся...")
UO.UseSkill("Hiding")
wait(4000)
wend
UO.Print("Копаем в координатах: "+str(mx-i)+" "+str(my-j))
while not UO.InJournal("no ore here") and not UO.InJournal("location") and not UO.InJournal("far away") and not UO.InJournal("in rock") and not UO.InJournal("Iron Ore") and not UO.InJournal("Copper") and not UO.InJournal("Rusty Ore")
UO.DeleteJournal()
if uo.waiting() then
uo.canceltarget()
endif
UO.Waittargettile("1341", str(i), str(j), str(mz))
UO.Useobject("Shovel")
while not UO.InJournal("You put") and not UO.InJournal("heavy") and not UO.InJournal("location") and not UO.InJournal("no ore") and not UO.InJournal("but fail") and not UO.InJournal("far away") and not UO.InJournal("in rock")
wait (500)
if uo.injournal("heavy") or uo.dead() then
pwav()                   
endif
for jor = 0 to 9   
ser = uo.journalserial(jor)
noto = uo.getnotoriety(ser)
if noto <> 1 and noto <> 0 and not uo.injournal("elemental") then
if uo.waiting() then
uo.canceltarget()
endif
pwavw()
wait(180000) ; время в секундах при ожидании пока уйдет ПК
loot()
wait(3000)
goto reccal
endif
next   
wend
if uo.weight > 625 then  ; Максимальный вес при котором домой с рудой
goto end
endif
wend
UO.DeleteJournal()
next
next
goto na4alo
end:
if uo.waiting() then
uo.canceltarget()
endif
uo.exec("recall Runebook 21") ; домой ( в рунбуке слот 1 )
wait(10000)
loot()
wait(3000)
reccal:
uo.deletejournal()
if uo.waiting() then
uo.canceltarget()
endif
uo.exec("recall Runebook 94") ; в шахту ( в рунбуке слот 8 )
mx = UO.GetX("self")
my = UO.GetY("self")
wait(10000)
if not UO.GetX("self") <> mx and not UO.GetY("self") <> my then
goto reccal
endif
goto na4alo
end sub

sub loot()    ; перекладка руды в сундук
if uo.waiting() then
uo.canceltarget()
endif
VAR a,Exit
while not UO.Hidden()
UO.UseSkill("Stealth")
wait(4000)
wend
VAR UnloadCont='0x403B3732' ; АЙДИ сундука для руды
DIM Ore[5]
Ore[0]=0x19B9 ; 4 and more ore
Ore[1]=0x19B7 ; 1 ore
Ore[2]=0x19BA ; 2 ore
Ore[3]=0x19B8 ; 3 ore
UO.SetReceivingContainer(UnloadCont)
wait(500)
For a=0 to 3
Exit=0
repeat
UO.FindType(Ore[a])
if UO.GetQuantity('finditem')>0 then
UO.Grab('0','finditem')
wait(1500)
Else
Exit=1
endif
until Exit==1
Next
UO.UnSetReceivingContainer()
end sub

sub Save() ; Реколл от ПК при их появлении (в паке рунка в безопасное место и реги)
var mx, my
reccal:
uo.deletejournal()
if uo.waiting() then
uo.canceltarget()
endif
mx = UO.GetX("self")
my = UO.GetY("self")
UO.DeleteJournal()
UO.FindType('0x1F14',-1,'my')
wait(200)
UO.Cast('Recall','finditem')
wait(4000)
if not UO.GetX("self") <> mx and not UO.GetY("self") <> my then
goto reccal
endif
end sub
dubd
Posts: 249
Joined: 2012-07-27 23:43:14

Re: вставка (копка)

Post by dubd »

вот тип и цвет инвиз напитка -

Code: Select all

"0x0F0E" ;"0x0631" 
dubd
Posts: 249
Joined: 2012-07-27 23:43:14

Re: вставка (копка)

Post by dubd »

нароод вы где все :?: :?:

в общем вставил с грехом пополам питьё бутылки перед тем, как улететь. Сейчас можете подсказать пожалуйста, где именно вставлять питьё бутылки, как только он обратно в шахту возвращаетца?
dubd
Posts: 249
Joined: 2012-07-27 23:43:14

Re: вставка (копка)

Post by dubd »

подскажите пожалуйста, а возможно ли сделать так, чтобы чар пил инвиз после того как второй раз в пещеру прилетит? А не сразу как запускаешь скрипт.
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: вставка (копка)

Post by Mirage »

Выпить инвизку

Code: Select all

       if UO.Count('0x0F0E','0x0631') then
          UO.usetype('0x0F0E','0x0631')
       endif

вписываете там где вам нужно и чар пьет инвизку когда вам нужно.

Чтобы пил перед отлетом домой вставлять нужно перед строчкой:

Code: Select all

uo.exec("recall Runebook 21") ; домой ( в рунбуке слот 1 )



перед отлетом в шахту - как это не странно - вставлять питьё надо перед строчкой

Code: Select all

uo.exec("recall Runebook 94") ; в шахту ( в рунбуке слот 8 )



Там же вроде русские комментарии - видно где и что. :|
dubd
Posts: 249
Joined: 2012-07-27 23:43:14

Re: вставка (копка)

Post by dubd »

спасиб Мираж! Пардон что докучаю, но дело в том, что перед полётом в шахту он пьёт инвиз, а в шахту прилетает не в инвизе :) :) (ну это везде так кажись). Можно ли сделать, что как только он в шахту обратно прилетает - пьёт инвиз! Тоесть полусаетца надо вставлять перед началом копки?
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: вставка (копка)

Post by Mirage »

выше

Code: Select all

UO.DeleteJournal()
for i = mx-4 to mx+4
for j = my -4 to my+4

попробуй.
Там где я играл копание выводит из инвиза. Но это специфика сервера скорее чем общее правило.
И он же все равно прятаться старается хайдингом. Зачем тратить вес и деньги на инвизки? ПК захочет поймать - поймает. Проще вписать оживление с креста.
dubd
Posts: 249
Joined: 2012-07-27 23:43:14

Re: вставка (копка)

Post by dubd »

да Мираж спс!
А какую задержку на хайдинг посоветуешь? Чтобы быстро прятался.
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: вставка (копка)

Post by Mirage »

быстрее чем на сервере по правилам все равно не получится.
Я обычно использую вот такую пряталку:

Code: Select all

sub ToHide()
   VAR LastTimer, n=0, HidFlag=1
   if UO.Hidden() then
      HidFlag=0
   else
   end if
   while HidFlag
      uo.DeleteJournal()
      LastTimer=UO.Timer()
      UO.Exec('warmode 0')
      UO.UseSkill('Hiding')
      repeat
         wait(100)
      until UO.InJournal("can't seem to hide|to perform|stop trying|прекратили|не удалось|удачно|You have hidden yourself well") || LastTimer+50<UO.Timer()
      if UO.InJournal("0xA5F8|удачно|You have hidden yourself well") then
         HidFlag=0
      else
         n=n+1
         if n>3 then
            UO.Set('quiet','0')
            UO.Print('Спрятаться не получается')
            UO.Set('quiet','1')
            MyTerminate()
         end if
      end if
   wend
end sub

Вписываешь куда требуется ToHide()
Пытается спрятаться 3 раза, если не получается - вырубает скрипт функцией MyTerminate()
Сообщения возможно потребуется поменять под сервер.
dubd
Posts: 249
Joined: 2012-07-27 23:43:14

Re: вставка (копка)

Post by dubd »

Мираж спс что поделился :)
вот сюда вставил - работает:

Code: Select all

na4alo:
mx = UO.GetX("self")
my = UO.GetY("self")
mz = UO.GetZ("self")
UO.DeleteJournal()
for i = mx-4 to mx+4
for j = my -4 to my+4
###while not UO.Hidden()
###UO.Warmode("0")
###uo.print("Прячемся...")
###UO.UseSkill("Hiding")
###wait(1000)
###wend
ToHide()
UO.Print("Копаем в координатах: "+str(mx-i)+" "+str(my-j))
while not UO.InJournal("no ore here") and not UO.InJournal("location") and not UO.InJournal("far away") and not UO.InJournal("in rock") and not UO.InJournal("Iron Ore") and not UO.InJournal("Copper") and not UO.InJournal("Rusty Ore")
UO.DeleteJournal()
if uo.waiting() then
uo.canceltarget()
endif


Ток он как прилетит после выгрузки - немножко стоит секунды 2-3, а потом ток прячетца. Или так и надо?
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: вставка (копка)

Post by Mirage »

Проверь сообщение на удачную попытку спрятаться You have hidden yourself well. Если не такое то твое надо вставить вот в эти две строки.

Code: Select all

      until UO.InJournal("can't seem to hide|to perform|stop trying|прекратили|не удалось|удачно|You have hidden yourself well") || LastTimer+50<UO.Timer()
      if UO.InJournal("0xA5F8|удачно|You have hidden yourself well") then
Post Reply