اسم العضو كلمة المرور حفظ البيانات؟




TQ-Host اعلن معنا


  ايجى4يو || Egy4u > أقسام كونكر برفيت > مشــاكل وطلـــبات كــونــكر





الموضوع مغلق

المشاركات: 23 [+]
المخالفات: [+]
مجموع الاوسمة: [+]
flashmylove متواجد حالياً
flashmylove
( ( عضو جديد ) )
مشكله في الصول 7 حجات ببتحول سول 7 لوحدها
: 06-12-2017 فى تمام الساعة 01:58 AM| المشاركة رقم: 1| من قسم: مشــاكل وطلـــبات كــونــكر

الشكله باينه من العنوان و ارجو الحل من الناس المحترمه
سعات عندي في السرفر بلاقي تور فيه سول بوت
او جرمنت اخحول سول
او لالكسيسورس بتتحول سول حجات زي كده و عايز الحل لو سمحت
ده مش هكر هي الحاجه لوحدها بتبقا كده
و دي صوره و شكرا
عزيزى العضو \ الزائر لايمكنك مشاهده الروابط الا بعد الرد

المشاركات: 181 [+]
المخالفات: [+]
مجموع الاوسمة: [+]
M.Almasri متواجد حالياً
M.Almasri
( مؤسس المنتدى )
رد: مشكله في الصول 7 حجات ببتحول سول 7 لوحدها
موعد كتابة الموضوع: 06-12-2017 فى تمام الساعة 02:08 AM| رقم المشاركة: 2| من قسم: مشــاكل وطلـــبات كــونــكر

الاول قبل مااقولك الحل حضرتك نضفت القاعده كويس +مسحت اكواد اى ثغره موجوده فى السورس ؟؟

المشاركات: 23 [+]
المخالفات: [+]
مجموع الاوسمة: [+]
flashmylove متواجد حالياً
flashmylove
( ( عضو جديد ) )
رد: مشكله في الصول 7 حجات ببتحول سول 7 لوحدها
موعد كتابة الموضوع: 06-12-2017 فى تمام الساعة 03:43 AM| رقم المشاركة: 3| من قسم: مشــاكل وطلـــبات كــونــكر

اقتباس:
المشاركة الأصلية كتبت بواسطة m.almasri عزيزى العضو \ الزائر لايمكنك مشاهده الروابط الا بعد الرد
الاول قبل مااقولك الحل حضرتك نضفت القاعده كويس +مسحت اكواد اى ثغره موجوده فى السورس ؟؟
الورس انا صعبتو كان سهل و ومفهوش حاجه + مسحت اللي انا عارفو من القاعده يعني الانتيتز و ال نوبلتي و الاميلات و الايتمز و الجايلد
فياريت تقولي ايه اللي المفروض امسحو و هعمل مقارنه و اشوف لو فيه حاجه ممسحتهاش امسحها

المشاركات: 23 [+]
المخالفات: [+]
مجموع الاوسمة: [+]
flashmylove متواجد حالياً
flashmylove
( ( عضو جديد ) )
رد: مشكله في الصول 7 حجات ببتحول سول 7 لوحدها
موعد كتابة الموضوع: 06-12-2017 فى تمام الساعة 04:01 AM| رقم المشاركة: 4| من قسم: مشــاكل وطلـــبات كــونــكر

اقتباس:
المشاركة الأصلية كتبت بواسطة flashmylove عزيزى العضو \ الزائر لايمكنك مشاهده الروابط الا بعد الرد
الورس انا صعبتو كان سهل و ومفهوش حاجه + مسحت اللي انا عارفو من القاعده يعني الانتيتز و ال نوبلتي و الاميلات و الايتمز و الجايلد
فياريت تقولي ايه اللي المفروض امسحو و هعمل مقارنه و اشوف لو فيه حاجه ممسحتهاش امسحها
و لو القاعده تمام يعني ماسح كل اللي فيها صح عايز اعرف العيب ممكن يكون منين ؟

المشاركات: 3 [+]
المخالفات: [+]
مجموع الاوسمة: [+]
MaZ00Ri متواجد حالياً
MaZ00Ri
( ( عضو جديد ) )
رد: مشكله في الصول 7 حجات ببتحول سول 7 لوحدها
موعد كتابة الموضوع: 06-12-2017 فى تمام الساعة 05:32 AM| رقم المشاركة: 5| من قسم: مشــاكل وطلـــبات كــونــكر

حضرتك هتخش النافى كات ونضف الـ Table's دي اعملها Empty

كود PHP:

itemadding

items
claimitems
detaineditems 
وبعد كده اتاكد ان الـ Load ده موجود فى كلاس Program.cs

كود PHP:

Database.ConquerItemTable.ClearNulledItems(); 

لو مش موجود ضيفو وخش كلاس ConquerItemTable.cs

وابحث عن الفويد ده

كود PHP:

public static void ClearNulledItems() 

لو موجود بدلو بـ ده ولو مش موجود ضيفو تحت اى فويد

كود PHP:

        public static void ClearNulledItems()

        {
            
Dictionary<uintintdict = new Dictionary<uintint>();
            
using (var = new MySqlCommand(MySqlCommandType.SELECT).Select("detaineditems"))
            
using (var c.CreateReader())
                while (
r.Read())
                    
dict[r.ReadUInt32("ItemUID")] = 0;
            
//cmd.Where("UID", r.ReadUInt32("ItemUID"));

            
using (var = new MySqlCommand(MySqlCommandType.SELECT).Select("claimitems"))
            
using (var c.CreateReader())
                while (
r.Read())
                    
dict[r.ReadUInt32("ItemUID")] = 0;
            
//cmd.Where("UID", r.ReadUInt32("ItemUID"));
            
var array = dict.Keys.ToArray();
            foreach (var 
item in array)
                
using (var cmd = new MySqlCommand(MySqlCommandType.UPDATE).Update("items")
                    .
Set("entityid"1).Where("entityid"0).And("uid"item))
                    
cmd.Execute();

            
using (var cmd = new MySqlCommand(MySqlCommandType.DELETE).Delete("items""entityid"0))
                
cmd.Execute();
            
Console.WriteLine("Cleared items with EntityID = 0");
        } 
وسيف واعمل Rebuild وجرب وان شاء الله تتحل

ملحوظة : اتاكد ان القونصول بيكتب السطر ده لما بتفتح السيرفر وهو بيعمل لود

كود PHP:

Cleared items with EntityID 
بالتوفيق ,

المشاركات: 23 [+]
المخالفات: [+]
مجموع الاوسمة: [+]
flashmylove متواجد حالياً
flashmylove
( ( عضو جديد ) )
رد: مشكله في الصول 7 حجات ببتحول سول 7 لوحدها
موعد كتابة الموضوع: 06-12-2017 فى تمام الساعة 06:26 AM| رقم المشاركة: 6| من قسم: مشــاكل وطلـــبات كــونــكر

اقتباس:
المشاركة الأصلية كتبت بواسطة MaZ00Ri عزيزى العضو \ الزائر لايمكنك مشاهده الروابط الا بعد الرد
حضرتك هتخش النافى كات ونضف الـ Table's دي اعملها Empty
كود PHP:

itemadding

items
claimitems
detaineditems 
وبعد كده اتاكد ان الـ Load ده موجود فى كلاس Program.cs
كود PHP:

Database.ConquerItemTable.ClearNulledItems(); 

لو مش موجود ضيفو وخش كلاس ConquerItemTable.cs
وابحث عن الفويد ده
كود PHP:

public static void ClearNulledItems() 

لو موجود بدلو بـ ده ولو مش موجود ضيفو تحت اى فويد
كود PHP:

public static void ClearNulledItems()

