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

Anything and all.

Moderators: Murderator+, Murderator

Xabus
Posts: 117
Joined: 2004-05-18 02:24:25

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

Post 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

я немагу догдннать как это сделать..............
Dard
Posts: 79
Joined: 2005-04-25 19:00:46

Post 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
flake
Expert!
Posts: 746
Joined: 2004-08-11 23:56:17
Location: The Citadel
Contact:

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

Post by flake »

Xabus wrote:if Not - так можно? UO.FindCount() then


Лучше

Code: Select all

If UO.FindCount() == 0 Then
Dard
Posts: 79
Joined: 2005-04-25 19:00:46

Post by Dard »

flake wrote:Лучше

Code: Select all

If UO.FindCount() == 0 Then

А разве куре в стопку не складываться?
flake
Expert!
Posts: 746
Joined: 2004-08-11 23:56:17
Location: The Citadel
Contact:

Post by flake »

А причем тут это?
Dard
Posts: 79
Joined: 2005-04-25 19:00:46

Post by Dard »

Ведь

Code: Select all

UO.FindCount()

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

Code: Select all

UO.GetQuantity()

на количество итемов в стопках.
Верно?
Xabus
Posts: 117
Joined: 2004-05-18 02:24:25

Post by Xabus »

Dard wrote:Ведь

Code: Select all

UO.FindCount()

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

Code: Select all

UO.GetQuantity()

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


если мне не изменяет память зависит складывание в стопку предметов от вердаты...............
Dard
Posts: 79
Joined: 2005-04-25 19:00:46

Post by Dard »

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

Возможно, вот и спросил, куре в стопку складываться?
У меня складываеться!
Xabus
Posts: 117
Joined: 2004-05-18 02:24:25

Post 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 секунд так и буду отравленным бегать............
Dard
Posts: 79
Joined: 2005-04-25 19:00:46

Post by Dard »

Значит нужно проверку журнала поставить если не может пить значит кастует...
Xabus
Posts: 117
Joined: 2004-05-18 02:24:25

Post 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
flake
Expert!
Posts: 746
Joined: 2004-08-11 23:56:17
Location: The Citadel
Contact:

Post by flake »

Dard wrote:Ведь

Code: Select all

UO.FindCount()

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

Code: Select all

UO.GetQuantity()

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


Верно, Но!
Товарищь хочет сделать проверку, есть ли у него вообще кюры.
Ему не важно, 5 их у него или 10, поэтому здесь можно использовать UO.FindCount()
Dard
Posts: 79
Joined: 2005-04-25 19:00:46

Post 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:
flake
Expert!
Posts: 746
Joined: 2004-08-11 23:56:17
Location: The Citadel
Contact:

Post 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


Собственно делаем проверку на месагу в журнале "ю пут емпти боттлс ин ер пак", то есть если она есть - то видимо мы таки выпили этот кюр.
В обратном случаем, кюримся с каста.
Dard
Posts: 79
Joined: 2005-04-25 19:00:46

Post by Dard »

flake wrote:Верно, Но!
Товарищь хочет сделать проверку, есть ли у него вообще кюры.
Ему не важно, 5 их у него или 10, поэтому здесь можно использовать UO.FindCount()
Тогда извеняюсь, думал проверку сколько осталось в стопке :roll:
Dard
Posts: 79
Joined: 2005-04-25 19:00:46

Post 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


Как все просто оказываеться :)
Xabus
Posts: 117
Joined: 2004-05-18 02:24:25

Post 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


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

=(
А НЕРАБОТАЕТ ОН ВСЕ ОДНАВРЕМЕННО КИДАТЕ КУРЕ И ЖРЕТ БАНКУ
Dard
Posts: 79
Joined: 2005-04-25 19:00:46

Post 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
flake
Expert!
Posts: 746
Joined: 2004-08-11 23:56:17
Location: The Citadel
Contact:

Post by flake »

Хабус, а сообщение то при питье появляется?
Xabus
Posts: 117
Joined: 2004-05-18 02:24:25

Post 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


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