Jump to content
Sign in to follow this  
Av_vA

Макрос на проверку временного энчанта на оружии

Recommended Posts

/script local a = GetWeaponEnchantInfo(); If a == 0 then DEFAULT_CHAT_FRAME:AddMessage("1") else DEFAULT_CHAT_FRAME:AddMessage("2"); end

В чем ошибка?

 

 

Share this post


Link to post
Share on other sites

Я не про это.

 

Вобщем нашел выход:

/script local a, b, c  = GetWeaponEnchantInfo(); if b then DEFAULT_CHAT_FRAME:AddMessage("1") else DEFAULT_CHAT_FRAME:AddMessage("2"); end

Share this post


Link to post
Share on other sites

В lua  if a  не проходит, если a = false или nil  во всех остальных случаях a=true

Иными словами если в переменной лежит хоть какой значение и не false - то это всегда true даже если оно ноль(с логической точки зрения)

/script local hasMainHandEnchant = GetWeaponEnchantInfo() if hasMainHandEnchant then DEFAULT_CHAT_FRAME:AddMessage("Yes") else DEFAULT_CHAT_FRAME:AddMessage("No") end

http://www.wowwiki.com/API_GetWeaponEnchantInfo?oldid=88055

 

hasMainHandEnchant, mainHandExpiration, mainHandCharges, hasOffHandEnchant, offHandExpiration, offHandCharges = GetWeaponEnchantInfo()

чтобы добраться до нужного, отсекая лишнее (к примеру  hasOffHandEnchant) можно писать

_, _, _, hasOffHandEnchant = GetWeaponEnchantInfo()

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

buffed("rockbiter",nil,1) -- player's weapon buff; returns "main" or "off", time left, charges

Но это для поиска конкретного энчанта на пухе.

 

 

Так, на всякий случай.

Edited by shuraken007

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×