OMOD脚本系统
动态编译的脚本文件,可以直接和程序内的变量交互、调用程序内的函数和子过程,直接改写能力技能、创建NPC、创建道具、写剧情等同儿戏,还有更高级的事情可以干。
动态编译的脚本文件,可以直接和程序内的变量交互、调用程序内的函数和子过程,直接改写能力技能、创建NPC、创建道具、写剧情等同儿戏,还有更高级的事情可以干。
和主程序交互的变量,就是脚本系统能直接读写游戏中的数据。
不过,这些变量是要预先注册了才能在脚本系统中使用的,所以不会是全部你都能用,暂时先给些可能用得到的,不够以后再加吧。
用法可以看例子。
除可以交互的变量外,每个脚本里的变量都是这个脚本的,脚本运行完就没了。
adata:地区/区域,相关定义可以参考define area
qdata:任务,相关定义可以参考define quest
mdata:地图,相关定义可以参考define map
mdataN:地图名
cdata:角色,相关定义可以参考define chara
cdataN:角色名
gdata:全局数据,相关定义可以参考define game
gdataN:队伍名
pcc:角色的PCC
sdata:技能,相关定义可以参考define skill
list:作为列表,记录数值
listn:作为列表,记录文字
OmScriptTalkTxtCalm(0-8):和talk的%txtCalm一样,记录文字,仅能在UpdateCreature的脚本里使用。
OmScriptTalkTxtAggro(0-8):和talk的%txtAggro一样,记录文字,仅能在UpdateCreature的脚本里使用。
OmScriptTalkTxtDead(0-8):和talk的%txtDead一样,记录文字,仅能在UpdateCreature的脚本里使用。
OmScriptTalkTxtWelcome(0-8):和talk的%txtWelcome一样,记录文字,仅能在UpdateCreature的脚本里使用。
OmScriptTalkTxtKilled(0-8):和talk的%txtKilled一样,记录文字,仅能在UpdateCreature的脚本里使用。
cc:角色类,当前正在处理的角色的ID
tc:角色类,当前正在处理的目标角色的ID
rc:角色类,多用于接收返回值用的
ti:道具类,当前正在处理的目标道具的ID
ci:道具类,当前正在处理的道具的ID
p:数值型,平时使用比较多
s:字符型,平时常当作文字输出前的字符串处理使用
f:多用于 true , false 判断使用
initLv:角色创建时要用的
NoVoidLv:角色创建时要用的
val:常用于存放值或者数组给下一步的过程使用
inputLog:输入框的值,可为数值型或者字符型
msgTemp:字符型,在消息栏输出消息时使用的临时变量
windowW:数值型,从config.txt载入的值
windowH:数值型,从config.txt载入的值
buff:字符型,字符串
listMax:数值型,list数组的长度
rtval:数值型,*re_select时用户的选择结果
file:字符型,文件名
om_currscript_file:当前正在运行的脚本文件名
OmThisScriptTempV1:记录执行部分用于判断“以地区来触发”有多少条件满足,DEBUG脚本时用
OmThisScriptTempTC:记录最后杀死对象的ID,给执行部分用来判断是否“以杀死某物来触发”的对象,DEBUG脚本时用