Page 1 of 2
Help! Особенно люди с мидлы!
Posted: 2005-02-28 21:21:22
by zolupo
Code: Select all
sub reagents()
UO.Print("Script by Aza(c)")
UO.Exec("set finddistance 2")
UO.Exec("set distance 2")
VAR i
DIM Reg[5]
Reg [0]=0x18E9 ;Nightshade
Reg [1]=0x0000 ;Blood Moss
Reg [2]=0x18E5 ;Mandrake
Reg [3]=0x18E9 ;Ginseng
Reg [4]=0x0000 ;Garlic
while true
For i=0 to 4
UO.Findtype(Reg[i],-1,1)
If UO.FindCount()> 0 then
UO.Print("Start harvestering")
while not UO.InJournal("You put") or UO.InJournal("You must wait") or UO.InJournal("That is")
UO.Print("Harvestering "+UO.GetGraphic('finditem'))
UO.Useobject('finditem')
UO.Ignore('finditem')
wait(2000)
wend
wend
end sub
Несколько проблем: почему то не работает ,сет , может ли быть такое что дев ету функцию запретил?
Почему скрипт не реагирует на условие
while not UO.InJournal("You put") or UO.InJournal("You must wait") or UO.InJournal("That is") и после заданных фраз все равно продолжает етот цикл выполнять.. ?
Играю на мидле
Posted: 2005-03-01 01:01:31
by AlexeyVorotnikov
Попробуй использовать такую форму:
Code: Select all
UO.Set("finddistance", "2")
UO.Set("distance", "2")
Девелопер тут совершенно не при чём. (Кстати а как ты определил, что set не работает?)
Условие цикла должно выглядеть так:
Code: Select all
while not (UO.InJournal("You put") or UO.InJournal("You must wait") or UO.InJournal("That is"))
После этого цикла должно стоять UO.DeleteJournal().
Posted: 2005-03-01 09:53:59
by zolupo
определил так
раньше при юзе сет дистанс писалось
distance set =2 в клиенте
а теперь нет
кстати и просто когда в клиенте пишешь ,set finddistance 2 он не реагирует никак
и после етого пытаетса поюзать реги которые за два километра от меня находятса..
Posted: 2005-03-01 09:58:43
by zolupo
все равно не реагирует на условия цикла
как будто их нету вообще
Posted: 2005-03-01 10:04:26
by 666Man666
zolupo wrote:определил так
раньше при юзе сет дистанс писалось
distance set =2 в клиенте
а теперь нет
кстати и просто когда в клиенте пишешь ,set finddistance 2 он не реагирует никак
и после етого пытаетса поюзать реги которые за два километра от меня находятса..
Чтобы писалось "distance set =2 в клиенте" поставь в main галочку Verbose menu....
Posted: 2005-03-01 10:08:58
by 666Man666
zolupo wrote:все равно не реагирует на условия цикла
как будто их нету вообще
Гы... непонятное условие, скажи по русски что оно должно делать?... по скрипту видно если в паке есть объект из массива.... то если в журнале кака-ято мура.... надо юзать найденный обьект.... и что дальше?
Posted: 2005-03-01 10:35:33
by zolupo
по скрипту он ищет объекты заданых типов из масивав радиусе 2 тайла вокруг
если нашел - юзает пока не появитса фраза из условия
а трабл в том что когда фраза появляетса - он продолжает юзать
Posted: 2005-03-01 10:36:06
by zolupo
дальше он ищет следующий объект и юзает его
Posted: 2005-03-01 10:49:16
by 666Man666
тогда
Code: Select all
UO.DeleteJournal()
while not UO.InJournal("You put") or not UO.InJournal("You must wait") or not UO.InJournal("That is")
Posted: 2005-03-01 12:43:19
by zolupo
Code: Select all
sub reagents()
UO.Print("Script by Aza(c)")
UO.Set("distance", "2")
UO.Set("finddistance", "2")
VAR i
DIM Reg[4]
Reg [0]=0x18E5 ;Nightshade
Reg [1]=0x0000 ;Blood Moss
Reg [2]=0x18DF ;Mandrake
Reg [3]=0x18E9 ;Ginseng
Reg [4]=0x0000 ;Garlic
while true
For i=0 to 4
UO.Findtype(Reg[i],-1,1)
If UO.FindCount()> 0 then
UO.Print("Start harvestering")
Repeat
UO.DeleteJournal()
UO.Print("Harvestering "+UO.GetGraphic('finditem'))
UO.Useobject('finditem')
UO.Ignore('finditem')
wait(2000)
Until UO.InJournal("You put") or UO.InJournal("You must wait")
endif
next
wend
end sub
вот маленько доработал, кое чо забытое добавил
но теперь он почему то вообще левые типы ищет, которых я не задавал в массиве
Posted: 2005-03-01 12:47:14
by 666Man666
Мдя... непонимаю я твоего скрипта.... юзать реги на полу? нафиг ...
Posted: 2005-03-01 12:56:42
by zolupo
ето не реги на полу юзать а кусты регов
короче лажу какуюто замутил дев наш теперь реги выращиваютса
а ето скрипт на сборку
Posted: 2005-03-01 13:04:32
by AlexeyVorotnikov
Я сам давно собирался написать скрипт на сбор регов. Если сегодня будет время -- напишу.
Posted: 2005-03-01 13:10:54
by 666Man666
Попробуй...
Code: Select all
sub GrabReagents()
var n
Dim Reg[6]
Reg[0] = 5
Reg[1] = UO.NS ;Nightshade
Reg[2] = UO.BM ;Blood Moss
Reg[3] = UO.MR ;Mandrake
Reg[4] = UO.GI ;Ginseng
Reg[5] = UO.GA ;Garlic
UO.Set('finddistance','3')
For n = 1 TO Reg[0]
REPEAT
UO.FindType(Reg[n],'-1','1')
If UO.FindCount() Then
UO.UseObject('finditem')
UO.DeleteJournal()
REPEAT
Wait(500)
Until UO.InJournal("You put") or UO.InJournal("You can't")
End If
Until UO.FindCount()==0 or UO.Dead()
Next
UO.Print("Done!")
end sub
Posted: 2005-03-01 15:12:58
by zolupo
твой ищет также левые объекты
а когда находит вообще 0 действия
Posted: 2005-03-01 15:20:52
by 666Man666
zolupo wrote:твой ищет также левые объекты
а когда находит вообще 0 действия
Конешно ишет левые объекты, потаму, что какой-то "умник" забил в массив всякую пургу...
Code: Select all
Reg[1] = '0x18E5' ;Nightshade
Reg[2] = '0x0000' ;Blood Moss
Reg[3] = '0x18DF' ;Mandrake
Reg[4] = '0x18E9' ;Ginseng
Reg[5] = '0x0000' ;Garlic
Posted: 2005-03-01 15:59:04
by AlexeyVorotnikov
Выкроил время. Написал-таки скрипт. Получилось что-то вроде этого:
Code: Select all
sub HarvestReagents()
var numReagents = 2
dim reagentsTypes[2]
reagentsTypes[0] = 0x18E9 # Wild Ginseng
reagentsTypes[1] = 0x18E1 # Wild Garlic
var i
var lastTimer
UO.Set("distance", "2")
UO.Set("finddistance", "2")
UO.DeleteJournal()
while true
for i = 0 to numReagents -1
UO.FindType(reagentsTypes[i], -1, "ground")
while UO.FindCount() > 0
UO.UseObject("finditem")
lastTimer = UO.Timer()
repeat
wait(100)
until UO.InJournal("You put") || UO.InJournal("You must wait") || UO.InJournal("That is too far away") || UO.Timer() > lastTimer + 200
UO.DeleteJournal()
UO.Ignore("finditem")
UO.FindType(reagentsTypes[i], -1, "ground")
wend
next
wait(1000)
wend
end sub
Posted: 2005-03-01 17:39:13
by zolupo
папа:)
ПС
dim reagentsTypes[4]
reagentsTypes[0] = 0x18E9 # Wild Ginseng
reagentsTypes[1] = 0x18E1 # Wild Garlic
reagentsTypes[2] = 0x18DF # Mandrake
reagentsTypes[3] = 0x18E5 # Nightshade
Posted: 2005-03-01 23:37:41
by AlexeyVorotnikov
zolupo wrote:папа:)
Э... в каком смысле?
Posted: 2005-03-02 09:54:19
by zolupo
otec injekta
