Post: [317 PI] Loyalty Titles
03-05-2015, 04:18 PM #1
Stunz
Former Staff
(adsbygoogle = window.adsbygoogle || []).push({});
Hi guys, this is a quick guide on how to add Loyalty Titles to your RSPS.


Client.java
    
private final String[] chatTitles;

public void pushMessage(String s, int i, String s1, String title) {
if(i == 0 && dialogID != -1) {
aString844 = s;
super.clickMode3 = 0;
}
if(backDialogID == -1)
inputTaken = true;
for(int j = 499; j > 0; j--) {
chatTypes[j] = chatTypes[j - 1];
chatNames[j] = chatNames[j - 1];
chatMessages[j] = chatMessages[j - 1];
chatRights[j] = chatRights[j - 1];
chatTitles[j] = chatTitles[j - 1];
}
chatTypes[0] = i;
chatNames[0] = s1;
chatMessages[0] = s;
chatRights[0] = rights;
chatTitles[0] = title;
}

then under myPlayer.textCycle = 150;
change what's needed:
    
case 1:
pushMessage(myPlayer.textSpoken, 2, "@cr1@"
+ myPlayer.name, myPlayer.title);
break;
case 2:
pushMessage(myPlayer.textSpoken, 2, "@cr2@"
+ myPlayer.name, myPlayer.title);
break;
case 3:
pushMessage(myPlayer.textSpoken, 2, "@cr3@"
+ myPlayer.name, myPlayer.title);
break;
case 4:
pushMessage(myPlayer.textSpoken, 2, "@cr4@"
+ myPlayer.name, myPlayer.title);
break;
case 5:
pushMessage(myPlayer.textSpoken, 2, "@cr5@"
+ myPlayer.name, myPlayer.title);
break;
case 6:
pushMessage(myPlayer.textSpoken, 2, "@cr6@"
+ myPlayer.name, myPlayer.title);
break;
default:
pushMessage(myPlayer.textSpoken, 2, myPlayer.name, myPlayer.title);

then under player.textCycle = 150;
change as needed:
    
case 1:
pushMessage(s, 1, "@cr1@" + player.name, player.title);
break;
case 2:
pushMessage(s, 1, "@cr2@" + player.name, player.title);
break;
case 3:
pushMessage(s, 1, "@cr3@" + player.name, player.title);
break;
case 4:
pushMessage(s, 1, "@cr4@" + player.name, player.title);
break;
case 5:
pushMessage(s, 1, "@cr5@" + player.name, player.title);
break;
case 6:
pushMessage(s, 1, "@cr6@" + player.name, player.title);
break;
default:
pushMessage(s, 2, player.name, player.title);

then in your drawChatArea() method
    
String title = chatTitles[k] != null ? "<col=cc8400>"+chatTitles[k] + "</col> " : "";

under chatType == 1 || chatType == 2 etc..
    
newRegularFont.drawBasicString(title + s1 + ":", xPos,
yPos, 0, -1);
xPos += newRegularFont.getTextWidth(title + s1) + 6;
newRegularFont.drawBasicString(chatMessages[k],
xPos, yPos, 255, -1);

then near the bottom same method:
    
String title;
if (myPlayer != null && myPlayer.title != null)
title = "<col=cc8400>"+myPlayer.title+" </col><col=0>";
else
title = "";


then change as needed:
    
newRegularFont.drawBasicString(title+s + ":", 11, 133);
newRegularFont.drawBasicString(inputString+ "*", 8+newRegularFont.getTextWidth(title+s + ": "), 133, 255, -1);

    
public client()
chatTitles = new String[500];

player.java client side still
    
public String title;

then under skill = stream.readUnsignedWord();
    
title = TextClass.fixName(stream.readString());


done with client, to server, Player.java
    
public String playerTitle = "";

in your player updating, under
    playerProps.writeByte(combatLevel); // combat level
playerProps.writeWord(0);

    
playerProps.writeString(playerTitle);

Should be all, you can set the title however you want, let players chose it themselves it really doesn't matter. Post any issues if you run into any.
You must login or register to view this content.
(adsbygoogle = window.adsbygoogle || []).push({});

The following user thanked Stunz for this useful post:

ResistThePower

Copyright © 2026, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo