• 不需要考虑武器的唯一性的切换武器

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://wowhong.blogbus.com/logs/1380736.html

    MACRO 19 '潜行' Ability_Ambush.blp
    /施放 潜行(等级 3)
    /script if(notdagger()) then lefttoright() end
    END
    MACRO 24 '背刺' Ability_BackStab.blp
    /script if(isdagger()) then CastSpellByName('背刺(等级 5)') else lefttoright() end
    END
    MACRO 26 '邪恶攻击' Spell_Shadow_RitualOfSacrifice.blp
    /script if(notdagger()) then CastSpellByName('邪恶攻击(等级 6)') else lefttoright() end
    END
    MACRO 29 '消失' Ability_Vanish.blp
    /施放 消失(等级 1)
    /script if(notdagger()) then lefttoright() end
    END
    MACRO 44 '初始' Spell_Shadow_ScourgeBuild.blp
    /script function isdagger() GameTooltip:SetInventoryItem('player', GetInventorySlotInfo('MainHandSlot')) tip=GameTooltipTextRight3:GetText() or GameTooltipTextRight4:GetText() if(tip=='匕首') then return true else return false end end;
    /script function notdagger() return isdagger()==false end;
    /script function lefttoright() PickupInventoryItem(16) PickupInventoryItem(17) end;
    /script function change(bag,slot) PickupContainerItem(bag, slot) PickupInventoryItem(16) end
    END



    这里我使用了函数作为判断方法来取代了以前的判断语句,基本上拷贝上去就可以用了。

    名字为“初始”的宏是刚进入游戏时就要运行的,很重要。我使用了SuperMacro插件,所以写的长了点,你们使用时请将红色部分和蓝色部分做成两个宏并在游戏开始时依次使用(先红色后蓝色)

    I. 函数部分说明
    isdagger()如果主手武器是匕首,返回true,否则返回false。
    notdagger()如果主手武器是匕首,返回false,否则返回true。
    lefttoright() 切换武器函数 左右手互换
    change(bag, slot) 切换武器函数 把放在包中的武器放到主手位置
    bag ----------------所在包
    slot ----------------所在格
    例子 change(0,1) 把第一个包的第一个格内武器取到主手
    我提供了两个切换武器函数,请根据自己的情况在上面的宏中做修改,两个取其一。
    也许我想得太简单了,有些人也问到了,我把只换主手武器的宏放在下面了(取第一个包第一格,记得把上面的初始宏也加上)
    MACRO 19 '潜行' Ability_Ambush.blp
    /施放 潜行(等级 3)
    /script if(notdagger()) then change(0,1) end
    END
    MACRO 24 '背刺' Ability_BackStab.blp
    /script if(isdagger()) then CastSpellByName('背刺(等级 5)') else change(0,1) end
    END
    MACRO 26 '邪恶攻击' Spell_Shadow_RitualOfSacrifice.blp
    /script if(notdagger()) then CastSpellByName('邪恶攻击(等级 6)') else change(0,1) end
    END
    MACRO 29 '消失' Ability_Vanish.blp
    /施放 消失(等级 1)
    /script if(notdagger()) then change(0,1) end
    END



    修改技能等级。然后ok.

    III.注意
    上面的宏都经过了测试,但是直接从网页上copy的话,一些语句由于显示尔被加上了回车,造成使用错误,请注意一下。
    其次,请使用唯一性质武器的玩家,帮我进行一下测试。我暂时没有这类武器,希望有人能帮我检测一下。


    收藏到:Del.icio.us