![]() |
| |||||||
| Home | GzP Upload | GzP Arcade | Register | vbBux / vbPlaza | All Albums | FAQ | Donate | Members List | Calendar | Mark Forums Read |
| RuneScape Private Servers RuneScape Private Server Discussion. |
![]() |
| | Thread Tools | Display Modes |
| | #1 |
| Lurker | Adding an in-game highscores board Before someone says something, I have posted this on some other forums under the name of tj007razor. Purpose: To simply add in-game highscores to your server Difficulty: 1 or 2, not hard. Assumed Knowledge: copy + paste, ability to READ Server Base: old cheezescape - should work on all Classes Modified: client.java, server.java Procedure Step 1: First, we declare what we need in server.java Open up server.java and directly underneath Code: public static final int cycleTime = 500; Code: /*Highscores*/
/*For more highscores to be recorded, change the #s in [] to the number you want kept, +1*/
/*For example, if you want the top 20, put 21 in the [] ([21])*/
public static int[] ranks = new int[11];
public static String[] rankPpl = new String[11]; Open up client.java and underneath Code: public class client extends Player implements Runnable { Code: //In-game highscores
public int playerRank = 0;
public void resetRanks() {
for (int i = 0; i < 10; i++) {
server.ranks[i] = 0;
server.rankPpl[i] = "";
}
}
public void highscores() {
clearQuestInterface();
sendQuest("@dbl@", 8144); //Title
sendQuest("@dre@~In-Game Top 10 Highscores~", 8145);
for(int i = 0; i < 10; i++) { // you also need to change this for it to display more, simply the number you want it to display, say 20 = for(int i = 0; i < 20; i++)
if(server.ranks[i] > 0) {
sendQuest("@bla@Rank "+(i+1)+": @red@"+server.rankPpl[i]+ "@bla@ - Total Lvl:@whi@ " +server.ranks[i], 8147+i);
}
}
sendQuestSomething(8143);
showInterface(8134);
flushOutStream();
resetRanks();
}
//end highscores Still in client.java, inside of Code: public boolean process() { // is being called regularily every 500ms Code: //in-game highscores
playerLevel[24] = totalz;
for (int d = 0; d <= 10; d++) {
if (totalz >= server.ranks[d]) {
if (d == 0) {
playerRank = d+1;
server.ranks[d] = totalz;
server.rankPpl[d] = playerName;
}else if (d < 10){
if (totalz < server.ranks[d-1]) {
playerRank = d+1;
server.ranks[d] = totalz;
server.rankPpl[d] = playerName;
}
}else{
if (totalz < server.ranks[d-1]) {
playerRank = 0;
}
}
}
}
//end highscores I used a scoreboard object. You don't need to. Find Code: case 132: Code: //highscores
if(objectID == 3192)
{
highscores();
} Code: if (command.equalsIgnoreCase("highscores")) {
highscores();
} Most servers I believe have this - find Code: public void NewObjects() { Code: //(coordX, coordY, objID, face, ??)
AddGlobalObject(2604, 3160, 3192, -1, 10);//Scoreboard, change coords to fit your needs
AddGlobalObject(2605, 3162, 3192, -2, 10);//Scoreboard, change coords to fit your needs ![]() Save - Compile - and Bam! you have highscores. Credits: 10% Bulby Strife for letting me use his idea 90% Me, tj007razor, for completely redoing it Just if anyone needs it - you may need to declare Code: public int totalz = totalz = (getLevelForXP(playerXP[0]) + getLevelForXP(playerXP[1]) + getLevelForXP(playerXP[2]) + getLevelForXP(playerXP[3]) + getLevelForXP(playerXP[4]) + getLevelForXP(playerXP[5]) + getLevelForXP(playerXP[6]) + getLevelForXP(playerXP[7]) + getLevelForXP(playerXP[8]) + getLevelForXP(playerXP[9]) + getLevelForXP(playerXP[10]) + getLevelForXP(playerXP[11]) + getLevelForXP(playerXP[12]) + getLevelForXP(playerXP[13]) + getLevelForXP(playerXP[14]) + getLevelForXP(playerXP[15]) + getLevelForXP(playerXP[6]) + getLevelForXP(playerXP[17]) + getLevelForXP(playerXP[18]) + getLevelForXP(playerXP[19]) + getLevelForXP(playerXP[20]) + getLevelForXP(playerXP[21])); Code: int oldtotal = totalz;
totalz = (getLevelForXP(playerXP[0]) + getLevelForXP(playerXP[1]) + getLevelForXP(playerXP[2]) + getLevelForXP(playerXP[3]) + getLevelForXP(playerXP[4]) + getLevelForXP(playerXP[5]) + getLevelForXP(playerXP[6]) + getLevelForXP(playerXP[7]) + getLevelForXP(playerXP[8]) + getLevelForXP(playerXP[9]) + getLevelForXP(playerXP[10]) + getLevelForXP(playerXP[11]) + getLevelForXP(playerXP[12]) + getLevelForXP(playerXP[13]) + getLevelForXP(playerXP[14]) + getLevelForXP(playerXP[15]) + getLevelForXP(playerXP[17]) + getLevelForXP(playerXP[18]) + getLevelForXP(playerXP[19]) + getLevelForXP(playerXP[20]) + getSummonLvlForXP(summonXP));
if(oldtotal != totalz)
sendFrame126("Total Lvl: "+totalz, 3984); **If you get errors post here!** |
| | |
| Sponsored Links |
| |
| | #2 |
| Banned | Re: Adding an in-game highscores board Hey, nice, i like this, i think that some figmentscape servers already have this, but if they dont its a nice addition, thanks for sharing with us from rune-server |
| | |
| | #3 |
| Lurker | Re: Adding an in-game highscores board If figmentscape has it then they used my tutorial because I posted this same tutorial on rune-server back in January and I coded it myself. |
| | |
![]() |
| Bookmarks |
| Thread Tools | |
| Display Modes | |
| |