[Relase] Skypass quest

10/19/2008 19:47 bisiol#1
In Entities.cs search for:
Code:
                        DroppedItem item = DroppedItems.DropItem(Item, (uint)(PosX - General.Rand.Next(4) + General.Rand.Next(4)), (uint)(PosY - General.Rand.Next(4) + General.Rand.Next(4)), (uint)Map, MoneyDrops);
                        World.ItemDrops(item);
                    }
                }
                else
                {

Replace it with:
Code:
                        DroppedItem item = DroppedItems.DropItem(Item, (uint)(PosX - General.Rand.Next(4) + General.Rand.Next(4)), (uint)(PosY - General.Rand.Next(4) + General.Rand.Next(4)), (uint)Map, MoneyDrops);
                        World.ItemDrops(item);
                    }
                }
                else
                {
                    if (Name != "SkyRockMonster" && Name != "SkyHawk" && Name != "SkyBandit" && Name != "SkyBull" && Name != "SkyDevil")
                    {
In Entities.cs search for:

Code:
if (ItemId != 0)
                        {
                            string Item = ItemId.ToString() + "-" + IsPlus.ToString() + "-" + Bless.ToString() + "-0-" + Soc1.ToString() + "-" + Soc2.ToString();
                            DroppedItem item = DroppedItems.DropItem(Item, (uint)(PosX - General.Rand.Next(4) + General.Rand.Next(4)), (uint)(PosY - General.Rand.Next(4) + General.Rand.Next(4)), (uint)Map, 0);
                            World.ItemDrops(item);
                        }
                    }
                }
Bellow add:

Code:
 }
                if (Name == "SkyRockMonster")
                {
                    

                       if (Other.ChanceSuccess(4))
                        {
                    string Item = "721100-0-0-0-0-0";
                            DroppedItem item = DroppedItems.DropItem(Item, (uint)(PosX - General.Rand.Next(4) + General.Rand.Next(4)), (uint)(PosY - General.Rand.Next(4) + General.Rand.Next(4)), (uint)Map, MoneyDrops);
                            World.ItemDrops(item);
                       }
                    
                }
                if (Name == "SkyHawk")
                {


                    if (Other.ChanceSuccess(4))
                    {
                        string Item = "721101-0-0-0-0-0";
                        DroppedItem item = DroppedItems.DropItem(Item, (uint)(PosX - General.Rand.Next(4) + General.Rand.Next(4)), (uint)(PosY - General.Rand.Next(4) + General.Rand.Next(4)), (uint)Map, MoneyDrops);
                        World.ItemDrops(item);
                    }

                }
                if (Name == "SkyBandit")
                {


                    if (Other.ChanceSuccess(4))
                    {
                        string Item = "721102-0-0-0-0-0";
                        DroppedItem item = DroppedItems.DropItem(Item, (uint)(PosX - General.Rand.Next(4) + General.Rand.Next(4)), (uint)(PosY - General.Rand.Next(4) + General.Rand.Next(4)), (uint)Map, MoneyDrops);
                        World.ItemDrops(item);
                    }

                }
                if (Name == "SkyBull")
                {


                    if (Other.ChanceSuccess(4))
                    {
                        string Item = "721103-0-0-0-0-0";
                        DroppedItem item = DroppedItems.DropItem(Item, (uint)(PosX - General.Rand.Next(4) + General.Rand.Next(4)), (uint)(PosY - General.Rand.Next(4) + General.Rand.Next(4)), (uint)Map, MoneyDrops);
                        World.ItemDrops(item);
                    }

                }
                if (Name == "SkyDevil")
                {


                    if (Other.ChanceSuccess(4))
                    {
                        string Item = "721108-0-0-0-0-0";
                        DroppedItem item = DroppedItems.DropItem(Item, (uint)(PosX - General.Rand.Next(4) + General.Rand.Next(4)), (uint)(PosY - General.Rand.Next(4) + General.Rand.Next(4)), (uint)Map, MoneyDrops);
                        World.ItemDrops(item);
                    }

                }
In Client.cs search for:
Code:
                        if (CurrentNPC == 104813)
                        {
                            SendPacket(General.MyPackets.NPCSay("I can exchange 200,000 silvers into 20 cps.  Do you want to trade?"));
                            SendPacket(General.MyPackets.NPCLink("Yes", 1));
                            SendPacket(General.MyPackets.NPCLink("No", 255));
                            SendPacket(General.MyPackets.NPCSetFace(30));
                            SendPacket(General.MyPackets.NPCFinish());
                        }
Bellow this add:

Code:
                        if (CurrentNPC == 105016)
                        {
                            SendPacket(General.MyPackets.NPCSay("Do You want start SkyPass quest?"));
                            SendPacket(General.MyPackets.NPCLink("Yes", 1));
                            SendPacket(General.MyPackets.NPCLink("No", 255));
                            SendPacket(General.MyPackets.NPCSetFace(30));
                            SendPacket(General.MyPackets.NPCFinish());
                        }
                        if (CurrentNPC == 105005 || CurrentNPC == 105006 || CurrentNPC == 105007 || CurrentNPC == 105008 || CurrentNPC == 105009)
                        {
                            int skynpc = ((CurrentNPC - 105005)+1);
                            string skynpcstr="";
                            if (skynpc == 1)
                                skynpcstr = "Do You wana try go to the 2nd Stage?";
                            if (skynpc == 2)
                                skynpcstr = "Do You wana try go to the 3rd Stage?";
                            if (skynpc == 3)
                                skynpcstr = "Do You wana try go to the 4th Stage?";
                            if (skynpc == 4)
                                skynpcstr = "Do You wana try go to the 5th Stage?";
                            if (skynpc == 5)
                                skynpcstr = "Almost done do You wana try finish Quest?";
                            SendPacket(General.MyPackets.NPCSay(skynpcstr));
                            SendPacket(General.MyPackets.NPCLink("Yes", (byte)skynpc));
                            SendPacket(General.MyPackets.NPCLink("No please teleport me to TC", 6));
                            SendPacket(General.MyPackets.NPCSetFace(30));
                            SendPacket(General.MyPackets.NPCFinish());
                        }
                        if (CurrentNPC == 105010 || CurrentNPC == 105011 || CurrentNPC == 105012 || CurrentNPC == 105013 || CurrentNPC == 105014)
                        {
                            int skynpc = ((CurrentNPC - 105010) + 1);
                            string skynpcstr = "";
                            if (skynpc == 1 && MyChar.InventoryContains(721100, 1))
                            {
                                {
                                    skynpcstr = "I can let You out if you have PassToken1";
                                    SendPacket(General.MyPackets.NPCSay(skynpcstr));
                                    SendPacket(General.MyPackets.NPCLink("Yay!", (byte)skynpc));
                                }
                            }
                            else if (skynpc == 2&&MyChar.InventoryContains(721101, 1))
                            {
                                skynpcstr = "I can let You out if you have PassToken2";
                                SendPacket(General.MyPackets.NPCSay(skynpcstr));
                                SendPacket(General.MyPackets.NPCLink("Yay!", (byte)skynpc));
                            }
                            else if (skynpc == 3 && MyChar.InventoryContains(721102, 1))
                            {
                                skynpcstr = "I can let You out if you have PassToken3";
                                SendPacket(General.MyPackets.NPCSay(skynpcstr));
                                SendPacket(General.MyPackets.NPCLink("Yay!", (byte)skynpc));
                            }
                            else if (skynpc == 4 && MyChar.InventoryContains(721103, 1))
                            {
                                skynpcstr = "I can let You out if you have PassToken4";
                                SendPacket(General.MyPackets.NPCSay(skynpcstr));
                                SendPacket(General.MyPackets.NPCLink("Yay!", (byte)skynpc));
                            }
                            else if (skynpc == 5 && MyChar.InventoryContains(721108, 1))
                            {
                                skynpcstr = "I can let You out if you have PassTokenL120";
                                SendPacket(General.MyPackets.NPCSay(skynpcstr));
                                SendPacket(General.MyPackets.NPCLink("Yay!", (byte)skynpc));
                            }
                            else
                            {
                                skynpcstr = "Sorry, You dont have PassToken!";
                                SendPacket(General.MyPackets.NPCSay(skynpcstr));
                                SendPacket(General.MyPackets.NPCLink("Damn", 255));
                            }
                            SendPacket(General.MyPackets.NPCSetFace(30));
                            SendPacket(General.MyPackets.NPCFinish());
                        }
                        if (CurrentNPC == 105015)
                        {
                            SendPacket(General.MyPackets.NPCSay("Congratulations! You have finished SkyPass Quest!"));
                            SendPacket(General.MyPackets.NPCSay("Please chose Your revard"));
                            SendPacket(General.MyPackets.NPCLink("4 metscrolls", 1));
                            SendPacket(General.MyPackets.NPCLink("10 metscrolls", 2));
                            SendPacket(General.MyPackets.NPCSetFace(30));
                            SendPacket(General.MyPackets.NPCFinish());
                        }
In Client.cs search for:
Code:
                        if (CurrentNPC == 104813)
                        {
                            if (Control == 1)
                            {
                                if (MyChar.Silvers >= 200000)
                                {
                                    MyChar.Silvers -= 200000;
                                    MyChar.CPs += 20;
                                }
                            }
                        }
