[Release]LabNpc's

12/22/2009 14:37 coreymills#1
with this it will cost 2000vps to get into the lab then it will take then tokens needed to enter each lab only thing u gotta do is find out how to get a certin mob to drop the token, and u got to be lvl 70 to enter the lab.
Code:
#region Simon
                            case 1152:
                                {
                                    if (Control == 0)
                                    {
                                        GC.AddSend(Packets.NPCSay("Great rewards will attract many brave poeple. I am looking for brave poeple to help me take my patrimony back. Can you help me? The rewards are handsome."));
                                        GC.AddSend(Packets.NPCLink("Pleas tell me more.", 2));
                                        GC.AddSend(Packets.NPCLink("What rewards?", 1));
                                        GC.AddSend(Packets.NPCLink("I got SunDiamonds.", 3));
                                        GC.AddSend(Packets.NPCLink("I got MoonDiamonds.", 4));
                                        GC.AddSend(Packets.NPCLink("I got StarDiamonds.", 5));
                                        GC.AddSend(Packets.NPCLink("I got CloudDiamonds.", 6));
                                        GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                        GC.AddSend(Packets.NPCFinish());
                                        GC.Agreed = false;
                                    }
                                    else if (Control == 1)
                                    {
                                        GC.AddSend(Packets.NPCSay("SunDiamond, MoonDiamond and CloudDoamond are kept by deferent monsters.If you get them for me, i will give you some rewards"));
                                        GC.AddSend(Packets.NPCLink("What rewards?.", 9));
                                        GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                        GC.AddSend(Packets.NPCFinish());
                                    }
                                    else if (Control == 3)
                                    {
                                        if (GC.MyChar.InventoryContains(721533, 17))
                                        {
                                            for (int i = 0; i < 17; i++)
                                                GC.MyChar.RemoveItem(GC.MyChar.NextItem(721533));
                                            for (int i = 0; i < 2; i++)
                                                GC.MyChar.AddItem(1088001);
                                            GC.AddSend(Packets.NPCSay("Congration you have 2 Meteors for 17 SunDiamonds"));
                                            GC.AddSend(Packets.NPCLink("OK Thx", 255));
                                            GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                            GC.AddSend(Packets.NPCFinish());
                                        }
                                        else
                                        {
                                            GC.AddSend(Packets.NPCSay("Sorry you dont have 17 SunDiamonds"));
                                            GC.AddSend(Packets.NPCLink("OK i see.", 255));
                                            GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                            GC.AddSend(Packets.NPCFinish());
                                        }
                                    }
                                    else if (Control == 4)
                                    {
                                        if (GC.MyChar.InventoryContains(721534, 17))
                                        {
                                            for (int i = 0; i < 17; i++)
                                                GC.MyChar.RemoveItem(GC.MyChar.NextItem(721534));
                                            for (int i = 0; i < 4; i++)
                                                GC.MyChar.AddItem(1088001);
                                            GC.AddSend(Packets.NPCSay("Congration you have 4 Meteors for 17 MoonDiamonds"));
                                            GC.AddSend(Packets.NPCLink("OK Thx", 255));
                                            GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                            GC.AddSend(Packets.NPCFinish());
                                        }
                                        else
                                        {
                                            GC.AddSend(Packets.NPCSay("Sorry you dont have 17 MoonDiamonds"));
                                            GC.AddSend(Packets.NPCLink("OK i see.", 255));
                                            GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                            GC.AddSend(Packets.NPCFinish());
                                        }
                                    }
                                    else if (Control == 5)
                                    {
                                        if (GC.MyChar.InventoryContains(721535, 17))
                                        {
                                            GC.MyChar.AddItem(700012);
                                            for (int i = 0; i < 17; i++)
                                                GC.MyChar.RemoveItem(GC.MyChar.NextItem(721535));
                                            GC.AddSend(Packets.NPCSay("Congration you have [R]DragonGem for 17 StarDiamonds"));
                                            GC.AddSend(Packets.NPCLink("OK Thx", 255));
                                            GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                            GC.AddSend(Packets.NPCFinish());
                                        }
                                        else
                                        {
                                            GC.AddSend(Packets.NPCSay("Sorry you dont have 17 StarDiamonds"));
                                            GC.AddSend(Packets.NPCLink("OK i see.", 255));
                                            GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                            GC.AddSend(Packets.NPCFinish());
                                        }
                                    }
                                    else if (Control == 6)
                                    {
                                        if (GC.MyChar.InventoryContains(721536, 17))
                                        {
                                            GC.MyChar.AddItem(1088001);
                                            for (int i = 0; i < 17; i++)
                                                GC.MyChar.RemoveItem(GC.MyChar.NextItem(721536));
                                            GC.AddSend(Packets.NPCSay("Congration you have AncestorBox for 17 CludDiamonds"));
                                            GC.AddSend(Packets.NPCLink("OK Thx", 255));
                                            GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                            GC.AddSend(Packets.NPCFinish());
                                        }
                                        else
                                        {
                                            GC.AddSend(Packets.NPCSay("Sorry you dont have 17 CludDiamonds"));
                                            GC.AddSend(Packets.NPCLink("OK i see.", 255));
                                            GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                            GC.AddSend(Packets.NPCFinish());
                                        }
                                    }
                                    else if (Control == 9)
                                    {
                                        GC.AddSend(Packets.NPCSay("2 mets for 17 SuntDiamonds, 4 mets for 17 MoonDiamonds, normal gem for 17 StarDiamonds and AncestorBox for 17 CloudDiamonds."));
                                        GC.AddSend(Packets.NPCSay(" If you are enought, you will get surise from thx box."));
                                        GC.AddSend(Packets.NPCLink("i see. Thanks", 255));
                                        GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                        GC.AddSend(Packets.NPCFinish());
                                    }
                                    else if (Control == 2)
                                    {
                                        GC.AddSend(Packets.NPCSay("My ancestors built a Labyrinth long before. Many treasures were stored there like SunDiamonds, MoonDiamons, StarDiamonds and so on. But it was occupied by fiece monsters soon. They expelled our clansmen and kept the treasure."));
                                        GC.AddSend(Packets.NPCLink("It's a pity.", 7));
                                        GC.AddSend(Packets.NPCLink("I have no interest.", 255));
                                        GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                        GC.AddSend(Packets.NPCFinish());
                                    }
                                    else if (Control == 7)
                                    {
                                        GC.AddSend(Packets.NPCSay("You need level 70+ and 2.000 Cps"));
                                        GC.AddSend(Packets.NPCLink("Yes i have", 8));
                                        GC.AddSend(Packets.NPCLink("Sorry, That is to tough for me.", 255));
                                        GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                        GC.AddSend(Packets.NPCFinish());
                                    }
                                    else if (Control == 8)
                                    {
                                        if (GC.MyChar.Level >= 70)
                                        {
                                            if (GC.MyChar.VP >= 2000)
                                            {
                                                GC.MyChar.Teleport(1351, 20, 130);
                                            }
                                            else
                                            {
                                                GC.AddSend(Packets.NPCSay("Sorry you dont have 2.000 VPs"));
                                                GC.AddSend(Packets.NPCLink("See you again.", 255));
                                                GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                                GC.AddSend(Packets.NPCFinish());
                                            }
                                        }
                                        else
                                        {
                                            GC.AddSend(Packets.NPCSay("Sorry you are not level 70"));
                                            GC.AddSend(Packets.NPCLink("Ok I see", 255));
                                            GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                            GC.AddSend(Packets.NPCFinish());
                                        }
                                    }
                                    break;
                                }
                            #endregion
