Yoko

All sides of Injection
It is currently 2026-01-21 20:45:08

All times are UTC+02:00




Post new topic  Reply to topic  [ 19 posts ] 
Author Message
PostPosted: 2006-09-17 19:23:12 
Offline
User avatar

Joined: 2005-07-09 13:45:19
Posts: 44
Есть скрипт, но мне не нравится то, что когда чар прилетает и идет к цели, ходилка по-видимому по прямой, и если вдруг на его пути оказывается преграждение, то он останавливается и далее ни чего не делает.

Можете помочь подсказать в чем проблемма. В ходилке или нет, если да, то посоветовать переделать.
Заранее спасибо.
Code:
var res 

sub main()
DIM rune[6]
DIM ven[6]
var i, n
rune[1]='0x411F8886'
rune[2]='0x411F8888'
rune[3]='0x411F8887'
rune[4]='0x411F8885'
rune[5]='0x411F9016'
rune[6]='0x411F9E34'

ven[1]='0x00FD525F'
ven[2]='0x011883D7'
ven[3]='0x01599B29'
ven[4]='0x001D57C7'
ven[5]='0x0053B6E4'
ven[6]='0x015C6AD6'

repeat
for i=1 to 6
recall(i,rune)
WalkN(0,0,ven[i])
UO.Set('buydelay','3000')
UO.buy('alhim','Alchemist')
wait(500)
UO.Say("bye")
UO.DeleteJournal()
UO.Click(rune[i])
repeat
wait(500)
until UO.InJournal('jumps left')
takenum()
if res < 10 then ;
Mark(i,rune)
endif
med()
next
until UO.Dead()
end sub
#####################################
sub takenum()
var ns, j, i, n
var str, num
num=''
ns=0
n=uo.InJournal('jumps left')-1
str=uo.Journal(n)
UO.Print(str)
j = len( str ) - 1
for i = 0 to j

