Хелп пожалуйста. Скрипт тупит (а скорее это я)

Ask for help

Moderators: Murderator+, Murderator

Post Reply
Ururu
Posts: 479
Joined: 2007-02-21 20:15:57

Хелп пожалуйста. Скрипт тупит (а скорее это я)

Post by Ururu »

Ночью глазки офлайнятся потихому, сидел блин писал.
Я понимаю что так использовать тип и цвет это нонсенс, но все же.
Смысл скрипта. Копаю я в ручную, при выкапывании трешевой руды (ее цвет в массиве), сразу выкидывать ее под ноги. Но скрипт гад если находит онную руду просит ткнуть в нее прицелом, а не сам кидает как я планировал. Туплю...ночь на дворе...

Code: Select all

sub main() 
   repeat
      mine()
         wait(1500)
   until false
end sub
sub mine()
var Ore = '0x19B9' ; тип кучки руды
var Marganece = '0x06D6' ; цвета руды
var Iron = '0x0000'
var Copper = '0x0601'
var Tourmaline = '0x04C2'
var Tin = '0x052D'
var Stone = '0x9999'
var Bronze = '0x9999'
var Marble = '0x9999'
var Lead = '0x084D'
var Corrundum = '0x060C'
var Sandstone = '0x9999'
var Plaster = '0x9999'
   DIM color[12]
      color[0] = Marganece
      color[1] = Iron
      color[2] = Copper
      color[3] = Tourmaline
      color[4] = Tin
      color[5] = Stone
      color[6] = Bronze
      color[7] = Marble
      color[8] = Lead
      color[9] = Corrundum
      color[10] = Sandstone
      color[11] = Plaster
         var i
      for i = 0 to 11
uo.findtype( Ore,color[ i ] )
if uo.findcount() > 0 then
   uo.drop( 'finditem' )
endif
endsub
Шард Антарес
Ururu
to4a
Posts: 265
Joined: 2006-03-10 00:19:11
Location: http://drw.ru/

Post by to4a »

вообще руда бывает 4 типов...
и нахрена обьявлять сначала дофига переменных, а потом их же совать в массив, не проще сразу в массив? если тебе надо знать какой руде соответсвует каждый из элементов массива, оставь просто для себя комментарии.

Code: Select all

...
uo.findtype(Ore,color[ i ] ,'backpack')
if UO.FindCount()  then
   UO.MoveItem('finditem',-1,'ground')
endif
...

зы: лучше конечно юзать мувитем, а раньше не работало потому что синтаксис у drop не такой...
uo.drop([quantity],[X,Y,Z],[object])
DRW - Glorior Belli
Image
Savage
Expert!
Posts: 1205
Joined: 2004-04-04 11:13:54
Location: Балаково, Саратовская обл.
Contact:

Post by Savage »

uo.drophere('finditem')
Nmy
Expert!
Posts: 2152
Joined: 2005-09-14 15:31:58
Location: Latvia

Post by Nmy »

просто ищет по цвету

Code: Select all

sub main()
VAR n
Dim Drop[10]
Drop[1] = '0x0909'
Drop[2] = '0x03E3'
Drop[3] = '0x0026'
Drop[4] = '0x06D6'
Drop[5] = '0x0000'
Drop[6] = '0x0601'
Drop[7] = '0x052D'
Drop[8] = '0x0488'
Drop[9] = '0x084D'
Drop[10] = '0x060C'

For n = 1 To 10
UO.FindType('0x19B9', Drop[n] ,'backpack')
If UO.FindCount() then
UO.MoveItem('finditem', -1 ,'ground')
wait(1000)
Endif
Next

end sub
Ururu
Posts: 479
Joined: 2007-02-21 20:15:57

Post by Ururu »

Спасибо, я просто загнался и почему то подумал что UO.MoveItem('finditem', -1 ,'ground') запросит ИД руды :D


З.Ы.Да а вот интересная фишка! Если чар выше или ниже уровня земли, то руда при попытке выбросить ее, падает обратно в пак. :)
Шард Антарес
Ururu
Nmy
Expert!
Posts: 2152
Joined: 2005-09-14 15:31:58
Location: Latvia

Post by Nmy »

Ururu wrote:Спасибо, я просто загнался и почему то подумал что UO.MoveItem('finditem', -1 ,'ground') запросит ИД руды :D


З.Ы.Да а вот интересная фишка! Если чар выше или ниже уровня земли, то руда при попытке выбросить ее, падает обратно в пак. :)

можно пробовать так:

Code: Select all

UO.MoveItem('finditem', -1 ,'ground',uo.getx(),uo.gety(),uo.getz())
Savage
Expert!
Posts: 1205
Joined: 2004-04-04 11:13:54
Location: Балаково, Саратовская обл.
Contact:

Post by Savage »

Зачем педали разрабатывать? Все уже давно придумано, если надо просто сбросить предмет то юзаем дропхир. Эффективность скрипта напрямую зависит от его простоты.
Post Reply