Yoko

All sides of Injection
It is currently 2024-04-16 18:00:51

All times are UTC+02:00




Post new topic  Reply to topic  [ 14 posts ] 
Author Message
PostPosted: 2005-02-20 00:01:49 
Offline

Joined: 2004-07-14 22:56:46
Posts: 82
Location: Украина, Одесса
За основу была взята ходилка из чьего-то скрипта на ламбер (не записал имени)
Потестите ее. Например, на моей локальной сфере чар пешочком догоняет и ПЕРЕГОНЯЕТ чара на остарде %)
Вот собсно и скрипт:
Code:
#При работе должна быть "отжата" кнопка NumLock 
Var MoveDelay=200 # Промежуток между шагами
Var MoveNumber=1 # Количество шагов при смене дислокации
Var Ep=0.172 # Значение ширины угла хождения при определении направления. Если на пути встречаются сложные и широкие препятствия - увеличить. 0.172 - сбаланчированный.

sub Main()
Var X,Y,Target
UO.Print( 'Please, click to char for memory' )
   UO.Exec('addobject Target')
   While UO.Targeting()
      Wait(100)
   Wend
   while 1==1
X=UO.GetX('Target')
Y=UO.GetY('Target')
GoToTile(X,Y,1,False)
wend
endsub

sub GetNumb(C,I)
var J,T,K
J=0
K=1
While K>0
  J=J+1
  If (Mid(C,J,1)==' ') Or (J>=Len(C)-1) Then
   If I==0 Then
    T=Val(Left(C,J))
   Else
    T=GetNumb(Right(C,Len(C)-J-1),I-1)
   EndIf
   K=0
  EndIf
wend
UO.Print(T)
return T
endsub

sub GetSerial(What,Last)
Var J=Last
Var T
If UO.InJournal(What) Then
  T=UO.InJournal(What)
  J=Str(UO.JournalSerial(T))
EndIf
RETURN J
endsub

sub Perp(Dir)
Var D
D=Dir
If Dir==1 Then
  D=3
EndIf
If Dir==2 Then
  D=4
EndIf
If Dir==3 Then
  D=-1
EndIf
If Dir==4 Then
  D=-2
EndIf
If Dir==-1 Then
  D=-3
EndIf
If Dir==-2 Then
  D=-4
EndIf
If Dir==-3 Then
  D=1
EndIf
If Dir==-4 Then
  D=2
EndIf
RETURN D
endsub

sub MoveOnce(Dir,Del,Rev)
Var Num
If Rev Then
  Num=MoveNumber+1
Else
  Num=MoveNumber
EndIf
If (Num>0) and (Dir<>0) Then
  If Dir==1 Then
   UO.Press(38,Num,Del)
  EndIf
  If Dir==2 Then
   UO.Press(33,Num,Del)
  EndIf
  If Dir==3 Then
   UO.Press(39,Num,Del)
  EndIf
  If Dir==4 Then
   UO.Press(34,Num,Del)
  EndIf
  If Dir==-1 Then
   UO.Press(40,Num-1,Del)
  EndIf
  If Dir==-2 Then
   UO.Press(35,Num,Del)
  EndIf
  If Dir==-3 Then
   UO.Press(37,Num,Del)
  EndIf
  If Dir==-4 Then
   UO.Press(36,Num,Del)
  EndIf
  If Rev Then
   If Dir<>-1 Then
    UO.Press(40,1,Del)
   EndIf
  EndIf
EndIf
endsub

sub GetQDir(x,y)
Var J=0
If X==0 Then
  J=1
Else
  If (Y/X)<ep Then
   J=3
  Else
   If (X/Y)<ep Then
    J=1
   Else
    J=2
   EndIf
  EndIf
EndIf
RETURN J
endsub

sub GetDir(myx,myy,ox,oy)
Var I,J
J=0
Var X=ox-myx
Var Y=oy-myy
I=GetQDir(Abs(X),Abs(Y))
If X>=0 Then
  If Y>=0 Then
   If I==1 Then
    J=-2
   Else
    If I==2 Then
     J=-1
    Else
     If I==3 Then
      J=4
     EndIf
    EndIf
   EndIf
  Else
   If I==1 Then
    J=2
   Else
    If I==2 Then
     J=3
    Else
     If I==3 Then
      J=4
     EndIf
    EndIf
   EndIf
  EndIf
