عرض مشاركة واحدة
قديم 2019-07-04, 09:15 PM
المشاركة #7  
Tefa
تاريخ الإنضمام : Jul 2019
رقم العضوية : 358
المشاركات: 2,515
  • غير متواجد
افتراضي رد: ازاي ادي اي حد باند مؤقت هنااا لو سمحتو
ان بي سي الجيانج


كود:
 #region Jiang Npc
                    
case 88854:
                        {
                            switch (
npcRequest.OptionID)
                            {
                                case 
0:
                                    {
                                        if (
client.Player.MyJiang == null)
                                        {
                                            
dialog.Text("Sorry But You Don't Have Jiang Yet.");
                                            
dialog.Option("I'll think about it!", 255);
                                            
dialog.Send();
                                            return;
                                        }
                                        
dialog.Text("Hello Messi Jiang Seller.");
                                        for (
int i = 0; i < client.Player.MyJiang.Stagers.Length; i++)
                                        {
                                            var 
stage = client.Player.MyJiang.Stagers[i];
                                            if (
stage.Activate)
                                                
dialog.Option("Stage [" + (byte)(i + 1) + "]", (byte)(i + 1));

                                        }
                                        
dialog.Option("I'll think about it!", 255);
                                        
dialog.Send();
                                        break;
                                    }
                                default:
                                    {
                                        
int mStage = npcRequest.OptionID;
                                        if (
mStage >= 1 && mStage <= 9)
                                        {
                                            foreach (var 
item in Database.JiangHu.CultivateStatus[(byte)mStage])
                                            {
                                                
dialog.Option(((Game.JiangHu.JiangStages.AtributesType)item).ToString(), (byte)((item * 10) + mStage));
                                            }

                                        }
                                        else
                                        {
                                            if (
client.Player.ConquerPoints < 10)
                                            {
                                                
dialog.Text("Sorry But You Don't Have 1 cps ");
                                                
dialog.Option("I'll think about it!", 255);
                                                
dialog.Send();
                                                return;
                                            }
                                            
client.Player.ConquerPoints -= 10;
                                            
client.Player.Teleport(1002, 300, 278);
                                            var 
typex = mStage / 10;
                                            
mStage = mStage % 10;
                                            
byte stageno = (byte)Math.Min(9, mStage);
                                            
byte level = 6;
                                            var 
type = (Game.JiangHu.JiangStages.AtributesType)Math.Min(15, typex);
                                            if (
client.Player.MyJiang.Stagers.Length >= stageno)
                                            {
                                                var 
stage = client.Player.MyJiang.Stagers[(stageno - 1)];
                                                for (
byte i = 1; i < stage.Stars.Length + 1; i++)
                                                {
                                                    
client.Player.MyJiang.MyNewStart = new Game.JiangHu.GetNewStar();
                                                    
client.Player.MyJiang.MyNewStart.PositionStar = i;
                                                    
client.Player.MyJiang.MyNewStart.Stage = stageno;
                                                    
client.Player.MyJiang.MyNewStart.Star = new Game.JiangHu.JiangStages.Star();
                                                    
client.Player.MyJiang.MyNewStart.Star.Activate = true;
                                                    
client.Player.MyJiang.MyNewStart.Star.Level = level;
                                                    
client.Player.MyJiang.MyNewStart.Star.Typ = type;
                                                    
client.Player.MyJiang.MyNewStart.Star.UID = client.Player.MyJiang.ValueToRoll(client.Player.MyJiang.MyNewStart.Star.Typ, client.Player.MyJiang.MyNewStart.Star.Level);
                                                    
Network.GamePackets.JiangHuUpdate upd = new Network.GamePackets.JiangHuUpdate();
                                                    
upd.Atribute = client.Player.MyJiang.MyNewStart.Star.UID;
                                                    
upd.FreeCourse = client.Player.MyJiang.FreeCourse;
                                                    
upd.Stage = stageno;
                                                    
upd.Star = i;
                                                    
upd.FreeTimeTodeyUsed = (byte)client.Player.MyJiang.FreeTimeTodeyUsed;
                                                    
upd.RoundBuyPoints = client.Player.MyJiang.RoundBuyPoints;
                                                    
client.Send(upd.ToArray());
                                                    
client.Player.MyJiang.ApplayNewStar(client);
                                                }
                                                if (
client.Player.MyJiang != null)
                                                    
client.Player.MyJiang.SendStatus(client, client);
                                            }

                                        }
                                        break;
                                    }
                            }
                            break;
                        }
                    
#endregion
ان بي سي التشي 

 
#region Chi Npc
                    