{
Dictionary<uintintdict = new Dictionary<uintint>();
using (var = new MySqlCommand(MySqlCommandType.SELECT).Select("detaineditems"))
using (var c.CreateReader())
while (
r.Read())
dict[r.ReadUInt32("ItemUID")] = 0;
//cmd.Where("UID", r.ReadUInt32("ItemUID"));
using (var = new MySqlCommand(MySqlCommandType.SELECT).Select("claimitems"))
using (var c.CreateReader())
while (
r.Read())
dict[r.ReadUInt32("ItemUID")] = 0;
//cmd.Where("UID", r.ReadUInt32("ItemUID"));
var array = dict.Keys.ToArray();
foreach (var 
item in array)
using (var cmd = new MySqlCommand(MySqlCommandType.UPDATE).Update("items")
.
Set("entityid"1).Where("entityid"0).And("uid"item))
cmd.Execute();
using (var cmd = new MySqlCommand(MySqlCommandType.DELETE).Delete("items""entityid"0))
cmd.Execute();
Console.WriteLine("Cleared items with EntityID = 0");

وسيف واعمل Rebuild وجرب وان شاء الله تتحل
ملحوظة : اتاكد ان القونصول بيكتب السطر ده لما بتفتح السيرفر وهو بيعمل لود
كود PHP:

Cleared items with EntityID 
بالتوفيق ,
#تم الحل + شكرا
في مشكله في البرفكشن عايز اعلي تمنو من ال CP boost لو ينفع تساعدني و ده الكود بتاع البرفكشن.سي اس
كود PHP:

using COServer.Network.GamePackets;

using System.Collections.Generic;
using System.IO;
using System.Linq;
using COServer.Client;
using System;
using COServer.Database;

namespace 
COServer
{
    public static class 
PrefExtensions
    
{
        public static 
TSource FindMax<TSource>(this IEnumerable<TSourcesourceSystem.Func<TSourceobjectselector)
        {
            
object currentObject null;
            foreach (var 
obj in source)
            {
                var 
value selector(obj);
                if (
currentObject == null || System.Convert.ToInt64(value) >= System.Convert.ToInt64(selector((TSource)System.Convert.ChangeType(currentObjecttypeof(TSource)))))
                    
currentObject obj;
            }
            return (
TSource)System.Convert.ChangeType(currentObjecttypeof(TSource));
        }
        public static 
IEnumerable<TSourceFindMax<TSource>(this IEnumerable<TSourcesourceSystem.Func<TSourceobjectselectorint countint skipCount 0)
        {
            if (
count >= source.Count())
                return 
source.OrderByDescending(selector);

            return 
source.Skip(skipCount).Take(count).OrderByDescending(selector);
        }
        public static 
int Value(this System.Enum myEnum)
        {
            return (int)
System.Convert.ChangeType(myEnummyEnum.GetTypeCode());
        }
    }
    public 
enum AbilitiesSort
    
{
        
Jiang 1,
        
Chi 2,
        
InnerPower 3,
        
Enchant 4,
        
Level 5,
        
PerfectionLevel 6,
        
Attributes 7,
        
Rebirth 8,
        
Quality 9,
        
Sockets 10,
        
GemQuality 11,
        
Plus 12,
        
SoulPhase 13,
        
MaterialPhase 14,
        
Protection 15,
        
SubClass 16,
        
Garments 17,
        
MountArmors 18,
        
NobilityRank 19,
        
ItemLevel 20,
    }
    public class 
PerfectionManager
    
{
        public static 
Dictionary<AbilitiesSort, List<AbilityScore>> AbilitiesScore = new Dictionary<AbilitiesSort, List<AbilityScore>>();
        public static 
Dictionary<intRefineEffectItemsRefineEffects = new Dictionary<intRefineEffect>();
        public static 
Dictionary<intRefineAttributeItemsRefineAttributes = new Dictionary<intRefineAttribute>();
        public static 
AbilityScore GetAbilityScore(AbilitiesSort abilitySortint score)
        {
            var 
abilityScores AbilitiesScore[abilitySort];
            foreach (var 
abilityScore in abilityScores)
            {
                if (
abilityScore.Min <= score && abilityScore.Max >= score)
                {
                    return 
abilityScore;
                }
            }
            return 
null;
            
//throw new System.Exception(abilitySort.ToString() + "   " + score);
        
}
        public class 
RefineEffect
        
{
            public 
int Id;
            public 
int PhysicalAttack;
            public 
int PhysicalDefense;
            public 
int MagicAttack;
            public 
int MagicDefense;
            public 
int ToxinEraserLevel;
            public 
int StrikeLockLevel;
            public 
int LuckyStrike;
            public 
int CalmWind;
            public 
int DrainingTouch;
            public 
int BloodSpawn;
            public 
int LightOfStamina;
            public 
int ShiledBreak;
            public 
int KillingFlash;
            public 
int MirrorOfSin;
            public 
int DivineGuard;
            public 
int CoreStrike;
            public 
int InvisableArrow;
            public 
int FreeSoul;
            public 
int StraightLife;
            public 
int AbsoluteLuck;
        }
        public class 
EntityRank
        
{
            public 
uint UID;
            public 
int Prestige;
            public 
string Name;
            public 
byte Level;
            public 
byte Class;
            public 
uint Mesh;
        }
        public class 
AbilityScore
        
{
            public 
int Id getset; }
            public 
AbilitiesSort Sort;
            public 
int MinMaxScore;
            public static 
void Read(out Dictionary<AbilitiesSort, List<AbilityScore>> abilitiesInfo)
            {
                
abilitiesInfo = new Dictionary<AbilitiesSort, List<AbilityScore>>();
                var 
readerInfo = new Dictionary<intAbilityScore>();
                
using (var memoryStream = new MemoryStream(File.ReadAllBytes("Database/Perfection/ability_score.txt")))
                {
                    
using (var streamReader = new StreamReader(memoryStream))
                    {
                        var 
line string.Empty;
                        while (!
string.IsNullOrEmpty(line streamReader.ReadLine()))
                        {
                            var 
spliter line.Split(new string[] { "@@" }, System.StringSplitOptions.RemoveEmptyEntries);
                            
readerInfo.Addint.Parse(spliter[0]), new AbilityScore()
                                {
                                    
Id int.Parse(spliter[0]),
                                    
Sort = (AbilitiesSort)short.Parse(spliter[1]),
                                    
Min int.Parse(spliter[2]),
                                    
Max int.Parse(spliter[3]),
                                    
Score int.Parse(spliter[4])
                                });
                        }
                    }
                }
                foreach (var 
ability in readerInfo.Values)
                {
                    if (!
abilitiesInfo.ContainsKey(ability.Sort))
                        
abilitiesInfo.Add(ability.Sort, new List<AbilityScore>());

                    
abilitiesInfo[ability.Sort].Add(ability);
                }
            }
        }
        public class 
RefineCost
        
{
            public 
uint Id;
            public 
uint Value;

        }
        public class 
RefineUpgrade
        
{
            public 
uint Id;
            public 
uint Level;
            public 
uint UpgradeCost;
        }
        public class 
RefineAttribute
        
{
            public 
int Id;
            public 
int EffectType;
            public 
int Level;
            public 
int dwParam;
            public 
int dwParam1;
            public 
int dwParam2;
            public 
int Value;
        }
        public static 
Dictionary<uintRefineCostItemsRefineCost;
        public static 
Dictionary<uint, List<RefineUpgrade>> ItemsRefineUpgrade;
        public static 
void Load()
        {
            
ItemsRefineCost = new Dictionary<uintRefineCost>();
            
AbilityScore.Read(out AbilitiesScore);
            
using (var memoryStream = new MemoryStream(File.ReadAllBytes("Database/Perfection/item_refine_cost.txt")))
            {
                
using (var streamReader = new StreamReader(memoryStream))
                {
                    var 
line string.Empty;
                    while (!
string.IsNullOrEmpty(line streamReader.ReadLine()))
                    {
                        var 
spliter line.Split(new string[] { "@@" }, System.StringSplitOptions.RemoveEmptyEntries);
                        
ItemsRefineCost.Add(uint.Parse(spliter[0]), new RefineCost() { Id uint.Parse(spliter[0]), Value uint.Parse(spliter[1]) });
                    }
                }
            }
            
ItemsRefineUpgrade = new Dictionary<uint, List<RefineUpgrade>>();
            
using (var memoryStream = new MemoryStream(File.ReadAllBytes("Database/Perfection/item_refine_upgrade.txt")))
            {
                
using (var streamReader = new StreamReader(memoryStream))
                {
                    var 
line string.Empty;
                    while (!
string.IsNullOrEmpty(line streamReader.ReadLine()))
                    {
                        var 
spliter line.Split(new string[] { "@@" }, System.StringSplitOptions.RemoveEmptyEntries).ToArray();
                        if (
spliter.Length 3)
                            continue;
                        var 
Id uint.Parse(spliter[0]);
                        if (!
ItemsRefineUpgrade.ContainsKey(Id))
                            
ItemsRefineUpgrade.Add(Id, new List<RefineUpgrade>());
                        var 
perfectionLevel uint.Parse(spliter[1]);
                        if (!
ItemsRefineUpgrade[Id].Exists(upg => upg.Level == perfectionLevel))
                        {
                            var 
myObj = new RefineUpgrade();
                            
myObj.Id Id;
                            
myObj.Level perfectionLevel;
                            
myObj.UpgradeCost uint.Parse(spliter[2]);
                            
ItemsRefineUpgrade[Id].Add(myObj);
                        }
                    }
                }
            }
            
ItemsRefineAttributes = new Dictionary<intRefineAttribute>();
            
using (var memoryStream = new MemoryStream(File.ReadAllBytes("Database/Perfection/item_refine_attr.txt")))
            {
                
using (var streamReader = new StreamReader(memoryStream))
                {
                    var 
line string.Empty;
                    while (!
string.IsNullOrEmpty(line streamReader.ReadLine()))
                    {
                        var 
spliter line.Split(new string[] { "@@" }, System.StringSplitOptions.RemoveEmptyEntries).ToArray();
                        if (
spliter.Length 7)
                            continue;
                        var 
refineAttr = new RefineAttribute();
                        
refineAttr.Id int.Parse(spliter[0]);
                        
refineAttr.EffectType int.Parse(spliter[1]);
                        
refineAttr.Level int.Parse(spliter[2]);
                        
refineAttr.dwParam int.Parse(spliter[3]);
                        
refineAttr.dwParam1 int.Parse(spliter[4]);
                        
refineAttr.dwParam2 int.Parse(spliter[5]);
                        
refineAttr.Value int.Parse(spliter[6]);
                        
ItemsRefineAttributes.Add(refineAttr.IdrefineAttr);
                    }
                }
            }
            
ItemsRefineEffects = new Dictionary<intRefineEffect>();
            
using (var memoryStream = new MemoryStream(File.ReadAllBytes("Database/Perfection/item_refine_effect.txt")))
            {
                
using (var streamReader = new StreamReader(memoryStream))
                {
                    var 
line string.Empty;
                    while (!
string.IsNullOrEmpty(line streamReader.ReadLine()))
                    {
                        var 
spliter line.Split(new string[] { "@@" }, System.StringSplitOptions.RemoveEmptyEntries).ToArray();
                        if (
spliter.Length 21)
                            continue;
                        var 
refineEffect = new RefineEffect();

                        
refineEffect.Id int.Parse(spliter[0]);
                        
refineEffect.PhysicalAttack int.Parse(spliter[1]);
                        
refineEffect.PhysicalDefense int.Parse(spliter[2]);
                        
refineEffect.MagicAttack int.Parse(spliter[3]);
                        
refineEffect.MagicDefense int.Parse(spliter[4]);
                        
refineEffect.ToxinEraserLevel int.Parse(spliter[5]) % 100;
                        
refineEffect.StrikeLockLevel int.Parse(spliter[6]) % 100;
                        
refineEffect.LuckyStrike int.Parse(spliter[7]) % 100;
                        
refineEffect.CalmWind int.Parse(spliter[8]) % 100;
                        
refineEffect.DrainingTouch int.Parse(spliter[9]) % 100;
                        
refineEffect.BloodSpawn int.Parse(spliter[10]) % 100;
                        
refineEffect.LightOfStamina int.Parse(spliter[11]) % 100;
                        
refineEffect.ShiledBreak int.Parse(spliter[12]) % 100;
                        
refineEffect.KillingFlash int.Parse(spliter[13]) % 100;
                        
refineEffect.MirrorOfSin int.Parse(spliter[14]) % 100;
                        
refineEffect.DivineGuard int.Parse(spliter[15]) % 100;
                        
refineEffect.CoreStrike int.Parse(spliter[16]) % 100;
                        
refineEffect.InvisableArrow int.Parse(spliter[17]) % 100;
                        
refineEffect.FreeSoul int.Parse(spliter[18]) % 100;
                        
refineEffect.StraightLife int.Parse(spliter[19]) % 100;
                        
refineEffect.AbsoluteLuck int.Parse(spliter[20]) % 100;

                        
ItemsRefineEffects.Add(refineEffect.IdrefineEffect);
                    }
                }
            }
            
LoadRanking();
        }
        public static 
uint GetItemsRefineCost(MsgItemInfo[] items)
        {
            
uint value 0;
            foreach (var 
item in items)
            {
                if (
ItemsRefineCost.ContainsKey(item.ID))
                    
value += ItemsRefineCost[item.ID].Value;
            }
            return 
value;
        }
        public static 
uint ItemGetSort(uint ID)
        {
            
uint ret 1;
            
uint Type1 ID 1000000;
            
uint Type2 Type1 1000;
            switch (
Type2)
            {
                case 
123:
                    return 
1;
                case 
203:
                    return 
21;
                case 
204:
                    return 
22;
                case 
300:
                    if (
ID 10 != 0)
                        return 
14;
                    break;
                case 
601:
                case 
610:
                    return 
4;
                case 
201:
                case 
202:
                    return 
12;
                case 
200:
                    return 
20;
                case 
350:
                    return 
16;
                case 
360:
                    return 
15;
                case 
370:
                    return 
17;
                case 
380:
                    return 
18;
            }
            
uint Type3 ID 10000000 100000;
            
uint Type4 Type1 10000;
            switch (
Type3)
            {
                case 
1:
                    switch (
Type4)
                    {
                        case 
11:
                        case 
14:
                        case 
17:
                            return 
1;
                        case 
18:
                        case 
19:
                            return 
11;
                        case 
12:
                            return 
2;
                        case 
13:
                            return 
3;
                        case 
15:
                            return 
7;
                        case 
16:
                            return 
8;
                    }
                    break;
                case 
4:
                case 
6:
                    return 
4;
                case 
5:
                    return 
5;
                case 
7:
                    return 
9;
                case 
9:
                    return 
6;
                case 
10:
                    return 
0;
                default:
                    if (
Type3 <= 29 && Type3 7)
                        return 
9;
                    break;
            }
            return 
ret;
        }
        public static List<
EntityRankToShowRank = new List<EntityRank>();
        public static 
void ShowToTenRank(GameState client)
        {
            
ToShowRank.Clear();
            
ToShowRank.Add(Ranking.Values.OrderByDescending(=> (uint)v.Prestige).FirstOrDefault());
            
ToShowRank.Add(Ranking.Values.OrderByDescending(=> (uint)v.Prestige).Where(=> p.Class >= 10 && p.Class <= 15).FirstOrDefault());
            
ToShowRank.Add(Ranking.Values.OrderByDescending(=> (uint)v.Prestige).Where(=> p.Class >= 20 && p.Class <= 25).FirstOrDefault());
            
ToShowRank.Add(Ranking.Values.OrderByDescending(=> (uint)v.Prestige).Where(=> p.Class >= 40 && p.Class <= 45).FirstOrDefault());
            
ToShowRank.Add(Ranking.Values.OrderByDescending(=> (uint)v.Prestige).Where(=> p.Class >= 50 && p.Class <= 55).FirstOrDefault());
            
ToShowRank.Add(Ranking.Values.OrderByDescending(=> (uint)v.Prestige).Where(=> p.Class >= 60 && p.Class <= 65).FirstOrDefault());
            
ToShowRank.Add(Ranking.Values.OrderByDescending(=> (uint)v.Prestige).Where(=> p.Class >= 70 && p.Class <= 75).FirstOrDefault());
            
ToShowRank.Add(Ranking.Values.OrderByDescending(=> (uint)v.Prestige).Where(=> p.Class >= 80 && p.Class <= 85).FirstOrDefault());
            
ToShowRank.Add(Ranking.Values.OrderByDescending(=> (uint)v.Prestige).Where(=> p.Class >= 132 && p.Class <= 135).FirstOrDefault());
            
ToShowRank.Add(Ranking.Values.OrderByDescending(=> (uint)v.Prestige).Where(=> p.Class >= 142 && p.Class <= 145).FirstOrDefault());

            var 
theRanking = new MsgRank(true10);
            
theRanking.Mode 6;
            
theRanking.Page 0;
            
theRanking.Count = (uint)ToShowRank.Where(=> != null).ToList().Count;
            foreach (var 
val in ToShowRank)
            {
                if (
val != null)
                {
                    
theRanking.Append((uint)val.Prestige, (uint)(val.UID), (string)val.Name, (byte)val.Level, (byte)val.Class, (uint)val.Mesh);
                }
            }

            
client.Send(theRanking);
        }
        public static 
void ShowRank(MsgRank rankingGameState client)
        {
            var 
skip ranking.Page 10;
            var 
myList = new List<dynamic>();
            foreach (var 
_rank in Ranking.Values)
            {

                
dynamic myObj = new System.Dynamic.ExpandoObject();
                
myObj.Amount _rank.Prestige;
                
myObj.UID _rank.UID;
                
myObj.Name _rank.Name;
                
myObj.Level _rank.Level;
                
myObj.Class = _rank.Class;
                
myObj.Mesh _rank.Mesh;
                
myList.Add(myObj);
            }
            var 
rank myList.OrderByDescending(=> (uint)v.Amount);
            if (
ranking.RankingType == 80000001)
                
rank myList.Where(=> v.Class >= 10 && v.Class <= 15).OrderByDescending(=> (uint)v.Amount);
            if (
ranking.RankingType == 80000002)
                
rank myList.Where(=> v.Class >= 20 && v.Class <= 25).OrderByDescending(=> (uint)v.Amount);
            if (
ranking.RankingType == 80000003)
                
rank myList.Where(=> v.Class >= 40 && v.Class <= 45).OrderByDescending(=> (uint)v.Amount);
            if (
ranking.RankingType == 80000004)
                
rank myList.Where(=> v.Class >= 50 && v.Class <= 55).OrderByDescending(=> (uint)v.Amount);
            if (
ranking.RankingType == 80000005)
                
rank myList.Where(=> v.Class >= 60 && v.Class <= 65).OrderByDescending(=> (uint)v.Amount);
            if (
ranking.RankingType == 80000006)
                
rank myList.Where(=> v.Class >= 70 && v.Class <= 75).OrderByDescending(=> (uint)v.Amount);
            if (
ranking.RankingType == 80000007)
                
rank myList.Where(=> v.Class >= 80 && v.Class <= 85).OrderByDescending(=> (uint)v.Amount);
            if (
ranking.RankingType == 80000008)
                
rank myList.Where(=> v.Class >= 130 && v.Class <= 135).OrderByDescending(=> (uint)v.Amount);
            if (
ranking.RankingType == 80000009)
                
rank myList.Where(=> v.Class >= 140 && v.Class <= 145).OrderByDescending(=> (uint)v.Amount);
            var 
toShowRank rank.Skip(skip).Take(10);
            var 
theRanking = new MsgRank(true10);
            
theRanking.RankingType ranking.RankingType;
            
theRanking.Mode MsgRank.Ranking;
            
theRanking.Page ranking.Page;
            var 
index skip;
            foreach (var 
val in toShowRank)
            {
                
theRanking.Append((uint)index++, (uint)val.Amount, (uint)(val.UID), (string)val.Name, (byte)val.Level, (byte)val.Class, (uint)val.Mesh);
            }
            
theRanking.RegisteredCount 100;
            
theRanking.Count 10;
            
client.Send(theRanking);
        }

        public static 
void DoEffects(Game.Player attackerGame.Player attackedMsgInteract attackref uint damageDatabase.SpellInformation spell)
        {
            if (
attacker == null || attacked == null || attack == null) return;
            if (
spell != null && (spell.ID == 6001 || spell.ID == 11230))
            {
                if (
attacked.Perfection != null)
                {
                    if (
Success(attacked.Perfection.ToxinEraserLevel))
                    {
                        
damage attack.Damage 0;
                        
attacked.ToxicFogLeft 0;
                        
MsgName str = new MsgName(true);
                        
str.UID attacked.UID;
                        
str.TextsCount 1;
                        
str.Action MsgName.Mode.Effect;
                        
str.Texts.Add("poisonmiss");
                        
attacked.Owner.SendScreen(strtrue);
                        
attacked.Owner.SendScreen(new Network.GamePackets.RefineEffect(attacked.UIDNetwork.GamePackets.RefineEffect.RefineEffects.ToxinEraserLevel), true);
                        return;
                    }
                }
            }
            if (
attacked.Perfection != null)
            {
                if (
Success(attacked.Perfection.StrikeLockLevel))
                {
                    
damage 1;
                    
attacked.Owner.SendScreen(new Network.GamePackets.RefineEffect(attacked.UIDNetwork.GamePackets.RefineEffect.RefineEffects.StrikeLockLevel), true);
                    return;
                }
            }
            if (
attacker.Perfection != null)
            {
                if (
Success(attacker.Perfection.LuckyStrike))
                {
                    
damage *= 2;
                    
attack.Damage damage;
                    
Network.Writer.WriteUInt16((ushort)(<< 10), 36attack.ToArray());
                    
attacker.Owner.SendScreen(new Network.GamePackets.RefineEffect(attacker.UIDNetwork.GamePackets.RefineEffect.RefineEffects.LuckyStrike), true);
                    return;
                }
            }
            if (
attacker.Perfection != null)
            {
                if (
Success(attacker.Perfection.CalmWind))
                {
                    
attacker.Owner.SendScreen(new Network.GamePackets.RefineEffect(attacker.UIDNetwork.GamePackets.RefineEffect.RefineEffects.CalmWind), true);
                    return;
                }
            }
            if (
attacker.Perfection != null)
            {
                if (
Success(attacker.Perfection.DrainingTouch))
                {
                    
attacker.Hitpoints attacker.MaxHitpoints;
                    
attacker.Mana attacker.MaxMana;
                    
attacker.Owner.SendScreen(new Network.GamePackets.RefineEffect(attacker.UIDNetwork.GamePackets.RefineEffect.RefineEffects.DrainingTouch), true);
                    return;
                }
            }
            if (
attacked.Perfection != null)
            {
                if (
Success(attacked.Perfection.BloodSpawn))
                {
                    
attacked.Hitpoints attacked.MaxHitpoints;
                    
attacked.Mana attacked.MaxMana;
                    
attacked.Owner.SendScreen(new Network.GamePackets.RefineEffect(attacked.UIDNetwork.GamePackets.RefineEffect.RefineEffects.BloodSpawn), true);
                    return;
                }
            }
            if (
attacker.Perfection != null && attacked.Perfection != null)
            {
                if (
Success(5))
                {
                    if (
attacker.Owner.Equipment.GetTPL() > attacked.Owner.Equipment.GetTPL())
                    {
                        
attacker.Stamina += 100;
                        
attacker.Owner.SendScreen(new Network.GamePackets.RefineEffect(attacker.UIDNetwork.GamePackets.RefineEffect.RefineEffects.LightOfStamina), true);
                        return;
                    }
                }
            }
            else if (
attacker.Perfection != null && attacked.Perfection == null)
            {
                if (
Success(5))
                {
                    
attacker.Stamina += 100;
                    
attacker.Owner.SendScreen(new Network.GamePackets.RefineEffect(attacker.UIDNetwork.GamePackets.RefineEffect.RefineEffects.LightOfStamina), true);
                    return;
                }
            }
            if (
attacker.Perfection != null && attacked.Perfection != null)
            {
                if (
attacked.Perfection == null true attacker.Owner.Equipment.GetTPL() > attacked.Owner.Equipment.GetTPL())
                {
                    if (
Success(attacker.Perfection.ShiledBreak))
                    {
                        
attacked.BlockBreak attacked.Block;
                        
attacked.Block /= 2;
                        
attacked.Owner.SendScreen(new Network.GamePackets.RefineEffect(attacked.UIDNetwork.GamePackets.RefineEffect.RefineEffects.ShiledBreak), true);
                        
attacked.AddFlag3((ulong)Network.GamePackets.MsgUpdate.Flags3.ShieldBreak);
                        
attacked.ShieldBreak Time32.Now;
                        return;
                    }
                }
            }
            if (
attacker.Perfection != null)
            {
                if (
Success(attacker.Perfection.KillingFlash))
                {
                    
attacker.Owner.Player.AddFlag((ulong)Network.GamePackets.MsgUpdate.Flags.XPList);
                    
attacker.Owner.XPListStamp Time32.Now;
                    
attacker.Owner.SendScreen(new Network.GamePackets.RefineEffect(attacker.UIDNetwork.GamePackets.RefineEffect.RefineEffects.KillingFlash), true);
                    return;
                }
            }
            if (
attacked.Perfection != null)
            {
                if (
Success(attacked.Perfection.MirrorOfSin))
                {
                    
attacked.Owner.Player.AddFlag((ulong)Network.GamePackets.MsgUpdate.Flags.XPList);
                    
attacked.Owner.XPListStamp Time32.Now;
                    
attacked.Owner.SendScreen(new Network.GamePackets.RefineEffect(attacked.UIDNetwork.GamePackets.RefineEffect.RefineEffects.MirrorOfSin), true);
                    return;
                }
            }
            if (
attacker.Perfection != null && attacked.Perfection != null)
            {
                if (
attacker.Owner.Equipment.GetTPL() > attacked.Owner.Equipment.GetTPL())
                {
                    if (
Success(attacker.Perfection.DivineGuard))
                    {
                        
attacker.GuardDefense attacker.Defence;
                        
attacker.Defence += (ushort)((attacker.Defence 10) / 100);
                        
attacker.Owner.SendScreen(new Network.GamePackets.RefineEffect(attacker.UIDNetwork.GamePackets.RefineEffect.RefineEffects.DivineGuard), true);
                        
attacker.AddFlag3((ulong)Network.GamePackets.MsgUpdate.Flags3.DivineGuard);
                        
attacker.GuardDefenseStamp Time32.Now;
                        return;
                    }
                }
            }
            if (
attacker.Perfection != null && attack.InteractType == MsgInteract.Magic)
            {
                if (
Success(attacker.Perfection.CoreStrike))
                {
                    
attack.Effect MsgInteract.InteractEffects.CriticalStrike;
                    
attacker.Owner.SendScreen(new Network.GamePackets.RefineEffect(attacker.UIDNetwork.GamePackets.RefineEffect.RefineEffects.CoreStrike), true);
                    return;
                }
            }
            if (
attacker.Perfection != null)
            {
                if (
Success(attacker.Perfection.InvisableArrow))
                {
                    
damage += (uint)(damage 10) / 100;
                    
attack.Effect MsgInteract.InteractEffects.Penetration;
                    
attacker.Owner.SendScreen(new Network.GamePackets.RefineEffect(attacker.UIDNetwork.GamePackets.RefineEffect.RefineEffects.InvisbleArrow), true);
                    return;
                }
            }
            if (
attacked.Perfection != null && attacked.Dead && spell.ID == 10405)
            {
                if (
Success(attacker.Perfection.FreeSoul))
                {

                    
attacked.RemoveFlag2((ulong)Network.GamePackets.MsgUpdate.Flags2.SoulShackle);
                    
attacked.Owner.SendScreen(new Network.GamePackets.RefineEffect(attacked.UIDNetwork.GamePackets.RefineEffect.RefineEffects.FreeSoul), true);
                    return;
                }
            }
            if (
damage >= attacked.Hitpoints && attacked.Perfection != null)
            {
                if (
Success(attacked.Perfection.StraightLife))
                {
                    
attacked.Owner.SendScreen(new Network.GamePackets.RefineEffect(attacked.UIDNetwork.GamePackets.RefineEffect.RefineEffects.StraightLife), true);
                    return;
                }
            }
            try
            {
                if (
attacker.Perfection != null && attacked.Perfection == null true attacker.Owner.Equipment.GetTPL() > attacked.Owner.Equipment.GetTPL())
                {
                    if (
Success(attacker.Perfection.AbsoluteLuck))
                    {
                        
damage *= 2;
                        
Network.Writer.WriteUInt16((ushort)(<< 10), 36attack.ToArray());
                        
attacker.Owner.SendScreen(new Network.GamePackets.RefineEffect(attacker.UIDNetwork.GamePackets.RefineEffect.RefineEffects.AbsoluteLuck), true);
                        
attacker.Owner.SendScreen(new Network.GamePackets.RefineEffect(attacker.UIDNetwork.GamePackets.RefineEffect.RefineEffects.LuckyStrike), true);
                        return;
                    }
                }
            }
            catch { }
        }

        private static 
bool Success(int percent)
        {
            if (
percent == 0) return false;
            return 
Kernel.ChanceSuccess(Kernel.Random.Next(05) + percent);
        }
        public static 
Dictionary<uintEntityRankRanking;
        public static 
void LoadRanking()
        {
            
Ranking = new Dictionary<uintEntityRank>();
            
using (var cmd = new MySqlCommand(MySqlCommandType.SELECT))
            {
                
cmd.Select("entities");
                var 
reader cmd.CreateReader();
                while (
reader.Read())
                {
                    
EntityRank Rank = new EntityRank();
                    
Rank.UID reader.ReadUInt32("UID");
                    
Rank.Prestige reader.ReadInt32("Prestige");
                    
Rank.Name reader.ReadString("Name");
                    
Rank.Level reader.ReadByte("Level");
                    
Rank.Class = reader.ReadByte("Class");
                    
Rank.Mesh 10000000 reader.ReadUInt32("Face") * 10000 reader.ReadUInt32("Body");
                    if (
Rank.Prestige 0)
                        
Ranking.Add(Rank.UIDRank);
                }
            }
            
//GameClient client = new GameClient(null);
            //UpdatePrestige(client);
        
}
        public static 
void CalcAndAdd(GameState client)
        {
            if (
client.Player.SpawnPacket == null)
                return;
            if (
client.Player.SpawnPacket.Length 200)
                return;
            var 
calc = new CMsgUserAbilityScore(client);
            var 
points calc.Data.Abilities.Select(ability => ability.Value).Sum();
            
client.Player.Prestige points;

            
EntityRank RankClient = new EntityRank();
            
RankClient.Prestige client.Player.Prestige;
            
RankClient.Level client.Player.Level;
            
RankClient.Mesh client.Player.Mesh;
            
RankClient.Name client.Player.Name;
            
RankClient.UID client.Player.UID;
            
RankClient.Class = client.Player.Class;

            if (
Ranking.ContainsKey(client.Player.UID))
            {
                
Ranking[client.Player.UID] = RankClient;
            }
            else
            {

                
Ranking.Add(RankClient.UIDRankClient);
            }
            
Ranking Ranking.Values.OrderByDescending(=> v.Prestige).ToDictionary(=> v.UID=> v);
            
            
UpdatePrestige(client);
            
client.Send(new Network.GamePackets.UserTotalRefineLevel(client));
            
client.Send(ItemRefineRecord.Serialize(new ItemRefineRecord.ItemRefineRecordProto()
            {
                
Action 0,
                
MaxRefineLevel 54,
                
dwParam 0
            
}));
            
client.Send(new CMsgUserAbilityScore(client));
            if (
client.Player.Prestige == 0)
                
PerfectionManager.CalcAndAdd(client);
            
MsgTrainingVitality.SendRankingQuery(new MsgRank(true) { Mode }, clientMsgRank.PrestigePerfectionManager.GetPosition(client), (uint)client.Player.Prestige);
        }
        public static 
void UpdatePrestige(Client.GameState client)
        {
            foreach (var 
player in Kernel.GamePool.Values)
            {
                if (
Ranking.ContainsKey(player.Player.UID))
                {
                    
MsgTrainingVitality.SendRankingQuery(new MsgRank(true), playerMsgRank.PrestigeGetPosition(player), (uint)player.Player.Prestige);
                }
            }
        }
        public static 
uint GetPosition(GameState client)
        {
            return (
uint)(Array.IndexOf(Ranking.Keys.ToArray(), client.Player.UID) + 1);
        }


    }


