elite*gold: 0
Join Date: Jun 2005
Posts: 304
Received Thanks: 27
|
Here is what i promised, only those who are really working on it will understand.
I'll try to add more features each day.
First, some commands for World.cs :
STATS MODIFIER COMMAND
else if (Splitter[0] == "/Stats" || Splitter[0] == "/stats")
{
if (Splitter[1] == "str")
{
if (Splitter[2].Length > 4 || Splitter[2].Length < 4)
{
Client.SendData(PacketBuilder.Message(Client.Messa geID, "Stats Modifier", Client.Char.Name, "Usage : /Stats str/dex/man/vit xxxx", ChatType.Talk));
}
else
{
Client.SendData(PacketBuilder.CharacterInfo(Client .Char));
Character Char = Client.Char;
int Strength = ((Message[11] - 48) * 1000) + ((Message[12] - 48) * 100) + ((Message[13] - 48) * 10) + (Message[14] - 48);
Char.Strength = Strength;
Client.SendData(PacketBuilder.Message(Client.Messa geID, "Stats Modifier", Client.Char.Name, "Strength Changed", ChatType.Talk));
}
}
else if (Splitter[1] == "dex")
{
if (Splitter[2].Length > 4 || Splitter[2].Length < 4)
{
Client.SendData(PacketBuilder.Message(Client.Messa geID, "Stats Modifier", Client.Char.Name, "Usage : /Stats str/dex/man/vit xxxx", ChatType.Talk));
}
else
{
Client.SendData(PacketBuilder.CharacterInfo(Client .Char));
Character Char = Client.Char;
int Dexterity = ((Message[11] - 48) * 1000) + ((Message[12] - 48) * 100) + ((Message[13] - 48) * 10) + (Message[14] - 48);
Char.Dexterity = Dexterity;
Client.SendData(PacketBuilder.Message(Client.Messa geID, "Stats Modifier", Client.Char.Name, "Dexterity Changed", ChatType.Talk));
}
}
else if (Splitter[1] == "vit")
{
if (Splitter[2].Length > 4 || Splitter[2].Length < 4)
{
Client.SendData(PacketBuilder.Message(Client.Messa geID, "Stats Modifier", Client.Char.Name, "Usage : /Stats str/dex/man/vit xxxx", ChatType.Talk));
}
else
{
Client.SendData(PacketBuilder.CharacterInfo(Client .Char));
Character Char = Client.Char;
int Vitality = ((Message[11] - 48) * 1000) + ((Message[12] - 48) * 100) + ((Message[13] - 48) * 10) + (Message[14] - 48);
Char.Vitality = Vitality;
Client.SendData(PacketBuilder.Message(Client.Messa geID, "Stats Modifier", Client.Char.Name, "Vitality Changed", ChatType.Talk));
}
}
else if (Splitter[1] == "man")
{
if (Splitter[2].Length > 4 || Splitter[2].Length < 4)
{
Client.SendData(PacketBuilder.Message(Client.Messa geID, "Stats Modifier", Client.Char.Name, "Usage : /Stats str/dex/man/vit xxxx", ChatType.Talk));
}
else
{
Client.SendData(PacketBuilder.CharacterInfo(Client .Char));
Character Char = Client.Char;
int Mana = ((Message[11] - 48) * 1000) + ((Message[12] - 48) * 100) + ((Message[13] - 48) * 10) + (Message[14] - 48);
Char.Mana = Mana;
Client.SendData(PacketBuilder.Message(Client.Messa geID, "Stats Modifier", Client.Char.Name, "Mana Changed", ChatType.Talk));
}
}
else if (Splitter[1].Length > 3 || Splitter[1].Length < 3)
{
Client.SendData(PacketBuilder.Message(Client.Messa geID, "Stats Modifier", Client.Char.Name, "Usage : /Stats str/dex/man/vit xxxx", ChatType.Talk));
}
else
{
Client.SendData(PacketBuilder.Message(Client.Messa geID, "Stats Modifier", Client.Char.Name, "Usage : /Stats str/dex/man/vit xxxx", ChatType.Talk));
}
Client.SendData(PacketBuilder.CharacterInfo(Client .Char));
}
TELEPORT COMMAND
else if (Splitter[0] == "/mm")
{
if (Splitter.Length == 3)
{
Client.SendData(PacketBuilder.CharacterInfo(Client .Char));
Character Char = Client.Char;
ArrayList[,] Target;
byte[] SpawnData = PacketBuilder.SpawnEntity(Char);
Target = TCLocHash;
int x1 = Message[4] - 48;
int x2 = Message[5] - 48;
int x3 = Message[6] - 48;
int y1 = Message[8] - 48;
int y2 = Message[9] - 48;
int y3 = Message[10] - 48;
int x = x1 * 100 + x2 * 10 + x3; int y = y1 * 100 + y2 * 10 + y3;
Char.CurrentLoc = new Location(x, y);
Target[x, y].Add(Client);
World.SpawnCharacter(Client);
}
else
{
Client.SendData(PacketBuilder.Message(Client.Messa geID, "SYSTEM", Client.Char.Name, "Usage : /mm xxx yyy", ChatType.Talk));
}
}
LIFE COMMAND
else if (Splitter[0] == "/level" || Splitter[0] == "/Level")
{
if (Splitter.Length == 2)
{
if (Splitter[1].Length == 3)
{
Client.SendData(PacketBuilder.CharacterInfo(Client .Char));
Character Char = Client.Char;
int L1 = Message[7] - 48;
int L2 = Message[8] - 48;
int L3 = Message[9] - 48;
int L4 = L1 * 100 + L2 * 10 + L3;
Char.Level = L4;
Client.SendData(PacketBuilder.CharacterInfo(Client .Char));
}
else
{
Client.SendData(PacketBuilder.Message(Client.Messa geID, "SYSTEM", Client.Char.Name, "Usage : /level xxx", ChatType.Talk));
}
}
else
{
Client.SendData(PacketBuilder.Message(Client.Messa geID, "SYSTEM", Client.Char.Name, "Usage : /level xxx", ChatType.Talk));
}
}
ITEMS CALL (Still on Client-Side for me)
else if (Splitter[0] == "/give")
{
if (Splitter[1] == "necklace" || Splitter[1] == "Necklace")
{
Client.SendData(PacketBuilder.Necklace());
}
else if (Splitter[1] == "boots" || Splitter[1] == "Boots")
{
Client.SendData(PacketBuilder.Boots());
}
else if (Splitter[1] == "ring" || Splitter[1] == "Ring")
{
Client.SendData(PacketBuilder.Ring());
}
else if (Splitter[1] == "headwear" || Splitter[1] == "Headwear" || Splitter[1] == "headWear" || Splitter[1] == "HeadWear")
{
Client.SendData(PacketBuilder.HeadWear());
}
else if (Splitter[1] == "armor" || Splitter[1] == "Armor")
{
Client.SendData(PacketBuilder.Armor());
}
else if (Splitter[1] == "righthand" || Splitter[1] == "Righthand" || Splitter[1] == "RightHand" || Splitter[1] == "rightHand")
{
Client.SendData(PacketBuilder.RightHand());
}
else if (Splitter[1] == "lefthand" || Splitter[1] == "Lefthand" || Splitter[1] == "LeftHand" || Splitter[1] == "leftHand")
{
Client.SendData(PacketBuilder.LeftHand());
}
else if (Splitter[1] == "fullstuff" || Splitter[1] == "FullStuff" || Splitter[1] == "Fullstuff" || Splitter[1] == "fullStuff")
{
Client.SendData(PacketBuilder.Armor());
Client.SendData(PacketBuilder.RightHand());
Client.SendData(PacketBuilder.LeftHand());
Client.SendData(PacketBuilder.Ring());
Client.SendData(PacketBuilder.Boots());
Client.SendData(PacketBuilder.HeadWear());
Client.SendData(PacketBuilder.Necklace());
}
else
{
Client.SendData(PacketBuilder.Message(Client.Messa geID, "SYSTEM", "ALL", "Give usage : /give itemtype", ChatType.Talk));
}
}
PACKETS USED FOR THE /give COMMAND
Put these in PacketBuilder.cs
public static byte [] LeftHand()
{
byte [] PacketData = new byte[0x18];
PacketData[0] = 0x18;
PacketData[1] = 0x00;
PacketData[2] = 0xf0;
PacketData[3] = 0x03;
PacketData[4] = 0x6f;
PacketData[5] = 0xce;
PacketData[6] = 0xf7;
PacketData[7] = 0x01;
PacketData[8] = 0xf3;
PacketData[9] = 0x69;
PacketData[10] = 0x06;
PacketData[11] = 0x00;
PacketData[12] = 0xf9;
PacketData[13] = 0x19;
PacketData[14] = 0xbb;
PacketData[15] = 0x1b;
PacketData[16] = 0x01;
PacketData[17] = 0x00;
PacketData[18] = 0x05;
PacketData[19] = 0x0d;
PacketData[20] = 0x0d;
PacketData[21] = 0x00;
PacketData[22] = 0x00;
PacketData[23] = 0x09;
return PacketData;
}
public static byte [] RightHand()
{
byte [] PacketData = new byte[0x18];
PacketData[0] = 0x18;
PacketData[1] = 0x00;
PacketData[2] = 0xf0;
PacketData[3] = 0x03;
PacketData[4] = 0x6e; //UID
PacketData[5] = 0xce; // '
PacketData[6] = 0xf7; // '
PacketData[7] = 0x01; // '
PacketData[8] = 0xf3; //Item ID
PacketData[9] = 0x69; // '
PacketData[0x0a] = 0x06; // '
PacketData[0x0b] = 0x00; // '
PacketData[0x0c] = 0xf9;
PacketData[0x0d] = 0x19;
PacketData[0x0e] = 0xdb;
PacketData[0x0f] = 0x1b; //1b //Gem ID?
PacketData[0x10] = 0x01; //01
PacketData[0x11] = 0x00; //00
PacketData[0x12] = 0x04; //Equipped location
PacketData[0x13] = 0x0d; //Gem 1
PacketData[0x14] = 0x0d; //Gem 2
PacketData[0x15] = 0x00;
PacketData[0x16] = 0x00;
PacketData[0x17] = 0x09; //Composition
return PacketData;
}
public static byte [] Armor()
{
byte [] PacketData = new byte[0x18];
PacketData[0] = 0x18;
PacketData[1] = 0x00;
PacketData[2] = 0xf0;
PacketData[3] = 0x03;
PacketData[4] = 0x6d; //UID
PacketData[5] = 0xce; // '
PacketData[6] = 0xf7; // '
PacketData[7] = 0x01; // '
PacketData[8] = 0x3f; //Item ID // ConquestArmor 3f // PhoenixArmor cf
PacketData[9] = 0x13; // ' // ConquestArmor 13 // PhoenixArmor 14
PacketData[0x0a] = 0x02; // ' // ConquestArmor 02 // PhoenixArmor 02
PacketData[0x0b] = 0x00; // '
PacketData[0x0c] = 0xf9;
PacketData[0x0d] = 0x19;
PacketData[0x0e] = 0xbb; //bb
PacketData[0x0f] = 0x1b; //
PacketData[0x10] = 0x01; //01
PacketData[0x11] = 0x00; //
PacketData[0x12] = 0x03; //Equipped location
PacketData[0x13] = 0x0d; //Gem 1
PacketData[0x14] = 0x0d; //Gem 2
PacketData[0x15] = 0x00;
PacketData[0x16] = 0x00;
PacketData[0x17] = 0x09; //Composition
return PacketData;
}
public static byte [] HeadWear()
{
byte [] PacketData = new byte[0x18];
PacketData[0] = 0x18;
PacketData[1] = 0x00;
PacketData[2] = 0xf0;
PacketData[3] = 0x03;
PacketData[4] = 0x6c; //UID
PacketData[5] = 0xce; // '
PacketData[6] = 0xf7; // '
PacketData[7] = 0x01; // '
PacketData[8] = 0x5d; //Item ID
PacketData[9] = 0xb9; // '
PacketData[0x0a] = 0x01; // '
PacketData[0x0b] = 0x00; // '
PacketData[0x0c] = 0xf9;
PacketData[0x0d] = 0x19;
PacketData[0x0e] = 0xbb; //bb
PacketData[0x0f] = 0x1b; //
PacketData[0x10] = 0x01; //01
PacketData[0x11] = 0x00; //
PacketData[0x12] = 0x01; //Equipped location
PacketData[0x13] = 0x0d; //Gem 1
PacketData[0x14] = 0x0d; //Gem 2
PacketData[0x15] = 0x00;
PacketData[0x16] = 0x00;
PacketData[0x17] = 0x09; //Composition
return PacketData;
}
public static byte [] Boots()
{
byte [] PacketData = new byte[0x18];
PacketData[0] = 0x18;
PacketData[1] = 0x00;
PacketData[2] = 0xf0;
PacketData[3] = 0x03;
PacketData[4] = 0x6b; //UID
PacketData[5] = 0xce; // '
PacketData[6] = 0xf7; // '
PacketData[7] = 0x01; // '
PacketData[8] = 0xf9; //Item ID
PacketData[9] = 0x71; // '
PacketData[0x0a] = 0x02; // '
PacketData[0x0b] = 0x00; // '
PacketData[0x0c] = 0xf9;
PacketData[0x0d] = 0x19;
PacketData[0x0e] = 0xbb; //bb
PacketData[0x0f] = 0x1b; //
PacketData[0x10] = 0x01; //01
PacketData[0x11] = 0x00; //
PacketData[0x12] = 0x08; //Equipped location
PacketData[0x13] = 0x0d; //Gem 1
PacketData[0x14] = 0x0d; //Gem 2
PacketData[0x15] = 0x00;
PacketData[0x16] = 0x00;
PacketData[0x17] = 0x09; //Composition
return PacketData;
}
public static byte [] Ring()
{
byte [] PacketData = new byte[0x18];
PacketData[0] = 0x18;
PacketData[1] = 0x00;
PacketData[2] = 0xf0;
PacketData[3] = 0x03;
PacketData[4] = 0x6a; //UID
PacketData[5] = 0xce; // '
PacketData[6] = 0xf7; // '
PacketData[7] = 0x01; // '
PacketData[8] = 0xe9; //Item ID
PacketData[9] = 0x4a; // '
PacketData[0x0a] = 0x02; // '
PacketData[0x0b] = 0x00; // '
PacketData[0x0c] = 0xf9;
PacketData[0x0d] = 0x19;
PacketData[0x0e] = 0xbb; //bb
PacketData[0x0f] = 0x1b; //
PacketData[0x10] = 0x01; //01
PacketData[0x11] = 0x00; //
PacketData[0x12] = 0x06; //Equipped location
PacketData[0x13] = 0x0d; //Gem 1
PacketData[0x14] = 0x0d; //Gem 2
PacketData[0x15] = 0x00;
PacketData[0x16] = 0x00;
PacketData[0x17] = 0x09; //Composition
return PacketData;
}
public static byte [] Necklace()
{
byte [] PacketData = new byte[0x18];
PacketData[0] = 0x18;
PacketData[1] = 0x00;
PacketData[2] = 0xf0;
PacketData[3] = 0x03;
PacketData[4] = 0x6a; //UID
PacketData[5] = 0xce; // '
PacketData[6] = 0xf7; // '
PacketData[7] = 0x01; // '
PacketData[8] = 0xb9; //Item ID // Tornado b9 // Dream af // RelicsNecklace 9b // DragonNecklace 7d // BasaltNecklace 5f // PlatineNecklace 41 // GoldNecklace 23 // JadeNecklace 05 // ThreadNecklace f1 // HearthNecklace dd // LightNecklace c9
PacketData[9] = 0xd5; // ' // Neckys (130-37) = d5 // Neckys (7-27) = d4
PacketData[0x0a] = 0x01; // ' // Neckys (7-130)
PacketData[0x0b] = 0x00; // '
PacketData[0x0c] = 0x88; // Current Durability
PacketData[0x0d] = 0x13; // '
PacketData[0x0e] = 0x88; // Max Durability
PacketData[0x0f] = 0x13; // '
PacketData[0x10] = 0x01; //01
PacketData[0x11] = 0x00; //00
PacketData[0x12] = 0x02; //Equipped location
PacketData[0x13] = 0x0d; //Gem 1
PacketData[0x14] = 0x0d; //Gem 2
PacketData[0x15] = 0x00;
PacketData[0x16] = 0x00;
PacketData[0x17] = 0x09; //Composition
return PacketData;
}
|