From 6cfca2886a8b65c4444362b375fdb65502b1c7bf Mon Sep 17 00:00:00 2001 From: Josh Shippam Date: Sat, 12 Oct 2019 20:58:55 +0100 Subject: [PATCH] Voting Setup & Made SettingsLoader a tiny bit cleaner (#53) --- .../src/redone/game/players/Client.java | 12 ++++---- .../src/redone/game/players/Player.java | 6 ++-- .../src/redone/game/players/PlayerSave.java | 7 +++++ .../redone/integrations/SettingsLoader.java | 2 -- .../src/redone/net/packets/impl/Commands.java | 30 +++++++++++++++++++ 5 files changed, 45 insertions(+), 12 deletions(-) diff --git a/2006Redone Server/src/redone/game/players/Client.java b/2006Redone Server/src/redone/game/players/Client.java index b4b8660e..9fb9faa3 100644 --- a/2006Redone Server/src/redone/game/players/Client.java +++ b/2006Redone Server/src/redone/game/players/Client.java @@ -87,11 +87,9 @@ import redone.world.ObjectManager; public class Client extends Player { - public static String ersSecret; - public byte buffer[] = null; public Stream inStream = null, outStream = null; - private IoSession session; + private IoSession session; private final ItemAssistant itemAssistant = new ItemAssistant(this); private final ShopAssistant shopAssistant = new ShopAssistant(this); private final Trading trading = new Trading(this); @@ -569,12 +567,12 @@ public class Client extends Player { Server.clanChat.leaveClan(playerId, clanId); } - if(!ersSecret.equals("")) { + if(!Server.ersSecret.equals("")) { boolean debugMessage = false; - System.out.println("Updating highscores!"); - com.everythingrs.hiscores.Hiscores.update(ersSecret, "Normal Mode", this.playerName, this.playerRights, this.playerXP, debugMessage); + System.out.println("Updating highscores for " + this.playerName + "!"); + com.everythingrs.hiscores.Hiscores.update(Server.ersSecret, "Normal Mode", this.playerName, this.playerRights, this.playerXP, debugMessage); } else { - System.out.println("Can't update highscores!"); + System.out.println("EverythingRS API Disabled, highscores not saved!"); } Misc.println("[DEREGISTERED]: " + playerName + ""); diff --git a/2006Redone Server/src/redone/game/players/Player.java b/2006Redone Server/src/redone/game/players/Player.java index c5086f82..b4823e4b 100644 --- a/2006Redone Server/src/redone/game/players/Player.java +++ b/2006Redone Server/src/redone/game/players/Player.java @@ -42,7 +42,7 @@ public abstract class Player { doorDelay, doubleDoorDelay, buySlayerTimer, lastIncrease, boneDelay, botAttempts, leverDelay = 0, farmTime, searchObjectDelay = 0; - private Npc specialTarget = null; + private Npc specialTarget = null; public void setSpecialTarget(Npc target) { this.specialTarget = target; } @@ -83,14 +83,14 @@ public abstract class Player { isHarvesting, openDuel = false, killedJad = false, canHealersRespawn = true, playerIsBusy = false, miningRock, randomEventsEnabled = false, debugMode = false; - public int thankedForDonation, saveDelay, playerKilled, gertCat, restGhost, + public int votePoints, thankedForDonation, saveDelay, playerKilled, gertCat, restGhost, romeojuliet, runeMist, vampSlayer, cookAss, doricQuest, dragonSlayerQuestStage, sheepShear, impsC, randomActions, pkPoints, totalPlayerDamageDealt, killedBy, lastChatId = 1, privateChat, friendSlot = 0, dialogueId, randomCoffin, newLocation, specEffect, specBarId, attackLevelReq, defenceLevelReq, strengthLevelReq, rangeLevelReq, magicLevelReq, slayerLevelReq, agilityLevelReq, - followId, skullTimer, votingPoints, nextChat = 0, talkingNpc = -1, + followId, skullTimer, nextChat = 0, talkingNpc = -1, dialogueAction = 0, autocastId, followDistance, followId2, barrageCount = 0, delayedDamage = 0, delayedDamage2 = 0, pcPoints = 0, magePoints = 0, desertTreasure = 0, diff --git a/2006Redone Server/src/redone/game/players/PlayerSave.java b/2006Redone Server/src/redone/game/players/PlayerSave.java index 29107f37..998494f1 100644 --- a/2006Redone Server/src/redone/game/players/PlayerSave.java +++ b/2006Redone Server/src/redone/game/players/PlayerSave.java @@ -305,6 +305,9 @@ public class PlayerSave { case "questPoints": player.questPoints = Integer.parseInt(token2); break; + case "votePoints": + player.votePoints = Integer.parseInt(token2); + break; case "magic-book": player.playerMagicBook = Integer.parseInt(token2); break; @@ -786,6 +789,10 @@ public class PlayerSave { characterfile.write(Integer.toString(player.questPoints), 0, Integer.toString(player.questPoints).length()); characterfile.newLine(); + characterfile.write("votePoints = ", 0, 13); + characterfile.write(Integer.toString(player.votePoints), 0, + Integer.toString(player.votePoints).length()); + characterfile.newLine(); characterfile.write("bananas = ", 0, 10); characterfile.write(Integer.toString(player.bananas), 0, Integer .toString(player.bananas).length()); diff --git a/2006Redone Server/src/redone/integrations/SettingsLoader.java b/2006Redone Server/src/redone/integrations/SettingsLoader.java index 5d57411e..d11c5034 100644 --- a/2006Redone Server/src/redone/integrations/SettingsLoader.java +++ b/2006Redone Server/src/redone/integrations/SettingsLoader.java @@ -2,7 +2,6 @@ package redone.integrations; import org.json.JSONObject; import redone.Server; -import redone.game.players.Client; import redone.integrations.discord.JavaCord; import java.io.*; @@ -38,7 +37,6 @@ public class SettingsLoader { JavaCord.token = obj.getString("bot-token"); PlayersOnlineWebsite.password = obj.getString("websitepass"); RegisteredAccsWebsite.password = obj.getString("websitepass"); - Client.ersSecret = obj.getString("erssecret"); Server.ersSecret = obj.getString("erssecret"); } diff --git a/2006Redone Server/src/redone/net/packets/impl/Commands.java b/2006Redone Server/src/redone/net/packets/impl/Commands.java index 2b38a66a..7b39c444 100644 --- a/2006Redone Server/src/redone/net/packets/impl/Commands.java +++ b/2006Redone Server/src/redone/net/packets/impl/Commands.java @@ -44,6 +44,36 @@ public class Commands implements PacketType { player.getPlayerAssistant().openUpBank(); } + if (playerCommand.startsWith("claimvote")) { + if(!Server.ersSecret.equals("")) { + final String playerName = player.playerName; + + com.everythingrs.vote.Vote.service.execute(new Runnable() { + @Override + public void run() { + try { + int currentPoints = player.votePoints; + com.everythingrs.vote.Vote[] reward = com.everythingrs.vote.Vote.reward(Server.ersSecret, playerName, "1", "all"); + if (reward[0].message != null) { + player.getActionSender().sendMessage(reward[0].message); + return; + } + player.votePoints = (currentPoints + reward[0].give_amount); + //player.getActionSender().sendMessage("Thank you for voting! You now have " + reward[0].vote_points + " vote points."); + player.getActionSender().sendMessage( + "Thank you for voting! You now have " + player.votePoints + " vote points."); + } catch (Exception e) { + player.getActionSender().sendMessage("Api Services are currently offline. Please check back shortly"); + e.printStackTrace(); + } + } + + }); + } else { + player.getActionSender().sendMessage("Voting Is Not Enabled"); + } + } + if (playerCommand.equalsIgnoreCase("coords") || playerCommand.equalsIgnoreCase("coord") || playerCommand.equalsIgnoreCase("pos")){ player.getActionSender().sendMessage("Your coords are [" + player.absX + "," + player.absY + "]"); }