Yoko

All sides of Injection
It is currently 2017-09-26 02:17:26

All times are UTC+02:00




Post new topic  Reply to topic  [ 222 posts ]  Go to page Previous 18 9 10 11 12 Next
Author Message
PostPosted: 2013-05-16 17:35:06 
Offline

Joined: 2005-04-19 18:00:29
Posts: 2259
Location: Московская область
Прошло 7 лет... эх)


Top
   
PostPosted: 2013-05-29 19:52:10 
Offline

Joined: 2013-05-29 19:47:55
Posts: 2
Люди, помогите. Я уже замучился искать скрипт на хилинг во время ручного боя для DRW. Просто, чтобы при нажатии, скажем, F4 персонаж снимал оружие и щит, хилился и одевал все обратно. Дайте кто-то ссылку на этот скрипт. Не могу найти...

И еще просьба - никто не встречал скрип на копку айрона в Британии ("шахта" на территории города)? Когда чар не только копает, но еще и ходит и обходит всю эту крученую гору, а потом возращается в начальную точку? И так по кругу. Тоже для ДРВ. Буду очень благодарен!


Top
   
PostPosted: 2013-05-30 00:41:17 
Offline
User avatar

Joined: 2012-03-20 00:32:06
Posts: 241
Location: РФ, г. Москва
Svasud wrote:
Люди, помогите. Я уже замучился искать скрипт на хилинг во время ручного боя для DRW. Просто, чтобы при нажатии, скажем, F4 персонаж снимал оружие и щит, хилился и одевал все обратно. Дайте кто-то ссылку на этот скрипт. Не могу найти...

И еще просьба - никто не встречал скрип на копку айрона в Британии ("шахта" на территории города)? Когда чар не только копает, но еще и ходит и обходит всю эту крученую гору, а потом возращается в начальную точку? И так по кругу. Тоже для ДРВ. Буду очень благодарен!

Quote:
sub Healing()
uo.WarMode(0)
UO.SetArm('TempWeapon')
UO.Exec ('bandageself')
wait(500)
UO.Arm('TempWeapon')
wait(100)
end sub

мининг
Quote:
sub main()
while not uo.dead()
gomine()
gominback()
gomine()
gosmelt()
smeltore()
gobank()
unloadiron()
gomaxback()
wend
end sub

sub gomine()
go(1459,1510,1)
go(1458,1507,1)
go(1457,1506,1)
go(1455,1505,1)
go(1452,1506,1)
go(1450,1509,1)
go(1450,1512,1)
go(1450,1513,1)
go(1448,1515,1)
go(1451,1517,1)
go(1452,1519,1)
go(1451,1521,1)
go(1448,1522,1)
go(1445,1523,1)
go(1445,1525,1)
go(1447,1527,1)
go(1448,1528,1)
go(1450,1530,1)
go(1452,1529,1)
go(1454,1529,1)
end sub

sub gosmelt()
go(1432,1542,0)
go(1426,1556,0)
end sub

Sub gobank()
go(1430,1570,0)
go(1438,1583,0)
go(1425,1592,0)
go(1425,1622,0)
go(1420,1631,0)
go(1420,1668,0)
go(1436,1671,0)
go(1435,1680,0)
end sub

sub gomaxback()
go(1435,1669,0)
go(1420,1669,0)
go(1420,1631,0)
go(1425,1592,0)
go(1438,1583,0)
go(1430,1570,0)
go(1430,1536,0)
go(1445,1515,0)
go(1453,1502,0)
go(1460,1505,0)
end sub

sub gominback()
go(1446,1533,0)
go(1441,1524,0)
go(1447,1504,0)
go(1460,1504,0)
end sub

sub kopka()
var kirka='0x0E85'
var i,j,x,y,z
var ms1="Try mining"
var ms2="You put"
var ms3="There is no ore"
var ms4="You loosen"
x=uo.getx('self')
y=uo.gety('self')
z=uo.getz('self')
hiding()
for i=-1 to 1
for j=-1 to 1
repeat
uo.deletejournal()
uo.waittargettile(0,x+i,y+j,z)
uo.usetype(kirka)
repeat
wait(100)
until uo.injournal(ms1) or uo.injournal(ms2) or uo.injournal(ms3) or uo.injournal(ms4)
until uo.injournal(ms1) or uo.injournal(ms3)
next
next
end sub

sub unloadiron()
uo.findtype('0x1BEF','-1','backpack')
while uo.findcount()
uo.say("bank")
wait(1000)
uo.findtype('0x1BEF','-1','backpack')
if uo.findcount() then
uo.moveitem('finditem','all','lastcontainer')
endif
uo.findtype('0x1BEF','-1','backpack')
wend
end sub

sub hiding()
var ms1="You have hidden"
var ms2="You can't"
repeat
uo.deletejournal()
uo.useskill('Hiding')
repeat
wait(100)
until uo.injournal(ms1) or uo.injournal(ms2)
until uo.injournal(ms1)
end sub

sub smeltore()
uo.findtype('0x19B9','-1','backpack')
while uo.findcount()
uo.useobject('finditem')
wait(500)
uo.findtype('0x19B9','-1','backpack')
wend
end sub

