Ok i got a small probelm my +1 +2 stones wont work inside of my Composer but the funny thing is. +3 +4 +5 +6 +7 +8 works and i have npc for the rest. Anyone know where i can find this problem at so i can fix it.
if (CurrentNPC == 278)
{
SendPacket(General.MyPackets.NPCSay("A good set of equipment can help you a lot in future battles. Is there something I can do for you?"));
//SendPacket(General.MyPackets.NPCLink("Enchant HP into my gears.", 1));
SendPacket(General.MyPackets.NPCLink("Compose +1 - +9 items.", 2));
SendPacket(General.MyPackets.NPCLink("Upgrade blessed Equipment.", 3));
SendPacket(General.MyPackets.NPCLink("No Thanks", 255));
SendPacket(General.MyPackets.NPCSetFace(30));
SendPacket(General.MyPackets.NPCFinish());
}
if (CurrentNPC == 278)
{
if (Control == 0)
{
SendPacket(General.MyPackets.NPCSay("A good set of equipment can help you a lot in future battles. Is there something I can do for you?"));
//SendPacket(General.MyPackets.NPCLink("Enchant HP into my gears.", 1));
SendPacket(General.MyPackets.NPCLink("Compose +1 - +9 items.", 2));
SendPacket(General.MyPackets.NPCLink("Upgrade blessed Equipment.", 3));
SendPacket(General.MyPackets.NPCLink("Nothing.", 255));
SendPacket(General.MyPackets.NPCSetFace(30));
SendPacket(General.MyPackets.NPCFinish());
}
/*if (Control == 1)
{
SendPacket(General.MyPackets.NPCSay("Which item would you like to Enchant HP into?"));
SendPacket(General.MyPackets.NPCSay(" Make sure you have the Gem you want to Enchant in your inventory!"));
SendPacket(General.MyPackets.NPCLink("Right-Hand Weapon.", 14));
SendPacket(General.MyPackets.NPCLink("Shield.", 15));
SendPacket(General.MyPackets.NPCLink("Headgear.", 16));
SendPacket(General.MyPackets.NPCLink("Necklace/Bag.", 17));
SendPacket(General.MyPackets.NPCLink("Bracelet/Ring/HeavyRing.", 18));
SendPacket(General.MyPackets.NPCLink("Armor/Coat/Robe.", 19));
SendPacket(General.MyPackets.NPCLink("Boots", 20));
SendPacket(General.MyPackets.NPCSetFace(30));
SendPacket(General.MyPackets.NPCFinish());
}
if (Control == 14 || Control == 15 || Control == 16 || Control == 17 || Control == 18 || Control == 19 || Control == 20)
{
bool HasEquip = false;
byte EnchantEquip = 0;
if (Control == 16 && MyChar.Equips[1] != null && MyChar.Equips[1] != "0")
{
HasEquip = true;
EnchantEquip = 1;
}
else if (Control == 17 && MyChar.Equips[2] != null && MyChar.Equips[2] != "0")
{
HasEquip = true;
EnchantEquip = 2;
}
else if (Control == 19 && MyChar.Equips[3] != null && MyChar.Equips[3] != "0")
{
HasEquip = true;
EnchantEquip = 3;
}
else if (Control == 18 && MyChar.Equips[6] != null && MyChar.Equips[6] != "0")
{
HasEquip = true;
EnchantEquip = 6;
}
else if (Control == 20 && MyChar.Equips[8] != null && MyChar.Equips[8] != "0")
{
HasEquip = true;
EnchantEquip = 8;
}
else if (Control == 15 && MyChar.Equips[5] != null && MyChar.Equips[5] != "0")
{
HasEquip = true;
EnchantEquip = 5;
}
else if (Control == 14 && MyChar.Equips[4] != null && MyChar.Equips[4] != "0")
{
HasEquip = true;
EnchantEquip = 4;
}
else
{
HasEquip = false;
SendPacket(General.MyPackets.NPCSay("You don't have that item!"));
SendPacket(General.MyPackets.NPCLink("Oh yeah.", 21));
SendPacket(General.MyPackets.NPCSetFace(30));
SendPacket(General.MyPackets.NPCFinish());
return;
}
if (HasEquip)
{
byte Enchant = 0;
Random Rand = new Random();
//Normal Gems
if (MyChar.InventoryContains(700001, 1) || MyChar.InventoryContains(700011, 1) || MyChar.InventoryContains(700021, 1) || MyChar.InventoryContains(700031, 1) || MyChar.InventoryContains(700041, 1) || MyChar.InventoryContains(700051, 1) || MyChar.InventoryContains(700061, 1) || MyChar.InventoryContains(700071, 1))
{
Enchant = Convert.ToByte(Rand.Next(1, 59));
}
//Refined Gems
else if (MyChar.InventoryContains(700072, 1) || MyChar.InventoryContains(700022, 1) || MyChar.InventoryContains(700042, 1))
{
Enchant = Convert.ToByte(Rand.Next(40, 89));
}
else if (MyChar.InventoryContains(700062, 1) || MyChar.InventoryContains(700052, 1) || MyChar.InventoryContains(700002, 1))
{
Enchant = Convert.ToByte(Rand.Next(60, 109));
}
else if (MyChar.InventoryContains(700032, 1))
{
Enchant = Convert.ToByte(Rand.Next(80, 129));
}
else if (MyChar.InventoryContains(700012, 1))
{
Enchant = Convert.ToByte(Rand.Next(100, 159));
}
//Super Gems
else if (MyChar.InventoryContains(700013, 1))
{
Enchant = Convert.ToByte(Rand.Next(200, 255));
}
else if (MyChar.InventoryContains(700003, 1) || MyChar.InventoryContains(700073, 1) || MyChar.InventoryContains(700033, 1))
{
Enchant = Convert.ToByte(Rand.Next(170, 229));
}
else if (MyChar.InventoryContains(700063, 1) || MyChar.InventoryContains(700053, 1))
{
Enchant = Convert.ToByte(Rand.Next(140, 199));
}
else if (MyChar.InventoryContains(700023, 1))
{
Enchant = Convert.ToByte(Rand.Next(90, 149));
}
else if (MyChar.InventoryContains(700043, 1))
{
Enchant = Convert.ToByte(Rand.Next(70, 119));
}
else
{
SendPacket(General.MyPackets.NPCSay("You don't have a gem!"));
SendPacket(General.MyPackets.NPCLink("Oh yeah.", 255));
SendPacket(General.MyPackets.NPCSetFace(30));
SendPacket(General.MyPackets.NPCFinish());
return;
}
string[] item = MyChar.Equips[EnchantEquip].Split('-');
MyChar.Equips[EnchantEquip] = item[0] + "-" + item[1] + "-" + Enchant + "-" + item[3] + "-" + item[4] + "-" + item[5];
SendPacket(General.MyPackets.AddItem((long)MyChar.Equips_UIDs[EnchantEquip], int.Parse(item[0]), byte.Parse(item[1]), (byte)(Enchant), byte.Parse(item[3]), byte.Parse(item[4]), byte.Parse(item[5]), byte.Parse(item[6]), 100, 100));
}
}*/
if (Control == 2)
{
SendPacket(General.MyPackets.ETCPacket(MyChar, 1));
}
if (Control == 3)
{
SendPacket(General.MyPackets.NPCSay("To upgrade blessed equipment, it will require SuperTortoiseGems."));
SendPacket(General.MyPackets.NPCSay(" To upgrade from -1/-2 to -3/-4, it will require 1 Gem. From -3/-4 to -5/-6, it will require 3 Gems. From -5/-6 to -7, it will require 5 Gems."));
SendPacket(General.MyPackets.NPCSay(" Please select the blessed equipment you would like to upgrade."));
SendPacket(General.MyPackets.NPCLink("Right-Hand Weapon.", 4));
SendPacket(General.MyPackets.NPCLink("Shield.", 5));
SendPacket(General.MyPackets.NPCLink("Headgear.", 6));
SendPacket(General.MyPackets.NPCLink("Necklace/Bag.", 7));
SendPacket(General.MyPackets.NPCLink("Bracelet/Ring/HeavyRing.", 8));
SendPacket(General.MyPackets.NPCLink("Armor/Coat/Robe.", 9));
SendPacket(General.MyPackets.NPCLink("Boots", 10));
SendPacket(General.MyPackets.NPCSetFace(30));
SendPacket(General.MyPackets.NPCFinish());
}
}
public byte[] ETCPacket(Character Char, ushort Type)
{
ushort PacketType = 1010;
byte[] Packet = new byte[24];
fixed (byte* p = Packet)
{
*((ushort*)p) = (ushort)Packet.Length;
*((ushort*)(p + 2)) = (ushort)PacketType;
*((uint*)(p + 8)) = (uint)Char.UID;
*((uint*)(p + 12)) = (uint)Type;
*(p + 16) = 0xcf;
*(p + 17) = 2;
*(p + 18) = 34;
*(p + 19) = 2;
*(p + 20) = 3;
*(p + 22) = 126;
}
return Packet;
}