|
仙境传说RO :ra脚本加载结构和开发语法讲解
大家好这里是艾西服务器论坛。上一篇文章中我们聊完了怎么在游戏中新建NPC,感觉还是有不少小伙伴没有太看懂原理。那么艾西服务器论坛给大家深度讲解一下脚本加载结构和开发语法环境文档。
(本文出现的xxx等符号均为http,https,www,com,net,IP地址等网络协议用语替代字符)
我们最后都是以ra脚本为主要讲解以及实操,那想完全掌握ra脚本查看相关的文档是比不可少的。脚本文档是在Pandas(服务端)的doc目录中,找到script_commands.txt文件所有的文档都在这里了。
文档结构有些语法约定:比如说前面加个 * 就是命令的开头(上一期我们用的*mes就是,搜索的时候可以直接加个*快查找命令)
参数:文档中使用<尖括号>括起来的,一般前面是命令后面接若干个参数
可选参数:文档中使用的是{花括号} 括起来的 可填可不填参数 打个比方我想传送到某个地图,先填地图名字在填xy(坐标),如果我不填入在{花括号} 内的话那么就是默认传送到地图入口
字符串:文档中使用”双引号”引起来的
脚本加载结构
脚本加载由map server加载,目前总共是三个服务器分别是
login server登陆服,管理登陆账号的
char server角色服,管理角色一个账号可以有N个角色
map server地图服,游戏服务器,基本所有上游戏逻辑都在这里例如打怪、NPC等
入口文件:npc/(pre-)re/scripts_ main.conf
写死在代码里的,map.cpp
void map_ reloadnpc(bool clear)
{
if (clear)
npc_ addsrcfile("clear", false); // this will clear the current script list
#ifdef RENEWAL
map_ reloadnpc_ sub("npc/re/scripts_ main.conf");
#else
map_ reloadnpc_ sub("npc/ pre-re/scripts_ main.conf");
#endif
}
注:map.cpp是不能配置的,也没有必要配置,因为可以改写scripts_ main.conf文件,这个文件想加什么都可以直接填入加载
图中能看到import(导入),这个文件是没有任何NPC加载的都是导入文件比如说我们之前说的custom(GM自定义,自定义脚本都在这里)
就这相当于文件夹管理scripts是父文件夹,文件夹里在分很多子文件夹大家都可以点进去看看比如scripts_athena.conf文件就定义了很多NPC可以知道它是怎么去配NPC:
例 npc: npc/cities/alberta. txt 跟上文件路径就可以加载NPC到服务器里面了,文件内//的内容都不会加载会直接跳过(斜杠是注释,在文档中注释的内容一般为绿色)。还有一个是delnpc这个不是很常用(是删除一个NPC的意思)
加载所有文件后,服务器会先执行所有的top-level commands,创建NPC,怪物生成器,地图标记等等。
(脚本里)大部分其实都是这些(顶级命令)
top-level commands需注意它传参数是用的制表符(tab键)图中打箭头的就是制表符(直接空格的话是没用的这里大家要注意一下,上一篇文章中忘记备注了)
在script commands.txt文档中也有明确的表示制表符用tab
那么到了这里我们今天的仙境传说RO :ra脚本加载结构和开发语法讲解教程就结束了,希望对有需要的小伙伴有帮助。
拥有一台服务器可以做很多有趣的事情!!!
艾西服务器论坛 (注:本教程仅为个人娱乐参考使用,切勿用于商业用途否则后果自负)
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|