如何调用switch语句返回类型

问题描述 投票:0回答:2

好吧,所以我的游戏出现了这个错误。错误在这里详细说明:https://www.rune-server.ee/runescape-development/rs2-server/help/668521-very-weird-backdoor-dupe.html

但简单地说,错误是由于用户输入的值超过了int数据类型值,并导致它欺骗系统。

所以向你解释这个错误,用户会去游戏商店购买东西,在选择商品的数量时,他可以输入一个高于我假设的int值的值,因为这样,价格会变成负数并且它允许玩家购买无限量的物品,同时还从玩家点中移除这个负值,这实际上导致它被添加(+) - ( - ) - > +。

使用switch语句声明的那些项目的价格。

public int getSpecialItemValue14(int id) {// member points shop
    switch (id) {

    case 1038:
    case 1040:
    case 1042:
    case 1044:
    case 1046:
    case 1048:
        return 45000;

现在我试图阻止服务器接受该值的是创建一个IF STATEMENT,这样如果该值超过int值来阻止该请求,而不是转发它。

我该怎么办?

java debugging switch-statement
2个回答
0
投票

只需在发送到服务器之前将值转换为INTEGER,如果超过最大值,则将其设置为0并启动警报。


0
投票

为什么不检查价格是否为负数?如果是,则可以显示“错误。太多项目”之类的消息。

© www.soinside.com 2019 - 2024. All rights reserved.