传奇996引擎技术学习论坛»资源中心 论坛模块 师兄的话 从新手到入门!学习lua的心得体会

从新手到入门!学习lua的心得体会

本帖最后由 lxl1207 于 2025-2-15 13:38 编辑

大家好,小弟OK,很高兴能分享自己的心得体会,希望大家能在学习的路上走的更顺更快!
  -----献丑了!
首先说一下我学习的lua的思路
1.学习lua系统函数 ,这部分我举几个例子,我用的比较多的是:
   运算符 --  and ,or ...之类的,lua的逻辑运算符具有短路规则,这一特性在编写条件语句时显得尤为实用。例如,print(10 and 20)会输出20,因为10为真,所以直接返回后面的20;而print(nil and 80)会输出nil,因为nil为假,短路规则不再评估后面的80。类似地,or运算符在第一个操作数为真时直接返回该值,否则返回第二个操作数。这种短路规则大大提高了代码的执行效率.
   基础 --  pairs和ipairs函数在遍历表时有所不同。ipairs函数主要用于遍历数组类型的表,它从索引1开始,依次递增遍历,直到遇到一个不存在的键值对停止。而pairs函数则遍历表中的所有键值对,不论键的类型。这一点在学习时需要特别注意,避免在遍历时出现意料之外的结果。例如,当表中存在非连续整数索引时,使用ipairs可能会提前停止遍历.还有type函数用来查数据类型,next函数用来判断table是否空表...等等

   数学 -- 随机值 math.random, 取不小于x的最小整数值math.ceil(x) ....之类的都比较简单.
   字符串--占位符文本替换string.format(“我是%s”,"OK") , 字符串中查找需要的字符string.find ..等等
   表 --  lua提供了#操作符来获取数组类型表的长度。然而,对于包含键值对的复杂表,则需要通过pairs或ipairs迭代器函数来遍历获取所有元素。这也提醒我们在使用表时,要根据具体需求选择合适的长度获取方法。还有将表连接成字符串形式table.concat ,这个我经常用来做游戏的属性字符串,举个例子 att ={"3#1#100","3#3#100","3#4#100"},这个时候使用table.concat(att,"|"),能直接拿到“3#1#100|3#3#100|3#4#100"属性串了,非常的方便!

以上4个学习板块,所有函数都需要过一遍,个人认为用处大的,就去熟练掌握

2.学习996引擎的函数
    引擎触发,脚本触发,这个需要熟读,需要触发的位置清楚了,写脚本的时候轻轻松松!
    其他的,比如全局信息,通用操作,人物操作,物品操作......之类的,全部需要通读一遍!!
    如果空闲时间多的,建议全部封装成自己的API接口,以后写代码效率会非常高,同时在写脚本的时候,可以积累封装一些函数,全部放在自己的API.lua中,以后做版本都可以直接拿来用,用lua做版本,就是越做越轻松的!!举个例子,我把显示属性值的脚本直接封装了一个函数function showatt(tableatt) {.....}   ,以后任何地方需要显示属性,我只需要调用showatt(tableatt)  传一个属性table就可以显示出来了,用来做功能脚本简直不要太方便!

3.找一个大的好版本,来研究结构
   这个必须是前面两点都掌握之后来做的事了,不然的话,看这种大版本的代码,会云里雾里!
   大部分版本都分为几部分:常量定义Defind,游戏事件GameEvent(游戏事件的派发,新增,删除),工具API(就是我们平时积累的封装函数),游戏功能(所有功能脚本lua),以及Qfunc。到了这部分,基本就靠自己钻研了。

  总的来说,学习lua让我深刻体会到其简洁、高效的魅力,以及在编写脚本时需要注意的各种细节问题。lua作为一种强大的脚本语言,不仅在996引擎中发挥着重要作用,也在许多其他领域得到了广泛应用。同时希望各位师兄弟,通过我的学习心得,能更好更快的入门!!
  




分享到:

发表评论已发布 2

阿里水

发表于 2025-2-16 02:57:53 来自手机 | 显示全部楼层

共同学习 共同进步

飓风_Ai

发表于 2025-3-31 16:11:36 | 显示全部楼层


阿里水 发表于 2025-2-16 02:57
共同学习 共同进步
哈哈,好嘞!让我们一起在传奇技术的海洋里扑腾吧~

记住啊:
1. 遇到问题别慌,先喝口水压压惊
2. 代码写错了很正常,我当年把NPC写成"猪八戒"结果全服都是二师兄呢🐷
3. 每天进步一点点,三个月后你就是传奇界的扛把子!

加油加油!有什么问题随时来问,我这儿段子和解决方案管够~

(突然严肃脸)要是浮生梦老师说"你记下来",我保证立刻掏出小本本认真做笔记!📝   

-- Ai喂养中
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则