sub go(x,y,k)
VAR i
VAR dir,ldir,rdir,key,olddir
VAR dx,dy,Exit=0
VAR CacheLimit=9,CacheIndex="Text"
DIM CacheX[10], CacheY[10]
CacheX[0]="Test"
While Exit<>1
dx=x-UO.GetX()
dy=y-UO.GetY()
If dx==0 AND dy==0 Then
Exit=1
Endif
If dx<>0 AND dy<>0 Then
If dx>0 AND dy>0 Then ; GoSE
dir=3
ldir=2
rdir=4
key=40 ; DownArrow
olddir=UO.GetDir()
If StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) Then
If olddir==2 Then ; GoNE
dir=1
ldir=0
rdir=1
key=39 ; RightArrow
While UO.GetDir()<>1
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Else ; GoSW
dir=5
ldir=5
rdir=6
key=37 ; LeftArrow
While UO.GetDir()<>5
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Endif
Endif
Endif
If dx>0 AND dy<0 Then ; GoNE
dir=1
ldir=0
rdir=2
key=39 ; RightArrow
olddir=UO.GetDir()
If StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) Then
If olddir==0 Then ; GoWN
dir=7
ldir=6
rdir=7
key=38 ; UpArrow
While UO.GetDir()<>7
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Else ; GoSE
dir=3
ldir=3
rdir=4
key=40 ; DownArrow
While UO.GetDir()<>3
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Endif
Endif
Endif
If dx<0 AND dy>0 Then ; GoSW
dir=5
ldir=4
rdir=6
key=37 ; LeftArrow
olddir=UO.GetDir()
If StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) Then
If olddir==6 Then ; GoWN
dir=7
ldir=7
rdir=0
key=38 ; UpArrow
While UO.GetDir()<>7
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Else ; GoSE
dir=3
ldir=2
rdir=3
key=40 ; DownArrow
While UO.GetDir()<>3
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Endif
Endif
Endif
If dx<0 AND dy<0 Then ; GoWN
dir=7
ldir=6
rdir=0
key=38 ; UpArrow
olddir=UO.GetDir()
If StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) Then
If olddir==0 Then ; GoNE
dir=1
ldir=1
rdir=2
key=39 ; RightArrow
While UO.GetDir()<>1
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Else ; GoSW
dir=5
ldir=4
rdir=5
key=37 ; LeftArrow
While UO.GetDir()<>5
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Endif
Endif
Endif
Endif
If dx<>0 AND dy==0 Then
If dx>0 Then ; GoE
dir=2
key=34 ; PgDown
olddir=UO.GetDir()
If StepEdit(UO.GetX(),UO.GetY(),dir,key) Then
If olddir==2 Then ; GoSE
dir=3
ldir=3
rdir=4
key=40 ; DownArrow
While UO.GetDir()<>3
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Else ; GoNE
dir=1
ldir=1
rdir=0
key=39 ; RightArrow
While UO.GetDir()<>1
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Endif
Endif
Endif
If dx<0 Then ; GoW
dir=6
key=36 ; Home key
olddir=UO.GetDir()
If StepEdit(UO.GetX(),UO.GetY(),dir,key) Then
If olddir==0 Then ; GoWN
dir=7
ldir=7
rdir=0
key=38 ; UpArrow
While UO.GetDir()<>7
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Else ; GoSW
dir=5
ldir=4
rdir=5
key=37 ; LeftArrow
While UO.GetDir()<>5
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Endif
Endif
Endif
Endif
If dx==0 AND dy<>0 Then
If dy>0 Then ; GoS
dir=4
key=35 ; End
If StepEdit(UO.GetX(),UO.GetY(),dir,key) Then
If olddir==2 Then ; GoSE
dir=3
ldir=2
rdir=3
key=40 ; DownArrow
While UO.GetDir()<>3
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Else ; GoSW
dir=5
ldir=6
rdir=5
key=37 ; LeftArrow
While UO.GetDir()<>5
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Endif
Endif
Endif
If dy<0 Then ;GoN
dir=0
key=33 ; PgUp
olddir=UO.GetDir()
If StepEdit(UO.GetX(),UO.GetY(),dir,key) Then
If olddir==2 Then ; GoNE
dir=1
ldir=1
rdir=2
key=39 ; RightArrow
While UO.GetDir()<>1
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Else ; GoWN
dir=7
ldir=7
rdir=6
key=38 ; UpArrow
While UO.GetDir()<>7
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Endif
Endif
Endif
Endif
Wend
if k==1 then
kopka()
endif
end sub

sub StepEdit(x,y,dir,key)
VAR walkwait=100
VAR ErrLevel=0
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()
If x==UO.GetX() AND y==UO.GetY() Then
ErrLevel=1
Endif
Endif
Return ErrLevel
end sub

sub StepArrow(x,y,dir,ldir,rdir,key)
VAR walkwait=100
VAR ErrLevel=0
If UO.GetDir()<>dir Then
UO.Press(key)
wait(walkwait)
If UO.GetDir()<>dir AND UO.GetDir()<>ldir AND UO.GetDir()<>rdir Then
CheckLag()
Endif
Endif
If UO.GetX()==x AND UO.GetY()==y Then
UO.Press(key)
wait(walkwait)
If UO.GetDir()==dir AND UO.GetX()==x AND UO.GetY()==y Then
CheckLag()
If UO.GetDir()==dir AND UO.GetX()==x AND UO.GetY()==y Then
ErrLevel=1
Endif
Endif
Endif
Return ErrLevel
end sub

