Page 2 of 2

Posted: 2008-03-23 01:01:24
by korzh
rvk wrote:Вот здесь parse error

Code: Select all

DIM WandT[WC] 
Исправь на

Code: Select all

DIM WandT[ val( str( WC ) ) ]

Posted: 2008-03-23 01:11:24
by Yura
rvk wrote:Вот здесь parse error

Code: Select all

DIM WandT[WC] 

Code: Select all

DIM WandT[тут просто вбей число с количесвом типов] 

Posted: 2008-03-23 01:11:53
by rvk
Ипсравил, кастует лишь со свитков и с книги. С ванды отказывается. Возможно я что-то не так вписал.

Code: Select all

sub explosion()
var i=1,wandT=0
var NN='a Magic wand of Explosion'
UO.DeleteJournal()
UO.Set('lasttarget','laststatus')
begin:
if uo.Waiting() then
uo.canceltarget()
endif
wandT=wandsearch(NN)
if wandT<>0 then
i=1
if uo.ObjAtLayer('Rhand')=="" and uo.ObjAtLayer('Lhand')<>"" then
uo.addobject('weapon',uo.ObjAtLayer('Lhand'))
else
if uo.ObjAtLayer('Rhand')<>"" then
uo.addobject('weapon',uo.ObjAtLayer('Rhand'))
else
i=0
endif
endif
UO.WaitTargetObject('lasttarget')
UO.UseObject(WandT)
wait(500)
if UO.InJournal("It seems to be out of charges") then
UO.Deletejournal()
UO.Ignore(WandT)
if i<>0 then
uo.waittargetself()
UO.UseObject('weapon')
wait(500)
endif
goto begin
endif
if i<>0 then
uo.waittargetself()
UO.UseObject('weapon')
endif
else
UO.FindType('0x1F57',-1,'my')
If UO.GetQuantity('finditem')>0 then
if UO.Mana>=14 then
UO.WaitTargetObject('lasttarget')
UO.UseObject('finditem')
UO.Print("Scroll")
else
UO.Print("Low mana!!! Scroll!")
endif
else
if UO.Mana>=28 then
UO.Cast('Explosion','laststatus')
UO.Print("Spell")
else
UO.Print("Low mana!!! Spell!")
endif
endif
endif
end sub

sub wandsearch(NugnoeName)
var WC = 3 ;сколько типов
DIM WandT[ val( str( WC ) ) ]
WandT[0] ='0x0DF3'
wandT[1] ='0x0DF4'
wandT[2] ='0x0DF5'
var x
For x=0 to WC-1
UO.findtype()
While UO.FindCount() <>0
if NugnoeName==UO.GetName('finditem') then
return 'finditem'
else
UO.Ignore('finditem')
UO.FindType(WandT[x])
endif
wend
next
uo.print(NugnoeName + ' Ne naideno')
return 0
Endsub 
Или вместо

Code: Select all

NugnoeName
надо вписывать само название ванды?

Posted: 2008-03-23 01:17:04
by Yura

Code: Select all

sub wandsearch(NugnoeName) 
var WC = 3 ;ñêîëüêî âñåãî òèïîâ 
DIM WandT[ val( str( WC ) ) ] 
WandT[0] ='0x0DF3' 
wandT[1] ='0x0DF4' 
wandT[2] ='0x0DF5' 
var x 
For x=0 to WC-1 
UO.findtype(WandT[X])
While UO.FindCount() <>0 
if NugnoeName==UO.GetName('finditem') then 
return 'finditem' 
else 
UO.Ignore('finditem') 
UO.FindType(WandT[x]) 
endif 
wend 
next 
uo.print(NugnoeName + ' Ne naideno') 
return 0 
Endsub

Posted: 2008-03-23 01:20:13
by rvk
Нет, Юр. Не кастует с ванды. Лишь со свитка или с книги.

Posted: 2008-03-23 01:26:43
by Yura
rvk wrote:Нет, Юр. Не кастует с ванды. Лишь со свитка или с книги.
Вариант 1

Code: Select all

For x=0 to WC-1
UO.findtype(WandT[X])
###########
UO.print(UO.GetName('finditem'))
###########
blablabla
2

Code: Select all

For x=0 to WC-1
UO.findtype(WandT[X])
#########
uo.click('finditem')
UO.print(UO.GetName('finditem'))
##########
blablabla
В каком варианте он выдает правильное имя?

Posted: 2008-03-23 01:30:59
by rvk

Code: Select all

For x=0 to WC-1
UO.findtype(WandT[X])
While UO.FindCount() <>0
if NugnoeName==UO.GetName('finditem') then
return 'finditem'
else
UO.Ignore('finditem')
UO.FindType(WandT[x])
endif
wend
next
uo.print(NugnoeName + ' Ne naideno')
return 0
Endsub 
в этом пишет что "a Magic wand of Explosion" не найдена

Posted: 2008-03-23 01:33:43
by Yura
rvk wrote:

Code: Select all

For x=0 to WC-1
UO.findtype(WandT[X])
While UO.FindCount() <>0
в этом пишет что такая то ванда не найдена
Прочитай внимательней предыдущий пост, там добавились команды вывода.

Posted: 2008-03-23 01:36:46
by rvk
Я не понимаю, что из этих строчек надо заменить, а что оставить, то, как я заменил вывело ошибку:

Code: Select all

Label defined outside proc- BEGIN
в строчке 6

Posted: 2008-03-23 01:54:31
by Yura
rvk wrote:Я не понимаю, что из этих строчек надо заменить, а что оставить, то, как я заменил вывело ошибку:

Code: Select all

Label defined outside proc- BEGIN
в строчке 6
Что то я закосячил... исправим для начала

