Перейти к содержанию
Форум шарда Middle-Earth
Вирд

Скрипты / просьбы скриптов

Рекомендуемые сообщения

sub main()
var x,y
    while not uo.dead()
    for x=-2 to 2
     for y=-2 to 2
      uo.waittargettile('all', uo.getx()+x, uo.gety(), uo.getz())
        uo.usetype('0x0f39')
      wait(11000)
      uo.waittargettile('all', uo.getx(), uo.gety()+y, uo.getz())
        uo.usetype('0x0f39')
      wait(11000)
     next
    next
    wend     
end sub

 

если примитивно то вот так...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

sub main()
var x,y
    while not uo.dead()
    for x=-2 to 2
     for y=-2 to 2
      uo.waittargettile('all', uo.getx()+x, uo.gety()+y, uo.getz())
        uo.usetype('0x0f39')
      wait(11000)
     next
    next
    wend     
end sub

а так низзя? :mellow:

а то у тя вроде не квадрат, а крест ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
sub main()
var x,y
    while not uo.dead()
    for x=-2 to 2
     for y=-2 to 2
      uo.waittargettile('all', uo.getx()+x, uo.gety()+y, uo.getz())
        uo.usetype('0x0f39')
      wait(11000)
     next
    next
    wend     
end sub

а так низзя? :mellow:

а то у тя вроде не квадрат, а крест ;)

наверно ты прав.... писал от балды :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А можешь этот поправить пожалуйсто?

 

sub main()
var i
While UO.Life>0
for i=1 to 10
kopat()
uo.press(34)
next
uo.print("GO íàçàä =)")
kopat()
for i=1 to 11
wait(500)
uo.press(36)
next
uo.press(34)
wend
end sub

sub kopat()
var where_x,where_y,coords,i
UO.DeleteJournal()
where_x=uo.getx()
where_y=uo.gety()
for i=-2 to 2
uo.print("Òàéë "+str(i+3)+"/5")
coords="waittargettile "+" 1341 "+str(where_x)+" "+str(where_y+i)+" 0"
uo.exec(coords)
uo.exec("usetype '0x143C'") # Çäåñü ïðîïèñûâàåì òèï êèðêè
UO.DeleteJournal()
while (not (UO.InJournal("stop mining") or UO.InJournal("far") or UO.InJournal("no ore") or UO.InJournal("cannot")))
wait(1000)
wend
next
end sub

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
sub main()
var x,y
    while not uo.dead()
    for x=-2 to 2
     for y=-2 to 2
      uo.waittargettile('all', uo.getx()+x, uo.gety()+y, uo.getz())
        uo.usetype('0x0f39')
      wait(11000)
     next
    next
    wend     
end sub

а так низзя? :mellow:

а то у тя вроде не квадрат, а крест ;)

 

 

этот не пашет, пишет что типо "здесь нечего копать".

когда я в финадана вставлял "алл" он тоже самое писал! а можно какнибудь что-бы там типо лист таилов был с 1339 до 1345?типо через "ор"?

например 1339 ор 1340...ор 1345?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
этот не пашет, пишет что типо "здесь нечего копать".

когда я в финадана вставлял "алл" он тоже самое писал! а можно какнибудь что-бы там типо лист таилов был с 1339 до 1345?типо через "ор"?

например 1339 ор 1340...ор 1345?

очень странно... проверил - копает лопатой совершенно намана песок :)

а по сабжу

dim tile[3]

tile[1] = 1339

tile[2] = 1340

tile[3] = 1345

 

for j = 1 to 3

for x= -2 to 2

for y = -2 to 2

uo.waittargettile(tile[j],...........................)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Помогите пожалуйста со скриптом, короче смысл таков, когда вес в паке равен X чар портится по руне в паке, затем там куда портанулся открывает сумку сундук че есть и скидывает в него руду логи рыбу!

uo.set('norbcalc', '1')
uo.set('norbcheck', '1')
var MaxVes = 1000, x, y
if uo.Wight()>MaxVes then
uo.disarm()
x=uo.getX()
y=uo.gety()
uo.recall(<серийник рунбуки>, <номер руны, 601 - первая>)
while (uo.getx()==x and uo.gety()==y)
  wait(100)