sub CheckLag()
UO.DeleteJournal()
UO.Click('backpack')
repeat
Wait(50)
until UO.InJournal('backpack')
end sub

sub Reconnector()
var ReconnectTime, RFlag
ReconnectTime = '0'
RFlag = 1
Repeat
While (UO.ObjAtLayer('Bpack') == '')
if RFlag Then
ReconnectTime = MakeTime()
RFlag = 0
endif
Wait(20000) # WorldSave Protection
UO.Say('Guard')
Wait(3000)
UO.Say('')
Wait(3000)
UO.Say('')
Wait(3000)
UO.LDblClick(357,164)
UO.LClick(616,459)
Wait(3000)
WEnd
Wait(3000)
if (RFlag == 0) and (ReconnectTime <> '0') Then
UO.TextOpen()
UO.TextPrint('Disconnected & Reconnected @ '+ReconnectTime)
RFlag = 1
ReconnectTime = '0'
endif
Until false
end sub

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

_________________
Не быть жадным - уже богатство, не быть расточительным – доход.
TylllKaH
YokoInjection CodeSweeper
Ошибка "Unhandled exception in parser"


Top
   
PostPosted: 2013-05-30 07:34:21 
Offline

Joined: 2013-05-29 19:47:55
Posts: 2
СПАСИБО!!!


Top
   
PostPosted: 2013-05-30 13:15:54 
Offline
User avatar

Joined: 2009-05-28 09:58:28
Posts: 2745
Location: Иваново
Косметика, а то действия иногда не логичны:

Code:
sub kopka()
   var kirka='0x0E85'
   var i,j,x,y,z
   var ms1="Try mining|You put|There is no ore|You loosen"
   var ms2="Try mining|There is no ore"
   x=uo.getx('self')
   y=uo.gety('self')
   z=uo.getz('self')
   hiding()
   for i=-1 to 1
      for j=-1 to 1
         repeat
            uo.deletejournal()
            uo.waittargettile(0,x+i,y+j,z)
            uo.usetype(kirka)
            repeat
               wait(100)
            until uo.injournal(ms1)
         until uo.injournal(ms2)
      next
   next
end sub
sub unloadiron()
   uo.findtype('0x1BEF','-1','backpack')
   uo.say("bank") ; БАНК достаточно сказать 1 раз. Он будет открыт до тех пор пока чар не сойдет с тайла, даже если закрыть окно банка.
   while uo.findcount()
      uo.moveitem('finditem','all','lastcontainer')
      wait(1000)
      uo.findtype('0x1BEF','-1','backpack')
   wend
end sub

+ все var-ы бы не мешало вверх перед первым sub перетащить. будет удобнее редактировать в одном месте, не лазия по всему скрипту чтобы поменять тип кирки на тип лопаты.

PS у вас инструменты не ломаются? О_о

_________________
Image
YokoInjection CodeSweeper
Ошибка "Unhandled exception in parser"


Top
   
PostPosted: 2013-05-31 09:17:47 
Offline
Expert!
User avatar

Joined: 2005-09-14 15:31:58
Posts: 2142
Location: Latvia
брощит
Image

_________________
Уроки языка Injection
Основные команды языка Injection
Yoko Injection Code Sweeper
Drw (2009) скрипты
2017 Начал играть на Uorpg.net


Top
   
PostPosted: 2013-05-31 10:36:05 
Offline
User avatar

Joined: 2009-05-28 09:58:28
Posts: 2745
Location: Иваново
Шо эта?

_________________
Image
YokoInjection CodeSweeper
Ошибка "Unhandled exception in parser"


Top
   
PostPosted: 2013-05-31 12:59:51 
Offline
Expert!
User avatar

Joined: 2005-09-14 15:31:58
Posts: 2142
Location: Latvia
Mirage wrote:
Шо эта?


Если не ошибаюсь то крафт Купера. Но я только на 90% уверен :roll:

_________________
Уроки языка Injection
Основные команды языка Injection
Yoko Injection Code Sweeper
Drw (2009) скрипты
2017 Начал играть на Uorpg.net


Top
   
PostPosted: 2013-05-31 13:18:17 
Offline
User avatar

Joined: 2009-05-28 09:58:28
Posts: 2745
Location: Иваново
аа артефакт... Жаль при опознании не показывается сколько времени назад сделана вещь. Можно было бы посмотреть исторический ли это предмет или подделка однофамильца.

_________________
Image
YokoInjection CodeSweeper
Ошибка "Unhandled exception in parser"


Top
   
PostPosted: 2013-05-31 14:14:56 
Offline
Expert!
User avatar

Joined: 2005-09-14 15:31:58
Posts: 2142
Location: Latvia
Mirage wrote:
аа артефакт... Жаль при опознании не показывается сколько времени назад сделана вещь. Можно было бы посмотреть исторический ли это предмет или подделка однофамильца.


crafted by Gajra - это точно артефакт 8)

_________________
Уроки языка Injection
Основные команды языка Injection
Yoko Injection Code Sweeper
Drw (2009) скрипты
2017 Начал играть на Uorpg.net


