TheLastGames - Conquer online
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

[Release] RebirthMaster NPC (Eternity + Alex)

2 participantes

Ir para baixo

 [Release] RebirthMaster NPC (Eternity + Alex) Empty [Release] RebirthMaster NPC (Eternity + Alex)

Mensagem por DxOnline Ter Fev 28, 2012 9:02 pm

Adicione isto em NPCS.cs:

Código:

                #region RebirthMaster
                case 1340:
                    {
                        switch (npcRequest.OptionID)
                        {
                            case 0:
                                {
                                    dialog.Text("I devote all my life to the research of eternity. And finally i know the secret "
                                        + "of the rebirth! Well, anything I can help you with?");
                                    dialog.Option("1st Rebirth.", 100);
                                    dialog.Option("2nd Rebirth.", 200);
                                    dialog.Option("Reincarnation.", 190);
                                    dialog.Option("Reallot my Attribute Points.", 230);
                                    dialog.Option("Just passing by.", 255);
                                    dialog.Avatar(37);
                                    dialog.Send();
                                }
                                break;
                            case 200:
                                {
                                    dialog.Text("You don't worry, it's not gonna hurt you a bit when getting the third life. You just need an exemption token and it's all going to be fine.");
                                    dialog.Option("Here is the ExemptionToken.", 201);
                                    dialog.Option("I'll just leave", 255);
                                    dialog.Send();
                                    break;
                                }
                            case 201:
                                {
                                    if (client.Entity.Reborn == 1)
                                    {
                                        if (client.Entity.Class % 10 == 5 && client.Entity.Level >= (client.Entity.Class == 135 ? 110 : 120))
                                        {
                                            dialog.Text("Select the class you want to reborn in.");
                                            dialog.Option("Trojan.", 11);
                                            dialog.Option("Warrior.", 21);
                                            dialog.Option("Archer.", 41);
                                            dialog.Option("WaterTaoist.", 132);
                                            dialog.Option("FireTaoist.", 142);
                                            dialog.Option("Ninja.", 51);
                                            dialog.Option("Monk.", 61);
                                            dialog.Option("Nothing thank you.", 255);
                                            dialog.Send();
                                        }
                                        else
                                        {
                                            dialog.Text("If you are a water saint you need level 110+, else you need 120+.");
                                            dialog.Option("I'll just leave", 255);
                                            dialog.Send();
                                            break;
                                        }
                                    }
                                    else
                                    {
                                        dialog.Text("You need to be in the second life to be able to get the third life.");
                                        dialog.Option("I'll just leave", 255);
                                        dialog.Send();
                                        break;
                                    }
                                    break;
                                }
                            default:
                                {
                                    if (npcRequest.OptionID == 255)
                                        return;
                                    if (client.Entity.Reborn == 1)
                                    {
                                        if (client.Entity.Class % 10 == 5 && client.Entity.Level >= (client.Entity.Class == 135 ? 110 : 120))
                                        {
                                            if (client.Inventory.Contains(723701, 1))
                                            {
                                                if (client.Reborn(npcRequest.OptionID))
                                                {
                                                    client.Inventory.Remove(723701, 1);
                                                }
                                                else
                                                {
                                                    dialog.Text("You need two free slots in your inventory.");
                                                    dialog.Option("I'll just leave", 255);
                                                    dialog.Send();
                                                    break;
                                                }
                                            }
                                        }
                                        else
                                        {
                                            dialog.Text("If you are a water saint you need level 110+, else you need 120+.");
                                            dialog.Option("I'll just leave", 255);
                                            dialog.Send();
                                            break;
                                        }
                                    }




                                    if (client.Entity.Reborn == 0)
                                    {
                                        if (client.Entity.Class % 10 == 5 && client.Entity.Level >= (client.Entity.Class == 135 ? 110 : 120))
                                        {
                                            if (npcRequest.OptionID == 255)
                                                return;
                                            if (npcRequest.OptionID >= 70 && npcRequest.OptionID <= 80)
                                            {
                                                client.SelectedGem = (byte)(npcRequest.OptionID % 100);
                                                if (client.SelectedGem == 54)
                                                    client.SelectedGem = 63;
                                                if (client.Entity.Reborn == 0)
                                                {
                                                    if (client.Inventory.Contains(721259, 1) && client.Inventory.Count <= 35)
                                                    {
                                                        byte _class = 0;
                                                        if (npcRequest.OptionID == 70)
                                                            _class = 11;
                                                        if (npcRequest.OptionID == 71)
                                                            _class = 21;
                                                        if (npcRequest.OptionID == 72)
                                                            _class = 41;
                                                        if (npcRequest.OptionID == 73)
                                                            _class = 132;
                                                        if (npcRequest.OptionID == 74)
                                                            _class = 142;
                                                        //byte type = (byte)(npcRequest.OptionID - _class);
                                                   
                                                        if (client.Reborn(_class))
                                                        {
                                                            uint gemid = (uint)(3 + 700000);
                                                            client.Inventory.Add(gemid, 0, 1);
                                                            gemid = (uint)(13 + 700000);
                                                            client.Inventory.Add(gemid, 0, 1);
                                                            int availableshots = 0;
                                                            for (byte count = 0; count < 12; count++)
                                                                if (!client.Equipment.Free(count))
                                                                    if (client.Equipment.TryGetItem(count).Bless == 0)
                                                                        availableshots++;
                                                            if (availableshots != 0)
                                                            {
                                                                byte ex = (byte)Conquer_Online_Server.ServerBase.Kernel.Random.Next(12);
                                                                if (!client.Equipment.Free(ex))
                                                                    if (client.Equipment.TryGetItem(ex).Bless == 0)
                                                                    {
                                                                        var item = client.Equipment.TryGetItem(ex);
                                                                        item.Bless = 1;
                                                                        item.Mode = Conquer_Online_Server.Game.Enums.ItemMode.Update;
                                                                        item.Send(client);
                                                                        // Conquer_Online_Server.Database.ConquerItemTable.UpdateBless(Item, client);
                                                                    }
                                                            }

                                                            client.Inventory.Remove(721259, 1);
                                                        }
                                                        else
                                                        {
                                                            dialog.Text("Sorry, but you need atleast 2 free spaces in your inventory.");
                                                            dialog.Option("Ohh.", 255);
                                                            dialog.Send();
                                                        }
                                                    }
                                                    else
                                                    {
                                                        dialog.Text("Sorry, but you need atleast a CelestialStone and 5 free slots on your inventory.");
                                                        dialog.Option("Ohh.", 255);
                                                        dialog.Send();
                                                    }
                                                }
                                                else
                                                {
                                                    dialog.Text("You cannot reborn again here. Alex, an elder who lives in Ape Canyon, will tell you about the third life.");
                                                    dialog.Option("Thank you.", 255);
                                                    dialog.Send();
                                                }
                                            }
                                            else
                                            {
                                                if (client.Inventory.Contains(721259, 1) && client.Inventory.Count <= 35)
                                                {
                                                    byte _class = 5;
                                                    if (npcRequest.OptionID == 70)
                                                        _class = 11;
                                                    if (npcRequest.OptionID == 71)
                                                        _class = 21;
                                                    if (npcRequest.OptionID == 72)
                                                        _class = 41;
                                                    if (npcRequest.OptionID == 73)
                                                        _class = 132;
                                                    if (npcRequest.OptionID == 74)
                                                        _class = 142;
                                                    if (npcRequest.OptionID == 69)
                                                        _class = 51;
                                                    if (npcRequest.OptionID == 68)
                                                        _class = 61;

                                                    //byte type = (byte)(npcRequest.OptionID - _class);

                                                    if (client.Account.State == Database.AccountTable.AccountState.ProjectManager)
                                                        client.Send(new Message(_class.ToString(), System.Drawing.Color.White, Message.Service));
                                                    if (client.Reborn(_class))
                                                    {
                                                        uint gemid = (uint)(3 + 700000);
                                                        client.Inventory.Add(gemid, 0, 1);
                                                        gemid = (uint)(13 + 700000);
                                                        client.Inventory.Add(gemid, 0, 1);
                                                        int availableshots = 0;
                                                        for (byte count = 0; count < 12; count++)
                                                            if (!client.Equipment.Free(count))
                                                                if (client.Equipment.TryGetItem(count).Bless == 0)
                                                                    availableshots++;
                                                        if (availableshots != 0)
                                                        {
                                                            byte ex = (byte)Conquer_Online_Server.ServerBase.Kernel.Random.Next(12);
                                                            if (!client.Equipment.Free(ex))
                                                                if (client.Equipment.TryGetItem(ex).Bless == 0)
                                                                {
                                                                    var item = client.Equipment.TryGetItem(ex);
                                                                    item.Bless = 1;
                                                                    item.Mode = Conquer_Online_Server.Game.Enums.ItemMode.Update;
                                                                    Database.ConquerItemTable.UpdateBless(item, client);
                                                                    item.Send(client);
                                                                }
                                                        }

                                                        client.Inventory.Remove(721259, 1);
                                                    }
                                                    else
                                                    {
                                                        dialog.Text("Sorry, but you need atleast 2 free spaces in your inventory.");
                                                        dialog.Option("Ohh.", 255);
                                                        dialog.Send();
                                                    }
                                                }
                                                else
                                                {
                                                    dialog.Text("Sorry, but you need atleast a CelestialStone and 5 free slots on your inventory.");
                                                    dialog.Option("Ohh.", 255);
                                                    dialog.Send();
                                                }
                                            }
                                        }
                                        else
                                        {
                                            dialog.Text("You cannot reborn if your level is not 110+ for water saints and 120+ for other masters.");
                                            dialog.Option("Ahh.", 255);
                                            dialog.Send();
                                        }
                                    }
                                    else
                                    {
                                        dialog.Text("You cannot reborn again here. Alex, an elder who lives in Ape Canyon, will tell you about the third life.");
                                        dialog.Option("Thank you.", 255);
                                        dialog.Send();
                                    }
                                    break;
                                }



                            case 190:
                                {
                                    Network.GamePackets.Data Data = new Network.GamePackets.Data(true);
                                    Data.UID = client.Entity.UID;
                                    Data.ID = 126;
                                    Data.dwParam = 485;
                                    Data.wParam1 = client.Entity.X;
                                    Data.wParam2 = client.Entity.Y;
                                    client.Send(Data);
                                    break;
                                }



                            case 100:
                                {
                                    dialog.Text("Hello conqueror. You know, there are ancient stories about a second life and many people chose not to believe it. Even so, there are some people that believe in it, and that inspired me to learn about it. In my study, I found out how to reborn someone. But, in this quest, a CelestialStone may be needed. To get one, talk with Celestine(TwinCity 365, 92).");
                                    dialog.Option("Tell me more about it.", 101);
                                    dialog.Option("Reborm me.", 102);
                                    dialog.Option("Nothing thank you.", 255);
                                    dialog.Send();
                                    break;
                                }
                            case 101:
                                {
                                    dialog.Text("So you want to know more? When you reborn, you can chose what class you want to be the second life. Once you reborn you will start again the journey to conquer this world from level 15. Beware that you may gain some special skills depending on the class you chose to reborn, and you'll be able to get an own pet, that will follow and help you level or fight. The cost is a CelestialStone.");
                                    dialog.Option("Reborm me.", 102);
                                    dialog.Option("Nothing thank you.", 255);
                                    dialog.Send();
                                    break;
                                }
                            case 102:
                                {
                                    if (client.Entity.Reborn == 0)
                                    {
                                        if (client.Entity.Class % 10 == 5 && client.Entity.Level >= (client.Entity.Class == 135 ? 110 : 120))
                                        {
                                            dialog.Text("Are you sure that it is what you want? There's no way to get back, make sure of it, otherwise you are making a bad thing.");
                                            dialog.Option("Reborn Now.", 103);
                                            dialog.Option("Not now.", 255);
                                            dialog.Send();
                                        }
                                        else
                                        {
                                            dialog.Text("You cannot reborn if your level is not 110+ for water saints and 120+ for other masters.");
                                            dialog.Option("Ahh.", 255);
                                            dialog.Send();
                                        }
                                    }
                                    else
                                    {
                                        dialog.Text("You cannot reborn again here. Alex, an elder who lives in Ape Canyon, will tell you about the third life.");
                                        dialog.Option("Thank you.", 255);
                                        dialog.Send();
                                    }
                                    break;
                                }
                            case 103:
                                {
                                    if (client.Entity.Reborn == 0)
                                    {
                                        if (client.Entity.Class % 10 == 5 && client.Entity.Level >= (client.Entity.Class == 135 ? 110 : 120))
                                        {
                                            dialog.Text("Select the class you want to reborn in.");
                                            dialog.Option("Trojan.", 70);
                                            dialog.Option("Warrior.", 71);
                                            dialog.Option("Archer.", 72);
                                            dialog.Option("WaterTaoist.", 73);
                                            dialog.Option("FireTaoist.", 74);
                                            dialog.Option("Ninja.", 69);
                                            dialog.Option("Monk.", 68);
                                            dialog.Option("Nothing thank you.", 255);
                                            dialog.Send();
                                        }
                                        else
                                        {
                                            dialog.Text("You cannot reborn if your level is not 110+ for water saints and 120+ for other masters.");
                                            dialog.Option("Ahh.", 255);
                                            dialog.Send();
                                        }
                                        break;
                                    }
                                    else
                                    {
                                        dialog.Text("You cannot reborn again here. Alex, an elder who lives in Ape Canyon, will tell you about the third life.");
                                        dialog.Option("Thank you.", 255);
                                        dialog.Send();
                                    }
                                    break;
                                }

                            case 230:
                                {
                                    dialog.Text("Reborn level 70+ players can redistribute their attribute points at the cost a DragonBall");
                                    dialog.Option("I will reallot my points.", 231);
                                    dialog.Option("Let me think it over.", 255);
                                    dialog.Send();
                                    break;
                                }
                            case 231:
                                {
                                    if (client.Entity.Reborn > 0)
                                    {
                                        if (client.Inventory.Contains(1088000, 1))
                                        {
                                            client.Inventory.Remove(1088000, 1);
                                            if (client.Entity.Reborn != 0)
                                            {
                                                client.Entity.Agility = 0;
                                                client.Entity.Strength = 0;
                                                client.Entity.Vitality = 1;
                                                client.Entity.Spirit = 0;
                                                if (client.Entity.Reborn == 1)
                                                {
                                                    client.Entity.Atributes = (ushort)(client.ExtraAtributePoints(client.Entity.FirstRebornLevel, client.Entity.FirstRebornLevel)
                                                        + 52 + 3 * (client.Entity.Level - 15));
                                                }
                                                else
                                                {
                                                    client.Entity.Atributes = (ushort)(client.ExtraAtributePoints(client.Entity.FirstRebornLevel, client.Entity.FirstRebornClass) +
                                                        client.ExtraAtributePoints(client.Entity.SecondRebornLevel, client.Entity.SecondRebornClass) + 52 + 3 * (client.Entity.Level - 15));
                                                }
                                            }
                                        }
                                        else
                                        {
                                            dialog.Text("You need a DragonBall.");
                                            dialog.Option("I'll just leave", 255);
                                            dialog.Send();
                                        }
                                    }
                                    else
                                    {
                                        dialog.Text("You have to have atleast one rebirth atleast.");
                                        dialog.Option("I'll just leave", 255);
                                        dialog.Send();
                                    }
                                    break;
                                }
                        }
                    }break;
                #endregion

Execute Esta Query

Código:
INSERT INTO `npcs` (`id`, `ownerid`, `playerid`, `name`, `type`, `lookface`, `idxserver`, `mapid`, `cellx`, `celly`, `task0`, `task1`, `task2`, `task3`, `task4`, `task5`, `task6`, `task7`, `data0`, `data1`, `data2`, `data3`, `datastr`, `linkid`, `life`, `maxlife`, `base`, `sort`, `itemid`) VALUES ('1340', '0', '0', 'RebirthMaster', '2', '13400', '-1', '1036', '211', '212', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', 'ط·آ·ط¢آ·ط·آ¢ط¢آ', '0', '0', '0', '0', '0', NULL);

Creditos : DragonsoulTeam
DxOnline
DxOnline

Mensagens : 13
Data de inscrição : 28/02/2012

Ir para o topo Ir para baixo

 [Release] RebirthMaster NPC (Eternity + Alex) Empty Re: [Release] RebirthMaster NPC (Eternity + Alex)

Mensagem por Admin Ter Fev 28, 2012 9:38 pm

Gratz mano pelo post
Admin
Admin
Admin

Mensagens : 129
Data de inscrição : 07/01/2012
Idade : 30

https://thelastgames.forumeiros.com

Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos