[Update] Npc Ethernal

02/25/2010 16:01 ramix#1
hello i post today update npc ethernal, now have compose +10 to +12 with DB's like real co and bless effect xD

ty to -Shunsui- for the bless code
and ty for 12tails for the firts ethernal he made for us...

this is only a little update

Code:
#region Ethereal
                            case 35015:
                                {
                                    if (Control == 0)
                                    {
                                        GC.AddSend(Packets.NPCSay("I can set your itens bless, for some tortoise gens super. Or I can set your itens plus, for some DragonBalls"));
                                        GC.AddSend(Packets.NPCLink("I want bless it.", 9));
                                        GC.AddSend(Packets.NPCLink("I want upgrade it.", 19));
                                        GC.AddSend(Packets.NPCLink("Just passing by.", 255));
                                        GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                        GC.AddSend(Packets.NPCFinish());
                                        GC.Agreed = false;
                                    }
                                    if (Control == 9)
                                    {
                                        GC.AddSend(Packets.NPCSay("Choose the equipment you want to set 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.NPCLink("Nevermind", 255));
                                        GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                        GC.AddSend(Packets.NPCFinish());
                                    }
                                    else if (Control >= 1 && Control <= 8)
                                    {
                                        Game.Item I = GC.MyChar.Equips.Get((byte)(Control));
                                        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 Tortoises to upgrade. 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 be " + (I.Bless + 2) + "."));
                                                GC.AddSend(Packets.NPCLink("Yes.", Control));
                                                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.MyChar.EquipStats((byte)(Control), false);
                                                    for (byte i = 0; i < TortoiseNeed; i++)
                                                        GC.MyChar.RemoveItem(GC.MyChar.NextItem(700073));
                                                    if (I.Bless == 0)
                                                        I.Bless = 1;
                                                    else
                                                        I.Bless += 2;
                                                    GC.MyChar.Equips.Replace((byte)(Control), I, GC.MyChar);
                                                    GC.MyChar.EquipStats((byte)(Control), true);
                                                    if (I.Bless == 7)
                                                    {
                                                        Game.World.Action(GC.MyChar, Packets.String(GC.MyChar.EntityID, 10, "Aegis4").Get);
                                                    }
                                                    else if (I.Bless == 5)
                                                    {
                                                        Game.World.Action(GC.MyChar, Packets.String(GC.MyChar.EntityID, 10, "Aegis3").Get);
                                                    }
                                                    else if (I.Bless == 3)
                                                    {
                                                        Game.World.Action(GC.MyChar, Packets.String(GC.MyChar.EntityID, 10, "Aegis2").Get);
                                                    }
                                                    else if (I.Bless == 1)
                                                    {
                                                       Game.World.Action(GC.MyChar, Packets.String(GC.MyChar.EntityID, 10, "Aegis1").Get);                                                    
                                                    }

                                                    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 maximum."));
                                            GC.AddSend(Packets.NPCLink("I see", 255));
                                            GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                            GC.AddSend(Packets.NPCFinish());
                                        }
                                    }
                                    if (Control == 19)
                                    {
                                        GC.AddSend(Packets.NPCSay("Ok here we go , here you are my Price List."));
                                        GC.AddSend(Packets.NPCSay("\n 12 DragonBalls to get your item to +10."));
                                        GC.AddSend(Packets.NPCSay("\n 25 DragonBall to get your item to +11."));
                                        GC.AddSend(Packets.NPCSay("\n 40 DragonBall to get your item to +12."));
                                        GC.AddSend(Packets.NPCSay("\n If you agree with that choose your item"));
                                        GC.AddSend(Packets.NPCLink("Headgear", 21));
                                        GC.AddSend(Packets.NPCLink("Necklace/Bag", 22));
                                        GC.AddSend(Packets.NPCLink("Armor", 23));
                                        GC.AddSend(Packets.NPCLink("Weapon", 24));
                                        GC.AddSend(Packets.NPCLink("Shield", 25));
                                        GC.AddSend(Packets.NPCLink("Ring", 26));
                                        GC.AddSend(Packets.NPCLink("Boots", 28));
                                        GC.AddSend(Packets.NPCLink("Nevermind", 255));
                                        GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                        GC.AddSend(Packets.NPCFinish());
                                    }
                                    else if (Control >= 21 && Control <= 30)
                                    {
                                        byte Pos = (byte)(Control - 20);
                                        Game.Item I = GC.MyChar.Equips.Get(Pos);
                                        if (I.Plus > 8)
                                        {
                                            if (I.Plus != 12)
                                            {
                                                byte DBScrollNeed = 0;
                                                if (I.Plus == 9)
                                                    DBScrollNeed = 12;
                                                else if (I.Plus == 10)
                                                    DBScrollNeed = 25;
                                                else if (I.Plus == 11)
                                                    DBScrollNeed = 40;

                                                if (GC.Agreed)
                                                {
                                                    GC.AddSend(Packets.NPCSay("You need " + DBScrollNeed + " DragonBall Scroll to upgrade. Do you have it?"));
                                                    GC.AddSend(Packets.NPCSay(" Your item current plus is +" + I.Plus + "."));
                                                    if (I.Plus != 0)
                                                        GC.AddSend(Packets.NPCSay(" It will be +" + (I.Plus + 1) + "."));
                                                    GC.AddSend(Packets.NPCLink("Yes.", Pos));
                                                    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(1088000, DBScrollNeed))
                                                    {
                                                        GC.MyChar.EquipStats(Pos, false);
                                                        for (byte i = 0; i < DBScrollNeed; i++)
                                                            GC.MyChar.RemoveItem(GC.MyChar.NextItem(1088000));
                                                        if (I.Plus == 10)
                                                            I.Plus = 11;
                                                        else
                                                            I.Plus += 1;
                                                        GC.MyChar.Equips.Replace(Pos, I, GC.MyChar);
                                                        GC.MyChar.EquipStats(Pos, 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 DragonBall Scroll."));
                                                        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 plus which is already at maximum."));
                                                GC.AddSend(Packets.NPCLink("I see", 255));
                                                GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                                GC.AddSend(Packets.NPCFinish());
                                            }
                                        }
                                        else
                                        {
                                            GC.AddSend(Packets.NPCSay("You have to get your item to +9 first then come back here"));
                                            GC.AddSend(Packets.NPCLink("Damn,i was in hurry", 255));
                                            GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                            GC.AddSend(Packets.NPCFinish());
                                        }
                                    }
                                    break;
                                }
                            #endregion
if you not have the npc put that in you oldcodb in file npc.txt

Quote:
35015 6690 2 59 1036 320 228
i tested and work fine for me

enjoy ppl
02/25/2010 17:15 12tails#2
good job ramix : D
02/25/2010 18:35 CompacticCo#3
Quote:
Originally Posted by ramix View Post
hello i post today update npc ethernal, now have compose +10 to +12 with DB's like real co and bless effect xD

ty to -Shunsui- for the bless code
and ty for 12tails for the firts ethernal he made for us...

this is only a little update

Code:
#region Ethereal
                            case 35015:
                                {
                                    if (Control == 0)
                                    {
                                        GC.AddSend(Packets.NPCSay("I can set your itens bless, for some tortoise gens super. Or I can set your itens plus, for some DragonBalls"));
                                        GC.AddSend(Packets.NPCLink("I want bless it.", 9));
                                        GC.AddSend(Packets.NPCLink("I want upgrade it.", 19));
                                        GC.AddSend(Packets.NPCLink("Just passing by.", 255));
                                        GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                        GC.AddSend(Packets.NPCFinish());
                                        GC.Agreed = false;
                                    }
                                    if (Control == 9)
                                    {
                                        GC.AddSend(Packets.NPCSay("Choose the equipment you want to set 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.NPCLink("Nevermind", 255));
                                        GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                        GC.AddSend(Packets.NPCFinish());
                                    }
                                    else if (Control >= 1 && Control <= 8)
                                    {
                                        Game.Item I = GC.MyChar.Equips.Get((byte)(Control));
                                        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 Tortoises to upgrade. 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 be " + (I.Bless + 2) + "."));
                                                GC.AddSend(Packets.NPCLink("Yes.", Control));
                                                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.MyChar.EquipStats((byte)(Control), false);
                                                    for (byte i = 0; i < TortoiseNeed; i++)
                                                        GC.MyChar.RemoveItem(GC.MyChar.NextItem(700073));
                                                    if (I.Bless == 0)
                                                        I.Bless = 1;
                                                    else
                                                        I.Bless += 2;
                                                    GC.MyChar.Equips.Replace((byte)(Control), I, GC.MyChar);
                                                    GC.MyChar.EquipStats((byte)(Control), true);
                                                    if (I.Bless == 7)
                                                    {
                                                        Game.World.Action(GC.MyChar, Packets.String(GC.MyChar.EntityID, 10, "Aegis4").Get);
                                                    }
                                                    else if (I.Bless == 5)
                                                    {
                                                        Game.World.Action(GC.MyChar, Packets.String(GC.MyChar.EntityID, 10, "Aegis3").Get);
                                                    }
                                                    else if (I.Bless == 3)
                                                    {
                                                        Game.World.Action(GC.MyChar, Packets.String(GC.MyChar.EntityID, 10, "Aegis2").Get);
                                                    }
                                                    else if (I.Bless == 1)
                                                    {
                                                       Game.World.Action(GC.MyChar, Packets.String(GC.MyChar.EntityID, 10, "Aegis1").Get);                                                    
                                                    }

                                                    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 maximum."));
                                            GC.AddSend(Packets.NPCLink("I see", 255));
                                            GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                            GC.AddSend(Packets.NPCFinish());
                                        }
                                    }
                                    if (Control == 19)
                                    {
                                        GC.AddSend(Packets.NPCSay("Ok here we go , here you are my Price List."));
                                        GC.AddSend(Packets.NPCSay("\n 12 DragonBalls to get your item to +10."));
                                        GC.AddSend(Packets.NPCSay("\n 25 DragonBall to get your item to +11."));
                                        GC.AddSend(Packets.NPCSay("\n 40 DragonBall to get your item to +12."));
                                        GC.AddSend(Packets.NPCSay("\n If you agree with that choose your item"));
                                        GC.AddSend(Packets.NPCLink("Headgear", 21));
                                        GC.AddSend(Packets.NPCLink("Necklace/Bag", 22));
                                        GC.AddSend(Packets.NPCLink("Armor", 23));
                                        GC.AddSend(Packets.NPCLink("Weapon", 24));
                                        GC.AddSend(Packets.NPCLink("Shield", 25));
                                        GC.AddSend(Packets.NPCLink("Ring", 26));
                                        GC.AddSend(Packets.NPCLink("Boots", 28));
                                        GC.AddSend(Packets.NPCLink("Nevermind", 255));
                                        GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                        GC.AddSend(Packets.NPCFinish());
                                    }
                                    else if (Control >= 21 && Control <= 30)
                                    {
                                        byte Pos = (byte)(Control - 20);
                                        Game.Item I = GC.MyChar.Equips.Get(Pos);
                                        if (I.Plus > 8)
                                        {
                                            if (I.Plus != 12)
                                            {
                                                byte DBScrollNeed = 0;
                                                if (I.Plus == 9)
                                                    DBScrollNeed = 12;
                                                else if (I.Plus == 10)
                                                    DBScrollNeed = 25;
                                                else if (I.Plus == 11)
                                                    DBScrollNeed = 40;

                                                if (GC.Agreed)
                                                {
                                                    GC.AddSend(Packets.NPCSay("You need " + DBScrollNeed + " DragonBall Scroll to upgrade. Do you have it?"));
                                                    GC.AddSend(Packets.NPCSay(" Your item current plus is +" + I.Plus + "."));
                                                    if (I.Plus != 0)
                                                        GC.AddSend(Packets.NPCSay(" It will be +" + (I.Plus + 1) + "."));
                                                    GC.AddSend(Packets.NPCLink("Yes.", Pos));
                                                    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(1088000, DBScrollNeed))
                                                    {
                                                        GC.MyChar.EquipStats(Pos, false);
                                                        for (byte i = 0; i < DBScrollNeed; i++)
                                                            GC.MyChar.RemoveItem(GC.MyChar.NextItem(1088000));
                                                        if (I.Plus == 10)
                                                            I.Plus = 11;
                                                        else
                                                            I.Plus += 1;
                                                        GC.MyChar.Equips.Replace(Pos, I, GC.MyChar);
                                                        GC.MyChar.EquipStats(Pos, 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 DragonBall Scroll."));
                                                        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 plus which is already at maximum."));
                                                GC.AddSend(Packets.NPCLink("I see", 255));
                                                GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                                GC.AddSend(Packets.NPCFinish());
                                            }
                                        }
                                        else
                                        {
                                            GC.AddSend(Packets.NPCSay("You have to get your item to +9 first then come back here"));
                                            GC.AddSend(Packets.NPCLink("Damn,i was in hurry", 255));
                                            GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                            GC.AddSend(Packets.NPCFinish());
                                        }
                                    }
                                    break;
                                }
                            #endregion
i tested and work fine for me

enjoy ppl
Just a suggestion, if your updating someone's work, post it in that thread, and you didn't post the npc locations or anything of that sort. Just thought I'd let you know.
02/25/2010 19:10 ramix#4
loool all player have that npc in there source -.- you need subst for that if they wanna....

i update the npc not fixed the npc to put in there post...
02/26/2010 10:26 coreymills#5
good work ramix
02/26/2010 12:01 ramix#6
ty ;)
02/26/2010 22:33 Arcо#7
Uhm, I released this.
This entire code was in my Fully Working Wuxing oven.
All you did was make a new npc for it.
02/26/2010 22:40 ramix#8
i do like real conquer.. and your release not have the bless effect and i added... and this is only update...
02/26/2010 23:33 Korvacs#9
Decided to close this, if your updating someone elses code, post it in their thread.