عرض مشاركة واحدة
احصائياتى

الردود
9

المشاهدات
3747
 
Hassan Emprator

Hassan Emprator is on a distinguished road

    غير متواجد

المشاركات
1,372

+التقييم
0.64

تاريخ التسجيل
Apr 2019

الاقامة

نظام التشغيل

رقم العضوية
30
2019-10-23, 05:23 PM
المشاركة 1 
#1  
Happy لاول مره علي الانترنت كوست TowerOfMystery
بسم الله و الصلاة و السلام علي رسول الله

موضوعنا النهرده سهل و بسيط و هوه اضافة كوست TowerOfMystery لعشاق السيرفرات الصعبه

اول حاجه
Npc.cs


كود:
 #region TowerOfMystery 
                    
case 4020
                        { 
                            switch (
client.ActiveNpc
                            { 
                                
#region FieryDragon 
                                
case 19166
                                    { 
                                        switch (
npcRequest.OptionID
                                        { 
                                            case 
0
                                                { 
                                                    
dialog.Text("Have you been to the Fiery Dragon region? The land was home to the Bright Tribe."); 
                                                    
dialog.Text("~I wonder what it looks like now."); 

                                                    
dialog.Option("Send~me~to~Fiery~Dragon."1); 
                                                    
dialog.Option("You`ll~return~home~soon."255); 
                                                    
dialog.Send(); 
                                                    break; 
                                                } 
                                            case 
1
                                                { 
                                                    
Data datapacket = new Data(true); 
                                                    
datapacket.UID client.Entity.UID
                                                    
datapacket.ID 162
                                                    
datapacket.dwParam 4020
                                                    
datapacket.Facing = (Game.Enums.ConquerAngle)client.Entity.Facing
                                                    
datapacket.wParam1 73
                                                    
datapacket.wParam2 98
                                                    
client.Send(datapacket); 
                                                    break; 
                                                } 
                                        } 
                                        break; 
                                    } 
                                
#endregion 
                                #region Conductress 
                                
case 19231
                                    { 
                                        switch (
npcRequest.OptionID
                                        { 
                                            case 
0
                                                { 
                                                    
dialog.Text("Where do you want to go? I may be able to help you."); 

                                                    
dialog.Option("Twin~City."1); 
                                                    
dialog.Option("Market."2); 
                                                    
dialog.Option("Nothing."255); 
                                                    
dialog.Send(); 
                                                    break; 
                                                } 
                                            case 
1
                                                
client.Entity.Teleport(1002252234); 
                                                break; 
                                            case 
2
                                                
client.Entity.Teleport(1036254152); 
                                                break; 
                                        } 
                                        break; 
                                    } 
                                
#endregion 
                                #region TowerKeeper 
                                
case 19127
                                    { 
                                        switch (
npcRequest.OptionID
                                        { 
                                            case 
0
                                                { 
                                                    if (
client.Entity.TOM == 0
                                                    { 
                                                        
dialog.Text("You must be here to challenge the Tower of Mystery. Since the tower is extremely dangerous, I suggest you to"); 
                                                        
dialog.Text("~make adequate preparations, and team up with your friends for the challenge. If you`re ready, I`ll lead you into the Mystery."); 
                                                        
dialog.Text("You can unlock Elite mode after completing all floors of the tower at Common mode."); 

                                                        
dialog.Option("Start~the~challenge.~(Common)"1); 
                                                        
dialog.Option("Could~you~tell~me~more~details?"2); 
                                                        
dialog.Option("I`ll~talk~to~you~later."255); 
                                                        
dialog.Send(); 
                                                    } 
                                                    else 
                                                    { 
                                                        
dialog.Text("You can challenge any floor of the tower every day, but you can only claim the reward up to 3 times in a day."); 
                                                        
dialog.Text("    Today`s challenge mode: Common"); 
                                                        
dialog.Text("    Remaining challenge chances: " client.Entity.TOMRC ""); 
                                                        if (
client.Entity.TOM == 1
                                                            
dialog.Option("Continue~to~challenge~1F."101); 
                                                        if (
client.Entity.TOM == 2
                                                            
dialog.Option("Continue~to~challenge~2F."102); 
                                                        if (
client.Entity.TOM == 3
                                                            
dialog.Option("Continue~to~challenge~3F."103); 
                                                        if (
client.Entity.TOM == 4
                                                            
dialog.Option("Continue~to~challenge~4F."104); 
                                                        if (
client.Entity.TOM == 5
                                                            
dialog.Option("Continue~to~challenge~5F."105); 
                                                        if (
client.Entity.TOM == 6
                                                            
dialog.Option("Continue~to~challenge~6F."106); 
                                                        if (
client.Entity.TOM == 7
                                                            
dialog.Option("Continue~to~challenge~7F."107); 
                                                        if (
client.Entity.TOM == 8
                                                            
dialog.Option("Continue~to~challenge~8F."108); 
                                                        if (
client.Entity.TOM == 9
                                                            
dialog.Option("Continue~to~challenge~9F."109); 
                                                        
dialog.Option("Choose~a~floor~to~challenge."200); 
                                                        
dialog.Option("I`ll~talk~to~you~later."255); 
                                                        
dialog.Send(); 



                                                    } 
                                                    break; 
                                                } 
                                            case 
200
                                                { 
                                                    
dialog.Text("Which floor of the tower would you like to challenge now?"); 
                                                    if (
client.Entity.TOM >= 1
                                                        
dialog.Option("Floor~1."201); 
                                                    if (
client.Entity.TOM >= 2
                                                        
dialog.Option("Floor~2."202); 
                                                    if (
client.Entity.TOM >= 3
                                                        
dialog.Option("Floor~3."203); 
                                                    if (
client.Entity.TOM >= 4
                                                        
dialog.Option("Floor~4."204); 
                                                    if (
client.Entity.TOM >= 5
                                                        
dialog.Option("Floor~5."205); 
                                                    if (
client.Entity.TOM >= 6
                                                        
dialog.Option("Floor~6."206); 
                                                    if (
client.Entity.TOM >= 7
                                                        
dialog.Option("Floor~7."207); 
                                                    if (
client.Entity.TOM >= 8
                                                        
dialog.Option("Floor~8."208); 
                                                    if (
client.Entity.TOM >= 9
                                                        
dialog.Option("Floor~9."209); 
                                                    
dialog.Option("Let~me~think~about~it."255); 
                                                    
dialog.Send(); 
                                                    break; 
                                                } 
                                            case 
201
                                            case 
202
                                            case 
203
                                            case 
204
                                            case 
205
                                            case 
206
                                            case 
207
                                            case 
208
                                            case 
209
                                                { 
                                                    
dialog.Text("Okay, you`ve selected a floor. If you want to challenge this floor in person,"); 
                                                    
dialog.Text("~I`ll send you there. While if you want to enable `Sweep` function,"); 
                                                    
dialog.Text("~you can directly get the reward without challenging it in person. So, what do you say?"); 

                                                    
dialog.Option("Challenge~it~in~person.", (byte)(npcRequest.OptionID 10)); 
                                                    
dialog.Option("Enable~`Sweep`.", (byte)(npcRequest.OptionID 20)); 
                                                    
dialog.Option("I~need~to~think~about~it."255); 
                                                    
dialog.Send(); 
                                                    break; 
                                                } 
                                            case 
221
                                            case 
222
                                            case 
223
                                            case 
224
                                            case 
225
                                            case 
226
                                            case 
227
                                            case 
228
                                            case 
229
                                                { 
                                                    if (
client.Entity.TOMQ == || client.Entity.TOMQ == 255
                                                        
client.Entity.TOMQ = (byte)Kernel.Random.Next(16); 
                                                    
dialog.Text("                       Bright Tribe`s Reward         "); 
                                                    if (
client.Entity.TOMQ == 1
                                                    { 
                                                        
dialog.Text("                    **************************************"); 
                                                        
dialog.Text("                                            <tip color=0xffffffff desc=Item#Reward:#a#Blazing#CP#Fragment,#30-min#EXP#Pack>Normal</tip>"); 
                                                        
dialog.Text("                                            <tip color=0xffffffff desc=Item#Reward:#a#Blazing#CP#Fragment,#30-min#EXP#Pack>1-Star</tip>"); 
                                                        
dialog.Text("                    **************************************"); 
                                                    } 
                                                    if (
client.Entity.TOMQ == 2
                                                    { 
                                                        
dialog.Text("                    **************************************"); 
                                                        
dialog.Text("                                            <tip color=0xff5d86c9 desc=Item#Reward:#a#Blazing#CP#Fragment,#60-min#EXP#Pack>Refined</tip>"); 
                                                        
dialog.Text("                                            <tip color=0xff5d86c9 desc=Item#Reward:#a#Blazing#CP#Fragment,#60-min#EXP#Pack>2-PerfectionLevel</tip>"); 
                                                        
dialog.Text("                    **************************************"); 
                                                    } 
                                                    if (
client.Entity.TOMQ == 3
                                                    { 
                                                        
dialog.Text("                    **************************************"); 
                                                        
dialog.Text("                                            <tip color=0xff00fa00 desc=Item#Reward:#a#Blazing#CP#Fragment,#90-min#EXP#Pack,#a#Super#Protection#Pill>Unique</tip>"); 
                                                        
dialog.Text("                                            <tip color=0xff00fa00 desc=Item#Reward:#a#Blazing#CP#Fragment,#90-min#EXP#Pack,#a#Super#Protection#Pill>3-PerfectionLevel</tip>"); 
                                                        
dialog.Text("                    **************************************"); 
                                                    } 
                                                    if (
client.Entity.TOMQ == 4
                                                    { 
                                                        
dialog.Text("                    **************************************"); 
                                                        
dialog.Text("                                            <tip color=0xffc501e7 desc=Item#Reward:#a#Blazing#CP#Fragment,#120-min#EXP#Pack,#2#Super#Protection#Pills>Elite</tip>"); 
                                                        
dialog.Text("                                            <tip color=0xffc501e7 desc=Item#Reward:#a#Blazing#CP#Fragment,#120-min#EXP#Pack,#2#Super#Protection#Pills>4-PerfectionLevel</tip>"); 
                                                        
dialog.Text("                    **************************************"); 

                                                    } 
                                                    if (
client.Entity.TOMQ >= 5
                                                    { 
                                                        
dialog.Text("                    **************************************"); 
                                                        
dialog.Text("                                            <tip color=0xffffae00 desc=Item#Reward:#a#Blazing#CP#Fragment,#180-min#EXP#Pack,#3#Super#Protection#Pills>Super</tip>"); 
                                                        
dialog.Text("                                            <tip color=0xffffae00 desc=Item#Reward:#a#Blazing#CP#Fragment,#180-min#EXP#Pack,#3#Super#Protection#Pills>5-PerfectionLevel</tip>"); 
                                                        
dialog.Text("                    **************************************"); 

                                                    } 

                                                    
dialog.Option("Refresh~reward.~(1~CP)"245); 
                                                    
dialog.Option("Enable~`Sweep`.~(5~CPs)"246); 
                                                    
dialog.Option("Refresh~reward.~(25~Study~Pts)"247); 
                                                    
dialog.Option("`Sweep`.~(1~MetorScrolls)"248); 
                                                    
dialog.Option("I`ll~think~about~it."255); 
                                                    
dialog.Send(); 
                                                    break; 
                                                } 
                                            case 
246
                                                { 
                                                    if (
client.Entity.ConquerPoints >= 5
                                                    { 
                                                        
client.Entity.ConquerPoints -= 5
                                                        
client.Inventory.Add(300872701); 
                                                        if (
client.Entity.TOMQ == 1
                                                        { 
                                                            
client.Inventory.AddTime(300895624 60 60); 
                                                            
dialog.Text("    You received a Blazing CP Fragment, 30-min EXP Pack!"); 
                                                        } 
                                                        if (
client.Entity.TOMQ == 2
                                                        { 
                                                            
client.Inventory.AddTime(300895724 60 60); 
                                                            
dialog.Text("    You received a Blazing CP Fragment, 60-min EXP Pack!"); 
                                                        } 
                                                        if (
client.Entity.TOMQ == 3
                                                        { 
                                                            
client.Inventory.Add(300203001); 
                                                            
client.Inventory.AddTime(300895824 60 60); 
                                                            
dialog.Text("    You received a Blazing CP Fragment, 90-min EXP Pack, 1 Super Protection Pills!"); 
                                                        } 
                                                        if (
client.Entity.TOMQ == 4
                                                        { 
                                                            
client.Inventory.Add(300203002); 
                                                            
client.Inventory.AddTime(300895924 60 60); 
                                                            
dialog.Text("    You received a Blazing CP Fragment, 120-min EXP Pack, 2 Super Protection Pills!"); 
                                                        } 
                                                        if (
client.Entity.TOMQ >= 5
                                                        { 
                                                            
client.Inventory.Add(300203003); 
                                                            
client.Inventory.AddTime(300896224 60 60); 
                                                            
dialog.Text("    You received a Blazing CP Fragment, 180-min EXP Pack, 3 Super Protection Pills!"); 
                                                        } 
                                                        
dialog.Option("Thanks."255); 
                                                        
dialog.Send(); 
                                                        
client.Entity.TOMRC--; 
                                                    } 
                                                    else 
                                                    { 
                                                        
dialog.Text("You don't have enough Conquer Points!"); 

                                                        
dialog.Option("Sorry!"255); 
                                                        
dialog.Send(); 
                                                    } 
                                                    break; 
                                                } 
                                            case 
245
                                                { 
                                                    if (
client.Entity.ConquerPoints >= 1
                                                    { 
                                                        
client.Entity.ConquerPoints -= 1
                                                        
client.Entity.TOMQ = (byte)Kernel.Random.Next(15); 
                                                        
dialog.Text("                       Bright Tribe`s Reward         "); 
                                                        if (
client.Entity.TOMQ == 1
                                                        { 
                                                            
dialog.Text("                    **************************************"); 
                                                            
dialog.Text("                                            <tip color=0xffffffff desc=Item#Reward:#a#Blazing#CP#Fragment,#30-min#EXP#Pack>Normal</tip>"); 
                                                            
dialog.Text("                                            <tip color=0xffffffff desc=Item#Reward:#a#Blazing#CP#Fragment,#30-min#EXP#Pack>1-Star</tip>"); 
                                                            
dialog.Text("                    **************************************"); 
                                                        } 
                                                        if (
client.Entity.TOMQ == 2
                                                        { 
                                                            
dialog.Text("                    **************************************"); 
                                                            
dialog.Text("                                            <tip color=0xff5d86c9 desc=Item#Reward:#a#Blazing#CP#Fragment,#60-min#EXP#Pack>Refined</tip>"); 
                                                            
dialog.Text("                                            <tip color=0xff5d86c9 desc=Item#Reward:#a#Blazing#CP#Fragment,#60-min#EXP#Pack>2-PerfectionLevel</tip>"); 
                                                            
dialog.Text("                    **************************************"); 
                                                        } 
                                                        if (
client.Entity.TOMQ == 3
                                                        { 
                                                            
dialog.Text("                    **************************************"); 
                                                            
dialog.Text("                                            <tip color=0xff00fa00 desc=Item#Reward:#a#Blazing#CP#Fragment,#90-min#EXP#Pack,#a#Super#Protection#Pill>Unique</tip>"); 
                                                            
dialog.Text("                                            <tip color=0xff00fa00 desc=Item#Reward:#a#Blazing#CP#Fragment,#90-min#EXP#Pack,#a#Super#Protection#Pill>3-PerfectionLevel</tip>"); 
                                                            
dialog.Text("                    **************************************"); 
                                                        } 
                                                        if (
client.Entity.TOMQ == 4
                                                        { 
                                                            
dialog.Text("                    **************************************"); 
                                                            
dialog.Text("                                            <tip color=0xffc501e7 desc=Item#Reward:#a#Blazing#CP#Fragment,#120-min#EXP#Pack,#2#Super#Protection#Pills>Elite</tip>"); 
                                                            
dialog.Text("                                            <tip color=0xffc501e7 desc=Item#Reward:#a#Blazing#CP#Fragment,#120-min#EXP#Pack,#2#Super#Protection#Pills>4-PerfectionLevel</tip>"); 
                                                            
dialog.Text("                    **************************************"); 

                                                        } 
                                                        if (
client.Entity.TOMQ >= 5
                                                        { 
                                                            
dialog.Text("                    **************************************"); 
                                                            
dialog.Text("                                            <tip color=0xffffae00 desc=Item#Reward:#a#Blazing#CP#Fragment,#180-min#EXP#Pack,#3#Super#Protection#Pills>Super</tip>"); 
                                                            
dialog.Text("                                            <tip color=0xffffae00 desc=Item#Reward:#a#Blazing#CP#Fragment,#180-min#EXP#Pack,#3#Super#Protection#Pills>5-PerfectionLevel</tip>"); 
                                                            
dialog.Text("                    **************************************"); 

                                                        } 

                                                        
dialog.Option("Refresh~reward.~(1~CP)"225); 
                                                        
dialog.Option("Enable~`Sweep`.~(5~CPs)"246); 
                                                        
dialog.Option("Refresh~reward.~(25~Study~Pts)"227); 
                                                        
dialog.Option("`Sweep`.~(1~MetorScrolls)"248); 
                                                        
dialog.Option("I`ll~think~about~it."255); 
                                                        
dialog.Send(); 
                                                    } 
                                                    else 
                                                    { 
                                                        
dialog.Text("You don't have enough Conquer Points!"); 

                                                        
dialog.Option("Sorry!"255); 
                                                        
dialog.Send(); 
                                                    } 
                                                    break; 
                                                } 

                                            case 
248
                                                { 
                                                    if (
client.Inventory.Contains(7200275)) 
                                                    { 
                                                        
client.Entity.TOMRC--; 
                                                        
client.Inventory.Remove(7200275); 
                                                        
client.Inventory.Add(300872701); 
                                                        if (
client.Entity.TOMQ == 1
                                                        { 
                                                            
client.Inventory.AddTime(300895624 60 60); 
                                                            
dialog.Text("    You received a Blazing CP Fragment, 30-min EXP Pack!"); 
                                                        } 
                                                        if (
client.Entity.TOMQ == 2
                                                        { 
                                                            
client.Inventory.AddTime(300895724 60 60); 
                                                            
dialog.Text("    You received a Blazing CP Fragment, 60-min EXP Pack!"); 
                                                        } 
                                                        if (
client.Entity.TOMQ == 3
                                                        { 
                                                            
client.Inventory.Add(300203001); 
                                                            
client.Inventory.AddTime(300895824 60 60); 
                                                            
dialog.Text("    You received a Blazing CP Fragment, 90-min EXP Pack, 1 Super Protection Pills!"); 
                                                        } 
                                                        if (
client.Entity.TOMQ == 4
                                                        { 
                                                            
client.Inventory.Add(300203002); 
                                                            
client.Inventory.AddTime(300895924 60 60); 
                                                            
dialog.Text("    You received a Blazing CP Fragment, 120-min EXP Pack, 2 Super Protection Pills!"); 
                                                        } 
                                                        if (
client.Entity.TOMQ >= 5
                                                        { 
                                                            
client.Inventory.Add(300203003); 
                                                            
client.Inventory.AddTime(300896224 60 60); 
                                                            
dialog.Text("    You received a Blazing CP Fragment, 180-min EXP Pack, 3 Super Protection Pills!"); 
                                                        } 
                                                        
dialog.Option("Thanks."255); 
                                                        
dialog.Send(); 
                                                    } 
                                                    else 
                                                    { 
                                                        
dialog.Text("You don't have enough Meteor Scrolls!"); 

                                                        
dialog.Option("Sorry!"255); 
                                                        
dialog.Send(); 
                                                    } 
                                                    break; 
                                                } 
                                            case 
247
                                                { 
                                                    if (
client.Entity.SubClasses.StudyPoints >= 25
                                                    { 
                                                        
client.Entity.SubClasses.StudyPoints -= 25
                                                        
client.Entity.TOMQ = (byte)Kernel.Random.Next(15); 
                                                        
dialog.Text("                       Bright Tribe`s Reward         "); 
                                                        if (
client.Entity.TOMQ == 1
                                                        { 
                                                            
dialog.Text("                    **************************************"); 
                                                            
dialog.Text("                                            <tip color=0xffffffff desc=Item#Reward:#a#Blazing#CP#Fragment,#30-min#EXP#Pack>Normal</tip>"); 
                                                            
dialog.Text("                                            <tip color=0xffffffff desc=Item#Reward:#a#Blazing#CP#Fragment,#30-min#EXP#Pack>1-Star</tip>"); 
                                                            
dialog.Text("                    **************************************"); 
                                                        } 
                                                        if (
client.Entity.TOMQ == 2
                                                        { 
                                                            
dialog.Text("                    **************************************"); 
                                                            
dialog.Text("                                            <tip color=0xff5d86c9 desc=Item#Reward:#a#Blazing#CP#Fragment,#60-min#EXP#Pack>Refined</tip>"); 
                                                            
dialog.Text("                                            <tip color=0xff5d86c9 desc=Item#Reward:#a#Blazing#CP#Fragment,#60-min#EXP#Pack>2-PerfectionLevel</tip>"); 
                                                            
dialog.Text("                    **************************************"); 
                                                        } 
                                                        if (
client.Entity.TOMQ == 3
                                                        { 
                                                            
dialog.Text("                    **************************************"); 
                                                            
dialog.Text("                                            <tip color=0xff00fa00 desc=Item#Reward:#a#Blazing#CP#Fragment,#90-min#EXP#Pack,#a#Super#Protection#Pill>Unique</tip>"); 
                                                            
dialog.Text("                                            <tip color=0xff00fa00 desc=Item#Reward:#a#Blazing#CP#Fragment,#90-min#EXP#Pack,#a#Super#Protection#Pill>3-PerfectionLevel</tip>"); 
                                                            
dialog.Text("                    **************************************"); 
                                                        } 
                                                        if (
client.Entity.TOMQ == 4
                                                        { 
                                                            
dialog.Text("                    **************************************"); 
                                                            
dialog.Text("                                            <tip color=0xffc501e7 desc=Item#Reward:#a#Blazing#CP#Fragment,#120-min#EXP#Pack,#2#Super#Protection#Pills>Elite</tip>"); 
                                                            
dialog.Text("                                            <tip color=0xffc501e7 desc=Item#Reward:#a#Blazing#CP#Fragment,#120-min#EXP#Pack,#2#Super#Protection#Pills>4-PerfectionLevel</tip>"); 
                                                            
dialog.Text("                    **************************************"); 

                                                        } 
                                                        if (
client.Entity.TOMQ >= 5
                                                        { 
                                                            
dialog.Text("                    **************************************"); 
                                                            
dialog.Text("                                            <tip color=0xffffae00 desc=Item#Reward:#a#Blazing#CP#Fragment,#180-min#EXP#Pack,#3#Super#Protection#Pills>Super</tip>"); 
                                                            
dialog.Text("                                            <tip color=0xffffae00 desc=Item#Reward:#a#Blazing#CP#Fragment,#180-min#EXP#Pack,#3#Super#Protection#Pills>5-PerfectionLevel</tip>"); 
                                                            
dialog.Text("                    **************************************"); 

                                                        } 

                                                        
dialog.Option("Refresh~reward.~(1~CP)"225); 
                                                        
dialog.Option("Enable~`Sweep`.~(5~CPs)"226); 
                                                        
dialog.Option("Refresh~reward.~(25~Study~Pts)"227); 
                                                        
dialog.Option("`Sweep`.~(1~MetorScrolls)"228); 
                                                        
dialog.Option("I`ll~think~about~it."255); 
                                                        
dialog.Send(); 
                                                    } 
                                                    else 
                                                    { 
                                                        
dialog.Text("You don't have enough Study Points!"); 

                                                        
dialog.Option("Sorry!"255); 
                                                        
dialog.Send(); 
                                                    } 
                                                    break; 
                                                } 
                                            case 
211
                                            case 
212
                                            case 
213
                                            case 
214
                                            case 
215
                                            case 
216
                                            case 
217
                                            case 
218
                                            case 
219
                                                { 
                                                    
client.Entity.InTOM true
                                                    var 
DM Kernel.Maps[4000].MakeDynamicMap(); 
                                                    
INpc npc = new Network.GamePackets.NpcSpawn(); 
                                                    if ((
npcRequest.OptionID 210) == 1
                                                    { 
                                                        
npc.UID 56550
                                                        
npc.Mesh 40460
                                                        
npc.Name "GreatPheasant"
                                                        
client.Send(new Message("You`ve already arrived (Common) in Tower of Mystery 1F where an aggressive devil, GreatPheasant(Common), was sealed. Be careful! "Color.RedMessage.System)); 
                                                    } 
                                                    if ((
npcRequest.OptionID 210) == 2
                                                    { 
                                                        
npc.UID 56551
                                                        
npc.Mesh 40470
                                                        
npc.Name "WingedLord"
                                                        
client.Send(new Message("You`ve already arrived (Common) in Tower of Mystery 2F where an aggressive devil, WingedLord(Common), was sealed. Be careful! "Color.RedMessage.System)); 
                                                    } 
                                                    if ((
npcRequest.OptionID 210) == 3
                                                    { 
                                                        
npc.UID 56552
                                                        
npc.Mesh 40480
                                                        
npc.Name "WaterTerror"
                                                        
client.Send(new Message("You`ve already arrived (Common) in Tower of Mystery 3F where an aggressive devil, WaterTerror(Common), was sealed. Be careful! "Color.RedMessage.System)); 
                                                    } 
                                                    if ((
npcRequest.OptionID 210) == 4
                                                    { 
                                                        
npc.UID 56553
                                                        
npc.Mesh 40490
                                                        
npc.Name "RuthlessAsura"
                                                        
client.Send(new Message("You`ve already arrived (Common) in Tower of Mystery 4F where an aggressive devil, RuthlessAsura(Common), was sealed. Be careful! "Color.RedMessage.System)); 
                                                    } 
                                                    if ((
npcRequest.OptionID 210) == 5
                                                    { 
                                                        
npc.UID 56554
                                                        
npc.Mesh 40500
                                                        
npc.Name "SoulStrangler"
                                                        
client.Send(new Message("You`ve already arrived (Common) in Tower of Mystery 5F where an aggressive devil, SoulStrangler(Common), was sealed. Be careful! "Color.RedMessage.System)); 
                                                    } 
                                                    if ((
npcRequest.OptionID 210) == 6
                                                    { 
                                                        
npc.UID 56555
                                                        
npc.Mesh 40510
                                                        
npc.Name "InfernalGlutton"
                                                        
client.Send(new Message("You`ve already arrived (Common) in Tower of Mystery 6F where an aggressive devil, InfernalGlutton(Common), was sealed. Be careful! "Color.RedMessage.System)); 
                                                    } 
                                                    if ((
npcRequest.OptionID 210) == 7
                                                    { 
                                                        
npc.UID 56556
                                                        
npc.Mesh 40520
                                                        
npc.Name "AlienDragon"
                                                        
client.Send(new Message("You`ve already arrived (Common) in Tower of Mystery 7F where an aggressive devil, AlienDragon(Common), was sealed. Be careful! "Color.RedMessage.System)); 
                                                    } 
                                                    if ((
npcRequest.OptionID 210) == 8
                                                    { 
                                                        
npc.UID 56557
                                                        
npc.Mesh 40530
                                                        
npc.Name "ShadowSpider"
                                                        
client.Send(new Message("You`ve already arrived (Common) in Tower of Mystery 8F where an aggressive devil, ShadowSpider(Common), was sealed. Be careful! "Color.RedMessage.System)); 
                                                    } 
                                                    if ((
npcRequest.OptionID 210) == 9
                                                    { 
                                                        
npc.UID 56558
                                                        
npc.Mesh 40540
                                                        
npc.Name "FlameGiant"
                                                        
client.Send(new Message("You`ve already arrived (Common) in Tower of Mystery 9F where an aggressive devil, FlameGiant(Common), was sealed. Be careful! "Color.RedMessage.System)); 
                                                    } 
                                                    if (
client.Entity.TOM 9) break; 
                                                    
npc.Type = (Enums.NpcType)2
                                                    
npc.66
                                                    
npc.66
                                                    
npc.MapID DM.ID
                                                    
DM.AddNpc(npc); 
                                                    
client.Entity.TOMM DM

                                                    
client.Entity.Teleport(DM.ID, (ushort)Kernel.Random.Next(4979), (ushort)Kernel.Random.Next(4979)); 

                                                    break; 
                                                } 
                                            case 
2
                                                { 
                                                    
dialog.Text("There is no limit on the number of times you can challenge the tower, but only 3 chances to claim the reward every day."); 
                                                    
dialog.Text("~Alternatively, you can use CPs or Meteor Scrolls to start `sweeping` and directly get the reward. If you create a team"); 
                                                    
dialog.Text("~to challenge the tower at Elite mode, you can also claim a Concerted Effort Pack from the Cloud Sweeper after completing it."); 

                                                    
dialog.Option("Start~the~challenge."1); 
                                                    
dialog.Option("I`ll~talk~to~you~later."255); 
                                                    
dialog.Send(); 
                                                    break; 
                                                } 
                                            case 
101
                                            case 
102
                                            case 
103
                                            case 
104
                                            case 
105
                                            case 
106
                                            case 
107
                                            case 
108
                                            case 
109
                                            case 
1
                                                { 

                                                    if (
client.Entity.TOM == 0
                                                        
client.Entity.TOM 1
                                                    
client.Entity.InTOM true
                                                    var 
DM Kernel.Maps[4000].MakeDynamicMap(); 
                                                    
INpc npc = new Network.GamePackets.NpcSpawn(); 
                                                    if (
client.Entity.TOM == 1
                                                    { 
                                                        
npc.UID 56550
                                                        
npc.Mesh 40460
                                                        
npc.Name "GreatPheasant"
                                                        
client.Send(new Message("You`ve already arrived (Common) in Tower of Mystery 1F where an aggressive devil, GreatPheasant(Common), was sealed. Be careful! "Color.RedMessage.System)); 

                                                    } 
                                                    if (
client.Entity.TOM == 2
                                                    { 
                                                        
npc.UID 56551
                                                        
npc.Mesh 40470
                                                        
npc.Name "WingedLord"
                                                        
client.Send(new Message("You`ve already arrived (Common) in Tower of Mystery 2F where an aggressive devil, WingedLord(Common), was sealed. Be careful! "Color.RedMessage.System)); 
                                                    } 
                                                    if (
client.Entity.TOM == 3
                                                    { 
                                                        
npc.UID 56552
                                                        
npc.Mesh 40480
                                                        
npc.Name "WaterTerror"
                                                        
client.Send(new Message("You`ve already arrived (Common) in Tower of Mystery 3F where an aggressive devil, WaterTerror(Common), was sealed. Be careful! "Color.RedMessage.System)); 
                                                    } 
                                                    if (
client.Entity.TOM == 4
                                                    { 
                                                        
npc.UID 56553
                                                        
npc.Mesh 40490
                                                        
npc.Name "RuthlessAsura"
                                                        
client.Send(new Message("You`ve already arrived (Common) in Tower of Mystery 4F where an aggressive devil, RuthlessAsura(Common), was sealed. Be careful! "Color.RedMessage.System)); 
                                                    } 
                                                    if (
client.Entity.TOM == 5
                                                    { 
                                                        
npc.UID 56554
                                                        
npc.Mesh 40500
                                                        
npc.Name "SoulStrangler"
                                                        
client.Send(new Message("You`ve already arrived (Common) in Tower of Mystery 5F where an aggressive devil, SoulStrangler(Common), was sealed. Be careful! "Color.RedMessage.System)); 
                                                    } 
                                                    if (
client.Entity.TOM == 6
                                                    { 
                                                        
npc.UID 56555
                                                        
npc.Mesh 40510
                                                        
npc.Name "InfernalGlutton"
                                                        
client.Send(new Message("You`ve already arrived (Common) in Tower of Mystery 6F where an aggressive devil, InfernalGlutton(Common), was sealed. Be careful! "Color.RedMessage.System)); 
                                                    } 
                                                    if (
client.Entity.TOM == 7
                                                    { 
                                                        
npc.UID 56556
                                                        
npc.Mesh 40520
                                                        
npc.Name "AlienDragon"
                                                        
client.Send(new Message("You`ve already arrived (Common) in Tower of Mystery 7F where an aggressive devil, AlienDragon(Common), was sealed. Be careful! "Color.RedMessage.System)); 
                                                    } 
                                                    if (
client.Entity.TOM == 8
                                                    { 
                                                        
npc.UID 56557
                                                        
npc.Mesh 40530
                                                        
npc.Name "ShadowSpider"
                                                        
client.Send(new Message("You`ve already arrived (Common) in Tower of Mystery 8F where an aggressive devil, ShadowSpider(Common), was sealed. Be careful! "Color.RedMessage.System)); 
                                                    } 
                                                    if (
client.Entity.TOM == 9
                                                    { 
                                                        
npc.UID 56558
                                                        
npc.Mesh 40540
                                                        
npc.Name "FlameGiant"
                                                        
client.Send(new Message("You`ve already arrived (Common) in Tower of Mystery 9F where an aggressive devil, FlameGiant(Common), was sealed. Be careful! "Color.RedMessage.System)); 
                                                    } 
                                                    if (
client.Entity.TOM 9) break; 
                                                    
npc.Type = (Enums.NpcType)2
                                                    
npc.66
                                                    
npc.66
                                                    
npc.MapID DM.ID
                                                    
DM.AddNpc(npc); 
                                                    
client.Entity.TOMM DM
                                                    
client.Entity.Teleport(DM.ID, (ushort)Kernel.Random.Next(4979), (ushort)Kernel.Random.Next(4979)); 

                                                    break; 
                                                } 
                                        } 
                                        break; 
                                    } 
                                
#endregion 
                                #region CloudSweeper 
                                
case 19128
                                    { 
                                        switch (
npcRequest.OptionID
                                        { 
                                            case 
0
                                                { 
                                                    
dialog.Text("Every day, when you team up with at least one friend, and conquer the Tower of Mystery at any challenge mode,"); 
                                                    
dialog.Text("~you can claim a reward from me."); 

                                                    
dialog.Option("Claim~my~team~reward."1); 
                                                    
dialog.Option("I~see."255); 
                                                    
dialog.Send(); 
                                                    break; 
                                                } 
                                            case 
1
                                                { 
                                                    
dialog.Text("To claim a reward from me, you need to team up with your friends and conquere the Tower of Mystery."); 

                                                    
dialog.Option("I~see."255); 
                                                    
dialog.Send(); 
                                                    break; 
                                                } 
                                        } 
                                        break; 
                                    } 
                                
#endregion 
                            

                            break; 
                        } 
                    
#endregion  
#region HeavenlyMaster 
                    
case 8233
                        { 
                            
dialog.Avatar(67); 
                            switch (
npcRequest.OptionID
                            { 
                                case 
0
                                    { 
                                        if (
client.Quests.GetQuest(QuestID.TowerOfMystery) == null || client.Quests.CheckQuest(QuestID.TowerOfMystery) == QuestPacket.QuestData.QuestStatus.Available
                                            
client.Quests.Accept(QuestID.TowerOfMystery); 
                                        
dialog.Text("Every day when you successfully challenged the Tower of Mystery, you can claim"); dialog.Text("~a Chi Token, 200 Champion Points, 3 Exorcism Tokens and 100 Study Points from me."); 

                                        
dialog.Option("Take~me~to~the~tower."1); 
                                        if (!
client.Entity.DidTOM
                                            
dialog.Option("Claim~my~rewards."2); 
                                        
dialog.Option("Exchange~for~Exorcism~Pack."6); 
                                        
dialog.Option("I`ll~talk~to~you~later."255); 
                                        break; 
                                    } 
                                case 
1
                                    { 
                                        
client.Entity.Teleport(40208373); 
                                        break; 
                                    } 
                                case 
6
                                    { 
                                        
dialog.Text("You can exchange 3 Exorcism Tokens for an Exorcism Pack, or 9 Exorcism Tokens for a Golden Exorcism Pack."); 
                                        
dialog.Text("~Which pack would you like to exchange for?"); 

                                        
dialog.Option("Exorcism~Pack."8); 
                                        
dialog.Option("Golden~Exorcism~Pack."9); 
                                        
dialog.Option("I`ll~think~about~it."255); 
                                        
dialog.Send(); 
                                        break; 
                                    } 
                                case 
8
                                    { 
                                        if (
client.Inventory.Contains(7112113)) 
                                        { 
                                            
client.Inventory.Remove(7112113); 
                                            
client.Inventory.Add(72094801); 
                                        } 
                                        else 
                                        { 
                                            
dialog.Text("Stop kidding me! You don`t have 3 Exorcism Tokens to exchange for an Exorcism Pack."); 
                                            
dialog.Text("~No bargain here."); 

                                            
dialog.Option("Sorry,~I~forgot."255); 
                                            
dialog.Send(); 
                                        } 
                                        break; 
                                    } 
                                case 
9
                                    { 
                                        if (
client.Inventory.Contains(7112119)) 
                                        { 
                                            
client.Inventory.Remove(7112119); 
                                            
client.Inventory.Add(72959401); 
                                        } 
                                        else 
                                        { 
                                            
dialog.Text("Stop kidding me! You don`t have 9 Exorcism Tokens to exchange for an Exorcism Pack."); 
                                            
dialog.Text("~No bargain here."); 

                                            
dialog.Option("Sorry,~I~forgot."255); 
                                            
dialog.Send(); 
                                        } 
                                        break; 
                                    } 
                                case 
2
                                    { 
                                        if (
client.Quests.GetQuest(QuestID.TowerOfMystery).Kills >= 1
                                        { 
                                            
client.Quests.FinishQuest(QuestID.TowerOfMystery); 
                                            
client.Entity.ThirllingSpook true
                                            
client.Entity.ChampionPoints += 200
                                            
client.Inventory.Add(71121103); 
                                            
client.Inventory.Add(72930401); 
                                            
client.Entity.DidTOM true
                                            
client.Entity.SubClasses.StudyPoints += 100
                                        } 
                                        else 
                                        { 
                                            
dialog.Text("You haven`t completed the challenge of the Tower of Mystery, and you can`t claim"); 
                                            
dialog.Text("~the rewards, otherwise you would like to pay 27 CPs or a Mystery Amulet."); 

                                            
dialog.Option("Pay~27~CPs~for~reward."5); 
                                            
dialog.Option("I~haven`t~decided,~yet!"255); 
                                            
dialog.Send(); 
                                        } 
                                        break; 
                                    } 
                                case 
5
                                    { 
                                        if (
client.Entity.ConquerPoints >= 27
                                        { 
                                            
client.Quests.FinishQuest(QuestID.TowerOfMystery); 
                                            
client.Entity.ThirllingSpook true
                                            
client.Entity.ChampionPoints += 200
                                            
client.Inventory.Add(71121103); 
                                            
client.Inventory.Add(72930401); 
                                            
client.Entity.DidTOM true
                                            
client.Entity.ConquerPoints -= 27
                                            
client.Entity.SubClasses.StudyPoints += 100
                                        } 
                                        break; 
                                    } 

                            } 
                            break; 
                        } 
                    
#endregion 

بعد كده هندخل علي
MonesterTable.cs

هتروح ل Drop او تبحث علي اسم اي وحش و تحط ده تحته

كود:
#region TowerofMystery 
            
if (Name.Contains("GreatPheasant") || Name.Contains("WingedLord") || Name.Contains("WaterTerror") || Name.Contains("RuthlessAsura") || Name.Contains("FlameGiant") || Name.Contains("SoulStrangler") || Name.Contains("DarkGlutton") || Name.Contains("AlienDragon") || Name.Contains("ShadowSpider")) 
            { 
                if (
killer.Owner.Quests.GetQuest(QuestID.TowerOfMystery) == null || killer.Owner.Quests.CheckQuest(QuestID.TowerOfMystery) == QuestPacket.QuestData.QuestStatus.Available
                    
killer.Owner.Quests.Accept(QuestID.TowerOfMystery); 
                
killer.Owner.Quests.DoneTowerMystery(); 
                
killer.Owner.MessageBox("You`ve successfully defeated the devil on Tower of Mystery " killer.TOM "F. Hurry and go claim the Bright Tribe`s reward for you."); 
                
_String str = new _String(true); 
                
str.TextsCount 1
                
str.UID killer.UID
                
str.Type 10
                
str.Texts.Add("zf2-281"); 
                
killer.Owner.SendScreen(strtrue); 
                
Romyo.Interfaces.INpc npc = new Network.GamePackets.NpcSpawn(); 
                
npc.UID 200028
                
npc.Mesh 40150
                
npc.Name "BrightTribe`s"
                
npc.Type = (Game.Enums.NpcType)2
                
npc.66
                
npc.66
                
npc.MapID killer.MapID
                
killer.TOMM.AddNpc(npc); 
                foreach (var 
client in Kernel.GamePool.Values
                { 
                    if (
client.Entity.MapID != killer.MapID) continue; 
                    
client.Screen.Reload(null); 
                } 
                
_String str2 = new _String(true); 
                
str2.TextsCount 1
                
str2.npc.X
                
str2.npc.Y
                
str2.Type 9
                
str2.Texts.Add("zf2-280"); 
                
killer.Owner.SendScreen(str2true); 
            } 
            
#endregion 

خلصنا يله بينا ع باكت هندلر PacketHandler.cs
سيرش

كود:
public static void PlayerJump(Data generalDataGameClient client

و ارمي دول جواه بس براحه عشان ميتكسروش XD

كود:
if (Kernel.GetDistance(client.Entity.Xclient.Entity.Y7398) < && client.Entity.MapID == 4020)//TOWEROFMYSTERY 
            

                
client.Entity.Teleport(399890352); 
            } 
            if (
Kernel.GetDistance(client.Entity.Xclient.Entity.Y4066) <= && client.Entity.InTOM || Kernel.GetDistance(client.Entity.Xclient.Entity.Y4644) <= && client.Entity.InTOM)//TOWEROFMYSTERY 
            

                
client.MessageBox("Do you want to leave the Tower of Mystery?"
                    
=> { p.Entity.Teleport(40208474); }); 
            } 
            if (
client.Entity.OnCheckGuard
            { 
                
client.Entity.OnCheckGuard false
                
client.MessageBox("Unable~to~check!"nullnull0); 
                
client.Entity.CheckGuardSec 0
            } 
            if (!
client.Entity.OnCyclone() && !client.Entity.ContainsFlag(Update.Flags.Ride) && !client.Entity.OnOblivion() && !client.Entity.OnSuperman() && !client.Entity.ContainsFlag3(Update.Flags3.DragonCyclone) && !client.Entity.OnSuperCyclone() && !client.Entity.Transformed
            { 
                
AntiSpeedHack.Process(clientTime64.Now); 
            }   
            if (
client.Team == null
            { 
                if (
client.Entity.SpookMap != null && client.Entity.MapID == client.Entity.SpookMap.ID && Kernel.GetDistance(client.Entity.Xclient.Entity.Y3624) < 25
                { 
                    ((
INpc)new NpcSpawn 
                    

                        
UID 8798
                        
Mesh 7610
                        
Type Enums.NpcType.Talker
                        
36
                        
24
                        
MapID client.Entity.MapID 
                    
}).SendSpawn(client); 

                    ((
INpc)new NpcSpawn 
                    

                        
UID 8308
                        
Mesh 2507
                        
Type Enums.NpcType.Talker
                        
25
                        
30
                        
MapID client.Entity.MapID 
                    
}).SendSpawn(client); 
                } 
            } 
            else 
            { 
                if (
client.Team.SpookMap != null && client.Entity.MapID == client.Team.SpookMap.ID && Kernel.GetDistance(client.Entity.Xclient.Entity.Y3624) < 25
                { 
                    ((
INpc)new NpcSpawn 
                    

                        
UID 8798
                        
Mesh 7610
                        
Type Enums.NpcType.Talker
                        
36
                        
24
                        
MapID client.Entity.MapID 
                    
}).SendSpawn(client); 

                    ((
INpc)new NpcSpawn 
                    

                        
UID 8308
                        
Mesh 2507
                        
Type Enums.NpcType.Talker
                        
25
                        
30
                        
MapID client.Entity.MapID 
                    
}).SendSpawn(client); 
                } 
            } 

بعد كده دور علي

كود:
public enum QuestID uint 

حط جواه

كود:
TowerOfMystery 6126

بعد كده
Entity.cs

ارمي دول جواها

كود:
public bool DidTOM false
        public 
bool DidBrightFortune false

public 
Map TOMM
  public 
bool ClaimedTOM false
        public 
bool InTOM false
        public 
byte TOM 0
        public 
byte TOMRC 3
        public 
byte TOMQ 255


انتظروا الكوستات مفجاه