以下是一些常用的 HERO 引擎单机传奇服务端的 NPC 功能脚本示例:
1. **传送功能脚本**:
- **延迟传送脚本**:适用于传送员 NPC,可以设置玩家点击传送后延迟几秒再进行传送,防止挂机辅助工具的快速传送。
```
(@main)
// 当玩家与该 NPC 交互时触发
// 括号内数字为延迟的毫秒数,这里设置延迟 3000 毫秒(3 秒)
(@delaygoto)
#if
#act
delaygoto 3000 @delaylabel
#say
正在处理数据请稍候....
(@delaylabel)
#act
// 这里的地图坐标为传送的目标地点坐标,可根据实际需求修改
mapmove 333 0330
(@cleardelaygoto)
#if
#act
cleardelaygoto
#say
延迟跳转已清除.
```
- **普通传送脚本**:玩家与 NPC 对话后立即传送。
```
(@main)
#if
checklevel 50 // 可设置等级限制,比如要求玩家等级大于 50 级才能传送
#act
mapmove 123 456 // 将玩家传送到坐标为(123, 456)的地图
#elseact
#say
你的等级不足,无法传送!
```
2. **商店功能脚本**:
- **基础商店脚本**:用于普通商店 NPC,玩家可以购买和出售物品。
```
[@main]
#say
欢迎光临我的商店,这里有各种道具。
<购买道具/@购买> <出售道具/@出售>
[@购买]
#say
以下是本店出售的商品:
<金创药 价格:100 金币/@购买金创药> <魔法药 价格:150 金币/@购买魔法药>
[@购买金创药]
#if
checkgold 100
#act
takegold 100
give 金创药 1
#say
你购买了 1 个金创药。
#elseact
#say
你金币不足,无法购买。
[@购买魔法药]
// 类似购买金创药的逻辑,根据魔法药的价格和玩家金币数量判断是否购买成功
[@出售]
// 获取玩家背包中的物品列表,根据物品价值回收玩家的物品,给予玩家相应的金币
```
- **高级商店脚本**:具有特殊商品或限购功能的商店。
```
[@main]
#say
本店有特殊道具出售,但每天限购 3 个。
<查看特殊道具/@查看特殊道具>
[@查看特殊道具]
#say
<特殊宝石 价格:1000 金币 剩余购买次数:[<$BUY_COUNT>] /@购买特殊宝石>
[@购买特殊宝石]
#if
checkgold 1000
#act
takegold 1000
give 特殊宝石 1
DECRBY $BUY_COUNT 1
#say
你购买了 1 个特殊宝石,剩余购买次数:[<$BUY_COUNT>]。
#elseact
#say
你金币不足或今日购买次数已用完。
```
3. **任务发布功能脚本**:
- **主线任务发布脚本**:
```
[@主线任务发布者]
#say
年轻的勇士,世界正面临着黑暗的威胁,你愿意接受使命,拯救这个世界吗?
<接受任务/@接受主线任务> <拒绝任务/@拒绝>
[@接受主线任务]
#if
checklevel 10 // 设置接受任务的等级要求
#act
set [主线任务状态] 1 // 设置任务状态变量,表示玩家已接受任务
give 任务物品 1 // 给予玩家任务物品
#say
你已接受主线任务,拿着这个任务物品,去寻找线索吧。祝你好运!
#elseact
#say
你的等级不足,无法接受此任务。
[@拒绝]
#say
好吧,也许你还没准备好,等你准备好了再来找我。
```
- **支线任务发布脚本**:
```
[@支线任务 NPC]
#say
我这里有个支线任务,如果你有时间,可以帮我一下吗?
<接受支线任务/@接受支线任务>
[@接受支线任务]
#act
set [支线任务状态] 1
addexp 1000 // 给予玩家一定的经验奖励作为接受任务的奖励
#say
感谢你接受任务,去收集 10 个怪物的头颅回来给我吧。
```
4. **属性提升功能脚本**:
- **转生功能脚本**:
```
[@转生服务]
你可以在我这里享受到转生服务,当你的声望值和等级达到要求便可以来我这进行转生,转生后你的力量将会得到很大提高。
<进行转生/@进行转生> <转生次数/@转生次数> <领取能量/@领取能量> <转生要求/@转生要求> <转生好处/@转生好处>
[@转生好处]
转生以后名字会成七彩色,这说明了你的尊贵与强大得到认可。
转生以后属性能量会上升,根据转生次数奖励你自由点数分配。
转生以后部分能量留在这,能量能使你在需要时得到双倍经验。
转生以后根据转生的次数,你能得到不同转生等级的转生装备。
<每转一次增加荣誉值 30><自由分配属性点数 50>
<返回/@转生服务>
[@转生要求]
<转生要求>:一转等级达到 60 级,珠宝箱 1 个,转生证明书 1 个。
<注意事项>:转生后等级会降低 5 级,经验值也会变成 0,请考虑。
<续转要求>:60 级转生以后再次转生需要 70 级,以此类推。
<作弊转生>:转生每次都有记录,如发现作弊转生,一律 0 级。
<返回/@转生服务>
```
- **属性加点功能脚本**:玩家与 NPC 对话后可以花费游戏货币或特定道具来提升自身属性。
```
[@属性提升 NPC]
#say
我可以帮你提升属性,你想提升哪个属性呢?
<力量提升/@力量提升> <敏捷提升/@敏捷提升> <智力提升/@智力提升>
[@力量提升]
#if
checkgold 1000 // 检查玩家金币是否足够
#act
takegold 1000
incrby 玩家力量属性 5 // 增加玩家的力量属性值
#say
你的力量属性提升了 5 点。
#elseact
#say
你的金币不足,无法提升力量属性。
```
5. **抽奖功能脚本**:
```
[@抽奖 NPC]
#say
欢迎参加抽奖活动,每次抽奖花费 500 金币,你可能获得珍贵的道具哦!
<参加抽奖/@参加抽奖>
[@参加抽奖]
#if
checkgold 500
#act
takegold 500
random 10 // 设置抽奖概率,这里假设 10 分之一的概率中奖
#if
#act
give 高级装备 1 // 中奖后给予玩家高级装备
#say
恭喜你,获得了一件高级装备!
#elseact
#say
很遗憾,你没有中奖,下次好运!
```
6. **清理背包功能脚本**:
```
(@清理包裹)
#say
你想清理包裹吗?如果你有什么重要的东西千万不要放在背包里!要是被清除了我可不负责!
<清理包裹/@清理身上> <返回/@main>
(@清理身上)
#say
我将清理你背包里物品装备,删除后无法恢复!
<确定清理包裹/@clearbagstar3> <返回/@main>
(@clearbagstar3)
#if
#say
好了,清理完毕了!
#act
gmexecute 清理背包 self
```
推荐一些常用的HERO引擎单机传奇服务端的 NPC 功能脚本
来源:
作者:
点击:

