Page 1 of 2

Помогите с условием........

Posted: 2005-07-20 10:30:12
by Xabus
sub curee()
uo.deletejournal()
if uo.Poisoned() then
uo.msg('.drink_cure')
end if
wait(100)
if UO.InJournal("t drink another potion yet") or

Вот сюда надо вставить условие если Курок нет в сумке, то тоже каствать Куре

UO.FindType('0x0f07','0x0000',2)
if Not - так можно? UO.FindCount() then

uo.cast('Cure','self')
end if
end sub

я немагу догдннать как это сделать..............

Posted: 2005-07-20 11:09:45
by Dard
Вот попробуй, должно работать :)

Code: Select all

sub Сure() 
   UO.FindType(ТИП, ЦВЕТ, 2) # Тип и цвет Сure поставь
   If UO.GetQuantity('finditem') > 0 Then
      UO.UseObject('finditem')
   Else
      UO.Cast('Cure','self')
   End If
Endsub

Re: Помогите с условием........

Posted: 2005-07-20 11:44:29
by flake
Xabus wrote:if Not - так можно? UO.FindCount() then


Лучше

Code: Select all

If UO.FindCount() == 0 Then

Posted: 2005-07-20 11:59:41
by Dard
flake wrote:Лучше

Code: Select all

If UO.FindCount() == 0 Then

А разве куре в стопку не складываться?

Posted: 2005-07-20 13:03:16
by flake
А причем тут это?

Posted: 2005-07-20 13:23:01
by Dard
Ведь

Code: Select all

UO.FindCount()

делает проверку на количество итемов, а

Code: Select all

UO.GetQuantity()

на количество итемов в стопках.
Верно?

Posted: 2005-07-20 13:32:03
by Xabus
Dard wrote:Ведь

Code: Select all

UO.FindCount()

делает проверку на количество итемов, а

Code: Select all

UO.GetQuantity()

на количество итемов в стопках.
Верно?


если мне не изменяет память зависит складывание в стопку предметов от вердаты...............

Posted: 2005-07-20 13:35:16
by Dard
Xabus wrote:если мне не изменяет память зависит складывание в стопку предметов от вердаты...............

Возможно, вот и спросил, куре в стопку складываться?
У меня складываеться!

Posted: 2005-07-20 13:36:06
by Xabus
Dard wrote:Вот попробуй, должно работать :)

Code: Select all

sub Сure() 
   UO.FindType(ТИП, ЦВЕТ, 2) # Тип и цвет Сure поставь
   If UO.GetQuantity('finditem') > 0 Then
      UO.UseObject('finditem')
   Else
      UO.Cast('Cure','self')
   End If
Endsub


это не подходит..... поскольку....... этот скрипт пьет только куре....
и не кидает каст......... потому что проверка идет :
если есть бутылка то куре то он каст не кинет.........
а задержка в питье бутылок 10 секунд.........
поэтому если 2 раза подряд на меня пойзон кинут то я 10 секунд так и буду отравленным бегать............

Posted: 2005-07-20 13:43:31
by Dard
Значит нужно проверку журнала поставить если не может пить значит кастует...

Posted: 2005-07-20 13:44:26
by Xabus
Dard wrote:Значит нужно проверку журнала поставить если не может пить значит кастует...


вот что у меня получилось......... и все равно не кастует бадлюка...
sub curee()
uo.deletejournal()
if uo.Poisoned() then
uo.msg('.drink_cure')
end if
UO.FindType('0x0f07','0x0000',2)
if UO.InJournal("t drink another potion yet") or UO.FindCount() == 0 Then
uo.cast('Cure','self')
end if
end sub

Posted: 2005-07-20 13:48:45
by flake
Dard wrote:Ведь

Code: Select all

UO.FindCount()

делает проверку на количество итемов, а

Code: Select all

UO.GetQuantity()

на количество итемов в стопках.
Верно?


Верно, Но!
Товарищь хочет сделать проверку, есть ли у него вообще кюры.
Ему не важно, 5 их у него или 10, поэтому здесь можно использовать UO.FindCount()

Posted: 2005-07-20 13:53:56
by Dard
Не сдаваться:

Code: Select all

sub Сure() 
   UO.DeleteJournal()
   UO.FindType(ТИП, ЦВЕТ, 2) # Тип и цвет Сure поставь
   If UO.GetQuantity('finditem') > 0 Then
      UO.UseObject('finditem')
   Else
      UO.Cast('Cure','self')
   End If
   If UO.InJournal("t drink another potion yet") Then
      UO.Cast('Cure','self')
   End If
Endsub

Хмм... не проверял :roll:

Posted: 2005-07-20 13:55:10
by flake
по сабжу:

Code: Select all

sub Cure()
  If UO.Poisoned() Then
    UO.DeleteJournal()
    UO.MSG( '.drink_cure' )
      If UO.InJournal( 'You put' ) Then
        UO.Print( 'Cured by Bottle!' )
      Else
        UO.Cast( 'Cure', 'self' )
        UO.Print( 'Cured by Cast' ) 
     EndIf
  EndIf
endsub


Собственно делаем проверку на месагу в журнале "ю пут емпти боттлс ин ер пак", то есть если она есть - то видимо мы таки выпили этот кюр.
В обратном случаем, кюримся с каста.

Posted: 2005-07-20 13:58:04
by Dard
flake wrote:Верно, Но!
Товарищь хочет сделать проверку, есть ли у него вообще кюры.
Ему не важно, 5 их у него или 10, поэтому здесь можно использовать UO.FindCount()
Тогда извеняюсь, думал проверку сколько осталось в стопке :roll:

Posted: 2005-07-20 14:00:47
by Dard
flake wrote:

Code: Select all

sub Cure()
  If UO.Poisoned() Then
    UO.DeleteJournal()
    UO.MSG( '.drink_cure' )
      If UO.InJournal( 'You put' ) Then
        UO.Print( 'Cured by Bottle!' )
      Else
        UO.Cast( 'Cure', 'self' )
        UO.Print( 'Cured by Cast' ) 
     EndIf
  EndIf
endsub


Как все просто оказываеться :)

Posted: 2005-07-20 14:31:05
by Xabus
Dard wrote:
flake wrote:

Code: Select all

sub Cure()
  If UO.Poisoned() Then
    UO.DeleteJournal()
    UO.MSG( '.drink_cure' )
      If UO.InJournal( 'You put' ) Then
        UO.Print( 'Cured by Bottle!' )
      Else
        UO.Cast( 'Cure', 'self' )
        UO.Print( 'Cured by Cast' ) 
     EndIf
  EndIf
endsub


Как все просто оказываеться :)

=(
А НЕРАБОТАЕТ ОН ВСЕ ОДНАВРЕМЕННО КИДАТЕ КУРЕ И ЖРЕТ БАНКУ

Posted: 2005-07-20 14:33:28
by Dard
Попробуй этот:

Code: Select all

sub Сure() 
   UO.DeleteJournal()
   UO.FindType(ТИП, ЦВЕТ, 2) # Тип и цвет Сure поставь
   If UO.GetQuantity('finditem') > 0 Then
      UO.UseObject('finditem')
   Else
      UO.Cast('Cure','self')
   End If
   If UO.InJournal("t drink another potion yet") Then
      UO.Cast('Cure','self')
   End If
Endsub

Posted: 2005-07-20 14:45:03
by flake
Хабус, а сообщение то при питье появляется?

Posted: 2005-07-20 14:47:09
by Xabus
Dard wrote:Попробуй этот:

Code: Select all

sub Сure() 
   UO.DeleteJournal()
   UO.FindType(ТИП, ЦВЕТ, 2) # Тип и цвет Сure поставь
   If UO.GetQuantity('finditem') > 0 Then
      UO.UseObject('finditem')
   Else
      UO.Cast('Cure','self')
   End If
   If UO.InJournal("t drink another potion yet") Then
      UO.Cast('Cure','self')
   End If
Endsub


нет =( тоже кастует кур.........