在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将无法执行脚本中的命令。