Page 1 of 1

добираем реги или пример для мува

Posted: 2006-09-26 15:07:16
by Nmy
Final version:

Code: Select all

sub REGS()
VAR amount = 75
VAR r, q, RegBag = 0x400E8802
Dim reg[8]
reg[1] = 0x0F84
reg[2] = 0x0F85
reg[3] = 0x0F86
reg[4] = 0x0F7A
reg[5] = 0x0F7B
reg[6] = 0x0F8C
reg[7] = 0x0F8D
reg[8] = 0x0F88
uo.ignorereset()
 
 For r = 1 to 8
 if uo.count( reg[r] )<>amount then
  q = amount - uo.count( reg[r] )
 
   if q <> 0 then
     if q > 0 then
     
      uo.useobject( RegBag )
      CheckLag()
      uo.findtype( reg[r] , -1 , RegBag )
     
       If uo.findcount() == 0 then
        uo.msg('You dont have any!')
        return
       endif
       
      uo.moveitem('finditem', STR(q) ,'backpack')
      wait(400)
      CheckLag()
     
        else   
     
      q = q*-1     
     uo.findtype( reg[r] , -1 ,'my')
     uo.moveitem('finditem', STR(q) , RegBag )
     wait(400)
     CheckLag()
     
     endif
   endif
   
 endif
 next
uo.print('!! -= Done =- !!')
end sub


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

Posted: 2006-09-26 15:15:21
by Scripts Writer

Code: Select all

       q = 50 - uo.count( reg[r] )


а я наивный раньше по 50 добирал )

Posted: 2006-09-26 16:40:19
by Nmy
немного поправил на

Code: Select all

if q <> 0 AND q > 0 then

если в минус- то он берёт все :twisted:
он так больше небудет :roll:

Posted: 2006-09-26 17:52:50
by Scripts Writer
NMY wrote:немного поправил на

Code: Select all

if q <> 0 AND q > 0 then

если в минус- то он берёт все :twisted:
он так больше небудет :roll:


Допиши -если q < 0 , тогда пусть выложит лишнее.
После ПвП порой полезно выложить 300 каждого рега, и добрать 48 одного.

2Что у тебя с табуляцией?
Ты незнаешь как правильно делать или тебе так проще? =)
Скрипт не читабелен.

Posted: 2006-09-26 20:09:29
by Nmy

Code: Select all

sub check()
VAR r, q, RegBag = 0x400E8802
Dim reg[3]
reg[1] = 0x0F7B
reg[2] = 0x0F86
reg[3] = 0x0F7A
 uo.ignorereset()
 if uo.count(reg[1])<>50 or uo.count(reg[2])<>50 or uo.count(reg[3])<>50 then
  uo.useobject( RegBag )
  CheckLag() 
    For r = 1 to 3
    uo.findtype(reg[r], -1 , RegBag )   
   If uo.findcount() == 0 then
    uo.msg('oops!')
    uo.exec('terminate all')
   endif   
    q = 50 - uo.count( reg[r] )   
    if q <> 0 then
     if q > 0 then     
      uo.moveitem('finditem', STR(q) ,'backpack')
      wait(400)
      CheckLag()     
      else     
      q = q*-1     
      uo.findtype(reg[r], -1 ,'my')
      uo.moveitem('finditem', STR(q) , RegBag )
      wait(400)
      CheckLag()     
     endif
    endif
    next
 endif
end sub


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

если хочется все 8 рега:

Code: Select all

