Page 2 of 4

Posted: 2006-04-21 09:10:23
by Lesnik
сразу же срабатывает единичка .... видимо меня находит??? ... тоже не работает .... ждем следующих предложений .... кстати со злобностью цвена на экране не пробовали работать??? ...

Posted: 2006-04-21 09:14:14
by Lesnik
про единичку это я насчет сканера ....

Posted: 2006-04-21 09:24:00
by Lesnik
насчет пробела ... если он есть во всех мессагах то как тогда воще что то делать .... ведь мне нужно еще и копать ... и соответственно будет много других мессаг, причем мне нужно чтоб именно при появлении кого то я улетал а не при его мессаге .... прибела в его имени может и не быть

Posted: 2006-04-21 09:33:50
by Lesnik
Описание: GetNotoriety •
Синтакс: number uo.GetNotoriety([object])

Возвращает параметр обьекта object (по умолчанию - персонажа игрока) - злобность (цвет).

думаю надо поработать с этим =)) .. кто возьметься? .... но учесть чтоб меня не находил опять же ...

Posted: 2006-04-21 10:41:52
by Lesnik
в общем смысл такой:

if [условие] then [действие]

условие - появление любого живого существа на экране ... кроме меня естественно ...

З.Ы. Наверное нереально сделать чтобы при появлении чувака с киркой он оставался на месте? и продолжал копать =) как ни в чем небывало ... пусть себе человек роет раз копать прилетел ...

Заранее спасибо тому у кого получиться выполнить замысел!

Posted: 2006-04-21 11:06:14
by flake
Яж тебе дал нормальный сканер
условие так выглядит:

Code: Select all

If Scan() == 1 Then
; улетает
EndIf

Posted: 2006-04-21 12:24:26
by Kynep
Lesnik wrote:в общем смысл такой:

if [условие] then [действие]

условие - появление любого живого существа на экране ... кроме меня естественно ...

З.Ы. Наверное нереально сделать чтобы при появлении чувака с киркой он оставался на месте? и продолжал копать =) как ни в чем небывало ... пусть себе человек роет раз копать прилетел ...

Заранее спасибо тому у кого получиться выполнить замысел!


С киркой ладно, а если с лопатой )))

Posted: 2006-04-21 12:43:42
by Lesnik
flake wrote:Яж тебе дал нормальный сканер
условие так выглядит:

Code: Select all

If Scan() == 1 Then
; улетает
EndIf


незнаю насчет твоего сканера, но как только условием являеться он - мой чар сразу же улетает ... не то что не уидев никого, но и копать то не начинает :) ... видимо что то находит??? ... потому как условие сразу же выполняеться ... а мне нужно чтобы оно выполнялось когда кто то появляеться :)

пока все еще стою на расхайде :) ... под присмотром работает ... а так посути скрипт любой без присмотра можно обломать ... но все же хотелось бы на появление ... так хоть больше шансов выжить ...

Posted: 2006-04-21 13:03:46
by Lesnik
Еще так пара вопросов по ходу:

1. инжа руганулась тут и терь все время ругаеться ... на одном и том же месте ...

Полетел счетчик вложенности циклов.

Кто в курсе что таке? И как это исправить?

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

Posted: 2006-04-21 17:05:09
by SLAK
ты мои посты читал? Влепи игнорить себя(в моем варианте свои месаги), или ты в скриптинге полный ламер?

Posted: 2006-04-21 17:10:28
by Lesnik
инжа выдает ошибку:
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
##############################################################


ХЕЛП!!! ... химичил че то со скриптом .... в итоге эта долбанная ошибка появилась ... копает один круг и вылетает с этой ошибкой ...

Posted: 2006-04-21 18:51:09
by Lesnik
сам непойму че сделал ... взял исходник ... опять поправил его под себя .. и опять все заработало .... чудеса ... хотя сравнил с тем ... один в один .... ниче не пойму =))

Posted: 2006-04-21 18:59:01
by Kynep
Lesnik wrote:сам непойму че сделал ... взял исходник ... опять поправил его под себя .. и опять все заработало .... чудеса ... хотя сравнил с тем ... один в один .... ниче не пойму =))


Скорее всего где-то не поставил кавычку, или ендиф не закрыл..

Posted: 2006-04-21 19:46:36
by Lesnik
я тут хорошо подумал ..... ненадо чтоб чар улетал при появлении .... достаточно того что чара раздетектили ...

заканчиваю последние тесты .... скоро выложу полный скрипт на Мининг для ДРВ с учетом всех последних изменений шарда (с 1 тайла копает только 1 руду) ... спасибо скриптеру ВЕТЕР ... за его скрипт на мининг ... с помощью его я вообще разобрался в скриптах и научился их корректировать ... находить ошибки и многое другое чего раньше не умел ...

З.Ы. Скрипт требует небольшого присмотра, иначе зачем вообще играть =)) ... в общем для ленивых, но присутствующих за компом людей

Posted: 2006-04-21 20:14:56
by Lesnik

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
###########################
# íó âñå âïåðåä êîïàòü =) #
###########################

Posted: 2006-04-21 20:29:39
by Kynep
А теперь возьми и исправь все ероглифы на русский язык.. чтоб людям понятней было

Posted: 2006-04-21 20:33:30
by flake
Lesnik wrote:я тут хорошо подумал ..... ненадо чтоб чар улетал при появлении .... достаточно того что чара раздетектили ...


Дык тебя будет очень легко убить: находят чара трекингом, подходят вплотную и ставят под чара стенку парализа, он только тогда раздетектится - а уже не улететь.

З.Ы.
У нас на Цитаделе кирки цветные, и есть ОЧЕНЬ дорогие. Все ими копают либо толпой, либо на хороших макрах. Добрая половина шарда копала довольно не плохим макром одного скриптера. Макрос был приличный, только вот нашли мы в нем один прикол, и долго выносили копалок с помощью него: Проверка на появление элема в нем была такая: If uo.Injournal( 'elem' ) Then... Ну и при появлении этого сообщения чар раздетективался, брал оружие и хилился, ожидая пока элем умрет (опять же по сообщению Body). И вот назвали мы лошадку elemental, и стали ждать в хайде в шахте. Услышав, что копалка прилетела - просто слезли с лошади, а дальше уже всё понятно :)

Posted: 2006-04-21 23:25:13
by Edred
flake wrote:Проверка на появление элема в нем была такая: If uo.Injournal( 'elem' ) Then... Ну и при появлении этого сообщения чар раздетективался, брал оружие и хилился, ожидая пока элем умрет (опять же по сообщению Body). И вот назвали мы лошадку elemental, и стали ждать в хайде в шахте. Услышав, что копалка прилетела - просто слезли с лошади, а дальше уже всё понятно :)


Хе-хе, это чей же скрипт? С моим бы такое не прокатило, контроль других чаров при сражении с элемом не отключается. Просто интересно, чей же такой мининг на Цитадели... :wink:

Posted: 2006-04-22 00:48:46
by flake
Есть подозрения, что самым первым автором скрипта был Кровь, но все считают, что это скрипт Злого Мульта. Потом его еще Фил переделывал.
Стукни в асю, у меня где-то валяется копия.

Posted: 2006-04-22 11:10:57
by Lesnik
кто знаешь .... в инже что есть ограничение на вложенте скрипта в скрипт??? то есть если повторяющиеся куски делать циклами она тупить начинает???