传奇服务端脚本:解决声望扣除后的提示问题

来源: 作者: 点击:

在传奇游戏的服务端脚本编写中,经常会遇到一些逻辑上的小问题。本文将针对一位玩家遇到的问题进行解答,该玩家编写了一个传送员脚本,用于在玩家消耗10点声望后进入特定地图,并在声望不足时给出提示。然而,当玩家正好有10点声望并尝试传送时,系统会错误地提示声望不足。下面我们将分析这个问题,并提供一个修正后的脚本。

问题分析
玩家的原始脚本在扣除声望后,仍然会执行声望不足的提示,这是因为脚本中的条件判断并没有考虑到声望扣除后的情况。在玩家声望正好为10点时,虽然满足进入条件(CHECKCREDITPOINT>9),但在执行了CREDITPOINT-10后,玩家的声望变为0,此时再检查CHECKCREDITPOINT<10的条件,也会成立,从而触发提示。

解决方案
为了解决这个问题,我们需要在扣除声望的操作之后,再次检查玩家的声望是否满足进入条件。如果不满足,则不执行mapmove命令,并且给出提示。同时,我们需要将提示信息放在一个合适的位置,确保只在声望不足时显示。

以下是修正后的脚本:

[@J47]
#IF
CHECKCREDITPOINT>9
#ACT
CREDITPOINT-10
give回城卷1
mapmoveM001
#IF
CHECKCREDITPOINT<10
#ACT
#say对不起你的声望不足10点
#ELSEACT
#say欢迎来到新地图M001!
脚本解释
#IFCHECKCREDITPOINT>9:检查玩家声望是否大于9点。
#ACT:执行以下操作。
CREDITPOINT-10:扣除玩家10点声望。
give回城卷1:给予玩家1张回城卷。
mapmoveM001:将玩家传送到地图M001。
#IFCHECKCREDITPOINT<10:检查玩家声望是否小于10点。
#ACT:如果声望小于10点,执行以下操作。
#say对不起你的声望不足10点:给出提示信息。
#ELSEACT:如果声望不小于10点,执行以下操作。
#say欢迎来到新地图M001!:给出欢迎信息。

[顶部]