Page 1 of 2

помогите отредактировать

Posted: 2009-07-27 07:31:34
by skyman

Code: Select all

sub att()
#***********
#(C) Cooper
#***********
VAR monst= #Tип монстра

UO.Set('finddistance','3')
while UO.GetHP('self') < 500
UO.FindType(monst, '-1', 'ground')
if UO.FindCount() > 0 then
UO.DeleteJournal()
UO.Attack('finditem')
repeat
wait(500)
until UO.InJournal('Body of')
else
wait(100)
endif
wend
end sub 
Пробовал вписывать больше 1 Типа монстров неполучается. Как зделать на этом скрипте чтоб он делал атак на 10 монстров к примеру

Posted: 2009-07-27 07:45:50
by Question_GimFlex
просто забинди на кнопку этот скрипт, как убьешь монстра нажимай еще раз, либо напиши по русски что тебе надо

Posted: 2009-07-27 07:50:49
by 666||TORCHKI

Code: Select all

sub att()
    #***********
    #(C) Cooper
    #***********
    var i
    Dim a[2]
    a[0] = '0x0191'
    a[1] = '0x00DA'
    UO.Set('finddistance','20')
    while UO.GetHP('self') < 500
        For i= 0 to 1
            repeat
                UO.FindType(a[i], '-1', 'ground')
                if UO.FindCount() > 0 then
                    UO.DeleteJournal()
                    UO.Attack('finditem')
                    wait(700)
                until UO.InJournal('Body of')
            else
                wait(100)
            end if
        next   
        wend
    end sub
    
