Yoko

All sides of Injection
It is currently 2025-11-23 19:17:44

All times are UTC+02:00




Post new topic  Reply to topic  [ 15 posts ] 
Author Message
PostPosted: 2008-01-20 09:41:18 
Offline

Joined: 2004-07-14 09:18:05
Posts: 13
Code:
sub autograb() 

var n = 100 , q , i #n - eto po skolko regov vi obi4no berete
####Spisok Regov####
 DIM Reags[8]
  Reags[0] = '0x0F7B' #Blood Moss
  Reags[1] = '0x0F86' #Mandrake Roots
  Reags[2] = '0x0F7A' #Black Pearls
  Reags[3] = '0x0F88' #Nightshades
  Reags[4] = '0x0F8C' #Sulphorous Ash
  Reags[5] = '0x0F84' #Garlics
  Reags[6] = '0x0F85' #Ginsengs
  Reags[7] = '0x0F8D' #Spider's Silk
  ####Dark Magic#####
  #Reags[8] = '0x0F7D' #Vial of Blood
  #Reags[9] = '0x0F7E' #Bones
  #Reags[10] = '0x0F81' #Fertile Dirt
  ####Light Magic####
  #Reags[11] = '0x0F8F' #Volcanic Ash
  #Reags[12] = '0x0F7F' #Brimstone

wait(1000)
   UO.Print('Viberi svou sumku s regami')
   UO.AddObject('MyBag')
   while UO.Targeting()
    wait(1000)
   wend
    UO.SetCatchBag('MyBag')
    wait(100)
    UO.UseObject('MyBag')
   wait(1000)
   
   UO.Print('Viberi sumku gde lezhat VSE regi')
   UO.AddObject('BigBag')
   while UO.Targeting()
    wait(1000)
   wend
    UO.UseObject('BigBag')

####SAM SKRIPT#####   
     for i=0 to 7
wait(1000)
 UO.Count(Reags[i])
 q = n - UO.Count(Reags[i])
 wait(100)
      If UO.Count(Reags[i]) < n then
        UO.FindType(Reags[i],'0xffff','BigBag')
        wait(100)
      else
        next
      endif
        If UO.GetQuantity('finditem') > q then
          wait(500)
          UO.Grab(q,'finditem')
        else
          UO.Grab('finditem')
        endif
     next
wait(2000)
UO.UnSetCatchBag()
UO.Print('AutoGrab Done')
end sub

Вот это скрипт для автограба регов из сумки. Он считает кол-во каждого рега у вас и, если нужно, берет столько, сколько нужно добрать до необходимого кол-ва.
Проблема в том что на моем шарде кроме есть четыре типа классов: обычные, зеленые, темные и светлые. Зеленые и обычные пользуются только стандартным набором регов, а у темных и светлых есть еще несколько своих(в скрипте их графики прописаны). Так вот, как замутить более-менее простую схему выбора комплекта регов, чтобы не загружать в автолоад три скрипта?


Top
   
PostPosted: 2008-01-20 10:58:57 
Offline
Expert!
User avatar