Code: Select all

if NugnoeName==UO.GetName('finditem') then 
return 'finditem' 
else
на

Code: Select all

if NugnoeName==UO.GetName('finditem') then 
return UO.getserial('finditem')
else
У меня данный скриптик заработал...

с begin странно... ты все ковычки закрыл когда переменные
объявлял?

Code: Select all

sub wandsearch(NugnoeName) 
var WC = 3 ;ñêîëüêî âñåãî òèïîâ 
DIM WandT[ val( str( WC ) ) ] 
WandT[0] ='0x0DF3' 
wandT[1] ='0x0DF4' 
wandT[2] ='0x0DF5' 
var x 
For x=0 to WC-1 
UO.findtype(WandT[X]) 
UO.Print(UO.GetName('finditem'))
While UO.FindCount() <>0 
if NugnoeName==UO.GetName('finditem') then 
return UO.getserial('finditem')
else 
UO.Ignore('finditem') 
UO.FindType(WandT[x]) 
endif 
wend 
next 
uo.print(NugnoeName + ' Ne naideno') 
return 0 
Endsub
Он так что выводит на экран?

Posted: 2008-03-23 01:57:15
by rvk
Во втором варианте. он берет в руки все ванды по очереди, чем физлит начатый каст.

Posted: 2008-03-23 02:00:52
by rvk
исправил, как ты написал ранее, не кастует почему-то с ванды. со свитка и книги- легко, с ванды никак. Пишет не найдено

Code: Select all

sub explosion()
var i=1,wandT=0
var NN='a Magic wand of Explosion'
UO.DeleteJournal()
UO.Set('lasttarget','laststatus')
begin:
if uo.Waiting() then
uo.canceltarget()
endif
wandT=wandsearch(NN)
if wandT<>0 then
i=1
if uo.ObjAtLayer('Rhand')=="" and uo.ObjAtLayer('Lhand')<>"" then
uo.addobject('weapon',uo.ObjAtLayer('Lhand'))
else
if uo.ObjAtLayer('Rhand')<>"" then
uo.addobject('weapon',uo.ObjAtLayer('Rhand'))
else
i=0
endif
endif
UO.WaitTargetObject('lasttarget')
UO.UseObject(WandT)
wait(500)
if UO.InJournal("It seems to be out of charges") then
UO.Deletejournal()
UO.Ignore(WandT)
if i<>0 then
uo.waittargetself()
UO.UseObject('weapon')
wait(500)
endif
goto begin
endif
if i<>0 then
uo.waittargetself()
UO.UseObject('weapon')
endif
else
UO.FindType('0x1F57',-1,'my')
If UO.GetQuantity('finditem')>0 then
if UO.Mana>=14 then
UO.WaitTargetObject('lasttarget')
UO.UseObject('finditem')
UO.Print("Scroll")
else
UO.Print("Low mana!!! Scroll!")
endif
else
if UO.Mana>=28 then
UO.Cast('Explosion','laststatus')
UO.Print("Spell")
else
UO.Print("Low mana!!! Spell!")
endif
endif
endif
end sub

sub wandsearch(NugnoeName)
var WC = 3 
DIM WandT[ val( str( WC ) ) ]
WandT[0] ='0x0DF3'
wandT[1] ='0x0DF4'
wandT[2] ='0x0DF5'
var x
For x=0 to WC-1
UO.findtype(WandT[X])
While UO.FindCount() <>0
if NugnoeName==UO.GetName('finditem') then
return 'finditem'
else
UO.Ignore('finditem')
UO.FindType(WandT[x])
endif
wend
next
uo.print(NugnoeName + ' Ne naideno')
return 0
End sub
У меня все правильно?

Posted: 2008-03-23 02:10:45
by rvk
Yura wrote:

Code: Select all

sub wandsearch(NugnoeName) 
var WC = 3 ;ñêîëüêî âñåãî òèïîâ 
DIM WandT[ val( str( WC ) ) ] 
WandT[0] ='0x0DF3' 
wandT[1] ='0x0DF4' 
wandT[2] ='0x0DF5' 
var x 
For x=0 to WC-1 
UO.findtype(WandT[X]) 
UO.Print(UO.GetName('finditem'))
While UO.FindCount() <>0 
if NugnoeName==UO.GetName('finditem') then 
return UO.getserial('finditem')
else 
UO.Ignore('finditem') 
UO.FindType(WandT[x]) 
endif 
wend 
next 
uo.print(NugnoeName + ' Ne naideno') 
return 0 
Endsub
Он так что выводит на экран?
Тоже самое. a Magic wand of Explosion Ne naideno

Posted: 2008-03-23 02:12:02
by Yura
а перед этим ниче не пишет?

Posted: 2008-03-23 02:16:38
by rvk
Yura wrote:а перед этим ниче не пишет?
абсолютно нет

Posted: 2008-03-23 02:28:40
by Yura
rvk wrote:
Yura wrote:а перед этим ниче не пишет?
абсолютно нет
В начале скрипта поставь

Code: Select all

UO.IgnoreReset()

Posted: 2008-03-23 02:33:51
by rvk
Yura wrote:
rvk wrote:
Yura wrote:а перед этим ниче не пишет?
абсолютно нет
В начале скрипта поставь

Code: Select all

UO.IgnoreReset()

Code: Select all

Unhandled exeption in parser
:(

Posted: 2008-03-23 11:01:43
by Yura
Обнови инжект

Posted: 2008-03-23 11:30:23
by Kynep
Может в домино? :lol:

Posted: 2008-03-23 11:37:30
by Yura
Мне кажется, Вашу любовь к домино нужно обсуждать здесь
https://yoko.uokit.com/viewforum.php?f=6