Yoko
http://forum.yoko.com.ua/

вставка (копка)
http://forum.yoko.com.ua/viewtopic.php?f=20&t=17285
Page 1 of 1

Author:  dubd [ 2013-07-21 13:49:31 ]
Post subject:  вставка (копка)

прив народ всем.
помогите пожалуйста вставить. Перед тем как чар улетает - пьёт инвиз. Ну он достигает веса 600 кило в сумке, пьёт инвиз и улетает.
Code:
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

Author:  dubd [ 2013-07-21 23:44:35 ]
Post subject:  Re: вставка (копка)

вот тип и цвет инвиз напитка -
Code:
"0x0F0E" ;"0x0631" 

Author:  dubd [ 2013-07-22 14:44:44 ]
Post subject:  Re: вставка (копка)

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

в общем вставил с грехом пополам питьё бутылки перед тем, как улететь. Сейчас можете подсказать пожалуйста, где именно вставлять питьё бутылки, как только он обратно в шахту возвращаетца?

Author:  dubd [ 2013-08-03 23:28:33 ]
Post subject:  Re: вставка (копка)

подскажите пожалуйста, а возможно ли сделать так, чтобы чар пил инвиз после того как второй раз в пещеру прилетит? А не сразу как запускаешь скрипт.

Author:  Mirage [ 2013-08-04 08:55:16 ]
Post subject:  Re: вставка (копка)

Выпить инвизку
Code:
       if UO.Count('0x0F0E','0x0631') then
          UO.usetype('0x0F0E','0x0631')
       endif

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

Чтобы пил перед отлетом домой вставлять нужно перед строчкой:
Code:
uo.exec("recall Runebook 21") ; домой ( в рунбуке слот 1 )



перед отлетом в шахту - как это не странно - вставлять питьё надо перед строчкой
Code:
uo.exec("recall Runebook 94") ; в шахту ( в рунбуке слот 8 )



Там же вроде русские комментарии - видно где и что. :|

Author:  dubd [ 2013-08-04 17:09:34 ]
Post subject:  Re: вставка (копка)

спасиб Мираж! Пардон что докучаю, но дело в том, что перед полётом в шахту он пьёт инвиз, а в шахту прилетает не в инвизе :) :) (ну это везде так кажись). Можно ли сделать, что как только он в шахту обратно прилетает - пьёт инвиз! Тоесть полусаетца надо вставлять перед началом копки?

Author:  Mirage [ 2013-08-04 17:21:29 ]
Post subject:  Re: вставка (копка)

выше
Code:
UO.DeleteJournal()
for i = mx-4 to mx+4
for j = my -4 to my+4

попробуй.
Там где я играл копание выводит из инвиза. Но это специфика сервера скорее чем общее правило.
И он же все равно прятаться старается хайдингом. Зачем тратить вес и деньги на инвизки? ПК захочет поймать - поймает. Проще вписать оживление с креста.

Author:  dubd [ 2013-08-04 20:01:20 ]
Post subject:  Re: вставка (копка)

да Мираж спс!
А какую задержку на хайдинг посоветуешь? Чтобы быстро прятался.

Author:  Mirage [ 2013-08-04 22:14:10 ]
Post subject:  Re: вставка (копка)

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

Code:
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()
Сообщения возможно потребуется поменять под сервер.

Author:  dubd [ 2013-08-04 23:42:39 ]
Post subject:  Re: вставка (копка)

Мираж спс что поделился :)
вот сюда вставил - работает:
Code:
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, а потом ток прячетца. Или так и надо?

Author:  Mirage [ 2013-08-05 06:31:39 ]
Post subject:  Re: вставка (копка)

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

Code:
      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

Page 1 of 1 All times are UTC+02:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/