天工维度魔兽争霸开发者社区-全国最大的TJ集中营-原提百万联盟

标题: YDWE自带Lua教程第四课:物体编辑器数据的生成 [打印本页]

作者: 提百万    时间: 2019-7-8 12:25
标题: YDWE自带Lua教程第四课:物体编辑器数据的生成
// 第四课

<?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






欢迎光临 天工维度魔兽争霸开发者社区-全国最大的TJ集中营-原提百万联盟 (http://bbs.mvprpg.com/) Powered by Discuz! X3.4