عرض مشاركة واحدة
قديم 2020-03-20, 05:51 AM
المشاركة 2
Hassan Emprator
.:: عضو خبير ::.
  • غير متواجد
افتراضي رد: مشكله فى الان بى سى دا ي جدعان عاوز حلها ضرور
غير الانبي سي دا بي الي معاك وجرب هتلاقيه اشتغل انشاء الله وهتحدد لاسيبي من هنا برضو

كود:
#region Chi Npc
                
case 4444:
                    {
                        
dialog.Avatar(218);
                        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 Chi Seller.");
                                    for (
int i 0client.ChiPowers.Counti++)
                                    {
                                        var 
stage client.ChiPowers[i];
                                        
dialog.Option(((Game.Enums.ChiPowerType)(1)).ToString(), (byte)(1));
                                    }
                                    
dialog.Option("I'll think about it!"255);
                                    
dialog.Send();
                                    break;
                                }
                            default:
                                {
                                    
int mStage npcRequest.OptionID;
                                    if (
mStage >= && mStage <= 4)
                                    {
                                        
client.Entity.SelectedStage mStage;
                                        
dialog.Text("You Choose " + ((Game.Enums.ChiPowerType)mStage).ToString() + " stage. please select Attribute you want to change ");
                                        for (
int i 04i++)
                                        {
                                            
dialog.Option("Attribute [" + (byte)(1) + "]", (byte)(4));
                                        }
                                        
dialog.Option("Back"0);
                                        
dialog.Option("I'll think about it!"255);
                                        
dialog.Send();
                                        break;
                                    }
                                    else if (
mStage >= && mStage <= 8)
                                    {
                                        try
                                        {
                                            
client.Entity.SelectedAttribute mStage 4;
                                            var 
mychiattribute = new List<Enums.ChiAttribute>();
                                            var 
powers client.ChiPowers[(int)client.Entity.SelectedStage 1];
                                            for (
int i 0powers.Attributes.Lengthi++)
                                            {
                                                if (
client.Entity.ConquerPoints >= 1)
                                                {
                                                    
client.Entity.ConquerPoints -= 1;//

                                                    
var Attribute powers.Attributes[i];
                                                    
mychiattribute.Add(Attribute.Type);
                                                }
                                                else
                                                {
                                                    
dialog.Text("Anta Yasta msh Ma3ak 1 cps ");
                                                }
                                            }
                                            
dialog.Text("You Choose Attribute [" client.Entity.SelectedAttribute "] please select AttributeType you want to change ");
                                            for (
int i 0< (int)Enums.ChiAttribute.MagicDamageDecreasei++)
                                            {
                                                var 
type = ((Enums.ChiAttribute)(1));
                                                if (!
mychiattribute.Contains(type))
                                                    
dialog.Option(type.ToString(), (byte)(((1) * 10)));
                                            }
                                            
dialog.Option("Back", (byte)client.Entity.SelectedStage);
                                            
dialog.Option("I'll think about it!"255);
                                            
dialog.Send();
                                        }
                                        catch
                                        {
                                        }
                                        break;
                                    }
                                    else
                                    {

                                        var 
typex mStage 10;

                                        var 
Mode client.Entity.SelectedStage;
                                        var 
pos client.Entity.SelectedAttribute 1;
                                        var 
powers client.ChiPowers[Mode 1];
                                        var 
attributes powers.Attributes;
                                        foreach (var 
attr in attributes)
                                        {

                                            if (
attr.Type == (Enums.ChiAttribute)typex)
                                            {
                                                
client.MessageBox("Sorry you can't muliplay stats"nullnull);
                                                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.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 }, pClientGenericRanking.Chi + (uint)ModepClient.ChiData.SelectRank((Enums.ChiPowerType)Mode), pClient.ChiData.SelectPoints((Enums.ChiPowerType)Mode));
                                                if (
pClient.Entity.UID == client.Entity.UID || pClient.ChiData.SelectRank((Enums.ChiPowerType)Mode) < 50)
                                                    
pClient.LoadItemStats();
                                            }
                                        }
                                        
#endregion
                                        
Database.ChiTable.Save(client);
                                    }
                                    break;
                                }
                        }
                        break;
                    }
                
#endregion