LUACN论坛

 找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
热搜: YJWOW MagicStone BoL
查看: 8095|回复: 1

泰坦知识库--相关名词解释 20161027

 关闭 [复制链接]
发表于 2016-10-27 19:14:59 | 显示全部楼层 |阅读模式
相关名词解释
目录 [隐藏]
1        游戏模块
2        游戏配置
2.1        多套脚本配置
2.2        多游戏客户端配置
3        脚本
3.1        脚本版本
3.1.1        开发版
3.1.2        最新版
3.2        应用,保存和重载
4        库脚本
4.1        默认名字空间
4.2        区块
5        循环脚本
5.1        动作
5.2        按键绑定
5.2.1        系统级按键绑定
5.2.2        自定义按键绑定
5.2.3        在动作代码中的联合应用
5.3        配置变量
5.3.1        在动作代码中访问
5.3.2        在按键代码中修改
游戏模块
泰坦是一个(可以)支持多游戏的辅助平台,开发组通过在云端部署“游戏模块”实现对某一款游戏所有版本的支持。游戏模块在泰坦客户端会显示在左侧列表中,并且有单独的计费时间。每一个游戏模块都独享一组游戏配置,一整套脚本。


游戏配置
一个游戏模块下允许用户自定义若干游戏配置,用户需要为每个游戏配置指定一个唯一的名字和对应游戏的主程序文件路径。游戏配置不仅是启动/管理游戏进程的基本单位(一个游戏配置对应最多一个游戏进程),而且还对应一套独立的所有当前用户的脚本配置。灵活创建/组合游戏配置,可以实现以下几种常见的游戏辅助功能的并行化管理。

多套脚本配置
假设你拥有A,B,C三个脚本,但是你希望保存多套针对这三个脚本的配置方案,那么你可以创建多个游戏配置分别管理。需要哪个配置方案的时候,就用哪个游戏配置启动游戏。

多游戏客户端配置
假设你同一个游戏有若干个主程序文件(比如常见的32位和64位客户端),甚至有多份游戏拷贝,你可以为每个游戏主程序文件创建一份游戏配置。


脚本
脚本是泰坦中最重要也是最核心的逻辑单元,是实现游戏辅助功能最基本和最直接的子程序。泰坦提供了独有的云端脚本平台,使得用户可以创建自己的针对某一游戏模块的脚本,并可选择性的通过云端分享给其他用户。泰坦脚本是完全存在于云端的事物,与常见的游戏插件最根本的差别在于,它没有任何持久化存于本地PC上的数据,因而这使得脚本分享变得十分简单,并为商业化脚本奠定了坚实的基础。

脚本版本
泰坦为脚本提供了强大易用的版本管理系统,使得每个泰坦脚本都可以依照创建时间先后顺序,按照自然数递增的方式命名方式,来创建不同版本。每创建一个版本,就会将当前的脚本的非通用数据(除名称、介绍等之外)冻结出一个只读副本,同时最新版 + 1。

开发版
最新创建的版本又叫做开发版(版本号为N),供作者编辑和测试使用,其他人不可见。而且,作者仅能编辑开发版,其他历史版本都是只读的。

最新版
开发版前一个版本(N-1)又叫做最新版,是其他用户能看到的最新版本。

应用,保存和重载
在泰坦脚本编辑器中,通过在右侧选取具体的属性可以在左侧主界面中对每个属性进行编辑。当完成属性编辑后,必须点取“应用”方可完成真正的修改。但此时的修改依然是临时存在客户端的,你需要点取应用(保存数据到服务器)或重载(保存数据到服务器并且重载脚本)来实现最终的保存。


库脚本
库脚本是泰坦脚本中的基石,旨在为循环脚本提供依赖型封装功能。有特定权限的脚本作者可以在泰坦脚本平台上发布游戏模块全局的库脚本,供其他脚本作者使用来开发各自的循环脚本。库脚本的加载和运行方式非常类似WOW的插件,为在游戏LUA环境初始化完成时加载并运行一次,之后便不会再运行,直到下一次LUA环境重建。不过与WOW插件的差别在于,库脚本的适用范围广于WOW插件(登录界面也可以用)和加载时机早于WOW插件(蓝条刚开始读的时候就加载了)。