if ns==1 and str[i]<>' ' then
num=num+str[i]
else
ns=0
endif
if str[i] =='(' then
ns=1
endif
next
res = val(num)
UO.Print(str(res))
end sub
#####################################
sub Recall(i,rune)
var b
uo.print('Recoll Rune '+str(i))
for b=1 to 10
uo.deletejournal()
uo.waittargetobject(rune[i])
uo.cast('Recall',rune[i])
if WaitForRecall()==1 then
return 1
end if
next
return 0
end sub
#####################################
sub Mark(i,rune)
uo.waittargetobject(rune[i])
uo.cast('Mark',rune[i])
end sub
#####################################
sub WaitForRecall()
var Text1=uo.getname()+": The spell fizzles."
var mess='',lastX=uo.getX(),lastY=uo.getY()
for var v=0 to 200
mess=uo.journal(0)
if uo.Journal(0)==Text1 then
return 0
end if
if uo.getX()<>lastX OR uo.getY()<>LastY then
return 1
end if
wait(50)
next
return 0
end sub
######################################
sub med()
VAR LastTimer
while UO.Mana<UO.Int
LastTimer=UO.Timer()
UO.UseSkill('Meditation')
repeat
wait(100)
until UO.InJournal("You are") OR UO.InJournal("You lose") OR UO.Timer()>LastTimer+200
UO.DeleteJournal()
wait(200)
wend
end sub
##############################
# WalkN(X,Y,Serial) - char is walking by dX and dY step
# sub using Home, End, PgUp, PgDown keys
# d'not rebind this key from default action!
# serial - Serial of target or "" - string
# walkwait - delay after keypress
# Example:
# WalkN(2080,2113,'') - go to coordinates
# WalkN(0,0,'0x12345678') - go to target position
#--------------------------------------------------------------
sub WalkN(x,y,Target)
VAR i,StepSucess
VAR dx,dy,Exit=0
While Exit<>1
If Target<>"" Then
dx=UO.GetX(Target)-UO.GetX()
dy=UO.GetY(Target)-UO.GetY()
If UO.GetDistance(Target)<2 Then
Exit=1
Endif
Else
dx=x-UO.GetX()
dy=y-UO.GetY()
If dx==0 AND dy==0 Then
Exit=1
Endif
Endif
If dx<>0 AND dy<>0 Then
If dx>0 AND dy>0 Then
StepSucess=Go(3,40,300) ;SE - DownArrow
If StepSucess==-1 Then
StepSucess=Go(7,38,300) ;WN - UpArrow
StepSucess=Go(1,39,300) ;NE - RightArrow
If StepSucess==-1 Then
StepSucess=Go(5,37,300) ;SW - LeftArrow
Endif
Endif
Endif
If dx>0 AND dy<0 Then
StepSucess=Go(1,39,300) ;NE - RightArrow
If StepSucess==-1 Then
StepSucess=Go(5,37,300) ;SW - LeftArrow
StepSucess=Go(3,40,300) ;SE - DownArrow
If StepSucess==-1 Then
StepSucess=Go(7,38,300) ;WN - UpArrow
Endif
Endif
Endif
If dx<0 AND dy>0 Then
StepSucess=Go(5,37,300) ;SW - LeftArrow
If StepSucess==-1 Then
StepSucess=Go(1,39,300) ;NE - RightArrow
StepSucess=Go(7,38,300) ;WN - UpArrow
If StepSucess==-1 Then
StepSucess=Go(3,40,300) ;SE - DownArrow
Endif
Endif
Endif
If dx<0 AND dy<0 Then
StepSucess=Go(7,38,300) ;WN - UpArrow
If StepSucess==-1 Then
StepSucess=Go(3,40,300) ;SE - DownArrow
StepSucess=Go(5,37,300) ;SW - LeftArrow
If StepSucess==-1 Then
StepSucess=Go(1,39,300) ;NE - RightArrow
Endif
Endif
Endif
Endif
If dx<>0 AND dy==0 Then
If dx>0 Then
StepSucess=Go(2,34,300) ;E - PgDown
If StepSucess==-1 Then
StepSucess=Go(3,40,300) ;SE - DownArrow
If StepSucess==-1 Then
StepSucess=Go(1,39,300) ;NE - RightArrow
Endif
StepSucess=Go(2,34,300) ;E - PgDown
Endif
Endif
If dx<0 Then
StepSucess=Go(6,36,300) ;W - Home
If StepSucess==-1 Then
StepSucess=Go(7,38,300) ;WN - UpArrow
If StepSucess==-1 Then
StepSucess=Go(5,37,300) ;SW - LeftArrow
Endif
StepSucess=Go(6,36,300) ;W - Home
Endif
Endif
Endif
If dx==0 AND dy<>0 Then
If dy>0 Then
StepSucess=Go(4,35,300) ;S - End
If StepSucess==-1 Then
StepSucess=Go(3,40,300) ;SE - DownArrow
If StepSucess==-1 Then
StepSucess=Go(5,37,300) ;SW - LeftArrow
Endif
StepSucess=Go(4,35,300) ;S - End
Endif
Endif
If dy<0 Then
StepSucess=Go(0,33,300) ;N - PgUp
If StepSucess==-1 Then
StepSucess=Go(1,39,300) ;NE - RightArrow
If StepSucess==-1 Then
StepSucess=Go(7,38,300) ;WN - UpArrow
Endif
StepSucess=Go(0,33,300) ;N - PgUp
Endif
Endif
Endif
Wend
end sub
sub Go(dir,key,walkwait)
VAR x,y, OldDir
x=UO.GetX()
y=UO.GetY()
OldDir=UO.GetDir()
If UO.GetDir()<>dir Then
UO.Press(key)
wait(walkwait)
If UO.GetDir()<>dir Then
CheckLag()
Endif
Endif
UO.Press(key)
wait(walkwait)
If x==UO.GetX() AND y==UO.GetY() Then
CheckLag()
Endif
If x==UO.GetX() AND y==UO.GetY() AND OldDir<>UO.GetDir() Then
UO.Press(key)
wait(walkwait)
Endif
If x==UO.GetX() AND y==UO.GetY() Then
CheckLag()
Endif
If x==UO.GetX() AND y==UO.GetY() Then
UO.Print("Zasada!")
return -1
Else
return 1
Endif
end sub
#########################################
sub CheckLag()
UO.DeleteJournal()
UO.Click('backpack')
repeat
wait(500)
until UO.InJournal('Backpack')
end sub


Top
   
 Post subject:
PostPosted: 2006-09-17 19:26:23 
Offline
Expert!
User avatar

Joined: 2005-05-20 20:30:10
Posts: 548
см. прилепленный топик с ходилками


Top
   
 Post subject:
PostPosted: 2006-09-17 19:44:20 
Offline
User avatar

