Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

[TUT - 508] [Server] How to get stats working

Joined
Mar 30, 2007
Messages
962
Reaction score
166
Hi
This is a very simple and easy tutorial for getting your stats to work.
Just copy and paste is needed :p
There might be a different way to code these so plz feel free to tell me if there is.

in actionbuttons.java
Code:
            /*
             * Stats tab.
             */
        case 320:
    boolean lvlup = false;
    int skillMenu = -1;
    switch(buttonId) {
        case 125: //Attack
      if(!p.leveledUp[0]){
       p.skillMenu = 1;
                             p.frames.setConfig(p, 965, 1);
                  } else {
       lvlup = true;
                             p.frames.setConfig(p, 1230, 10);
      }
		break;
        case 126: //Strength
      if(!p.leveledUp[2]){
       p.skillMenu = 2;
                             p.frames.setConfig(p, 965, 2);
                  } else {
       lvlup = true;
                             p.frames.setConfig(p, 1230, 20);
      }
		break;
        case 127: //Defence
      if(!p.leveledUp[1]){
       p.skillMenu = 5;
                             p.frames.setConfig(p, 965, 5);
                  } else {
       lvlup = true;
                             p.frames.setConfig(p, 1230, 40);
      }
		break;
        case 128: //Ranged
      if(!p.leveledUp[4]){
       p.skillMenu = 3;
                             p.frames.setConfig(p, 965, 3);
            } else {
       lvlup = true;
                             p.frames.setConfig(p, 1230, 30);
      }
		break;
        case 129: //Prayer
      if(!p.leveledUp[5]){
       p.skillMenu = 7;
                             p.frames.setConfig(p, 965, 7);
            } else {
       lvlup = true;
                             p.frames.setConfig(p, 1230, 60);
      }
		break;
        case 130: //Magic
      if(!p.leveledUp[6]){
       p.skillMenu = 4;
                             p.frames.setConfig(p, 965, 4);
            } else {
       lvlup = true;
                             p.frames.setConfig(p, 1230, 33);
      }
		break;
        case 131: //Runecrafting
      if(!p.leveledUp[20]){
       p.skillMenu = 12;
                             p.frames.setConfig(p, 965, 12);
            } else {
       lvlup = true;
                             p.frames.setConfig(p, 1230, 100);
      }
		break;
        case 132: //Construction
      if(!p.leveledUp[21]){
       p.skillMenu = 22;
                             p.frames.setConfig(p, 965, 22);
            } else {
       lvlup = true;
                             p.frames.setConfig(p, 1230, 698);
      }
		break;
        case 133: //Hitpoints
      if(!p.leveledUp[3]){
       p.skillMenu = 6;
                             p.frames.setConfig(p, 965, 6);
            } else {
       lvlup = true;
                             p.frames.setConfig(p, 1230, 50);
      }
		break;
        case 134: //Agility
      if(!p.leveledUp[16]){
       p.skillMenu = 8;
                             p.frames.setConfig(p, 965, 8);
            } else {
       lvlup = true;
                             p.frames.setConfig(p, 1230, 65);
      }
		break;
        case 135: //Herblore
      if(!p.leveledUp[15]){
       p.skillMenu = 9;
                             p.frames.setConfig(p, 965, 9);
            } else {
       lvlup = true;
                             p.frames.setConfig(p, 1230, 75);
      }
		break;
        case 136: //Thieving
      if(!p.leveledUp[17]){
       p.skillMenu = 10;
                             p.frames.setConfig(p, 965, 10);
            } else {
       lvlup = true;
                             p.frames.setConfig(p, 1230, 80);
      }
		break;
        case 137: //Crafting
      if(!p.leveledUp[12]){
       p.skillMenu = 11;
                             p.frames.setConfig(p, 965, 11);
            } else {
       lvlup = true;
                             p.frames.setConfig(p, 1230, 90);
      }
		break;
        case 138: //Fletching
      if(!p.leveledUp[9]){
       p.skillMenu = 19;
                             p.frames.setConfig(p, 965, 19);
            } else {
       lvlup = true;
                             p.frames.setConfig(p, 1230, 665);
      }
		break;
        case 139: //Slayer
      if(!p.leveledUp[18]){
       p.skillMenu = 20;
                             p.frames.setConfig(p, 965, 20);
            } else {
       lvlup = true;
                             p.frames.setConfig(p, 1230, 673);
      }
		break;
        case 140: //Hunter
      if(!p.leveledUp[22]){
       p.skillMenu = 23;
                             p.frames.setConfig(p, 965, 23);
            } else {
       lvlup = true;
                             p.frames.setConfig(p, 1230, 689);
      }
		break;
        case 141: //Mining
      if(!p.leveledUp[14]){
       p.skillMenu = 13;
                             p.frames.setConfig(p, 965, 13);
            } else {
       lvlup = true;
                             p.frames.setConfig(p, 1230, 110);
      }
		break;
        case 142: //Smithing
      if(!p.leveledUp[13]){
       p.skillMenu = 14;
                             p.frames.setConfig(p, 965, 14);
            } else {
       lvlup = true;
                             p.frames.setConfig(p, 1230, 115);
      }
		break;
        case 143: //Fishing
      if(!p.leveledUp[10]){
       p.skillMenu = 15;
                             p.frames.setConfig(p, 965, 15);
            } else {
       lvlup = true;
                             p.frames.setConfig(p, 1230, 120);
      }
		break;
        case 144: //Cooking
      if(!p.leveledUp[7]){
       p.skillMenu = 16;
                             p.frames.setConfig(p, 965, 16);
            } else {
       lvlup = true;
                             p.frames.setConfig(p, 1230, 641);
      }
		break;
        case 145: //Firemaking
      if(!p.leveledUp[11]){
       p.skillMenu = 17;
                             p.frames.setConfig(p, 965, 17);
            } else {
       lvlup = true;
                             p.frames.setConfig(p, 1230, 649);
      }
		break;
        case 146: //Woodcutting
      if(!p.leveledUp[8]){
       p.skillMenu = 18;
                             p.frames.setConfig(p, 965, 18);
            } else {
       lvlup = true;
                             p.frames.setConfig(p, 1230, 660);
      }
		break;
        case 147: //Farming
      if(!p.leveledUp[19]){
       p.skillMenu = 21;
                             p.frames.setConfig(p, 965, 21);
            } else {
       lvlup = true;
                             p.frames.setConfig(p, 1230, 681);
      }
		break;
        case 148: //Summoning
      if(!p.leveledUp[23]){
       p.skillMenu = 24;
                             p.frames.setConfig(p, 965, 24);
            } else {
       lvlup = true;
                             p.frames.setConfig(p, 1230, 705);
      }
		break;
    }
    if(!lvlup){
     p.frames.showInterface(p, 499);
    } else {
     p.frames.showInterface(p, 741);
    }
    lvlup = false;
    for(int i = 0; i < 24; i++)
     p.leveledUp[i] = false;
    break;
    
   case 499: // Skill Information.
    switch(buttonId) {
     	      case 10:
                                        p.frames.setConfig(p, 965, p.skillMenu);
      break;
              case 11:
                                        p.frames.setConfig(p, 965, 1024 + p.skillMenu);
      break;
              case 12:
                                        p.frames.setConfig(p, 965, 2048 + p.skillMenu);
      break;
              case 13:
                                        p.frames.setConfig(p, 965, 3072 + p.skillMenu);
      break;
              case 14:
                                        p.frames.setConfig(p, 965, 4096 + p.skillMenu);
      break;
              case 15:
                                        p.frames.setConfig(p, 965, 5120 + p.skillMenu);
      break;
              case 16:
                                        p.frames.setConfig(p, 965, 6144 + p.skillMenu);
      break;
              case 17:
                                        p.frames.setConfig(p, 965, 7168 + p.skillMenu);
      break;
              case 18:
                                        p.frames.setConfig(p, 965, 8192 + p.skillMenu);
      break;
              case 19:
                                        p.frames.setConfig(p, 965, 9216 + p.skillMenu);
      break;
              case 20:
                                        p.frames.setConfig(p, 965, 10240 + p.skillMenu);
      break;
              case 21:
                                        p.frames.setConfig(p, 965, 11264 + p.skillMenu);
      break;
              case 22:
                                        p.frames.setConfig(p, 965, 12288 + p.skillMenu);
      break;
              case 23:
                                        p.frames.setConfig(p, 965, 13312 + p.skillMenu);
      break;
     default:
   		break;
    }
    break;

