哇噢星球

 找回密码
 申请注册
搜索
热搜: 地形 技能 Lua

YDWE自带Lua教程第四课:物体编辑器数据的生成

[复制链接]
皇家骑士 发表于 2019-5-26 13:33:26 | 显示全部楼层 |阅读模式
[Jass] 纯文本查看 复制代码
// 第四课

<?local slk = require 'slk' ?>

function Test1 takes nothing returns nothing
    <? local obj = slk.ability.AHtb:new 'A233' ?>
    // 以'AHtb'(风暴之锤)为模板,创建一个新的技能对象'A233'。不过你在保存后需要重新打开地图才能看到它。
    // 把这个新的对象记下来,等会儿还要用到它
    <?
        obj.Name = "可以晕10秒的风暴之锤"
        obj.levels = 1
        obj.Cool = 0
        obj.Cost = 0
        obj.Rng = 999999
        obj.DataA = 0
        obj.Dur = 10
        obj.HeroDur = 10
    ?>
    // 根据需求,对这个技能的属性进行一些调整
    // 现在,这个技能变成了无消耗无冷却无伤害全地图使用,并可以晕眩10秒
    
    // 只要这段代码存在,你的物编中就会存在'A233'这个技能。如果你不想要这个技能了,把这段代码删除即可
    // 当有对象创建或移除时你会收到一个报告,试试将第6行的'A233'改成'A234'!
endfunction

function Test2 takes nothing returns nothing
    local integer array stuns
    <? 
        for i = 1, 100 do
            local obj = slk.ability.AHtb:new("可以晕"..i.."秒的风暴之锤")
    ?>
            // 创建对象时你可以输入任意不符合ID规范的字符串作为标签,创建出一个动态对象
            // 编辑器会找到一个可用的ID作为该对象的ID
            // 注意,不同对象的标签不能重复!
    <?
            obj.Name = string.format("风暴之锤[%03d]", i)
            obj.levels = 1
            obj.Cool = 0
            obj.Cost = 0
            obj.Rng = 999999
            obj.DataA = 0
            obj.Dur = i
            obj.HeroDur = i
    ?>
            set stuns[<?= i ?>] = '<?= obj:get_id() ?>'
            // 使用 obj:get_id() 来获取对象的ID
    <?
        end
    ?>
endfunction
回复

使用道具 举报

Archiver|手机版|小黑屋|哇噢星球  

GMT+8, 2019-6-25 06:27 , Processed in 0.030912 second(s), 13 queries , File On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表