仙境传说RO:添加NPC的定义以及逻辑

仙境传说RO:添加NPC的定义以及逻辑

大家好我是艾西,前面几篇文章中我有跟大家讲解怎么定义一个NPC或是创建一个NPC去实现某个功能等。那么npc的定义是什么呢?今天艾西就跟大家讲解下定义一个npc时每一个参数的作用以及去哪里找每个参数填的值。

我们直接进入主题:

定义分为四个部分

 

地图,X坐标,Y坐标,朝向 制表符tab script 制表符tab NPC名字 精灵ID,{代码}

地图,X坐标,Y坐标,朝向,制表符tab script 制表符tab NP&名字精灵 ID,触发半径X,触发半径Y, {代码}

Script:为固定用法  NPC名字要和所有的NPC名字不同不能重复,所有的脚本代码都是在{ }内填写

地图的参数值在Pandas服务端目录-----db-----map_ index.txt文档中

X坐标和Y坐标大家进入游戏就可以看到坐标,不会看的输入@where+角色名查看

朝向总的有8个朝向,0-7,逆时针旋转加1,每加1就是 45度 有的精灵只有一个朝向

朝向示例:8个NPC朝向

 

精灵ID可通过访问dotalux.com/ro/npclist/直接查看查找,鼠标停留就会有名字以及id

 

想看某个npc的详细参数以及序列帧可以用everything(对这个程序不懂怎么操作的看编译的那篇文章教程)这个程序去搜索npc的资源名,都是可以搜到的其中.spr就是这个精灵模组文件,npc的序列帧可以用spr conview工具去查看

在我们填入精灵代码时以 403精灵为例:你可以直接输入403 或4_ f _valkyrie2(字符串)都可以

 

触发半径X、Y:只要你在NPCxy的触发范围内就会触发相应的逻辑,否则的话需要点击才能触发

举例:在npc > custom > tutorial >  test.ras文档中创建NPC

 

回到游戏中输入:@reloadsoript 加载一下脚本即可 大家可以对比一下外观以及定义是不是一样的

 

怪物可以到db>re>mob_db.yml文档去查看 如果是官方的就是mob_db.txt查看,怪物NPC创建完后鼠标放到它身上会变成攻击的图标名字也是红色的。

●预定义的常量

。在代码src\map\npc.hpp里,比如:

JT_ HIDDEN NPC = 111,不可见的NPC,但仍可点击,在制作3D地形的可点击对象时很有用。

JT FAKENPC = -1,不可见且不可点击的NPC,常用于浮动NPC。

JT 4 F JOB BLACKSMITH = 726,上篇文章我们使用过。

。常量定义和客户端名是相同的,所以写脚本时也可以直接填对应精灵的文件名的全大写形式。

触发区域.

TriggerX和triggerY (如果给定)将定义一一个区域,以NPC为中心并在X的每个方向上跨越triggerX单元格,在Y的每个方向.上跨越triggerY 单元格。走进该区域将触发NPC。如果NPC代码中没有'OnTouch:'特殊标签,则执行将从脚本的开头开始,否则,将从'OnTouch:'标签开始

例:prontera, 156,170,4- script >波利#TestNpcTrigger1 >909,1,1,{

npctalk"你离我太近了,送你一个小苹果,请离我远-点! ";

getitem 512,1;

end ;

}

说一段话送玩家一个苹果,触发半径是1,意味着围绕npc一格内即触发

 

prontera, 156,170,4- script- 波利#TestNpcTrigger1 909 ,2,2,{

mes”[波利]" ;

mes"你好呀,我是波利,请不要打我! ";

close;

注释:当你走进NPC的触发区域close是点击触发会弹窗说你好呀我是波利请不要打我,ontoych是走过去触发,只要在触发区域内就会触发{  } 内的代码

OnToych:

npctalk "你离我太近了,送你一个小苹果,请离我远-点! ";

getitem 512,1;

end ;

那么今天的分享教程就到这里啦我们下期再见! 我是驰网艾西

拥有一台服务器可以做很多有趣的事情!


http://www.niftyadmin.cn/n/410812.html

相关文章

成功解决 Ubuntu zsh: command not found: curl 错误

事件的起因是需要使用 wget 命令下载数据集,发现一直卡在http应答回复阶段: (base) ╭─root3f9bba084332 ~ ╰─# wget https://raw.githubusercontent.com/SophonPlus/ChineseNlpCorpus/master/datasets/ChnSentiCorp_htl_all/ChnSentiCorp_htl_all.c…

开源 API 网关的访问策略(一)

许多企业和组织面临着网关访问控制的挑战,因为传统的访问控制方法往往过于笨重和繁琐。这些方法可能涉及复杂的规则集、繁琐的手动配置过程、缺乏灵活性和可扩展性等问题。此外,随着云计算和移动设备的广泛应用,访问控制的复杂性和挑战程度也…

数据要素产业链分析报告

随着2022年“全球数商大会”在上海世博中心的隆重开幕,“数据要素产业集聚区建设方案”重磅推出。此外大会上还推出了以《中国数据要素市场发展报告(2021-2022)》为中心的六大数据产业相关政策方针,以及六个重点示范项目。数据交易…

uni-app封装request请求及get、post、put等方法

直接上代码 request.js文件 export default { common: { baseUrl: "http://172.20.4.212:3000/api", data: {}, header: { "Content-Type": "application/json", "Content-Type": "application/x-www-form-urlencoded" }, …

jenkins构建pipline无法执行shell命令原因

问题表现 新的服务器上,新安装的jenkins,在上面创建了一个pipline项目,脚本里有shell命令,但是jenkins每次执行都卡住,经过尝试,无论多简单的命令都执行不了,cp,mv等都不行&#xf…

网络安全真的没办法入行吗?自学误区你踩了几个?

网络安全的前景如何,其实大家都知道,但是入行很大程度还是兴趣。 “兴趣是最好的老师”这句话并不泛泛,但捕捉和保护孩子兴趣的那个人更为重要。作为一个学习者的心思很多时候稍纵即逝,也不稳定。能把一种兴趣稳定下来并变成了解…

springboot日志配置

springboot日志依赖导入 <dependency><artifactId>spring-boot-starter-logging</artifactId><groupId>org.springframework.boot</groupId> </dependency> 在application.yml中配置 logging:file:path: /zhibo/logpattern:file: "%d…

Elasticsearch:实用指南

我们将更多地讨论使用 Elasticsearch 的最佳实践。这些做法是一般性建议&#xff0c;可以应用于任何用例。 让我们开始吧。 Bulk Requests 批量 API 使得在单个 API 调用中执行许多索引/删除操作成为可能。 这可以大大增加索引速度。 每个子请求都是独立执行的&#xff0c;因此…