Joined: 2006-02-07 08:51:40
Posts: 1348
Location: г. Старый Оскол
AzaToT wrote:
[Вот это скрипт для автограба регов из сумки. Он считает кол-во каждого рега у вас и, если нужно, берет столько, сколько нужно добрать до необходимого кол-ва.
Проблема в том что на моем шарде кроме есть четыре типа классов: обычные, зеленые, темные и светлые. Зеленые и обычные пользуются только стандартным набором регов, а у темных и светлых есть еще несколько своих(в скрипте их графики прописаны). Так вот, как замутить более-менее простую схему выбора комплекта регов, чтобы не загружать в автолоад три скрипта?


Code:
sub autograb() 

var n = 100 , q , i, a=0, b=0 #n - eto po skolko regov vi obi4no berete
####Spisok Regov####
 DIM Reags[8]
  Reags[0] = '0x0F7B' #Blood Moss
  Reags[1] = '0x0F86' #Mandrake Roots
  Reags[2] = '0x0F7A' #Black Pearls
  Reags[3] = '0x0F88' #Nightshades
  Reags[4] = '0x0F8C' #Sulphorous Ash
  Reags[5] = '0x0F84' #Garlics
  Reags[6] = '0x0F85' #Ginsengs
  Reags[7] = '0x0F8D' #Spider's Silk
  ####Dark Magic#####
  Reags[8] = '0x0F7D' #Vial of Blood
  Reags[9] = '0x0F7E' #Bones
  Reags[10] = '0x0F81' #Fertile Dirt
  ####Light Magic####
  Reags[11] = '0x0F8F' #Volcanic Ash
  Reags[12] = '0x0F7F' #Brimstone

wait(1000)
   UO.Print('Viberi svou sumku s regami')
   UO.AddObject('MyBag')
   while UO.Targeting()
    wait(1000)
   wend
    UO.SetCatchBag('MyBag')
    wait(100)
    UO.UseObject('MyBag')
   wait(1000)
   
   UO.Print('Viberi sumku gde lezhat VSE regi')
   UO.AddObject('BigBag')
   while UO.Targeting()
    wait(1000)
   wend
    UO.UseObject('BigBag')

UO.Print('Kakoy klass?')
UO.DeleteJournal()
   repeat
      wait(100)
   until UO.InJournal('normal') or UO.InJournal('dark') or UO.InJournal('light')

If UO.InJournal('normal') then
   a = 0
   b = 7
endif

If UO.InJournal('dark') then
   a = 0
   b = 10
endif

If UO.InJournal('light') then
   a = 11
   b = 12
endif

####SAM SKRIPT#####   
     for i = a to b
wait(1000)
 UO.Count(Reags[i])
 q = n - UO.Count(Reags[i])
 wait(100)
      If UO.Count(Reags[i]) < n then
        UO.FindType(Reags[i],'0xffff','BigBag')
        wait(100)
      else
        next
      endif
        If UO.GetQuantity('finditem') > q then
          wait(500)
          UO.Grab(q,'finditem')
        else
          UO.Grab('finditem')
        endif
     next
wait(2000)
UO.UnSetCatchBag()
UO.Print('AutoGrab Done')
a = 0
b = 0
end sub


Попробуй так, запускаешь, указываешь мешки, он спрашивает, какой класс говоришь normal, dark, light. Берет нужные реги, пробуй


Last edited by Kynep on 2008-01-20 15:31:47, edited 1 time in total.

Top
   
 Post subject:
PostPosted: 2008-01-20 15:18:41 
Offline

Joined: 2004-07-14 09:18:05
Posts: 13
мм спасибо
но
нельзя ли както сделать так чтобы не приходилось запускатть скрипт два раза? дело в том что лайт и дарк классы юзают нормальные+свои реги а зеленые и обычные классы юзают только нормальные.


Top
   
 Post subject:
PostPosted: 2008-01-20 15:32:19 
Offline

Joined: 2004-07-14 09:18:05
Posts: 13
я скрипт в общемто написал сам почти без чужой помощи,
просто не умею обращатся с массивами

как то можно циклы задавать подобным образом:
for i = 0 to 7 , a to b ?


Top
   
 Post subject:
PostPosted: 2008-01-20 15:33:50 
Offline
Expert!
User avatar

Joined: 2006-02-07 08:51:40
Posts: 1348
Location: г. Старый Оскол
AzaToT wrote:
мм спасибо
но
нельзя ли както сделать так чтобы не приходилось запускатть скрипт два раза? дело в том что лайт и дарк классы юзают нормальные+свои реги а зеленые и обычные классы юзают только нормальные.


Ну для Дарка подправил, а вот с лайтом сложнее. ХЗ щас мыслей ни каких нет, может попозже появятся или кто то другой предложит решение.


Top
   
 Post subject:
PostPosted: 2008-01-20 15:37:20 
Offline
Expert!
User avatar

Joined: 2006-02-07 08:51:40
Posts: 1348
Location: г. Старый Оскол
AzaToT wrote:
я скрипт в общемто написал сам почти без чужой помощи,
просто не умею обращатся с массивами

как то можно циклы задавать подобным образом:
for i = 0 to 7 , a to b ?


нет что бы два диапазона сразу, незя.


Top
   
 Post subject:
PostPosted: 2008-01-21 01:59:53 
Offline
User avatar

Joined: 2007-11-01 19:09:30
Posts: 287
Location: Moscow
Code:
for i = 0 to 7
  for a = X to b
    ...
  next
next


не это ли?

_________________
**Выставляем отступы в скриптах*** ©Destruction
Feel the Power of Dark Side


Top
   
 Post subject:
PostPosted: 2008-01-21 02:41:45 
Offline
Expert!
User avatar

Joined: 2005-05-04 14:05:19
Posts: 2580
Location: Москва
и что получилось?
самый простой вариант это просто сделать 2 чередующих икла
первый накладывает только нормальные, второй дополнительные по выбору, разница только в первом цикле

Code:
...
If UO.InJournal('dark') then
   a = 8
   b = 10
endif

If UO.InJournal('light') then
   a = 11
   b = 12
endif

for i = 0 to 7
...
next
for i = a to b
...
next
...


Top
   
 Post subject:
PostPosted: 2008-01-21 09:07:10 
Offline
Expert!
User avatar

Joined: 2006-02-07 08:51:40
Posts: 1348
Location: г. Старый Оскол
Grin wrote:
и что получилось?
самый простой вариант это просто сделать 2 чередующих икла
первый накладывает только нормальные, второй дополнительные по выбору, разница только в первом цикле

Code:
...
If UO.InJournal('dark') then
   a = 8
   b = 10
endif

If UO.InJournal('light') then
   a = 11
   b = 12
endif

for i = 0 to 7
...
next
for i = a to b
...
next
...


Ок, а как быть с нормальными? ведь скрипт будет ждать ввода слова. Если ввести normal? что будет делать второй цикл? Или приравнять обе переменные к нулю?


Top
   
 Post subject:
PostPosted: 2008-01-21 11:48:33 
Offline
Expert!
User avatar

Joined: 2005-05-04 14:05:19
Posts: 2580
Location: Москва
обе переменые утебя инициализируются по 0, а выход из цикла ожидания тотже, проверка на 3 слова.


Top
   
 Post subject:
PostPosted: 2008-01-21 11:51:35 
Offline
Expert!
User avatar

Joined: 2006-02-07 08:51:40
Posts: 1348
Location: г. Старый Оскол
Grin wrote:
обе переменые утебя инициализируются по 0, а выход из цикла ожидания тотже, проверка на 3 слова.


Ну в принципе должно сработать ) :D


