CO 2 upgrade NPC code PowerSourceCO

04/12/2010 20:30 folip5#1
first add this to NPCtalk
PHP Code:
 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));

                                
UppAgree false;
                        }
                            if (
Control == 2)
                            {
                                
SendPacket(General.MyPackets.NPCSay("You chose item level pretty well"));
                                
SendPacket(General.MyPackets.NPCLink("Upgrade HeadGear level"10));
                                
SendPacket(General.MyPackets.NPCLink("Upgrade necklease level"11));
                                
SendPacket(General.MyPackets.NPCLink("upgrade armor level"12));
                                
SendPacket(General.MyPackets.NPCLink("Upgrade weapon level"13));
                                
SendPacket(General.MyPackets.NPCLink("Upgrade ring heavy ring bracelet level"14));
                                
SendPacket(General.MyPackets.NPCLink("Upgrade boots level"15));
                                    
SendPacket(General.MyPackets.NPCLink("Upgrade shield level"16));
                                
UppAgree false;
                                    if (
Control <= && Control >= 3)
                                    {
                                   
string TheEquip "";

                                   if (
Control == 3)
                                       
TheEquip MyChar.Equips[1];
                                   if (
Control == 4)
                                       
TheEquip == MyChar.Equips[2];
                                   if (
Control == 5)
                                       
TheEquip == MyChar.Equips[3];
                                   if (
Control == 6)
                                       
TheEquip MyChar.Equip[4];
                                   if (
Control == 7)
                                       
TheEquip MyChar.Equips[6];
                                   if (
Contrlo == 8)
                                       
TheEquip MyChar.Equips[8];
                                   if (
Control == 9)
                                       
TheEquip MyChar.Equips[5];

                                   
byte Pos 0;
                                   if (
Control == 3)
                                       
Pos 1;
                                   if (
Control == 4)
                                       
Pos 2;
                                   if (
Control == 5)
                                       
Pos 3;
                                   if (
Control == 6)
                                       
Pos 4;
                                   if (
Control == 7)
                                       
Pos 6;
                                   if (
Control == 8)
                                       
Pos 8;
                                   if (
Control == 9)
                                       
Pos 5;
                                   
string[] Splitter TheEquip.Split('-');
                                   
uint ItemId uint.Parse(Splitter[0]);

                                if (!
Other.Upgradable(ItemId) || Other.ItemQuality(ItemId) == 9)
                                    return;

                                
byte RequiredDBs 0;
                                
RequiredDBs = (byte)(Other.ItemInfo(ItemId)[3] / 20);
                                if (
RequiredDBs == 0)
                                    
RequiredDBs 1;

                                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(1088000RequiredDBs))
                                    {
                                        for (
int i 0RequiredDBsi++)
                                        {
                                            
MyChar.RemoveItem(MyChar.ItemNext(1088000));
                                        }

                                        if (
Other.ItemQuality(ItemId) < 6)
                                            
ItemId Other.ItemQualityChange(ItemId6);
                                        else
                                            
ItemId++;

                                        
MyChar.GetEquipStats(Postrue);
                                        
MyChar.Equips[Pos] = ItemId.ToString() + "-" Splitter[1] + "-" Splitter[2] + "-" Splitter[3] + "-" Splitter[4] + "-" Splitter[5];
                                        
MyChar.GetEquipStats(Posfalse);

                                        
SendPacket(General.MyPackets.AddItem((long)MyChar.Equips_UIDs[Pos], (int)ItemIdbyte.Parse(Splitter[1]), byte.Parse(Splitter[2]), byte.Parse(Splitter[3]), byte.Parse(Splitter[4]), byte.Parse(Splitter[5]), Pos100100));
                                    }
                                    else
                                    {
                                        
SendPacket(General.MyPackets.NPCSay("You don't have enough dragon balls."));
                                        
SendPacket(General.MyPackets.NPCLink("I see."255));
                                        
SendPacket(General.MyPackets.NPCSetFace(30));
                                        
SendPacket(General.MyPackets.NPCFinish());
                                    }
                                }

                                
UppAgree true;
                            }
                            if (
Control <= 16 && Control >= 10)
                            {
                                
string TheEquip "";

                                if (
Control == 10)
                                    
TheEquip MyChar.Equips[1];
                                if (
Control == 11)
                                    
TheEquip MyChar.Equips[2];
                                if (
Control == 12)
                                    
TheEquip MyChar.Equips[3];
                                if (
Control == 13)
                                    
TheEquip MyChar.Equips[4];
                                if (
Control == 14)
                                    
TheEquip MyChar.Equips[6];
                                if (
Control == 15)
                                    
TheEquip MyChar.Equips[8];
                                if (
Control == 16)
                                    
TheEquip MyChar.Equips[5];

                                
byte Pos 0;

                                if (
Control == 10)
                                    
Pos 1;
                                if (
Control == 11)
                                    
Pos 2;
                                if (
Control == 12)
                                    
Pos 3;
                                if (
Control == 13)
                                    
Pos 4;
                                if (
Control == 14)
                                    
Pos 6;
                                if (
Control == 15)
                                    
Pos 8;
                                if (
Control == 16)
                                    
Pos 5;

                                
string[] Splitter TheEquip.Split('-');
                                
uint ItemId uint.Parse(Splitter[0]);

                                if (!
Other.Upgradable(ItemId))
                                    return;

                                
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)(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(1088001RequiredMets) && MyChar.Level >= Other.ItemInfo(Other.EquipNextLevel(ItemId))[3])
                                        {
                                            
ItemId Other.EquipNextLevel(ItemId);

                                            for (
int i 0RequiredMetsi++)
                                            {
                                                
MyChar.RemoveItem(MyChar.ItemNext(1088001));
                                            }

                                            
MyChar.GetEquipStats(Postrue);
                                            
MyChar.Equips[Pos] = ItemId.ToString() + "-" Splitter[1] + "-" Splitter[2] + "-" Splitter[3] + "-" Splitter[4] + "-" Splitter[5];
                                            
MyChar.GetEquipStats(Posfalse);

                                            
SendPacket(General.MyPackets.AddItem((long)MyChar.Equips_UIDs[Pos], (int)ItemIdbyte.Parse(Splitter[1]), byte.Parse(Splitter[2]), byte.Parse(Splitter[3]), byte.Parse(Splitter[4]), byte.Parse(Splitter[5]), Pos100100));

                                            
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
04/13/2010 00:23 Korvacs#2
Re-release & Wrong section.

Closed.