wend
uo.findtype(<тайп того, что сбрасываем>, '-1', 'my')
  while uo.findcount()
   uo.moveitem('finditem', 'all', <серийник контейнера в который сбрасываем>)
   wait(100)
   uo.findtype(<тайп того, что сбрасываем>, '-1', 'my')
wend

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
comatoza есть скрипт на меджари а то тут скрипт каторы я выкладывал я иво сделал но он не работает как надо :(

sub main()
    while not uo.dead()
     while uo.mana>50
      uo.cast("Res")
      uo.waittargetself()
      wait(11000)
     wend
     while uo.mana<>uo.int
      uo.useskill("Med")
      wait(11000)
     wend
    wend
end sub

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

sub main()

Var i

While UO.Life>0

If UO.Life<UO.STR Then

UO.Exec("bandageself")

Wait(3000)

Else

UO.Exec("waittargetself")

UO.say(".cast Gust ")

wait(3000)

if uo.injournal("The spell fizzles") then

main()

else

uo.deletejournal()

repeat

until uo.injournal("The victim")

end if

wait(3000)

while uo.mana>50

if UO.MANA < UO.INT then

UO.UseSkill("Meditation");

wait(10000)

else

main()

end if

wend

end if

end sub

 

 

comatoza можеш прописать мидитацию и хилинг что на 50 хилился и мидициравал

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
sub main()

Var i

While UO.Life>0

If UO.Life<UO.STR Then

UO.Exec("bandageself")

Wait(3000)

Else

UO.Exec("waittargetself")

UO.say(".cast Gust ")

wait(3000)

if uo.injournal("The spell fizzles") then

main()

else

uo.deletejournal()

repeat

until uo.injournal("The victim")

end if

wait(3000)

while uo.mana>50

if UO.MANA < UO.INT then

UO.UseSkill("Meditation");

wait(10000)

else

main()

end if

wend

end if

end sub

comatoza можеш прописать мидитацию и хилинг что на 50 хилился и мидициравал

 

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

Поделиться сообщением


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

uo.recall (0x.....) так сойдет или надо ковычки или еще ченить?

команда рекалл работает с гампами рунбуки...

по-этому uo.recall(<Серийник рунбуки в кавычках>, <номер руны в кавычках>)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

trustm3

sub DeadWarning()
while not UO.Dead()
    wait(1000)
wend
UO.PlayWav("C:\games\dead.wav") #сюда пропиши путь к звуковому файлу
end sub

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ДрОН, нуна было копировать ВЕСЬ скрипт... а у тя, судя по всему, не скопированы глобальные переменные :P

 

trustm3, этот скрипт скидывает нижку по айрон включительно

sub DropOre()
DIM ores[5]
ores[1]='0x01BF'
ores[2]='0x0602'
ores[3]='0x0455'
ores[4]='0x0386'
ores[5]='0x0000'
var i
while not UO.Dead()
   for i=1 to 5
         UO.Waittargettype('0x19B9',ores[i])
         UO.addobject("ore")
         UO.drophere("ore")
         wait(1000)
   next
   wait(12000)#ждёт 2 минуты
wend
end sub

тока, по-моему, руду лучше продавать ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
ДрОН, нуна было копировать ВЕСЬ скрипт... а у тя, судя по всему, не скопированы глобальные переменные :P

 

trustm3, этот скрипт скидывает нижку по айрон включительно

sub DropOre()
DIM ores[5]
ores[1]='0x01BF'
ores[2]='0x0602'
ores[3]='0x0455'
ores[4]='0x0386'
ores[5]='0x0000'
var i
while not UO.Dead()
   for i=1 to 5
         UO.Waittargettype('0x19B9',ores[i])
         UO.addobject("ore")
         UO.drophere("ore")
         wait(1000)
   next
   wait(12000)#ждёт 2 минуты
wend
end sub

тока, по-моему, руду лучше продавать ;)

sub DropOre()
DIM ores[5]
ores[1]='0x01BF'
ores[2]='0x0602'
ores[3]='0x0455'
ores[4]='0x0386'
ores[5]='0x0000'
var i
while not UO.Dead()
   for i=1 to 5
         UO.findtype('0x19B9',ores[i],'back')
          UO.drophere("finditem")
         wait(100)
   next
   wait(12000)#ждёт 2 минуты
