Page 1 of 3

waittargettile..

Posted: 2008-03-20 12:48:35
by korzh
Image
Появляется такая фигня довольно часто, и изза нее крашит.. Собственно вопрос, изза чего она появляется? И что соответственно делать тчобы ее не было?

Posted: 2008-03-20 12:54:50
by Grin
утебя не правельно формируется в waittargettile аргументы.

Posted: 2008-03-20 13:03:13
by korzh

Code: Select all

UO.WaitTargetTile( // 'all' или '0' // , str( x ), str( y ), '0' )
UO.useobject( Pickaxe() )


Насколько я помню all и 0 означает тыкать на тайл любого типа..

Posted: 2008-03-20 13:19:50
by Kynep
korzh wrote:

Code: Select all

UO.WaitTargetTile( // 'all' или '0' // , str( x ), str( y ), '0' )
UO.useobject( Pickaxe() )


Насколько я помню all и 0 означает тыкать на тайл любого типа..


просто 0 ставь, хотя возможно деффект не в этом, может коорды не верно получает.

Posted: 2008-03-20 13:46:34
by korzh
0 пробывал - такая же ххрень, с координатами все в порядке.
А сообщение ето может появиться как через 2 минуты, так и через 2 часа..

Posted: 2008-03-20 13:49:41
by Kynep
korzh wrote:0 пробывал - такая же ххрень, с координатами все в порядке.
А сообщение ето может появиться как через 2 минуты, так и через 2 часа..


Попробуй wait(100) поставить перед и после этой команды. Бывало помогало.

Posted: 2008-03-20 14:39:35
by korzh
Не помогло... :(

Posted: 2008-03-20 14:50:02
by Grin
тпринтуй то что ты пихаешь в функцию...

Posted: 2008-03-20 14:51:14
by Kynep
korzh wrote:Не помогло... :(


Еще меня терзает вот это выражение:

Code: Select all

UO.useobject( Pickaxe() )


А конкретно это:

Code: Select all

Pickaxe()

Так и должно быть? Чет первый раз такое вижу.
Сделай попроще, вставь зараннее тип кирки и юзай по типу:

Code: Select all

UO.UseType(pickaxe)

Posted: 2008-03-20 15:32:22
by korzh
Отпринтовал, все нормально... и проблемы ето увы не решает :roll:

На тему pickaxe(), так и должно быть, с ней все нормально :)

Posted: 2008-03-20 15:43:54
by Yura
С 0 у меня тоже не работало
у меня так прописано
UO.Waittargettile("1341", str(i), str(j), str(mz))
UO.UseType(Kirka)
a Pickaxe() - это по идее вызов функции

Posted: 2008-03-20 15:44:40
by Kynep
korzh wrote:На тему pickaxe(), так и должно быть, с ней все нормально :)


Странно *бьется головой ап стену*, объясните дурачку почему?

Posted: 2008-03-20 15:48:21
by Kynep
Yura wrote:a Pickaxe() - это по идее вызов функции


Я в курсе, мне не понятно такое использование:

Code: Select all

UO.useobject(Pickaxe())


Получается Юз обьекта функции?

Posted: 2008-03-20 15:51:28
by Yura
А почему нет
sub pickaxe()
if ищем кирку если нашли return type pickaxe
if ищем лопату если нашли return type showel
endsub

например так

2korzh
текст функции в студию))

Posted: 2008-03-20 15:56:14
by korzh
Yura wrote:С 0 у меня тоже не работало
у меня так прописано
UO.Waittargettile("1341", str(i), str(j), str(mz))
UO.UseType(Kirka)
a Pickaxe() - это по идее вызов функции


Так ты ограничиваешься только 1 типом тайлов..

Kynep wrote:

Code: Select all

UO.useobject(Pickaxe())


Получается Юз обьекта функции?


Code: Select all

sub Pickaxe()
   VAR shovel='', pickaxe = '0x0E85'
   If UO.getglobal( 'Pickaxe' ) == 'N/A' then
      UO.findtype( pickaxe,-1,'backpack' )
      If UO.findcount() then
         UO.setglobal( 'Pickaxe', UO.getserial( 'finditem' ) )
      else
         If UO.getgraphic( UO.objatlayer( 'Rhand' ) ) <> '0x0000' then
            If UO.getgraphic( UO.objatlayer( 'Rhand' ) ) == pickaxe then
               UO.setglobal( 'Pickaxe', UO.getserial( UO.objatlayer( 'Rhand' ) ) )
            EndIf
         else
            If UO.getgraphic( UO.objatlayer( 'Lhand' ) ) <> '0x0000' then
               If UO.getgraphic( UO.objatlayer( 'Lhand' ) ) == pickaxe then
                  UO.setglobal( 'Pickaxe', UO.getserial( UO.objatlayer( 'Lhand' ) ) )
               EndIf
            EndIf
         EndIf
      EndIf
   else
      return UO.getglobal( 'Pickaxe' )
   EndIf
endsub

Зы про лопату еще дописать надо бы :)

Ключевая строка тут return UO.getglobal( 'Pickaxe' ).. тоесть ф-я просто возвращает сериал найденной кирки.

Posted: 2008-03-20 15:59:43
by Kynep
korzh wrote:Ключевая строка тут return UO.getglobal( 'Pickaxe' ).. тоесть ф-я просто возвращает сериал найденной кирки.


Херней Вы занимаетесь уважаемый, зачем изобретать велосипед и юзать не понятные функции, когда есть классика которая работает как часы??? Скорее всего именно тут проблема и кроется.

Posted: 2008-03-20 16:02:16
by Yura
с квадрата 5х5 он обкапыват всегда все (горы там или ещё что)
а если ставиш 0 то он вообще ниче не делат(тестил давно и на RUNUO)

GetGlobal возвращает строку а не число

Posted: 2008-03-20 16:03:21
by korzh
Kynep wrote:
korzh wrote:Ключевая строка тут return UO.getglobal( 'Pickaxe' ).. тоесть ф-я просто возвращает сериал найденной кирки.


Херней Вы занимаетесь уважаемый, зачем изобретать велосипед и юзать не понятные функции, когда есть классика которая работает как часы??? Скорее всего именно тут проблема и кроется.


Не хейрней, пардон, а решением проблемы слоев на разных шардах. И тут проблемы точно нет.

Posted: 2008-03-20 16:03:28
by Grin
во развели то...

Posted: 2008-03-20 16:05:40
by korzh
Yura wrote:...
а если ставиш 0 то он вообще ниче не делат(тестил давно и на RUNUO)

GetGlobal возвращает строку а не число


если ставишь 0 или 'all' - работает одинакого. но спустя какоето время приводит к ошибке на скрине.

На тему гетглобал ето ты к чему ? :)