Magic wand

Ask for scripts here

Moderators: Murderator+, Murderator

rvk
Posts: 20
Joined: 2008-03-20 07:31:02

Magic wand

Post by rvk »

Привет, мастера.
Нашелся скрипт для всяких кастов с magic wand, если нету ванды или закончились заряды, то пускает каст со свитка, если нет и свитка, то из книги. Все это происходит на дрв, а скрипт выглядит вот так:

Code: Select all

sub Paralyze() 
var i=1
UO.DeleteJournal()
UO.Set('lasttarget','laststatus')
begin:
if uo.Waiting() then
   uo.canceltarget()
   endif
   UO.FindType('0x0DF3')
   if UO.FindCount()>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('finditem')
     wait(500)
     if UO.InJournal("It seems to be out of charges") then
         UO.Deletejournal()
         UO.Ignore('finditem')
         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('0x1F52',-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('Paralyze','laststatus')
             UO.Print("Spell")
          else     
            UO.Print("Low mana!!! Spell!")           
         endif
     endif 
  endif
end sub


Подправьте, пожалуйста, этот скрипт, чтобы можно было использовать любой тип ванды.
Есть мысль, не знаю насколько она верна, чтобы поиск ванды в паке производился по имени, а не по типу. Но как ее реализовать я не знаю.
Kynep
Expert!
Posts: 1348
Joined: 2006-02-07 08:51:40
Location: г. Старый Оскол
Contact:

Re: Magic wand

Post by Kynep »

rvk wrote:Привет, мастера.
Нашелся скрипт для всяких кастов с magic wand, если нету ванды или закончились заряды, то пускает каст со свитка, если нет и свитка, то из книги. Все это происходит на дрв, а скрипт выглядит вот так:

Подправьте, пожалуйста, этот скрипт, чтобы можно было использовать любой тип ванды.
Есть мысль, не знаю насколько она верна, чтобы поиск ванды в паке производился по имени, а не по типу. Но как ее реализовать я не знаю.


Как раз тут поиск идет по типу )
rvk
Posts: 20
Joined: 2008-03-20 07:31:02

Post by rvk »

А я что написал, дружище?
Как раз я вижу, что поиск идет по типу, а задача в том, чтобы искал по имени.
rvk
Posts: 20
Joined: 2008-03-20 07:31:02

Post by rvk »

Суть в следующем. Если у меня в паке есть ванда енерджи болта такого же типа, как тип в скрипте для парала, то чар ее будет использовать, потому что идет поиск по типу. Если исправить, чтобы поиск производился по имени, тогда можно брать любые типы ванд и кастовать то, что нужно.
rvk
Posts: 20
Joined: 2008-03-20 07:31:02

Post by rvk »

Хотя бы подскажите, если ни у кого нет желания помогать в писанине
korzh
Posts: 220
Joined: 2007-04-26 23:35:15

Post by korzh »

Ищешь по типу
если нашел
узнаешь имя
если нужное имя
юзаешь
rvk
Posts: 20
Joined: 2008-03-20 07:31:02

Post by rvk »

Еще кто-нибудь добрый?
Yura
Posts: 71
Joined: 2008-03-03 09:19:21
Location: SPB

Post by Yura »

korzh wrote:Ищешь по типу
если нашел
узнаешь имя
если нужное имя
юзаешь


В скрипте это выглядит примерно так
var NugnoeName='wand of chego nado'
var exit
UO.findtype('0x0DF3')
exit =0
While UO.FindCount('finditem') <>0 and exit==0
if NugnoeName==UO.GetName('finditem') then
exit=1
else
UO.Ignore('finditem')
UO.findtype('0x0DF3')
endif
wend
if exit==0 then
uo.print(NugnoeName + ' Ne naideno')
return
End if

Дальше твой скрипт подхватит этот финдитем и будет юзать
PS исправлено... строчку пропустил
rvk
Posts: 20
Joined: 2008-03-20 07:31:02

Post by rvk »

Спасибо, а как добавить типы ванд?
То есть, как я понимаю из этой строчки

Code: Select all

UO.findtype('0x0DF3')

скрипт будет искать нужное имя лишь у одного типа ванд. Как правильно оформить в скрипте перечисление всех типов ванд?
через запятую?

Code: Select all

UO.findtype('0x0DF3' , '0x0DF4' , '0x0DF5')
Yura
Posts: 71
Joined: 2008-03-03 09:19:21
Location: SPB

Post by Yura »

rvk wrote:Спасибо, а как добавить типы ванд?
То есть, как я понимаю из этой строчки

Code: Select all

UO.findtype('0x0DF3')

скрипт будет искать нужное имя лишь у одного типа ванд. Как правильно оформить в скрипте перечисление всех типов ванд?
через запятую?

Code: Select all

UO.findtype('0x0DF3' , '0x0DF4' , '0x0DF5')


Через запятую нет