wend
end sub

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
sub DropOre()
DIM ores[5]
ores[1]='0x01BF'
ores[2]='0x0602'
ores[3]='0x0455'
ores[4]='0x0386'
ores[5]='0x0000'
var i
while not UO.Dead()
   for i=1 to 5
         UO.findtype('0x19B9',ores[i],'back')
          UO.drophere("finditem")
         wait(100)
   next
   wait(12000)#ждёт 2 минуты
wend
end sub

 

спс, как серв поднимут обязательно проверю....

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
sub DropOre()
DIM ores[5]
ores[1]='0x01BF'
ores[2]='0x0602'
ores[3]='0x0455'
ores[4]='0x0386'
ores[5]='0x0000'
var i
while not UO.Dead()
   for i=1 to 5
         UO.findtype('0x19B9',ores[i],'back')
          UO.drophere("finditem")
         wait(100)
   next
   wait(12000)#ждёт 2 минуты
wend
end sub

 

не кидает на землю, а ток в паке перекладывает с места на место

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
есть ))) там еще один косяк.... он руду ток по 1ой штуке скидывает -.- как зделать чтоб всю?

 

хм....

попробуй конечно вместо

uo.drophere('finditem')
uo.drop('all', 'finditem')

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость Petrovich2

sub main()

var i

While UO.Life>0

for i=1 to 15

kopat()

uo.press(34)

next

uo.print("GO назад =)")

kopat()

for i=1 to 16

wait(500)

uo.press(36)

next

uo.press(34)

wend

end sub

 

sub kopat()

var where_x,where_y,coords,i

UO.DeleteJournal()

where_x=uo.getx()

where_y=uo.gety()

for i=-2 to 2

uo.print("Тайл "+str(i+3)+"/5")

coords="waittargettile "+" 1339 "+str(where_x)+" "+str(where_y+i)+" 0"

uo.exec(coords)

uo.exec("usetype '0x0E85'") # Здесь прописываем тип кирки

UO.DeleteJournal()

while (not (UO.InJournal("stop mining") or UO.InJournal("far") or UO.InJournal("no ore") or UO.InJournal("cannot")))

wait(1000)

wend

next

end sub

 

 

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

зарание спс ! :rolleyes:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

sub mine()

VAR DigDistance, TileNum, KillElemental

VAR ElemSignal, LastTimer

DIM BaseX[4], BaseY[4]

VAR BaseZ, WayPoint, WayPoints

VAR MaxWeight

 

VAR i,j,TileY,TileX,DirX,DirY

VAR Delta,BeginX,EndX,BeginY,EndY

 

 

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

; TileNum='Num' - Use ",infotile" command on the floor

; Íîìåð òàéëà â êîòîðîì ìîæíî êîïàòü ,ïîòûêàéòå êîìàíäîé

; ",infotile" ïî ðàçíâì òàéëàì è ïîñìîòðèòå íå îòëè÷àþòñÿ ëè èõ

; íîìåðà.

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

TileNum='1339'

 

 

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

; Ìàêñèìàëüíûé âåñ, êîòîðûé ìîæåò ïîäíÿòü ÷àð. Ñòàâüòå åãî

; íåìíîãî ìåíüøå ðåàëüíîãî. Òî åñòü åñëè ÷àð ïîäíèìàåò 760, òî

; ñòàâèì 730.

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

MaxWeight=25000

 

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

; DigDistance=4 - Distance from tile where pickaxe targeting

; Ðàäèóñ êðóãà ïî êîòîðîìó áóäåò êîïàòü ÷àð, òî åñòü ðàññòîÿíèå

; äî êëåòêè êóäà ìîæíî äîòÿíóòüñÿ êèðêîé.

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

DigDistance=2

 

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

; KillElemental='Yes'/'No' - Use 'Yes' if char skilled to morph

; in daemon and wrestling > 50

; Åñëè ÷àð äîñòàòî÷íî ïðîêà÷åí ÷òîá áèòü ýëåìîâ, ñòàâüòå 'Yes'

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

KillElemental='No'

 

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

; ElemSignal='Off'/'On' - Play sound when elemental is digged

; Îïîâåøàòü ïðè ïîÿâëåíèè ýëåìà

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

ElemSignal='Off'

 

 

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

; Çäåñü óêàçûâàåì êîîðäèíàòû òî÷åê êîïàíèÿ. Íóæíî âñòàòü íà

