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:

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' может в любой момент измениться, а полученный серийник не меняется. Последний скрипт полностью рабочий, если с начала тупит, убейте кого-нить руками, дальше попрет само.