المشاركات: 181 [+]
المخالفات: [+]
مجموع الاوسمة: [+]
M.Almasri متواجد حالياً
M.Almasri
( مؤسس المنتدى )
رد: مشكله في الصول 7 حجات ببتحول سول 7 لوحدها
موعد كتابة الموضوع: 06-12-2017 فى تمام الساعة 06:32 AM| رقم المشاركة: 7| من قسم: مشــاكل وطلـــبات كــونــكر

اقتباس:
المشاركة الأصلية كتبت بواسطة flashmylove عزيزى العضو \ الزائر لايمكنك مشاهده الروابط الا بعد الرد
#تم الحل + شكرا
في مشكله في البرفكشن عايز اعلي تمنو من ال CP boost لو ينفع تساعدني و ده الكود بتاع البرفكشن.سي اس
كود PHP:

using COServer.Network.GamePackets;

using System.Collections.Generic;
using System.IO;
using System.Linq;
using COServer.Client;
using System;
using COServer.Database;
namespace 
COServer
{
public static class 
PrefExtensions
{
public static 
TSource FindMax<TSource>(this IEnumerable<TSourcesourceSystem.Func<TSourceobjectselector)
{
object currentObject null;
foreach (var 
obj in source)
{
var 
value selector(obj);
if (
currentObject == null || System.Convert.ToInt64(value) >= System.Convert.ToInt64(selector((TSource)System.Convert.ChangeType(currentObjecttypeof(TSource)))))
currentObject obj;
}
return (
TSource)System.Convert.ChangeType(currentObjecttypeof(TSource));
}
public static 
IEnumerable<TSourceFindMax<TSource>(this IEnumerable<TSourcesourceSystem.Func<TSourceobjectselectorint countint skipCount 0)
{
if (
count >= source.Count())
return 
source.OrderByDescending(selector);
return 
source.Skip(skipCount).Take(count).OrderByDescending(selector);
}
public static 
int Value(this System.Enum myEnum)
{
return (int)
System.Convert.ChangeType(myEnummyEnum.GetTypeCode());
}
}
public 
enum AbilitiesSort
{
Jiang 1,
Chi 2,
InnerPower 3,
Enchant 4,
Level 5,
PerfectionLevel 6,
Attributes 7,
Rebirth 8,
Quality 9,
Sockets 10,
GemQuality 11,
Plus 12,
SoulPhase 13,
MaterialPhase 14,
Protection 15,
SubClass 16,
Garments 17,
MountArmors 18,
NobilityRank 19,
ItemLevel 20,
}
public class 
PerfectionManager
{
public static 
Dictionary<AbilitiesSort, List<AbilityScore>> AbilitiesScore = new Dictionary<AbilitiesSort, List<AbilityScore>>();
public static 
Dictionary<intRefineEffectItemsRefineEffects = new Dictionary<intRefineEffect>();
public static 
Dictionary<intRefineAttributeItemsRefineAttributes = new Dictionary<intRefineAttribute>();
public static 
AbilityScore GetAbilityScore(AbilitiesSort abilitySortint score)
{
var 
abilityScores AbilitiesScore[abilitySort];
foreach (var 
abilityScore in abilityScores)
{
if (
abilityScore.Min <= score && abilityScore.Max >= score)
{
return 
abilityScore;
}
}
return 
null;
//throw new System.Exception(abilitySort.ToString() + "   " + score);
}
public class 
RefineEffect
{
public 
int Id;
public 
int PhysicalAttack;
public 
int PhysicalDefense;
public 
int MagicAttack;
public 
int MagicDefense;
public 
int ToxinEraserLevel;
public 
int StrikeLockLevel;
public 
int LuckyStrike;
public 
int CalmWind;
public 
int DrainingTouch;
public 
int BloodSpawn;
public 
int LightOfStamina;
public 
int ShiledBreak;
public 
int KillingFlash;
public 
int MirrorOfSin;
public 
int DivineGuard;
public 
int CoreStrike;
public 
int InvisableArrow;
public 
int FreeSoul;
public 
int StraightLife;
public 
int AbsoluteLuck;
}
public class 
EntityRank
{
public 
uint UID;
public 
int Prestige;
public 
string Name;
public 
byte Level;
public 
byte Class;
public 
uint Mesh;
}
public class 
AbilityScore
{
public 
int Id getset; }
public 
AbilitiesSort Sort;
public 
int MinMaxScore;
public static 
void Read(out Dictionary<AbilitiesSort, List<AbilityScore>> abilitiesInfo)
{
abilitiesInfo = new Dictionary<AbilitiesSort, List<AbilityScore>>();
var 
readerInfo = new Dictionary<intAbilityScore>();
using (var memoryStream = new MemoryStream(File.ReadAllBytes("Database/Perfection/ability_score.txt")))
{
using (var streamReader = new StreamReader(memoryStream))
{
var 
line string.Empty;
while (!
string.IsNullOrEmpty(line streamReader.ReadLine()))
{
var 
spliter line.Split(new string[] { "@@" }, System.StringSplitOptions.RemoveEmptyEntries);
readerInfo.Addint.Parse(spliter[0]), new AbilityScore()
{
Id int.Parse(spliter[0]),
Sort = (AbilitiesSort)short.Parse(spliter[1]),
Min int.Parse(spliter[2]),
Max int.Parse(spliter[3]),
Score int.Parse(spliter[4])
});
}
}
}
foreach (var 
ability in readerInfo.Values)
{
if (!
abilitiesInfo.ContainsKey(ability.Sort))
abilitiesInfo.Add(ability.Sort, new List<AbilityScore>());
abilitiesInfo[ability.Sort].Add(ability);
}
}
}
public class 
RefineCost
{
public 
uint Id;
public 
uint Value;
}
public class 
RefineUpgrade
{
public 
uint Id;
public 
uint Level;
public 
uint UpgradeCost;
}
public class 
RefineAttribute
{
public 
int Id;
public 
int EffectType;
public 
int Level;
public 
int dwParam;
public 
int dwParam1;
public 
int dwParam2;
public 
int Value;
}
public static 
Dictionary<uintRefineCostItemsRefineCost;
public static 
Dictionary<uint, List<RefineUpgrade>> ItemsRefineUpgrade;
public static 
void Load()
{
ItemsRefineCost = new Dictionary<uintRefineCost>();
AbilityScore.Read(out AbilitiesScore);
using (var memoryStream = new MemoryStream(File.ReadAllBytes("Database/Perfection/item_refine_cost.txt")))
{
using (var streamReader = new StreamReader(memoryStream))
{
var 
line string.Empty;
while (!
string.IsNullOrEmpty(line streamReader.ReadLine()))
{
var 
spliter line.Split(new string[] { "@@" }, System.StringSplitOptions.RemoveEmptyEntries);
ItemsRefineCost.Add(uint.Parse(spliter[0]), new RefineCost() { Id uint.Parse(spliter[0]), Value uint.Parse(spliter[1]) });
}
}
}
ItemsRefineUpgrade = new Dictionary<uint, List<RefineUpgrade>>();
using (var memoryStream = new MemoryStream(File.ReadAllBytes("Database/Perfection/item_refine_upgrade.txt")))
{
using (var streamReader = new StreamReader(memoryStream))
{
var 
line string.Empty;
while (!
string.IsNullOrEmpty(line streamReader.ReadLine()))
{
var 
spliter line.Split(new string[] { "@@" }, System.StringSplitOptions.RemoveEmptyEntries).ToArray();
if (
spliter.Length 3)
continue;
var 
Id uint.Parse(spliter[0]);
if (!
ItemsRefineUpgrade.ContainsKey(Id))
ItemsRefineUpgrade.Add(Id, new List<RefineUpgrade>());
var 
perfectionLevel uint.Parse(spliter[1]);
if (!
ItemsRefineUpgrade[Id].Exists(upg => upg.Level == perfectionLevel))
{
var 
myObj = new RefineUpgrade();
myObj.Id Id;
myObj.Level perfectionLevel;
myObj.UpgradeCost uint.Parse(spliter[2]);
ItemsRefineUpgrade[Id].Add(myObj);
}
}
}
}
ItemsRefineAttributes = new Dictionary<intRefineAttribute>();
using (var memoryStream = new MemoryStream(File.ReadAllBytes("Database/Perfection/item_refine_attr.txt")))
{
using (var streamReader = new StreamReader(memoryStream))
{
var 
line string.Empty;
while (!
string.IsNullOrEmpty(line streamReader.ReadLine()))
{
var 
spliter line.Split(new string[] { "@@" }, System.StringSplitOptions.RemoveEmptyEntries).ToArray();
if (
spliter.Length 7)
continue;
var 
refineAttr = new RefineAttribute();
refineAttr.Id int.Parse(spliter[0]);
refineAttr.EffectType int.Parse(spliter[1]);
refineAttr.Level int.Parse(spliter[2]);
refineAttr.dwParam int.Parse(spliter[3]);
refineAttr.dwParam1 int.Parse(spliter[4]);
refineAttr.dwParam2 int.Parse(spliter[5]);
refineAttr.Value int.Parse(spliter[6]);
ItemsRefineAttributes.Add(refineAttr.IdrefineAttr);
}
}
}
ItemsRefineEffects = new Dictionary<intRefineEffect>();
using (var memoryStream = new MemoryStream(File.ReadAllBytes("Database/Perfection/item_refine_effect.txt")))
{
using (var streamReader = new StreamReader(memoryStream))
{
var 
line string.Empty;
while (!
string.IsNullOrEmpty(line streamReader.ReadLine()))
{
var 
spliter line.Split(new string[] { "@@" }, System.StringSplitOptions.RemoveEmptyEntries).ToArray();
if (
spliter.Length 21)
continue;
var 
refineEffect = new RefineEffect();
refineEffect.Id int.Parse(spliter[0]);
refineEffect.PhysicalAttack int.Parse(spliter[1]);
refineEffect.PhysicalDefense int.Parse(spliter[2]);
refineEffect.MagicAttack int.Parse(spliter[3]);
refineEffect.MagicDefense int.Parse(spliter[4]);
refineEffect.ToxinEraserLevel int.Parse(spliter[5]) % 100;
refineEffect.StrikeLockLevel int.Parse(spliter[6]) % 100;
refineEffect.LuckyStrike int.Parse(spliter[7]) % 100;
refineEffect.CalmWind int.Parse(spliter[8]) % 100;
refineEffect.DrainingTouch int.Parse(spliter[9]) % 100;
refineEffect.BloodSpawn int.Parse(spliter[10]) % 100;
refineEffect.LightOfStamina int.Parse(spliter[11]) % 100;
refineEffect.ShiledBreak int.Parse(spliter[12]) % 100;
refineEffect.KillingFlash int.Parse(spliter[13]) % 100;
refineEffect.MirrorOfSin int.Parse(spliter[14]) % 100;
refineEffect.DivineGuard int.Parse(spliter[15]) % 100;
refineEffect.CoreStrike int.Parse(spliter[16]) % 100;
refineEffect.InvisableArrow int.Parse(spliter[17]) % 100;
refineEffect.FreeSoul int.Parse(spliter[18]) % 100;
refineEffect.StraightLife int.Parse(spliter[19]) % 100;
refineEffect.AbsoluteLuck int.Parse(spliter[20]) % 100;
ItemsRefineEffects.Add(refineEffect.IdrefineEffect);
}
}
}
LoadRanking();
}
public static 
uint GetItemsRefineCost(MsgItemInfo[] items)
{
uint value 0;
foreach (var 
item in items)
{
if (
ItemsRefineCost.ContainsKey(item.ID))
value += ItemsRefineCost[item.ID].Value;
}
return 
value;
}
public static 
uint ItemGetSort(uint ID)
{
uint ret 1;
uint Type1 ID 1000000;
uint Type2 Type1 1000;
switch (
Type2)
{
case 
123:
return 
1;
case 
203:
return 
21;
case 
204:
return 
22;
case 
300:
if (
ID 10 != 0)
return 
14;
break;
case 
601:
case 
610:
return 
4;
case 
201:
case 
202:
return 
12;
case 
200:
return 
20;
case 
350:
return 
16;
case 
360:
return 
15;
case 
370:
return 
17;
case 
380:
return 
18;
}
uint Type3 ID 10000000 100000;
uint Type4 Type1 10000;
switch (
Type3)
{
case 
1:
switch (
Type4)
{
case 
11:
case 
14:
case 
17:
return 
1;
case 
18:
case 
19:
return 
11;
case 
12:
return 
2;
case 
13:
return 
3;
case 
15:
return 
7;
case 
16:
return 
8;
}
break;
case 
4:
case 
6:
return 
4;
case 
5:
return 
5;
case 
7:
return 
9;
case 
9:
return 
6;
case 
10:
return 
0;
default:
if (
Type3 <= 29 && Type3 7)
return 
9;
break;
}
return 
ret;
}
public static List<
EntityRankToShowRank = new List<EntityRank>();
public static 
void ShowToTenRank(GameState client)
{
ToShowRank.Clear();
ToShowRank.Add(Ranking.Values.OrderByDescending(=> (uint)v.Prestige).FirstOrDefault());
ToShowRank.Add(Ranking.Values.OrderByDescending(=> (uint)v.Prestige).Where(=> p.Class >= 10 && p.Class <= 15).FirstOrDefault());
ToShowRank.Add(Ranking.Values.OrderByDescending(=> (uint)v.Prestige).Where(=> p.Class >= 20 && p.Class <= 25).FirstOrDefault());
ToShowRank.Add(Ranking.Values.OrderByDescending(=> (uint)v.Prestige).Where(=> p.Class >= 40 && p.Class <= 45).FirstOrDefault());
ToShowRank.Add(Ranking.Values.OrderByDescending(=> (uint)v.Prestige).Where(=> p.Class >= 50 && p.Class <= 55).FirstOrDefault());
ToShowRank.Add(Ranking.Values.OrderByDescending(=> (uint)v.Prestige).Where(=> p.Class >= 60 && p.Class <= 65).FirstOrDefault());
ToShowRank.Add(Ranking.Values.OrderByDescending(=> (uint)v.Prestige).Where(=> p.Class >= 70 && p.Class <= 75).FirstOrDefault());
ToShowRank.Add(Ranking.Values.OrderByDescending(=> (uint)v.Prestige).Where(=> p.Class >= 80 && p.Class <= 85).FirstOrDefault());
ToShowRank.Add(Ranking.Values.OrderByDescending(=> (uint)v.Prestige).Where(=> p.Class >= 132 && p.Class <= 135).FirstOrDefault());
ToShowRank.Add(Ranking.Values.OrderByDescending(=> (uint)v.Prestige).Where(=> p.Class >= 142 && p.Class <= 145).FirstOrDefault());
var 
theRanking = new MsgRank(true10);
theRanking.Mode 6;
theRanking.Page 0;
theRanking.Count = (uint)ToShowRank.Where(=> != null).ToList().Count;
foreach (var 
val in ToShowRank)
{
if (
val != null)
{
theRanking.Append((uint)val.Prestige, (uint)(val.UID), (string)val.Name, (byte)val.Level, (byte)val.Class, (uint)val.Mesh);
}
}
client.Send(theRanking);
}
public static 
void ShowRank(MsgRank rankingGameState client)
{
var 
skip ranking.Page 10;
var 
myList = new List<dynamic>();
foreach (var 
_rank in Ranking.Values)
{
dynamic myObj = new System.Dynamic.ExpandoObject();
myObj.Amount _rank.Prestige;
myObj.UID _rank.UID;
myObj.Name _rank.Name;
myObj.Level _rank.Level;
myObj.Class = _rank.Class;
myObj.Mesh _rank.Mesh;
myList.Add(myObj);
}
var 
rank myList.OrderByDescending(=> (uint)v.Amount);
if (
ranking.RankingType == 80000001)
rank myList.Where(=> v.Class >= 10 && v.Class <= 15).OrderByDescending(=> (uint)v.Amount);
if (
ranking.RankingType == 80000002)
rank myList.Where(=> v.Class >= 20 && v.Class <= 25).OrderByDescending(=> (uint)v.Amount);
if (
ranking.RankingType == 80000003)
rank myList.Where(=> v.Class >= 40 && v.Class <= 45).OrderByDescending(=> (uint)v.Amount);
if (
ranking.RankingType == 80000004)
rank myList.Where(=> v.Class >= 50 && v.Class <= 55).OrderByDescending(=> (uint)v.Amount);
if (
ranking.RankingType == 80000005)
rank myList.Where(=> v.Class >= 60 && v.Class <= 65).OrderByDescending(=> (uint)v.Amount);
if (
ranking.RankingType == 80000006)
rank myList.Where(=> v.Class >= 70 && v.Class <= 75).OrderByDescending(=> (uint)v.Amount);
if (
ranking.RankingType == 80000007)
rank myList.Where(=> v.Class >= 80 && v.Class <= 85).OrderByDescending(=> (uint)v.Amount);
if (
ranking.RankingType == 80000008)
rank myList.Where(=> v.Class >= 130 && v.Class <= 135).OrderByDescending(=> (uint)v.Amount);
if (
ranking.RankingType == 80000009)
rank myList.Where(=> v.Class >= 140 && v.Class <= 145).OrderByDescending(=> (uint)v.Amount);
var 
toShowRank rank.Skip(skip).Take(10);
var 
theRanking = new MsgRank(true10);
theRanking.RankingType ranking.RankingType;
theRanking.Mode MsgRank.Ranking;
theRanking.Page ranking.Page;
var 
index skip;
foreach (var 
val in toShowRank)
{
theRanking.Append((uint)index++, (uint)val.Amount, (uint)(val.UID), (string)val.Name, (byte)val.Level, (byte)val.Class, (uint)val.Mesh);
}
theRanking.RegisteredCount 100;
theRanking.Count 10;
client.Send(theRanking);
}
public static 
void DoEffects(Game.Player attackerGame.Player attackedMsgInteract attackref uint damageDatabase.SpellInformation spell)
{
if (
attacker == null || attacked == null || attack == null) return;
if (
spell != null && (spell.ID == 6001 || spell.ID == 11230))
{
if (
attacked.Perfection != null)
{
if (
Success(attacked.Perfection.ToxinEraserLevel))
{
damage attack.Damage 0;
attacked.ToxicFogLeft 0;
MsgName str = new MsgName(true);
str.UID attacked.UID;
str.TextsCount 1;
str.Action MsgName.Mode.Effect;
str.Texts.Add("poisonmiss");
attacked.Owner.SendScreen(strtrue);
attacked.Owner.SendScreen(new Network.GamePackets.RefineEffect(attacked.UIDNetwork.GamePackets.RefineEffect.RefineEffects.ToxinEraserLevel), true);
return;
}
}
}
if (
attacked.Perfection != null)
{
if (
Success(attacked.Perfection.StrikeLockLevel))
{
damage 1;
attacked.Owner.SendScreen(new Network.GamePackets.RefineEffect(attacked.UIDNetwork.GamePackets.RefineEffect.RefineEffects.StrikeLockLevel), true);
return;
}
}
if (
attacker.Perfection != null)
{
if (
Success(attacker.Perfection.LuckyStrike))
{
damage *= 2;
attack.Damage damage;
Network.Writer.WriteUInt16((ushort)(<< 10), 36attack.ToArray());
attacker.Owner.SendScreen(new Network.GamePackets.RefineEffect(attacker.UIDNetwork.GamePackets.RefineEffect.RefineEffects.LuckyStrike), true);
return;
}
}
if (
attacker.Perfection != null)
{
if (
Success(attacker.Perfection.CalmWind))
{
attacker.Owner.SendScreen(new Network.GamePackets.RefineEffect(attacker.UIDNetwork.GamePackets.RefineEffect.RefineEffects.CalmWind), true);
return;
}
}
if (
attacker.Perfection != null)
{
if (
Success(attacker.Perfection.DrainingTouch))
{
attacker.Hitpoints attacker.MaxHitpoints;
attacker.Mana attacker.MaxMana;
attacker.Owner.SendScreen(new Network.GamePackets.RefineEffect(attacker.UIDNetwork.GamePackets.RefineEffect.RefineEffects.DrainingTouch), true);
return;
}
}
if (
attacked.Perfection != null)
{
if (
Success(attacked.Perfection.BloodSpawn))
{
attacked.Hitpoints attacked.MaxHitpoints;
attacked.Mana attacked.MaxMana;
attacked.Owner.SendScreen(new Network.GamePackets.RefineEffect(attacked.UIDNetwork.GamePackets.RefineEffect.RefineEffects.BloodSpawn), true);
return;
}
}
if (
attacker.Perfection != null && attacked.Perfection != null)
{
if (
Success(5))
{
if (
attacker.Owner.Equipment.GetTPL() > attacked.Owner.Equipment.GetTPL())
{
attacker.Stamina += 100;
attacker.Owner.SendScreen(new Network.GamePackets.RefineEffect(attacker.UIDNetwork.GamePackets.RefineEffect.RefineEffects.LightOfStamina), true);
return;
}
}
}
else if (
attacker.Perfection != null && attacked.Perfection == null)
{
if (
Success(5))
{
attacker.Stamina += 100;
attacker.Owner.SendScreen(new Network.GamePackets.RefineEffect(attacker.UIDNetwork.GamePackets.RefineEffect.RefineEffects.LightOfStamina), true);
return;
}
}
if (
attacker.Perfection != null && attacked.Perfection != null)
{
if (
attacked.Perfection == null true attacker.Owner.Equipment.GetTPL() > attacked.Owner.Equipment.GetTPL())
{
if (
Success(attacker.Perfection.ShiledBreak))
{
attacked.BlockBreak attacked.Block;
attacked.Block /= 2;
attacked.Owner.SendScreen(new Network.GamePackets.RefineEffect(attacked.UIDNetwork.GamePackets.RefineEffect.RefineEffects.ShiledBreak), true);
attacked.AddFlag3((ulong)Network.GamePackets.MsgUpdate.Flags3.ShieldBreak);
attacked.ShieldBreak Time32.Now;
return;
}
}
}
if (
attacker.Perfection != null)
{
if (
Success(attacker.Perfection.KillingFlash))
{
attacker.Owner.Player.AddFlag((ulong)Network.GamePackets.MsgUpdate.Flags.XPList);
attacker.Owner.XPListStamp Time32.Now;
attacker.Owner.SendScreen(new Network.GamePackets.RefineEffect(attacker.UIDNetwork.GamePackets.RefineEffect.RefineEffects.KillingFlash), true);
return;
}
}
if (
attacked.Perfection != null)
{
if (
Success(attacked.Perfection.MirrorOfSin))
{
attacked.Owner.Player.AddFlag((ulong)Network.GamePackets.MsgUpdate.Flags.XPList);
attacked.Owner.XPListStamp Time32.Now;
attacked.Owner.SendScreen(new Network.GamePackets.RefineEffect(attacked.UIDNetwork.GamePackets.RefineEffect.RefineEffects.MirrorOfSin), true);
return;
}
}
if (
attacker.Perfection != null && attacked.Perfection != null)
{
if (
attacker.Owner.Equipment.GetTPL() > attacked.Owner.Equipment.GetTPL())
{
if (
Success(attacker.Perfection.DivineGuard))
{
attacker.GuardDefense attacker.Defence;
attacker.Defence += (ushort)((attacker.Defence 10) / 100);
attacker.Owner.SendScreen(new Network.GamePackets.RefineEffect(attacker.UIDNetwork.GamePackets.RefineEffect.RefineEffects.DivineGuard), true);
attacker.AddFlag3((ulong)Network.GamePackets.MsgUpdate.Flags3.DivineGuard);
attacker.GuardDefenseStamp Time32.Now;
return;
}
}
}
if (
attacker.Perfection != null && attack.InteractType == MsgInteract.Magic)
{
if (
Success(attacker.Perfection.CoreStrike))
{
attack.Effect MsgInteract.InteractEffects.CriticalStrike;
attacker.Owner.SendScreen(new Network.GamePackets.RefineEffect(attacker.UIDNetwork.GamePackets.RefineEffect.RefineEffects.CoreStrike), true);
return;
}
}
if (
attacker.Perfection != null)
{
if (
Success(attacker.Perfection.InvisableArrow))
{
damage += (uint)(damage 10) / 100;
attack.Effect MsgInteract.InteractEffects.Penetration;
attacker.Owner.SendScreen(new Network.GamePackets.RefineEffect(attacker.UIDNetwork.GamePackets.RefineEffect.RefineEffects.InvisbleArrow), true);
return;
}
}
if (
attacked.Perfection != null && attacked.Dead && spell.ID == 10405)
{
if (
Success(attacker.Perfection.FreeSoul))
{
attacked.RemoveFlag2((ulong)Network.GamePackets.MsgUpdate.Flags2.SoulShackle);
attacked.Owner.SendScreen(new Network.GamePackets.RefineEffect(attacked.UIDNetwork.GamePackets.RefineEffect.RefineEffects.FreeSoul), true);
return;
}
}
if (
damage >= attacked.Hitpoints && attacked.Perfection != null)
{
if (
Success(attacked.Perfection.StraightLife))
{
attacked.Owner.SendScreen(new Network.GamePackets.RefineEffect(attacked.UIDNetwork.GamePackets.RefineEffect.RefineEffects.StraightLife), true);
return;
}
}
try
{
if (
attacker.Perfection != null && attacked.Perfection == null true attacker.Owner.Equipment.GetTPL() > attacked.Owner.Equipment.GetTPL())
{
if (
Success(attacker.Perfection.AbsoluteLuck))
{
damage *= 2;
Network.Writer.WriteUInt16((ushort)(<< 10), 36attack.ToArray());
attacker.Owner.SendScreen(new Network.GamePackets.RefineEffect(attacker.UIDNetwork.GamePackets.RefineEffect.RefineEffects.AbsoluteLuck), true);
attacker.Owner.SendScreen(new Network.GamePackets.RefineEffect(attacker.UIDNetwork.GamePackets.RefineEffect.RefineEffects.LuckyStrike), true);
return;
}
}
}
catch { }
}
private static 
bool Success(int percent)
{
if (
percent == 0) return false;
return 
Kernel.ChanceSuccess(Kernel.Random.Next(05) + percent);
}
public static 
Dictionary<uintEntityRankRanking;
public static 
void LoadRanking()
{
Ranking = new Dictionary<uintEntityRank>();
using (var cmd = new MySqlCommand(MySqlCommandType.SELECT))
{
cmd.Select("entities");
var 
reader cmd.CreateReader();
while (
reader.Read())
{
EntityRank Rank = new EntityRank();
Rank.UID reader.ReadUInt32("UID");
Rank.Prestige reader.ReadInt32("Prestige");
Rank.Name reader.ReadString("Name");
Rank.Level reader.ReadByte("Level");
Rank.Class = reader.ReadByte("Class");
Rank.Mesh 10000000 reader.ReadUInt32("Face") * 10000 reader.ReadUInt32("Body");
if (
Rank.Prestige 0)
Ranking.Add(Rank.UIDRank);
}
}
//GameClient client = new GameClient(null);
//UpdatePrestige(client);
}
public static 
void CalcAndAdd(GameState client)
{
if (
client.Player.SpawnPacket == null)
return;
if (
client.Player.SpawnPacket.Length 200)
return;
var 
calc = new CMsgUserAbilityScore(client);
var 
points calc.Data.Abilities.Select(ability => ability.Value).Sum();
client.Player.Prestige points;
EntityRank RankClient = new EntityRank();
RankClient.Prestige client.Player.Prestige;
RankClient.Level client.Player.Level;
RankClient.Mesh client.Player.Mesh;
RankClient.Name client.Player.Name;
RankClient.UID client.Player.UID;
RankClient.Class = client.Player.Class;
if (
Ranking.ContainsKey(client.Player.UID))
{
Ranking[client.Player.UID] = RankClient;
}
else
{
Ranking.Add(RankClient.UIDRankClient);
}
Ranking Ranking.Values.OrderByDescending(=> v.Prestige).ToDictionary(=> v.UID=> v);
UpdatePrestige(client);
client.Send(new Network.GamePackets.UserTotalRefineLevel(client));
client.Send(ItemRefineRecord.Serialize(new ItemRefineRecord.ItemRefineRecordProto()
{
Action 0,
MaxRefineLevel 54,
dwParam 0
}));
client.Send(new CMsgUserAbilityScore(client));
if (
client.Player.Prestige == 0)
PerfectionManager.CalcAndAdd(client);
MsgTrainingVitality.SendRankingQuery(new MsgRank(true) { Mode }, clientMsgRank.PrestigePerfectionManager.GetPosition(client), (uint)client.Player.Prestige);
}
public static 
void UpdatePrestige(Client.GameState client)
{
foreach (var 
player in Kernel.GamePool.Values)
{
if (
Ranking.ContainsKey(player.Player.UID))
{
MsgTrainingVitality.SendRankingQuery(new MsgRank(true), playerMsgRank.PrestigeGetPosition(player), (uint)player.Player.Prestige);
}
}
}
public static 
uint GetPosition(GameState client)
{
return (
uint)(Array.IndexOf(Ranking.Keys.ToArray(), client.Player.UID) + 1);
}
}

يرجى عمل موضوع اخر واعرض مشكلتك
يغلق للانتهاء والحل

شكرا استاذ ‏MaZ00Ri

المشاركات: 58 [+]
المخالفات: [+]
مجموع الاوسمة: [+]
NaDerHisoOoka متواجد حالياً
NaDerHisoOoka
( مشرف اقسام كونكر برفيت )
رد: مشكله في الصول 7 حجات ببتحول سول 7 لوحدها
موعد كتابة الموضوع: 06-13-2017 فى تمام الساعة 01:05 PM| رقم المشاركة: 8| من قسم: مشــاكل وطلـــبات كــونــكر

يغلق لانهاء القرض منه


هذا الموقع يستعمل منتجات MARCO1