当前位置 : 145z游戏站 | 热血传奇 | 技术教程 | 

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

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

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

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

以下是修正后的脚本:

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