Merge branch 'tradelock-counter' into 'dev'

Added MOD Tools tradelock counter

See merge request morningstar/Arcturus-Community!199
This commit is contained in:
Mike 2020-06-06 20:44:31 -04:00
commit fe72f89ebd
3 changed files with 20 additions and 7 deletions

View File

@ -18,3 +18,6 @@ INSERT INTO `emulator_settings`(`key`, `value`) VALUES ('hotel.allow.ignore.staf
INSERT INTO `emulator_texts`(`key`, `value`) VALUES ('error.bots.max.inventory', 'You can\'t buy or pickup anymore bots until you place some, the maximum amount of bots you are allowed is %amount%.');
UPDATE `emulator_texts` SET `value` = 'You\'ve reached the maximum amount of pets in your inventory! The Limit is %amount%!' WHERE `key` = 'error.pets.max.inventory';
-- Tradelock counter
ALTER TABLE `users_settings` ADD `tradelock_amount` INT(11) NOT NULL DEFAULT '0' AFTER `helper_level`;

View File

@ -25,22 +25,32 @@ public class AllowTradingCommand extends Command {
return true;
}
if (params[2].equalsIgnoreCase(Emulator.getTexts().getValue("generic.yes")) || params[2].equalsIgnoreCase(Emulator.getTexts().getValue("generic.no"))) {
String username = params[1];
boolean enabled = params[2].equalsIgnoreCase(Emulator.getTexts().getValue("generic.yes"));
final String username = params[1];
final String option = params[2];
Habbo habbo = Emulator.getGameEnvironment().getHabboManager().getHabbo(username);
if (option.equalsIgnoreCase(Emulator.getTexts().getValue("generic.yes")) || option.equalsIgnoreCase(Emulator.getTexts().getValue("generic.no"))) {
final boolean enabled = option.equalsIgnoreCase(Emulator.getTexts().getValue("generic.yes"));
final Habbo habbo = Emulator.getGameEnvironment().getHabboManager().getHabbo(username);
if (habbo != null) {
if (!enabled) {
try (Connection connection = Emulator.getDatabase().getDataSource().getConnection();
PreparedStatement statement = connection.prepareStatement("UPDATE users_settings SET tradelock_amount = tradelock_amount + 1 WHERE user_id = ?")) {
statement.setInt(1, habbo.getHabboInfo().getId());
statement.executeUpdate();
}
}
habbo.getHabboStats().setAllowTrade(enabled);
gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.succes.cmd_allow_trading." + (enabled ? "enabled" : "disabled")).replace("%username%", params[1]));
habbo.getClient().sendResponse(new UserPerksComposer(habbo));
return true;
} else {
boolean found;
try (Connection connection = Emulator.getDatabase().getDataSource().getConnection(); PreparedStatement statement = connection.prepareStatement("UPDATE users_settings INNER JOIN users ON users.id = users_settings.id SET can_trade = ? WHERE users.username LIKE ?")) {
try (Connection connection = Emulator.getDatabase().getDataSource().getConnection();
PreparedStatement statement = connection.prepareStatement("UPDATE users_settings INNER JOIN users ON users.id = users_settings.user_id SET can_trade = ?, tradelock_amount = tradelock_amount + ? WHERE users.username LIKE ?")) {
statement.setString(1, enabled ? "1" : "0");
statement.setString(2, username);
statement.setInt(2, enabled ? 0 : 1);
statement.setString(3, username);
found = statement.executeUpdate() > 0;
}

View File

@ -38,7 +38,7 @@ public class ModToolUserInfoComposer extends MessageComposer {
this.response.appendInt(this.set.getInt("cfh_abusive"));
this.response.appendInt(this.set.getInt("cfh_warnings"));
this.response.appendInt(this.set.getInt("cfh_bans"));
this.response.appendInt(0); //Trading lock count
this.response.appendInt(this.set.getInt("tradelock_amount"));
this.response.appendString(""); //Trading lock expiry timestamp
this.response.appendString(""); //Last Purchase Timestamp
this.response.appendInt(this.set.getInt("user_id")); //Personal Identification #