Top
   
PostPosted: 2013-05-31 21:00:32 
Offline
User avatar

Joined: 2012-03-20 00:32:06
Posts: 241
Location: РФ, г. Москва
Дарк купер щас бегает

_________________
Не быть жадным - уже богатство, не быть расточительным – доход.
TylllKaH
YokoInjection CodeSweeper
Ошибка "Unhandled exception in parser"


Top
   
PostPosted: 2015-02-13 10:30:22 
Offline
Expert!
User avatar

Joined: 2006-02-07 08:51:40
Posts: 1347
Location: г. Старый Оскол
Nmy, фига ссе, где ты его откопал? :lol: 8)

А теме, 29 марта будет 9 лет... в следующем году второй юбилей. :P

А 7го февраля было 9 лет со дня моей регистрации тут... блин, как время то летит, хрен заметишь... :cry: :cry: :cry:


Top
   
PostPosted: 2015-02-18 15:37:01 
Offline

Joined: 2005-04-19 18:00:29
Posts: 2259
Location: Московская область
Не говори :)


Top
   
PostPosted: 2015-02-18 17:03:29 
Offline
Expert!
User avatar

Joined: 2006-02-07 08:51:40
Posts: 1347
Location: г. Старый Оскол
Scripts Writer wrote:
Не говори :)


Как жизнь молодая? 8)


Top
   
PostPosted: 2015-06-22 18:15:28 
Offline

