Боукрафт на стрелах

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
Doktor_Kor
Posts: 31
Joined: 2006-05-29 15:29:42

Боукрафт на стрелах

Post by Doktor_Kor »

Играю на шарде дРв


собственно вот скрипт на Боукрафт на стрелах,пишет что в 19 строке ошибка

исправьте плиз:

Code: Select all

##################################################################### 
; Bowcraft2. v.1.04b (c) Edred
;
; ×àð áåðåò èç ñóíäóêà øàôòû è ïåðüÿ, êðàôòèò èç íèõ ñòðåëû è
; ñêëàäûâàåò ýòè ñòðåëû â ýòîò æå ñóíäóê.
; Åñëè øàôòû èëè ïåðüÿ çàêîí÷èëèñü - âûõîä.
;
sub bowcraft2()
   VAR Sunduk = '0x4049D7F1'       ; Ñåðèàë ñóíäóêà
   VAR Shafts = '0x1BD4'          ; Òèï øàôòîâ
   VAR Feather = '0x1BD1'         ; Òèï ïåðüåâ
   VAR Arrows = '0x0F3F'         ; Òèï ñòðåë
   VAR Kolvo = 1               ; Áðàòü øàôòîâ äëÿ îäíîãî êðàôòà
   VAR k = 0, j
      UO.SetGlobal( 'TimeProcess', str( UO.Timer() ) )
   UO.CancelMenu()
   UO.AutoMenu ('Select arrow type', 'arrow' )
   While TRUE
      EatChar( Sunduk, 2, 1, 120 )
      If UO.Count( Shafts ) == 0 Then
         UO.FindType( Shafts, -1, Sunduk )
         If UO.FindCount() == 0 Then
            UO.Print("Shafts not found, script terminated")
            return
         Endif
         UO.Grab( Str( Kolvo ), 'finditem' )
         wait(500)
         while UO.Count( Shafts ) < Kolvo
            wait(100)
         wend
         CheckLag()
      Endif
      If UO.Count( Feather ) == 0 Then       
         UO.FindType( Feather, -1, Sunduk )
         If UO.FindCount() == 0 Then
            UO.Print("Feather not found, script terminated")
            return
         Endif
         UO.Grab( Str( Kolvo ), 'finditem' )
         wait(500)
         while UO.Count( Feather ) < Kolvo
            wait(100)
         wend
         CheckLag()
      Endif
      UO.DeleteJournal()
      UO.UseType( Shafts )
      k = 0
      while NOT UO.InJournal('You put') AND NOT UO.InJournal('fail') AND ( k < 50 )
         k = k + 1
         wait(300)
      wend
      If UO.Count( Arrows ) > 0 then
         UO.FindType( Arrows, -1, -1 )
         UO.MoveItem( 'finditem', 0, Sunduk )
         wait(500)
         while UO.Count( Arrows ) > 0
            wait(100)
         wend
         UO.Print( 'Arrows moved' )
      Endif
   Wend
end sub

#####################################################################
Scripts Writer
Posts: 2259
Joined: 2005-04-19 18:00:29
Location: Московская область
Contact:

Post by Scripts Writer »

Как я понимаю, нету еще одного скрипта EatChar -который отвечает за то чтобы персонаж ел. Либо найди этот скрипт в топе автора скрипта, либо удали к чёрту.


2Нашел тебе этот скрипт.Добавь в тот файл где у тя скрипт на боукрафт валяется:

Code: Select all

Sub EatChar( Sunduk, Nom, Add, TimeWait ) 
   ; сообщения при кормежке
   UO.Print( 'TEST: eat to ' + str( Nom ) + ' message and ' + str( Add ) + ' more each ' + str( TimeWait ) + ' minutes' )
   VAR Eat1 = 'You eat the food, but are still extremely hungry'
   VAR Eat2 = 'After eating the food, you fell much less hungry'
   VAR Eat3 = 'You eat the food, and begin to feel more satiated'
   VAR Eat4 = 'You are nearly stuffed, but manage to eat the food'
   VAR Eat5 = 'You fell quite full after consuming the food'
   VAR Eat6 = 'You are stuffed!'
   VAR Eat7 = 'You are simply too full to eat any more!'
   VAR Med = '0x09EC'         ; тип меда для подкормки
   VAR i, Eat, j
   ; проверим, пора ли кормиться
   i = Val( UO.GetGlobal( 'TimeProcess' ) )
   i = ( UO.Timer() - i ) / 600
   If i < TimeWait Then
      ; рано кормиться
      UO.Print( 'Eat early! ' + str( i ) + ' from ' + str( TimeWait ) )
      return
   Endif
   ; пора кормиться
   If Nom == 1 Then
      Eat = Eat1
   Endif
   If Nom == 2 Then
      Eat = Eat2
   Endif
   If Nom == 3 Then
      Eat = Eat3
   Endif
   If Nom == 4 Then
      Eat = Eat4
   Endif
   If Nom == 5 Then
      Eat = Eat5
   Endif
   If Nom == 6 Then
      Eat = Eat6
   Endif
   If Nom == 7 Then
      Eat = Eat7
   Endif
   UO.FindType( Med, '-1', Sunduk )
   If UO.FindCount() == 0 Then
      ; мед кончился
      UO.SetGlobal( 'TimeProcess', str( UO.Timer() ) )
      return
   Endif
   UO.Grab( '60', 'finditem' )
   Wait( 1000 )
   repeat
      DeleteJournal( Eat )
      UO.UseType( Med )
      Wait( 1000 )
   until NOT UO.InJournal( Eat )
   If Add > 0 Then
      For j = 1 To Add
         UO.UseType( Med )
         Wait( 1000 )
      Next
   Endif
   ; хватит кормиться
   ; выгрузим остатки меда обратно
   UO.Findtype( Med, '-1', 'backpack' )
   UO.MoveItem( 'finditem', 0, Sunduk )
   Wait( 1000 )
   ; Сбросим счетчик
   UO.SetGlobal( 'TimeProcess', str( UO.Timer() ) )
endsub
Doktor_Kor
Posts: 31
Joined: 2006-05-29 15:29:42

Post by Doktor_Kor »

You Must Die спасибо большое :!: :!: :wink:
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

Проще было закомментарить вот эту строку:

Code: Select all

EatChar( Sunduk, 2, 1, 120 )
Ни один скрипт не работает? Пора обновить Инжект...
Все работает, но хочется большего? Пора переходить на стелс...
Scripts Writer
Posts: 2259
Joined: 2005-04-19 18:00:29
Location: Московская область
Contact:

Post by Scripts Writer »

Проще было вместе с основным скриптом в таком авторитетном форуме как Scripts! добавлять и все побочные скрипты , которые вызываются из основного чтобы не было потом каких либо лишних вопросов.
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

You Must Die wrote:Проще было вместе с основным скриптом в таком авторитетном форуме как Scripts! добавлять и все побочные скрипты , которые вызываются из основного чтобы не было потом каких либо лишних вопросов.


Прежде чем писать - посмотри. В разделе Scripts! опубликована версия 1.01, она без подкормки чара. Версия 1.04 публиковалась только в составе моего файла SkillUp.sc, там все функции есть в конце файла.

Не надо что-либо заявлять, пока не убедился в своей правоте. Чтобы потом не краснеть.
Ни один скрипт не работает? Пора обновить Инжект...
Все работает, но хочется большего? Пора переходить на стелс...
Post Reply