NPC to Enter Lab2:
Code:
#region Lab2
                            case 1153:
                                {
                                    if (Control == 0)
                                    {
                                        GC.AddSend(Packets.NPCSay("Would u like to go to lab2 it will cost u a Skytoken."));
                                        GC.AddSend(Packets.NPCLink("Lab 2", 1));
                                        GC.AddSend(Packets.NPCLink("TwinCity", 2));
                                        GC.AddSend(Packets.NPCLink("Just passing by.", 255));
                                        GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                        GC.AddSend(Packets.NPCFinish());
                                    }
                                    if (Control == 1)
                                    {
                                        if (GC.MyChar.Inventory.Count < 40)
                                        {
                                            if (GC.MyChar.InventoryContains(721537, 1))
                                            {
                                                GC.MyChar.RemoveItem(GC.MyChar.NextItem(721537));
                                                GC.MyChar.Teleport(1352, 029, 230);
                                            }
                                            else
                                            {
                                                GC.AddSend(Packets.NPCSay("You do not have a Sky Token Kill GoldGhosts for the token"));
                                                GC.AddSend(Packets.NPCLink("ok", 255));
                                                GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                                GC.AddSend(Packets.NPCFinish());
                                            }
                                        }
                                    }
                                    if (Control == 2)
                                    {
                                        GC.MyChar.Teleport(1002, 431, 379);
                                    }
                                    break;
                                }
                            #endregion