; ïîçèöèþ è ïîñìîòðåòü êîîðäèíàòû â èíæåêòå. Èõ è íóæíî

; ïîäñòàâèòü âìåñòî ìîèõ. ×àðà ñòàâüòå íà 4 êëåòêè îò ñòåí.

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

 

BaseX[0]=1647

BaseY[0]=2899

BaseZ=0

 

BaseX[1]=1648

BaseY[1]=2906

BaseZ=0

 

BaseX[2]=1651

BaseY[2]=2915

BaseZ=0

 

BaseX[3]=1653

BaseY[3]=2922

BaseZ=0

 

BaseX[4]=1655

BaseY[4]=2927

BaseZ=0

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

; Óêàçûâàåì êîëè÷åñòâî òî÷åê êîïàíèÿ

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

 

WayPoints=5

 

 

CheckLag()

UO.UseObject('Sunduk')

LastTimer=UO.Timer()

Repeat

wait(500)

Until UO.InJournal('You can') OR UO.InJournal('What is the') OR UO.Timer()>LastTimer+100

 

If UO.InJournal('see the') Then

UO.Say("Podoydi k sunduku i tkni v nego pricelom!")

UO.AddObject('Sunduk')

While UO.Targeting()==2

wait(500)

Wend

UO.SaveConfig()

UO.UseObject('Sunduk')

Else

; UO.Say("1")

Endif

 

 

CheckLag()

UO.UseObject('IronBag')

LastTimer=UO.Timer()

Repeat

wait(500)

Until UO.InJournal('You can') OR UO.InJournal('What is the')OR UO.Timer()>LastTimer+100

 

If UO.InJournal('see the') Then

UO.Say("1")

UO.AddObject('IronBag')

While UO.Targeting()==2

wait(500)

Wend

UO.SaveConfig()

Else

; UO.Say("1")

Endif

 

 

CheckLag()

UO.UseObject('OtherBag')

LastTimer=UO.Timer()

Repeat

wait(500)

Until UO.InJournal('You can') OR UO.InJournal('What is the')OR UO.Timer()>LastTimer+100

 

If UO.InJournal('see the') Then

UO.Say("1?")

UO.AddObject('OtherBag')

While UO.Targeting()==2

wait(500)

Wend

UO.SaveConfig()

Else

; UO.Say("1.")

Endif

 

 

CheckLag()

UO.UseObject('BestBag')

LastTimer=UO.Timer()

Repeat

wait(500)

Until UO.InJournal('You can') OR UO.InJournal('What is the')OR UO.Timer()>LastTimer+100

 

If UO.InJournal('see the') Then

UO.Say("V kakoy meshok kidat' vihu?")

UO.AddObject('BestBag')

While UO.Targeting()==2

wait(500)

Wend

UO.SaveConfig()

Else

; UO.Say("1.")

Endif

 

While NOT UO.Dead()

 

For WayPoint=0 to WayPoints-1

walkn(BaseX[WayPoint],BaseY[WayPoint],"")

digitstay(MaxWeight,DigDistance,KillElemental,ElemSignal,BaseX[WayPoint],BaseY[W

ayPoint])

Next

wend

end sub

 

 

; Ïðîâåðêà íóæíîñòè ðóäû. Çàêîìåíòèðîâàòü òî ÷òî íóæíî êîïàòü.

sub CheckOre()

VAR Cont=1, i=0, Exit=0

VAR Count=7 ; Ñêîëüêî ýëåìåíòîâ â ìàññèâå.

DIM Ores[15]

 

Ores[0]="Iron"

Ores[1]="Rusty"

Ores[2]="Old Copper"

Ores[3]="Dull Copper"

Ores[4]="Copper"

Ores[5]="Bronze"

Ores[6]="Silver"

; Ores[7]="Shadow"

; Ores[8]="Rose"

; Ores[9]="Gold"

; Ores[10]="Agapite"

; Ores[11]="Blood Rock"

; Ores[12]="Verite"

; Ores[13]="Valorite"

; Ores[14]="Mytheril"

 

While i<Count AND Exit==0

If UO.InJournal(Ores) Then

Cont=0

Exit=1

Endif

; UO.Print(STR(i))

; UO.Print(Ores)

i=i+1

Wend

 

return Cont

end sub

 

 

;-------------------- Try to mine under self ------------------

