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

标题: YDWE自带Lua教程第一课:简单的演示 [打印本页]

作者: 提百万    时间: 2019-7-8 12:19
标题: YDWE自带Lua教程第一课:简单的演示
// 第一课只是帮助大家了解一个完整的读取物体编辑器数据的过程

// 初始化整个系统,具体的语法可以不必深究,只需要记得,把这一行放在最前面就行了
// 一张地图只需要调用一次
<?local slk = require 'slk' ?>

function Test1 takes nothing returns nothing
    // 读取物品'afac'的'goldcost'值
    // 'afac'是物品的id,相信会用Jass的人都不会陌生,具体的值可以在物体编辑器中按Ctrl+D看到
    // 'goldcost'是物品的一个属性,其中文的含义是这个物品在商店的售价,同样可以在物体编辑器中按Ctrl+D看到
    local integer gold1 = <?=slk.item['afac']['goldcost']?>

    // 这两种写法是等价的
    local integer gold2 = <?=slk.item.afac.goldcost?>


    // 小提示:为了让你更好地理解lua模版到底干了些什么,你可以在下面简单加一个a,
    //    让Jass产生语法错误,这样你就可以在JassHelper的语法错误提示框中看到,上
    //    面的语句最后的面目了。这个小技巧在之后的演示都可以用到。
endfunction

function Test2 takes nothing returns nothing
    // 读取物品'afac'的'Name'值,也就是物品的名字
    //     注意这次加了双引号(为什么?)
    local string item_name = "<?=slk.item.afac.Name?>"

    // 读取物品'afac'的'Art'值,也就是物品的图标路径
    //     注意这次加了string.format('%q', xx)
    //     为什么?请自行试试不加的语句 <?=slk.item.afac.Art?>
    local string item_icon = <?=string.format('%q', slk.item.afac.Art)?>


    // 读取单位'hfoo'的'Art'值,也就单位的名字
    //     注意和物品的区别在哪里
    local string unit_name = "<?=slk.unit.hfoo.Name?>"   

    // 依次为 技能、魔法效果、可破坏物、地形装饰物、科技
    local string ability_name      = "<?=slk.ability.Aply.Name?>"   
    local string buff_name         = "<?=slk.buff.BHbd.Bufftip?>"   
    local string destructable_name = "<?=slk.destructable.ATtc.Name?>"   
    local string doodad_name       = "<?=slk.doodad.AOgs.Name?>"
    local string upgrade_name      = "<?=slk.upgrade.Rhri.Name?>"
endfunction

作者: ppp624371302    时间: 2019-7-29 17:00
反复看看   看多了就懂了
作者: only    时间: 2020-10-26 10:21
谢谢楼主分享,认真看了下还是可以懂,期待后续教程




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