This tutorial will tell you how to add donator rank to your server
Class Modified: Player.java, Commands.java, FileManager.java and RS2LoginProtocol.java(Login.java for Pali)
Step 1: Declare this in Player.java:
Code:
public int Donator = 0;
Step 2: Add this in Commands.java:
Command to give Donator rank:
Code:
if (cmd[0].equals("givedonator") && p.username.equalsIgnoreCase("YOURNAMEHERE")) {
String person = playerCommand.substring((playerCommand.indexOf(" ") + 1));
Player p2 = Engine.players[Engine.getIdFromName(person)];
if (p2 != null) {
p2.disconnected[0] = false;
p2.Donator= 1;
p.getActionSender().sendMessage(p2, "You have been promoted to Donator status by " + p.username);
p2.updateReq = true;
p2.appearanceUpdateReq = true;
}
}
if (cmd[0].equals("takedonator") && p.username.equalsIgnoreCase("YOURNAMEHERE")) {
String person = playerCommand.substring((playerCommand.indexOf(" ") + 1));
Player p2 = Engine.players[Engine.getIdFromName(person)];
if (p2 != null) {
p2.disconnected[0] = false;
p2.Donator = 0;
p.getActionSender().sendMessage(p2, "Your Donator status has been removed by " + p.username);
p2.updateReq = true;
p2.appearanceUpdateReq = true;
}
}
Add this in your yell command:
Code:
if (p.Donator == 1 && p.rights == 0) {
player.getActionSender().sendMessage(player, "<img=3> "+p.username+": <col=ff0000>"+playerCommand.substring(5));
}
if (p.rights == 0 && p.Donator == 0) {
player.getActionSender().sendMessage(player, "<col=071CBF>[Player] <col=000000>"+p.username+": <col=ff0000>"+playerCommand.substring(5));
}
Step 3: Open up your FileManager.java
Search for:
Code:
stream.writeString("height:" + p.heightLevel);
Under that add:
Code:
stream.writeString("Donator:" + p.Donator);
Search for:
Code:
} else if (line.startsWith("item")) {
p.items[Integer.parseInt(line.substring(4, line.indexOf(":")))] = Integer.parseInt(line.substring(line.indexOf(":") + 1,
line.indexOf(",")));
p.itemsN[Integer.parseInt(line.substring(4, line.indexOf(":")))] = Integer.parseInt(line.substring(line.indexOf(",") + 1));
Under that add:
Code:
} else if (line.startsWith("Donator:")) {
p.Donator = Integer.parseInt(line.substring(8));
Step 4:Open up RS2LoginProtocol.java (Login.java for Pali)
Search for:
Code:
Server.engine.fileManager.appendData("characters/ips/" + p.username + ".txt", "[" + Server.socketListener.getAddress(p.socket.socket) + "]: successful login.");
p.getActionSender().setInterfaces(p);
for (int i = 0; i < p.skillLvl.length; i++) {
p.getActionSender().setSkillLvl(p, i);
}
Under that add:
Code:
if(p.rights == 0 && p.Donator == 0) {
for ( Player ap : Engine.players) {
if(ap == null)
continue;
if(!ap.online)
continue;
ap.getActionSender().sendMessage(ap, "<col=FF3300>"+ p.username +" has logged in. There currently "+Server.engine.getPlayerCount()+" players online!");
}
}
if(p.Donator == 1 && p.rights == 0) {
for ( Player ap : Engine.players) {
if(ap == null)
continue;
if(!ap.online)
continue;
ap.getActionSender().sendMessage(ap, "<col=FF3300><img=3>"+ p.username +" has logged in. There are currently "+Server.engine.getPlayerCount()+" players online!");
}
}
Step 5: This is if you want a weapon wieldable for donator only
Open up Equipment.java
Search for:
Code:
if (wearId == 9778 || wearId == 9777) {
if (p.getLevelForXP(17) != 99)
p.getActionSender().sendMessage(p, "You need a Thieving level of 99 to wear this item.");
if (p.getLevelForXP(17) != 99)
return;
}
Under that add:
Code:
if (wearId == 3101 && p.Donator == 0 && p.rights == 0) {
p.getActionSender().sendMessage(p, "You must be a Donator to wear Claws");
return;
}
If you get any errors post them here or pm me. Enjoy