sub digitstay(MaxWeight,MaxDistance,KillElemental,ElemSignal,BaseX,BaseY)

VAR x,y,z='0',TileNum='1339'

VAR Last=0,LastTimer, ContFlag=1

VAR MaxTimer=110

 

For x=-MaxDistance to MaxDistance

For y=-MaxDistance to MaxDistance

Repeat

CheckLag() ; deleting journal

 

UO.WaitTargetTile(TileNum,STR(UO.GetX()+x),STR(UO.GetY()+Y),z)

UO.UseType('0x0E85')

 

LastTimer=UO.Timer()

 

Repeat

wait(500)

until UO.InJournal("You cannot") OR UO.InJournal("You put") OR UO.InJournal("You loosen") OR UO.InJournal("There is no") OR UO.InJournal("That is too") OR UO.InJournal("OOPS") OR UO.InJournal("attacking you") OR LastTimer+200<UO.Timer()

 

If NOT UO.InJournal('There is no') then

ContFlag=CheckOre()

Endif

 

If UO.InJournal('You loosen') then

repeat

wait(500)

until UO.InJournal("You put") OR LastTimer+MaxTimer<UO.Timer()

Endif

 

If UO.InJournal('something with ore') OR UO.InJournal("attacking you") then

If ElemSignal=='On' Then

Gong(2)

Endif

 

If KillElemental=='Yes' Then

KillElem()

walkn(BaseX,BaseY,"")

Else

; any user defined command when char digget elemental

 

Endif

Endif

 

If UO.InJournal("attacking you") then

gong(3)

Endif

 

If UO.Weight>=MaxWeight then

Endif

Until UO.InJournal("There is no") OR UO.InJournal("That is too") OR UO.InJournal("Try mining") OR ContFlag==0

Next

Next

end sub

 

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

 

 

sub GoN()

VAR walkwait=300

VAR x,y,dir=0

VAR key=33 ; PgUp

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.GetY()+1==y Then

return -1

Else

return 1

Endif

end sub

 

 

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 GoS()

VAR walkwait=300

VAR x,y,dir=4

VAR key=35 ; End

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.GetY()-1==y Then

return -1

Else

return 1

Endif

end sub

 

 

sub GoWN()

VAR walkwait=300

VAR x,y,dir=7

VAR key=38 ; UpArrow

x=UO.GetX()

y=UO.GetY()

 

If UO.GetDir()<>dir Then

UO.Press(key)

wait(walkwait)

If UO.GetDir()<>dir Then

CheckLag()

Endif

Endif

 

If UO.GetDir()==dir Then

UO.Press(key)

wait(walkwait)

If x==UO.GetX() AND y==UO.GetY() Then

CheckLag()

Endif

If UO.GetDir()==dir Then

return -1

Else

return UO.GetDir()

Endif

Else

return UO.GetDir()

Endif

end sub

 

 

sub GoNE()

VAR walkwait=300

VAR x,y,dir=1

VAR key=39 ; RightArrow

x=UO.GetX()

y=UO.GetY()

 

If UO.GetDir()<>dir Then

UO.Press(key)

wait(walkwait)

If UO.GetDir()<>dir Then

CheckLag()

Endif

Endif

 

If UO.GetDir()==dir Then

UO.Press(key)

wait(walkwait)

If x==UO.GetX() AND y==UO.GetY() Then

CheckLag()

Endif

If UO.GetDir()==dir Then

return -1

Else

return UO.GetDir()

Endif

Else

return UO.GetDir()

Endif

end sub

 

 

sub GoSE()

VAR walkwait=300

VAR x,y,dir=3

VAR key=40 ; DownArrow

x=UO.GetX()

y=UO.GetY()

 

If UO.GetDir()<>dir Then

UO.Press(key)

wait(walkwait)

If UO.GetDir()<>dir Then

CheckLag()

Endif

Endif

 

If UO.GetDir()==dir Then

UO.Press(key)

wait(walkwait)

If x==UO.GetX() AND y==UO.GetY() Then

CheckLag()

Endif

If UO.GetDir()==dir Then

return -1

Else

return UO.GetDir()

Endif

Else

return UO.GetDir()

Endif

end sub

 

 

sub GoSW()

VAR walkwait=300

VAR x,y,dir=5

VAR key=37 ; LeftArrow

