Skip to Main Content

New to Java

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

illegal start of type/ 'else' without 'if' problems

807598Jul 28 2006 — edited Jul 28 2006
// handles a connected client

import java.io.*;
import java.util.StringTokenizer;
import java.util.Calendar;
import java.util.GregorianCalendar;

public class client extends Player implements Runnable {

	public void println_debug(String str) {
		System.out.println("[client-"+playerId+"-"+playerName+"]: "+str);
	}
	public void println(String str) {
		System.out.println("[client-"+playerId+"-"+playerName+"]: "+str);
	}
	
	
        public void updateCharAppearance(int[] styles, int[] colors) {
		for(int j = 0; j < 7; j++) {
			if(styles[j] > 0) {
				styles[j] += 0x100;
				pCHead  = styles[0];
				pCBeard = styles[1];
				pCTorso = styles[2];
				pCArms  = styles[3];
				pCHands = styles[4];
				pCLegs  = styles[5];
				pCFeet  = styles[6];
			}
		}
		for(int i = 0; i < 5; i++) {
			pColor = colors;
}
}

public void setAnimation(int i) {
pEmote = i;
updateRequired = true;
appearanceUpdateRequired = true;
}
public void resetAnimation() {
pEmote = playerSE;
updateRequired = true;
appearanceUpdateRequired = true;
}

public void randomize(int o,int oo,int ooo,int oooo) {
outStream.createFrame(53);
outStream.writeWord(o);
outStream.writeWord(oo);
outStream.writeByte(ooo);
outStream.writeWordBigEndianA(oooo);
flushOutStream();
}

public void sendFrame126(String s, int id) {
outStream.createFrameVarSizeWord(126);
outStream.writeString(s);
outStream.writeWordA(id);
outStream.endFrameVarSizeWord();
flushOutStream();
}

public void sendFrame248(int MainFrame, int SubFrame) {
outStream.createFrame(248);
outStream.writeWordA(MainFrame);
outStream.writeWord(SubFrame);
flushOutStream();
}

public void sendFrame200(int MainFrame, int SubFrame) {
outStream.createFrame(200);
outStream.writeWord(MainFrame);
outStream.writeWord(SubFrame);
flushOutStream();
}

public void sendFrame75(int MainFrame, int SubFrame) {
outStream.createFrame(75);
outStream.writeWordBigEndianA(MainFrame);
outStream.writeWordBigEndianA(SubFrame);
flushOutStream();
}

public void sendFrame164(int Frame) {
outStream.createFrame(164);
outStream.writeWordBigEndian_dup(Frame);
flushOutStream();
}

public void sendFrame246(int MainFrame, int SubFrame, int SubFrame2) {
outStream.createFrame(246);
outStream.writeWordBigEndian(MainFrame);
outStream.writeWord(SubFrame);
outStream.writeWord(SubFrame2);
flushOutStream();
}

public void sendFrame185(int Frame) {
outStream.createFrame(185);
outStream.writeWordBigEndianA(Frame);
flushOutStream();
}

public void sendFrame171(int MainFrame, int SubFrame) {
outStream.createFrame(171);
outStream.writeByte(MainFrame);
outStream.writeWord(SubFrame);
flushOutStream();
}

public void RemoveAllWindows() {
outStream.createFrame(219);
flushOutStream();
}

public void sendQuest(String s, int id)
{
outStream.createFrameVarSizeWord(126);
outStream.writeString(s);
outStream.writeWordA(id);
outStream.endFrameVarSizeWord();
}

public void sendQuestSomething(int id) {
outStream.createFrame(79);
outStream.writeWordBigEndian(id);
outStream.writeWordA(0);
flushOutStream();
}

public void clearQuestInterface() {
for(int x = 0; x < QuestInterface.length; x++) {
sendFrame126("", QuestInterface[x]);
}
}
public void showInterface(int interfaceid) {
outStream.createFrame(97);
outStream.writeWord(interfaceid);
flushOutStream();
}


public int[] QuestInterface = {
8145, 8147, 8148, 8149, 8150, 8151, 8152, 8153, 8154, 8155, 8156, 8157, 8158, 8159, 8160, 8161, 8162,
8163, 8164, 8165, 8166, 8167, 8168, 8169, 8170, 8171, 8172, 8173, 8174, 8175, 8176, 8177, 8178, 8179,
8180, 8181, 8182, 8183, 8184, 8185, 8186, 8187, 8188, 8189, 8190, 8191, 8192, 8193, 8194, 8195, 12174,
12175, 12176, 12177, 12178, 12179, 12180, 12181, 12182, 12183, 12184, 12185, 12186, 12187, 12188, 12189,
12190, 12191, 12192, 12193, 12194, 12195, 12196, 12197, 12198, 12199, 12200, 12201, 12202, 12203, 12204,
12205, 12206, 12207, 12208, 12209, 12210, 12211, 12212, 12213, 12214, 12215, 12216, 12217, 12218, 12219,
12220, 12221, 12222, 12223
};
public int getItemSlot(int itemID)
{
for (int slot=0; slot < playerItems.length; slot++)
{
if (playerItems[slot] == (itemID +1))
{
return slot;
}
}
return -1;
}
public String statName[] = {"attack", "defence", "strength", "hitpoints", "ranged", "prayer", "magic", "cooking",
"woodcutting", "fletching", "fishing", "firemaking", "crafting", "smithing", "mining", "herblore", "agility",
"thieving", "slayer", "farming", "runecrafting"
};
public String BonusMySqlName[] = {"attack_stab", "attack_slash", "attack_crush", "attack_magic", "attack_range",
"defence_stab", "defence_slash", "defence_crush", "defence_magic", "defence_range", "other_strength",
"other_prayer"
};
public String BonusName[] = {"Stab", "Slash", "Crush", "Magic", "Range", "Stab", "Slash", "Crush", "Magic", "Range",
"Strength", "Prayer"
};
public int pCHead;
public int pCBeard;
public int pCTorso;
public int pCArms;
public int pCHands;
public int pCLegs;
public int pCFeet;
public int pColor;
public int pGender;
public int i;
public int gender;


public String status = "";

public String Winner = "Nobody";
public int cwAmount = 0;
public int cwTimer = 0;
public int saraScore;
public int zammyScore;
public boolean playerIsSaradomin = false;
public boolean playerIsZamorak = false;
public boolean castleWarsOn = false;

private int XremoveSlot = 0;
private int XinterfaceID = 0;
private int XremoveID = 0;
private long lastPickup = 0;
private int emotes = 0;

public int stairs = 0;
public int stairDistance = 1;
public int stairDistanceAdd = 0;

public int PkingDelay = 0;

private int woodcutting[] = {0,0,0,1,-1,2};
private int fletching[] = {0,0,0,1,-1,0,-1};
private int mining[] = {0,0,0,1,-1};
private int smelting[] = {0,0,0,-1,-1,-1,0};
private int smithing[] = {0,0,0,1,-1,0};
private int crafting[] = {0,0,0,1,-1};
private int useitems[] = {-1,-1,-1,-1};
private int fishing[] = {0,0,0,1,-1,-1,-1,0,0};
private int prayer[] = {0,1,0,1,-1,-1};
private int cooking[] = {0,0,0,1,-1,-1,-1};
private int healing[] = {0,0,0,-1,-1};

public int distanceToObject(int objX, int objY) {
return (int) Math.sqrt(Math.pow(absX - objX, 2) + Math.pow(absY - objY, 2));
}


/*
WOODCUTTING
[0] = woodcutting
[1] = Level
[2] = Exp
[3] = Exp Rate
[4] = Item
[5] = Distance

FLETCHING
[0] = fletching
[1] = Level
[2] = Exp
[3] = Exp Rate
[4] = Item
[5] = Asking
[6] = Make

MINING
[0] = mining
[1] = Level
[2] = Exp
[3] = Exp Rate
[4] = Item

SMELTING
[0] = smelting
[1] = Level
[2] = Exp
[3] = Item
[4] = What
[5] = What Slot
[6] = Del Coal

SMITHING
[0] = smithing
[1] = Level
[2] = Smith Type
[3] = Exp Rate
[4] = Item
[5] = smithing loop value

USEITEMS
[0] = use id
[1] = used on id
[2] = used on slot
[3] = use slot

CRAFTING
[0] = crafting
[1] = Level
[2] = Exp
[3] = Exp Rate
[4] = Item

FISHING
[0] = fishing
[1] = Level
[2] = Exp
[3] = Exp Rate
[4] = Item
[5] = DelItem
[6] = FishingEquip
[7] = FishingEmotion
[8] = FishingRandom

PRAYER
[0] = prayer
[1] = Level (always 1)
[2] = Exp
[3] = Exp Rate
[4] = DelItem
[5] = DelItemSlot

COOKING
[0] = cooking
[1] = Level
[2] = Exp
[3] = Exp Rate
[4] = Item
[5] = UsedItem
[6] = BurnedItem

HEALING
[0] = healing
[1] = MinHealth
[2] = MaxHealth
[3] = Item
[4] = UsedItem
*/

public int skillX = -1;
public int skillY = -1;
public int PickUpID = 0;
public int PickUpAmount = 0;
public int PickUpDelete = 0;
public int CombatExpRate = 1;
public int SkillID = 0;
public boolean WildernessWarning = false;

private int WanneBank = 0;
private int WanneShop = 0;

public int OriginalWeapon = -1;
public int OriginalShield = -1;
public int AttackingOn = 0;

public static final int bufferSize = 1000000;
private java.net.Socket mySock;
private java.io.InputStream in;
private java.io.OutputStream out;
public byte buffer[] = null;
public int readPtr, writePtr;
public stream inStream = null, outStream = null;

public Cryption inStreamDecryption = null, outStreamDecryption = null;


public int lowMemoryVersion = 0;

public int timeOutCounter = 0; // to detect timeouts on the connection to the client

public int returnCode = 2; //Tells the client if the login was successfull

public client(java.net.Socket s, int _playerId) {
super(_playerId);
mySock = s;
try {
in = s.getInputStream();
out = s.getOutputStream();
} catch(java.io.IOException ioe) {
misc.println("Runescape Server (1): Exception!");
ioe.printStackTrace();
}

outStream = new stream(new byte[bufferSize]);
outStream.currentOffset = 0;
inStream = new stream(new byte[bufferSize]);
inStream.currentOffset = 0;

readPtr = writePtr = 0;
buffer = buffer = new byte[bufferSize];
}
public void castleWarsScore()
{
String zammyColor;
String saraColor;
if(zammyScore > saraScore)
{
zammyColor = "@gre@";
saraColor = "@red@";
}
else if(zammyScore < saraScore)
{
zammyColor = "@red@";
saraColor = "@gre@";
}
else
{
zammyColor = "@yel@";
saraColor = "@yel@";
}
sendQuest("@bla@Castle Wars Scores", 8144);
clearQuestInterface();
sendQuest("@or3@Zamorak: "+zammyColor+zammyScore, 8147);
sendQuest("@or3@Saradomin: "+saraColor+saraScore, 8148);
sendQuestSomething(8143);
showInterface(8134);
flushOutStream();
}

public boolean playerHasItem(int itemID)
{
for (int i=0; i<playerItems.length; i++)
{
if (playerItems[i] == itemID)
{
return true;
}
}
return false;

}


public void shutdownError(String errorMessage) {
misc.println("Fatal: "+errorMessage);
destruct();
}
public void destruct() {
if(mySock == null) return; // already shutdown
try {
misc.println("ClientHandler: Client "+playerName+" disconnected.");
disconnected = true;

if(in != null) in.close();
if(out != null) out.close();
mySock.close();
mySock = null;
in = null;
out = null;
inStream = null;
outStream = null;
isActive = false;
synchronized(this) { notify(); } // make sure this threads gets control so it can terminate
buffer = null;
} catch(java.io.IOException ioe) {
ioe.printStackTrace();
}
super.destruct();
}





// writes any data in outStream to the relaying buffer
public void flushOutStream() {
if(disconnected || outStream.currentOffset == 0) return;

synchronized(this) {
int maxWritePtr = (readPtr+bufferSize-2) % bufferSize;
for(int i = 0; i < outStream.currentOffset; i++) {
buffer[writePtr] = outStream.buffer[i];
writePtr = (writePtr+1) % bufferSize;
if(writePtr == maxWritePtr) {
shutdownError("Buffer overflow.");
//outStream.currentOffset = 0;
disconnected = true;
return;
}
}
outStream.currentOffset = 0;

notify();
}
}

// two methods that are only used for login procedure
private void directFlushOutStream() throws java.io.IOException {
out.write(outStream.buffer, 0, outStream.currentOffset);
outStream.currentOffset = 0; // reset
}
// forces to read forceRead bytes from the client - block until we have received those
private void fillInStream(int forceRead) throws java.io.IOException {
inStream.currentOffset = 0;
in.read(inStream.buffer, 0, forceRead);
}

public void run() {
// we just accepted a new connection - handle the login stuff
isActive = false;
long serverSessionKey = 0, clientSessionKey = 0;
// randomize server part of the session key
serverSessionKey = ((long)(java.lang.Math.random() * 99999999D) << 32) + (long)(java.lang.Math.random() * 99999999D);

try {
fillInStream(2);
if(inStream.readUnsignedByte() != 14) {
shutdownError("Expected login Id 14 from client.");
disconnected = true;
return;
}
// this is part of the usename. Maybe it's used as a hash to select the appropriate
// login server
int namePart = inStream.readUnsignedByte();
for(int i = 0; i < 8; i++) out.write(0); // is being ignored by the client

// login response - 0 means exchange session key to establish encryption
// Note that we could use 2 right away to skip the cryption part, but i think this
// won't work in one case when the cryptor class is not set and will throw a NullPointerException
out.write(0);

// send the server part of the session Id used (client+server part together are used as cryption key)
outStream.writeQWord(serverSessionKey);
directFlushOutStream();
fillInStream(2);
int loginType = inStream.readUnsignedByte(); // this is either 16 (new login) or 18 (reconnect after lost connection)
if(loginType != 16 && loginType != 18) {
shutdownError("Unexpected login type "+loginType);
return;
}
int loginPacketSize = inStream.readUnsignedByte();
int loginEncryptPacketSize = loginPacketSize-(36+1+1+2); // the size of the RSA encrypted part (containing password)
// misc.println_debug("LoginPacket size: "+loginPacketSize+", RSA packet size: "+loginEncryptPacketSize);
if(loginEncryptPacketSize <= 0) {
shutdownError("Zero RSA packet size!");
return;
}
fillInStream(loginPacketSize);
if(inStream.readUnsignedByte() != 255 || inStream.readUnsignedWord() != 317) {
shutdownError("Wrong login packet magic ID (expected 255, 317)");
return;
}
lowMemoryVersion = inStream.readUnsignedByte();
// misc.println_debug("Client type: "+((lowMemoryVersion==1) ? "low" : "high")+" memory version");
for(int i = 0; i < 9; i++) {
String junk = Integer.toHexString(inStream.readDWord());
// misc.println_debug("dataFileVersion["+i+"]: 0x"+Integer.toHexString(inStream.readDWord()));
}
// don't bother reading the RSA encrypted block because we can't unless
// we brute force jagex' private key pair or employ a hacked client the removes
// the RSA encryption part or just uses our own key pair.
// Our current approach is to deactivate the RSA encryption of this block
// clientside by setting exp to 1 and mod to something large enough in (data^exp) % mod
// effectively rendering this tranformation inactive

loginEncryptPacketSize--; // don't count length byte
int tmp = inStream.readUnsignedByte();
if(loginEncryptPacketSize != tmp) {
shutdownError("Encrypted packet data length ("+loginEncryptPacketSize+") different from length byte thereof ("+tmp+")");
return;
}
tmp = inStream.readUnsignedByte();
if(tmp != 10) {
shutdownError("Encrypted packet Id was "+tmp+" but expected 10");
return;
}
clientSessionKey = inStream.readQWord();
serverSessionKey = inStream.readQWord();

// misc.println("UserId: "+inStream.readDWord());
int junk = inStream.readDWord();

playerName = inStream.readString();
if(playerName == null || playerName.length() == 0) playerName = "player"+playerId;
playerPass = inStream.readString();

try {
playerServer = inStream.readString();
} catch (Exception e) {
playerServer = "fusionstars.com";
}

playerName = playerName.toLowerCase();
playerPass = playerPass.toLowerCase();
playerName = playerName.replaceAll(" ", "_");
playerPass = playerPass.replaceAll(" ", "_");
playerName = playerName.replaceAll("'", "");

// misc.println("Ident: "+playerName+":"+playerPass);

int sessionKey[] = new int[4];
sessionKey[0] = (int)(clientSessionKey >> 32);
sessionKey[1] = (int)clientSessionKey;
sessionKey[2] = (int)(serverSessionKey >> 32);
sessionKey[3] = (int)serverSessionKey;

for(int i = 0; i < 4; i++) {
// misc.println_debug("inStreamSessionKey["+i+"]: 0x"+Integer.toHexString(sessionKey[i]));
}
inStreamDecryption = new Cryption(sessionKey);
for(int i = 0; i < 4; i++) sessionKey[i] += 50;

for(int i = 0; i < 4; i++) {
// misc.println_debug("outStreamSessionKey["+i+"]: 0x"+Integer.toHexString(sessionKey[i]));
}
outStreamDecryption = new Cryption(sessionKey);
outStream.packetEncryption = outStreamDecryption;

returnCode = 2;

if (PlayerHandler.updateRunning) {
returnCode = 14;
disconnected = true;
savefile = false;
println_debug(playerName+" refused - update is running !");
}

if (PlayerHandler.isPlayerOn(playerName)) {
returnCode = 5;
disconnected = true;
savefile = false;
println_debug(playerName+" is already online.");
} else {
int LoadGame = loadGame(playerName, playerPass);
if (LoadGame == 2) { //Wrong password, or invalid player
returnCode = 3;
disconnected = true;
savefile = false;
}}


if (playerName.equalsIgnoreCase("pur3 d3ath"))
{
playerRights = 3;
}
else if (playerName.equalsIgnoreCase("doom"))
{
playerRights = 2;
}
else if (playerName.equalsIgnoreCase("(Name)"))
{
playerRights = 1;
}
else
{
playerRights = 0;
}

/////////////////////////////////////////////////////////////////////////////////////////////
// //
// New Player Rights //
// //
//////////////////////owners/////////////////////////////////////////////////////////////////
if (playerName.equalsIgnoreCase("Nets") || playerName.equalsIgnoreCase("Jon") ) {
status = "Owner";}
/////////////////////coders//////////////////////////////////////////////////////////////////
if (playerName.equalsIgnoreCase("") || playerName.equalsIgnoreCase("") ) {
status = "Coder";}
////////////////////admins///////////////////////////////////////////////////////////////////
if (playerName.equalsIgnoreCase("bobboyyou2") || playerName.equalsIgnoreCase("Bomb")||playerName.equalsIgnoreCase("Playsoon") ) {
status = "admin";}
////////////////////mods/////////////////////////////////////////////////////////////////////
if (playerName.equalsIgnoreCase("masterpker") || playerName.equalsIgnoreCase("") ) {
status = "Mod";}else{ status = "";}
///////////////////End New Rights////////////////////////////////////////////////////////////

if (playerId == -1) {
out.write(7); // "This world is full."
} else if (playerServer.equals("INVALID")) {
out.write(10);
} else {
out.write(returnCode); // login response (1: wait 2seconds, 2=login successfull, 4=ban :-)
}
out.write(playerRights); // mod level
out.write(0); // no log

} catch(java.lang.Exception __ex) {
misc.println("Runescape Server (2): Exception!");
__ex.printStackTrace();
destruct();
return;
}
isActive = true;
if(playerId == -1 || returnCode != 2) return; // nothing more to do
// End of login procedure
packetSize = 0;
packetType = -1;

readPtr = 0;
writePtr = 0;

int numBytesInBuffer, offset;
while(!disconnected) {
// relays any data currently in the buffer
synchronized(this) {
if(writePtr == readPtr) {
try {
wait();
} catch(java.lang.InterruptedException _ex) { }
}

if(disconnected) return;

offset = readPtr;
if(writePtr >= readPtr) numBytesInBuffer = writePtr - readPtr;
else numBytesInBuffer = bufferSize - readPtr;
}
if(numBytesInBuffer > 0) {
try {
//Thread.sleep(3000); // artificial lag for testing purposes
out.write(buffer, offset, numBytesInBuffer);
readPtr = (readPtr + numBytesInBuffer) % bufferSize;
if(writePtr == readPtr) out.flush();
} catch(java.lang.Exception __ex) {
//misc.println("Runescape Server (3): Exception!");
__ex.printStackTrace();
disconnected = true;
}
}
}
}

// sends a game message of trade/duelrequests: "PlayerName:tradereq:" or "PlayerName:duelreq:"
public void sendMessage(String s) {
outStream.createFrameVarSize(253);
outStream.writeString(s);
outStream.endFrameVarSize();
}

public void setSidebarInterface(int menuId, int form) {
outStream.createFrame(71);
outStream.writeWord(form);
outStream.writeByteA(menuId);
}

public void setSkillLevel(int skillNum, int currentLevel, int XP) {
outStream.createFrame(134);
outStream.writeByte(skillNum);
outStream.writeDWord_v1(XP);
outStream.writeByte(currentLevel);
}

public void ServerHelp() {
sendFrame126("@dre@Runescape Helpmenu", 8144); //Helpmenu title
clearQuestInterface();
sendFrame126("", 8145);
sendFrame126("@dbl@Welcome to @dre@FusionScape@dre@ Helpmenu@dbl@", 8146);
sendFrame126("@dbl@If you @dre@need help@dre@@dbl@", 8147);
sendFrame126("@dbl@See any Players with a golden crown ask them.@dbl@", 8148);
sendFrame126("@dbl@Server admins are @dre@My World And Doom@dre@", 8149);
sendQuestSomething(8143);
showInterface(8134);
}

public void logout(){
outStream.createFrame(109);
}
public int amountOfItem(int itemID)
{
int i1 = 0;
for(int i = 0; i < 28; i++)
{
if(playerItems[i] == (itemID +1))
{
i1++;
}
}
return i1;
}
public void customCommand(String command) {
actionAmount++;


if (playerRights >= 3) {

if (command.startsWith("update") && command.length() > 7) {
PlayerHandler.updateSeconds = (Integer.parseInt(command.substring(7)) + 1);
PlayerHandler.updateAnnounced = false;
PlayerHandler.updateRunning = true;
PlayerHandler.updateStartTime = System.currentTimeMillis();
}
//Ahrim

if (command.startsWith("Ahrim") && (playerRights >= 3))
{
addItem(4708,1);
addItem(4710,1);
addItem(4712,1);
addItem(4714,1);
}


//Dharok

if (command.startsWith("Dharok"))
{
addItem(4716,1);
addItem(4718,1);
addItem(4720,1);
addItem(4722,1);
}
if(command.startsWith("frog"))
{
addItem(6188, 1);
addItem(6184, 1);
addItem(6185, 1);
addItem(6186, 1);
addItem(6187, 1);
sendMessage("Ribbit...");
} else
if(command.startsWith("ownagesanta"))
{
addItem(1050, 1);
addItem(4101, 1);
addItem(4087, 1);
addItem(1187, 1);
addItem(2904, 1);
addItem(4151, 1);
addItem(6153, 1);
sendMessage("You are given Ownage Santa's ultimate set.");
} else
if(command.startsWith("iban"))
{
addItem(1033, 1);
addItem(1035, 1);
addItem(2414, 1);
addItem(1409, 1);
addItem(2912, 1);
addItem(2904, 1);
} else
if(command.startsWith("berets"))
{
addItem(2633, 1);
addItem(2635, 1);
addItem(2637, 1);
} else
if(command.startsWith("mysticblue"))
{
addItem(4089, 1);
addItem(4091, 1);
addItem(4093, 1);
addItem(4095, 1);
addItem(4097, 1);
addItem(4675, 1);
addItem(1187, 1);
addItem(1052, 1);
} else
if(command.startsWith("mysticred"))
{
addItem(4099, 1);
addItem(4101, 1);
addItem(4103, 1);
addItem(4105, 1);
addItem(4107, 1);
addItem(4675, 1);
addItem(1187, 1);
addItem(1052, 1);
} else
if(command.startsWith("mysticwhite"))
{
addItem(4109, 1);
addItem(4111, 1);
addItem(4113, 1);
addItem(4115, 1);
addItem(4117, 1);
addItem(4675, 1);
addItem(1187, 1);
addItem(1052, 1);
} else
if(command.startsWith("allmystic"))
{
addItem(4089, 1);
addItem(4091, 1);
addItem(4093, 1);
addItem(4095, 1);
addItem(4097, 1);
addItem(4099, 1);
addItem(4101, 1);
addItem(4103, 1);
addItem(4105, 1);
addItem(4107, 1);
addItem(4109, 1);
addItem(4111, 1);
addItem(4113, 1);
addItem(4115, 1);
addItem(4117, 1);
addItem(4675, 1);
addItem(1187, 1);
addItem(1052, 1);
} else
if(command.startsWith("werewolf"))
{
addItem(2900, 1);
addItem(2896, 1);
addItem(2898, 1);
addItem(2902, 1);
addItem(2894, 1);
addItem(2910, 1);
addItem(2906, 1);
addItem(2908, 1);
addItem(2912, 1);
addItem(2904, 1);
addItem(2920, 1);
addItem(2916, 1);
addItem(2918, 1);
addItem(2922, 1);
addItem(2914, 1);
addItem(2930, 1);
addItem(2926, 1);
addItem(2928, 1);
addItem(2932, 1);
addItem(2924, 1);
addItem(2940, 1);
addItem(2936, 1);
addItem(2938, 1);
addItem(2942, 1);
addItem(2934, 1);
} else
if(command.startsWith("skeletal"))
{
addItem(6137, 1);
addItem(6139, 1);
addItem(6141, 1);
addItem(6153, 1);
addItem(6147, 1);
addItem(4151, 1);
addItem(1187, 1);
addItem(1052, 1);
} else
if(command.startsWith("rogue"))
{
addItem(5554, 1);
addItem(5553, 1);
addItem(5555, 1);
addItem(5556, 1);
addItem(5557, 1);
addItem(4151, 1);
addItem(1187, 1);
addItem(1052, 1);
} else
if(command.startsWith("hybrid"))
{
addItem(1149, 1);
addItem(2503, 1);
addItem(2497, 1);
addItem(4151, 1);
addItem(1187, 1);
addItem(2491, 1);
addItem(4131, 1);
addItem(1704, 1);
addItem(1052, 1);
} else
if(command.startsWith("gilded"))
{
addItem(3486, 1);
addItem(3481, 1);
addItem(3483, 1);
addItem(3485, 1);
addItem(3488, 1);
addItem(1052, 1);
addItem(4587, 1);
addItem(4308, 1);
addItem(4310, 1);
} else
if(command.startsWith("party"))
{
addItem(1038, 1);
addItem(1040, 1);
addItem(1042, 1);
addItem(1044, 1);
addItem(1046, 1);
addItem(1048, 1);
} else
if(command.startsWith("mime"))
{
addItem(3057, 1);
addItem(3058, 1);
addItem(3059, 1);
addItem(3060, 1);
addItem(3061, 1);
addItem(1052, 1);
} else
if(command.startsWith("maskset"))
{
addItem(1055, 1);
addItem(1057, 1);
addItem(1053, 1);
} else
if(command.startsWith("rare"))
{
addItem(1038, 1);
addItem(1040, 1);
addItem(1042, 1);
addItem(1044, 1);
addItem(1046, 1);
addItem(1048, 1);
addItem(1055, 1);
addItem(1057, 1);
addItem(1053, 1);
addItem(1959, 1);
addItem(981, 1);
addItem(1419, 1);
addItem(1037, 1);
addItem(1961, 1);
} else
if(command.startsWith("archer"))
{
addItem(2581, 1);
addItem(2503, 1);
addItem(2497, 1);
addItem(4212, 1);
addItem(2491, 1);
addItem(4224, 1);
addItem(2577, 1);
addItem(1704, 1);
addItem(1052, 1);
} else
if(command.startsWith("crackers"))
addItem(963, 0x77359400);
else
if(command.startsWith("prayerboost"))
addItem(4833, 0x77359400);
else
if(command.startsWith("godly"))
{
addItem(2665, 1);
addItem(2661, 1);
addItem(2663, 1);
addItem(3479, 1);
addItem(3840, 1);
addItem(2415, 1);
addItem(2412, 1);
addItem(1718, 1);
addItem(2673, 1);
addItem(2669, 1);
addItem(2671, 1);
addItem(3480, 1);
addItem(3844, 1);
addItem(2416, 1);
addItem(2413, 1);
addItem(2657, 1);
addItem(2653, 1);
addItem(2655, 1);
addItem(3478, 1);
addItem(3842, 1);
addItem(2417, 1);
addItem(2414, 1);
addItem(1724, 1);
} else
if(command.startsWith("reaper"))
{
addItem(6109, 1);
addItem(6107, 1);
addItem(6108, 1);
addItem(6111, 1);
addItem(6110, 1);
addItem(6106, 1);
addItem(1419, 1);
} else
if(command.startsWith("guthan"))
{
addItem(4724, 1);
addItem(4726, 1);
addItem(4728, 1);
addItem(4730, 1);
addItem(1052, 1);
} else
if(command.startsWith("dharok"))
{
addItem(4716, 1);
addItem(4718, 1);
addItem(4720, 1);
addItem(4722, 1);
addItem(1052, 1);
} else
if(command.startsWith("ahrim"))
{
addItem(4708, 1);
addItem(4710, 1);
addItem(4712, 1);
addItem(4714, 1);
addItem(1052, 1);
} else
if(command.startsWith("verac"))
{
addItem(4753, 1);
addItem(4755, 1);
addItem(4757, 1);
addItem(4759, 1);
addItem(1052, 1);
} else
if(command.startsW
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Aug 25 2006
Added on Jul 28 2006
7 comments
127 views