|
А теперь скажите почему этот скрипт не работает? Что я не так делаю?
И покажите как надо?
Да, и всё же в скрипте на ламбер это как то проще реалезовано.
sub main()
#BETEP™#
var mx, my, mz, i, j, jor, ser, noto
Uo.exec("set norbcheck 1"); для рекола
uo.exec("set norbcalc 1"); тоже
uo.print('!!Viberi Lopatu!! ')
uo.exec('addobject Shovel')
while uo.targeting()
wait(100)
wend
uo.print('!!Viberi Runebook!! ')
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("Hiding...")
UO.UseSkill("Hiding")
wait(4000)
wend
UO.Print("Kopaem v koordinatah: "+str(mx-i)+" "+str(my-j))
while not UO.InJournal("no ore here") and not UO.InJournal("location") and not UO.InJournal("Copper Ore") and not UO.InJournal("Dull Copper Ore") and not UO.InJournal("Old Copper Ore") and not UO.InJournal("Rusty Ore") and not UO.InJournal("Iron Ore") and not UO.InJournal("far away") and not UO.InJournal("in rock")
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)
if noto <> 1 and noto <> 0 and not uo.injournal("elemental") then
if uo.waiting() then
uo.canceltarget()
endif
Save()
pwavw()
realtime()
uo.TextOpen()
uo.TextPrint("Вроде ушли, ждем пока уйдёт ПК "+HR+":"+MIN+":"+SEC)
wait(180000) ; время в секундах при ожидании пока уйдет ПК
loot()
wait(3000)
goto reccal
endif
next
wend
if uo.weight > 250 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(15000)
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(15000)
if not UO.GetX("self") <> mx and not UO.GetY("self") <> my then
goto reccal
endif
goto na4alo
end sub
sub loot() ; перекладка руды в сундук
realtime()
uo.TextOpen()
uo.TextPrint("Выкладываем оры в сундук "+HR+":"+MIN+":"+SEC)
if uo.waiting() then
uo.canceltarget()
endif
VAR a,Exit
VAR UnloadCont='0x401f219d' ; АЙДИ сундука для руды
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() ; Реколл от ПК при их появлении (в паке рунка в безопасное место и реги)
realtime()
uo.TextOpen()
uo.TextPrint("Нас атаковали, смываемся "+HR+":"+MIN+":"+SEC)
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
sub pwav() ; звук при выкапывании ЭЛЕМЕНТАЛА
uo.playwav("C:\Games\UO\inject\alarm.wav")
endsub
sub pwavw(); звук при появлении ПК
uo.playwav("C:\Games\UO\inject\alarm.wav")
endsub
sub Pause() ; Пауза скрипта если выкопали Элема (продолжить сказав GO )
UO.DeleteJournal()
REPEAT
WAIT(3000)
UO.Print("!!!Skript na pauze, napishi GO!!!!")
UNTIL UO.InJournal('GO')
UO.Print("!!!Skript prodoljen!!!!")
endif
end sub
sub realtime()
Var HR = ''
Var MIN = ''
Var SEC = ''
; Определение текущего времени
Var CurrentTime = UO.Time()
If CurrentTime>99999 Then
; Определение часов
HR = Mid(STR(CurrentTime),0,2)
; Определение минут
MIN = Mid(STR(CurrentTime),2,2)
; Определение секунд
SEC = Mid(STR(CurrentTime),4,2)
Else
If CurrentTime > 9999 Then
; Определение часов
HR = '0'+Mid(STR(CurrentTime),0,1)
; Определение минут
MIN = Mid(STR(CurrentTime),1,2)
; Определение секунд
SEC = Mid(STR(CurrentTime),3,2)
Else
If CurrentTime > 999 Then
; Определение часов
HR = '00'
; Определение минут
MIN = Mid(STR(CurrentTime),0,2)
; Определение секунд
SEC = Mid(STR(CurrentTime),2,2)
Else
If CurrentTime > 99 Then
; Определение часов
HR = '00'
; Определение минут
MIN = '0'+Mid(STR(CurrentTime),0,1)
; Определение секунд
SEC = Mid(STR(CurrentTime),1,2)
Else
If CurrentTime > 9 Then
; Определение часов
HR = '00'
; Определение минут
MIN = '00'
; Определение секунд
SEC = STR(CurrentTime)
Else
; Определение часов
HR = '00'
; Определение минут
MIN = '00'
; Определение секунд
SEC = '0'+STR(CurrentTime)
EndIf
EndIf
EndIf
EndIf
EndIf
end sub
|