魔兽世界宏命令高手来看看

2025-01-05 08:15:37
推荐回答(2个)
回答1:

  如果没说错的话,这个宏有错误或这个宏不是完整的。
  首先解释下宏的意思
  /script if (UnitClass("target")=="Warrior") then SendChatMessage("", "WHISPER") else
  脚本 判断 目标是否为战士,如果是就悄悄话M他说“”.否则

  if (UnitClass("target"))=="Roque" then SendChatMessage("", "WHISPER") else
  判断 目标是否为盗贼,如果是就悄悄话M他说“”.否则

  if (UnitClass("target"))=="Priest" then SendChatMessage("", "WHISPER") else
  判断 目标是否为牧师,如果是就悄悄话M他说“”.否则

  if (UnitClass("target"))=="Mage" then SendChatMessage("", "WHISPER") else
  判断 目标是否为法师,如果是就悄悄话M他说“”.否则

  if (UnitClass("target"))=="Hunter" then SendChatMessage("", "WHISPER") else
  判断 目标是否为猎人,如果是就悄悄话M他说“”.否则

  SendChatMessage("", "WHISPER") end end end end end
  如果都不满足以上条件直接对目标悄悄话M“”;

  /script SendChatMessage("", "WHISPER")
  脚本M话方式;
  结素。

  这个宏应该是判断目标什么职业然后做出相应的M话,M话内容应该在SendChatMessage("", "WHISPER")这个函数的""里。WHISPER是选择对话方式,不写默认为普通。

  补充:
  不好意思,前就几天由于忙,没时间来,现在仔细看了看。终于发现问题的所在。问题如下:
  首先了解下这个函数SendChatMessage()参数结构:
  SendChatMessage("message","system","language","channel");

  不知道为什么,惟独当system参数为whisper时需要加完整的参数。
  我把你的宏改了下。(一定要注意,为了保证宏的正确性,要直接复制,格式和位置千万不要改动)具体如下:

  /script if UnitClass("target")=="战士"then SendChatMessage('你要说的内容','whisper',this.language,UnitName('target'));else if UnitClass("target")=="盗贼"then SendChatMessage('你要说的内容','whisper',this.language,UnitName('target'));else if UnitClass("target")=="牧师"then SendChatMessage('你要说的内容','whisper',this.language,UnitName('target'));else if UnitClass("target")=="法师"then SendChatMessage('你要说的内容','whisper',this.language,UnitName('target'));else if UnitClass("target")=="猎人"then SendChatMessage('你要说的内容','whisper',this.language,UnitName('target'));else SendChatMessage('你要说的内容','whisper',this.language,UnitName('target'));end end end end end
  我是在记事本上敲的.貌似贴进来位置变了,记得,用的时候千万不要为了美观换行.(shilong_1229原创)

  国际惯例:2区 爱斯特纳巨魔猎人

回答2:

一个END就够了吧?
WOW宏是LUA编程的,跟一般的编程语言不太一样,我也试过编,很多看起来没问题的,结果也是不能用.
估计是BLIZZARD限制了吧/