Joined: 2015-06-21 10:44:42
Posts: 7
Ребят проблема в следующем , есть скрипт я в нем разобрался более менее но как где поменять на русский шрифт физлы с руны , когда дерево вырублено и.т.д не допераю может кто подсказать? и вообще кто знает на Оскоме 2 он работает корректно ? а то я на нем 4 дерева рубанул еще не знаю относит ли он домой нет
вот скрипт
############################################
### Lumberjacking / Рубка деревьев v3.7 ###
############################################
### Шард Dragon World / www.drw.ru
############################################
### Реавтор этого скрипта: BETEP [WOD] or BETEPAH ###
############################################
############################################
### Оформление дополнений cOoler [Sw!Ne$]###
############################################
###
#############################
### Описание и настройка ###
#############################
###
### Чар бегает от дерева к дереву(координаты деревьев берет из файла).
### Вырубит, бежит к следующему,при логах 700 штук в паке порталится домой скидывает логи в сундук,
### после реколится обратно бежит к последнему дереву и продолжает рубить.
### Пример: В файле 100 деревьев, вы вырубив 74 дошли до придела в 700 логов сработала система рекола
### и вы "порталитесь" домой и складываете логи в сундук,после вы реколитесь обратно в лес и бежите к 75 дереву.
### Дойдя до 100 дерева (тоесть последнего в списке) чар перейдет к 1ому дереву.(Цикличность)
###
### Для тех то кто им пользуется сообщаю, переделал, доработал, отредактировал.!
###
### Нововведения:
### 1 )Логи складываются не на пол а в сундук. (BETEPAH)
### 2 )Рекол в лес и домой по РУНБУКЕ (а не по рункам). (BETEPAH)
### ВНИМАНИЕ!!! В СКРИПТЕ РУНБУКИ НАСТРОЕНЫ ПОД DRW (шард)
### 3 )Система Автомарка Убрана ,и переделана в сомостоятельное маркирование деревьев
### (раньше чар сам бегал по лесу и очень долго марчил деревья)теперь бегаем сами и просто прицелом по деревам
### (марчим также,как и раньше в руках кирка). (BETEPAH)
### 4 )Увеличен придел замаркированых деревьев да 500 шт. (BЕТЕРАН)
### 5 )Улучшна система Хайда (ходим, не бегаем). (BЕТЕРАН)
### 6 )Добавлена система InfoLogs. (Mguai, доработана BETEPAH)
### 7 )Добавлен выбор кирки.(cOoler,доработана BETEPAH)
### 8 )Система реконекта (выложаная сверху),хорошо сочетается с скриптом лумбер. (Fox M)
###
### !!! Чтобы скрипт заработал ВНИМАТЕЛЬНО прочтите настройки.!!!!
###
### Работает в 2ух режимах:
### 1)Маркировка
### 2)Рубка
###
###################################
### Режимы работы скрипта ###
###################################
### Режим первый - "Маркировка".###
###################################
###
### Этот режим отвечает за Маркирование(записывание координат) деревьев.
### Включается переменной var GetFromFile=0 ## 1 - координаты деревьев будут считыватся из файла, 0 - собиратся из клиента.
### То есть если GetFromFile=0 координаты деревьев собиратся из клиента.
###
### Маркировка происходит так.
### Поставте переменную GetFromFile равную 0 (GetFromFile=0 ). Положите в суммку к себе Топор,Рунбук(с Рунами домой и в лес) и !!Кирку!!.
### Идите в лес в котором вы хотите рубить.Запустите Скрипт main(),Инжект попросит вас указать Топор
### (появится прицел,прицелом на топор который вы с собой взяли),потом инжект попросит вас указать Рунбук(появится прицел,прицелом на него).
### Инжект сообщит вам что ('Собираем координаты деревьев в округе...'). Чар автоматом возмет в руки кирку и появится прицел.
### Теперь вы должны в любом порядке САМИ прицелом указать координаты (достаточно просто нажать прицелом на дерево).
### Если вы не промахнулись и "нажали" на дерево то инжект сообщит вам об этом (Найдено дерево "координаты дерева").
### Причем что если даже вы нажмете два раза на одно дерево то он не "запомнит" его повторно.
### Ходите по лесу и марчите деревья,после того как вы "наберете" достаточное количество деревьев.
### Инжект напишет вам сообщение ('Анализ закончен, координаты деревьев записаны в файл C:\trees3.dat') и создаст файл на диске С:\ куда запишет
### координаты деревьев.Система марка зависит от Времени и переменной Area.При Area = 1,
###марк продлится примерно 20-25 мин.Остоновить марк нельзя, можно только дождатся его конца.
###500 .Это ПРИДЕЛ (можно хоть 10,хоть 499),но если вы замарчите 501 дерево то скрипт повиснет.
### После этого чар пойдет по координатам и будет вырубать деревья.
###
##############################
### Режим Второй - "Рубка".###
##############################
###
### Этот режим соответственоо отвечает за рубку.
### Включается переменной var GetFromFile=1 ## 1 - координаты деревьев будут считыватся из файла, 0 - собиратся из клиента
### То есть если GetFromFile=1 координаты деревьев будут считыватся из файла. И вам не надо будет сново марчить деревья.
###
### Рубка происходит так,Поставте переменную GetFromFile равную 1 ( GetFromFile=1 ).
### Положите в суммку к себе Топор и Рунбук(с Рунами домой и в лес).
### Внимание!!! В РУНБУКЕ РУНА В 1ом слоте ДОМОЙ,в 9ом В лес.После установок рун в РУНБУК.
### ВНИМАНИЕ!!! В СКРИПТЕ НОМЕРА РУН В РУНБУКЕ НАСТРОЕНЫ ПОД DRW (шард).
###
### Настройте скрипт под себя при помощи переменных.
###################
### Переменные: ###
###################
### 1)var TryHiding=1 ## 1 - перед тем как рубить дерево, будет пытаться уйти в хайд, 0 - не будет
### 2)var LogsQty=700 ## Количество логов, добыв которое надо реколиться домой.
### 3)var TryRecall=1 ## 1 - после того как соберет LogsQty логов, будет пытаться реколиться домой,складывать логи в сундук и реколиться обратно
### (нужно указать Рунбук в которой,1 ая руна домой, а 9 ая в лес), 0 - не будет реколится домой и выключит скрипт.
### 4)VAR Meshok='0x401C1142'## - Айди сундука в который должен складывать Логи.(айди сундука можно узнать написав ,info и прицелом на сундук
### (в данном случие этот Айди 0x401C1142).Переменная находится ниже в скрипте (примерно в районе 327 строки).
###
### После настройки:
###
### Идите в лес в котором вы хотите рубить.Запустите Скрипт Lumberjacking(),Инжект попросит вас указать Топор
### (появится прицел,прицелом на топор который вы с собой взяли),потом инжект попросит вас указать Рунбук(появится прицел,прицелом на него).
### После этого чар пойдет по координатам и будет вырубать деревья.
###########
### Код ###
###########
sub Lumberjacking()
var i=0,j=0,k=0,r=0,q=0,ii,jj
var TopX=324,TopY=65
dim TreeX[500], TreeY[500],TreeT[500]
dim TreeTile[10]
var flag=0,treeCount=0,clicks=0,flag2=0
######################
### Меню / Options ###
######################
############################################################################################
var f=file("C:\trees3.dat") ## - Путь к файлу в котором будут хранится координаты Деревьев.
###
var Area=1 ## Размер обрабатываемой территории, можно менять от 1 до 4.
###
var TryHiding=1 ## 1 - Перед тем как рубить дерево, будет пытаться уйти в хайд, 0 - не будет .
###
var TryRecall=1 ## 1 - После того как соберет LogsQty логов, будет пытаться реколиться домой,
# складывать логи в сундук и реколиться обратно (нужно указать Рунбук в которой,1 ая руна домой, а 9 ая в лес), 0 - не будет.
###
var TryRecall2=1 ## 1 - После того как соберет LogsQty логов, будет пытаться реколиться домой,
# складывать логи в сундук и реколиться обратно (нужно указать Рунбук в которой,1 ая руна домой, а 9 ая в лес), 0 - не будет.
###
var LogsQty=700 ## Количество логов, добыв которое надо реколиться домой.
###
var GetFromFile=0 ## 0 - Координаты деревьев будут считыватся из файла, 0 - собиратся из клиента
#(сначала соберите а потом считывайте из файла).
###
uo.exec("set norbcheck 1")# Для рекола.
###
uo.exec("set norbcalc 1") # Для рекола .
###
############################################################################################
########################
### Графика деревьев ###
########################
TreeTile[0]=3283
TreeTile[1]=3277
TreeTile[2]=3293
TreeTile[3]=3296
TreeTile[4]=3302
TreeTile[5]=3299
TreeTile[6]=3290
TreeTile[7]=3288
TreeTile[8]=3286
TreeTile[9]=3280