NPC to Enter Lab3:
Code:
#region Lab3
                            case 1154:
                                {
                                    if (Control == 0)
                                    {
                                        GC.AddSend(Packets.NPCSay("Would u like to go to lab3 it will cost u 1 Earth Token i can also teleport u back to twin city which would u like?"));
                                        GC.AddSend(Packets.NPCLink("Lab 3", 1));
                                        GC.AddSend(Packets.NPCLink("TwinCity", 2));
                                        GC.AddSend(Packets.NPCLink("Just passing by.", 255));
                                        GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                        GC.AddSend(Packets.NPCFinish());
                                    }
                                    if (Control == 1)
                                    {
                                        if (GC.MyChar.Inventory.Count < 40)
                                        {
                                            if (GC.MyChar.InventoryContains(721538, 1))
                                            {
                                                GC.MyChar.RemoveItem(GC.MyChar.NextItem(721538));
                                                GC.MyChar.Teleport(1353, 028, 270);
                                            }
                                            else
                                            {
                                                GC.AddSend(Packets.NPCSay("You do not have a Earth Token Kill AgilRats for the token"));
                                                GC.AddSend(Packets.NPCLink("I see.", 255));
                                                GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                                GC.AddSend(Packets.NPCFinish());
                                            }
                                        }
                                    }
                                    if (Control == 2)
                                    {
                                        GC.MyChar.Teleport(1002, 431, 379);
                                    }
                                    break;
                                }
                            #endregion
NPC to enter Lab4:
Code:
#region Lab4
                            case 1155:
                                {
                                    if (Control == 0)
                                    {
                                        GC.AddSend(Packets.NPCSay("Would u like to go to Lab4 or go back to TwinCity?"));
                                        GC.AddSend(Packets.NPCLink("Lab4", 1));
                                        GC.AddSend(Packets.NPCLink("TwinCity", 2));
                                        GC.AddSend(Packets.NPCLink("No thanks i think i'm gonna stay here awhile!", 255));
                                        GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                        GC.AddSend(Packets.NPCFinish());
                                    }
                                    if (Control == 1)
                                    {
                                        if (GC.MyChar.Inventory.Count < 40)
                                        {
                                            if (GC.MyChar.InventoryContains(721539, 1))
                                            {
                                                GC.MyChar.RemoveItem(GC.MyChar.NextItem(721539));
                                                GC.MyChar.Teleport(1354, 009, 290);
                                            }
                                            else
                                            {
                                                GC.AddSend(Packets.NPCSay("You do not have a SoulToken Kill FiendBats for the token"));
                                                GC.AddSend(Packets.NPCLink("I see.", 255));
                                                GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                                GC.AddSend(Packets.NPCFinish());
                                            }
                                        }
                                    }
                                    if (Control == 2)
                                    {
                                        GC.MyChar.Teleport(1002, 431, 379);
                                    }
                                    break;
                                }
                            #endregion
put this in npc.txt
Quote:
1153 6520 2 63 1351 489 372
1154 6520 2 63 1352 670 465
1155 6520 2 63 1353 790 545
Credits to Hitsugaya Toshiro for the Simon NPC

delete all the mob spawns that have 1351-1354 out and put these in

EDIT:: this is for 5165 ini source

MobInfo.txt

this goes in mobspawn.txt

here some pics of the spawns:
[Only registered and activated users can see links. Click Here To Register...]

find this in mobs.cs:
Code:
else if (MyMath.ChanceSuccess(DropRates.CleanWater))
                    {
                        DI2.Info.ID = 721258;
                        DI2.Info.MaxDur = DI2.Info.DBInfo.Durability;
                        DI2.Info.CurDur = DI2.Info.MaxDur;
                    }