Bellow add:
Code:
                        if (CurrentNPC == 105016)
                        {
                            if (Control == 1)
                            {
                                MyChar.Teleport(1040, 595, 383);  
                            }
                        }
                        if (CurrentNPC == 105005 || CurrentNPC == 105006 || CurrentNPC == 105007 || CurrentNPC == 105008 || CurrentNPC == 105009)
                        {
                            uint skyrnd = (uint)General.Rand.Next(3);
                            
                            if (Control == 1)
                            {
                                if (skyrnd == 1)
                                    MyChar.Teleport(1040, 543, 330);
                                else
                                    MyChar.Teleport(1040, 368, 588);
                            }
                            if (Control == 2)
                            {
                                if (skyrnd == 1)
                                    MyChar.Teleport(1040, 492, 280);
                                else
                                    MyChar.Teleport(1040, 320, 540);
                            }
                            if (Control == 3)
                            {
                                if (skyrnd == 1)
                                    MyChar.Teleport(1040, 436, 224);
                                else
                                    MyChar.Teleport(1040, 272, 492);
                            }
                            if (Control == 4)
                            {
                                if (skyrnd == 1)
                                    MyChar.Teleport(1040, 393, 181);
                                else
                                    MyChar.Teleport(1040, 224, 444);
                            }
                            if (Control == 5)
                            {
                                if (skyrnd == 1)
                                    MyChar.Teleport(1040, 141, 240);
                                else
                                    MyChar.Teleport(1040, 176, 396);
                            }
                            if (Control == 6)
                            {                                
                                    MyChar.Teleport(1002, 429,378);
                            }
                        }
                        if (CurrentNPC == 105010 || CurrentNPC == 105011 || CurrentNPC == 105012 || CurrentNPC == 105013 || CurrentNPC == 105014)
                        {

                            if (Control == 1)
                            {
                                MyChar.RemoveItem(MyChar.ItemNext(721100));
                                MyChar.Teleport(1040, 595, 383);
                            }
                            if (Control == 2)
                            {
                                MyChar.RemoveItem(MyChar.ItemNext(721101));
                                MyChar.Teleport(1040, 543, 330);
                            }
                            if (Control == 3)
                            {
                                MyChar.RemoveItem(MyChar.ItemNext(721102));
                                MyChar.Teleport(1040, 492, 280);
                            }

                            if (Control == 4)
                            {
                                MyChar.RemoveItem(MyChar.ItemNext(721103));
                                MyChar.Teleport(1040, 436, 224);
                            }
                            if (Control == 5)
                            {
                                MyChar.RemoveItem(MyChar.ItemNext(721108));
                                MyChar.Teleport(1040, 393,181);
                            }
                        }
                        if (CurrentNPC == 105015)
                        {
                            if (Control == 1)
                            {
                                if (MyChar.ItemsInInventory < 37)
                                {
                                    MyChar.AddItem("720027-0-0-0-0-0", 0, (uint)General.Rand.Next(36457836));
                                    MyChar.AddItem("720027-0-0-0-0-0", 0, (uint)General.Rand.Next(36457836));
                                    MyChar.AddItem("720027-0-0-0-0-0", 0, (uint)General.Rand.Next(36457836));
                                    MyChar.AddItem("720027-0-0-0-0-0", 0, (uint)General.Rand.Next(36457836));
                                    MyChar.Teleport(1002, 429, 378);
                                }
                                else
                                {
                                    SendPacket(General.MyPackets.NPCSay("You dont have enough free space in invectory"));
                                    SendPacket(General.MyPackets.NPCLink("My bad", 255));
                                    SendPacket(General.MyPackets.NPCSetFace(30));
                                    SendPacket(General.MyPackets.NPCFinish());
                                }
                            }
                            if (Control == 2)
                            {
                                ushort skyrnd = (ushort)General.Rand.Next(2);
                                if (skyrnd==1)
                                {
                                    if (MyChar.ItemsInInventory < 31)
                                    {
                                        MyChar.AddItem("720027-0-0-0-0-0", 0, (uint)General.Rand.Next(36457836));
                                        MyChar.AddItem("720027-0-0-0-0-0", 0, (uint)General.Rand.Next(36457836));
                                        MyChar.AddItem("720027-0-0-0-0-0", 0, (uint)General.Rand.Next(36457836));
                                        MyChar.AddItem("720027-0-0-0-0-0", 0, (uint)General.Rand.Next(36457836));
                                        MyChar.AddItem("720027-0-0-0-0-0", 0, (uint)General.Rand.Next(36457836));
                                        MyChar.AddItem("720027-0-0-0-0-0", 0, (uint)General.Rand.Next(36457836));
                                        MyChar.AddItem("720027-0-0-0-0-0", 0, (uint)General.Rand.Next(36457836));
                                        MyChar.AddItem("720027-0-0-0-0-0", 0, (uint)General.Rand.Next(36457836));
                                        MyChar.AddItem("720027-0-0-0-0-0", 0, (uint)General.Rand.Next(36457836));
                                        MyChar.AddItem("720027-0-0-0-0-0", 0, (uint)General.Rand.Next(36457836));
                                        MyChar.Teleport(1002, 429, 378);
                                    }
                                    else
                                    {
                                        SendPacket(General.MyPackets.NPCSay("You dont have enough free space in invectory"));
                                        SendPacket(General.MyPackets.NPCLink("My bad", 255));
                                        SendPacket(General.MyPackets.NPCSetFace(30));
                                        SendPacket(General.MyPackets.NPCFinish());
                                    }
                                }
                                else
                                    MyChar.Teleport(1002, 429, 378);
                            }
                        }
