--[[作者信息: Auto Learn SKills (升级自动学习技能) 作者QQ:247321453 作者Email:247321453@qq.com 修改日期:2014-3-12 功能:在玩家升级时,自动学习相应等级的技能(可以连续升级) ]]-- print(">>Script: Auto Learn SKills.") --CLASS 职业 --战士 --圣骑士 --猎人 --盗贼 --牧师 --死亡骑士 --萨满 --法师 --术士 --德鲁伊 --[[ --…
Bolt没有提供官方IDE,缺少强大的代码提示和自动补全,Notepad++写起界面和脚本来比较费劲. Notepad++有个QuickText插件,支持多语言的自动补全,进行简单的配置就可以支持Bolt XML和JQBolt Lua代码. 配置后的效果,输入关键字,Ctrl+Enter自动补全: 下面介绍一下配置方法: 1.在JQBolt中下载QuickText插件和已经配置好的配置文件:https://github.com/zhenghecn/JQBolt,这两个文件在plugins目录下:…
1.编写lua脚本用于生成主键ID序列号,内容如下 local key = tostring(KEYS[1]); local count = tonumber(KEYS[2]); local dateStr = tostring(KEYS[3]); local newKey = key .. "_" .. dateStr; local numRedis = redis.call("incr", newKey); print(numRedis); if (numRed…
前言 在上一篇文章 Unity3D热更新之LuaFramework篇[06]--Lua中是怎么实现脚本生命周期的 中,我分析了由LuaBehaviour来实现lua脚本生命周期的方法. 但在实际使用中发现,只有一个这样的脚本还不够. LuaBehaviour驱动XxxPanel.lua脚本的方法,只适用于界面相对简洁的情况(界面上只有少量的Image.Text和其它UI组件),一但遇到稍微复杂一点的情况,就有点捉襟见肘了,比如一个包含多个子项的排行榜页面. 现以一个排行榜的示例来说明. 一.创建…
Lua采用了基于垃圾收集的内存管理机制,因此对于程序员来说,在很多时候内存问题都将不再困扰他们.然而任何垃圾收集器都不是万能的,在有些特殊情况下,垃圾收集器是无法准确的判断是否应该将当前对象清理.这样就极有可能导致很多垃圾对象无法被释放.为了解决这一问题,就需要Lua的开发者予以一定程度上的配合.比如,当某个table对象被存放在容器中,而容器的外部不再有任何变量引用该对象,对于这样的对象,Lua的垃圾收集器是不会清理的,因为容器对象仍然引用着他.如果此时针对该容器的应用仅限于查找,而不是遍历的…
     Lua的长处之一就是可以通过新类型和函数来扩展其功能.动态类型检查最大限度允许多态出现,并自动简化调用内存管理的接口,因为这样不需要关心谁来分配内存谁来释放内存,也不必担心数据溢出.高级函数和匿名函数均可以接受高级参数,使函数更为通用.      Lua使用者分为三大类:使用Lua嵌入到其他应用中的.独立使用Lua的.将Lua和C混合使用的.     .在控制结构的条件中除了 false和 nil为假,其他值都为真.所以Lua认为0和空串都是真.   Lua会自动在 string和 n…
Lua 与 C 的交互 Lua是一个嵌入式的语言,它不仅可以是一个独立运行的程序,也可以是一个用来嵌入其它应用的程序库. C API是一个C代码与Lua进行交互的函数集,它由以下几部分构成: 1.  读写Lua全局变量的函数: 2.  调用Lua函数的函数: 3.  运行Lua代码片段的函数: 4.  注册C函数后可以在Lua中被调用的函数: 在C和LUA之间交互的关键在于一个虚拟栈(virtual stack),数据交互通过栈进行.操作数据时,首先将数据拷贝到栈上,然后获取数据,栈中的每个数据…
弱引用table 与python等脚本语言类似地,Lua也采用了自动内存管理(Garbage Collection),一个程序只需创建对象,而无需删除对象.通过使用垃圾收集机制,Lua会自动删除过期对象.垃圾回收机制可以将程序员从C语言中常出现的内存泄漏.引用无效指针等底层bug中解放出来. 我们知道Python的垃圾回收机制使用了引用计数算法,当指向一个对象的所有名字都失效(超出生存期或程序员显式del了)了,会将该对象占用的内存回收.但对于循环引用是一个特例,垃圾收集器通常无法识别,这样会导…
什么是环境? http://www.lua.org/manual/5.1/manual.html#2.9 Besides metatables, objects of types thread, function, and userdata have another table associated with them, called their environment. Like metatables, environments are regular tables and multiple…
在这篇文章中,我想向大家介绍如何进行Lua程序设计.我假设大家都学过至少一门编程语言,比如Basic或C,特别是C.因为Lua的最大用途是在宿主程序中作为脚本使用的. Lua 的语法比较简单,学习起来也比较省力,但功能却并不弱. 在Lua中,一切都是变量,除了关键字.请记住这句话. I. 首先是注释 写一个程序,总是少不了注释的. 在Lua中,你可以使用单行注释和多行注释. 单行注释中,连续两个减号"--"表示注释的开始,一直延续到行末为止.相当于C++语言中的"//&quo…