- Баллы
- 76
- Имя в Minecraft
- swat1x
Я хочу сделать команду /pay для своего сервера.
Методы MysqlGets.updateCoins мои, они берут данные из бд.
ПРОБЛЕМА!!!
Нужно сделать так, чтобы проверялись все аргументы:
Отправитель != получатель
Получатель != null
Сумма == Целое число
Сумма > 10
Деньги отправителя >= Сумма
Но при этом всё чекается, но всё равно, когда что-то одно идёт неправильно по условию (Получатель не найден или сумма не целочисленное число)
Как выполнить условие того, что все аргументы плавильные, а уже только после этого выполнить перевод бабла
Код:
package me.ryfi.CoreCommands;
import org.bukkit.Bukkit;
import org.bukkit.OfflinePlayer;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import me.ryfi.sql.MysqlGets;
import me.ryfi.sql.helpers;
public class PayCommand implements CommandExecutor{
@Override
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
if(sender != null) {
if (!(args.length < 2)) {
int summa = Integer.parseInt(args[1]);
Player player = ((Player) sender).getPlayer();
String name = args[0];
int targetBalance = MysqlGets.getCoins(args[0]);
int senderMoney = MysqlGets.getCoins(player.getName());
if(name == sender.getName()) {
sender.sendMessage("§c§l<X> §fВы не можете перевести деньги самому себе");
}else {
if(Bukkit.getPlayer(args[0]) == null) {
sender.sendMessage("§c§l<X> §fПолучатель не найден");
} else {
if(senderMoney < summa) {
sender.sendMessage("§c§l<X> §fНедостаточно средств");
}else {
if(summa < 10) {
sender.sendMessage("§c§l<X> §fМинимальная сумма для перевода §e10$");
}else
if (!helpers.isNumber(args[1])) {
sender.sendMessage("§c§l<X> §fСумма введена неверно");
}
else {
Player p = Bukkit.getPlayer(args[0]);
int senderResult = senderMoney - summa;
int targetResult = targetBalance + summa;
MysqlGets.updateCoins( name , targetResult);
MysqlGets.updateCoins( player.getName() , senderResult);
sender.sendMessage("§c§l<$> §fВы отправили §e" + summa + "$ §fигроку §e" +name);
p.sendMessage("§c§l<$> §fВы получили §e" + summa + "$ §fот игрока §e" + sender.getName());
}
}
}
}
}
} else {sender.sendMessage("§aИспользуйте: /pay (Ник) (Сумма)");}
return true; }
}
Методы MysqlGets.updateCoins мои, они берут данные из бд.
ПРОБЛЕМА!!!
Нужно сделать так, чтобы проверялись все аргументы:
Отправитель != получатель
Получатель != null
Сумма == Целое число
Сумма > 10
Деньги отправителя >= Сумма
Но при этом всё чекается, но всё равно, когда что-то одно идёт неправильно по условию (Получатель не найден или сумма не целочисленное число)
Как выполнить условие того, что все аргументы плавильные, а уже только после этого выполнить перевод бабла