Просьба ... с определением появившегося чара на экране ...
Moderators: Murderator+, Murderator
насчет пробела ... если он есть во всех мессагах то как тогда воще что то делать .... ведь мне нужно еще и копать ... и соответственно будет много других мессаг, причем мне нужно чтоб именно при появлении кого то я улетал а не при его мессаге .... прибела в его имени может и не быть
My Game is Ultima online on DRW!
в общем смысл такой:
if [условие] then [действие]
условие - появление любого живого существа на экране ... кроме меня естественно ...
З.Ы. Наверное нереально сделать чтобы при появлении чувака с киркой он оставался на месте? и продолжал копать =) как ни в чем небывало ... пусть себе человек роет раз копать прилетел ...
Заранее спасибо тому у кого получиться выполнить замысел!
if [условие] then [действие]
условие - появление любого живого существа на экране ... кроме меня естественно ...
З.Ы. Наверное нереально сделать чтобы при появлении чувака с киркой он оставался на месте? и продолжал копать =) как ни в чем небывало ... пусть себе человек роет раз копать прилетел ...
Заранее спасибо тому у кого получиться выполнить замысел!
My Game is Ultima online on DRW!
Яж тебе дал нормальный сканер
условие так выглядит:
условие так выглядит:
Code: Select all
If Scan() == 1 Then
; улетает
EndIf
Lesnik wrote:в общем смысл такой:
if [условие] then [действие]
условие - появление любого живого существа на экране ... кроме меня естественно ...
З.Ы. Наверное нереально сделать чтобы при появлении чувака с киркой он оставался на месте? и продолжал копать =) как ни в чем небывало ... пусть себе человек роет раз копать прилетел ...
Заранее спасибо тому у кого получиться выполнить замысел!
С киркой ладно, а если с лопатой )))
flake wrote:Яж тебе дал нормальный сканер
условие так выглядит:Code: Select all
If Scan() == 1 Then
; улетает
EndIf
незнаю насчет твоего сканера, но как только условием являеться он - мой чар сразу же улетает ... не то что не уидев никого, но и копать то не начинает


пока все еще стою на расхайде

