if (CurrentNPC == 700)
{
SendPacket(General.MyPackets.NPCSay("I am a master of upgrading items. My skills are almost transcendant. I never fail. I have heard of other who can upgrade items, but I also know that they sometimes fail and break their customer's items. I charge a higher fee for my services, but I never dissappoint a customer. What is your desire?"));
SendPacket(General.MyPackets.NPCLink("Upgrade item quality.", 1));
SendPacket(General.MyPackets.NPCLink("Upgrade item level.", 2));
SendPacket(General.MyPackets.NPCSetFace(30));
SendPacket(General.MyPackets.NPCFinish());
Then go to npcdo and add this
PHP Code:
if (Current NPC == 200) // your npc id here
} if (Control == 1)
{
SendPacket(General.MyPackets.NPCSay("Well you chose quailty"));
SendPacket(General.MyPackets.NPCLink("Upgrade Headgear quailty", 3));
SendPacket(General.MyPackets.NPCLink("Upgrade necklease quailty", 4));
SendPacket(General.MyPackets.NPCLink(" Upgrade armor quailty", 5));
SendPacket(General.MyPackets.NPCLink("Upgrade weapon quailty", 6));
SendPacket(General.MyPackets.NPCLink("Upgrade ring heavy ring bracelet quailty", 7));
SendPacket(General.MyPackets.NPCLink("Upgrade boots quailty", 8));
SendPacket(General.MyPackets.NPCLink("Upgrade shield", 9));
if (Other.ItemQuality(ItemId) == 6)
RequiredDBs += 1;
if (Other.ItemQuality(ItemId) == 7)
RequiredDBs += 1;
if (Other.ItemQuality(ItemId) == 8)
RequiredDBs += 1;
if (!UppAgree)
{
SendPacket(General.MyPackets.NPCSay("It will take " + RequiredDBs + " dragon balls to upgrade it. Do you still want to upgrade?"));
SendPacket(General.MyPackets.NPCLink("Yes", (byte)Control));
SendPacket(General.MyPackets.NPCLink("No, i changed my mind.", 255));
SendPacket(General.MyPackets.NPCSetFace(30));
SendPacket(General.MyPackets.NPCFinish());
}
else
{
if (MyChar.InventoryContains(1088000, RequiredDBs))
{
for (int i = 0; i < RequiredDBs; i++)
{
MyChar.RemoveItem(MyChar.ItemNext(1088000));
}
if (Other.ItemQuality(ItemId) < 6)
ItemId = Other.ItemQualityChange(ItemId, 6);
else
ItemId++;
byte RequiredMets = 0;
if (Other.ItemInfo(ItemId)[3] < 120)
{
RequiredMets = (byte)(Other.ItemInfo(ItemId)[3] / 10);
if (RequiredMets == 0)
RequiredMets = 1;
}
if (RequiredMets != 0)
{
if (Other.ItemQuality(ItemId) < 7)
RequiredMets = 2;
if (Other.ItemQuality(ItemId) == 7)
RequiredMets = (byte)(2 + RequiredMets / 5);
if (Other.ItemQuality(ItemId) == 8)
RequiredMets = (byte)(RequiredMets * 2.6);
if (Other.ItemQuality(ItemId) == 9)
RequiredMets = (byte)(RequiredMets * 3.1);
}
if (RequiredMets != 0)
{
if (!UppAgree)
{
SendPacket(General.MyPackets.NPCSay("It will take " + RequiredMets + " meteors to upgrade it. Do you still want to upgrade?"));
SendPacket(General.MyPackets.NPCLink("Yes", (byte)Control));
SendPacket(General.MyPackets.NPCLink("No, i changed my mind.", 255));
SendPacket(General.MyPackets.NPCSetFace(30));
SendPacket(General.MyPackets.NPCFinish());
}
else
{
if (MyChar.InventoryContains(1088001, RequiredMets) && MyChar.Level >= Other.ItemInfo(Other.EquipNextLevel(ItemId))[3])
{
ItemId = Other.EquipNextLevel(ItemId);
for (int i = 0; i < RequiredMets; i++)
{
MyChar.RemoveItem(MyChar.ItemNext(1088001));
}
SendPacket(General.MyPackets.NPCSay("Your item has been upgraded. Look and behold my marvelous upgrading skill! Isn't it amazing?"));
SendPacket(General.MyPackets.NPCLink("Thanks a lot!", 255));
SendPacket(General.MyPackets.NPCSetFace(30));
SendPacket(General.MyPackets.NPCFinish());
}
else
{
SendPacket(General.MyPackets.NPCSay("You don't have enough meteors or you are not able to equip the item after upgrade."));
SendPacket(General.MyPackets.NPCLink("I see.", 255));
SendPacket(General.MyPackets.NPCSetFace(30));
SendPacket(General.MyPackets.NPCFinish());
}
UppAgree = false;
}
}
else
{
SendPacket(General.MyPackets.NPCSay("I cannot upgrade your item anymore. It is on too high level."));
SendPacket(General.MyPackets.NPCLink("Damn.", 255));
SendPacket(General.MyPackets.NPCSetFace(30));
SendPacket(General.MyPackets.NPCFinish());
}
UppAgree = true;
[NewServer]PowerSourceCO 05/02/2010 - CO2 Private Server - 20 Replies Yupp, another private server based on LOTF source... I wasnt going to set my server to the public until there were hundreds of things fixed. But I decided i needed people on. That way they can report bugs etc. Some of the fix's already.
login freeze bug fixed
save character bug fixed
/goto command added
/scroll command added
/kick command added
/dc command added
/gwstart command for GM only (guilds/gw works)
serpent, alienserpent, and basilisk main spawns
[Help] PowerSourceCO 11/21/2009 - CO2 Private Server - 2 Replies Hi there, I have Downloaded CoMy, and I have discovered that i am unable to change anything due to when i build the solution, it builds the output PowerSourceCO.exe. When i am launching the Server, i launch from, CoMy.exe.
When i happen to launch from PowerSourceCo.exe, i get this error that i have tried to spend 3 days fixing now. It may be something simple, but its just a little server that i would like to build my C# knowledge on.
The error in the CMD server window states.
Loaded...
Cant run PowerSourceCo.exe 06/18/2009 - CO2 Private Server - 4 Replies Hello , im making a private server . I cant seem to run PowerSourceCo.exe
here's a screenshot.
http://img193.imageshack.us/img193/964/nonamen.pn g
Oh yea , after i download NetFramework 3.5 .
This is what happen .
http://img25.imageshack.us/img25/4197/noname2evg. png
Can not run PowerSourceCO.exe 11/29/2008 - CO2 Private Server - 1 Replies Can anyone help me?
Afer i run PowerSourceCO.exe,it crashes. I have WindowsXP SP3, and i have NetFramework 2.0 too. <-- can this be a problem?
http://img147.imageshack.us/img147/6315/servercra shdk9.th.jpg