عرض مشاركة واحدة
قديم 2020-03-10, 10:58 AM
المشاركة #6  
Tefa
تاريخ الإنضمام : Jul 2019
رقم العضوية : 358
المشاركات: 2,515
  • غير متواجد
افتراضي رد: مشكلة في توب الكلاس
شكرا لأهتمامك
بس جربت توبات كتير عندي ومش لاقي البايرت ولا المونك ولا البروسلي ولا الويند
الاسم موجود بس تقريبا شكرا التوب ناقص
او معرفش المشكلة فين بالظبط بصراحة
سرش

كود:
public UInt64 TopStatusToInt(UInt64 top) 

جوه
ضيف

كود:
switch (top)
            { 


كود:
case Network.GamePackets.Update.Flags2.TopMonk: return 7;
case 
Network.GamePackets.Update.Flags2.TopPirate: return 22;
 case 
Network.GamePackets.Update.Flags3.DragonWarriorTop: return 260; 

افتح Flags.cs
سيرش

كود:
 class Flags
    
{ 

ضيف

كود:
 public static string TopPirate = "";

 public static 
string TopMonk = "";
public static 
string DragonWarriorTop = ""; 

سيرش

كود:
public class Flags3 

ضيف

كود:
DragonWarriorTop = 1UL << 154, 

سيرش

كود:
LoadFlags() 

جوه

كود:
 while (r.Read())
                    { 

ضيف

كود:
TopMonk = r.ReadString("TopMonk");
TopPirate = r.ReadString("TopPirate");
DragonWarriorTop = r.ReadString("DragonWarriorTop"); 

سيرش

كود:
public static void LoadFlags() 

اقفله من سالب و تحته ضيف

كود:
public static void AddTopMonk(Client.GameState client)
        {
            new 
MySqlCommand(MySqlCommandType.UPDATE).Update("flags").Set("TopMonk", client.Player.Name).Execute();
            
TopMonk = client.Player.Name;
            return;
        }

public static 
void AddTopPirate(Client.GameState client)
        {
            new 
MySqlCommand(MySqlCommandType.UPDATE).Update("flags").Set("TopPirate", client.Player.Name).Execute();
            
TopPirate = client.Player.Name;
            return;
        }
public static 
void AddDragonWarriorTop(Client.GameState client)
        {
            new 
MySqlCommand(MySqlCommandType.UPDATE).Update("flags").Set("DragonWarriorTop", client.Player.Name).Execute();
            
DragonWarriorTop = client.Player.Name;
            return;
        } 

سيرش

كود:
public class Flags2 

ضيف جواها

كود:
TopMonk = 0x4000000000000L,
            
TopPirate = 1UL << 58; 

entity.cs
سيرش

كود:
public double DragonGems; 

فوقها ضيف

كود:
 public void AddTopStatus(UInt64 Title, byte flagtype, DateTime EndsOn, Boolean Db = true)
        {
            
Boolean HasFlag = false;
            if (
IsWarTop(Title))
            {
                
HasFlag = Titles.ContainsKey((TitlePacket.Titles)Title);
                
Titles.TryAdd((TitlePacket.Titles)Title, EndsOn);
            }
            else
            {
                switch (
flagtype)
                {
                    case 
1:
                        
HasFlag = ContainsFlag(Title);
                        
AddFlag(Title);
                        break;
                    case 
2:
                        
HasFlag = ContainsFlag2(Title);
                        
AddFlag2(Title);
                        break;
                    case 
3:
                        
HasFlag = ContainsFlag3(Title);
                        
AddFlag3(Title);
                        break;
                    case 
4:
                        
HasFlag = ContainsFlag4(Title);
                        
AddFlag4(Title);
                        break;
                }
            }
            if (
Db)
            {
                if (
HasFlag)
                {
                    
MySqlCommand cmd = new MySqlCommand(MySqlCommandType.UPDATE);
                    
cmd.Update("status").Set("time", Kernel.ToDateTimeInt(EndsOn))
                        .
Where("status", Title).And("flagtype", flagtype).And("entityid", (UInt32)UID);
                    
cmd.Execute();
                }
                else
                {
                    
MySqlCommand cmd = new MySqlCommand(MySqlCommandType.INSERT);
                    
cmd.Insert("status").Insert("entityid", (UInt32)UID).Insert("status", Title).Insert("flagtype", flagtype).Insert("time", Kernel.ToDateTimeInt(EndsOn));
                    
cmd.Execute();
                }
            }
        }
        public 
void RemoveTopStatus(UInt64 Title, byte flagtype = 0)
        {
            
ulong baseFlag = Title;//TopStatusToInt(Title); 
            
MySqlCommand cmd = new MySqlCommand(MySqlCommandType.DELETE);
            
cmd.Delete("status", "entityid", UID).And("status", baseFlag).And("flagtype", flagtype).Execute();


            switch (
flagtype)
            {
                case 
0:
                    {
                        var 
title = (TitlePacket.Titles)baseFlag;
                        if (
Titles.ContainsKey(title))
                        {
                            
Titles.Remove(title);
                            if (
MyTitle1 == title)
                                
MyTitle1 = Network.GamePackets.TitlePacket.Titles.None;

                            
Owner.SendScreenSpawn(this, true);
                        }
                        break;
                    }
                case 
1:
                    
RemoveFlag(baseFlag);
                    break;
                case 
2:
                    
RemoveFlag2(baseFlag);
                    break;
                case 
3:
                    
RemoveFlag3(baseFlag);
                    break;
                case 
4:
                    
RemoveFlag4(baseFlag);
                    break;
            }
        } 

ده توب

كود:
client.Player.AddTopStatus(Update.Flags2.TopPirate, 2, DateTime.Now.AddMinutes(45));