Now in phpmyadmin press SQL and run that query:
Quote:
INSERT INTO `mobs` VALUES ('41', '105', 'SkyRockMonster', '7358', '77', '0', '550', '650', '0');
INSERT INTO `mobs` VALUES ('42', '205', 'SkyHawk', '15432', '92', '0', '800', '1000', '0');
INSERT INTO `mobs` VALUES ('43', '201', 'SkyBandit', '20697', '97', '0', '1000', '1200', '0');
INSERT INTO `mobs` VALUES ('44', '117', 'SkyBull', '27309', '112', '0', '1300', '1800', '0');
INSERT INTO `mobs` VALUES ('45', '197', 'SkyDevil', '45000', '117', '0', '1800', '2300', '0');
INSERT INTO `mobspawns` VALUES (219, 41, 5, 362, 587, 374, 589, 1040);
INSERT INTO `mobspawns` VALUES (220, 42, 5, 315, 540, 325, 541, 1040);
INSERT INTO `mobspawns` VALUES (221, 43, 5, 267, 492, 277, 493, 1040);
INSERT INTO `mobspawns` VALUES (222, 44, 5, 220, 444, 229, 445, 1040);
INSERT INTO `mobspawns` VALUES (223, 45, 5, 172, 396, 180, 397, 1040);
INSERT INTO `npcs` VALUES (105010, 7019, 'Skyguard', 2, 2, 371, 579, 1040, 0);
INSERT INTO `npcs` VALUES (105011, 7019, 'SkyGuard', 2, 2, 323, 531, 1040, 0);
INSERT INTO `npcs` VALUES (105012, 7019, 'SkyGuard', 2, 2, 275, 483, 1040, 0);
INSERT INTO `npcs` VALUES (105013, 7019, 'SkyGuard', 2, 2, 227, 435, 1040, 0);
INSERT INTO `npcs` VALUES (105014, 7019, 'SkyGuard', 2, 2, 179, 387, 1040, 0);
INSERT INTO `npcs` VALUES (105015, 7107, 'GodCloud', 2, 2, 84, 186, 1040, 0);
INSERT INTO `npcs` VALUES (105016, 7097, 'Daniel', 2, 2, 166, 155, 1012, 0);
INSERT INTO `npcs` VALUES (105009, 7037, 'SkyPass', 2, 2, 386, 174, 1040, 0);
INSERT INTO `npcs` VALUES (105006, 7037, 'SkyPass', 2, 2, 536, 323, 1040, 0);
INSERT INTO `npcs` VALUES (105005, 7037, 'Skypass', 2, 2, 589, 377, 1040, 0);
INSERT INTO `npcs` VALUES (105008, 7037, 'SkyPass', 2, 2, 430, 218, 1040, 0);
INSERT INTO `npcs` VALUES (105007, 7037, 'SkyPass', 2, 2, 486, 274, 1040, 0);
Thats all enjoy
10/19/2008 20:00 XxArcherMasterxX#2
Nice work:D +thanks;)
10/19/2008 20:59 _Emme_#3
This was actually nicely done,maybe epvp is about to get a new good coder?:P
Anyways,hope so.

Add my msn, intresed in your knowledge of coding :P [Only registered and activated users can see links. Click Here To Register...]
10/19/2008 21:20 bisiol#4
Quote:
Originally Posted by emildayan1 View Post
This was actually nicely done,maybe epvp is about to get a new good coder?:P
Anyways,hope so.

Add my msn, intresed in your knowledge of coding :P [Only registered and activated users can see links. Click Here To Register...]
Thanks, i added You
10/19/2008 21:33 µ~Xero~µ#5
Great release^^
10/19/2008 21:53 Exia13#6
Nice
10/20/2008 05:44 taguro#7
Agreed, nicely done.