opponent

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
noLe
Posts: 23
Joined: 2006-02-13 21:35:28

opponent

Post by noLe »

Приветсвтую !
Прошу помоц написать скрипт. В суть хочу вложить что бы он мог:
Когда тебя атакуют запоминать атакующего или записывать его в файл.
После чего что бы можно было в других скриптах работать с этой переменной.
И что бы работал счетчик. Тоесть записывал 1-го атакующего, потом когда атакуют еще раз, записывал следующего, всего счетчик от 0 до 2, вообщем 2-х оппонентов которые тебя атакуют, что бы потом с ними работать. У меня не получается.. Вродебы запоминает одного, но в других скриптах с данной переменной работать не получаеся. Как работать с файлом не знаю. Помогите плиз.

Code: Select all

Var opponent, Color

sub war()
 while not UO.Dead() 
      if UO.InJournal("attacking you") then 
         opponent=UO.GetSerial(UO.JournalSerial(0)) 
         Color=UO.GetNotoriety(opponent) 
            if Color==2 OR Color==1 then 
                wait(100) 
                UO.DeleteJournal() 
            else 
                  uo.warmode(true) 
                  uo.attack('opponent')
            end if 
                wait(100) 
      else 
         wait(100) 
      end if 
   wend 
end sub
flake
Expert!
Posts: 746
Joined: 2004-08-11 23:56:17
Location: The Citadel
Contact:

Post by flake »

Если счетчик от 0 до 2, то это 3.
А для передачи значений в другие скрипты тебе файл не нужен, можешь использовать UO.Set/GetEasyUO()
- [url=http://forum.yoko.com.ua/viewtopic.php?t=7307]Мои скрипты[/url].
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

Флейк а ты уверен что от 0 до 2 это 3? 3 состояния - Да, но не 3 опонента... 0 -никого нет и тд..
Неверно...
opponent=UO.GetSerial(UO.JournalSerial(0))
ввернет серийник последний строчки...

Code: Select all

Var opponent, Color 

sub war()
var n
 while not UO.Dead()
      n=UO.InJournal("attacking you")
      if n then 
         opponent=UO.GetSerial(UO.JournalSerial(n-1)) 
         Color=UO.GetNotoriety(opponent) 
            if Color==2 OR Color==1 then 
                wait(100) 
                UO.DeleteJournal() 
            else 
                  uo.warmode(true) 
                  uo.attack('opponent')
            end if 
                wait(100)
      end if
      wait(100) 
   wend 
end sub
Поповоду передачи...
Можн опередавать масивы можно и просто глобальными перемеными обойтись...
И потом ты не объеснил как должна запись в масив происходить а что если 3 раз атакуют? я понимаю что должен быть сдвиг масива...
Поподробней
flake
Expert!
Posts: 746
Joined: 2004-08-11 23:56:17
Location: The Citadel
Contact:

Post by flake »

Grin wrote:Флейк а ты уверен что от 0 до 2 это 3? 3 состояния - Да, но не 3 опонента... 0 -никого нет и тд..
Неверно...
Человек говорил о счетчике от 0 до 2.
- [url=http://forum.yoko.com.ua/viewtopic.php?t=7307]Мои скрипты[/url].
BoBBaH
Posts: 94
Joined: 2006-02-09 11:37:25
Contact:

Post by BoBBaH »

Люди раз уж тут говорят прошу написать встречный скрипт
когда меня атакуют чтобы инжект записывал просто ники с указанием гилдии если такавая имееется и чтобы я потом мог посмареть лог и пойти вырубить крыс плиз помагите
Sanch
Posts: 308
Joined: 2005-07-17 15:30:52
Location: www.drw.ru

Post by Sanch »

чтобы работать потом с переменной в других скриптах:

Code: Select all

...
uo.setglobal('i', 'opponent')
...

Code: Select all

...
j = uo.getglobal('i')
uo.attak('j')
...
точно как это делается не помню сейчас
noLe
Posts: 23
Joined: 2006-02-13 21:35:28

Post by noLe »

Спасибо всем, что уделили внимание этой теме.
Grin wrote:Флейк а ты уверен что от 0 до 2 это 3? 3 состояния - Да, но не 3 опонента... 0 -никого нет и тд..
Неверно...
opponent=UO.GetSerial(UO.JournalSerial(0))
ввернет серийник последний строчки...

Code: Select all

Var opponent, Color 

sub war()
var n
 while not UO.Dead()
      n=UO.InJournal("attacking you")
      if n then 
         opponent=UO.GetSerial(UO.JournalSerial(n-1)) 
         Color=UO.GetNotoriety(opponent) 
            if Color==2 OR Color==1 then 
                wait(100) 
                UO.DeleteJournal() 
            else 
                  uo.warmode(true) 
                  uo.attack('opponent')
            end if 
                wait(100)
      end if
      wait(100) 
   wend 
end sub
Поповоду передачи...
Можн опередавать масивы можно и просто глобальными перемеными обойтись...
И потом ты не объеснил как должна запись в масив происходить а что если 3 раз атакуют? я понимаю что должен быть сдвиг масива...
Поподробней
Да, подумал бред... Надежнее сделать что бы после запуска скрипта, переменные запоминались по последнему атаку. Всего 2. Подробно: Запускаю скрипт, вижу 2-х человек. Атачу одного - записался в переменную, атачу 2-го - записался 2-ю переменную. Скрипт остановился. Далее допустим в автолоуде у меня такие скрипты на касты:
sub Febl()
UO.Set('lasttarget','laststatus')
UO.FindType('0x1F30',-1,'my')
If UO.GetQuantity('finditem')>0 then
if UO.Mana>=14 then
UO.WaitTargetObject('laststatus')
UO.UseObject('finditem')
else
UO.Print("No mana")
endif
else
if UO.Mana>=28 then
UO.Cast('Feeblemind','laststatus')
else
UO.Print("No mana")
endif
endif
end sub

А я добавляю еще скрипты и вместо "laststatus" - переменная 1-го и 2-го перса :roll: что-то вроде :)

Не соображу как с массивами работать... помогите разобраться. :arrow:
noLe
Posts: 23
Joined: 2006-02-13 21:35:28

Post by noLe »

Киньте хоть часть скрипта плз с массивом
Post Reply