默认名字空间
由于每个泰坦脚本都独立运行在一个单独的名字空间内(全局变量互不冲突),每一个库脚本都可以为其指定一个默认的空间名字(符合LUA变量名规范),从而引用该库脚本的循环脚本便可以使用该名字来调用库脚本内的全局变量。当然,这个每个循环脚本引用是可以指定一个新名字来覆盖之。

区块
库脚本的代码组织形式非常简单,就是由若干个完全平行的区块组成,可以理解为把整段库脚本代码切割成不同的块,方便作者分片管理代码。不同的区块代码都共享同一套独立的名字空间,因此全局变量都是互通的,但是又独立于_G。库脚本在加载时,脚本引擎会按照顺序依次从上到下执行各区块代码。


循环脚本
循环脚本是用户直接使用的泰坦脚本,任何泰坦用户也都可以创建属于自己的循环脚本。循环脚本一旦启动,泰坦脚本引擎会高速(0.1秒左右的间隔)反复执行循环脚本中的动作代码(Action),从而实现各种提前编写好的游戏辅助逻辑。同时,在循环脚本的运行过程中,还可以随时响应(允许脚本用户指定的)按键,从而触发对应的提前定义好的脚本,这一机制叫做按键绑定(Key Binding)。最后,脚本作者还可以在循环脚本中定义(定义允许脚本用户修改的)配置变量(Setting),而无需考虑设计接口和界面问题。

动作
核心的循环脚本由一个主动作和若干自定义动作组成。循环脚本启动后,都会以很短的间隔,从默认主动作“__Main”开始循环执行脚本代码。动作代码的返回值有特殊的意义:
1. 如果返回字符串,那么在下一次循环执行时,脚本引擎将试图切换到该字符串作为名字所对应的动作。如果该名字所对应的动作不存在,则会报错停止。
2. 如果返回0,那么将直接停止循环脚本的运行,等同于按下“停止”键。
注意,主动作被设计来用作初始化工作,因此一旦跳转,将无法返回该动作。

按键绑定
按键绑定作为一种辅助机制,独立于动作循环单独执行。在游戏配置中,脚本用户可以单独为该配置指定一套独立的按键设置。

系统级按键绑定
系统级的三大按键绑定为:“开始”,“停止”和“暂停”,在只要是当前游戏窗口为活跃时即可被触发,同时对应的脚本也会被执行一次。不过,前提是当前脚本处于对应的运行状态时,比如开始只能针对暂停和停止的循环脚本。

自定义按键绑定
当循环脚本处于运行状态且当前游戏窗口为活跃时,自定义按键绑定脚本便会接受响应。当对应按键按下后,相关脚本就会类似动作脚本一样,被循环执行,直至对应按键抬起。

在动作代码中的联合应用
在动作代码中,可以通过按键绑定的名字直接访问到对应的按键是否已经按下,作为第二种按键绑定的使用方式。例如:
if (KeyBinding1) then print("已按下!") end

配置变量
作者可以为循环脚本指定一套配置变量,以供用户进行设置,然后在代码中访问。类似按键绑定,在游戏配置中,配置变量的值也是独立一套的。配置变量有不同的数据类型,脚本引擎会自动将这些值按照对应的LUA类型注入到脚本环境中。

在动作代码中访问
在动作代码中,使用配置变量的名字,直接通过全局变量的风格就可以读取配置变量的当前值。例如:
if (Setting1) then print("Setting1!") end

在按键代码中修改
在按键代码中,不仅可以读取配置变量的值,还可以直接修改它!例如:
Setting1 = not Setting1;

回复

使用道具 举报

发表于 2017-6-24 17:38:04 | 显示全部楼层
水经验来了。我要霸屏
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

小黑屋|手机版|Archiver|LUACN论坛

GMT+8, 2024-4-25 09:30 PM , Processed in 0.056944 second(s), 18 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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