Page 1 of 1

Plz help

Posted: 2007-06-06 00:44:33
by scremer
Если никто не возражает, начну свой топик надеюсь мне тут будут отвечать,я только начал учиться писать скрипты прочел уроки как пологаеться и тд, но запнулся на самом элементарном скрипте... хотел прокачать кампинг, для этого брать 1 хворост и кидать на землю, а потом его поджигать но чет скрипт меня посылает, говоря что на земле он ничего не находит, а сам хворост кидает...
скриптик взял изночально на кукинг с этого шарда

Code: Select all

 
sub GetFire()
   var Kindling  = '0x0de1'
                var sumka = id сумки
   lasttimer = uo.timer()  # это вообще нужно??
   repeat
      uo.findtype(Kindling,"-1","sumka") #Ищем хворост в сумке
      wait(100)
   until uo.findcount() > 0 or uo.timer()>lasttimer+500
   if uo.findcount() == 0 then
      uo.print('нет хвороста')
      RETURN 0                   # поясните что эта команда делает??????? в уроках про нее не слова, я так понял она кудата скрипт возврщает или чтото запускает, да????
   endif
   UO.Drop('1',0,0,0,'finditem') #кидаем хворост под ноги
   #до этого моменда все работает тоесть он кинул хворост, а потом я делаю каманду использовать .. а он говорит нот фаунд
   uo.usetype(Kindling)
# пробовал другую команду там чето с граундом.. писал в ручную дграунд уюз итем а он не в какую не зажигает .... что мне дописать??? может финд тайп(или итем.. как там правельно ) добавить или как???? я так понимаю что можно просто кардинаты попробовать укозать упавшего швороста. но чере юз итем помойму более грамотно.. инжект последней версии
   endsub



ОГРОМНОЕ спасибо тем кто откликниться

Posted: 2007-06-06 00:46:31
by scremer
сори за безграмотность, клавиши на клавиатуре не всегда нажимаються

Posted: 2007-06-06 02:06:05
by to4a
не uo.usetype(Kindling) а uo.usefromground(Kindling)

Posted: 2007-06-06 02:32:53
by Ururu

Code: Select all

RETURN 0                   # поясните что эта команда делает??????? в уроках про нее не слова, я так понял она кудата скрипт возврщает или чтото запускает, да????

В условии ты ищеш хворост сравнивая значение с нулем. Соответственно если вернулся 0

Code: Select all

RETURN 0
то скрипт офф. А если хворост есть, то вернет 1 и скрипт продолжится.

Posted: 2007-06-06 10:59:07
by scremer
to4a wrote:не uo.usetype(Kindling) а uo.usefromground(Kindling)

да я и так делал)))) но нечего не помогло, нот фаунд пишет, клиент хз какой.. помойму для инжекта качал 1.2.6.4б или как то так ... шард на сфере v0.51a .. не знаю важно ли это. Странно что в скрипте на кукинг он этот хворост разжигает...
вот тот скрипт:

Code: Select all

sub GetFire()
   var Kindling  = '0x0de1'
   var Campfire  = '0x0de3'
   var Embers    = '0x0de9'
   var lasttimer
   var Fire      = 0 #Стадии огня 0 - нет, 1 - огонь, 2 - угли
   
   lasttimer = uo.timer()
   repeat
      uo.findtype(Kindling,"-1","backpack") #Ищем хворост в бакпаке
      wait(100)
   until uo.findcount() > 0 or uo.timer()>lasttimer+500
   if uo.findcount() == 0 then
      uo.print('нет хвороста')
      RETURN 0
   endif
   UO.Drop('1',0,0,0,'finditem') #кидаем хворост под ноги
   
   uo.usetype(Kindling)
   while not Fire
      uo.usetype(Kindling)
      Fire = 0
      uo.print('пытаемся поджечь')
      uo.findtype(Campfire,"-1","ground")
      if uo.findcount() > 0 then
         uo.print('огонь нашли')
         Fire = 1
         wait(500)
      else
         uo.findtype(Embers,"-1","ground")
         if uo.findcount() > 0 then
            uo.print('угли нашли')
            Fire = 2
            wait(500)
         endif
      endif
      wait(500)
   wend
   RETURN 1
endsub

sub CookFish()
var RawFish   = '0x097a'
var FihSteak  = '0x097b'
var Campfire  = '0x0de3'
var Embers    = '0x0de9'
var out       = 0 #Флаг выхода из
var Fire      = 0 #Стадии огня 0 - нет, 1 - огонь, 2 - угли
var lasttimer


repeat
   out       = 0
   uo.findtype(RawFish,"-1","backpack")
   if uo.findcount() == 0 then
      uo.print("кончилась рыба")
      out = 1
   endif
   Fire = 0
   uo.usetype(RawFish)
   uo.findtype(Campfire,"-1","ground")
   if uo.findcount() > 0 then
      uo.waittargetobject("finditem")
      Fire = 1
      wait(1000)
   else
      uo.findtype(Embers,"-1","ground")
      if uo.findcount() > 0 then
         uo.waittargetobject("finditem")
         Fire = 2
         wait(1000)
      endif
   endif
   wait(1000)
   if Fire == 0 then
      if GetFire() == 0 then
         out = 1
      endif
   endif

until out

endsub


тут в инже запускаеться кук фиш, а я взял ток первую его часть как выше писал и сделал чтоб хворост брал из сумки что рядом лежит
и то до строчки uo.usetype(Kindling) как уже говорил пробовал разные каманды...

Ururu спасиб огромное)) пояснил)) полезная инфо)))) у когонить из вас есть аськи ?? помучить вопросами

Posted: 2007-06-06 11:18:17
by Ururu
Попробуй заменить

Code: Select all

UO.UseType(Kindling)

на

Code: Select all

UO.UseObject('finditem')

Posted: 2007-06-06 19:26:11
by Rivory
в самое начало скрипта ещё допиши

Code: Select all

uo.set('finddistance','3')

Posted: 2007-06-07 18:38:56
by scremer
спасибо помогло

Posted: 2007-06-07 18:41:00
by scremer
Ururu Спасибо!!!

Code: Select all

c  UO.UseType(Kindling)    на  UO.UseObject('finditem') 

поменял - помогло)))
финд дистанс роли не сыграло. ))) теперь вопрос такой, как по кругу пустить скрипт, можно ли это сделать допустим циклом виле-венд....??
например:

var cikli = 6
while cikli == 6
.....
.....
.....
.....
wend

или есть более правильные способы зацеклить скрипт, в данный момент я просто назначил на кнопку(f2) скрипт и в пилоте
send f2
wait 1000

Posted: 2007-06-12 20:23:28
by Rivory
Первый способ

Code: Select all

while ....
...
.
.
.
...
wend


Второй способ

Code: Select all

repeat
...
...
...
...
until условие

Когда условие выполниться, инжа выйдет из цикла.