Top
   
 Post subject:
PostPosted: 2008-01-21 17:59:11 
Offline

Joined: 2004-07-14 09:18:05
Posts: 13
Code:
sub autograb()

var n = 100 #po skolko regov berete
var q , i , a , b
####Spisok Regov####
 DIM Reags[8]
  Reags[0] = '0x0F7B' #Blood Moss
  Reags[1] = '0x0F86' #Mandrake Roots
  Reags[2] = '0x0F7A' #Black Pearls
  Reags[3] = '0x0F88' #Nightshades
  Reags[4] = '0x0F8C' #Sulphorous Ash
  Reags[5] = '0x0F84' #Garlics
  Reags[6] = '0x0F85' #Ginsengs
  Reags[7] = '0x0F8D' #Spider's Silk
  ####Dark Magic#####
  #Reags[8] = '0x0F7D' #Vial of Blood
  #Reags[9] = '0x0F7E' #Bones
  #Reags[10] = '0x0F81' #Fertile Dirt
  ####Light Magic####
  #Reags[11] = '0x0F8F' #Volcanic Ash
  #Reags[12] = '0x0F7F' #Brimstone

wait(1000)
   UO.Print('Viberi svou sumku s regami')
   UO.AddObject('MyBag')
   while UO.Targeting()
    wait(1000)
   wend
    UO.SetCatchBag('MyBag')
    wait(100)
    UO.UseObject('MyBag')
   wait(1000)
   
   UO.Print('Viberi sumku gde lezhat VSE regi')
   UO.AddObject('BigBag')
   while UO.Targeting()
    wait(1000)
   wend
    UO.UseObject('BigBag')
   
   UO.Print('Viberi nabor regov (dark,light,normal)')
   UO.DeleteJournal()
   Repeat
    wait(1000)
   Until UO.InJournal('normal') or UO.InJournal('dark') or UO.InJournal('light')
####SAM SKRIPT#####   
     for i=0 to 7
wait(1000)
 UO.Count(Reags[i])
 q = n - UO.Count(Reags[i])
 wait(100)
      If UO.Count(Reags[i]) < n then
        UO.FindType(Reags[i],'0xffff','BigBag')
        wait(100)
      else
        next
      endif
        If UO.GetQuantity('finditem') > q then
          wait(500)
          UO.Grab(q,'finditem')
        else
          UO.Grab('finditem')
        endif
     next
      If UO.InJournal('dark') then
       a = 8
       b = 10
      endif
      If UO.InJournal('light') then
       a = 11
       b = 12
      endif
      If UO.InJournal('normal') then
       a = 0
       b = 0
      endif