x=UO.GetX()

y=UO.GetY()

 

If UO.GetDir()<>dir Then

UO.Press(key)

wait(walkwait)

If UO.GetDir()<>dir Then

CheckLag()

Endif

Endif

 

If UO.GetDir()==dir Then

UO.Press(key)

wait(walkwait)

If x==UO.GetX() AND y==UO.GetY() Then

CheckLag()

Endif

If UO.GetDir()==dir Then

return -1

Else

return UO.GetDir()

Endif

Else

return UO.GetDir()

Endif

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!

# walkwait - delay after keypress

#--------------------------------------------------------------

sub WalkN(x,y,Target)

VAR i

VAR dx,dy,Exit=0

 

While Exit<>1

If Target<>"" Then

dx=UO.GetX(Target)-UO.GetX()

dy=UO.GetY(Target)-UO.GetY()

; UO.Print("Target locked!")

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

GoSE()

Endif

 

If dx>0 AND dy<0 Then

GoNE()

Endif

 

If dx<0 AND dy>0 Then

GoSW()

Endif

 

If dx<0 AND dy<0 Then

GoWN()

Endif

 

Endif

 

If dx<>0 AND dy==0 Then

If dx>0 Then

GoE()

Endif

 

If dx<0 Then

GoW()

Endif

Endif

 

 

If dx==0 AND dy<>0 Then

If dy>0 Then

GoS()

Endif

 

If dy<0 Then

GoN()

Endif

Endif

Wend

end sub

 

sub guards()

start:

If (UO.InJournal("an earth elemental") or UO.InJournal("a slime")) then

UO.DeleteJournal()

uo.Say('.guards')

endif

wait(100)

goto start

end sub

 

sub NewRecon()

while true

while UO.IsOnline()

wait(100)

wend

UO.TextOpen()

UO.TextPrint('Disconnected at '+MakeTime())

UO.Exec('terminate all')

connect:

UO.Say(' ')

wait(3000)

UO.LDblClick(616,455)

wait(3000)

UO.LDblClick(616,455)

wait(3000)

UO.LDblClick(616,455)

wait(3000)

UO.LDblClick(357,164)

if UO.IsOnline() then

UO.Exec('exec mine')

UO.TextOpen()

UO.TextPrint('Reconnected at '+MakeTime())

else

goto connect

endif

wend

endsub

 

Sub MakeTime()

VAR D, T, Ret, i

Ret = STR(UO.Time())

T = ""

For i = 0 To Len(Ret)

T = Ret[Len(Ret)-i] + T

If (I == 2) OR (I == 4) Then

T = ":" + T

EndIf

Next

Ret = STR(UO.Date())

D = ""

For i = 0 To Len(Ret)

D = Ret[Len(Ret)-i] + D

If (I == 2) OR (I == 4) Then

D = "." + D

EndIf

Next

Ret = T + " @ " + D

RETURN Ret

end sub

#==============================================================

# CheckLag() - click on backpack and awaiting "backpack"

# message in journal.

#

# Journal has been deleted!!!

#--------------------------------------------------------------

sub CheckLag()

UO.DeleteJournal()

UO.Click('backpack')

 

repeat

wait(500)

until UO.InJournal('backpack')

end sub

 

 

вот макро, зделано Савагевом с дрв, переделанно мной ))) там все ясно и понятно.....

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
...

DIM Ores[15]

 

Ores[0]="Iron"

Ores[1]="Rusty"

Ores[2]="Old Copper"

Ores[3]="Dull Copper"

Ores[4]="Copper"

Ores[5]="Bronze"

Ores[6]="Silver"

; Ores[7]="Shadow"

; Ores[8]="Rose"

; Ores[9]="Gold"

; Ores[10]="Agapite"

; Ores[11]="Blood Rock"

; Ores[12]="Verite"

; Ores[13]="Valorite"

; Ores[14]="Mytheril"

...

 

вот макро, зделано Савагевом с дрв, переделанно мной ))) там все ясно и понятно.....

круто ты его переделал :lol:

 

GERA, смотри первый линк в подписи comatoza

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

sub main()

var i

While UO.Life>0

for i=1 to 49

kopat()

uo.press(34)

next

uo.print("GO iacaa =)")

kopat()

for i=1 to 50

wait(500)

uo.press(36)

next

uo.press(34)

