查看: 7|回复: 0

传奇单机版NPC脚本怎么写?从零开始教你搞一个自动回城的NPC

12

主题

0

回帖

52

积分

二百VIP

积分
52
发表于 2 小时前 | 显示全部楼层 |阅读模式
二百论坛
本站支持代销互换开区传奇版本、欢迎广大GM、技术、一条龙等传奇业界好友合作、联系业务QQ:1531850810

QQ交流群①:323634742(推荐 )QQ交流群②:764544814(推荐)

本站提供的传奇版本 由于来源不同 精力有限 无法100%测试 如需使用本传奇版本请切记

下载传奇版本后 先解压 再杀毒 更新官方引擎 最后再配置登陆器 避免被非法木马插件利用


很多新手架设好传奇单机版之后,最头疼的就是NPC脚本——默认的NPC要么功能太少,要么根本不会改。今天我把我自己用了好几年的思路整理出来,手把手教大家写一个最常用的:自动回城NPC脚本。

先说一下传奇单机版脚本的基础逻辑

不管你用GOM引擎还是翎风引擎,传奇单机版的NPC脚本本质上都是一套对话树+条件判断。玩家点开NPC,NPC根据脚本文件里的内容走流程,满足条件就执行对应动作。

GOM引擎的脚本文件一般放在 Script\Npc\ 目录下,每个NPC对应一个.txt文件,文件名就是NPC的名字(MapName_NpcName.txt)。翎风引擎类似,路径稍微不一样,在Script\Maps\里面。

写一个最简单的回城NPC

我直接上代码,这是GOM引擎格式的:

[@main]
#SAY 要回主城吗?选择目的地:\
<回主城> [GOTO=回主城] \
<取消> [GOTO=end]

[@回主城]
#IF
CHECKBAGWEIGHT 100
#ACT
SENDMSG 0 好的,传送中...
MOVE 沙巴克 50 50
GOTO end
#ELSESAY
你的背包太重了,扔点东西再来。
#END

[@end]
#SAY

这段脚本的逻辑:
1. NPC开口问你要去哪
2. 你选回主城,脚本检查背包负重(这里我加了个条件,不然老有人背着一堆东西跑)
3. 负重没超就直接MOVE传送到沙巴克坐标50 50
4. 超了就提示你扔东西

MOVE后面三个参数是:地图名+X坐标+Y坐标,地图名要和你服务端里的地图名完全一致,不然传不过去。

几个坑提醒一下

第一个坑:中文乱码。传奇单机版脚本文件编码必须是ANSI(GBK),不是UTF-8,新手用记事本默认保存经常出这个问题。建议用Notepad++保存,选ANSI编码。

第二个坑:修改脚本不生效。GOM引擎修改脚本后需要在GM命令里输入 @reloadscript 或者直接重启M2,不然NPC还在跑老脚本。翎风引擎有热重载功能,稍微方便一点。

第三个坑:坐标填错。有些地图坐标是从左上角还是左下角算的,不同地图编辑器显示不一样,建议先用GM命令站到目标位置,用 @whereami 查一下当前坐标再填进脚本。

扩展一下,让NPC更好用

上面是最基础的版本。实际用的时候可以加更多功能,比如按职业传送不同地点、消耗元宝传送、每天限制使用次数等等。

传奇单机版单人玩的话,我一般还会给回城NPC加个全图传送功能,把所有副本入口都挂上去,省得到处跑。这个就是在[@main]里多加几个选项,每个选项对应一个标签,标签里写对应的MOVE命令,结构完全一样,依葫芦画瓢就行。

翎风引擎版本

翎风引擎脚本语法和GOM有点差异,主要是条件判断的写法不一样,用的是IF...ENDIF格式,但基本逻辑是一样的。如果你用的是翎风引擎传奇单机版,留言告诉我,我单独整理一篇翎风引擎的脚本教程。

先把这个基础版本跑起来,再慢慢往里加功能,脚本这东西玩熟了之后,基本上想要什么功能都能写出来。
二百论坛
免责声明:

1、本论坛资源均来源于网络

2、如下载使用,自行杀毒

高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

QQ| 小黑屋|二百版本库 |网站地图

免责声明:本站所有资源皆来自于互联网.请在下载使用内24小时内删除! 如果侵犯了您的权益,请至邮箱: (1531850810@qq.com), 我们会及时删除侵权内容。

Copyright © 2001-2026 Discuz Team. Powered by Discuz! X3.5