####Special Reags####
for i=a to b
wait(1000)
 UO.Count(Reags[i])
 q = n - UO.Count(Reags[i])
 wait(100)
      If UO.Count(Reags[i]) < n then
        UO.FindType(Reags[i],'0xffff','BigBag')
        wait(100)
      else
        next
      endif
        If UO.GetQuantity('finditem') > q then
          wait(500)
          UO.Grab(q,'finditem')
        else
          UO.Grab('finditem')
        endif
     next 
wait(2000)
UO.UnSetCatchBag()
UO.Print('AutoGrab Done')
end sub


если так то выдает line 81: runtime error


Top
   
 Post subject:
PostPosted: 2008-01-21 22:52:07 
Offline
Expert!
User avatar

Joined: 2006-02-07 08:51:40
Posts: 1348
Location: г. Старый Оскол
AzaToT wrote:
Code:


если так то выдает line 81: runtime error


Code:
sub autograb()
   
   var n = 100 #po skolko regov berete
   var q , i , a , b
   ####Spisok Regov####
   DIM Reags[8]
   Reags[0] = '0x0F7B' #Blood Moss
   Reags[1] = '0x0F86' #Mandrake Roots
   Reags[2] = '0x0F7A' #Black Pearls
   Reags[3] = '0x0F88' #Nightshades
   Reags[4] = '0x0F8C' #Sulphorous Ash
   Reags[5] = '0x0F84' #Garlics
   Reags[6] = '0x0F85' #Ginsengs
   Reags[7] = '0x0F8D' #Spider's Silk
   ####Dark Magic#####
   Reags[8] = '0x0F7D' #Vial of Blood
   Reags[9] = '0x0F7E' #Bones
   Reags[10] = '0x0F81' #Fertile Dirt
   ####Light Magic####
   Reags[11] = '0x0F8F' #Volcanic Ash
   Reags[12] = '0x0F7F' #Brimstone
   
   wait(1000)
   UO.Print('Viberi svou sumku s regami')
   UO.AddObject('MyBag')
   while UO.Targeting()
      wait(1000)
   wend
   UO.SetCatchBag('MyBag')
   wait(100)
   UO.UseObject('MyBag')
   wait(1000)
   
   UO.Print('Viberi sumku gde lezhat VSE regi')
   UO.AddObject('BigBag')
   while UO.Targeting()
      wait(1000)
   wend
   UO.UseObject('BigBag')
   
   UO.Print('Viberi nabor regov (dark,light,normal)')
   UO.DeleteJournal()
   Repeat
      wait(1000)
   Until UO.InJournal('normal') or UO.InJournal('dark') or UO.InJournal('light')
   
   If UO.InJournal('dark') then
      a = 8
      b = 10
   endif
   If UO.InJournal('light') then
      a = 11
      b = 12
   endif
   If UO.InJournal('normal') then
      a = 0
      b = 0
   endif
   
   ####SAM SKRIPT#####
   for i=0 to 7
      wait(1000)
      UO.Count(Reags[i])
      q = n - UO.Count(Reags[i])
      wait(100)
      If UO.Count(Reags[i]) < n then
         UO.FindType(Reags[i],'0xffff','BigBag')
         wait(100)
      endif
      If UO.GetQuantity('finditem') > q then
         wait(500)
         UO.Grab(q,'finditem')
      else
         UO.Grab('finditem')
      endif
   next
   ####Special Reags####
   for i=a to b
      wait(1000)
      UO.Count(Reags[i])
      q = n - UO.Count(Reags[i])
      wait(100)
      If UO.Count(Reags[i]) < n then
         UO.FindType(Reags[i],'0xffff','BigBag')
         wait(100)
      endif
      If UO.GetQuantity('finditem') > q then
         wait(500)
         UO.Grab(q,'finditem')
      else
         UO.Grab('finditem')
      endif
   next
   wait(2000)
   UO.UnSetCatchBag()
   UO.Print('AutoGrab Done')
end sub

пробуй


Top
   
 Post subject:
PostPosted: 2008-01-22 10:29:00 
Offline

Joined: 2004-07-14 09:18:05
Posts: 13
блин затупил )) спс


Top
   
 Post subject:
PostPosted: 2008-01-22 10:34:08 
Offline
Expert!
User avatar

Joined: 2006-02-07 08:51:40
Posts: 1348
Location: г. Старый Оскол
AzaToT wrote:
блин затупил )) спс


Не за что :D рад был помочь


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 15 posts ] 

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Limited