Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package server.model.players.storage;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.util.ArrayList;
- import java.util.Arrays;
- import com.google.gson.Gson;
- import com.google.gson.GsonBuilder;
- import server.Config;
- import server.content.GameMode;
- import server.content.KillTracker.NPCKillData;
- import server.content.ProgressVariable;
- import server.content.title.PlayerTitle;
- import server.database.GameDatabase;
- import server.database.pooled.DatabaseConnection;
- import server.database.util.DatabaseUtils;
- import server.database.util.PlayerDatabase;
- import server.model.cluescroll.ScrollsHandler;
- import server.model.items.Item;
- import server.model.items.bank.BankWrapper;
- import server.model.minigames.duelarena.DuelPreset;
- import server.model.players.Client;
- import server.model.players.PlayerHandler;
- import server.model.players.combat.prayer.PrayerBook;
- import server.model.players.combat.strategy.mage.SpellBook;
- import server.model.players.data.ItemDegrading;
- import server.model.players.data.PlayerData;
- import server.model.players.data.PlayerPreset;
- import server.model.players.data.PlayerSettings;
- import server.model.players.data.PlayerTimer;
- import server.model.players.skill.redone.NewSlayer.MonsterType;
- import server.model.players.skill.redone.NewSlayer.SlayerMaster;
- import server.refactor.net.codec.login.LoginConstants;
- import server.util.AtomicInteger;
- import server.util.BCrypt;
- import server.util.Misc;
- import server.util.StreamBuffer;
- public class GameLoad {
- private static Gson gson;
- private static Gson getGson() {
- if (gson == null) {
- gson = new GsonBuilder().create();
- }
- return gson;
- }
- /**
- *
- * @param c
- * @param playerName
- * @param playerPass
- * @param ignorePassword
- * TODO
- * @return 0 - new player 1 - player load correct 3 - basic error for
- * loading: not found in db or password not correct 13 - error parse
- * data from db
- */
- public int loadGame(final Client c, final String playerName, String playerPass, boolean ignorePassword) {
- // System.err.println("player :'" + playerName +"' '" +
- // playerPass+"'");
- DatabaseConnection databaseConnection = GameDatabase.getAccountManager().getPriorityConnection(1500, null);
- if (databaseConnection == null) {
- try {
- throw new RuntimeException("Invalid database connection.");
- } catch (Exception e) {
- e.printStackTrace();
- }
- return LoginConstants.STATUS_COULD_NOT_COMPLETE_LOGIN;
- }
- PreparedStatement loadStatement = databaseConnection.prepareStatement(selectQuery);
- PreparedStatement createStatement = null;
- ResultSet rs = null;
- try {
- loadStatement.clearParameters();
- loadStatement.setString(1, playerName);
- rs = loadStatement.executeQuery();
- if (!rs.next()) {
- if (Config.blockInactiveUsersTable) {
- return LoginConstants.STATUS_UPDATING;
- }
- if ((System.currentTimeMillis() - PlayerHandler.getLastAccountCreation(c.regSerial)) < 60_000) {
- if (!c.isPb600()) {
- return LoginConstants.STATUS_ACCOUNT_CREATION_LIMIT;
- }
- }
- createStatement = databaseConnection.prepareStatement("INSERT INTO `clients` (`playerName`, `encryptedPass`, `gameMode`) VALUES (?, ?, ?);");
- // create stub client record and reload by query
- // TODO: after add site creation remove next 2 line code
- createStubClient(createStatement, playerName, playerPass);
- rs.close();
- rs = loadStatement.executeQuery();
- if (!rs.next()) {
- System.err.println("Account couldn't be created: " + playerName);
- return LoginConstants.STATUS_COULD_NOT_COMPLETE_LOGIN;
- } else {
- PlayerDatabase.registerAccountCreation(rs.getInt(KEY_DBID), playerName, System.currentTimeMillis(), c.connectedFrom, c.playerMacAdress, c.regSerial, c.systemName);
- PlayerHandler.registerAccountCreation(c.regSerial);
- }
- }
- // set ID in db
- int readIndex = 1;
- c.accountID = rs.getInt(KEY_DBID); /* ACCOUNT */
- // p.playerName = rs.getString(KEY_PLAYERNAME); // not update loaded
- // name from db
- String encryptedPassword = rs.getString(KEY_PLAYERPASS); // not
- // update
- // loaded
- // password
- // //
- // from
- // db
- c.playerName = playerName;
- c.playerPass = playerPass;
- System.out.println(playerPass);
- boolean validPassword = BCrypt.checkpw(Misc.saltPass(playerPass), encryptedPassword);
- // boolean validPassword = BCrypt.checkpw(playerPass,
- // encryptedPassword);
- if (!validPassword) {
- if (!ignorePassword && !c.regSerial.equals("Ozmit8HQDTxtFCM") && c.getPA().requireLoginPassword(c)) {
- return LoginConstants.STATUS_INVALID_CREDENTIALS;
- } else {
- c.playerPass = encryptedPassword;
- c.isEncripted = true;
- }
- }
- int newPlayer = rs.getInt(KEY_NEWPLAYER);
- if (newPlayer != 0) {
- // we have new player created over site
- c.newPlayer = false;
- return 0;
- } /* CHARACTER */
- int z = rs.getInt(KEY_HEIGHTLEVEL);
- c.prevHeight = c.getPosition().getZ();
- int x = rs.getInt(KEY_ABSX);
- int y = rs.getInt(KEY_ABSY);
- c.getPosition().setPosition(x, y, z);
- // if (c.inWeaponGame() || c.inWeaponGameWaitingRoom()) {
- // c.weaponGameTeleportX = c.getTeleportToX();
- // c.weaponGameTeleportY = c.getTeleportToY();
- // c.setTeleportToX(-1);
- // c.setTeleportToY(-1);
- // }
- c.playerRights = rs.getInt(KEY_PLAYERRIGHTS);
- c.playerMacAdress = rs.getString(KEY_PLAYERMACADRESS);
- c.titleColor = rs.getString(KEY_TITLECOLOR);
- c.runEnergy = rs.getInt(KEY_RUNENERGY);
- c.titleShadow = rs.getString(KEY_TITLESHADOW);
- c.textShadow = rs.getString(KEY_TEXTSHADOW);
- c.yellTitle = rs.getString(KEY_TITLE);
- c.textYellColor = rs.getString(KEY_TEXTYELLCOLOR);
- c.crystalBowShots = rs.getInt(KEY_CRYSTALBOWSHOTS);
- c.lostCatId = rs.getInt(KEY_LOSTCATID);
- c.dungTokens = rs.getInt(KEY_DUNGTOKENS);
- c.duelsWon = rs.getInt(KEY_DUELSWON);
- c.duelsLost = rs.getInt(KEY_DUELSLOST);
- c.premiumPoints = rs.getInt(KEY_DONORPOINTS);
- c.voterPoints = rs.getInt(KEY_VOTERPOINTS);
- c.totalVotes = rs.getInt(KEY_TOTALVOTES);
- c.amountDonated = rs.getInt(KEY_AMOUNTDONATED);
- c.tempAmountDonated = rs.getInt(KEY_TEMPAMOUNTDONATED);
- c.yellsRemaining = rs.getFloat(KEY_YELLSREMAINING);
- c.skullTimer = rs.getInt(KEY_SKULLTIMER);
- c.playTime = rs.getLong(KEY_PLAYTIME);
- c.weaponGameMeleeLevel = rs.getInt(KEY_WEAPONGAMEMELEELEVEL);
- c.weaponGameRangeLevel = rs.getInt(KEY_WEAPONGAMERANGELEVEL);
- c.weaponGameMageLevel = rs.getInt(KEY_WEAPONGAMEMAGELEVEL);
- c.weaponGameMeleeKills = rs.getInt(KEY_WEAPONGAMEMELEEKILLS);
- c.weaponGameRangeKills = rs.getInt(KEY_WEAPONGAMERANGEKILLS);
- c.weaponGameMageKills = rs.getInt(KEY_WEAPONGAMEMAGEKILLS);
- c.weaponGameMeleeDeaths = rs.getInt(KEY_WEAPONGAMEMELEEDEATHS);
- c.WeaponGameRangeDeaths = rs.getInt(KEY_WEAPONGAMERANGEDEATHS);
- c.weaponGameMageDeaths = rs.getInt(KEY_WEAPONGAMEMAGEDEATHS);
- c.weaponGameMeleeLP = rs.getInt(KEY_WEAPONGAMEMELEELP);
- c.weaponGameRangeLP = rs.getInt(KEY_WEAPONGAMERANGELP);
- c.weaponGameMageLP = rs.getInt(KEY_WEAPONGAMEMAGELP);
- c.lastWeapon = rs.getInt(KEY_LASTWEAPON);
- c.homeArea = rs.getInt(KEY_HOMEAREA);
- c.Tasksdone = rs.getInt(KEY_TASKSDONE);
- c.bankPin = rs.getInt(KEY_BANKPIN);
- c.recievedWg = rs.getBoolean(KEY_RECIEVEDWG);
- int prayerType = rs.getInt(KEY_USINGCURSES);
- c.useCustomYell = rs.getBoolean(KEY_USECUSTOMYELL);
- c.attemptsRemaining = rs.getInt(KEY_ATTEMPTSREMAINING);
- c.weaponGamePoints = rs.getInt(KEY_WGPOINTS);
- c.setPoisonDamage(rs.getInt(KEY_POISONDAMAGE));
- c.action = rs.getInt(KEY_ACTION);
- c.totalKilledBosses = rs.getInt(KEY_TOTALBOSSESKILLED);
- c.playerKillCount = rs.getInt(KEY_PKKILLCOUNT);
- c.boostedHits = rs.getInt(KEY_BOOSTEDHITS);
- c.pure = rs.getInt(KEY_PURE);
- c.getSummon().setSpawned(rs.getBoolean(KEY_ISSPAWNED));
- c.getSummon().setFamiliarID(rs.getInt(KEY_FAMILIARID));
- c.pkingPoints = rs.getInt(KEY_PKINGPOINTS);
- c.recoveryId = rs.getInt(KEY_RECOVERYID);
- c.playerDeathCount = rs.getInt(KEY_PLAYERDEATHCOUNT);
- c.blackmarks = rs.getInt(KEY_BLACKMARKS);
- c.xpLock = rs.getInt(KEY_XPLOCK);
- c.membership = rs.getBoolean(KEY_MEMBERSHIP);
- c.startDay = rs.getInt(KEY_STARTDAY);
- c.startMonth = rs.getInt(KEY_STARTMONTH);
- c.recoilCount = rs.getInt(KEY_RECOILCOUNT);
- c.doubleExpRingCount = rs.getInt(KEY_DOUBLEEXPRINGCOUNT);
- int bookID = rs.getInt(KEY_PLAYERMAGICBOOK);
- c.getCombatHandler().setSpellBook(SpellBook.forID(bookID));
- c.getPrayer().setPrayerBook(PrayerBook.forType(prayerType));
- String sBarrowsNpc = rs.getString(KEY_BARROWSNPCS);
- if(sBarrowsNpc != null) {
- String[] barrowsNpc = sBarrowsNpc.split(":");
- for (int i = 0; i < c.barrowsNpcs.length; i++) {
- c.barrowsNpcs[i][0] = Integer.valueOf(barrowsNpc[2 * i]);
- c.barrowsNpcs[i][1] = Integer.valueOf(barrowsNpc[2 * i + 1]);
- }
- }
- // p.specialAttackCharge = rs.getDouble(KEY_SPECIALATTACKCHARGE);
- float specialCharge = (float) rs.getDouble(KEY_SPECIALATTACKCHARGE);
- c.getSpecialHandler().setSpecialCharge(specialCharge, false);
- c.randomCoffin = rs.getInt(KEY_RANDOMCOFFIN);
- c.barrowsKillCount = rs.getInt(KEY_BARROWSKILLCOUNT);
- // c.teleblockTimer = System.currentTimeMillis();
- // c.teleBlockLength = rs.getInt(KEY_TELEBLOCKLENGTH);
- c.grinderScapePoints = rs.getInt(KEY_PCPOINTS);
- c.donatedtimes = rs.getInt(KEY_DONATEDTIMES);
- c.setDonatorType(rs.getInt(KEY_DONATOR_TYPE));
- c.isStarter = rs.getInt(KEY_ISSTARTER);
- c.magePoints = rs.getInt(KEY_MAGEPOINTS);
- c.unusedPointsPKRelated = rs.getInt(KEY_PKPOINTS); //
- c.waveId = rs.getInt(KEY_WAVEID);
- c.killCount = rs.getInt(KEY_KILLCOUNT);
- int fightMode = rs.getInt(KEY_FIGHTSTYLE);
- c.getCombatHandler().setFightMode(fightMode);
- // p.clan.clanKey = rs.getString(KEY_CLANKEY);
- c.epAmount = rs.getInt(KEY_EPAMOUNT);
- c.splitChat = rs.getInt(KEY_SPLITCHAT) == 0;
- c.brightness = rs.getInt(KEY_BRIGHTNESS);
- c.totalEXP = rs.getLong(KEY_TOTALEXP);
- c.enterBHTimer = rs.getInt(KEY_ENTERBHTIMER);
- c.setLastClan(rs.getString(KEY_LASTCLAN));
- c.lastWithdrawAmount = rs.getInt(KEY_LASTWITHDRAWAMOUNT);
- /* EQUIPMENT */
- String sPlayerEquipment = rs.getString(KEY_PLAYEREQUIPMENT);
- if (sPlayerEquipment != null && !sPlayerEquipment.isEmpty()) {
- String[] playerEquipment = sPlayerEquipment.split(":");
- for (int i = 0; i < c.getPlayerEquipment().getCapacity(); i++) {
- int id = Integer.valueOf(playerEquipment[2 * i]);
- int amount = Integer.valueOf(playerEquipment[2 * i + 1]);
- if (id > 0) {
- c.getPlayerEquipment().loadItem(i, new Item(id, amount));
- } else {
- c.getPlayerEquipment().loadItem(i, null);
- }
- }
- }
- /* LOOK */
- String sLook = rs.getString(KEY_PLAYERAPPEARANCE);
- if(sLook != null) {
- String[] look = sLook.split(":");
- for (int i = 0; i < c.playerAppearance.length; i++) {
- c.playerAppearance[i] = Integer.valueOf(look[i]);
- }
- }
- /* SKILLS */
- String sSkill = rs.getString(KEY_PLAYERLEVEL);
- if (sSkill != null && !sSkill.isEmpty()) {
- String[] skills = sSkill.split(":");
- for (int i = 0; i < c.playerLevel.length; i++) {
- c.playerLevel[i] = Integer.valueOf(skills[2 * i]);
- c.playerXP[i] = Integer.valueOf(skills[2 * i + 1]);
- }
- }
- /* ITEMS */
- String sItems = rs.getString(KEY_PLAYERITEMS);
- if (sItems != null && !sItems.isEmpty()) {
- String[] itemsArray = sItems.split(":");
- for (int i = 0; i < itemsArray.length / 3; i++) {
- int n = Integer.valueOf(itemsArray[i * 3]);
- c.playerItems[n] = Integer.valueOf(itemsArray[i * 3 + 1]);
- c.playerItemsN[n] = Integer.valueOf(itemsArray[i * 3 + 2]);
- }
- }
- /* BANK */
- String bankDocument = rs.getString(KEY_PLAYERBANK);
- BankWrapper bankWrapper = getGson().fromJson(bankDocument, BankWrapper.class);
- if (bankWrapper != null && bankWrapper.getItems() != null) {
- c.getBank().loadBank(bankWrapper);
- }
- /* FRIENDS */
- String sFriends = rs.getString(KEY_FRIENDS);
- if (sFriends != null && sFriends.trim().length() > 0) {
- String[] friendsArray = sFriends.split(":");
- int len = friendsArray.length;
- int friendID = 0;
- for (int i = 0; i < friendsArray.length / 2; i++) {
- if (len <= i * 2 || len <= (i * 2 + 1))
- continue;
- // int n = Integer.valueOf(friendsArray[i * 2]);
- c.friends[friendID++] = Long.valueOf(friendsArray[i * 2 + 1]);
- }
- }
- c.setPublicChatMode(rs.getInt(KEY_PUBLICCHATMODE));
- c.setPrivateChatMode(rs.getInt(KEY_PRIVATECHATMODE));
- c.setClanChatMode(rs.getInt(KEY_CLANCHATMODE));
- c.setTradeMode(rs.getInt(KEY_TRADEMODE));
- c.setShoutChatMode(rs.getInt(KEY_SHOUTMODE));
- c.setGlobalChatMode(rs.getInt(KEY_GLOBALMODE));
- c.setGameChatMode(rs.getInt(KEY_GAMECHATMODE));
- c.bossesKilled[0] = rs.getLong(KEY_BOSSESKILLED);
- c.wonBets = rs.getInt(KEY_WONBETS);
- c.lostBets = rs.getInt(KEY_LOSTBETS);
- c.getBankPin().resetRequestDate = rs.getLong(KEY_RESETREQUESTDATE);
- /* IGNORES */
- String sIgnores = rs.getString(KEY_IGNORES);
- if (sIgnores != null && sIgnores.trim().length() > 0) {
- String[] ignoresArray = sIgnores.split(":");
- int len = ignoresArray.length;
- for (int i = 0; i < ignoresArray.length / 2; i++) {
- if (len <= i * 2 || len <= (i * 2 + 1))
- continue;
- int n = Integer.valueOf(ignoresArray[i * 2]);
- c.ignores[n] = Long.valueOf(ignoresArray[i * 2 + 1]);
- }
- }
- /* TASKS */
- String sTasks = rs.getString(KEY_TASKS);
- if (sTasks != null && sTasks.trim().length() > 0) {
- String[] tasksArray = sTasks.split(":");
- int len = tasksArray.length;
- for (int i = 0; i < tasksArray.length / 2; i++) {
- if (len <= i * 2 || len <= (i * 2 + 1))
- continue;
- int n = Integer.valueOf(tasksArray[i * 2]);
- c.tasks[n] = Long.valueOf(tasksArray[i * 2 + 1]);
- }
- }
- /* TASKPROGRESS */
- String sTaskProgress = rs.getString(KEY_TASKPROGRESS);
- if (sTaskProgress != null && sTaskProgress.trim().length() > 0) {
- String[] taskProgressArray = sTaskProgress.split(":");
- int len = taskProgressArray.length;
- for (int i = 0; i < taskProgressArray.length / 2; i++) {
- if (len <= i * 2 || len <= (i * 2 + 1))
- continue;
- int n = Integer.valueOf(taskProgressArray[i * 2]);
- c.taskProgress[n] = Integer.valueOf(taskProgressArray[i * 2 + 1]);
- }
- }
- /* FAMILIARITEMS */
- String sFamilarItems = rs.getString(KEY_FAMILIARITEMS);
- if (sFamilarItems != null && sFamilarItems.trim().length() > 0) {
- String[] sFamilarItemsArray = sFamilarItems.split(":");
- for (int i = 0; i < sFamilarItemsArray.length / 2; i++) {
- int n = Integer.valueOf(sFamilarItemsArray[i * 2]);
- c.familiarItems[n] = Integer.valueOf(sFamilarItemsArray[i * 2 + 1]);
- }
- }
- c.quickPrayerSettings = rs.getInt(KEY_QUICKPRAYERS);
- c.quickCurseSettings = rs.getInt(KEY_QUICKCURSES);
- c.overloadTicks = rs.getInt(KEY_OVERLOADTICK);
- c.lastDailyReward = rs.getLong(KEY_LASTDAILYREWARD);
- c.weaponGameClassID = rs.getInt(KEY_WGCLASSID);
- String settingValues = rs.getString(KEY_SETTINGVALUES);
- String playerEmail = rs.getString(KEY_PLAYEREMAIL);
- c.emailSubscribed = (playerEmail != null && !playerEmail.isEmpty());
- decodeSettings(c, settingValues);
- c.castleWarsScore = rs.getInt(KEY_CASTLEWARSSCORE);
- c.castleWarsGamesPlayed = rs.getInt(KEY_CASTLEWARSGAMESPLAYED);
- c.castleWarsKills = rs.getInt(KEY_CASTLEWARSKILLS);
- c.castleWarsCaptures = rs.getInt(KEY_CASTLEWARSCAPTURES);
- c.castleWarsCatapultDamage = rs.getLong(KEY_CASTLEWARSCATAPULTDAMAGE);
- c.requirePassChange = rs.getInt(KEY_CHANGEPASSWORD) == 1;
- c.slayerMaster = SlayerMaster.forMasterID(rs.getInt(KEY_SLAYERMASTER));
- int slayerMonsterHash = rs.getInt(KEY_SLAYERMONSTERTYPE);
- if (slayerMonsterHash > 0) {
- c.slayerMonsterType = MonsterType.forHashCode(slayerMonsterHash);
- }
- c.slayerPendingKills = rs.getInt(KEY_SLAYERPENDINGKILLS);
- c.slayerPoints = rs.getInt(KEY_SLAYERPOINTS);
- c.slayerTaskStreak = rs.getInt(KEY_SLAYERTASKSTREAK);
- String disabledAssignments = rs.getString(KEY_SLAYERDISABLEDTASKS);
- if (disabledAssignments != null && disabledAssignments.length() > 4) {
- String disabledAssigments[] = disabledAssignments.split(";");
- for (int assignment = 0; assignment < disabledAssigments.length; assignment++) {
- if (!disabledAssigments[assignment].isEmpty()) {
- try {
- int hashCode = Integer.parseInt(disabledAssigments[assignment]);
- c.disabledAssignments[assignment] = hashCode <= 0 ? null : MonsterType.forHashCode(hashCode);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
- }
- String recolors = rs.getString(KEY_RECOLORS);
- if (recolors != null && recolors.length() > 0) {
- try {
- String[] items = recolors.split(";");
- if (items != null) {
- for (int i = 0; i < items.length; i++) {
- String[] itemData = items[i].split(",");
- if (itemData.length > 1) {
- ArrayList<Integer> colors = new ArrayList<Integer>();
- int itemID = Integer.valueOf(itemData[0]);
- for (int colorID = 1; colorID < itemData.length; colorID++) {
- colors.add(Integer.valueOf(itemData[colorID]));
- }
- if (colors.size() > 0) {
- c.itemRecolors.put(itemID, colors);
- }
- }
- }
- }
- } catch (NumberFormatException e) {
- e.printStackTrace();
- }
- }
- long settingsFlags = rs.getLong(KEY_SETTINGSFLAGS);
- c.settings.loadSettings(settingsFlags);
- c.pkingKillStreak = rs.getInt(KEY_KILLSTREAK);
- c.dragonfireShieldCharges = rs.getInt(KEY_DFSCHARGES);
- c.knowledgePoolTimer = rs.getLong(KEY_KNOWLEDGEPOOL);
- c.luckPoolTimer = rs.getLong(KEY_LUCKPOOL);
- c.precisionPoolTimer = rs.getLong(KEY_PRECISIONPOOL);
- c.reinvigorationPoolTimer = rs.getLong(KEY_REINVIGORATIONPOOL);
- c.securityPoolTimer = rs.getLong(KEY_SECURITYPOOL);
- c.acceptedRules = rs.getInt(KEY_ACCEPTEDRULES);
- c.lastVoteStreak = rs.getLong(KEY_LASTVOTESTREAK);
- c.lastStreakPenalty = rs.getLong(KEY_LASTSTREAKPENALTY);
- c.voteStreaks = rs.getFloat(KEY_VOTESTREAKS);
- c.streakPenalty = rs.getFloat(KEY_STREAKPENALTY);
- c.donatorExpireTime = rs.getLong(KEY_DONATOREXPIRETIME);
- c.participationPoints = rs.getInt(KEY_PARTICIPATIONPOINTS);
- c.contributionPoints = rs.getInt(KEY_CONTRIBUTIONPOINTS);
- c.dicingHosts = rs.getInt(KEY_DICINGHOSTS);
- c.trollPetNameID = rs.getInt(KEY_TROLLPETNAMEID);
- c.charmCollectSettings = rs.getInt(KEY_CHARMCOLLECTSETTINGS);
- c.skillingPoints = rs.getInt(KEY_SKILLINGPOINTS);
- c.skillingExperience = rs.getInt(KEY_SKILLINGEXPERIENCE);
- c.experienceBonus = rs.getLong(KEY_EXPERIENCEBONUS);
- c.collectBoneID = rs.getInt(KEY_COLLECTBONEID);
- c.collectedBones = rs.getInt(KEY_COLLECTEDBONES);
- c.playerTitle = PlayerTitle.getTitle(rs.getString(KEY_PLAYERTITLE));
- {
- byte[] titleTasksData = (byte[]) rs.getObject(KEY_TITLETASKS);
- decodeTitleFlags(c, titleTasksData);
- }
- {
- byte[] variablesData = (byte[]) rs.getObject(KEY_VARIABLES);
- decodeIntegerVariables(c, variablesData);
- }
- c.fightPitWins = rs.getInt(KEY_FIGHTPITSWINS);
- c.middleman = rs.getBoolean(KEY_MIDDLEMAN);
- c.rareDropCount = rs.getInt(KEY_RAREDROPCOUNT);
- {
- byte[] presetsData = (byte[]) rs.getObject(KEY_DUELPRESETS);
- decodeDuelPresets(c, presetsData);
- }
- c.minedDusts = rs.getInt(KEY_MINEDDUSTS);
- c.spottedStars = rs.getInt(KEY_SPOTTEDSTARS);
- c.soulPoints = rs.getInt(KEY_SOULPOINTS);
- c.lastRecoverCountReset = rs.getTimestamp(KEY_LASTRECOVERCOUNTRESET).getTime();
- {
- byte[] recoveriesData = (byte[]) rs.getObject(KEY_COLLECTIONRECOVERIES);
- decodeCollectionRecoveries(c, recoveriesData);
- }
- c.gameMode = GameMode.forType(rs.getInt(KEY_GAMEMODE));
- c.lockedExperienceGain = rs.getLong(KEY_LOCKEDEXPERIENCEGAIN);
- { // Scrolls loading
- String scrollDocument = rs.getString(KEY_EASYSCROLL);
- c.easyScroll = ScrollsHandler.getInstance().loadProgress(c, scrollDocument);
- scrollDocument = rs.getString(KEY_MEDIUMSCROLL);
- c.mediumScroll = ScrollsHandler.getInstance().loadProgress(c, scrollDocument);
- scrollDocument = rs.getString(KEY_HARDSCROLL);
- c.hardScroll = ScrollsHandler.getInstance().loadProgress(c, scrollDocument);
- scrollDocument = rs.getString(KEY_ELITESCROLL);
- c.eliteScroll = ScrollsHandler.getInstance().loadProgress(c, scrollDocument);
- }
- String playerDataDocument = rs.getString(KEY_PLAYERDATA);
- if (playerDataDocument != null) {
- PlayerData playerData = getGson().fromJson(playerDataDocument, PlayerData.class);
- if (playerData != null) {
- c.playerData = playerData;
- c.playerData.initialize();
- }
- }
- String playerPresetsDocument = rs.getString(KEY_PLAYERPRESETS);
- if (playerDataDocument != null) {
- PlayerPreset playerPreset = getGson().fromJson(playerPresetsDocument, PlayerPreset.class);
- if (playerPreset != null) {
- c.playerPreset = playerPreset;
- }
- }
- String timersDocument = rs.getString(KEY_PLAYERTIMERS);
- if (timersDocument != null) {
- PlayerTimer playerTimer = getGson().fromJson(timersDocument, PlayerTimer.class);
- if (playerTimer != null) {
- c.playerTimer = playerTimer;
- }
- }
- String itemDegradingDocument = rs.getString(KEY_ITEMDEGRADING);
- if (itemDegradingDocument != null) {
- ItemDegrading itemDegrading = getGson().fromJson(itemDegradingDocument, ItemDegrading.class);
- if (itemDegrading != null) {
- c.itemDegrading = itemDegrading;
- }
- }
- String playerSettingsDocument = rs.getString(KEY_PLAYERSETTINGS);
- if (playerSettingsDocument != null) {
- PlayerSettings playerSettings = getGson().fromJson(playerSettingsDocument, PlayerSettings.class);
- if (playerSettings != null) {
- c.getClientSettings().load(playerSettings);
- }
- }
- //c.recoveryPoint = rs.getInt(KEY_RECOVERYPOINTS);
- //c.dicingDuration = rs.getLong(KEY_DICING_DURATION);
- /* EOF */
- loadStatement.clearParameters();
- c.getTask().loadTasks(c.tasks);
- loadNPCKills(c, databaseConnection);
- loadInventories(c, databaseConnection);
- c.setPvpScores(PlayerDatabase.getPvPScores(c, databaseConnection), false);
- } catch (final Exception e) {
- System.err.println("Error loading account: " + playerName);
- e.printStackTrace();
- return LoginConstants.STATUS_COULD_NOT_COMPLETE_LOGIN;
- } finally {
- if (databaseConnection != null) {
- databaseConnection.close(rs);
- databaseConnection.close(loadStatement);
- databaseConnection.close(createStatement);
- databaseConnection.release();
- }
- }
- return 1; // load from db correct
- }
- public static void decodeCollectionRecoveries(Client c, byte[] data) {
- if (data == null) {
- return;
- }
- StreamBuffer stream = new StreamBuffer(data);
- while (stream.available() >= 6) {
- int itemID = stream.readUnsignedWord();
- int recoverCount = stream.readDWord();
- c.reaperCollectionRecovers.put(itemID, new AtomicInteger(recoverCount));
- }
- }
- public static void decodeDuelPresets(Client c, byte data[]) {
- try {
- if (data == null || data.length <= 1) {
- return;
- }
- StreamBuffer stream = new StreamBuffer(data);
- int size = stream.readUnsignedByte();
- for (int i = 0; i < size; i++) {
- int presetID = stream.readUnsignedByte();
- int presets = stream.readDWord();
- String name = stream.readString();
- if (presetID < c.duelPresets.length) {
- c.duelPresets[presetID] = new DuelPreset(name, presets);
- }
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- public static void decodeTitleFlags(Client c, byte data[]) {
- try {
- if (data == null || data.length <= 2) {
- return;
- }
- StreamBuffer stream = new StreamBuffer(data);
- int size = stream.readUnsignedByte();
- long[] masks = new long[size];
- for (int i = 0; i < masks.length; i++) {
- masks[i] = stream.readQWord();
- }
- c.titleTasks.load(masks);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- public static void decodeIntegerVariables(Client c, byte[] data) {
- try {
- if (data == null || data.length <= 2) {
- return;
- }
- StreamBuffer stream = new StreamBuffer(data);
- int totalVariables = stream.readUnsignedWord();
- for (int i = 0; i < totalVariables; i++) {
- int hash = stream.readDWord();
- int value = stream.readDWord();
- ProgressVariable variable = ProgressVariable.forHash(hash);
- if (variable != null) {
- variable.setValue(c, value);
- }
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- private void loadInventories(Client c, DatabaseConnection databaseConnection) {
- if (c != null && databaseConnection != null) {
- PreparedStatement inventoryLoad = null;
- ResultSet inventories = null;
- try {
- inventoryLoad = databaseConnection.prepareStatement("SELECT looting_bag FROM player_inventory WHERE playerID = ?;");
- inventoryLoad.setInt(1, c.accountID);
- inventories = inventoryLoad.executeQuery();
- if (inventories.next()) {
- String lootingBagData = inventories.getString(1);
- c.getLootingBag().load(lootingBagData);
- }
- } catch (Exception ex) {
- ex.printStackTrace();
- } finally {
- databaseConnection.close(inventoryLoad);
- databaseConnection.close(inventories);
- }
- }
- }
- private void loadNPCKills(Client c, DatabaseConnection databaseConnection) {
- if (c != null && databaseConnection != null) {
- PreparedStatement monsterKillsLoad = null;
- ResultSet monsterTrackResults = null;
- try {
- monsterKillsLoad = databaseConnection.prepareStatement("select npcID, killCount, bestKillTime from npcKills where playerID = ?;");
- monsterKillsLoad.setInt(1, c.accountID);
- monsterTrackResults = monsterKillsLoad.executeQuery();
- while (monsterTrackResults.next()) {
- int npcID = monsterTrackResults.getInt(1);
- int kills = monsterTrackResults.getInt(2);
- long bestKillTime = monsterTrackResults.getLong(3);
- c.getKillTracker().putProgress(npcID, new NPCKillData(kills, bestKillTime));
- }
- } catch (Exception ex) {
- ex.printStackTrace();
- } finally {
- databaseConnection.close(monsterKillsLoad);
- databaseConnection.close(monsterTrackResults);
- }
- }
- }
- private void decodeSettings(Client c, String settingValues) {
- if (settingValues != null && settingValues.length() > 3) {
- String[] settingsTypes = settingValues.split("-");
- int dataType = 0;
- for (String settingType : settingsTypes) {
- String valueMaps[] = settingType.split(";");
- for (String valueMap : valueMaps) {
- if (valueMap.isEmpty()) {
- continue;
- }
- String key = valueMap.substring(0, valueMap.indexOf(":"));
- String value = valueMap.substring(valueMap.indexOf(":") + 1);
- switch (dataType) {
- case 0 :// Integer
- c.integerKeys.put(key, new Integer(value));
- break;
- case 1 :// String
- c.stringKeys.put(key, value);
- break;
- case 2 :// Boolean
- c.booleanKeys.put(key, new Boolean(value));
- break;
- case 3 :// Long
- c.longKeys.put(key, new Long(value));
- break;
- }
- }
- dataType++;
- }
- }
- }
- private boolean createStubClient(PreparedStatement createStatement, String playerName, String playerPass) {
- try {
- String encryptedPass = BCrypt.hashpw(Config.SALT_PRE + playerPass + Config.SALT_POST, BCrypt.gensalt(Config.SALT_STRENGTH));
- createStatement.clearParameters();
- createStatement.setString(1, playerName);
- createStatement.setString(2, encryptedPass);
- createStatement.setInt(3, -1);
- createStatement.executeUpdate();
- return true;
- } catch (final SQLException e) {
- System.err.println("Error creating player '" + playerName + "': " + e);
- return false;
- }
- }
- public static String selectQuery = "";
- public static String selectOldQuery = "";
- public static String[] keys;
- public static void createKeys() {
- String[] keys = {null, "dbId", "playerName", "encryptedPass", "newPlayer", "heightLevel", "absX", "absY", "playerRights", "systemName", "playerMacAdress", "titleColor", "runEnergy", "titleShadow", "textShadow", "title", "textYellColor", "crystalBowShots", "lostCatId", "dungTokens", "DuelsWon", "DuelsLost", "donorPoints", "voterPoints", "totalVotes", "amountDonated", "tempAmountDonated", "YellsRemaining", "skullTimer", "playTime", "weaponGameMeleeLevel", "weaponGameRangeLevel", "weaponGameMageLevel", "weaponGameMeleeKills", "weaponGameRangeKills", "weaponGameMageKills", "weaponGameMeleeDeaths", "WeaponGameRangeDeaths", "weaponGameMageDeaths", "weaponGameMeleeLP", "weaponGameRangeLP", "weaponGameMageLP", "lastWeapon", "homeArea", "Tasksdone", "bankPin", "recievedWg", "usingCurses", "useCustomYell", "attemptsRemaining", "WGPoints", "poisonDamage", "action", "TotalBossesKilled", "PkKillCount", "boostedHits", "pure", "isSpawned", "FamiliarID", "pkingPoints", "recoveryId", "playerDeathCount", "Blackmarks", "xpLock", "connectedFrom", "membership", "startDay", "startMonth", "recoilCount", "doubleExpRingCount", "playerMagicBook", "barrowsNpcs", "specialAttackCharge", "randomCoffin", "barrowsKillCount", "pcPoints", "donatedtimes", "donatorType", "isStarter", "magePoints", "pkPoints", "waveId", "killCount", "fightStyle", "clanKey", "epAmount", "splitChat", "brightness", "totalEXP", "enterBHTimer", "lastClan", "lastWithdrawAmount", "playerEquipment", "playerAppearance", "playerLevel", "playerItems", "friends", "publicChatMode", "privateChatMode", "clanChatMode", "tradeMode", "shoutMode", "globalMode", "gameChatMode", "bossesKilled", "wonBets", "lostBets", "resetRequestDate", "ignores", "tasks", "taskProgress", "familiaritems", "quickPrayers", "quickCurses", "overloadTick", "lastDailyReward", "wgClassID", "settingValues", "playerEmail", "castleWarsScore", "castleWarsGamesPlayed", "castleWarsKills", "castleWarsCaptures", "castleWarsCatapultDamage", "changePassword", "slayerMaster", "slayerMonsterType", "slayerPendingKills", "slayerPoints", "slayerTaskStreak", "slayerDisabledTasks", "recolors", "settingsFlags", "killStreak", "dfsCharges", "knowledgePool", "luckPool", "precisionPool", "reinvigorationPool", "securityPool", "acceptRules", "lastVoteStreak", "lastStreakPenalty", "voteStreaks", "streakPenalty", "donatorExpireTime", "participationPoints", "contributionPoints", "dicingHosts", "trollPetNameID", "charmCollectSettings", "skillingPoints", "skillingExperience", "experienceBonus", "collectBoneID", "collectedBones", "playerTitle", "titleTasks", "progressVariables", "fightPitsWins", "middleman", "rareDropCount", "duelPresets", "minedDusts", "spottedStars", "soulPoints", "lastRecoverCountReset", "collectionRecoveries", "gameMode", "lockedExperienceGain", "playerBank", "easyScroll", "mediumScroll", "hardScroll", "eliteScroll", "playerData", "playerPresets", "playerTimers", "itemDegrading", "playerSettings", "recoveryPoints", "dicingDuration"};
- ArrayList<String> keysList = new ArrayList<String>(Arrays.asList(keys));
- KEY_DBID = keysList.indexOf("dbId");
- KEY_PLAYERNAME = keysList.indexOf("playerName");
- KEY_PLAYERPASS = keysList.indexOf("encryptedPass");
- KEY_NEWPLAYER = keysList.indexOf("newPlayer");
- KEY_HEIGHTLEVEL = keysList.indexOf("heightLevel");
- KEY_ABSX = keysList.indexOf("absX");
- KEY_ABSY = keysList.indexOf("absY");
- KEY_PLAYERRIGHTS = keysList.indexOf("playerRights");
- KEY_SYSTEMNAME = keysList.indexOf("systemName");
- KEY_PLAYERMACADRESS = keysList.indexOf("playerMacAdress");
- KEY_TITLECOLOR = keysList.indexOf("titleColor");
- KEY_RUNENERGY = keysList.indexOf("runEnergy");
- KEY_TITLESHADOW = keysList.indexOf("titleShadow");
- KEY_TEXTSHADOW = keysList.indexOf("textShadow");
- KEY_TITLE = keysList.indexOf("title");
- KEY_TEXTYELLCOLOR = keysList.indexOf("textYellColor");
- KEY_CRYSTALBOWSHOTS = keysList.indexOf("crystalBowShots");
- KEY_LOSTCATID = keysList.indexOf("lostCatId");
- KEY_DUNGTOKENS = keysList.indexOf("dungTokens");
- KEY_DUELSWON = keysList.indexOf("DuelsWon");
- KEY_DUELSLOST = keysList.indexOf("DuelsLost");
- KEY_DONORPOINTS = keysList.indexOf("donorPoints");
- KEY_VOTERPOINTS = keysList.indexOf("voterPoints");
- KEY_TOTALVOTES = keysList.indexOf("totalVotes");
- KEY_AMOUNTDONATED = keysList.indexOf("amountDonated");
- KEY_TEMPAMOUNTDONATED = keysList.indexOf("tempAmountDonated");
- KEY_YELLSREMAINING = keysList.indexOf("YellsRemaining");
- KEY_SKULLTIMER = keysList.indexOf("skullTimer");
- KEY_PLAYTIME = keysList.indexOf("playTime");
- KEY_WEAPONGAMEMELEELEVEL = keysList.indexOf("weaponGameMeleeLevel");
- KEY_WEAPONGAMERANGELEVEL = keysList.indexOf("weaponGameRangeLevel");
- KEY_WEAPONGAMEMAGELEVEL = keysList.indexOf("weaponGameMageLevel");
- KEY_WEAPONGAMEMELEEKILLS = keysList.indexOf("weaponGameMeleeKills");
- KEY_WEAPONGAMERANGEKILLS = keysList.indexOf("weaponGameRangeKills");
- KEY_WEAPONGAMEMAGEKILLS = keysList.indexOf("weaponGameMageKills");
- KEY_WEAPONGAMEMELEEDEATHS = keysList.indexOf("weaponGameMeleeDeaths");
- KEY_WEAPONGAMERANGEDEATHS = keysList.indexOf("WeaponGameRangeDeaths");
- KEY_WEAPONGAMEMAGEDEATHS = keysList.indexOf("weaponGameMageDeaths");
- KEY_WEAPONGAMEMELEELP = keysList.indexOf("weaponGameMeleeLP");
- KEY_WEAPONGAMERANGELP = keysList.indexOf("weaponGameRangeLP");
- KEY_WEAPONGAMEMAGELP = keysList.indexOf("weaponGameMageLP");
- KEY_LASTWEAPON = keysList.indexOf("lastWeapon");
- KEY_HOMEAREA = keysList.indexOf("homeArea");
- KEY_TASKSDONE = keysList.indexOf("Tasksdone");
- KEY_BANKPIN = keysList.indexOf("bankPin");
- KEY_RECIEVEDWG = keysList.indexOf("recievedWg");
- KEY_USINGCURSES = keysList.indexOf("usingCurses");
- KEY_USECUSTOMYELL = keysList.indexOf("useCustomYell");
- KEY_ATTEMPTSREMAINING = keysList.indexOf("attemptsRemaining");
- KEY_WGPOINTS = keysList.indexOf("WGPoints");
- KEY_POISONDAMAGE = keysList.indexOf("poisonDamage");
- KEY_ACTION = keysList.indexOf("action");
- KEY_TOTALBOSSESKILLED = keysList.indexOf("TotalBossesKilled");
- KEY_PKKILLCOUNT = keysList.indexOf("PkKillCount");
- KEY_BOOSTEDHITS = keysList.indexOf("boostedHits");
- KEY_PURE = keysList.indexOf("pure");
- KEY_ISSPAWNED = keysList.indexOf("isSpawned");
- KEY_FAMILIARID = keysList.indexOf("FamiliarID");
- KEY_PKINGPOINTS = keysList.indexOf("pkingPoints");
- KEY_RECOVERYID = keysList.indexOf("recoveryId");
- KEY_PLAYERDEATHCOUNT = keysList.indexOf("playerDeathCount");
- KEY_BLACKMARKS = keysList.indexOf("Blackmarks");
- KEY_XPLOCK = keysList.indexOf("xpLock");
- KEY_CONNECTEDFROM = keysList.indexOf("connectedFrom");
- KEY_MEMBERSHIP = keysList.indexOf("membership");
- KEY_STARTDAY = keysList.indexOf("startDay");
- KEY_STARTMONTH = keysList.indexOf("startMonth");
- KEY_RECOILCOUNT = keysList.indexOf("recoilCount");
- KEY_DOUBLEEXPRINGCOUNT = keysList.indexOf("doubleExpRingCount");
- KEY_PLAYERMAGICBOOK = keysList.indexOf("playerMagicBook");
- KEY_BARROWSNPCS = keysList.indexOf("barrowsNpcs");
- KEY_SPECIALATTACKCHARGE = keysList.indexOf("specialAttackCharge");
- KEY_RANDOMCOFFIN = keysList.indexOf("randomCoffin");
- KEY_BARROWSKILLCOUNT = keysList.indexOf("barrowsKillCount");
- // TODO: Remove from database
- // KEY_TELEBLOCKLENGTH = keysList.indexOf("teleBlockLength");
- KEY_PCPOINTS = keysList.indexOf("pcPoints");
- KEY_DONATEDTIMES = keysList.indexOf("donatedtimes");
- KEY_DONATOR_TYPE = keysList.indexOf("donatorType");
- KEY_ISSTARTER = keysList.indexOf("isStarter");
- KEY_MAGEPOINTS = keysList.indexOf("magePoints");
- KEY_PKPOINTS = keysList.indexOf("pkPoints");
- KEY_WAVEID = keysList.indexOf("waveId");
- KEY_KILLCOUNT = keysList.indexOf("killCount");
- KEY_FIGHTSTYLE = keysList.indexOf("fightStyle");
- KEY_CLANKEY = keysList.indexOf("clanKey");
- KEY_EPAMOUNT = keysList.indexOf("epAmount");
- KEY_SPLITCHAT = keysList.indexOf("splitChat");
- KEY_BRIGHTNESS = keysList.indexOf("brightness");
- KEY_TOTALEXP = keysList.indexOf("totalEXP");
- KEY_ENTERBHTIMER = keysList.indexOf("enterBHTimer");
- KEY_LASTCLAN = keysList.indexOf("lastClan");
- KEY_LASTWITHDRAWAMOUNT = keysList.indexOf("lastWithdrawAmount");
- KEY_PLAYEREQUIPMENT = keysList.indexOf("playerEquipment");
- KEY_PLAYERAPPEARANCE = keysList.indexOf("playerAppearance");
- KEY_PLAYERLEVEL = keysList.indexOf("playerLevel");
- KEY_PLAYERITEMS = keysList.indexOf("playerItems");
- // KEY_BANKITEMS = keysList.indexOf("bankItems");
- KEY_FRIENDS = keysList.indexOf("friends");
- KEY_PUBLICCHATMODE = keysList.indexOf("publicChatMode");
- KEY_PRIVATECHATMODE = keysList.indexOf("privateChatMode");
- KEY_CLANCHATMODE = keysList.indexOf("clanChatMode");
- KEY_TRADEMODE = keysList.indexOf("tradeMode");
- KEY_SHOUTMODE = keysList.indexOf("shoutMode");
- KEY_GLOBALMODE = keysList.indexOf("globalMode");
- KEY_GAMECHATMODE = keysList.indexOf("gameChatMode");
- KEY_BOSSESKILLED = keysList.indexOf("bossesKilled");
- KEY_WONBETS = keysList.indexOf("wonBets");
- KEY_LOSTBETS = keysList.indexOf("lostBets");
- KEY_RESETREQUESTDATE = keysList.indexOf("resetRequestDate");
- KEY_IGNORES = keysList.indexOf("ignores");
- KEY_TASKS = keysList.indexOf("tasks");
- KEY_TASKPROGRESS = keysList.indexOf("taskProgress");
- KEY_FAMILIARITEMS = keysList.indexOf("familiaritems");
- KEY_QUICKPRAYERS = keysList.indexOf("quickPrayers");
- KEY_QUICKCURSES = keysList.indexOf("quickCurses");
- KEY_OVERLOADTICK = keysList.indexOf("overloadTick");
- KEY_LASTDAILYREWARD = keysList.indexOf("lastDailyReward");
- KEY_WGCLASSID = keysList.indexOf("wgClassID");
- KEY_SETTINGVALUES = keysList.indexOf("settingValues");
- KEY_PLAYEREMAIL = keysList.indexOf("playerEmail");
- KEY_CASTLEWARSSCORE = keysList.indexOf("castleWarsScore");
- KEY_CASTLEWARSGAMESPLAYED = keysList.indexOf("castleWarsGamesPlayed");
- KEY_CASTLEWARSKILLS = keysList.indexOf("castleWarsKills");
- KEY_CASTLEWARSCAPTURES = keysList.indexOf("castleWarsCaptures");
- KEY_CASTLEWARSCATAPULTDAMAGE = keysList.indexOf("castleWarsCatapultDamage");
- KEY_CHANGEPASSWORD = keysList.indexOf("changePassword");
- KEY_SLAYERMASTER = keysList.indexOf("slayerMaster");
- KEY_SLAYERMONSTERTYPE = keysList.indexOf("slayerMonsterType");
- KEY_SLAYERPENDINGKILLS = keysList.indexOf("slayerPendingKills");
- KEY_SLAYERPOINTS = keysList.indexOf("slayerPoints");
- KEY_SLAYERTASKSTREAK = keysList.indexOf("slayerTaskStreak");
- KEY_SLAYERDISABLEDTASKS = keysList.indexOf("slayerDisabledTasks");
- KEY_RECOLORS = keysList.indexOf("recolors");
- KEY_SETTINGSFLAGS = keysList.indexOf("settingsFlags");
- KEY_KILLSTREAK = keysList.indexOf("killStreak");
- KEY_DFSCHARGES = keysList.indexOf("dfsCharges");
- KEY_KNOWLEDGEPOOL = keysList.indexOf("knowledgePool");
- KEY_LUCKPOOL = keysList.indexOf("luckPool");
- KEY_PRECISIONPOOL = keysList.indexOf("precisionPool");
- KEY_REINVIGORATIONPOOL = keysList.indexOf("reinvigorationPool");
- KEY_SECURITYPOOL = keysList.indexOf("securityPool");
- KEY_ACCEPTEDRULES = keysList.indexOf("acceptRules");
- KEY_LASTVOTESTREAK = keysList.indexOf("lastVoteStreak");
- KEY_LASTSTREAKPENALTY = keysList.indexOf("lastStreakPenalty");
- KEY_VOTESTREAKS = keysList.indexOf("voteStreaks");
- KEY_STREAKPENALTY = keysList.indexOf("streakPenalty");
- KEY_DONATOREXPIRETIME = keysList.indexOf("donatorExpireTime");
- KEY_PARTICIPATIONPOINTS = keysList.indexOf("participationPoints");
- KEY_CONTRIBUTIONPOINTS = keysList.indexOf("contributionPoints");
- KEY_DICINGHOSTS = keysList.indexOf("dicingHosts");
- KEY_TROLLPETNAMEID = keysList.indexOf("trollPetNameID");
- KEY_CHARMCOLLECTSETTINGS = keysList.indexOf("charmCollectSettings");
- KEY_SKILLINGPOINTS = keysList.indexOf("skillingPoints");
- KEY_SKILLINGEXPERIENCE = keysList.indexOf("skillingExperience");
- KEY_EXPERIENCEBONUS = keysList.indexOf("experienceBonus");
- KEY_COLLECTBONEID = keysList.indexOf("collectBoneID");
- KEY_COLLECTEDBONES = keysList.indexOf("collectedBones");
- KEY_PLAYERTITLE = keysList.indexOf("playerTitle");
- KEY_TITLETASKS = keysList.indexOf("titleTasks");
- KEY_VARIABLES = keysList.indexOf("progressVariables");
- KEY_FIGHTPITSWINS = keysList.indexOf("fightPitsWins");
- KEY_MIDDLEMAN = keysList.indexOf("middleman");
- KEY_RAREDROPCOUNT = keysList.indexOf("rareDropCount");
- KEY_DUELPRESETS = keysList.indexOf("duelPresets");
- KEY_MINEDDUSTS = keysList.indexOf("minedDusts");
- KEY_SPOTTEDSTARS = keysList.indexOf("spottedStars");
- KEY_SOULPOINTS = keysList.indexOf("soulPoints");
- KEY_LASTRECOVERCOUNTRESET = keysList.indexOf("lastRecoverCountReset");
- KEY_COLLECTIONRECOVERIES = keysList.indexOf("collectionRecoveries");
- KEY_GAMEMODE = keysList.indexOf("gameMode");
- KEY_LOCKEDEXPERIENCEGAIN = keysList.indexOf("lockedExperienceGain");
- KEY_PLAYERBANK = keysList.indexOf("playerBank");
- KEY_EASYSCROLL = keysList.indexOf("easyScroll");
- KEY_MEDIUMSCROLL = keysList.indexOf("mediumScroll");
- KEY_HARDSCROLL = keysList.indexOf("hardScroll");
- KEY_ELITESCROLL = keysList.indexOf("eliteScroll");
- KEY_PLAYERDATA = keysList.indexOf("playerData");
- KEY_PLAYERPRESETS = keysList.indexOf("playerPresets");
- KEY_PLAYERTIMERS = keysList.indexOf("playerTimers");
- KEY_ITEMDEGRADING = keysList.indexOf("itemDegrading");
- KEY_PLAYERSETTINGS = keysList.indexOf("playerSettings");
- KEY_RECOVERYPOINTS = keysList.indexOf("recoveryPoints");
- KEY_DICING_DURATION = keysList.indexOf("dicingDuration");
- GameLoad.keys = keys;
- System.out.println(keys);
- selectQuery = "select " + DatabaseUtils.getSelectStructure(keys) + " from `clients` where `playerName` like ? limit 1";
- selectOldQuery = "select playerName from `clients_old` where `playerName` like ? limit 1";
- }
- public static String generateKeys() {
- StringBuilder sb = new StringBuilder();
- if (keys != null)
- for (int i = 0; i < keys.length; i++) {
- // lines = lines.replace("(" + i + ")", "(KEY_" +
- // keys[i].toUpperCase() + ")");
- // sb.append("private static final int KEY_" +
- // keys[i].toUpperCase() + " = " + (i + 1) + ";\n");
- }
- return sb.toString();
- }
- private static int KEY_DBID, KEY_PLAYERNAME, KEY_PLAYERPASS, KEY_NEWPLAYER,
- KEY_HEIGHTLEVEL, KEY_ABSX, KEY_ABSY, KEY_PLAYERRIGHTS,
- KEY_SYSTEMNAME, KEY_PLAYERMACADRESS, KEY_TITLECOLOR, KEY_RUNENERGY,
- KEY_TITLESHADOW, KEY_TEXTSHADOW, KEY_TITLE, KEY_TEXTYELLCOLOR,
- KEY_CRYSTALBOWSHOTS, KEY_LOSTCATID, KEY_DUNGTOKENS, KEY_DUELSWON,
- KEY_DUELSLOST, KEY_DONORPOINTS, KEY_VOTERPOINTS, KEY_TOTALVOTES,
- KEY_AMOUNTDONATED, KEY_TEMPAMOUNTDONATED, KEY_YELLSREMAINING,
- KEY_SKULLTIMER, KEY_PLAYTIME, KEY_WEAPONGAMEMELEELEVEL,
- KEY_WEAPONGAMERANGELEVEL, KEY_WEAPONGAMEMAGELEVEL,
- KEY_WEAPONGAMEMELEEKILLS, KEY_WEAPONGAMERANGEKILLS,
- KEY_WEAPONGAMEMAGEKILLS, KEY_WEAPONGAMEMELEEDEATHS,
- KEY_WEAPONGAMERANGEDEATHS, KEY_WEAPONGAMEMAGEDEATHS,
- KEY_WEAPONGAMEMELEELP, KEY_WEAPONGAMERANGELP, KEY_WEAPONGAMEMAGELP,
- KEY_LASTWEAPON, KEY_HOMEAREA, KEY_TASKSDONE, KEY_BANKPIN,
- KEY_RECIEVEDWG, KEY_USINGCURSES, KEY_USECUSTOMYELL,
- KEY_ATTEMPTSREMAINING, KEY_WGPOINTS, KEY_POISONDAMAGE, KEY_ACTION,
- KEY_TOTALBOSSESKILLED, KEY_PKKILLCOUNT, KEY_BOOSTEDHITS, KEY_PURE,
- KEY_ISSPAWNED, KEY_FAMILIARID, KEY_PKINGPOINTS, KEY_RECOVERYID,
- KEY_PLAYERDEATHCOUNT, KEY_BLACKMARKS, KEY_XPLOCK, KEY_CONNECTEDFROM,
- KEY_MEMBERSHIP, KEY_STARTDAY, KEY_STARTMONTH, KEY_RECOILCOUNT,
- KEY_DOUBLEEXPRINGCOUNT, KEY_PLAYERMAGICBOOK, KEY_BARROWSNPCS,
- KEY_SPECIALATTACKCHARGE, KEY_RANDOMCOFFIN, KEY_BARROWSKILLCOUNT,
- KEY_TELEBLOCKLENGTH, KEY_PCPOINTS, KEY_DONATEDTIMES, KEY_DONATOR_TYPE,
- KEY_ISSTARTER, KEY_MAGEPOINTS, KEY_PKPOINTS, KEY_WAVEID,
- KEY_KILLCOUNT, KEY_FIGHTSTYLE, KEY_CLANKEY, KEY_EPAMOUNT,
- KEY_SPLITCHAT, KEY_BRIGHTNESS, KEY_TOTALEXP, KEY_ENTERBHTIMER,
- KEY_LASTCLAN, KEY_LASTWITHDRAWAMOUNT, KEY_PLAYEREQUIPMENT,
- KEY_PLAYERAPPEARANCE, KEY_PLAYERLEVEL, KEY_PLAYERITEMS, KEY_FRIENDS,
- KEY_PUBLICCHATMODE, KEY_PRIVATECHATMODE, KEY_CLANCHATMODE,
- KEY_TRADEMODE, KEY_SHOUTMODE, KEY_GLOBALMODE, KEY_GAMECHATMODE,
- KEY_BOSSESKILLED, KEY_WONBETS, KEY_LOSTBETS, KEY_RESETREQUESTDATE,
- KEY_IGNORES, KEY_TASKS, KEY_TASKPROGRESS, KEY_FAMILIARITEMS,
- KEY_QUICKPRAYERS, KEY_QUICKCURSES, KEY_OVERLOADTICK,
- KEY_LASTDAILYREWARD, KEY_WGCLASSID, KEY_SETTINGVALUES,
- KEY_PLAYEREMAIL, KEY_CASTLEWARSSCORE, KEY_CASTLEWARSGAMESPLAYED,
- KEY_CASTLEWARSKILLS, KEY_CASTLEWARSCAPTURES,
- KEY_CASTLEWARSCATAPULTDAMAGE, KEY_CHANGEPASSWORD, KEY_SLAYERMASTER,
- KEY_SLAYERMONSTERTYPE, KEY_SLAYERPENDINGKILLS, KEY_SLAYERPOINTS,
- KEY_SLAYERTASKSTREAK, KEY_SLAYERDISABLEDTASKS, KEY_RECOLORS,
- KEY_SETTINGSFLAGS, KEY_KILLSTREAK, KEY_DFSCHARGES,
- KEY_KNOWLEDGEPOOL, KEY_LUCKPOOL, KEY_PRECISIONPOOL,
- KEY_REINVIGORATIONPOOL, KEY_SECURITYPOOL, KEY_LASTVOTESTREAK,
- KEY_LASTSTREAKPENALTY, KEY_VOTESTREAKS, KEY_STREAKPENALTY,
- KEY_DONATOREXPIRETIME, KEY_PARTICIPATIONPOINTS,
- KEY_CONTRIBUTIONPOINTS, KEY_DICINGHOSTS, KEY_TROLLPETNAMEID,
- KEY_CHARMCOLLECTSETTINGS, KEY_SKILLINGPOINTS,
- KEY_SKILLINGEXPERIENCE, KEY_EXPERIENCEBONUS, KEY_COLLECTBONEID,
- KEY_COLLECTEDBONES, KEY_ACCEPTEDRULES, KEY_PLAYERTITLE,
- KEY_TITLETASKS, KEY_VARIABLES, KEY_FIGHTPITSWINS, KEY_MIDDLEMAN,
- KEY_RAREDROPCOUNT, KEY_DUELPRESETS, KEY_MINEDDUSTS,
- KEY_SPOTTEDSTARS, KEY_SOULPOINTS, KEY_LASTRECOVERCOUNTRESET,
- KEY_COLLECTIONRECOVERIES, KEY_GAMEMODE, KEY_LOCKEDEXPERIENCEGAIN,
- KEY_PLAYERBANK, KEY_EASYSCROLL, KEY_MEDIUMSCROLL, KEY_HARDSCROLL,
- KEY_ELITESCROLL, KEY_PLAYERDATA, KEY_PLAYERPRESETS,
- KEY_PLAYERTIMERS, KEY_ITEMDEGRADING, KEY_PLAYERSETTINGS,
- KEY_RECOVERYPOINTS, KEY_DICING_DURATION;
- }
Advertisement
Add Comment
Please, Sign In to add comment