Испоганил скрипт Купера =(

Posted: 2009-07-27 08:02:16
by 666||TORCHKI
skyman wrote:
666||TORCHKI wrote:
Испоганил скрипт Купера =(
Я его тут на форуме взял!
Я про себя :D

Posted: 2009-07-27 08:18:24
by skyman

Code: Select all

sub att()
    #***********
    #(C) Cooper
    #***********
    var i
    Dim a[8]
    a[0] = '0x0191'
    a[1] = '0x00DA'
    a[2] = '0x00C9'
    a[3] = '0x000D'
    a[4] = '0x0055'
    a[5] = '0x000F'
    a[6] = '0x0002'
    a[7] = '0x001C'
    a[8] = '0x0056'
UO.Set('finddistance','20')
    while UO.GetHP('self') < 500
        For i= 0 to 1
            repeat
                UO.FindType(a[i], '-1', 'ground')
                if UO.FindCount() > 0 then
                    UO.DeleteJournal()
                    UO.Attack('finditem')
                    wait(700)
                until UO.InJournal('Body of')
            else
                wait(100)
            end if
        next   
        wend
    end sub 
на 1 наподает иду дальше 0 эмоций

Поясни эту строчку while UO.GetHP('self') < 500

Posted: 2009-07-27 08:25:26
by 666||TORCHKI
У тебя тут должно быть

Code: Select all

  Dim a[9]
а тут

Code: Select all

For i= 0 to 8

Posted: 2009-07-27 08:44:40
by Question_GimFlex

Code: Select all

sub att() 
    #*********** 
    #(C) Cooper 
    #*********** 
    var i 
    Dim a[8] 
    a[0] = '0x0191' 
    a[1] = '0x00DA' 
    a[2] = '0x00C9' 
    a[3] = '0x000D' 
    a[4] = '0x0055' 
    a[5] = '0x000F' 
    a[6] = '0x0002' 
    a[7] = '0x001C' 
    a[8] = '0x0056' 
UO.Set('finddistance','20') 
    while UO.GetHP('self') < 500 
        For i= 0 to 8 
            repeat 
                UO.FindType(a[i], '-1', 'ground') 
                if UO.FindCount() > 0 then 
                    UO.DeleteJournal() 
                    UO.Attack('finditem') 
                    wait(700) 
                until UO.InJournal('Body of') 
            else 
                wait(100) 
            end if 
        next    
        wend 
    end sub

Posted: 2009-07-27 08:57:12
by skyman

Code: Select all

sub att()
    #***********
    #(C) Cooper
    #***********
    var i
    Dim a[24]
    a[0] = '0x0002'
    a[1] = '0x0003'
    a[2] = '0x0190'
    a[3] = '0x0011'
    a[4] = '0x0018'
    a[5] = '0x004C'
    a[6] = '0x0027'
    a[7] = '0x0056'
    a[8] = '0x001E'
    a[9] = '0x00D6'
    a[10] = '0x0016'
    a[11] = '0x03CA'
    a[12] = '0x0030'
    a[13] = '0x000D'
    a[14] = '0x0001'
    a[15] = '0x0021'
    a[16] = '0x0010'
    a[17] = '0x000E'
    a[18] = '0x000F'
    a[19] = '0x0035'
    a[20] = '0x0047'
    a[21] = '0x0191'
    a[22] = '0x00CA'
    a[23] = '0x0036'
UO.Set('finddistance','20')
    while UO.GetHP('self') < 500
        For i= 0 to 23
            repeat
                UO.FindType(a[i], '-1', 'ground')
                if UO.FindCount() > 0 then
                    UO.DeleteJournal()
                    UO.Attack('finditem')
                    wait(700)
                until UO.InJournal('Body of')
            else
                wait(100)
            end if
        next   
        wend
    end sub 
[/quote]

ID=0x0001392C Type=0x0191 ESOE Name=Galadriel
Quantity: 0 Colour: 0x045E Layer: 0 Has: 0
X=5395 Y=1945 Z=0 C=0xFFFFFFFF F=0x40

ID=0x00013FAF Type=0x0191 FERE Name=Mirwing
Quantity: 0 Colour: 0x045E Layer: 0 Has: 0
X=5400 Y=1945 Z=0 C=0xFFFFFFFF F=0x00

Вот, одинаковых неатачит

Posted: 2009-07-27 09:17:01
by Question_GimFlex

Code: Select all

sub att() 
    #*********** 
    #GimFlex
    #*********** 
    var i 
    Dim a[24] 
    a[0] = '0x0002' 
    a[1] = '0x0003' 
    a[2] = '0x0190' 
    a[3] = '0x0011' 
    a[4] = '0x0018' 
    a[5] = '0x004C' 
    a[6] = '0x0027' 
    a[7] = '0x0056' 
    a[8] = '0x001E' 
    a[9] = '0x00D6' 
    a[10] = '0x0016' 
    a[11] = '0x03CA' 
    a[12] = '0x0030' 
    a[13] = '0x000D' 
    a[14] = '0x0001' 
    a[15] = '0x0021' 
    a[16] = '0x0010' 
    a[17] = '0x000E' 
    a[18] = '0x000F' 
    a[19] = '0x0035' 
    a[20] = '0x0047' 
    a[21] = '0x0191' 
    a[22] = '0x00CA' 
    a[23] = '0x0036' 
    UO.Set('finddistance','20') 
    while UO.GetHP('self') < 500 
        For i= 0 to 23  
             UO.FindType(a[i], '-1', 'ground') 
             while UO.FindCount() > 0 then 
                UO.DeleteJournal() 
                UO.Attack('finditem')
                repeat 
                    wait(700) 
                until UO.InJournal('Body of')
                UO.FindType(a[i], '-1', 'ground')  
             wend 
             wait(100)
        next    
    wend 
end sub

Posted: 2009-07-27 09:36:25
by Kynep
Что творится то :shock: , прям полет фантазии :)

Posted: 2009-07-27 09:42:10
by Question_GimFlex
:twisted:

Posted: 2009-07-27 10:18:22
by Mirage
Question_GimFlex wrote::twisted:
ты бы прежде чем выкладывать В ОТДЕЛЬНЫХ постах скрипт сперва прочитал уроки хотябы про циклы тогда бы у тебя не пересекались if с repeat тами, не было бы мощных циклов while UO.GetHP('self') < 500 и атаковал бы мобов как надо

Posted: 2009-07-27 10:21:38
by Question_GimFlex
Mirage wrote:
Question_GimFlex wrote::twisted:
ты бы прежде чем выкладывать В ОТДЕЛЬНЫХ постах скрипт сперва прочитал уроки хотябы про циклы тогда бы у тебя не пересекались if с repeat тами, не было бы мощных циклов while UO.GetHP('self') < 500 и атаковал бы мобов как надо
ниче не путаешь зай? :twisted:

https://yoko.uokit.com/viewtopic.php?p=81397#81397

глазенки открой :wink: :arrow:

Posted: 2009-07-27 12:48:48
by skyman
Mirage wrote:
Question_GimFlex wrote::twisted:
ты бы прежде чем выкладывать В ОТДЕЛЬНЫХ постах скрипт сперва прочитал уроки хотябы про циклы тогда бы у тебя не пересекались if с repeat тами, не было бы мощных циклов while UO.GetHP('self') < 500 и атаковал бы мобов как надо
можеш помочь с скриптом?

Posted: 2009-07-27 12:59:20
by Kynep
Question_GimFlex wrote:

Code: Select all

sub att() 
    #*********** 
    #GimFlex
    #***********    
end sub
Не забываем про копирайты и беглый просмотр скрипта:

Code: Select all

while UO.FindCount() > 0 then
Зачем тут then?

Вот мой вариант:

Code: Select all

sub att()
   #***********
   #©Kynep
   #***********
   var i
   Dim a[24]
   a[0] = '0x0002'
   a[1] = '0x0003'
   a[2] = '0x0190'
   a[3] = '0x0011'
   a[4] = '0x0018'
   a[5] = '0x004C'
   a[6] = '0x0027'
   a[7] = '0x0056'
   a[8] = '0x001E'
   a[9] = '0x00D6'
   a[10] = '0x0016'
   a[11] = '0x03CA'
   a[12] = '0x0030'
   a[13] = '0x000D'
   a[14] = '0x0001'
   a[15] = '0x0021'
   a[16] = '0x0010'
   a[17] = '0x000E'
   a[18] = '0x000F'
   a[19] = '0x0035'
   a[20] = '0x0047'
   a[21] = '0x0191'
   a[22] = '0x00CA'
   a[23] = '0x0036'
   VAR ser
   UO.Set('finddistance','5') # Дистанция поиска, вокруг чара.
   UO.WarMode(1)
   while NOT UO.Dead()
      For i = 0 to 23
         UO.FindType(a[i], '-1', 'ground')
         If UO.FindCount() > 0 then
            repeat
               UO.DeleteJournal()
               ser = UO.GetSerial('finditem')
               UO.Attack(ser)
               repeat
                  wait(700)
               until UO.InJournal('Body of')
               UO.FindType(a[i], '-1', 'ground')
            until NOT UO.FindCount()
         else
            wait(100)
         end if
      next
   wend
end sub
Проверь Track World Items в закладке Main, там нужна галочка.

Posted: 2009-07-27 13:18:25
by 666||TORCHKI
А откуда тут уже

Code: Select all

#*********** 
    #GimFlex 
    #***********

Posted: 2009-07-27 13:28:18
by Kynep
666||TORCHKI wrote:А откуда тут уже

Code: Select all

#*********** 
    #GimFlex 
    #***********
Хз.

Вот еще вариант, атачит все что видит:

Code: Select all

sub att() 
   #*********** 
   #©Kynep 
   #*********** 
   var i 
   VAR ser 
   UO.Set('finddistance','3') # Радиус поиска вокруг чара. 
   UO.WarMode(1) 
   UO.Ignore('self') 
    
   while NOT UO.Dead() 
      UO.FindType('-1', '-1', 'ground') 
      If UO.FindCount() > 0 then 
         UO.DeleteJournal() 
         ser = UO.GetSerial('finditem') 
         If UO.IsNPC(ser) <> 0 then 
            UO.Attack(ser) 
            repeat 
               wait(700) 
            until UO.InJournal('Body of') 
         else 
            UO.Ignore(ser) 
            wait(100) 
         end if 
      else 
         wait(500) 
      end if 
   wend 
end sub

Posted: 2009-07-27 13:38:46
by Question_GimFlex
да я уже прикалываться начал :) просто, порой, пользователи сами не понимают чего хотят и усложняют себе жизнь :wink:

Posted: 2009-07-27 14:33:03
by Mirage
Question_GimFlex wrote:
Mirage wrote:
Question_GimFlex wrote::twisted:
:wink: :arrow:
Сори предпоследний пост ты скопировал с оишибкой которую допустил 666||TORCHKI по этому к тебе и обращался :D

2 Kynep
зачем каждый серийник выдергивать? Разве нельзя сделать:

Code: Select all

      UO.FindType('-1', '-1', 'ground')
      If UO.FindCount() > 0 then
         repeat
           If UO.GetHP('finditem') > 0 then 
           UO.DeleteJournal()
    ; а не тут        If hp > 0 then
бла бла бла

Posted: 2009-07-27 19:12:13
by Kynep
Mirage wrote: 2 Kynep
зачем каждый серийник выдергивать? Разве нельзя сделать:
Нет, так стабильнее, обьект 'finditem' может в любой момент измениться, а полученный серийник не меняется. Последний скрипт полностью рабочий, если с начала тупит, убейте кого-нить руками, дальше попрет само.