[HELP] Revised Codes

07/07/2010 03:58 nestreys#1
Can you please help me revised this codes. I really don't have any idea how to make them work. Thanks.


Steed Skill Seller:

Code:
case 100983:
                                {
                                    if (option == 0)
                                    {
                                        GC.AddSend(Packets.NPCSay("Hello. I'm the mount trainer. I'm selling mount skill. Are you interested?"));
                                        GC.AddSend(Packets.NPCLink("Learn Riding Skill for 1 million CPs.", 4));
                                        GC.AddSend(Packets.NPCLink("Learn Spook Skill for 500 thousand CPs.", 5));
                                        GC.AddSend(Packets.NPCLink("Learn WarCry Skill for 500 thousand CPs.", 6));
                                        GC.AddSend(Packets.NPCLink("No. Thanks.", 255));
                                        GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                        GC.AddSend(Packets.NPCFinish());
                                    }
                                    else if (option == 4)
                                        {
                                            if (GC.MyChar.CPs >= 1000000)
                                            {
                                                GC.MyChar.CPs -= 1000000;
                                                GC.MyChar.RWSkill(new Game.Skill() { ID = 7001, Lvl = 0, Exp = 0 });
                                                GC.AddSend(Packets.NPCSay("You have learned Riding Skill."));
                                                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 CPs."));
                                                GC.AddSend(Packets.NPCLink("I see.", 255));
                                                GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                                GC.AddSend(Packets.NPCFinish());
                                        }
                                    }
                                    else if (option == 5)
                                    {
                                            if (GC.MyChar.CPs >= 500000)
                                            {
                                                GC.MyChar.CPs -= 500000;
                                                GC.MyChar.RWSkill(new Game.Skill() { ID = 7002, Lvl = 0, Exp = 0 });
                                                GC.AddSend(Packets.NPCSay("You have learned Spook Skill."));
                                                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 CPs."));
                                                GC.AddSend(Packets.NPCLink("I see.", 255));
                                                GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                                GC.AddSend(Packets.NPCFinish());
                                        }
                                    }
                                    else if (option == 6)
                                    {
                                            if (GC.MyChar.Silvers >= 500000)
                                            {
                                                GC.MyChar.Silvers -= 500000;
                                                GC.MyChar.RWSkill(new Game.Skill() { ID = 7003, Lvl = 0, Exp = 0 });
                                                GC.AddSend(Packets.NPCSay("You have learned Warcry Skill."));
                                                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 CPs."));
                                                GC.AddSend(Packets.NPCLink("I see.", 255));
                                                GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                                GC.AddSend(Packets.NPCFinish());
                                            }
                                        }
                                    break;
                                }
                            #endregion
Can you please help me put an else on it when i already learned the skill. In this code you can buy the skills even though you have learned it already. Thanks.




Bless NPC:


Code:
#region Ethereal
                            case 35015:
                                {
                                    if (option == 0)
                                    {
                                        GC.AddSend(Packets.NPCSay("Hello. I can put a bless on your items for tortoise gems."));
                                        GC.AddSend(Packets.NPCLink("Bless Equipment.", 9));
                                        GC.AddSend(Packets.NPCLink("Just passing by.", 255));
                                        GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                        GC.AddSend(Packets.NPCFinish());
                                        GC.Agreed = false;
                                    }
                                    else if (option == 9)
                                    {
                                        GC.AddSend(Packets.NPCSay("Choose the equipment you want to bless."));
                                        GC.AddSend(Packets.NPCLink("Headgear", 1));
                                        GC.AddSend(Packets.NPCLink("Necklace/Bag", 2));
                                        GC.AddSend(Packets.NPCLink("Armor", 3));
                                        GC.AddSend(Packets.NPCLink("Weapon", 4));
                                        GC.AddSend(Packets.NPCLink("Shield", 5));
                                        GC.AddSend(Packets.NPCLink("Ring", 6));
                                        GC.AddSend(Packets.NPCLink("Boots", 8));


                                        GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                        GC.AddSend(Packets.NPCFinish());
                                    }
                                    else if (option >= 1 && option <= 8)
                                    {
                                        Game.Item I = GC.MyChar.Equips.Get((byte)(option));
                                        if (I.Bless != 7)
                                        {
                                            byte TortoiseNeed = 0;
                                            if (I.Bless == 0)
                                                TortoiseNeed = 5;
                                            else if (I.Bless == 1)
                                                TortoiseNeed = 1;
                                            else if (I.Bless == 3)
                                                TortoiseNeed = 3;
                                            else if (I.Bless == 5)
                                                TortoiseNeed = 5;

                                            if (!GC.Agreed)
                                            {
                                                GC.AddSend(Packets.NPCSay("You need " + TortoiseNeed + " Super Tortoise to upgrade the equipment. Do you want it?"));
                                                GC.AddSend(Packets.NPCSay("Your item current bless is " + I.Bless + "."));
                                                if (I.Bless != 0)
                                                    GC.AddSend(Packets.NPCSay("It will become " + (I.Bless + 2) + "."));
                                                GC.AddSend(Packets.NPCLink("Yes.", option));
                                                GC.AddSend(Packets.NPCLink("Nevermind.", 255));
                                                GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                                GC.AddSend(Packets.NPCFinish());
                                                GC.Agreed = true;
                                            }
                                            else
                                            {
                                                GC.Agreed = false;
                                                if (GC.MyChar.InventoryContains(700073, TortoiseNeed, GC))
                                                {
                                                    GC.MyChar.EquipStats((byte)(option), false);
                                                    for (byte i = 0; i < TortoiseNeed; i++)
                                                        GC.MyChar.RemoveItem(700073, 1, GC);
                                                        //GC.MyChar.RemoveItem(GC.MyChar.NextItem(700073));
                                                    if (I.Bless == 0)
                                                        I.Bless = 1;
                                                    else
                                                        I.Bless += 2;
                                                    GC.MyChar.Equips.Replace((byte)(option), I, GC.MyChar);
                                                    GC.MyChar.EquipStats((byte)(option), 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 Tortoise Gems."));
                                                    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 bless which is already at the maximum."));
                                            GC.AddSend(Packets.NPCLink("I see.", 255));
                                            GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                            GC.AddSend(Packets.NPCFinish());
                                        }
                                    }
                                    break;
                                }
                            #endregion

Can you please make an else on it... because in this code it will continue to put a bless on the item even though you didn't equip the items..




Durability Repair:


Code:
#region GloryArtisan NPC
                            case 10065:
                                {
                                    if (option == 0)
                                    {
                                        OptionText("Hello. I can repair you items durability for just 1 DragonBall. Interested?", GC);
                                        OptionLink("Yes. Please.", 10, GC);
                                        OptionLink("Just passing by.", 255, GC);
                                        GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                        GC.AddSend(Packets.NPCFinish());
                                        GC.Agreed = false;
                                    }
                                    else if (option == 10)
                                    {
                                        OptionText("Choose the equipment you want to fixed durability", GC);
                                        OptionLink("Headgear", 1, GC);
                                        OptionLink("Necklace/Bag", 2, GC);
                                        OptionLink("Armor", 3, GC);
                                        OptionLink("Weapon", 4, GC);
                                        OptionLink("Shield", 5, GC);
                                        OptionLink("Ring", 6, GC);
                                        OptionLink("Boots", 8, GC);
                                        GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                        GC.AddSend(Packets.NPCFinish());
                                    }
                                    else if (option >= 1 && option <= 8)
                                    {
                                        Game.Item I = GC.MyChar.Equips.Get(option);
                                        I.MaxDur = 7099;
                                        I.CurDur = 7099;
                                        {
                                            if (!GC.Agreed)
                                            {
                                                OptionText("You need a DragonBall. Are you ready?", GC);
                                                OptionLink("Yes.", option, GC);
                                                OptionLink("Forget it.", 255, GC);
                                                GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                                GC.AddSend(Packets.NPCFinish());
                                                GC.Agreed = true;
                                            }
                                            else
                                            {
                                                GC.Agreed = false;
                                                if (GC.MyChar.InventoryContains(1088000, 1, GC))
                                                {

                                                    GC.MyChar.RemoveItem(1088000, 1, GC);
                                                    I.MaxDur = 7099;
                                                    I.CurDur = 7099;
                                                    GC.MyChar.Equips.Replace(option, I, GC.MyChar);
                                                    GC.MyChar.EquipStats(option, true);

                                                    OptionText("Here you are. It's done.", GC);
                                                    OptionLink("Thanks.", 255, GC);
                                                    GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                                    GC.AddSend(Packets.NPCFinish());
                                                }
                                                else
                                                {
                                                    OptionText("You don't have a DragonBall.", GC);
                                                    OptionLink("Damn.", 255, GC);
                                                    GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                                    GC.AddSend(Packets.NPCFinish());
                                                }
                                            }
                                        }
                                    }
                                    break;
                                }
                            #endregion

Can you please help me put an else on it... because in this it will continue repairing the item even though you didn't equip the item. Thanks.
07/07/2010 12:53 Macnoo#2
i will show you how to do one on skill seller


Code:
  
else if (option == 4)
{
if (!GC.MyChar.Skills.Contains((ushort)7001))
{
 if (GC.MyChar.CPs >= 1000000)
{
GC.MyChar.CPs -= 1000000;
GC.MyChar.RWSkill(new Game.Skill() { ID = 7001, Lvl = 0, Exp = 0 });
GC.AddSend(Packets.NPCSay("You have learned Riding Skill."));
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 CPs."));
GC.AddSend(Packets.NPCLink("I see.", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
}
else
{
GC.AddSend(Packets.NPCSay("You already have Riding Skill "));
GC.AddSend(Packets.NPCLink("Oh i see", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
now you see how it done you can do it to rest

as for Bless NPC: and Durability Repair: just look at you thread asking about steed plus NPC look how Shunsui did it on that NPC for you , just apply that to bless and durability. He has showing you how done.