Joined: 2005-07-09 13:45:19
Posts: 44
Ммм, а может быть и эта ходилка не плоха:
Code:
############################## 
# WalkN(X,Y,Serial) - char is walking by dX and dY step
# sub using Home, End, PgUp, PgDown keys
# d'not rebind this key from default action!
# serial - Serial of target or "" - string
# walkwait - delay after keypress
# Example:
# WalkN(2080,2113,'') - go to coordinates
# WalkN(0,0,'0x12345678') - go to target position
#--------------------------------------------------------------
sub WalkN(x,y,Target)
VAR i,StepSucess
VAR dx,dy,Exit=0
While Exit<>1
If Target<>"" Then
dx=UO.GetX(Target)-UO.GetX()
dy=UO.GetY(Target)-UO.GetY()
If UO.GetDistance(Target)<2 Then
Exit=1
Endif
Else
dx=x-UO.GetX()
dy=y-UO.GetY()
If dx==0 AND dy==0 Then
Exit=1
Endif
Endif
If dx<>0 AND dy<>0 Then
If dx>0 AND dy>0 Then
StepSucess=Go(3,40,300) ;SE - DownArrow
If StepSucess==-1 Then
StepSucess=Go(7,38,300) ;WN - UpArrow
StepSucess=Go(1,39,300) ;NE - RightArrow
If StepSucess==-1 Then
StepSucess=Go(5,37,300) ;SW - LeftArrow
Endif
Endif
Endif
If dx>0 AND dy<0 Then
StepSucess=Go(1,39,300) ;NE - RightArrow
If StepSucess==-1 Then
StepSucess=Go(5,37,300) ;SW - LeftArrow
StepSucess=Go(3,40,300) ;SE - DownArrow
If StepSucess==-1 Then
StepSucess=Go(7,38,300) ;WN - UpArrow
Endif
Endif
Endif
If dx<0 AND dy>0 Then
StepSucess=Go(5,37,300) ;SW - LeftArrow
If StepSucess==-1 Then
StepSucess=Go(1,39,300) ;NE - RightArrow
StepSucess=Go(7,38,300) ;WN - UpArrow
If StepSucess==-1 Then
StepSucess=Go(3,40,300) ;SE - DownArrow
Endif
Endif
Endif
If dx<0 AND dy<0 Then
StepSucess=Go(7,38,300) ;WN - UpArrow
If StepSucess==-1 Then
StepSucess=Go(3,40,300) ;SE - DownArrow
StepSucess=Go(5,37,300) ;SW - LeftArrow
If StepSucess==-1 Then
StepSucess=Go(1,39,300) ;NE - RightArrow
Endif
Endif
Endif
Endif
If dx<>0 AND dy==0 Then
If dx>0 Then
StepSucess=Go(2,34,300) ;E - PgDown
If StepSucess==-1 Then
StepSucess=Go(3,40,300) ;SE - DownArrow
If StepSucess==-1 Then
StepSucess=Go(1,39,300) ;NE - RightArrow
Endif
StepSucess=Go(2,34,300) ;E - PgDown
Endif
Endif
If dx<0 Then
StepSucess=Go(6,36,300) ;W - Home
If StepSucess==-1 Then
StepSucess=Go(7,38,300) ;WN - UpArrow
If StepSucess==-1 Then
StepSucess=Go(5,37,300) ;SW - LeftArrow
Endif
StepSucess=Go(6,36,300) ;W - Home
Endif
Endif
Endif
If dx==0 AND dy<>0 Then
If dy>0 Then
StepSucess=Go(4,35,300) ;S - End
If StepSucess==-1 Then
StepSucess=Go(3,40,300) ;SE - DownArrow
If StepSucess==-1 Then
StepSucess=Go(5,37,300) ;SW - LeftArrow
Endif
StepSucess=Go(4,35,300) ;S - End
Endif
Endif
If dy<0 Then
StepSucess=Go(0,33,300) ;N - PgUp
If StepSucess==-1 Then
StepSucess=Go(1,39,300) ;NE - RightArrow
If StepSucess==-1 Then
StepSucess=Go(7,38,300) ;WN - UpArrow
Endif
StepSucess=Go(0,33,300) ;N - PgUp
Endif
Endif
Endif
Wend
end sub
sub Go(dir,key,walkwait)
VAR x,y, OldDir
x=UO.GetX()
y=UO.GetY()
OldDir=UO.GetDir()
If UO.GetDir()<>dir Then
UO.Press(key)
wait(walkwait)
If UO.GetDir()<>dir Then
CheckLag()
Endif
Endif
UO.Press(key)
wait(walkwait)
If x==UO.GetX() AND y==UO.GetY() Then
CheckLag()
Endif
If x==UO.GetX() AND y==UO.GetY() AND OldDir<>UO.GetDir() Then
UO.Press(key)
wait(walkwait)
Endif
If x==UO.GetX() AND y==UO.GetY() Then
CheckLag()
Endif
If x==UO.GetX() AND y==UO.GetY() Then
UO.Print("Zasada!")
return -1
Else
return 1
Endif
end sub



