Are you joking, how will i upgrade a none existing item.
Please wear your item first
Oh,sorry forgot to wear it
Code:
#region Market Upgrade
case 10062:
{
if (Control == 0)
{
GC.AddSend(Packets.NPCSay("Hi. What i do is upgrade your equipment for meteors. How about it?"));
GC.AddSend(Packets.NPCLink("Upgrade quality", 1));
GC.AddSend(Packets.NPCLink("Upgrade level", 2));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
GC.Agreed = false;
}
else if (Control == 1 || Control == 2)
{
GC.AddSend(Packets.NPCSay("Choose the equipment you want to upgrade."));
GC.AddSend(Packets.NPCLink("Headgear", (byte)(Control * 100 + 1)));
GC.AddSend(Packets.NPCLink("Necklace/Bag", (byte)(Control * 100 + 2)));
GC.AddSend(Packets.NPCLink("Armor", (byte)(Control * 100 + 3)));
GC.AddSend(Packets.NPCLink("Weapon", (byte)(Control * 100 + 4)));
GC.AddSend(Packets.NPCLink("Shield", (byte)(Control * 100 + 5)));
GC.AddSend(Packets.NPCLink("Ring", (byte)(Control * 100 + 6)));
GC.AddSend(Packets.NPCLink("Boots", (byte)(Control * 100 + 8)));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
else if (Control >= 101 && Control <= 108)
{
Game.Item I = GC.MyChar.Equips.Get((byte)(Control - 100));
byte ItemLevel = I.DBInfo.LevReq;
Game.ItemIDManipulation IMan = new ProjectX.Game.ItemIDManipulation(I.ID);
if (IMan.Quality != ProjectX.Game.Item.ItemQuality.Super && IMan.Quality != ProjectX.Game.Item.ItemQuality.NoUpgrade)
{
byte DBReq = 2;
Game.Item.ItemQuality Q = IMan.Quality;
if ((byte)Q < 5) Q = Game.Item.ItemQuality.Normal;
if (Q == ProjectX.Game.Item.ItemQuality.Refined) DBReq++;
else if (Q == ProjectX.Game.Item.ItemQuality.Unique) DBReq += 2;
else if (Q == ProjectX.Game.Item.ItemQuality.Elite) DBReq += 5;
DBReq = (byte)(DBReq + (ItemLevel) / 30);
if (!GC.Agreed)
{
GC.AddSend(Packets.NPCSay("You need " + DBReq + " Dragonballs to upgrade."));
GC.AddSend(Packets.NPCLink("Upgrade it.", Control));
GC.AddSend(Packets.NPCLink("Forget it.", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
GC.Agreed = true;
}
else
{
GC.Agreed = false;
if (GC.MyChar.InventoryContains(1088000, DBReq))
{
GC.MyChar.EquipStats((byte)(Control - 100), false);
for (byte i = 0; i < DBReq; i++)
GC.MyChar.RemoveItem(GC.MyChar.NextItem(1088000));
IMan.QualityChange((ProjectX.Game.Item.ItemQuality)(Q + 1));
I.ID = IMan.ToID();
GC.MyChar.Equips.Replace((byte)(Control - 100), I, GC.MyChar);
GC.MyChar.EquipStats((byte)(Control - 100), true);
GC.AddSend(Packets.NPCSay("Here you are. It's done."));
GC.AddSend(Packets.NPCLink("Thanks.", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
else
{
GC.AddSend(Packets.NPCSay("You don't have enough Dragonballs."));
GC.AddSend(Packets.NPCLink("I see.", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
}
}
else
{
GC.AddSend(Packets.NPCSay("You cannot upgrade an item's quality which is already at maximum."));
GC.AddSend(Packets.NPCLink("I see", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
}
else if (Control >= 201 && Control <= 208)
{
Game.Item I = GC.MyChar.Equips.Get((byte)(Control - 200));
byte PrevLevel = I.DBInfo.LevReq;
Game.ItemIDManipulation IMan = new ProjectX.Game.ItemIDManipulation(I.ID);
IMan.IncreaseLevel();
if (!Database.DatabaseItems.ContainsKey(IMan.ToID()))
return;
DatabaseItem Ii = (DatabaseItem)Database.DatabaseItems[IMan.ToID()];
byte NewLevel = Ii.LevReq;
if (GC.MyChar.Level >= NewLevel)
{
if (NewLevel != 0 && NewLevel <= 123 && PrevLevel < 120)
{
Game.Item.ItemQuality Q = IMan.Quality;
double DMetsReq = (double)((double)PrevLevel / 130 * 3);
if (Q == Game.Item.ItemQuality.Unique) DMetsReq *= 2;
else if (Q == Game.Item.ItemQuality.Elite) DMetsReq *= 4;
else if (Q == Game.Item.ItemQuality.Super) DMetsReq *= 10;
DMetsReq++;
byte MetsReq = (byte)DMetsReq;
if (!GC.Agreed)
{
GC.AddSend(Packets.NPCSay("You need " + MetsReq + " Meteors to upgrade."));
GC.AddSend(Packets.NPCLink("Upgrade it.", Control));
GC.AddSend(Packets.NPCLink("Forget it.", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
GC.Agreed = true;
}
else
{
GC.Agreed = false;
if (GC.MyChar.InventoryContains(1088001, MetsReq))
{
GC.MyChar.EquipStats((byte)(Control - 200), false);
for (byte i = 0; i < MetsReq; i++)
GC.MyChar.RemoveItem(GC.MyChar.NextItem(1088001));
I.ID = IMan.ToID();
GC.MyChar.Equips.Replace((byte)(Control - 200), I, GC.MyChar);
GC.MyChar.EquipStats((byte)(Control - 200), true);
GC.AddSend(Packets.NPCSay("Here you are. It's done."));
GC.AddSend(Packets.NPCLink("Thanks.", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
else
{
GC.AddSend(Packets.NPCSay("You don't have enough Meteors."));
GC.AddSend(Packets.NPCLink("No way! Are you really sure?", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
}
}
else
{
GC.AddSend(Packets.NPCSay("I'm afraid i can't help you with that. I am not experienced enough with equipment that high level."));
GC.AddSend(Packets.NPCLink("You old geezer!", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
}
else
{
GC.AddSend(Packets.NPCSay("You aren't high level enough to wear the item after upgrading."));
GC.AddSend(Packets.NPCLink("Alright.", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
}
break;
}
#endregion
someone wanna help me please






