仙境传说RO :ra脚本加载结构和开发语法讲解

news/2024/9/23 10:23:42/

仙境传说RO :ra脚本加载结构和开发语法讲解

大家好,我是艾西。上一篇文章中我们聊完了怎么在游戏中新建NPC,感觉还是有不少小伙伴没有太看懂原理。今天艾西给大家深度讲解一下脚本加载结构和开发语法环境文档。

我们最后都是以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脚本加载结构和开发语法讲解教程就结束了,希望对有需要的小伙伴有帮助。我是驰网艾西我们下期见,感兴趣的小伙伴记得多练习多实操,拥有一台服务器可以做很多有趣的事情!!!


http://www.ppmy.cn/news/167817.html

相关文章

FreePBX 12 SIP协议30分钟自动挂断问题处理

FreePBX 12 SIP协议30分钟自动挂断问题处理 问题&#xff1a; SIP每次通话几乎恰好在 30 分钟左右掉线&#xff0c;而IAX协议并没有这个问题。 解决方案&#xff1a; 登录管理后台找到Settings 》Asterisk SIP Settings 在右侧选择 chan sip在 Chan SIP Settings 的底部找到O…

nginx设置超时时间

nginx设置超时时间 server模块下 proxy_connect_timeout 360000s;#nginx跟后端服务器连接超时时间(代理连接超时) proxy_send_timeout 360000s;#后端服务器数据回传时间(代理发送超时) proxy_read_timeout 360000s;#连接成功后&#xff0c…

hadoop distcp超时失败

执行distcp任务失败&#xff0c;获取yarn任务日志查看task任务超时失败 查看日志中超时异常 Diagnostics report from attempt_1647496740778_1063_m_000019_3: AttemptID:attempt_1647496740778_1063_m_000019_3 task timeout set: 1800000s, taskTimedOut: false; task stu…

CDH日志清理

备注: CDH 版本: 6.3.1 背景 CDH集群运行了2个多月了&#xff0c;根目录磁盘使用率接近80%了&#xff0c;需要清理CDH日志。 一.查看问题 CDH的日志文件一般在如下几个目录&#xff0c;可以通过如下代码进行查看。 代码: cd /var/log/ du -s ./* | sort -nrcd /var/lib/c…

3600s

320万像素 诺基亚滑盖新机3600s将上市 诺基亚在今年4月份于芬兰举办的新机发布会上曾经推出三款面向终端市场的新品。而这三款产品一大特点就是外形上的亚洲化。诺基亚对亚洲市场的重视程度要远远大于我们的想象&#xff0c;当然也许所有厂商都把亚洲作为手机通讯设备销售的…

sip问题汇总

常见sip问题总结 1、无法注册&#xff0c;分析&#xff1a; 1&#xff09;用户名、密码、服务器IP、端口是否正确 2&#xff09;能否ping通 3&#xff09;检查网线或者UA网络配置是否正确 4&#xff09;重启设备 5&#xff09;换账号 6&#xff09;缩短心跳间隔&#xff0c;一…

js实现倒计时

js 实现倒计时 // html结构 <div class"countdown clearfix"><span>0</span><span>0</span><span>:</span><span>0</span><span>0</span><span>:</span><span>0</span>…

animation做时钟

html代码 <DOCTYPE html> <html> <meta charset"UTF-8"> <title>时钟</title> <link rel"stylesheet" style"text/css" href"css/clock.css"> <body><div class"clock">&…