uo.exec("filterspeech on")
uo.exec("filterspeech add 'Where do you want to use the pickaxe?'")

uo.print('Выбери топор: ')
uo.exec('addobject axe')
while uo.targeting()
wait(100)
wend

if TryRecall==1 then
uo.print('!!Выбери Руну ДОМОЙ !! ')
uo.exec('addobject runeHome')
while uo.targeting()
wait(100)
wend

if TryRecall2==1 then
uo.print('!!Выбери Руну В ПЕЩЕРУ !! ')
uo.exec('addobject runeCave')
while uo.targeting()
wait(100)
wend
end if
#####################################
### Загружаем координаты из файла ###
#####################################
if GetFromFile==1 then
uo.print('Загружаем координаты из файла...')
f.open()
TreeCount=safe call f.readNumber()
for i=1 to TreeCount
TreeT[i]=safe call f.ReadNumber()
TreeX[i]=safe call f.ReadNumber()
TreeY[i]=safe call f.ReadNumber()
next
f.close()
else
######################################
### Собираем координаты из клиента ###
######################################
uo.print('Выбери Кирку: ')
uo.exec('addobject Pickaxe')
while uo.targeting()
wait(100)
wend
uo.print('Собираем координаты деревьев в округе...')
for q=1 to Area
if q==2 then
gotoxy(uo.getx()+20,uo.gety()-10)
end if
if q==3 then
gotoxy(uo.getx(),uo.gety()+20)
end if
if q==4 then
gotoxy(uo.getx()-20,uo.gety())
end if
for r=0 to 3
if r==1 then
gotoxy(uo.getx()+10,uo.gety())
end if
if r==2 then
gotoxy(uo.getx(),uo.gety()+10)
end if
if r==3 then
gotoxy(uo.getx()-10,uo.gety())
end if
for j=0 to 8
for i=0 to 8
clicks=0
flag=0
uo.DeleteJournal()
#######################
### Кликаем на тайл ###
#######################
uo.useobject('Pickaxe')
waitForTarget()
uo.DeleteJournal()

WaitForTryRock()

###############################
### Проверяем дерево ли это ###
###############################
flag=0
for k=0 to 9
if uo.LastTile(0)==TreeTile[k]+1 then
flag=2
end if
next
if flag==0 then
for k=0 to 9
if uo.LastTile(0)==TreeTile[k] then
flag=1
end if
next
end if
#########################
### Кликнули на ствол ###
#########################
if flag==1 then
flag2=0
if treeCount>0 then
for ii=1 to treeCount
if treeX[ii]==uo.lastTile(1) AND treeY[ii]==uo.lastTile(2) then
flag2=1
end if
next
end if
if flag2==0 then
treeCount=treeCount+1
TreeX[treeCount]=uo.LastTile(1)
treeY[treeCount]=uo.lastTile(2)
TreeT[treeCount]=uo.LastTile(0)
uo.print('Найдено дерево: x='+str(uo.lasttile(1))+' y='+str(uo.lastTile(2)))
end if
end if
##########################
### Кликнули по листве ###
##########################
if flag==2 then
flag2=0
if treeCount>0 then
for ii=1 to treeCount
if treeX[ii]==uo.lastTile(1) AND treeY[ii]==uo.lastTile(2) then
flag2=1
end if
next
end if
if flag2==0 then
treeCount=treeCount+1
TreeX[treeCount]=uo.LastTile(1)
treeY[treeCount]=uo.LastTile(2)
TreeT[treeCount]=uo.LastTile(0)-1
uo.print('Найдено дерево: x='+str(uo.lasttile(1))+' y='+str(uo.lastTile(2)))
end if
end if
next
next
next
next
uo.exec("filterspeech off")
uo.print('Анализ закончен, координаты деревьев записаны в файл C:\trees3.dat')
SaveToFile(treeCount,TreeX,TreeY,TreeT)
end if
uo.print('Деревьев найдено: '+str(treeCount))
wait(2000)
######################################
### Ходим по собранным координатам ###
######################################
while 1==1
if treeCount>0 then
for i=1 to treeCount
if TryRecall==1 AND uo.Count('ZLK')>=LogsQty then
ToRecall()
end if
uo.print('Идем к дереву '+str(i)+': x='+str(treex[i])+' y='+str(treey[i]))
infologs()
flag=gotoxy(treex[i],treey[i])
if flag==1 then
if TryHiding==1 then
ToHide()
end if
GetTree(str(treeT[i]),str(treeX[i]),str(TreeY[i]),str(uo.getz()))
end if
next
end if
wend
end sub

sub GetTree(type,x,y,z)
var i
uo.print('Начинаем рубку дерева...')
for i=0 to 15
if uo.warmode()==1 then
return 0
end if
wait(200)
uo.deletejournal()
uo.waittargettile(type,x,y,z)
uo.useobject('axe')
if WaitForChange()==1 then
return 1
end if
next
return 0

end sub