Else
  If Y>=0 Then
   If I==1 Then
    J=-2
   Else
    If I==2 Then
     J=-3
    Else
     If I==3 Then
      J=-4
     EndIf
    EndIf
   EndIf
  Else
   If I==1 Then
    J=2
   Else
    If I==2 Then
     J=1
    Else
     If I==3 Then
      J=-4
     EndIf
    EndIf
   EndIf
  EndIf
EndIf
RETURN J
endsub

sub abs(a)
Var b
If a<0 Then
  b=-a
Else
  b=a
endif
return b
endsub

sub PermResend()
Var Mn=9
Repeat
  UO.Resend()
  Wait(MoveDelay*Mn)
Until (1>2)
endsub

sub max(A,B)
Var C
If A>B Then
  C=A
Else
  C=B
EndIf
Return C
endsub

sub GetDistance(X,Y)
return max(abs(X-uo.getx()),abs(Y-uo.gety()))
endsub

sub GoToTile(OX,OY,N,S)
var myx, myy, MD, J
var Lx1 ,Ly1
var Lx2 ,Ly2
var Sx ,Sy
var T
var Des=N
J=1
MD=MoveDelay*1.5
myx=uo.getx()
myy=uo.gety()
MoveOnce(GetDir(uo.getx(),uo.gety(),ox,oy),MD,False)
Sx=0
Sy=0
Lx1=uo.getx()/2
Ly1=uo.gety()/2
Lx2=Lx1/2
Ly2=Ly1/2
T=UO.Timer()
If (GetDistance(ox,oy)<>N) or ((not S) and GetDistance(ox,oy)>N) Then
  UO.Exec('exec PermResend')
EndIf
While ((GetDistance(ox,oy)<>N) or ((not S) and GetDistance(ox,oy)>N)) and (OX>=0) and (OY>=0)
  If ((UO.Timer()-T)*15>MoveDelay) Then
   T=UO.Timer()
#   UO.Print(Str(uo.getx())+' '+Str(uo.gety())+' '+Str(ox)+' '+Str(oy)+' '+Str(GetDir(uo.getx(),uo.gety(),ox,oy))+' '+Str(T))
   Lx2=Lx1
   Ly2=Ly1
   Lx1=myx
   Ly1=myy
   myx=uo.getx()
   myy=uo.gety()
  endIf
  MD=MoveDelay
  If ((OX-uo.getx())*(OX-uo.getx())+(OY-uo.gety())*(OY-uo.gety())>0) Then
   MD=MD*3/GetDistance(ox,oy)
  EndIf
  wait(MD)
  If GetDistance(OX,OY)>Des Then
   MoveOnce(GetDir(uo.GetX(),uo.GetY(),ox,oy),MD,False)
  Else
   If S Then
    If GetDistance(OX,OY)<Des Then
     If GetDistance(OX,OY)<>0 Then
      MoveOnce(GetDir(ox,oy,uo.GetX(),uo.GetY()),MD,False)
     Else
      MoveOnce(GetDir(uo.GetX(),uo.GetY(),Lx2,Ly2),MD,False)
     EndIf
    EndIf
   EndIf
  EndIf
  If GetDistance(OX,OY)<>Des Then
   If (Lx2==uo.getx()) and (Ly2==uo.gety()) Then
    If (Sx<>uo.getx()) or (Sy<>uo.gety()) Then
     J=1
    EndIf
    J=J+1
    UO.Resend()
    Sx = uo.getx()
    Sy = uo.gety()
    Stun(ox,oy,J)
   EndIf
  EndIf
Wend
UO.Exec('terminate PermResend')
endsub

sub Stun(X,Y,N)
Var I
Var myx
Var myy
myx = uo.getx()
myy = uo.gety()
For I=1 to N
  MoveOnce(perp(GetDir(myx,myy,x,y)),MoveDelay,False)
Next
Wait(MoveDelay)
UO.Resend()
If (myx==uo.getx()) and (myy==uo.gety()) Then
  For I=1 to N
   MoveOnce(-perp(GetDir(myx,myy,x,y)),MoveDelay,False)
  Next
  Wait(MoveDelay)
  UO.Resend()
EndIf
If (myx==uo.getx()) and (myy==uo.gety()) Then
  For I=1 to N
   MoveOnce(-GetDir(myx,myy,x,y),MoveDelay,False)
  Next
  Wait(MoveDelay)
  Stun(x,y,N)
EndIf   
endsub

sub NearTile(Obj,Des)
var ox, oy, myx, myy, MD, J
var Lx1 ,Ly1
var Lx2 ,Ly2
var Sx ,Sy
var T
UO.Click(Obj)
MD=MoveDelay*1.5
ox=uo.GetX(Obj)
oy=uo.GetY(Obj)
J=1
myx = uo.getx()
myy = uo.gety()
Sx=0
Sy=0
Lx1=myx/2
Ly1=myy/2
Lx2=Lx1/2
Ly2=Ly1/2
T=UO.Timer()
If not (UO.GetDistance(Obj)==Des) Then
  UO.Exec('exec PermResend')
EndIf
While not (UO.GetDistance(Obj)==Des)
  ox=uo.GetX(Obj)
  oy=uo.GetY(Obj)
  If ((UO.Timer()-T)*15>MoveDelay) Then
   T=UO.Timer()
#   UO.Print('Go to '+Str(Des)+' to '+UO.GetName(Obj))
#   UO.Print(Str(UO.GetDistance(Obj)))
#   UO.Print(Str(uo.GetX())+' '+Str(uo.GetY())+' '+Str(uo.GetX(Obj))+' '+Str(uo.GetY(Obj))+' '+Str(GetDir(uo.GetX(),uo.GetY(),uo.GetX(Obj),uo.GetY(Obj)))+' '+Str(T))
   Lx2=Lx1
   Ly2=Ly1
   Lx1=myx
   Ly1=myy
   myx=uo.getx()
   myy=uo.gety()
  endIf
  MD=MoveDelay*1.5
  If (UO.GetDistance(Obj)>0) Then
   MD=MD/UO.GetDistance(Obj)
  EndIf
  wait(MD)
  If UO.GetDistance(Obj)>Des Then
   MoveOnce(GetDir(uo.GetX(),uo.GetY(),uo.GetX(Obj),uo.GetY(Obj)),MD,False)
  Else
   If UO.GetDistance(Obj)<Des Then
    If UO.GetDistance(Obj)<>0 Then
     MoveOnce(GetDir(uo.GetX(obj),uo.GetY(obj),uo.GetX(),uo.GetY()),MD,False)
    Else
     MoveOnce(GetDir(uo.GetX(),uo.GetY(),Lx2,Ly2),MD,False)
    EndIf
   EndIf
  EndIf
  If UO.GetDistance(Obj)<>Des Then
   If (Lx2==uo.getx()) and (Ly2==uo.gety()) Then
    If (Sx<>uo.getx()) or (Sy<>uo.gety()) Then
     J=1
    EndIf
    J=J+1
    UO.Resend()
    Sx = uo.getx()
    Sy = uo.gety()
    Stun(uo.GetX(Obj),uo.GetY(Obj),J)
   EndIf
  EndIf
Wend
UO.Exec('terminate PermResend')
endsub

sub DeleteJournal(What)
Var T,J
J=False
If UO.InJournal(What) Then
  J=True
  UO.DeleteJournal()
EndIf
RETURN J
endsub
Есть правда мысли, что, возможно, остались кой-какие лишние функции, постарался все что относилось к ламберу вырезать, если что, фиксите, выкладывайте обновления... Копирайт за собой не держу %)

Заметил что скрипт не работал :)) не тот код дал. Этот уже будет работать, я его заменил.

Исправил шапку, спасибо Sayrus. ©Mirage


Last edited by Denton on 2005-02-23 16:08:22, edited 5 times in total.

Top
   
 Post subject:
PostPosted: 2005-02-20 00:06:34 
Offline

Joined: 2004-07-14 22:56:46
Posts: 82
Location: Украина, Одесса
Правда, если достаточно долгое время так гонять, то у меня инж вылетает (Abnormal program termination)... Возможно из-за галок?!
Помогите в этом. Вот что у меня стоит:
* FlushLog
* Tracker
* Verbose menu
* Target XYZ fix
* Unset before set
* AntiCrash
* NoCLHungMes
* Perm Vars Loopback
* Track world items

Вот, мож че не так поставил, что крашит частенько?? Если сможете, дайте ссылочку факью об этих галках, или совет (совет приятней)
Заранее сенкс

p.s. Прикольно так дуэлиться на сфере своей сам с собой. Выставил по 10к силы и хитов, и давай метелить чара, который меня преследует. Чары одеты абсолютно одинаково. Результат: победил уже 3 раза подряд тот, который на остарде бегает.


Top
   
 Post subject:
PostPosted: 2005-02-22 09:17:36 
Offline
Expert!
User avatar

Joined: 2004-05-31 09:31:51
Posts: 838
Неплохой топик поднимаем.
Прошу Крафтера прицепить ссылочку в ПВП топик.

_________________
Все просто.
BETEPAH ™


Top
   
 Post subject:
PostPosted: 2005-02-22 18:25:52 
Offline

Joined: 2004-07-14 22:56:46
Posts: 82
Location: Украина, Одесса
Народ, а что вот можно с этими вылетами инжекта сделать? как эту проблему то решить?


Top
   
 Post subject:
PostPosted: 2005-04-17 06:59:34 
Offline
User avatar

Joined: 2005-04-16 17:40:14
Posts: 24
Denton wrote:
Народ, а что вот можно с этими вылетами инжекта сделать? как эту проблему то решить?

Уменя вытетать почти перестало когда я отключил
* Verbose menu
* AntiCrash
* Track world items :wink:


Top
   
 Post subject:
PostPosted: 2005-04-21 11:57:19 
Offline
Junior Expert
User avatar

Joined: 2004-06-24 22:08:56
Posts: 3220
$oK0JI wrote:
_ALF_ wrote:
Denton wrote:
Народ, а что вот можно с этими вылетами инжекта сделать? как эту проблему то решить?

Уменя вытетать почти перестало когда я отключил
* Verbose menu
* AntiCrash
* Track world items :wink:

:shock: :D :D :D

Не флуди смайлами :wink:

TWI - если хреновый конект, то конечно лаги, но чтобы вылет... хотя кто знает :roll:


Top
   
 Post subject:
PostPosted: 2005-04-21 12:40:38 
Offline
Expert!
User avatar

Joined: 2004-08-11 23:56:17
Posts: 746
Location: The Citadel
Вылетает, когда тиы появляешся в месте, где разом ооочень много игроков (рынки, площади). Инжа не выдержит нагрузки, и может вылать.
Проверенно.


Top
   
 Post subject:
PostPosted: 2005-05-17 07:34:33 
Offline
Expert!
User avatar

Joined: 2004-07-04 00:14:58
Posts: 1284
flake wrote:
Вылетает, когда тиы появляешся в месте, где разом ооочень много игроков (рынки, площади). Инжа не выдержит нагрузки, и может вылать.
Проверенно.
не 100%, но вероятность повышенная ;) в боевой обстановке вероятность краша - повышается.

последнее замечание сугубо субъективное ;)


Top
   
 Post subject:
PostPosted: 2006-11-26 13:04:22 
Offline

Joined: 2006-07-06 08:30:59
Posts: 40
Скиньте лудшие настройкт под этот скрипт как в ижекте так и в самом скрипте,а то как не меняю настройки скрипта он не догоняет а просто отстает через пару шагов


Top
   
PostPosted: 2010-06-12 09:32:15 
Offline

Joined: 2010-05-06 11:23:30
Posts: 7
ХМ. У меня получается запускать в двух вариантах:
1) когда рядом с чаром, начинает злостно УБЕГАТЬ как на спидхаке тупо вверх, пока не застревает
2) когда на 1 тайле с целью - пытается его догонять со скоростью хромой лошади.

Ткните носом на чем тут построено читерство, что бегает так ооочень быстро, почти сквозь деревья.


Top
   
PostPosted: 2010-07-10 10:44:45 
Offline

Joined: 2009-04-01 16:04:35
Posts: 8
Спид хак юзать никто не пробовал?


Top
   
PostPosted: 2011-10-02 14:51:40 
Offline

Joined: 2011-09-19 20:08:25
Posts: 10
Скрипт беспорно наверника супер но какую из функций нада биндить на хоткей чтоб появлялся таргет и соотвецно бежал за целью убивая ее нафиг ?)


Top
   
PostPosted: 2011-10-26 23:41:14 
Offline
User avatar

Joined: 2005-01-13 07:20:54
Posts: 528
Класс...
Спид хак в итоге выбивает клиент, а uo.resend работает чОтка.

_________________
все для альфы , [url=http://newvlad.nm.ru/prog]здесь[/url]
модернизация ремонт продажа игровых консолей
Sky: admirka1 Москва


Top
   
PostPosted: 2011-10-26 23:45:10 
Offline
User avatar

Joined: 2005-01-13 07:20:54
Posts: 528
texx3x wrote:
Скрипт беспорно наверника супер но какую из функций нада биндить на хоткей чтоб появлялся таргет и соотвецно бежал за целью убивая ее нафиг ?)


Попробуй
Code:
sub gear-chamfering_machine()
   Uo.pobegali('Target')
end sub

_________________
все для альфы , [url=http://newvlad.nm.ru/prog]здесь[/url]
модернизация ремонт продажа игровых консолей
Sky: admirka1 Москва


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

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 5 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