Code:
# WalkN(2080,2113,'') - go to coordinates 
# WalkN(0,0,'0x12345678') - go to target position
#--------------------------------------------------------------
sub WalkN(x,y,Target)

Вот как понять "go to target position" какие мне именно надо вписать координаты и ID?


Top
   
 Post subject:
PostPosted: 2006-09-17 19:57:02 
Offline
Expert!
User avatar

Joined: 2005-05-20 20:30:10
Posts: 548
я могу ошибаться но видимо go to target posotoin это
Code:
target=0x00000
x=uo.getx(target)
y=uo.gety(target)
walk(x,y)

типа того :)


Top
   
 Post subject:
PostPosted: 2006-09-18 14:23:25 
Offline
Expert!
User avatar

Joined: 2006-02-25 21:48:38
Posts: 1032
&pathfind(dx,dy) ;)

_________________
DerMeister сейчас на нейрале!


Top
   
 Post subject:
PostPosted: 2006-09-18 15:00:38 
Offline
Expert!
User avatar

Joined: 2004-04-04 11:13:54
Posts: 1205
Location: Балаково, Саратовская обл.
Попробуй SuperWalk можеь поможет. Она умеет обходить простые препядствия.


Top
   
 Post subject:
PostPosted: 2006-09-21 13:11:43 
Offline
User avatar

Joined: 2005-07-09 13:45:19
Posts: 44
DerMeister =) wrote:
&pathfind(dx,dy) ;)

ДерМейстер, ты не мог бы указать на хорошую ходилку на пачфайдинге и помочь состыковать ее со скриптом.
Savage wrote:
Попробуй SuperWalk можеь поможет. Она умеет обходить простые препядствия.

Сэвадж, а что это за СуперВалк?


Top
   
 Post subject:
PostPosted: 2006-09-21 13:17:08 
Offline
Expert!
User avatar

Joined: 2004-04-04 11:13:54
Posts: 1205
Location: Балаково, Саратовская обл.
viewtopic.php?t=7548&highlight=superwalk


Top
   
 Post subject:
PostPosted: 2006-09-21 14:31:06 
Offline
Expert!
User avatar

Joined: 2006-02-25 21:48:38
Posts: 1032
SEGA wrote:
DerMeister =) wrote:
&pathfind(dx,dy) ;)

ДерМейстер, ты не мог бы указать на хорошую ходилку на пачфайдинге и помочь состыковать ее со скриптом.
Savage wrote:
Попробуй SuperWalk можеь поможет. Она умеет обходить простые препядствия.

Сэвадж, а что это за СуперВалк?


=_) &pathfind(dx,dy) и есть ходилка :wink: Только в обычном инжекте её нету, она есть в пинжекте.

_________________
DerMeister сейчас на нейрале!


Top
   
 Post subject:
PostPosted: 2006-09-22 08:53:51 
Offline
Expert!

Joined: 2004-04-03 17:36:29
Posts: 2544
Location: Saint-Petersburg
А для обычного инжекта заменой &patchfind является связка с ИзиУО. Как это использовать и функции для этого - смотри в топике с моим наследством, простой вариант где-то в начале, более продвинутый - в конце.

_________________
Ни один скрипт не работает? Пора обновить Инжект...
Все работает, но хочется большего? Пора переходить на стелс...


Top
   
 Post subject:
PostPosted: 2006-09-22 10:45:27 
Offline

Joined: 2005-06-12 22:12:15
Posts: 247
pathfind vesch,.. esli ktoto realizujet algoritm dlja hodilki s ispolzovanijem pathfinda na dliteljnyje rasstojanija.. to konkurentov ej nebudet


Top
   
 Post subject:
PostPosted: 2006-09-22 20:24:59 
Offline
Expert!

Joined: 2004-04-03 17:36:29
Posts: 2544
Location: Saint-Petersburg
dmitrykit wrote:
pathfind vesch,.. esli ktoto realizujet algoritm dlja hodilki s ispolzovanijem pathfinda na dliteljnyje rasstojanija.. to konkurentov ej nebudet


В этом нет никаких проблем. Идешь http://www.easyuo.com, берешь там скрипт на хождение (например Roadkill's RKSpotAutoWalker, http://www.easyuo.com/forum/viewtopic.php?p=58641#58641, классный скриптец, я пользовался им раньше на изе). Язык в Изе элементарный, проще чем в инжекте, переписать на перл вообще проблем нет. Патчфинд Изя использует, естественно, тот же самый, что и Пинжект. То есть встроенный в клиент...