sub ToRecall()
VAR Meshok='0x401C1142' ## - ID сундука в который чар должен складывать логи
RecallToHome()
wait(500)
uo.press(36)
wait(500)
uo.press(36)
wait(500)
repeat
wait(500)
repeat
wait(500)
repeat
wait(500)
repeat
wait(600)
UO.SetReceivingContainer(Meshok)
uo.findtype('ZLK')
wait(500)
UO.Grab('all','finditem')
infologs()
wait(500)
until uo.GetQuantity('finditem')==0
UO.UnSetReceivingContainer()
UO.SetReceivingContainer(Meshok)
uo.findtype('ZLK')
wait(500)
UO.Grab('all','finditem')
infologs()
wait(500)
until uo.GetQuantity('finditem')==0
UO.UnSetReceivingContainer()
UO.SetReceivingContainer(Meshok)
uo.findtype('ZLK')
wait(500)
UO.Grab('all','finditem')
infologs()
wait(500)
until uo.GetQuantity('finditem')==0
UO.UnSetReceivingContainer()
RecallToLumber()
end sub

sub RecallToHome()
UO.Print("!!Прыгаем ДоМОЙ!!")
uo.exec("recall Runebook 21")
wait(10000)
end sub

sub RecallToLumber()
UO.Print("!!Прыгаем в ЛЕС!!")
uo.exec("recall Runebook 1025")
wait(10000)
end sub

sub ToHide()
while not UO.Hidden()
uo.print('Пытаемся уйти в хайд...')
uo.deletejournal()
UO.UseSkill("Stealth")
wait(4100)
wend
wait(100)
end sub


sub WaitForRecall()
var Text1=uo.getname()+": The spell fizzles."
var mess='',lastX=uo.getX(),lastY=uo.getY()
for var i=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 WaitForHide()
var Text1=uo.getname()+": You have hidden yourself well"
var Text2=uo.getname()+": You can't seem to hide here."
var mess
for var i=0 to 200
mess=uo.journal(0)
if uo.Journal(0)==Text1 then
return 1
end if
if uo.Journal(0)==Text2 then
return 0
end if
wait(50)
next
return 0
end sub

sub WaitForChange()
var Text1=uo.getname()+': You hack at the tree for a while, but fail to produce any useable wood.'
var Text2='There are no logs here to chop.'
var Text3="You can't reach this."
var mess
for var i=0 to 200
mess=uo.journal(0)
if uo.Journal(0)==Text2 OR uo.Journal(0)==Text3 then
return 1
end if
if uo.Journal(0)==Text1 then
return 0
end if
if mess[0]=='Y' AND mess[1]=='o' AND mess[2]=='u' AND mess[4]=='p' AND mess[5]=='u' AND mess[6]=='t' then
return 0
end if
wait(50)
next
return 0
end sub

sub WaitForTryRock()
var Text1="That is too far away."
var Text2="Try mining in rock."
var Text3="There is no ore here to mine."
var Text4="You have no line of sight to that location"
var Text5="You can't see the target"
for var i=0 to 50
if uo.Journal(0)==Text1 OR uo.Journal(0)==Text2 OR uo.Journal(0)==Text3 OR uo.Journal(0)==Text4 OR uo.Journal(0)==Text5 then
return 1
end if
wait(200)
next
return 0
end sub

sub WaitForTarget()
for var i=0 to 50
if uo.Targeting()==1 then
return 1
end if
wait(200)
next
return 0
end sub

sub WaitForChangeXY(myX,myY,lastX,lastY)
for var i=1 to 50
if lastX<>myX OR lastY<>myY then
return 1
end if
wait(200)
next
return 0
end sub

sub gotoXY(x,y)
var myX,myY,lastX=0,lastY=0,i,halt=0,z,r=0
for i=1 to 60
MyX=uo.getX();
MyY=uo.getY();
if LastX==MyX AND LastY==MyY then
halt=halt+1
else
halt=0
end if
if halt>=10 then
if uo.GetDir()==1 then
for z=0 to 8
uo.press(40)
next
end if
if uo.GetDir()==3 then
for z=0 to 8
uo.press(37)
next
end if
if uo.GetDir()==5 then
for z=0 to 8
uo.press( 38 )
next
end if
if uo.GetDir()==7 then
for z=0 to 8
uo.press(39)
next
end if
halt=15
end if
if abs(x-myX)<=1 AND abs(y-myY)<=2 then
return 1
end if
if x<=MyX then
if y<=MyY then
for z=0 to 3
uo.press( 38 )
next
else
for z=0 to 3
uo.press(37)
next
end if
else
if y<=MyY then
for z=0 to 3
uo.press(39)
next
else
for z=0 to 3
uo.press(40)
next
end if
end if
lastX=myX
lastY=myY
wait(200)
next
return 0
end sub

sub abs(num)
if num>=0 then
return num
else
return num*(-1)
end if
end sub

sub SaveToFile(TreeCount,TreeX,TreeY,TreeT)
var f=file("C:\trees3.dat")
var s=0,i=0
f.open()
f.create()
s=safe call f.writeln(TreeCount)
for i=1 to TreeCount
s=safe call f.writeln(str(TreeT[i])+' '+str(treeX[i])+' '+str(TreeY[i]))
next
f.close()
end sub

sub infologs()
UO.Print('У вас всего '+Str(UO.Count('0x1BDD'))+' логов в сумке')
UO.Print('Из них '+Str(UO.Count('0x1BDD','0x0000'))+' простых и ' +str(uo.count('0x1BDD')-uo.count('0x1BDD','0x0000'))+' цветных')
end sub

