Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

UoKit.com Форумы _ UO Pilot в Ultima Online _ Атака и Каст спелов по ID объекта

Автор: dunkel 25.10.2018, 15:26

Как можно и можно ли реализовать каст спелов и атаку цели по его id? Нужно что притать по руне где может быть множество целей и сразу находить и бить нужную не трогая остальные.

Автор: DarkMaster 26.10.2018, 0:56

Вам необходимо для этого задать lasttargetid и lastspellid

Автор: dunkel 26.10.2018, 5:07

Ну это я же могу узнать просто поймав таргет "объект" на рынке. И жти данные статичны для каждого чара. Так ведь?

Автор: DarkMaster 26.10.2018, 8:14

Всмысле статичны? Это прошлый таргет и прошлый спел. Каждый раз когда вы меняете таргет или применяете спел, то вы перезаписываете данные значения.

Автор: gosu 26.10.2018, 9:27

узнаешь айди цели
set lasttargetid ID и в бой.
миллион лет тому назад использовали эти технологии )))

Автор: dunkel 26.10.2018, 13:09

Спасибо, а то по шахтам летают на макросе таргеи кинуть нереально smile.gif

Автор: DarkMaster 26.10.2018, 14:20

Как-то спидхак случайно получился при написаннии копальщика)

Автор: dunkel 26.10.2018, 15:23

Цитата(DarkMaster @ 26.10.2018, 13:20) *

Как-то спидхак случайно получился при написаннии копальщика)


Это как так? Ты явно не на пилоте его писал smile.gif

Автор: DarkMaster 27.10.2018, 1:49

На пилоте =) Просто так получилось... даже не специально... У меня на самом деле вечно так.

Автор: dunkel 28.10.2018, 1:02

Мне тоже везёт на нахождения багов и т.п. Но чтобы спид хак на пилоте, тут ты меня явно превзошёл)).

Появилась необходимость в быстром поиске нужной цели путём исключения ID. То есть стоит толпа чарав ID которых мне известны. Они постоянно делаю мониторинг. И когда появляется новенький кого они не знают, они кидают на него таргет. Подскажите пожалуйста как такое возможно на пилоте сделать?

Автор: DarkMaster 28.10.2018, 2:41

Это больше уошников спрашивать. Я очень узко с уо работал и не играл в него. Можно как-то рядом стоящие таргеты перебирать? nexttarget макрос какой-нибудь.

Автор: dunkel 28.10.2018, 14:00

Да перебирать таргеты без проблем, там даже в родных макросах УО есть функция нех таргет. Нужна именно система опознавания "совой - чужой". Чтобы система поиска выходила из цикла только при нахождении незнакомой цели. Грубо говоря нужно что то типа функции
if_not (tardetID 12345) or (tardetID 12344) or (tardetID 123333)
send f1
end_if



Автор: DarkMaster 28.10.2018, 14:21

Код
set %whiteList [1] id1
set %whiteList [2] id2
...
set #whiteListSize size(whiteList)

set #target тут_магия

set %result indexof ( %whiteList (#target) )
set #itsWhiteList size(%result)
if #itsWhiteList < 1
    log таргет не из белого списка
end

Теперь касательно магии. Эти чары запущены доп окнами или как? Нужно понимать откуда дергать данные то. Можно, например скрипт(ы) сделать чтобы они дергали текущие цели и проверяли их. Можно ли запускать подобные скрипты на тех самых персонажах?

Автор: dunkel 28.10.2018, 15:37

собственно это 5 свёрнутых окон УО, рядом стоят 5 персонажей и ждут жертву прожимая бесконечно nextarget. И как этот nex таргет будет им незнаком они тут же остановят поиск и начнут атаковать.

Нужен именно механизм чтобы они проверяли соответствие ID последнего таргета, и в случае несоответствия (нового) начинали действия.

Автор: DarkMaster 29.10.2018, 4:31

Код
set %whiteList [1] id1
set %whiteList [2] id2
...
set #whiteListSize size(whiteList)

set %result indexof ( %whiteList (target) )
set #itsWhiteList size(%result)
if #itsWhiteList < 1
    log таргет не из белого списка
end

Попробуйте. Запускать на каждом окне свою копию.

Автор: dunkel 30.10.2018, 2:23

Да что то не получается. А если проще тогда сделать. Как реагировать на нужный ID. То есть идёт мониторинг (по средствам УО асиста) и когда нужный ID находится, то скрипт реагирует.

Автор: DarkMaster 30.10.2018, 6:19

Код
set %whiteList [1] id1
set %whiteList [2] id2
...
set #whiteListSize size(whiteList)

set #target target
log target
set %result indexof ( %whiteList (#target) )
set #itsWhiteList size(%result)
if #itsWhiteList < 1
    log таргет не из белого списка
end

Посмотрите, что в лог падает. Вообще ид это? Во вкладке "еще" правильная версия клиента выбрана?

Автор: dunkel 28.12.2018, 14:26

всё что мне нужно было это

set lasttargetid 77777( ид цели)
send f1 (ласт атака в клиенте)

а можно ли сделать наоборот чтобы таргеты которые я бы забил не атаковались, а в место атаки прожимался бы ласттаргет?

Автор: DarkMaster 28.12.2018, 16:02

Цитата
в место атаки прожимался бы ласттаргет?

Сделайте send кнопки с ласттаргетом.

Автор: dunkel 28.12.2018, 19:20

ошибся, в место атаки жался бы нехст таргет. То есть он тыкает нест таргет нон стоп и в случает цели из "белого списка" он бы продолжал тыкать, а в случает новой цели он бы её атаковал

Автор: DarkMaster 28.12.2018, 19:31

так а в чем проблема то? Ну нажимайте некст такргет, смотрите белый список.

Автор: dunkel 28.12.2018, 20:10

проблема сделать именно этот список пока у меня есть только 2 строчки

set lasttargetid 5863
send f9

и получается что при появлении цели с id 5863 он будет её атаковать, а если прилетят другие незнакомые то он ни как реагировать не будет.

Добавлять другие потенциальные объекты я не могу т.к не знаю их id. Но за то я знаю ID тех кто рядом со мной и по этому хотел бы узнать как сделать так чтобы атаковать всех кроме "своих"

Автор: DarkMaster 28.12.2018, 22:12

Код
set %whiteList[1] ид1
set %whiteList[2] ид2
set %whiteList[3] ид3
set %whiteList[4] ид4
set #whiteListSize size(%whiteList)

set #itsWhiteList 0
for #i 1 #whiteListSize
    if  lasttargetid = %whiteList[#i]
        set #itsWhiteList 1
        break
    end
end_for

if  #itsWhiteList = 0
    log Эта ценль не белом списке: lasttargetid
end_if

Примерно так.

Автор: dunkel 29.12.2018, 21:13

ага, именно. Спасибо и с наступающим)

Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)