Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public void load(String username, String password, int uid, boolean reconnecting) {
- try {
- setID(uid);
- this.password = password;
- this.reconnecting = reconnecting;
- usernameHash = DataConversions.usernameToHash(username);
- this.username = DataConversions.hashToUsername(usernameHash);
- //TODO
- //world.getServer().getLoginConnector().getActionSender().playerLogin(this);
- world.getDelayedEventHandler().add(new DelayedEvent(this, 60000) {
- public void run() {
- for(int statIndex = 0;statIndex < 18;statIndex++) {
- if(statIndex == 5) {
- continue;
- }
- int curStat = getCurStat(statIndex);
- int maxStat = getMaxStat(statIndex);
- if(curStat > maxStat) {
- setCurStat(statIndex, curStat - 1);
- getActionSender().sendStat(statIndex);
- checkStat(statIndex);
- }
- else if(curStat < maxStat) {
- setCurStat(statIndex, curStat + 1);
- getActionSender().sendStat(statIndex);
- checkStat(statIndex);
- }
- }
- }
- private void checkStat(int statIndex) {
- if(statIndex != 3 && owner.getCurStat(statIndex) == owner.getMaxStat(statIndex)) {
- owner.getActionSender().sendMessage("Your " + Formulae.statArray[statIndex] + " ability has returned to normal.");
- }
- }
- });
- drainer = new DelayedEvent(this, Integer.MAX_VALUE) {
- public void run() {
- int curPrayer = getCurStat(5);
- if(getDrainRate() > 0 && curPrayer > 0) {
- incCurStat(5, -1);
- getActionSender().sendStat(5);
- if(curPrayer <= 1) {
- for(int prayerID = 0;prayerID < 14;prayerID++) { //Prayer was < 14
- setPrayer(prayerID, false);
- }
- setDrainRate(0);
- setDelay(Integer.MAX_VALUE);
- getActionSender().sendMessage("You have run out of prayer points. Return to a church to recharge");
- getActionSender().sendPrayers();
- }
- }
- if (drainRate != 0) {
- setDelay((int) (240000 / drainRate));
- }
- }
- };
- world.getDelayedEventHandler().add(drainer);
- //setOwner(p.readInt()); SQL/PunBB Integration "Owner ID" Which i won't be needing.
- //player.setGroupID(p.readInt()); <-- Same.
- if (GameVars.usesql) {
- String wheresql = "WHERE `user` LIKE '" + this.getUsername() + "'";
- ResultSet result;
- // result = Server.db.updateQuery("UPDATE `rscd_curstats` SET attack=" + player.getExp(0) + ", defense=" + player.getExp(1) + ", overall=" + player.getSkillTotal() + ", strength=" + player.getExp(2) + ", hits=" + player.getMaxStat(3) + ", ranged=" + player.getExp(4) + ", prayer=" + player.getExp(5) + ", magic=" + player.getExp(6) + ", cooking=" + player.getExp(7) + ", woodcut=" + player.getExp(8) + ", fletching=" + player.getExp(9) + ", fishing=" + player.getExp(10) + ", firemaking=" + player.getExp(11) + ", crafting=" + player.getExp(12) + ", smithing=" + player.getExp(13) + ", mining=" + player.getExp(14) + ", herblaw=" + player.getExp(15) + ", agility=" + player.getExp(16) + ", thieving='" + player.getExp(17) + "' WHERE user='" + player.getUsername().toLowerCase() + "'");
- result = Server.db.getQuery("SELECT * FROM `rscd_user_info` " + wheresql);
- result.next();
- setSubscriptionExpires(0); // No sub atm.
- setLogin(result.getLong("last_logged"), DataConversions.IPToLong(result.getString("log_ip")));
- //setLoggedIn(result.getInt("loggedin") == 0);
- rank = result.getInt("rank");
- if(this.isAdmin())
- GameVars.adminsOnline++;
- else if(this.rank == 3 || this.rank == 2)
- GameVars.modsOnline++;
- setLocation(Point.location(result.getInt("cur_x"), result.getInt("cur_y")), true);
- setFatigue(result.getInt("fatigue"));
- setCombatStyle(result.getInt("combat_style"));
- PlayerAppearance appearance = new PlayerAppearance(
- result.getInt("haircolour"),
- result.getInt("topcolour"),
- result.getInt("trousercolour"),
- result.getInt("skincolour"),
- result.getInt("headsprite"),
- result.getInt("bodysprite"));
- if(!appearance.isValid()) {
- destroy(true);
- getSession().close();
- }
- setAppearance(appearance);
- setWornItems(getPlayerAppearance().getSprites());
- setMale(result.getInt("is_male") == 1);
- long skull = result.getLong("is_skulled");
- if(skull > 0) {
- addSkull(skull);
- }
- result = Server.db.getQuery("SELECT * FROM `rscd_user_settings` " + wheresql);
- result.next();
- setPrivacySetting(0, result.getInt("block_chat") == 1);
- setPrivacySetting(1, result.getInt("block_private") == 1);
- setPrivacySetting(2, result.getInt("block_trade") == 1);
- setPrivacySetting(3, result.getInt("block_duel") == 1);
- setGameSetting(0, result.getInt("cameraauto") == 1);
- setGameSetting(2, result.getInt("onemouse") == 1);
- setGameSetting(3, result.getInt("soundoff") == 1);
- setGameSetting(4, result.getInt("showroof") == 1);
- setGameSetting(5, result.getInt("autoscreenshot") == 1);
- setGameSetting(6, result.getInt("combatwindow") == 1);
- result = Server.db.getQuery("SELECT * FROM `rscd_curstats` " + wheresql);
- result.next();
- for(int i = 0;i < 18;i++) {
- int exp = result.getInt(statArray[i]);
- setExp(i, exp);
- setMaxStat(i, Formulae.experienceToLevel(exp));
- }
- setCombatLevel(Formulae.getCombatlevel(getMaxStats()));
- result = Server.db.getQuery("SELECT * FROM `rscd_curlevel` " + wheresql);
- result.next();
- for(int i = 0;i < 18;i++) {
- setCurStat(i, result.getInt(statArray[i]));
- }
- result = Server.db.getQuery("SELECT * FROM `rscd_user_friends` " + wheresql);
- result.next();
- while(result.next()) {
- this.getFriendList().add(result.getString("friend_count"));
- }
- /// Inventory
- result = Server.db.getQuery("SELECT * FROM `rscd_user_inv` " + wheresql + " ORDER BY `slot` ASC");
- Inventory inventory = new Inventory(this);
- while (result.next()) {
- int id = result.getInt("id");
- int amount = result.getInt("amount");
- int wear = result.getInt("wielded");
- if(id != 7000) {
- InvItem item = new InvItem(id, amount);
- if(wear == 1 && item.isWieldable()) {
- item.setWield(true);
- updateWornItems(item.getWieldableDef().getWieldPos(), item.getWieldableDef().getSprite());
- }
- inventory.add(item);
- }
- }
- setInventory(inventory);
- ///bank
- result = Server.db.getQuery("SELECT * FROM `rscd_user_bank` " + wheresql + " ORDER BY `slot` ASC");
- //result.next();
- Bank bank = new Bank();
- while (result.next()) {
- int id = result.getInt("id");
- int amount = result.getInt("amount");
- //System.out.println(id +"," +amount);
- if(id != 7000)
- bank.add(new InvItem(id, amount));
- }
- setBank(bank);
- //Friend
- result = Server.db.getQuery("SELECT * FROM `rscd_user_friends` " + wheresql);
- while(result.next()) {
- this.getFriendList().add(result.getString("friend_count"));
- }
- result = Server.db.getQuery("SELECT * FROM `rscd_quests` WHERE `user`='" + this.getUsername() + "'");
- while (result.next()) {
- this.setQuestStage(result.getInt("id"), result.getInt("stage"));
- }
- if(!this.bad_login) {
- Server.db.updateQuery("UPDATE `rscd_user_info` SET online=" +1+ ", log_ip='" +this.getLastIP()+"' WHERE user='" + this.getUsername() + "'");
- }
- world.registerPlayer(this);
- updateViewedPlayers();
- updateViewedObjects();
- org.rscdaemon.server.packetbuilder.client.MiscPacketBuilder sender = getActionSender();
- sender.sendServerInfo();
- sender.sendFatigue();
- sender.sendWorldInfo();
- sender.sendInventory();
- sender.sendEquipmentStats();
- sender.sendStats();
- sender.sendPrivacySettings();
- sender.sendGameSettings();
- sender.sendFriendList();
- sender.sendIgnoreList();
- sender.sendCombatStyle();
- sender.sendQuestInfo();
- for(Player p : world.getPlayers()) {
- if(p.isFriendsWith(this.getUsername())) {
- p.getActionSender().sendFriendUpdate(this.getUsernameHash(), org.rscdaemon.server.util.Config.SERVER_NUM);
- }
- }
- for(String player : getFriendList()) {
- Player p = world.getPlayer(DataConversions.usernameToHash(player));
- if(p != null) {
- sender.sendFriendUpdate(p.getUsernameHash(), Config.SERVER_NUM);
- } else {
- sender.sendFriendUpdate(DataConversions.usernameToHash(player), 0);
- }
- }
- sender.sendMessage(" "); // ROFL at this, its to stop the stupid friends list saying xx logged out when someone logs in, ill fix it up later
- sender.sendMessage(" ");
- sender.sendMessage("@yel@There are currently: @whi@" + (GameVars.usersOnline + 1) + " @yel@playing Elite Source !" + " Peak is: @whi@" + (GameVars.userPeak + 1));
- sender.sendMessage(" ");
- int timeTillShutdown = world.getServer().timeTillShutdown();
- if(timeTillShutdown > -1) {
- sender.startShutdown((int)(timeTillShutdown / 1000));
- }
- if(getLastLogin() == 0) {
- setChangingAppearance(true);
- sender.sendAppearanceScreen();
- Server.db.updateQuery("UPDATE `rscd_user_info` SET `reg_ip`='" + this.getCurrentIP() + "' WHERE `user`='" + this.getUsername() + "'");
- }
- setLastLogin(System.currentTimeMillis());
- sender.sendLoginBox();
- setLoggedIn(true);
- setBusy(false);
- RSCPacketBuilder pb = new RSCPacketBuilder();
- pb.setBare(true);
- pb.addByte((byte)0);
- getSession().write(pb.toPacket());
- }
- }
- catch (Exception e) {
- e.printStackTrace();
- Logger.print(e.toString(), 1);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement