Sanch wrote:sub fifoPush(value) - откуда берется это vaule и что она делает, отдаленно я знаю что так переносятся переменные из одного скрипта в другой, при запуске второго из первого.
value - значение, которое надо положить в очередь. любая строка, например название каста - Greater Heal, Energy Bolt
Sanch wrote:uo.setGlobal('fifo' + str(head), value) - непонятен смылс такого извращенного задания переменной, что это дает?
в инжекте нету глобальных массивов. поэтому приходиться так вот извращаться.
Sanch wrote:(head == tail) - скобки обязательны?
точно не знаю, но вроде бы нет. просто привчка еще с паскаля
Sanch wrote:return value - в паре своих скриптов использовал просто "return" для выклучения скрипт, что же делает тобой напианая строка я не
понимаю.
return можно использовать не тока для выхода из функии, но и для возврата резултата. например:
Code: Select all
sub statCap()
return uo.str + uo.dex + uo.int
end sub
...
uo.print(str(statCap())) #сумма str, dex и int
...
Sanch wrote:Оч признателен за помощь, но ты не мог бы в кратце изложить принцип работы сего творения?
ну например
Code: Select all
sub energyBolt()
fifoPush("'Energy Bolt' lasttarget")
end sub
sub lightnig()
fifoPush("'Lightning' lasttarget")
end sub
sub greaterHeal()
fifoPush("'Greater Heal' self")
end sub
sub castManager()
var spell
repeat
spell = fifoPop()
if (spell <> '') then
uo.exec('cast ' + spell)
wait(5000)
end if
wait(100)
until 0
end sub
lightning, greaterHeal, energyBolt - забиндены на кнопки. они просто запихиваю в очередь строчку с описанием каста.
castManager запущен постоянно. он пытаеться взять из очереди строку с описанием каста и если строка не пустая, то кастует. выдерживает паузу, и начинает с начала.
fifoInit - просто инициализация переменных.
fifoPush - ложит в очередь очередной элемент. просто создает очередную глобальную переменную fifoNNN - где NNN номер элемента
fifoPop - возвращает элемент из очереди, который был туда положен раньше других (самый старый).
иллюстрация работы очереди
Code: Select all
начальное состояние
head
|
[ 0 ][ 1 ][ 2 ][ 3 ][ 4 ][ 5 ][ 6 ]
|
tail
push
head
|
[ 0 ][ 1 ][ 2 ][ 3 ][ 4 ][ 5 ][ 6 ]
|
tail
push
head
|
[ 0 ][ 1 ][ 2 ][ 3 ][ 4 ][ 5 ][ 6 ]
|
tail
pop
head
|
[ 0 ][ 1 ][ 2 ][ 3 ][ 4 ][ 5 ][ 6 ]
|
tail
pop
head
|
[ 0 ][ 1 ][ 2 ][ 3 ][ 4 ][ 5 ][ 6 ]
|
tail