Помогите подправить скриптик. Шахтер.

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
Dron D.
Posts: 190
Joined: 2004-12-13 01:27:00

Помогите подправить скриптик. Шахтер.

Post by Dron D. »

Вот скрипт взят с этого сайта, но я его подправил под ПК`шников, чтобы реколился как от синих, так и от красных. Но временами когда я среколюсь от кого-нибудь и скрипт вернется опять на место копания, то скрипт начинает реколится просто так....т.е. как бы от меня самого, приходится перезапустить инжу, чтобы скрипт заработал нормально.
Помоигте исправить этот глюк, а то хочу поставить скрипт на ночь, но вдруг он собъётся как всегда и целую ночь в пустую простою...
Заранее премного благодарен :))

Code: Select all

sub maning() 
UO.Set("finddistance","14")
  UO.IgnoreReset()
  UO.Ignore('self')

#BETEP™#
var mx, my, mz, i, j, jor, ser, noto, Count
Uo.exec("set norbcheck 1"); для рекола
uo.exec("set norbcalc 1"); тоже

uo.print('!!Выбери Лопату!! ')
uo.exec('addobject Shovel')
while uo.targeting()
wait(100)
wend
 
uo.print('!!Выбери Рунбук!! ')
uo.exec('addobject Runebook')
while uo.targeting()
wait(100)
wend

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(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()                   
Pause()
endif
for jor = 0 to 9   
ser = uo.journalserial(jor)
noto = uo.getnotoriety(ser)

  UO.FindType('0x0190',-1,1)
  Count=UO.FindCount()
  UO.FindType('0x0191',-1,1)
  Count=Count+UO.FindCount()

if Count>0 and not uo.injournal("elemental") then
if uo.waiting() then
uo.canceltarget()
endif
Save()
pwavw()
wait(100000) ; время в секундах при ожидании пока уйдет ПК
loot()
wait(3000)
goto na4alo
endif
next   
wend
if uo.weight > 600 then  ; Максимальный вес при котором домой с рудой
RecallToHome()
endif
wend
UO.DeleteJournal()
next
next
goto na4alo
end:
if uo.waiting() then
uo.canceltarget()
endif
wait(10000)
loot()
wait(3000)
reccal:
uo.deletejournal()
if uo.waiting() then
uo.canceltarget()
endif
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
VAR UnloadCont='0x400BF926' ; АЙДИ сундука для руды 
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()
RecallToLumber()
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')
UO.Cast('Recall','finditem')
wait(3700)
if not UO.GetX("self") <> mx and not UO.GetY("self") <> my then
goto reccal
endif
end sub

sub pwav() ; звук при выкапывании ЭЛЕМЕНТАЛА
uo.playwav("C:\WINDOWS\Media\tada.wav")
endsub

sub pwavw(); звук при появлении ПК
uo.playwav("C:\WINDOWS\Media\tada.wav")
endsub

sub Pause() ; Пауза скрипта если выкопали Элема (продолжить сказав GO )
UO.DeleteJournal()
REPEAT
WAIT(3000)
UO.Print("!!!СКРИПТ НА ПАУЗЕ!!!!")
UNTIL UO.InJournal('GO')
UO.Print("!!!СКРИПТ ПРОДОЛЖЕН!!!!")
endif
end sub

sub RecallToHome()
uo.Print('Прыгаем Домой.')
UO.UseObject('0x4008E59E') ;-Здесь вписываем ID рунбука
wait(500)
UO.LClick(135,99) ;-ето номер руны в рунбуке...мой номр 3 слот...
wait(15000)
loot()
end sub

sub RecallToLumber()
uo.Print('Прыгаем в Лес.')
UO.UseObject('0x4008E59E') ;-Здесь вписываем ID рунбука
wait(500)
UO.LClick(135,129) ;-ето номер руны в рунбуке...мой номр 5 слот...
wait(15000)
goto na4alo
end sub
Dron D.
Posts: 190
Joined: 2004-12-13 01:27:00

Post by Dron D. »

Будьте так добры...помогите :D
Sfagnum
Expert!
Posts: 1284
Joined: 2004-07-04 00:14:58
Contact:

Post by Sfagnum »

Code: Select all

for jor = 0 to 9    
   ser = uo.journalserial(jor)
   if ser <> UO.GetSerial()
      noto = uo.getnotoriety(ser)
      if noto>1 and not uo.injournal("elemental") then
         if uo.waiting() then
            uo.canceltarget()
         endif
         Save()
         pwavw()
         wait(100000) ; время в секундах при ожидании пока уйдет ПК
         loot()
         wait(3000)
         goto na4alo
      endif
   end if
next
замени аналогичный цикл на этот.
ЗЫ. твой код в работающем варианте от морфленного чела не стал бы уходить ;)
BETEPAH
Expert!
Posts: 838
Joined: 2004-05-31 09:31:51
Contact:

Post by BETEPAH »

Хехе ...СФАГИ ОТКРЫЛ ГЛАВНЫЙ БАГ СКРИПТА....все ПК теперь смогут отлавливать майнеров просто морфнусь например в демона )))))
Все просто.
BETEPAH ™
Sfagnum
Expert!
Posts: 1284
Joined: 2004-07-04 00:14:58
Contact:

Post by Sfagnum »

BETEPAH wrote:Хехе ...СФАГИ ОТКРЫЛ ГЛАВНЫЙ БАГ СКРИПТА....все ПК теперь смогут отлавливать майнеров просто морфнусь например в демона )))))
это не про твой скрипт... а про тот что чел намудрил ;)
Dron D.
Posts: 190
Joined: 2004-12-13 01:27:00

Post by Dron D. »

BETEPAH wrote:Хехе ...СФАГИ ОТКРЫЛ ГЛАВНЫЙ БАГ СКРИПТА....все ПК теперь смогут отлавливать майнеров просто морфнусь например в демона )))))

ХЕхехе я давно просёк эту фишку :D:D:D:D:D:D, а ещё вроде бы в старых версиях скрипта на шахтёра, скрипт не видел Женский Тайп Игрока. :)
Dron D.
Posts: 190
Joined: 2004-12-13 01:27:00

Post by Dron D. »

2Сфага: я вставил твоё в моё :D, но он ругается на 53 строку...
Тобишь вот это: if ser <> UO.GetSerial()
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

then забыл
Dron D.
Posts: 190
Joined: 2004-12-13 01:27:00

2Edred

Post by Dron D. »

Respect! Щас вот только посмотрю, как умру или нет...
Sfagnum
Expert!
Posts: 1284
Joined: 2004-07-04 00:14:58
Contact:

Post by Sfagnum »

Edred wrote:then забыл
болезня моя... ещё у while люблю then оставлять...
Post Reply