Page 1 of 1

Помогите разобраться со скриптом на кровь !!!

Posted: 2009-04-30 07:19:22
by Snapus
Помогите пожалуйста ! Есть скрипт на питье крови с пола:

Code: Select all

#############################################
############## Кровь с пола #################
#############################################
sub Blood_pol() 
var n 
Dim Blood[6] 
Blood[1] = '0x122E' 
Blood[2] = '0x122D' 
Blood[3] = '0x122A' 
Blood[4] = '0x122B' 
Blood[5] = '0x122C' 
Blood[6] = '0x1645' 
While NOT UO.Dead() 
If UO.GetGlobal('UseBloodCheck')<>'on' Then 
UO.SetGlobal('UseBloodCheck','on') 
For n = 1 TO 6 
UO.FindType(Blood[n],'-1','1') 
If UO.FindCount() Then 
UO.UseObject('finditem') 
EndIf 
Next 
UO.SetGlobal('UseBloodCheck','off') 
Else 
UO.Print("Wait") 
EndIf 
end sub

помогите разобраться:
На сколько клеток он ищет кровь и как изменить.
И почему порой в окне скрипта зависают не выполненые команды и начинает тормозить уо. Может в скрипте есть ошибка ?

Заранее спасибо!
Ссылки на нужную часть хелпа приветствуются.

Posted: 2009-04-30 07:23:32
by Kynep
Для начала оформите свою просьбу согласно Правилам.

Re: Помогите разобраться со скриптом на кровь !!!

Posted: 2009-04-30 08:20:45
by Kynep
Snapus wrote:Помогите пожалуйста ! Есть скрипт на питье крови с пола:
помогите разобраться:
На сколько клеток он ищет кровь и как изменить.
И почему порой в окне скрипта зависают не выполненые команды и начинает тормозить уо. Может в скрипте есть ошибка ?
Заранее спасибо!
Ссылки на нужную часть хелпа приветствуются.

Code: Select all

sub Blood_pol() 
   var n 
   dim Blood[6] 
   Blood[0] = '0x122E' 
   Blood[1] = '0x122D' 
   Blood[2] = '0x122A' 
   Blood[3] = '0x122B' 
   Blood[4] = '0x122C' 
   Blood[5] = '0x1645' 

   UO.Set('finddistance', '3') #Радиус поиска 3 клетки вокруг чара.

   for n = 0 to 5 
      UO.FindType(Blood[n], '-1' , 'ground') 
      If UO.FindCount()> 0 Then
         repeat
            UO.UseObject('finditem')
            wait(500)
            UO.FindType(Blood[n], '-1' , 'ground') 
         until NOT UO.FindCount()
      endif 
   next 
   UO.Set('finddistance', '16')
end sub
Может так заработает, пробуйте.

Re: Помогите разобраться со скриптом на кровь !!!

Posted: 2009-04-30 08:37:35
by Snapus
Kynep wrote:
Snapus wrote:Помогите пожалуйста ! Есть скрипт на питье крови с пола:
помогите разобраться:
На сколько клеток он ищет кровь и как изменить.
И почему порой в окне скрипта зависают не выполненые команды и начинает тормозить уо. Может в скрипте есть ошибка ?
Заранее спасибо!
Ссылки на нужную часть хелпа приветствуются.

Code: Select all

sub Blood_pol() 
   var n 
   dim Blood[6] 
   Blood[0] = '0x122E' 
   Blood[1] = '0x122D' 
   Blood[2] = '0x122A' 
   Blood[3] = '0x122B' 
   Blood[4] = '0x122C' 
   Blood[5] = '0x1645' 

   UO.Set('finddistance', '3') #Радиус поиска 3 клетки вокруг чара.

   for n = 0 to 5 
      UO.FindType(Blood[n], '-1' , 'ground') 
      If UO.FindCount()> 0 Then
         repeat
            UO.UseObject('finditem')
            wait(500)
            UO.FindType(Blood[n], '-1' , 'ground') 
         until NOT UO.FindCount()
      endif 
   next 
   UO.Set('finddistance', '16')
end sub
Может так заработает, пробуйте.
Попробывал скрипт работает вполне вминяемо единственное если часто жать и он не находит крови он подвисает =(

Возможно ли это как то оптимизировать ?

P.S. постоянно в уо пишет finddistance 16 и finddistance 3 ! так и должно быть?

Re: Помогите разобраться со скриптом на кровь !!!

Posted: 2009-04-30 08:42:31
by Kynep
Snapus wrote: Попробывал скрипт работает вполне вминяемо единственное если часто жать и он не находит крови он подвисает =(
Возможно ли это как то оптимизировать ?
Можно удалить wait(500), либо сделать поменьше, например wait(100).
Snapus wrote: P.S. постоянно в уо пишет finddistance 16 и finddistance 3 ! так и должно быть?
Можно в клиенте написать ,set injectecho 0, возможно поможет, либо ,set quiet 1, точно не помню. Псле этого нужно нажать кнопочку Save в закладке Main.

Posted: 2009-04-30 08:54:34
by Destruction
injectecho отвечает за вывод в журнал инжекта сообщений инжекта :)

,set quiet 0
,set quiet 1

Не помню какой правильно :)

Posted: 2009-04-30 09:01:31
by Kynep
Destruction wrote:injectecho отвечает за вывод в журнал инжекта сообщений инжекта :)
,set quiet 0
,set quiet 1
Не помню какой правильно :)
Ну почти угадал, блин про запятую забыл :lol:

Posted: 2009-04-30 09:54:22
by Snapus

Code: Select all

sub Blood_pol()
If UO.Life<UO.Str Then
   var n 
   dim Blood[6] 
   Blood[0] = '0x122E' 
   Blood[1] = '0x122D' 
   Blood[2] = '0x122A' 
   Blood[3] = '0x122B' 
   Blood[4] = '0x122C' 
   Blood[5] = '0x1645' 

   UO.Set('finddistance', '3') #Радиус поиска 3 клетки вокруг чара. 

   for n = 0 to 5 
      UO.FindType(Blood[n], '-1' , 'ground') 
      If UO.FindCount()> 0 Then 
         repeat 
            UO.UseObject('finditem') 
            wait(200) 
            UO.FindType(Blood[n], '-1' , 'ground') 
         until NOT UO.FindCount() 
      endif 
   next 
   UO.Set('finddistance', '16') 
      Else 
      UO.Print("Your HP at maximum!!!") 
   Endif 
end sub
Попробывал добавить проверку на ХП(тоесть если хп меньше силы он ищет кровь если нет то пишет "Your HP at maximum!!!") Проверьте правельно написал ?

Posted: 2009-04-30 10:24:16
by Kynep

Code: Select all

sub Blood_pol()
   var n 
   dim Blood[6] 
   Blood[0] = '0x122E' 
   Blood[1] = '0x122D' 
   Blood[2] = '0x122A' 
   Blood[3] = '0x122B' 
   Blood[4] = '0x122C' 
   Blood[5] = '0x1645' 

   If UO.Life < UO.Str then
      UO.Set('finddistance', '3') #Радиус поиска 3 клетки вокруг чара. 
      for n = 0 to 5 
         UO.FindType(Blood[n], '-1' , 'ground') 
         If UO.FindCount()> 0 Then 
            repeat 
               UO.UseObject('finditem') 
               wait(200) 
               UO.FindType(Blood[n], '-1' , 'ground') 
            until NOT UO.FindCount() 
         endif 
      next 
      UO.Set('finddistance', '16') 
   else 
      UO.Print("Your HP at maximum!!!") 
   endif 
end sub
Вот как-то так.