wend

end sub

 

sub kopat()

var where_x,where_y,coords,i

UO.DeleteJournal()

where_x=uo.getx()

where_y=uo.gety()

for i= 1 to 1

uo.print('Eaiae!:)')

coords="waittargettile "+" 1339 "+str(where_x)+" "+str(where_y+i)+" 0"

uo.exec(coords)

uo.exec("usetype '0x0E85'") # Caanu i?iienuaaai oei ee?ee

UO.DeleteJournal()

while (not (UO.InJournal("You have") or UO.InJournal("You were") or UO.InJournal("no ore") or UO.InJournal("cannot") or UO.InJournal("Cancelled") or UO.InJournal("far away") or UO.InJournal("I am")))

wait(1000)

wend

next

end sub

_____________________________________________

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
скрипт в студию :)

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

comatozaты сам попросил так что без смеха :) и вобще понимающих но слабонервных скриптеров просьба на это не смотреть :D

sub AutoHeal()
  var t
  var i
  repeat
    if uo.dead() == false then
      while uo.life < uo.str * 0.9
        uo.bandageself()
        uo.deletejournal()
        t = 0
        repeat
          wait(500)
          t = t + 1
        until uo.injournal("healed") or (t > 20) or (uo.life == uo.str)
        uo.concolor(0x58)
        uo.print("healing ready")
        uo.concolor(0)
        uo.Say(".drink greaterhealpotion")
        uo.deletejournal()
        i = 0
        repeat
          wait(500)
          i = i + 1
        until uo.injournal("healed") or (i > 80) or (uo.life == uo.str)
        uo.concolor(0x58)
        uo.print("healing ready")
        uo.concolor(0)
      wend
    endif

    wait(500)
  until uo.dead()
end sub

Понимаю что корявенько но работает , если можеш то поправь и плз поясни где че лишнее.А по поводу что все ручками кому как удобнее,имхо хоть от одного действия пальцы освободил :D

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

sub MegaHiding()
while not UO.Dead()
      while UO.Hidden()
           wait(200)
      wend
      UO.ServerPrint(".drink GreaterInvisibilityPotion")
      wait(200)
wend
end sub

чё-то в этом духе ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
comatozaты сам попросил так что без смеха :) и вобще понимающих но слабонервных скриптеров просьба на это не смотреть :D

sub AutoHeal()
  var t
  var i
  repeat
    if uo.dead() == false then
      while uo.life < uo.str * 0.9
        uo.bandageself()
        uo.deletejournal()
        t = 0
        repeat
          wait(500)
          t = t + 1
        until uo.injournal("healed") or (t > 20) or (uo.life == uo.str)
        uo.concolor(0x58)
        uo.print("healing ready")
        uo.concolor(0)
        uo.Say(".drink greaterhealpotion")
        uo.deletejournal()
        i = 0
        repeat
          wait(500)
          i = i + 1
        until uo.injournal("healed") or (i > 80) or (uo.life == uo.str)
        uo.concolor(0x58)
        uo.print("healing ready")
        uo.concolor(0)
      wend
    endif

    wait(500)
  until uo.dead()
end sub

Понимаю что корявенько но работает , если можеш то поправь и плз поясни где че лишнее.А по поводу что все ручками кому как удобнее,имхо хоть от одного действия пальцы освободил :D

 

 

 

я немного не понял одного....

он же у тя фсё равно пьёт гх?

даже, если отличился...

 

 

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

 

так вот твой алгоритм выглядит так:

 

если 90% здоровья юзаем бандаги, ждём пока не отлечится или пока не пройдёт 10000 сек или сообщения, потом говорим фсякое, юзаем гх, и снова чего-то ждём...

 

кстати... чтоб не делать коунтеров.... можно юзать uo.timer()

примерно так

 

до выполнения некого цикла ожидания time=uo.timer()

а в условиях цыкла - while uo.timer()<time+скока нада

 

а на мой взгляд, граничные условия выполнены B)

это ж не для себя ;)

а, если ты заметил, то я не твой ответ в качестве цытаты использовал - т.е. ему пишу, что идея - пшик :)

а скрипт твой рабочий :) тока вопрос... скока таких скриптов(с вайт 100) нада запустить чтоб серьёзно затормозить игру? :) мне хватает одного автостаба :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...

×
×
  • Создать...