in players.java
Code:
    /**
     * Levelup data.
     */
    public boolean[] leveledUp = new boolean[24];
    public int leveledUpSkill = 0;
    public int skillMenu = 0;

in frames.java find
Code:
    /**
     * Setting client configs.
     * <p>This is used for setting prayers, running, etc.
     * @param p The Player which the frame should be created for.
     * @param id The config id to set.
     * @param set What to set the config.
     */
    public void setConfig(Player p, int id, int set) {
        if (p == null || p.stream == null || p.disconnected[0]) {
            return;
        }
	p.stream.createFrame(100);
        p.stream.writeWordA(id);
        p.stream.writeByteA(set);
    }

    public void setConfig2(Player p, int id, int set) {
        if (p == null || p.stream == null || p.disconnected[0]) {
            return;
        }
        p.stream.createFrame(161);
        p.stream.writeWord(id);
        p.stream.writeDWord_v1(set);
    }
and replace it with
Code:
    /**
     * Setting client configs.
     * <p>This is used for setting prayers, running, etc.
     * @param p The Player which the frame should be created for.
     * @param id The config id to set.
     * @param set What to set the config.
     */
    public void setConfig(Player p, int id, int set) {
        if (p == null || p.stream == null || p.disconnected[0]) {
            return;
        }
        if (set < 128) {
            setConfig1(p, id, set);
        } else {
            setConfig2(p, id, set);
        }
    }

    public void setConfig1(Player p, int id, int set) {
        p.stream.createFrame(100);
        p.stream.writeWordA(id);
        p.stream.writeByteA(set);
    }

    public void setConfig2(Player p, int id, int set) {
        p.stream.createFrame(161);
        p.stream.writeWord(id);
        p.stream.writeDWord_v1(set);
    }

save, compile, and run

images:
Alpha Ducky - [TUT - 508] [Server] How to get stats working - RaGEZONE Forums

Alpha Ducky - [TUT - 508] [Server] How to get stats working - RaGEZONE Forums

Alpha Ducky - [TUT - 508] [Server] How to get stats working - RaGEZONE Forums
 
Junior Spellweaver
Joined
Jan 6, 2009
Messages
136
Reaction score
0
I almost wanna say that first code you used was leached from bulbys new-rune deal there, then again he might have used this tut ;D
 
Newbie Spellweaver
Joined
Nov 28, 2009
Messages
63
Reaction score
0
Nice Tut , Might use , Idk ill think about it.
.......
Thought about it , Im not gna use :S
 
Back
Top