1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. Hey Guest, If you'd like to instant message with many other users, then join our
    Official Rune-Status Discord Server!
    Dismiss Notice
  3. Got your own Server? Looking for a Server to play right now??
    Make sure you check out the Public Server Directory!
    Dismiss Notice
  4. If you're new to the Rsps Scene and want to jump straight into learning how to Set-up and Customise your own RuneScape Private Sever then check out the Guides and Tutorials for RS2 here.
    Dismiss Notice
Dismiss Notice
Hey Guest,
Are you sure your posting in the Right Sections?
If your unsure which RuneTek version you are working with visit this page to find out.

EverythingRS Voting Installation [ANY BASE]

Discussion in 'Guides & Tutorials' started by Genesis, Feb 11, 2018.

  1. EverythingRS - Free Voting Installation

    EverythingRS is a free API system. Here's a quick tutorial on how to get started with voting.

    Getting started

    • First off download our everythingrs-api.jar from Sorry you must be logged in to read this.
      Click here to log in.
      and include it into your project.

    Registration and secret key

    • After adding the everything-rs.jar into your project Sorry you must be logged in to read this.
      Click here to log in.
      , once the account is created you must register onto the toplist as we use the toplist data in many of our api's.
    • Now go to your dashboard and you should see your secret key [​IMG]

    Your voting subdomain!

    • Go to your main panel at Sorry you must be logged in to read this.
      Click here to log in.
      . You should now see your voting URL in the "Your API Pages" section
    • (OPTIONAL) If you wish to embed the script on your website you can add the code below directly onto your website. Change "yoursubdomain" to the one that was provided to you

    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    
    <head>
    	<title>Vote</title>
    	<style type="text/css">
    		body,
    		html {
    			margin: 0;
    			padding: 0;
    			height: 100%;
    			overflow: hidden;
    		}
    		
    		#content {
    			position: absolute;
    			left: 0;
    			right: 0;
    			bottom: 0;
    			top: 0px;
    		}
    	</style>
    </head>
    
    <body>
    	<div id="content">
    		<iframe width="100%" height="100%" frameborder="0" src="https://yoursubdomain.everythingrs.com/services/vote/" />
    	</div>
    </body>
    
    </html>

    [​IMG]

    [​IMG]

    Making the auto vote work with your server

    This part is for PI & Ruse but can easily be changed to work with any server. If you have a request for a specific server let me know and I can add it to the tutorial.
    • Add the code below into Commands.java and you're all done!

    For PI

    			if (playerCommand.startsWith("reward")) {
    				String[] args = playerCommand.split(" ");
    				if (args.length == 1) {
    					c.sendMessage("Please use [::reward id], [::reward id amount], or [::reward id all].");
    					return;
    				}
    				final String playerName = c.playerName;
    				final String id = args[1];
    				final String amount = args.length == 3 ? args[2] : "1";
    
    				com.everythingrs.vote.Vote.service.execute(new Runnable() {
    					@Override
    					public void run() {
    						try {
    							com.everythingrs.vote.Vote[] reward = com.everythingrs.vote.Vote.reward("secret_key",
    									playerName, id, amount);
    							if (reward[0].message != null) {
    								c.sendMessage(reward[0].message);
    								return;
    							}
    							c.getItems().addItem(reward[0].reward_id, reward[0].give_amount);
    							c.sendMessage(
    									"Thank you for voting! You now have " + reward[0].vote_points + " vote points.");
    						} catch (Exception e) {
    							c.sendMessage("Api Services are currently offline. Please check back shortly");
    							e.printStackTrace();
    						}
    					}
    
    				});
    			}
    


    For Vencillio

    In PlayerCommand.java under

    switch (parser.getCommand()) {

    Add

    
    	case "reward":
    		if (!parser.hasNext(1)) {
    			player.send(new SendMessage("Please use [::reward id], [::reward id amount], or [::reward id all]."));
    			return true;
    		}
    		final String playerName = player.getUsername();
    		final String id = parser.nextString();
    		final String rewardAmount = parser.hasNext(1) ? parser.nextString() : "1";
    
    		com.everythingrs.vote.Vote.service.execute(new Runnable() {
    			@Override
    			public void run() {
    				try {
    					com.everythingrs.vote.Vote[] reward = com.everythingrs.vote.Vote.reward("secret_key", playerName, id, rewardAmount);
    					if (reward[0].message != null) {
    						player.send(new SendMessage(reward[0].message));
    						return;
    					}
    					player.getInventory().add(new Item(reward[0].reward_id, reward[0].give_amount));
    					player.send(new SendMessage("Thank you for voting! You now have " + reward[0].vote_points + " vote points."));
    				} catch (Exception e) {
    					player.send(new SendMessage("Api Services are currently offline. Please check back shortly"));
    					e.printStackTrace();
    				}
    			}
    
    		});
    		return true;
    


    For Ruse

    In CommandPacketListener.java

    under

    private static void playerCommands(final Player player, String[] command, String wholeCommand)  {

    Add

    Code for Ruse


    		
    		if (command[0].startsWith("reward")) {
    			if (command.length == 1) {
    				player.getPacketSender().sendMessage("Please use [::reward id], [::reward id amount], or [::reward id all].");
    				return;
    			}
    			final String playerName = player.getUsername();
    			final String id = command[1];
    			final String amount = command.length == 3 ? command[2] : "1";
    
    			com.everythingrs.vote.Vote.service.execute(new Runnable() {
    				@Override
    				public void run() {
    					try {
    						com.everythingrs.vote.Vote[] reward = com.everythingrs.vote.Vote.reward("secret_key",
    								playerName, id, amount);
    						if (reward[0].message != null) {
    							player.getPacketSender().sendMessage(reward[0].message);
    							return;
    						}
    						player.getInventory().add(reward[0].reward_id, reward[0].give_amount);
    						player.getPacketSender().sendMessage("Thank you for voting! You now have " + reward[0].vote_points + " vote points.");
    					} catch (Exception e) {
    						player.getPacketSender().sendMessage("Api Services are currently offline. Please check back shortly");
    						e.printStackTrace();
    					}
    				}
    
    			});
    		}
    		

    For Other Servers

    The script is compatible with any base, if you however need help adding it to a specific one, leave a link to the base and I'll add it to the tutorial.


    Fin

    You are now finished adding the auto vote onto your server. Continue if you want to learn how to add and remove items, and adding support for several toplists.


    Adding and removing items

    • Adding and removing items is incredibly simple. Go to you voting dashboard at Sorry you must be logged in to read this.
      Click here to log in.
    • Once there go to the "Add new reward" section, and you can proceed to enter the reward information (item id, item name, item points, item amount)
    • To remove a reward just press the red "x" button
    • The voting script goes by a point system. So for each vote on a toplist your players will get a certain amount of points which is set by you.
    • To claim an item and use your points type ::reward x in-game

    [​IMG]

    [​IMG]

    Adding several toplists

    When registering onto a new toplist and asked for an optional callback use this exactly how it is.

    https://callback.everythingrs.com/process.php?i=

    • Once you enter the callback, go onto EverythingRS and in your AutoVote place your toplist id
    • If you want to only show toplists that you are registered on, check the "Do not display listings as "unregistered" if I have decided not to add it"

    [​IMG]
     
    Tags:
Loading...
Loading...