sub REGS()
VAR amount = 75
VAR r, q, RegBag = 0x400E8802
Dim reg[8]
reg[1] = 0x0F84
reg[2] = 0x0F85
reg[3] = 0x0F86
reg[4] = 0x0F7A
reg[5] = 0x0F7B
reg[6] = 0x0F8C
reg[7] = 0x0F8D
reg[8] = 0x0F88
uo.ignorereset()
 
 For r = 1 to 8
 if uo.count( reg[r] )<>amount then
  q = amount - uo.count( reg[r] )
 
   if q <> 0 then
     if q > 0 then
     
      uo.useobject( RegBag )
      CheckLag() 
      uo.findtype( reg[r] , -1 , RegBag )
     
       If uo.findcount() == 0 then
        uo.msg('You dont have any!')
        return
       endif
       
      uo.moveitem('finditem', STR(q) ,'backpack')
      wait(400)
      CheckLag()
     
        else   
     
      q = q*-1     
     uo.findtype( reg[r] , -1 ,'my')
     uo.moveitem('finditem', STR(q) , RegBag )
     wait(400)
     CheckLag()
     
     endif
   endif
   
 endif
 next
uo.print('!! -= Done =- !!')
end sub


прелесть :P

Posted: 2006-09-27 17:54:45
by Scripts Writer
Кому трудно читать, и в дальнейшем это вызовет сложности с редактированием и настройкой скрипта под себя-вот код )

п.с. хм, странно. уже о такой мелочи стал заботиться ...

Code: Select all

sub REGS() 
VAR amount = 75
VAR r, q, RegBag = 0x400E8802
Dim reg[8]
reg[1] = 0x0F84
reg[2] = 0x0F85
reg[3] = 0x0F86
reg[4] = 0x0F7A
reg[5] = 0x0F7B
reg[6] = 0x0F8C
reg[7] = 0x0F8D
reg[8] = 0x0F88
uo.ignorereset()
For r = 1 to 8
  if uo.count( reg[r] )<>amount then
    q = amount - uo.count( reg[r] )
    if q <> 0 then
      if q > 0 then
        uo.useobject( RegBag )
        CheckLag() 
        uo.findtype( reg[r] , -1 , RegBag )
        If uo.findcount() == 0 then
          uo.msg('You dont have any!')
          return
        endif
        uo.moveitem('finditem', STR(q) ,'backpack')
        wait(400)
        CheckLag()
      else   
        q = q*-1     
        uo.findtype( reg[r] , -1 ,'my')
        uo.moveitem('finditem', STR(q) , RegBag )
        wait(400)
        CheckLag()
      endif
    endif
  endif
next
uo.print('!! -= Done =- !!')
end sub

Posted: 2006-09-27 20:11:43
by Edred
You Must Die wrote:п.с. хм, странно. уже о такой мелочи стал заботиться ...


Это называется - взросление :lol:

Posted: 2006-09-27 22:15:09
by Mihail
[:|||:]

Code: Select all

sub Regs() 
VAR i=0 , t, k
var kol=150 #количество
uo.addobject('sunduk')
while uo.targeting()
wait(100)
wend
DIM Regs[8]
Regs[0]='0x0F7A'      ; Black Pearl
Regs[1]='0x0F7B'      ; Bood Moss
Regs[2]='0x0F86'      ; Mandrake Root
Regs[3]='0x0F84'      ; garlic
Regs[4]='0x0F85'      ; Ginseng
Regs[5]='0x0F88'      ; Night Shade
Regs[6]='0x0F8C'      ; Sulphorous Ash
Regs[7]='0x0F8D'      ; Spiders Silk
for i = 0 to 7
t=uo.random(5)*10+510
uo.useobject('sunduk')
checklag()
UO.FindType(Regs[i],'-1','sunduk')
k= kol - uo.count(Regs[i])
if not k<=0 then
UO.MoveItem('finditem',k)
checklag()
wait(t)
else
if k<0 then
k=k*(-1)
end if
k=k+kol
uo.print('>= '+str(kol)+' ('+str(k)+')')
end if
next
uo.print('##move regs complite')
end sub

а мона еще усовершенствовать сделав массив вида

Code: Select all

Regs[0]='0x0F7A Black Pearl'
Regs[1]='0x0F7B Bood Moss'

и если больше заданного количества, то пишет

Code: Select all

uo.print(Right(Regs[i],len(Regs[i])-7)+' is '+str(uo.count(Regs[i])))

типа того..
будет выглядеть как
[Название реагента] is [кол-во реагента]
:)