My Game is Ultima online on DRW!
Еще так пара вопросов по ходу:
1. инжа руганулась тут и терь все время ругаеться ... на одном и том же месте ...
Полетел счетчик вложенности циклов.
Кто в курсе что таке? И как это исправить?
2. При реколе по рунбуки или рунке из магазина домой вообще вылетает инжа, иногда просто иду вылетает ... в определенных местах ... кто знает из за чего это может быть?
1. инжа руганулась тут и терь все время ругаеться ... на одном и том же месте ...
Полетел счетчик вложенности циклов.
Кто в курсе что таке? И как это исправить?
2. При реколе по рунбуки или рунке из магазина домой вообще вылетает инжа, иногда просто иду вылетает ... в определенных местах ... кто знает из за чего это может быть?
My Game is Ultima online on DRW!
инжа выдает ошибку:
Line 55: GoTo – полетел счетчик вложенности циклов!!!
ХЕЛП!!! ... химичил че то со скриптом .... в итоге эта долбанная ошибка появилась ... копает один круг и вылетает с этой ошибкой ...
Line 55: GoTo – полетел счетчик вложенности циклов!!!
Code: Select all
##################
##### Ìèíèíã #####
##################
sub maning()
var mx, my, mz, i, j, e, f
Uo.exec("set norbcheck 1"); äëÿ ðåêîëà
uo.exec("set norbcalc 1") ; òîæå
e=1
f=0
na4alo:
UO.DeleteJournal()
mx = UO.GetX("self")
my = UO.GetY("self")
mz = UO.GetZ("self")
UO.DeleteJournal()
for i = mx-1 to mx+1
for j = my-1 to my+1
while not UO.Hidden()
UO.Warmode("0")
uo.print("Hiding...")
UO.UseSkill("Hiding")
wait(5000)
wend
UO.Print("Mine in: "+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") and not UO.InJournal("but fail")and not UO.InJournal("Bronze Ore") and not UO.InJournal("Silver Ore") and not UO.InJournal("Gold Ore") and not UO.InJournal("Shadow Ore") and not UO.InJournal("Rose Ore") and not UO.InJournal("Agapite Ore") and not UO.InJournal("Bloodrock Ore") and not UO.InJournal("Verite Ore") and not UO.InJournal("Valorite Ore") and not UO.InJournal("Mytheril Ore") and not UO.InJournal("Blackrock Ore") and not UO.InJournal("Obsidian Ore") and not UO.InJournal("Plutonium Ore") and not UO.InJournal("Elvin Ore") and not UO.InJournal("Gordan Ore") and not UO.InJournal("Crystaline Ore") and not UO.InJournal("Steel Ore") and not UO.InJournal("Bloodcrest Ore") and not UO.InJournal("Dragon Ore") and not UO.InJournal("Krynite Ore") and not UO.InJournal("Vulcan Ore") and not UO.InJournal("Acid Ore") and not UO.InJournal("Aqua Ore") and not UO.InJournal("Eldar Ore") and not UO.InJournal("Sandrock 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("Elemental") or uo.dead() then
uo.playwav("d:\Games\Ultima Online 2D\element.wav")
Pause()
endif
if uo.injournal("revealed") then
Save()
uo.playwav("d:\Games\Ultima Online 2D\pk.wav")
wait(250000) ; âðåìÿ ïðè îæèäàíèè ïîêà óéäåò ÏÊ â ìåñòå êóäà ðóíêà â ïàêå
goto reccal
endif
wend
if uo.weight > 600 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(11000)
loot()
wait(1000)
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(11000)
if not UO.GetX("self") <> mx and not UO.GetY("self") <> my then
goto reccal ; ïðîâåðêà íà ôèçë
endif
goto na4alo
end sub
sub loot() ; ïåðåêëàäêà ðóäû â ñóíäóê
VAR a, Exit
if uo.waiting() then
uo.canceltarget()
endif
while not UO.Hidden()
UO.Warmode("0")
uo.print("Hiding...")
UO.UseSkill("Hiding")
wait(5000)
; '0x401731D2'
VAR UnloadCont='0x4000E3AA' ; ÀÉÄÈ ñóíäóêà äëÿ ðóäû, êîòîðûé äîëæåí îòêðûâàòüñÿ ñ ìåñòà êóäà ðóíêà äîìîé
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
UO.FindType('0x1F14',-1,'my')
wait(200)
UO.Cast('Recall','finditem')
wait(4000)
if uo.injournal("spell fizzles") then
goto reccal
endif
loot()
end sub
sub Pause() ; Ïàóçà ñêðèïòà åñëè âûêîïàëè Ýëåìà (ïðîäîëæèòü ñêàçàâ GO)
UO.DeleteJournal()
UO.Print("!!!Script Paused!!!!")
REPEAT
WAIT(1000)
UNTIL UO.InJournal('GO')
UO.Print("!!!Script Return!!!!")
UO.DeleteJournal()
end sub
##############################################################
ХЕЛП!!! ... химичил че то со скриптом .... в итоге эта долбанная ошибка появилась ... копает один круг и вылетает с этой ошибкой ...
My Game is Ultima online on DRW!
я тут хорошо подумал ..... ненадо чтоб чар улетал при появлении .... достаточно того что чара раздетектили ...
заканчиваю последние тесты .... скоро выложу полный скрипт на Мининг для ДРВ с учетом всех последних изменений шарда (с 1 тайла копает только 1 руду) ... спасибо скриптеру ВЕТЕР ... за его скрипт на мининг ... с помощью его я вообще разобрался в скриптах и научился их корректировать ... находить ошибки и многое другое чего раньше не умел ...
З.Ы. Скрипт требует небольшого присмотра, иначе зачем вообще играть =)) ... в общем для ленивых, но присутствующих за компом людей
заканчиваю последние тесты .... скоро выложу полный скрипт на Мининг для ДРВ с учетом всех последних изменений шарда (с 1 тайла копает только 1 руду) ... спасибо скриптеру ВЕТЕР ... за его скрипт на мининг ... с помощью его я вообще разобрался в скриптах и научился их корректировать ... находить ошибки и многое другое чего раньше не умел ...
З.Ы. Скрипт требует небольшого присмотра, иначе зачем вообще играть =)) ... в общем для ленивых, но присутствующих за компом людей
My Game is Ultima online on DRW!
Code: Select all
##################
##### Ìèíèíã v.1.0 #####
##################
sub maning()
var mx, my, mz, i, j, e, f
Uo.exec("set norbcheck 1") # òàê íóæíî, ñàì íåçíàþ çà÷åì #
uo.exec("set norbcalc 1") # òîæå =) #
e=1
f=0
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("Hiding...")
UO.UseSkill("Hiding")
wait(4000)
wend
UO.Print("Mine in: "+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") and not UO.InJournal("but fail")and not UO.InJournal("Bronze Ore") and not UO.InJournal("Silver Ore") and not UO.InJournal("Gold Ore") and not UO.InJournal("Shadow Ore") and not UO.InJournal("Rose Ore") and not UO.InJournal("Agapite Ore") and not UO.InJournal("Bloodrock Ore") and not UO.InJournal("Verite Ore") and not UO.InJournal("Valorite Ore") and not UO.InJournal("Mytheril Ore") and not UO.InJournal("Blackrock Ore") and not UO.InJournal("Obsidian Ore") and not UO.InJournal("Plutonium Ore") and not UO.InJournal("Elvin Ore") and not UO.InJournal("Gordan Ore") and not UO.InJournal("Crystaline Ore") and not UO.InJournal("Steel Ore") and not UO.InJournal("Bloodcrest Ore") and not UO.InJournal("Dragon Ore") and not UO.InJournal("Krynite Ore") and not UO.InJournal("Vulcan Ore") and not UO.InJournal("Acid Ore") and not UO.InJournal("Aqua Ore") and not UO.InJournal("Eldar Ore") and not UO.InJournal("Sandrock 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
# íèæå ïîìåíÿòü íà ñâîþ ìåëîäèþ #
uo.playwav("d:\Games\Ultima Online 2D\element.wav")
Pause()
goto na4alo
endif
if uo.injournal("revealed") then # ñìîòðèì êàê ÏÊ îáëîìàëñÿ è óëûáàåìñÿ #
tut:
if uo.waiting() then
uo.canceltarget()
endif
Save()
e=1
# íèæå ïîìåíÿòü íà ñâîþ ìåëîäèþ #
uo.playwav("d:\Games\Ultima Online 2D\pk.wav")
while not UO.Hidden()
UO.Warmode("0")
uo.print("Hiding...")
UO.UseSkill("Hiding")
wait(4000)
wend
loot()
wait(180000) # ñòîêî âðåìåíè æäåì äîìà ó ñóíäóêà #
goto reccal
endif
wend
if uo.weight > 600 then # âåñ ïî êîòîðîìó ëåòèì äîìîé ïî ðóíáóêå #
goto end
endif
wend
###########################################################
##### Ïåðåõîä åñëè 20 ðàç íå íàéäåíà ðóäà âîêðóã ñåáÿ #####
###########################################################
if UO.InJournal("no ore here") then
f=f+1
endif
if f>20 then # 20 ðàç #
# íèæå ïîìåíÿòü íà ñâîþ ìåëîäèþ #
uo.playwav("d:\Games\Ultima Online 2D\perehod.wav")
f=0
if e==1 then
UO.Print("Go West 7 step.") # ñòîëüêî ðàç áóäåì øàãàòü íà East #
GoW()
if uo.injournal('attack') or uo.injournal('Por') then
goto tut
endif
GoW()
if uo.injournal('attack') or uo.injournal('Por') then
goto tut
endif
GoW()
if uo.injournal('attack') or uo.injournal('Por') then
goto tut
endif
GoW()
if uo.injournal('attack') or uo.injournal('Por') then
goto tut
endif
GoW()
if uo.injournal('attack') or uo.injournal('Por') then
goto tut
endif
GoW()
if uo.injournal('attack') or uo.injournal('Por') then
goto tut
endif
GoW()
if uo.injournal('attack') or uo.injournal('Por') then
goto tut
endif
e=2
goto na4alo
else
UO.Print("Go East 7 step.") # ñòîëüêî ðàç áóäåì øàãàòü íà East #
GoE()
if uo.injournal('attack') or uo.injournal('Por') then
goto tut
endif
GoE()
if uo.injournal('attack') or uo.injournal('Por') then
goto tut
endif
GoE()
if uo.injournal('attack') or uo.injournal('Por') then
goto tut
endif
GoE()
if uo.injournal('attack') or uo.injournal('Por') then
goto tut
endif
GoE()
if uo.injournal('attack') or uo.injournal('Por') then
goto tut
endif
GoE()
if uo.injournal('attack') or uo.injournal('Por') then
goto tut
endif
GoE()
if uo.injournal('attack') or uo.injournal('Por') then
goto tut
endif
e=1
goto na4alo
endif
endif
####################################################
UO.DeleteJournal()
next
next
goto na4alo
end:
if uo.waiting() then
uo.canceltarget()
endif
uo.exec("recall Runebook 21") # äîìîé ïî ðóíáóêó - â ïåðâîì ñëîòå ðóíà ê ñåéôó #
wait(11000)
e=1
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(11000)
if not UO.GetX("self") <> mx and not UO.GetY("self") <> my then
goto reccal
endif
goto na4alo
end sub
##################################################
##### Ïåðåõîä íà 1 êëåòêó â íàïðàâëåíèè West #####
##################################################
sub GoW()
VAR walkwait=300
VAR x,y,dir=6
VAR key=36 ; Home key
x=UO.GetX()
y=UO.GetY()
while UO.GetDir()<>dir
UO.Press(key)
wait(walkwait)
If UO.GetDir()<>dir Then
CheckLag()
Endif
wend
UO.Press(key)
wait(walkwait)
If x==UO.GetX() AND y==UO.GetY() Then
CheckLag()
Endif
If UO.GetX()+1==x Then
return -1
Else
return 1
Endif
end sub
##################################################
##### Ïåðåõîä íà 1 êëåòêó â íàïðàâëåíèè East #####
##################################################
sub GoE()
VAR walkwait=300
VAR x,y,dir=2
VAR key=34 ; PgDown
x=UO.GetX()
y=UO.GetY()
while UO.GetDir()<>dir
UO.Press(key)
wait(walkwait)
If UO.GetDir()<>dir Then
CheckLag()
Endif
wend
UO.Press(key)
wait(walkwait)
If x==UO.GetX() AND y==UO.GetY() Then
CheckLag()
Endif
If UO.GetX()-1==x Then
return -1
Else
return 1
Endif
end sub
###########################
##### Ïðîâåðêà íà ëàã #####
###########################
sub CheckLag()
UO.DeleteJournal()
UO.Click('backpack')
repeat
wait(500)
until UO.InJournal('backpack')
end sub
#########################################
##### Óïàêîâêà ãîòîâîãî ïðîäóêòà =) #####
#########################################
sub loot() # ñêëàäûâàåì ðóäó â ñåéô #
if uo.waiting() then
uo.canceltarget()
endif
VAR a,Exit
; '0x401731D2'
VAR UnloadCont='0x4000E3AA' # ïîìåíÿòü íà ID ñâîåãî ñåéôà êóäà ñêëàäûâàåì ðóäó, óçíàòü åãî ìîæíî êîìàíäîé ',info' #
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() # ðâåì êîãòè ïî ðóíå ê ñåéôó è îòñèæèâàåìñÿ òàì, ïðåäâàðèòåëüíî ñëîæèâ â ñåéô ðóäó #
reccal:
uo.deletejournal()
if uo.waiting() then
uo.canceltarget()
endif
UO.DeleteJournal()
UO.FindType('0x1F14',-1,'my')
wait(200)
UO.Cast('Recall','finditem')
wait(5000)
if uo.injournal("fizzles") then
goto reccal
endif
end sub
###################################
##### Ïàóçà - ÷å õîòèì òâîðèì #####
###################################
sub Pause() # ïàóçà äëÿ òîãî ÷òîáû ðàñïðàâèòüñÿ ñ ýëåìåíòîì, õîòÿ ýòó ÷àñòü óìíûå ëþäè çàìåíÿþò íà àâòî óáèéñòâî ýëåìåíòà #
# ïàóçà ïðåêðàòèòüñÿ êîãäà âû ñêàæåòå GO áîëüøèìè áóêâàìè ñòðîãî! #
UO.DeleteJournal()
REPEAT
WAIT(3000)
UO.Print("Script paused")
UNTIL UO.InJournal('GO')
UO.Print("Script return")
endif
end sub
###########################
# íó âñå âïåðåä êîïàòü =) #
###########################
My Game is Ultima online on DRW!
Lesnik wrote:я тут хорошо подумал ..... ненадо чтоб чар улетал при появлении .... достаточно того что чара раздетектили ...
Дык тебя будет очень легко убить: находят чара трекингом, подходят вплотную и ставят под чара стенку парализа, он только тогда раздетектится - а уже не улететь.
З.Ы.
У нас на Цитаделе кирки цветные, и есть ОЧЕНЬ дорогие. Все ими копают либо толпой, либо на хороших макрах. Добрая половина шарда копала довольно не плохим макром одного скриптера. Макрос был приличный, только вот нашли мы в нем один прикол, и долго выносили копалок с помощью него: Проверка на появление элема в нем была такая: If uo.Injournal( 'elem' ) Then... Ну и при появлении этого сообщения чар раздетективался, брал оружие и хилился, ожидая пока элем умрет (опять же по сообщению Body). И вот назвали мы лошадку elemental, и стали ждать в хайде в шахте. Услышав, что копалка прилетела - просто слезли с лошади, а дальше уже всё понятно

flake wrote:Проверка на появление элема в нем была такая: If uo.Injournal( 'elem' ) Then... Ну и при появлении этого сообщения чар раздетективался, брал оружие и хилился, ожидая пока элем умрет (опять же по сообщению Body). И вот назвали мы лошадку elemental, и стали ждать в хайде в шахте. Услышав, что копалка прилетела - просто слезли с лошади, а дальше уже всё понятно
Хе-хе, это чей же скрипт? С моим бы такое не прокатило, контроль других чаров при сражении с элемом не отключается. Просто интересно, чей же такой мининг на Цитадели...