Code:
;================================== 
; Script Name: RKSpotAutoWalker.txt
; Author: Roadkill
; Version: 1.0
; Client Tested with: 4.0.3d
; EUO version tested with: build 0093
; Shard OSI / FS: OSI
; Revision Date: 10Jul04
; Public Release: 10Jul04
; Global Variables Used: none
; Purpose: Auto or manual long-distance pathfinding to a spot with continuous
;    distance & direction-arrow.  If auto enabled (3rd param #true) it
;   AUTO-PATHFINDS no matter how far the spot is!  Autosenses if called
;   or standalone andadjusts. Auto-unblocks. Auto-adjusts for hills.
;==================================

_________________
Ни один скрипт не работает? Пора обновить Инжект...

Все работает, но хочется большего? Пора переходить на стелс...


Top
   
 Post subject:
PostPosted: 2006-09-23 10:39:16 
Offline

Joined: 2006-08-09 20:33:57
Posts: 34
Народ, да чего вы мутите? выложили бы скрипт рабочий на скупку..... неповерю что ни у кого нету


Top
   
 Post subject:
PostPosted: 2006-09-23 13:44:34 
Offline

Joined: 2005-04-19 18:00:29
Posts: 2259
Location: Московская область
Есть. Раздел Scripts!


Top
   
 Post subject:
PostPosted: 2006-09-25 09:04:49 
Offline

Joined: 2006-08-09 20:33:57
Posts: 34
You Must Die wrote:
Есть. Раздел Scripts!


Млин, умный самый!!! еслиб он работал, так наверно никто бы не создавал такие топы!!!


Top
   
 Post subject:
PostPosted: 2006-09-25 09:22:33 
Offline
Expert!
User avatar

Joined: 2006-02-25 21:48:38
Posts: 1032
discon wrote:
You Must Die wrote:
Есть. Раздел Scripts!


Млин, умный самый!!! еслиб он работал, так наверно никто бы не создавал такие топы!!!


Ты не умнее ;)
ЗЫ: Юзайте гугл и (ой!) не еб*те мозги :evil:

_________________
DerMeister сейчас на нейрале!


Top
   
 Post subject:
PostPosted: 2006-09-25 11:34:33 
Offline

Joined: 2005-04-19 18:00:29
Posts: 2259
Location: Московская область
Еслиб он не работал, то отсюда 2 следствия:

1. Он бы там не висел.
2. Я бы этого не говорил.

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


Top
   
 Post subject:
PostPosted: 2006-09-25 23:57:25 
Offline
Expert!

Joined: 2004-04-03 17:36:29
Posts: 2544
Location: Saint-Petersburg
discon wrote:
Млин, умный самый!!! еслиб он работал, так наверно никто бы не создавал такие топы!!!


В разделе Scripts! опубликованы только проверенные, 100% рабочие скрипты. Если у тебя все равно не работает - решение ищи в моей подписи.

_________________
Ни один скрипт не работает? Пора обновить Инжект...

Все работает, но хочется большего? Пора переходить на стелс...


Top
   
 Post subject:
PostPosted: 2006-09-26 09:58:00 
Offline

Joined: 2005-06-12 22:12:15
Posts: 247
Edred wrote:
dmitrykit wrote:
pathfind vesch,.. esli ktoto realizujet algoritm dlja hodilki s ispolzovanijem pathfinda na dliteljnyje rasstojanija.. to konkurentov ej nebudet


В этом нет никаких проблем. Идешь http://www.easyuo.com, берешь там скрипт на хождение (например Roadkill's RKSpotAutoWalker, http://www.easyuo.com/forum/viewtopic.php?p=58641#58641, классный скриптец, я пользовался им раньше на изе). Язык в Изе элементарный, проще чем в инжекте, переписать на перл вообще проблем нет. Патчфинд Изя использует, естественно, тот же самый, что и Пинжект. То есть встроенный в клиент...

Code:
;================================== 
; Script Name: RKSpotAutoWalker.txt
; Author: Roadkill
; Version: 1.0
; Client Tested with: 4.0.3d
; EUO version tested with: build 0093
; Shard OSI / FS: OSI
; Revision Date: 10Jul04
; Public Release: 10Jul04
; Global Variables Used: none
; Purpose: Auto or manual long-distance pathfinding to a spot with continuous
;    distance & direction-arrow.  If auto enabled (3rd param #true) it
;   AUTO-PATHFINDS no matter how far the spot is!  Autosenses if called
;   or standalone andadjusts. Auto-unblocks. Auto-adjusts for hills.
;==================================




Nu vsja problemma v to i uprajecca... 4to za neimenijem vremeni, i otsutstvijem opyta v easyuo, ja etogo nesdelaju...


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 19 posts ] 

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 3 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Limited