WORLD OF WARCRAFT

Тема: Вопросы по /script  (Прочитано 10464 раз)

0 Пользователей и 1 Гость просматривают эту тему.

DANic

  • Новичок
  • *
  • Сообщений: 85
Вопросы по /script
« : 01 Октября, 2011, 17:17:30 »
  • Рейтинг:0 (+0 | 0)


Все описания макросов до ходят до по замечательной вещи /script  и максимум что дальше это дают ссылку на англоязычный ресурс с перечнем API.
Меня интересует синтаксис скриптов, хотя бы парочку простых примеров с разъяснением.
Хочу написать скрипт/макрос для роги который проверял бы количество комбо очков на цели в зависимости от это использовал бы определенную способность
Нашел http://wowprogramming.com/docs/api/GetComboPoints я так понял что это функция может веруть количество комбо очков, но как бы я не извращался над ней мне не удалось хотябы просто вывести в чат сообщение с числом комбо на цели...
http://wowprogramming.com/docs/secure_template/SecureActionButtonTemplate&usg=ALkJrhjX3Xe-takz2AcU0VFJPu_R-3so6A
А это я так понимаю может помочь запихнуть в скрипт стандартный макрос (type,macro,macrotext) но у меня тоже ничего не получилось, кто нибуть может помочь с синтаксисом? В какой последовательности писать команды, где ставить скобки, запятые, двоеточия, точки с запятой, кавычки для чего?

alternative

  • Старожил
  • ***
  • Сообщений: 1882

  • Варкрафт: +
    • Имя: Джемироквай
    • Сервер: Гордунни
Re: Вопросы по /script
« Ответ #1 : 01 Октября, 2011, 17:43:32 »
  • Рейтинг:0 (+0 | 0)
Никаких условий в макрос добавить нельзя.

DANic

  • Новичок
  • *
  • Сообщений: 85
Re: Вопросы по /script
« Ответ #2 : 01 Октября, 2011, 17:50:09 »
  • Рейтинг:0 (+0 | 0)
/run for i=1,GetNumRaidMembers()-1 do local u,t=”raid”..i,”target”if UnitIsUnit(u..t,t)then       
SendChatMessage(”Change targets! Trying to sheep…”,”WHISPER”,nil,UnitName(u))end end

цикл и условие. врешь однако.
« Последнее редактирование: 01 Октября, 2011, 17:57:00 by DANic »

alternative

  • Старожил
  • ***
  • Сообщений: 1882

  • Варкрафт: +
    • Имя: Джемироквай
    • Сервер: Гордунни
Re: Вопросы по /script
« Ответ #3 : 01 Октября, 2011, 17:56:09 »
  • Рейтинг:0 (+0 | 0)
Единственные условия, которые можно добавить в макрос - проверка жива/мертва цель, враг/друг, есть цель/нет цели.
Цикл за тебя играть не будет, а условия бы позволили запихать любую ротацию в 1 кнопку.

DANic

  • Новичок
  • *
  • Сообщений: 85
Re: Вопросы по /script
« Ответ #4 : 01 Октября, 2011, 18:03:07 »
  • Рейтинг:0 (+0 | 0)
Макрос на лечение пета
/script M=0;T='player';function F(a)h=UnitHealth(a);d=UnitHealthMax(a)-h;if d>M and h>0 then M=d;T=a;end end F(T);for i=1,4 do p='party'..i;if p then F(p);TargetUnitsPet(p);p='target';if p then F(p);end end end TargetUnit(T);CastSpell(66,'spell')

В данном макросе идет проверка if d>M and h>0, и если я правильно понимаю то скрипт использует синтаксис LUA то тут точно нет никаких ограницений на проверку IF, а тчомешает написатьбота макросами так это ограничение в 255 символов.

alternative

  • Старожил
  • ***
  • Сообщений: 1882

  • Варкрафт: +
    • Имя: Джемироквай
    • Сервер: Гордунни
Re: Вопросы по /script
« Ответ #5 : 01 Октября, 2011, 18:20:13 »
  • Рейтинг:0 (+0 | 0)
В макросе можно вызывать другой макрос, что позволяет обходить ограничение в 255 символов, правда я уже забыл как.
Так что погугли и вперед писать бота.

DANic

  • Новичок
  • *
  • Сообщений: 85
Re: Вопросы по /script
« Ответ #6 : 01 Октября, 2011, 18:42:28 »
  • Рейтинг:0 (+0 | 0)
да мне ни бот ненужен, ни обходить ограничение, то что мне нужно я написал в первом посту, и я знаю что это возможно, просто нужна помощь с синтаксисом как построить конструкцию чтобы все это работало

Pogo

  • Новичок
  • *
  • Сообщений: 43
Re: Вопросы по /script
« Ответ #7 : 04 Октября, 2011, 09:16:24 »
  • Рейтинг:0 (+0 | 0)
Макрос на лечение пета
/script M=0;T='player';function F(a)h=UnitHealth(a);d=UnitHealthMax(a)-h;if d>M and h>0 then M=d;T=a;end end F(T);for i=1,4 do p='party'..i;if p then F(p);TargetUnitsPet(p);p='target';if p then F(p);end end end TargetUnit(T);CastSpell(66,'spell')

В данном макросе идет проверка if d>M and h>0, и если я правильно понимаю то скрипт использует синтаксис LUA то тут точно нет никаких ограницений на проверку IF, а тчомешает написатьбота макросами так это ограничение в 255 символов.