case 4444:
                        {
                            switch (
npcRequest.OptionID)
                            {
                                case 
0:
                                    {
                                        if (
client.ChiPowers.Count == 0)
                                        {
                                            
dialog.Text("Sorry But You Don't Have chi Yet.");
                                            
dialog.Option("I'll think about it!", 255);
                                            
dialog.Send();
                                            return;
                                        }
                                        
dialog.Text("Hello I'M Mr.online Chi Seller.");
                                        for (
int i = 0; i < client.ChiPowers.Count; i++)
                                        {
                                            var 
stage = client.ChiPowers[i];
                                            
dialog.Option(((Game.Enums.ChiPowerType)(i + 1)).ToString(), (byte)(i + 1));
                                        }
                                        
dialog.Option("I'll think about it!", 255);
                                        
dialog.Send();
                                        break;
                                    }
                                default:
                                    {
                                        
int mStage = npcRequest.OptionID;
                                        if (
mStage >= 1 && mStage <= 4)
                                        {
                                            
client.Player.SelectedStage = mStage;
                                            
dialog.Text("You Choose " + ((Game.Enums.ChiPowerType)mStage).ToString() + " stage. please select Attribute you want to change ");
                                            for (
int i = 0; i < 4; i++)
                                            {
                                                
dialog.Option("Attribute [" + (byte)(i + 1) + "]", (byte)(i + 1 + 4));
                                            }
                                            
dialog.Option("Back", 0);
                                            
dialog.Option("I'll think about it!", 255);
                                            
dialog.Send();
                                            break;
                                        }
                                        else if (
mStage >= 4 && mStage <= 8)
                                        {
                                            
client.Player.SelectedAttribute = mStage - 4;
                                            var 
mychiattribute = new List<Enums.ChiAttribute>();
                                            var 
powers = client.ChiPowers[(int)client.Player.SelectedStage - 1];
                                            for (
int i = 0; i < powers.Attributes.Length; i++)
                                            {
                                                var 
Attribute = powers.Attributes[i];
                                                
mychiattribute.Add(Attribute.Type);
                                            }
                                            
dialog.Text("You Choose Attribute [" + client.Player.SelectedAttribute + "] please select AttributeType you want to change ");
                                            for (
int i = 0; i < (int)Enums.ChiAttribute.MagicDamageDecrease; i++)
                                            {
                                                var 
type = ((Enums.ChiAttribute)(i + 1));
                                                if (!
mychiattribute.Contains(type))
                                                    
dialog.Option(type.ToString(), (byte)(((i + 1) * 10)));
                                            }
                                            
dialog.Option("Back", (byte)client.Player.SelectedStage);
                                            
dialog.Option("I'll think about it!", 255);
                                            
dialog.Send();
                                            break;
                                        }
                                        else
                                        {
                                            if (
client.Player.ConquerPoints <= 1)
                                            {
                                                
dialog.Text("Sorry But You Don't Have 1 cps ");
                                                
dialog.Option("I'll think about it!", 255);
                                                
dialog.Send();
                                                return;
                                            }

                                            var 
typex = mStage / 10;
                                            var 
Mode = client.Player.SelectedStage;
                                            var 
pos = client.Player.SelectedAttribute - 1;
                                            var 
powers = client.ChiPowers[Mode - 1];
                                            var 
attributes = powers.Attributes;
                                            foreach (var 
attr in attributes)
                                            {
                                                if (
attr == null) continue;
                                                if (
attr.Type == (Enums.ChiAttribute)typex)
                                                {
                                                    
client.MessageBox("Sorry you can't muliplay stats", null, null);
                                                    return;
                                                }
                                            }
                                            
attributes[pos].Type = (Enums.ChiAttribute)typex;
                                            
attributes[pos].Value = (ushort)Game.Enums.ChiMaxValues(attributes[pos].Type);
                                            
powers.CalculatePoints();
                                            
Database.ChiTable.Sort((Enums.ChiPowerType)Mode);
                                            
powers.Power = (Enums.ChiPowerType)Mode;
                                            
client.Player.ConquerPoints -= 1;
                                            
client.Player.Teleport(1002, 300, 278);
                                            
client.Send(new ChiPowers(true).Query(client));
                                            
#region update ranking
                                            
Database.ChiTable.ChiData[] array = null;
                                            switch ((
Enums.ChiPowerType)Mode)
                                            {
                                                case 
Game.Enums.ChiPowerType.Dragon:
                                                    array = 
Database.ChiTable.Dragon;
                                                    break;
                                                case 
Game.Enums.ChiPowerType.Phoenix:
                                                    array = 
Database.ChiTable.Phoenix;
                                                    break;
                                                case 
Game.Enums.ChiPowerType.Tiger:
                                                    array = 
Database.ChiTable.Tiger;
                                                    break;
                                                case 
Game.Enums.ChiPowerType.Turtle:
                                                    array = 
Database.ChiTable.Turtle;
                                                    break;
                                            }
                                            foreach (var 
chiData in array)
                                            {
                                                if (
Kernel.GamePool.ContainsKey(chiData.UID))
                                                {
                                                    var 
pClient = Kernel.GamePool[chiData.UID];
                                                    if (
pClient == null) continue;
                                                    if (
pClient.ChiData == null) continue;
                                                    
// make it public instead of private 
                                                    
PacketHandler.SendRankingQuery(new GenericRanking(true) { Mode = GenericRanking.QueryCount }, pClient, GenericRanking.Chi + (uint)Mode, pClient.ChiData.SelectRank((Enums.ChiPowerType)Mode), pClient.ChiData.SelectPoints((Enums.ChiPowerType)Mode));
                                                    if (
pClient.Player.UID == client.Player.UID || pClient.ChiData.SelectRank((Enums.ChiPowerType)Mode) < 50)
                                                        
pClient.LoadItemStats();
                                                }
                                            }
                                            
#endregion
                                            
Database.ChiTable.Save(client);
                                        }
                                        break;
                                    }
                            }
                            break;
                        }
                    
#endregion