在NPC脚本中检测玩家背包中是否有某个物品,如果有则取走并给予金币和经验,如果没有则提示玩家。

使用了 checkitem 和 take 命令,但是NPC没有执行取走物品的命令。这可能是因为您的NPC脚本中缺少了一些必要的命令。

在MerChant.txt文件中添加NPC时,您需要为NPC指定一个脚本文件。在这个脚本文件中,您需要使用 @BUY、@SELL、@TRADE 等命令来指定NPC的功能。在您的例子中,您可能需要使用 @TRADE 命令来指定NPC可以进行交易。

在您的NPC脚本中,您可以使用以下代码来实现您的需求:

#if

@TRADE

checkitem 骨玉权杖 1 检测背包里面是否有物品

#ACT

take 骨玉权杖 1 取走背包里面指定物品

give 金币 20000 给予物品

CHANGEEXP + 2000 给予经验

SENDMSG 6 〖提示〗回收成功,金币增加:20000。经验值:<$EXP>

#ELSEACT

SENDMSG 5 〖提示〗你没有骨玉权杖!

#END

Copy

在这个代码中,我们使用了 @TRADE 命令来指定NPC可以进行交易。在 #if 语句中,我们使用 checkitem 命令来检测玩家背包中是否有骨玉权杖。如果有,我们使用 take 命令来取走该物品,并使用 give 命令来给予玩家金币和经验。如果没有,我们使用 SENDMSG 命令来提示玩家。

请注意,在使用 take 命令时,NPC会尝试从玩家背包中取走指定数量的物品。如果背包中没有该物品或者物品数量不足,NPC会忽略该命令。因此,在使用 take 命令时,您需要确保玩家背包中有足够的物品。

如果您的NPC仍然无法执行取走物品的命令,请确保您的NPC脚本文件名和MerChant.txt文件中的NPC名称是匹配的。如果您的NPC脚本文件名和MerChant.txt文件中的NPC名称不匹配,NPC将无法执行脚本中的命令。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。