under it put this
Code:
else if (Name == "GoldGhost")
                    {

                        if (MyMath.ChanceSuccess(100))//change 100 to what ever u want the droprate to be
                        {
                            DI2.Info.ID = 721537;
                            DI2.Info.MaxDur = DI2.Info.DBInfo.Durability;
                            DI2.Info.CurDur = DI2.Info.MaxDur;

                        }
                    }

else if (Name == "AgilRat")
                    {

                        if (MyMath.ChanceSuccess(100))//change 100 to what ever u want the droprate to be
                        {
                            DI2.Info.ID = 721538;
                            DI2.Info.MaxDur = DI2.Info.DBInfo.Durability;
                            DI2.Info.CurDur = DI2.Info.MaxDur;

                        }
                    }

else if (Name == "FiendBat")
                    {

                        if (MyMath.ChanceSuccess(100))//change 100 to what ever u want the droprate to be
                        {
                            DI2.Info.ID = 721539;
                            DI2.Info.MaxDur = DI2.Info.DBInfo.Durability;
                            DI2.Info.CurDur = DI2.Info.MaxDur;

                        }
                    }
#updated NPC Fixed thanks HardNotTo
12/23/2009 01:22 shadow8994#2
Nice man realy help full
12/23/2009 10:35 coreymills#3
thanks
12/25/2009 18:32 Arcо#4
IMO, you should have just added the mob spawns to this thread instead of making an entirely new thread.
12/26/2009 13:18 coreymills#5
ya i didnt think of that
12/26/2009 16:44 Arcо#6
Quote:
Originally Posted by coreymills View Post
ya i didnt think of that

Yeah that's be better.
One thread with all lab stuff.
12/26/2009 18:29 -Shunsui-#7
Edit # It dosent seem like it needs 2k Vps it says CPs on the NPC, Change
Code:
if (GC.MyChar.CPs >= 2000)
To
Code:
if (GC.MyChar.VP >= 2000)
And edit the remove VP part to,
01/27/2010 16:24 HardNotTo#8
Thanks for this, but I have 2 problems with it....When trying to goto Lab 3 or Lab 4 the npc's in Lab 2 and Lab 3 do not recognize the Tokens in my inventory, keeps telling me I need the token and to kill such and such mob to find the token...have checked over the code and in items and the Tokens are in my database and the numbers match but dont just take them....any help with this would be much appreciated....Thanks
01/27/2010 16:29 bart2712#9
I just made it so it costs 2k cps to get to each floor on my server...much easier to code lol.
01/27/2010 16:58 HardNotTo#10
Quote:
Originally Posted by bart2712 View Post
I just made it so it costs 2k cps to get to each floor on my server...much easier to code lol.
yes that would be easier to do, but it would also cut out the need to even load Lab 1-3 since everyone would want to go straight to Lab 4 anyways for the higher lvl mobs. Doing the tokens forces them to work to get there.

Thanks for the suggestion anyways though.
01/27/2010 18:37 Jedex#11
Good job Corey
Your really improving buddy
02/16/2010 08:21 darkdestiny54#12
Wow! That rocks! Nice Release =P I'm giving Thanks for that one!
One problem though:
My monsters are invisible in Lab #2. I haven't tested Labs 3-4 yet. Any idea why? I added the spawns... I'm so confused. lol, maybe I need to update Mob Infos?
02/16/2010 08:32 coreymills#13
updated the first post with the bladeling and agilrats
02/16/2010 17:29 HardNotTo#14
I am having a problem with the npc that collects the EarthToken in Lab 2...He's not taking them. Also the BladeLings and AgileRats are still invisable....Also just a side not..you have AgileRats mispelled...you got AgilRats..should be AgileRats, with an "e"...without the "e" they wont drop the token...As for the npc...I do have everything set up by your release, just dont know why it wont take the token, the rest of them do.

EDIT: Just checked and the same thing with SoulToken on Lab4...npc wont take it. It is as if the Tokens themselves do not work...will test with a different item to see if it is the tokens or the npc and will post back.
02/16/2010 17:39 renetjuuh#15
Yo bro you did a great job:P nice release. im not going to use it but an thanks is placed