Зачем сюда постить макросы с пираток, где в скриптах работают protected функции?

Макрос в общем понимании состоит из макро команд и из скриптов (/run... /script...). Так вот в макро командах нет условий/циклов/..., а в скриптах есть большой список "того чего нельзя сделать", в том числе скастовать спелл.

Список "того чего нельзя сделать" с помощью аддонов/скриптов:

(показать/скрыть)

да мне ни бот ненужен, ни обходить ограничение, то что мне нужно я написал в первом посту, и я знаю что это возможно, просто нужна помощь с синтаксисом как построить конструкцию чтобы все это работало

Ну, если вы знаете что это возможно, значит вы играете на пиратке. А значит должно выглядеть примерно так:

/script function a() return GetComboPoints("player", "target") end if a()==1 then CastSpell(<id1>,"spell") end if a()==2 then CastSpell(<id2>,"spell") end
« Последнее редактирование: 04 Октября, 2011, 09:24:00 by Pogo »

Hanomi

  • Завсегдатай
  • **
  • Сообщений: 921
Re: Вопросы по /script
« Ответ #8 : 04 Октября, 2011, 09:53:34 »
  • Рейтинг:0 (+0 | 0)
я устаю от таких тем порой

вот в макросе на лечение пета нет применения абилки по условиям, она юзается уже вне условий IF

через IF можно делать только элементарные вещи, как писать в чат, а макрос "на хил" по этим условиям меняет значение "T", но сам спелл пытается кастоваться всегда

вот пример моего макроса на мастер аур, делает проверку, если мастер аур в кд... то нечего не пишит в чат

#showtooltip
/script if GetSpellCooldown(Мастер аур)==0 then SendChatMessage("\124cff71d5ff\124Hspell:31821\124h[Aura Mastery]\124h\124r".." on RAID!","RAID",nil) end
/cast Мастер аур
« Последнее редактирование: 04 Октября, 2011, 10:05:17 by Hanomi »

Pogo

  • Новичок
  • *
  • Сообщений: 43
Re: Вопросы по /script
« Ответ #9 : 04 Октября, 2011, 11:47:18 »
  • Рейтинг:0 (+0 | 0)
вот в макросе на лечение пета нет применения абилки по условиям, она юзается уже вне условий IF
Ничего не мешает его поместить его в условие, и он будет прекрасно работать.... на пиратке с возможностью юзать spellcast.

через IF можно делать только элементарные вещи, как писать в чат, а макрос "на хил" по этим условиям меняет значение "T", но сам спелл пытается кастоваться всегда
"Через IF" можно делать что угодно.

вот пример моего макроса на мастер аур, делает проверку, если мастер аур в кд... то нечего не пишит в чат

#showtooltip
/script if GetSpellCooldown(Мастер аур)==0 then SendChatMessage("\124cff71d5ff\124Hspell:31821\124h[Aura Mastery]\124h\124r".." on RAID!","RAID",nil) end
/cast Мастер аур
И в чем смысл этого макроса? Чтобы заспамить чат, что вы не находитесь в рейде когда вы юзаете МА вне рейда? Или чтобы писать тонну таких же макросов для других абилок? Для этого есть нормальные аддоны, которые реагируют на комбатлог и пишут о применении и спадении абилок.

Shestak

  • Завсегдатай
  • **
  • Сообщений: 164
Re: Вопросы по /script
« Ответ #10 : 04 Октября, 2011, 12:38:14 »
  • Рейтинг:0 (+0 | 0)
И в чем смысл этого макроса? Чтобы заспамить чат, что вы не находитесь в рейде когда вы юзаете МА вне рейда?
Чего? О_о

Pogo

  • Новичок
  • *
  • Сообщений: 43
Re: Вопросы по /script
« Ответ #11 : 04 Октября, 2011, 16:42:42 »
  • Рейтинг:0 (+0 | 0)
И в чем смысл этого макроса? Чтобы заспамить чат, что вы не находитесь в рейде когда вы юзаете МА вне рейда?
Чего? О_о
...что "вы не находитесь в рейде" когда вы юзаете МА вне рейда.
Так понятнее?

Shestak

  • Завсегдатай
  • **
  • Сообщений: 164
Re: Вопросы по /script
« Ответ #12 : 04 Октября, 2011, 17:27:29 »
  • Рейтинг:0 (+0 | 0)
Тот макрос создавался спецательно для рейда, то есть я его врятли буду прожимать делая дейлик. Во все остальное время, "я" в рейде, и он априори будет "уходить" в рейд канал который существует.

Hanomi

  • Завсегдатай
  • **
  • Сообщений: 921
Re: Вопросы по /script
« Ответ #13 : 04 Октября, 2011, 21:13:39 »
  • Рейтинг:0 (+0 | 0)
я криво излагаю мысли, да пофик, суть только в том, что вопрос ТС невыполним х)

и да МА юзается только в рейде, не вижу проблем

DANic

  • Новичок
  • *
  • Сообщений: 85
Re: Вопросы по /script
« Ответ #14 : 04 Октября, 2011, 23:22:23 »
  • Рейтинг:0 (+0 | 0)
Список "того чего нельзя сделать" с помощью аддонов/скриптов:

(показать/скрыть)
То что нужно было, вот только по русски бы. ну раз средствами близов нельзя значит найду другие.

 

закрыть