смена стрелкового оружия, панацея

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
Gromiz
Posts: 444
Joined: 2005-02-08 18:39:50
Location: Moscow

смена стрелкового оружия, панацея

Post by Gromiz »

волей судеб надо использовать луки, арбалеты и малые арбалеты на разных континентах игры.

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

а идея его такова:

Одевает 1 из трех видов стрелкового цветного оружия, если находит в паке.
• поиск оружия из пака (в сумках искать не надо)
• проверка на цвет
• если лук нашел - одевает, если нет- одевает малый арбалет и если его тоже нет, то большой арбалет

в скриптах не силен, ни один написать не могу, только редактирую

остановился на таком варианте, правда без проверки цвета на арбалетах:

одевает только лук, арбалеты не видит

Code: Select all

sub Bow()
   var i
   var bow = '0x13B1' 
   var crbow = '0x0F4F'
   var hcrbow = '0x13FC'

   dim bowcol[4]
   bowcol[0]='0x0035'
   bowcol[1]='0x0BAC'
   bowcol[2]='0x13FC'
   bowcol[3]='0x0000'
   for i = 0 to 3
      if uo.count(bow, bowcol[i]) then
         UO.UseType(bow, '0x0000')
      else
         UO.UseType(crbow, '0x0000')         
      else
         UO.UseType(hcrbow, '0x0000')
return
      end if
         next
end sub


скрипт вроде бы не сложный, но я на нем встрял, "help"
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: смена стрелкового оружия, панацея

Post by Mirage »

двойное условие пишется немного по другому.
Если я тебя правильно понял в алгоритме то твой скрипт будет выглядеть вот так:

Code: Select all

sub Bow()
   var i
   var bow = '0x13B1'
   var crbow = '0x0F4F'
   var hcrbow = '0x13FC'
   dim bowcol[4]
   bowcol[0]='0x0035'
   bowcol[1]='0x0BAC'
   bowcol[2]='0x13FC'
   bowcol[3]='0x0000'
   for i = 0 to 3 ; ghdjthztv на 3 цветных лука
      if uo.count(bow, bowcol[i]) then
         UO.UseType(bow, bowcol[i])
         return
      end if
   next
   if uo.count(crbow) then ; если луки не найдены то проверяем на первый арбалет
      UO.UseType(crbow, '0x0000')         
   else ; или второй арбалет
      UO.UseType(hcrbow, '0x0000')
   end if
end sub

Подразумевается что чтото в паке да имеется. ;)
Gromiz
Posts: 444
Joined: 2005-02-08 18:39:50
Location: Moscow

Re: смена стрелкового оружия, панацея

Post by Gromiz »

скрипт замечательный,

работает, спасибо
Post Reply