sub Paralyze()
var i=1,wandT=0
var NN='Wand chego nado'
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(WendT)
wait(500)
if UO.InJournal("It seems to be out of charges") then
UO.Deletejournal()
UO.Ignore(WendT)
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('0x1F52',-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('Paralyze','laststatus')
UO.Print("Spell")
else
UO.Print("Low mana!!! Spell!")
endif
endif
endif
end sub

sub wandsearch(NugnoeName)
var WC = ;сколько всего типов
DIM WandT[WC]
WandT[0] ='0x0DF3'
wandT[1] = следующий и тд
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

По идее должно работать)))
немного подправил
Last edited by Yura on 2008-03-22 14:29:07, edited 1 time in total.
rvk
Posts: 20
Joined: 2008-03-20 07:31:02

Post by rvk »

Круто. Очень благодарен. Сейчас попробую
korzh
Posts: 220
Joined: 2007-04-26 23:35:15

Post by korzh »

на Абисе таких увы нет, но еще можно предположить что ванды различаются по цвету..
Kynep
Expert!
Posts: 1348
Joined: 2006-02-07 08:51:40
Location: г. Старый Оскол
Contact:

Post by Kynep »

Yura wrote:Спасибо, а как добавить типы ванд?
То есть, как я понимаю из этой строчки
По идее должно работать)))
немного подправил


Прежде чем стоветовать что то людям научитесь пожалуйста вставлять свой код в теги [code]
rvk
Posts: 20
Joined: 2008-03-20 07:31:02

Post by rvk »

Kynep wrote:
Yura wrote:Спасибо, а как добавить типы ванд?
То есть, как я понимаю из этой строчки
По идее должно работать)))
немного подправил


Прежде чем стоветовать что то людям научитесь пожалуйста вставлять свой код в теги [code]


купер. Два поста в одном топе и никакого от тебя смысла
rvk
Posts: 20
Joined: 2008-03-20 07:31:02

Post by rvk »

korzh wrote:на Абисе таких увы нет, но еще можно предположить что ванды различаются по цвету..

Различаются, но это не важно, потому что цвет тоже не идентифицирует ванду, как ту что может понадобится.
Например, в паке три ванды одного типа, но разного назначения. Одна -фс, вторая- парал, третья- землетрясения. Нужно чтобы скрипт доставал правильную.

2Yura
Пока времени не было, как только проведу тестдрайв- отпишусь.
korzh
Posts: 220
Joined: 2007-04-26 23:35:15

Post by korzh »

rvk wrote:
korzh wrote:на Абисе таких увы нет, но еще можно предположить что ванды различаются по цвету..

Различаются, но это не важно, потому что цвет тоже не идентифицирует ванду, как ту что может понадобится.
Например, в паке три ванды одного типа, но разного назначения. Одна -фс, вторая- парал, третья- землетрясения. Нужно чтобы скрипт доставал правильную.
....

И цвета у них одинаковые?
Kynep
Expert!
Posts: 1348
Joined: 2006-02-07 08:51:40
Location: г. Старый Оскол
Contact:

Post by Kynep »

rvk wrote:Купер. Два поста в одном топе и никакого от тебя смысла


Первое: После моего первого поста Вы исправили свой первый пост, не так ли?

Второе: Если человек считает себя на столько мудрым что бы давать советы, то он обязан знать правила форума. Если он их не знает, я ему их напоминаю.

Третье: Не Вам оценивать степень моей полезности на этом форуме, достаточно взглянуть в раздел "Scripting Ore", тема "То что ищут многие".

И последнее: ни кто не обязан по первому Вашему требованию выкладывать готовый скрипт. И обвинять кого то в том что он этого не сделал, имхо абсурд.
Yura
Posts: 71
Joined: 2008-03-03 09:19:21
Location: SPB

Post by Yura »

Kynep wrote:
Второе: Если человек считает себя на столько мудрым что бы давать советы, то он обязан знать правила форума. Если он их не знает, я ему их напоминаю.



Спасибо наимудрейший :lol:
rvk
Posts: 20
Joined: 2008-03-20 07:31:02

Post by rvk »

Вот здесь parse error

Code: Select all

DIM WandT[WC] 
rvk
Posts: 20
Joined: 2008-03-20 07:31:02

Post by rvk »

Kynep wrote:
rvk wrote:Купер. Два поста в одном топе и никакого от тебя смысла


Первое: После моего первого поста Вы исправили свой первый пост, не так ли?

Второе: Если человек считает себя на столько мудрым что бы давать советы, то он обязан знать правила форума. Если он их не знает, я ему их напоминаю.

Третье: Не Вам оценивать степень моей полезности на этом форуме, достаточно взглянуть в раздел "Scripting Ore", тема "То что ищут многие".

И последнее: ни кто не обязан по первому Вашему требованию выкладывать готовый скрипт. И обвинять кого то в том что он этого не сделал, имхо абсурд.

Не хочу вступать в полемику, но посты не исправлял, ни первый, ни последующие. Задача с самого начала была, как мне кажется, ясно выражена. Про полезность на форуме речи не было, лишь о моем топе разговор. То что никто не обязан- нет сомнений, но имея статус скриптописца, твое участие выглядит насмешкой.
Last edited by rvk on 2008-03-23 01:06:03, edited 2 times in total.
Post Reply