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
Мне кажется, Вашу любовь к домино нужно обсуждать здесь
viewforum.php?f=6