Lua脚本在石器游戏中的触发及reloadlua命令(六)

2019-11-06 10:28 石器战报 网站编辑

第三章中讲解了脚本的开始一定是从函数main开始
 Lua脚本在石器游戏中的触发及reloadlua命令(六) 石器战报 第1张石器时代图片石器so石器sf石器时代私服疯狂原始人 
上图中函数main里包含函数abc函数Create
启动服务器时该脚本首先运行函数abc并让变量xxx="\n\n\n                  不知道"
其次运行函数Create并赋予该索引对话事件窗口事件回调功能 -- npc.CreateNpc接口直接返回创建的NPC索引
之后该脚本结束

当玩家与该NPC对话时,会触发函数Talked,再由封包接口lssproto触发函数WindowTalked
 Lua脚本在石器游戏中的触发及reloadlua命令(六) 石器战报 第2张石器时代图片石器so石器sf石器时代私服疯狂原始人 
 Lua脚本在石器游戏中的触发及reloadlua命令(六) 石器战报 第3张石器时代图片石器so石器sf石器时代私服疯狂原始人 
上图的说话内容"不知道"变量xxx获取    --函数abc中变量xxx

 Lua脚本在石器游戏中的触发及reloadlua命令(六) 石器战报 第4张石器时代图片石器so石器sf石器时代私服疯狂原始人 

[gm reloadlua]命令:刷新所有lua文件内容
 Lua脚本在石器游戏中的触发及reloadlua命令(六) 石器战报 第5张石器时代图片石器so石器sf石器时代私服疯狂原始人 
上图修改了说话内容1(添加"?")和说话内容2的变量xxx(添加"真的")
 Lua脚本在石器游戏中的触发及reloadlua命令(六) 石器战报 第6张石器时代图片石器so石器sf石器时代私服疯狂原始人 
使用命令刷新所有lua文件
 Lua脚本在石器游戏中的触发及reloadlua命令(六) 石器战报 第7张石器时代图片石器so石器sf石器时代私服疯狂原始人 
 Lua脚本在石器游戏中的触发及reloadlua命令(六) 石器战报 第8张石器时代图片石器so石器sf石器时代私服疯狂原始人 
脚本运行结果说明了变量xxx并没有发生改变
当使用命令刷新所有lua文件时,其内容确实已经改变
 Lua脚本在石器游戏中的触发及reloadlua命令(六) 石器战报 第9张石器时代图片石器so石器sf石器时代私服疯狂原始人 
但该脚本的变量xxx是在函数abc中定义,而该函数在函数main
只在启动服务器时才会触发函数main
所以存放在内存里的变量xxx依旧还是原来的值


改变变量xxx的方法就是再次运行函数abc
 Lua脚本在石器游戏中的触发及reloadlua命令(六) 石器战报 第10张石器时代图片石器so石器sf石器时代私服疯狂原始人 
 Lua脚本在石器游戏中的触发及reloadlua命令(六) 石器战报 第11张石器时代图片石器so石器sf石器时代私服疯狂原始人  Lua脚本在石器游戏中的触发及reloadlua命令(六) 石器战报 第12张石器时代图片石器so石器sf石器时代私服疯狂原始人