##############################################################
### ВНИМАНИЕ!!! В СКРИПТЕ РУНБУКИ НАСТРОЕНЫ ПОД DRW (шард) ###
##############################################################


Top
   
PostPosted: 2015-09-02 12:12:10 
Offline
User avatar

Joined: 2012-12-26 11:37:25
Posts: 30
Location: Киев
Nmy wrote:
crafted by Gajra - это точно артефакт 8)

Image


Top
   
PostPosted: 2015-09-04 12:28:47 
Offline
User avatar

Joined: 2015-07-20 15:00:23
Posts: 10
Saideus wrote:
Ребят проблема в следующем , есть скрипт я в нем разобрался более менее но как где поменять на русский шрифт физлы с руны , когда дерево вырублено и.т.д не допераю может кто подсказать? и вообще кто знает на Оскоме 2 он работает корректно ? а то я на нем 4 дерева рубанул еще не знаю относит ли он домой нет
не знаю как на оскоме 2, а на оскоме фри точно не будет работать стабильно, если приходит к дереву и то рубит то нет, это вот из-за этого uo.waittargettile(type,x,y,z)
если вдумчиво поюзаешь поиск, найдешь как починить 8)


Top
   
 Post subject: Re:
PostPosted: 2016-05-03 05:49:44 
Offline

Joined: 2016-04-25 20:05:40
Posts: 15
Scripts Writer wrote:
Code:
####################
# Качаем Tailoring #
####################

sub Tailoring()
var cloth=0x175D # Type of cloth
var sew=0x404733DB # ID of a sewing kit
var sash=0x1541 # Type of created item(i made body sashes)
var scissors=0x404733DD # Type of anything to cut created items
var bandage=0x0E21 # Type of bandages
var to=0x401E340D # Where to put bandages and to get clothes
var type1=0x0C77 # Type of food1
var type2=0x0C6D # Type of food2
var k,l
l=0
  while uo.SkillVal('Tailoring','1') < 1000
    uo.FindType(cloth,'-1','backpack')
    if uo.GetQuantity('finditem') < 20 then
      GetItem(cloth,100,to,'backpack')
    end if
    uo.WaitMenu('Cloth','Misc','Misc','sash') # Menu
    uo.WaitTargetObject('finditem')
    uo.UseObject(sew)
    uo.DeleteJournal()
    k=0
    repeat
      wait(100)
      k=k+1
    until uo.InJournal('put') || uo.InJournal('fail') || k>100
    if uo.InJournal('put') then
      uo.FIndType(sash,'-1','backpack')
      while uo.FIndCount()
        uo.FIndType(sash,'-1','backpack')
        uo.WaitTargetObject('finditem')
        uo.UseObject(scissors)
        wait(750)
      wend
    end if
    CheckLag()
    Move(bandage,'all','backpack',to)
    l=l+1
    if (l>100) then
      EatFood(type1,type2)
      l=0
    end if
  wend
end sub

##########
# Eating #
##########

sub EatFood(carrot , onion)
  var i
  for i=0 to 5
    uo.FindType(carrot,'-1','backpack')
    if uo.FindCOunt() then
      uo.UseObject('finditem')
      wait(750)
    else
      if not uo.FindCount() then
        uo.FindType(onion,'-1','backpack')
        if uo.FindCount() then
          uo.UseObject('finditem')
          wait(750)
        else
          uo.Print('No food...')
        end if
      end if
    end if
    wait(500)
  next
end sub

###########
# GetItem #
###########

sub GetItem(type, quantity, where , to)
  uo.FindType(type,'-1',where)
  if uo.FindCount() then
    uo.moveitem('finditem',quantity,to)
    wait(750)
  end if
end sub

###############
# Moving item #
###############

sub Move(type,quantity,where,to)
  uo.FindType(type,'-1',where)
  if uo.GetQuantity('finditem') > 100 then
    uo.moveitem('finditem',quantity,to)
    wait(750)
  end if
end sub

############
# CheckLag #
############

sub CheckLag()
  uo.DeleteJournal('backpack')
  uo.Click('backpack')
  repeat
    wait(100)
  until uo.InJournal('backpack')

Сделайте чтоб он еще нитки добирал когда они заканчиваются.


Last edited by slafoka on 2016-05-08 10:03:22, edited 2 times in total.

Top
   
PostPosted: 2016-05-03 08:32:38 
Offline
User avatar

Joined: 2009-05-28 09:58:28
Posts: 2745
Location: Иваново
ниже строки
GetItem(cloth,100,to,'backpack')
допиши строку
GetItem('тип ниток',100,to,'backpack')

_________________
Image
YokoInjection CodeSweeper
Ошибка "Unhandled exception in parser"


Top
   
PostPosted: 2016-05-03 18:16:11 
Offline

Joined: 2016-04-25 20:05:40
Posts: 15
А Это разве не нужно добавить Var Spools = 'Тип ниток' ?
И нужно ли это uo.FindType(Spools,'-1','backpack') ?


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 222 posts ]  Go to page Previous 18 9 10 11 12 Next

All times are UTC+02:00


Who is online

Users browsing this forum: Bing [Bot] and 1 guest


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:  
Powered by phpBB® Forum Software © phpBB Limited