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

الردود
56

المشاهدات
81534
 
zezonever

zezonever is on a distinguished road

    غير متواجد

المشاركات
199

+التقييم
0.10

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

الاقامة

نظام التشغيل

رقم العضوية
2186
2019-11-11, 05:00 AM
المشاركة 1 
#1  
Important دمج السرفرات وعمل حروب بينهم ServerTransferOfficer
السلام عليكم ورحمه الله وبركاته

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

اولا علشان منطولش عليكم في الموضوع هنبدا بفتح السورس بتاعك

هنعمل كلاس جديد باسم ServerTransferOfficer وهنضيف الاكواد دي جوه


كود:
public unsafe class CMsgPlayerTransfer 
    

        public 
uint ConquerPoints 2999
        public class 
Mode 
        

            public static 
uint 
                IsOnline

                
cantrans
                
WrathOfEmperor
                
WarLord
                
Perfection
                
EpicWarrior
                
Backfire_EU
                
SkyFlame
                
EveOfWar_EU
                
AuroraLotus
                
Conquer13_EU
                
TempestWings_EU
                
Dark
                
Mercury
                
Saturn
                
KingOfKings
                
NetDraogn
        } 
        public static 
bool DTrans false
        public static 
void CheckServer(string serverGamePlayer client
        { 
            
using (var cmd = new MySqlCommand(MySqlCommandType.SELECT).Select("accounts").Where("EntityID"client.Player.UID)) 
            
using (var reader = new MySqlReader(cmd)) 
            { 
                if (
reader.Read()) 
                { 
                    
Mode.cantrans reader.ReadUInt32("CanTrans"); 
                } 
            } 
            if (
Mode.cantrans >= 99999
            { 
                
client.MessageBox("Oooh o.o ! you already transfered (100) times so you can`t transfer more for times."nullnull0); 
                return; 
            } 
            else if (
Constants.ServerName == server
            { 
                
client.MessageBox("Ooops O.o ! you already in Server " server "."nullnull0); 
                return; 
            } 
            else 
            { 
                
client.MessageBox("Are you sure you want to transfer to " server " Server you have [" + (100 Mode.cantrans) + "] times to transfer"
                 (
p) => 
                 { 
                     if (!
client.WarehouseOpen && client.WarehousePW != 0
                     { 
                         
client.MessageBox("  Make sure you have entered a correct secondary password in the warehouse!"nullnull0); 
                         return; 
                     } 
                     else 
                     { 
                         if (
client.Player.ConquerPoints 2999
                         { 
                             
using (var cmd = new MySqlCommand(MySqlCommandType.SELECT).Select("servers").Where("Name"server)) 
                             
using (var reader = new MySqlReader(cmd)) 
                             { 
                                 if (
reader.Read()) 
                                 { 
                                     
Mode.IsOnline reader.ReadUInt32("Online"); 
                                 } 
                             } 
                             if (
Mode.IsOnline == 1
                             { 
                                 
using (MySqlCommand cmd = new MySqlCommand(MySqlCommandType.UPDATE)) 
                                     
cmd.Update("accounts").Set("server"server
                                         .
Where("EntityID"client.Player.UID).Execute(); 
                                 
Mode.cantrans++; 
                                 
using (MySqlCommand cmd = new MySqlCommand(MySqlCommandType.UPDATE)) 
                                     
cmd.Update("accounts").Set("CanTrans"Mode.cantrans
                                         .
Where("EntityID"client.Player.UID).Execute(); 
                                 
client.Player.ConquerPoints -= 2999
                                 
client.MessageBox("transfer to server " server " [Successfully]."nullnull0); 
                                 
DTrans true
                             } 
                             else 
                             { 
                                 
client.MessageBox("Sorry Server Connection Failed Try Again Later."nullnull0); 
                                 return; 
                             } 
                         } 
                         else 
                         { 
                             
client.MessageBox("You don't have " 2999 " CPs."nullnull0); 
                             return; 
                         } 
                     } 
                 }); 
            } 
        } 
        public static 
void StatusServers() 
        { 
            
#region KingOfKings 
            
using (var cmd = new MySqlCommand(MySqlCommandType.SELECT).Select("servers").Where("Name""KingOfKings")) 
            
using (var reader = new MySqlReader(cmd)) 
            { 
                if (
reader.Read()) 
                { 
                    
Mode.KingOfKings reader.ReadUInt32("Online"); 
                } 
            } 
            
#endregion 
            #region Dark 
            
using (var cmd = new MySqlCommand(MySqlCommandType.SELECT).Select("servers").Where("Name""Dark")) 
            
using (var reader = new MySqlReader(cmd)) 
            { 
                if (
reader.Read()) 
                { 
                    
Mode.Dark reader.ReadUInt32("Online"); 
                } 
            } 
            
#endregion 
            #region Mercury 
            
using (var cmd = new MySqlCommand(MySqlCommandType.SELECT).Select("servers").Where("Name""Mercury")) 
            
using (var reader = new MySqlReader(cmd)) 
            { 
                if (
reader.Read()) 
                { 
                    
Mode.Mercury reader.ReadUInt32("Online"); 
                } 
            } 
            
#endregion 
            #region Saturn 
            
using (var cmd = new MySqlCommand(MySqlCommandType.SELECT).Select("servers").Where("Name""Saturn")) 
            
using (var reader = new MySqlReader(cmd)) 
            { 
                if (
reader.Read()) 
                { 
                    
Mode.Saturn reader.ReadUInt32("Online"); 
                } 
            } 
            
#endregion 
            #region Conquer13_EU 
            
using (var cmd = new MySqlCommand(MySqlCommandType.SELECT).Select("servers").Where("Name""Conquer13_EU")) 
            
using (var reader = new MySqlReader(cmd)) 
            { 
                if (
reader.Read()) 
                { 
                    
Mode.Conquer13_EU reader.ReadUInt32("Online"); 
                } 
            } 
            
#endregion 
            #region TempestWings_EU 
            
using (var cmd = new MySqlCommand(MySqlCommandType.SELECT).Select("servers").Where("Name""TempestWings_EU")) 
            
using (var reader = new MySqlReader(cmd)) 
            { 
                if (
reader.Read()) 
                { 
                    
Mode.TempestWings_EU reader.ReadUInt32("Online"); 
                } 
            } 
            
#endregion 
            #region WrathOfEmperor 
            
using (var cmd = new MySqlCommand(MySqlCommandType.SELECT).Select("servers").Where("Name""WrathOfEmperor")) 
            
using (var reader = new MySqlReader(cmd)) 
            { 
                if (
reader.Read()) 
                { 
                    
Mode.WrathOfEmperor reader.ReadUInt32("Online"); 
                } 
            } 
            
#endregion 
            #region SkyFlame 
            
using (var cmd = new MySqlCommand(MySqlCommandType.SELECT).Select("servers").Where("Name""SkyFlame")) 
            
using (var reader = new MySqlReader(cmd)) 
            { 
                if (
reader.Read()) 
                { 
                    
Mode.SkyFlame reader.ReadUInt32("Online"); 
                } 
            } 
            
#endregion SkyFlame 
            #region AuroraLotus 
            
using (var cmd = new MySqlCommand(MySqlCommandType.SELECT).Select("servers").Where("Name""AuroraLotus")) 
            
using (var reader = new MySqlReader(cmd)) 
            { 
                if (
reader.Read()) 
                { 
                    
Mode.AuroraLotus reader.ReadUInt32("Online"); 
                } 
            } 
            
#endregion AuroraLotus 
            #region Conquer13_EU 
            
using (var cmd = new MySqlCommand(MySqlCommandType.SELECT).Select("servers").Where("Name""Conquer13_EU")) 
            
using (var reader = new MySqlReader(cmd)) 
            { 
                if (
reader.Read()) 
                { 
                    
Mode.Conquer13_EU reader.ReadUInt32("Online"); 
                } 
            } 
            
#endregion WrathOfEmperor 
            #region Perfection 
            
using (var cmd = new MySqlCommand(MySqlCommandType.SELECT).Select("servers").Where("Name""Perfection")) 
            
using (var reader = new MySqlReader(cmd)) 
            { 
                if (
reader.Read()) 
                { 
                    
Mode.Perfection reader.ReadUInt32("Online"); 
                } 
            } 
            
#endregion Perfection 
            #region EpicWarrior 
            
using (var cmd = new MySqlCommand(MySqlCommandType.SELECT).Select("servers").Where("Name""EpicWarrior")) 
            
using (var reader = new MySqlReader(cmd)) 
            { 
                if (
reader.Read()) 
                { 
                    
Mode.EpicWarrior reader.ReadUInt32("Online"); 
                } 
            } 
            
#endregion EpicWarrior 
            #region Backfire_EU 
            
using (var cmd = new MySqlCommand(MySqlCommandType.SELECT).Select("servers").Where("Name""Backfire_EU")) 
            
using (var reader = new MySqlReader(cmd)) 
            { 
                if (
reader.Read()) 
                { 
                    
Mode.Backfire_EU reader.ReadUInt32("Online"); 
                } 
            } 
            
#endregion Backfire_EU 
            #region EveOfWar_EU 
            
using (var cmd = new MySqlCommand(MySqlCommandType.SELECT).Select("servers").Where("Name""EveOfWar_EU")) 
            
using (var reader = new MySqlReader(cmd)) 
            { 
                if (
reader.Read()) 
                { 
                    
Mode.EveOfWar_EU reader.ReadUInt32("Online"); 
                } 
            } 
            
#endregion EveOfWar_EU 
            #region WarLord 
            
using (var cmd = new MySqlCommand(MySqlCommandType.SELECT).Select("servers").Where("Name""WarLord")) 
            
using (var reader = new MySqlReader(cmd)) 
            { 
                if (
reader.Read()) 
                { 
                    
Mode.WarLord reader.ReadUInt32("Online"); 
                } 
            } 
            
#endregion WarLord 
        

    } 

نرجع تاااني هتروح ع فايل Database هتلقي عندك كلاس اسمه

كود:
DataHolder 

هتبحث علي

كود:
public static MYSQLCONNECTION MySqlConnection 

وضيف تحتها دول


كود:
public static string ConnectionString2
        public static 
void CreateConnection_ACC_SERVER() 
        { 
            var list = 
System.Configuration.ConfigurationManager.ConnectionStrings
            
ConnectionString System.Configuration.ConfigurationManager.ConnectionStrings[list.Count 1].ConnectionString
        } 
        public static 
MYSQLCONNECTION MySqlConnection 
        

            
get 
            

                
MYSQLCONNECTION conn = new MYSQLCONNECTION(); 
                
conn.ConnectionString ConnectionString2
                return 
conn
            } 
        } 
        public static 
CONNECTION_ACC_SERVER ACC_SERVER 
        

            
get 
            

                
CONNECTION_ACC_SERVER conn = new CONNECTION_ACC_SERVER(); 
                
conn.ConnectionString ConnectionString
                return 
conn
            } 
        } 

[CENTER]عشان الايرور اللي هيطلع معاك هضيف ده عندل ف اول الكلاس. [/CENTER


كود:
using CONNECTION_ACC_SERVER MySql.Data.MySqlClient.MySqlConnection

كدة فاضل موقوع الاك سيرفر
ف Database ضيف الفايل دة عندك
عفواً لايمكن عرض الرابط إلا بعد الرد على الموضوع

AccServer
تحميل الاك سيرفر قاعدة من هنا :
عفواً لايمكن عرض الرابط إلا بعد الرد على الموضوع

لقاعده بتاعت الAccServer اهم حاجة في الموضوع كله
دلوقتي انت هتلقي ف الاك سيرفر الTable في القاعدة القديم هتسمحه من الاك سيرفر وبعدين هتنقل اللي ف الاقاعدة القديمة ف الاك سيرفر وهتمسحه من القديمة تمام

مثلا في الاك سيرفر Table اكوانت ! وفي القديمه نفس الTable

هتمسحها من الاك سيرفر وهضيف القديمه بدل اللي كانت في الاك سيرفر تمام..

لو بحثت علي كل تيبول في السورس هتلقي فيها السطر دة!


كود:
using (var cmd = new MySqlCommand(MySqlCommandType.UPDATE)) 

وبعدين هتغير


كود:
AccServer.Database.MySqlCommandType 

يعني بدل MySqlCommand
هتعملها

كود:
AccServer.Database.MySqlCommand 

مثلا زي كدة.


كود:
using (var cmd = new AccServer.Database.MySqlCommand(AccServer.Database.MySqlCommandType.SELECT).Select("claimitems").Where("GainerUID"client.Player.UID)) 
            
using (var reader = new AccServer.Database.MySqlReader(cmd)) 

هتعمل كدة مع كل التيبول اللي موجودة في الاك سرفر
هتعمل كده مع كل "entites" تبحث عنها ومع كل الاسامي التابلز وهتعملها زي ما وراتك كدة

اهم حاجة هتروح ع كلاس Program وهتبحث عن :


كود:
GameServer.Enable(GamePort"0.0.0.0"); 

وضيف تحتها السطر دة.

كود:
new AccServer.Database.MySqlCommand(AccServer.Database .MySqlCommandType.UPDATE).Update("servers").Set("O nline"1)
.
Where("Name"Constants.ServerName

بعد كدة هتبحث ع void دة


كود:
void AppendConnect 

وبدله بي دة


كود:
 public static void AppendConnect(MsgConnect appendConnectGamePlayer client
        { 
            if (
client.LoggedIn
            { 
                
client.Disconnect(true); 
                return; 
            } 
            
bool doLogin false
            
lock (LoginSyncRoot
            { 
                
Database.AccountTable Account = new Database.AccountTable(null); 
                { 
                    
TransferCipher.Key Encoding.ASCII.GetBytes("6D1B73DA0250473496C2845F91FA2A42"); 
                    
TransferCipher.Salt Encoding.ASCII.GetBytes("DDA177642131459FBFBD17D9003678A8"); 
                    
TransferCipher transferCipher = new TransferCipher("127.0.0.1"); 
                    
uint[] decrypted transferCipher.Decrypt(new uint[] { appendConnect.IdentifierappendConnect.Identifier }); 

                    
client.Account Account
                    
client.Account.EntityID appendConnect.Identifier decrypted[0]; 
                    
client.Account.State = (Database.AccountTable.AccountState)(appendConnect.Identifier decrypted[1]); 
                    
client.Account.IP client.Socket.IP
                    
using (var cmd = new AccServer.Database.MySqlCommand(AccServer.Database.MySqlCommandType.SELECT).Select("entities"
                     .
Where("UID"client.Account.EntityID)) 
                    
using (var reader = new AccServer.Database.MySqlReader(cmd)) 
                    { 
                        if (!
reader.Read()) 
                        { 
                            
client.Socket.OverrideTiming true
                            
client.Send(new Message("NEW_ROLE""ALLUSERS"System.Drawing.Color.Orange
                                
GamePackets.Message.Dialog)); 
                            return; 

                        } 
                    } 
                    if (
Kernel.DisconnectPool.ContainsKey(Account.EntityID)) 
                    { 
                        
client.Send(new Message("Please try again after a minute!""ALLUSERS"System.Drawing.Color.OrangeGamePackets.Message.Dialog)); 
                        return; 
                    } 
                    
VariableVault variables
                    
Database.EntityVariableTable.Load(client.Account.EntityIDout variables); 
                    
client.Variables variables
                    if (
client["banhours"] == 0
                    { 
                        
client["banhours"] = -1
                        
client["banreason"] = "Infinite time."
                        
client["banstamp"] = DateTime.Now.AddYears(100); 
                    } 
                    if (
Account.State == Database.AccountTable.AccountState.Banned
                    { 
                        if (
client["banhours"] != -1
                        { 
                            
DateTime banStamp client["banstamp"]; 
                            if (
DateTime.Now banStamp.AddDays(((int)client["banhours"]) / 24).AddHours(((int)client["banhours"]) % 24)) 
                                
Account.State Database.AccountTable.AccountState.Player
                        } 
                    } 
                    
string Message ""
                    if (
Account.State == Database.AccountTable.AccountState.Banned
                    { 
                        
DateTime banStamp client["banstamp"]; 
                        
banStamp banStamp.AddHours(client["banhours"]); 
                        
Message "You are banned for " client["banhours"] + " hours [until " banStamp.ToString("HH:mm MM/dd/yyyy") + "]. Reason: " client["banreason"]; 
                    } 
                    else if (
Account.State == Database.AccountTable.AccountState.NotActivated
                        
Message "You cannot login until your account is activated."

                    if (
Message == string.Empty) 
                    { 
                        
GamePlayer aClient null
                        if (
Kernel.GamePool.TryGetValue(Account.EntityIDout aClient)) 
                            
aClient.Disconnect(); 
                        
Kernel.GamePool.Remove(Account.EntityID); 
                        
client.Player = new Player(PlayerFlag.Monsterfalse); 
                        
Kernel.GamePool.Add(Account.EntityIDclient); 
                        
doLogin true
                    } 
                    else 
                    { 
                        
client.Send(new Message(Message"ALLUSERS"System.Drawing.Color.OrangeGamePackets.Message.Dialog)); 
                        
Thread.Execute<GamePlayer>((pClienttime) => { pClient.Disconnect(); }, client100); 
                    } 
                } 
                if (
doLogin
                { 
                    
DoLogin(client); 
                } 
            } 

        } 

وهتروح ع كلاس بروجرم وضيف دول


كود:
#region Transfer
DataHolder.CreateConnection_ACC_SERVER();
TransferCipher.Key Encoding.ASCII.GetBytes("6D1B73DA0250473496C2845F9 1FA2A42");
TransferCipher.Salt Encoding.ASCII.GetBytes("DDA177642131459FBFBD17D90 03678A8");
#endregion 

وهتعمل كلاس جديد اسمه

TransferCipher

وضيف فية دول.


كود:
 Last updated on2017 From before Ranko */ 
/* Last updated in Project CMsgConquer */ 
/* Copyright © 2015 - 2017 by Ranko */ 

using System
using System.Linq
using System.Text
using System.Threading.Tasks
using System.Collections.Generic
using System.Security.Cryptography
using System.Runtime.CompilerServices

namespace 
COServer.Network 

    public 
unsafe sealed class TigerHashAlgorithm 
    

        private const 
int BLOCKSIZE 64
        
#region Substitution Boxes 
        
public static ulong[] SBOX1 = new ulong[0x100] { 
            
0x02AAB17CF7E90C5EUL0xAC424B03E243A8ECUL0x72CD5BE30DD5FCD3UL0x6D019B93F6F97F3AUL,  
            
0xCD9978FFD21F9193UL0x7573A1C9708029E2UL0xB164326B922A83C3UL0x46883EEE04915870UL,  
            
0xEAACE3057103ECE6UL0xC54169B808A3535CUL0x4CE754918DDEC47CUL0x0AA2F4DFDC0DF40CUL,  
            
0x10B76F18A74DBEFAUL0xC6CCB6235AD1AB6AUL0x13726121572FE2FFUL0x1A488C6F199D921EUL,  
            
0x4BC9F9F4DA0007CAUL0x26F5E6F6E85241C7UL0x859079DBEA5947B6UL0x4F1885C5C99E8C92UL,  
            
0xD78E761EA96F864BUL0x8E36428C52B5C17DUL0x69CF6827373063C1UL0xB607C93D9BB4C56EUL,  
            
0x7D820E760E76B5EAUL0x645C9CC6F07FDC42UL0xBF38A078243342E0UL0x5F6B343C9D2E7D04UL,  
            
0xF2C28AEB600B0EC6UL0x6C0ED85F7254BCACUL0x71592281A4DB4FE5UL0x1967FA69CE0FED9FUL,  
            
0xFD5293F8B96545DBUL0xC879E9D7F2A7600BUL0x860248920193194EUL0xA4F9533B2D9CC0B3UL,  
            
0x9053836C15957613UL0xDB6DCF8AFC357BF1UL0x18BEEA7A7A370F57UL0x037117CA50B99066UL,  
            
0x6AB30A9774424A35UL0xF4E92F02E325249BUL0x7739DB07061CCAE1UL0xD8F3B49CECA42A05UL,  
            
0xBD56BE3F51382F73UL0x45FAED5843B0BB28UL0x1C813D5C11BF1F83UL0x8AF0E4B6D75FA169UL,  
            
0x33EE18A487AD9999UL0x3C26E8EAB1C94410UL0xB510102BC0A822F9UL0x141EEF310CE6123BUL,  
            
0xFC65B90059DDB154UL0xE0158640C5E0E607UL0x884E079826C3A3CFUL0x930D0D9523C535FDUL,  
            
0x35638D754E9A2B00UL0x4085FCCF40469DD5UL0xC4B17AD28BE23A4CUL0xCAB2F0FC6A3E6A2EUL,  
            
0x2860971A6B943FCDUL0x3DDE6EE212E30446UL0x6222F32AE01765AEUL0x5D550BB5478308FEUL,  
            
0xA9EFA98DA0EDA22AUL0xC351A71686C40DA7UL0x1105586D9C867C84UL0xDCFFEE85FDA22853UL,  
            
0xCCFBD0262C5EEF76UL0xBAF294CB8990D201UL0xE69464F52AFAD975UL0x94B013AFDF133E14UL,  
            
0x06A7D1A32823C958UL0x6F95FE5130F61119UL0xD92AB34E462C06C0UL0xED7BDE33887C71D2UL,  
            
0x79746D6E6518393EUL0x5BA419385D713329UL0x7C1BA6B948A97564UL0x31987C197BFDAC67UL,  
            
0xDE6C23C44B053D02UL0x581C49FED002D64DUL0xDD474D6338261571UL0xAA4546C3E473D062UL,  
            
0x928FCE349455F860UL0x48161BBACAAB94D9UL0x63912430770E6F68UL0x6EC8A5E602C6641CUL,  
            
0x87282515337DDD2BUL0x2CDA6B42034B701BUL0xB03D37C181CB096DUL0xE108438266C71C6FUL,  
            
0x2B3180C7EB51B255UL0xDF92B82F96C08BBCUL0x5C68C8C0A632F3BAUL0x5504CC861C3D0556UL,  
            
0xABBFA4E55FB26B8FUL0x41848B0AB3BACEB4UL0xB334A273AA445D32UL0xBCA696F0A85AD881UL,  
            
0x24F6EC65B528D56CUL0x0CE1512E90F4524AUL0x4E9DD79D5506D35AUL0x258905FAC6CE9779UL,  
            
0x2019295B3E109B33UL0xF8A9478B73A054CCUL0x2924F2F934417EB0UL0x3993357D536D1BC4UL,  
            
0x38A81AC21DB6FF8BUL0x47C4FBF17D6016BFUL0x1E0FAADD7667E3F5UL0x7ABCFF62938BEB96UL,  
            
0xA78DAD948FC179C9UL0x8F1F98B72911E50DUL0x61E48EAE27121A91UL0x4D62F7AD31859808UL,  
            
0xECEBA345EF5CEAEBUL0xF5CEB25EBC9684CEUL0xF633E20CB7F76221UL0xA32CDF06AB8293E4UL,  
            
0x985A202CA5EE2CA4UL0xCF0B8447CC8A8FB1UL0x9F765244979859A3UL0xA8D516B1A1240017UL,  
            
0x0BD7BA3EBB5DC726UL0xE54BCA55B86ADB39UL0x1D7A3AFD6C478063UL0x519EC608E7669EDDUL,  
            
0x0E5715A2D149AA23UL0x177D4571848FF194UL0xEEB55F3241014C22UL0x0F5E5CA13A6E2EC2UL,  
            
0x8029927B75F5C361UL0xAD139FABC3D6E436UL0x0D5DF1A94CCF402FUL0x3E8BD948BEA5DFC8UL,  
            
0xA5A0D357BD3FF77EUL0xA2D12E251F74F645UL0x66FD9E525E81A082UL0x2E0C90CE7F687A49UL,  
            
0xC2E8BCBEBA973BC5UL0x000001BCE509745FUL0x423777BBE6DAB3D6UL0xD1661C7EAEF06EB5UL,  
            
0xA1781F354DAACFD8UL0x2D11284A2B16AFFCUL0xF1FC4F67FA891D1FUL0x73ECC25DCB920ADAUL,  
            
0xAE610C22C2A12651UL0x96E0A810D356B78AUL0x5A9A381F2FE7870FUL0xD5AD62EDE94E5530UL,  
            
0xD225E5E8368D1427UL0x65977B70C7AF4631UL0x99F889B2DE39D74FUL0x233F30BF54E1D143UL,  
            
0x9A9675D3D9A63C97UL0x5470554FF334F9A8UL0x166ACB744A4F5688UL0x70C74CAAB2E4AEADUL,  
            
0xF0D091646F294D12UL0x57B82A89684031D1UL0xEFD95A5A61BE0B6BUL0x2FBD12E969F2F29AUL,  
            
0x9BD37013FEFF9FE8UL0x3F9B0404D6085A06UL0x4940C1F3166CFE15UL0x09542C4DCDF3DEFBUL,  
            
0xB4C5218385CD5CE3UL0xC935B7DC4462A641UL0x3417F8A68ED3B63FUL0xB80959295B215B40UL,  
            
0xF99CDAEF3B8C8572UL0x018C0614F8FCB95DUL0x1B14ACCD1A3ACDF3UL0x84D471F200BB732DUL,  
            
0xC1A3110E95E8DA16UL0x430A7220BF1A82B8UL0xB77E090D39DF210EUL0x5EF4BD9F3CD05E9DUL,  
            
0x9D4FF6DA7E57A444UL0xDA1D60E183D4A5F8UL0xB287C38417998E47UL0xFE3EDC121BB31886UL,  
            
0xC7FE3CCC980CCBEFUL0xE46FB590189BFD03UL0x3732FD469A4C57DCUL0x7EF700A07CF1AD65UL,  
            
0x59C64468A31D8859UL0x762FB0B4D45B61F6UL0x155BAED099047718UL0x68755E4C3D50BAA6UL,  
            
0xE9214E7F22D8B4DFUL0x2ADDBF532EAC95F4UL0x32AE3909B4BD0109UL0x834DF537B08E3450UL,  
            
0xFA209DA84220728DUL0x9E691D9B9EFE23F7UL0x0446D288C4AE8D7FUL0x7B4CC524E169785BUL,  
            
0x21D87F0135CA1385UL0xCEBB400F137B8AA5UL0x272E2B66580796BEUL0x3612264125C2B0DEUL,  
            
0x057702BDAD1EFBB2UL0xD4BABB8EACF84BE9UL0x91583139641BC67BUL0x8BDC2DE08036E024UL,  
            
0x603C8156F49F68EDUL0xF7D236F7DBEF5111UL0x9727C4598AD21E80UL0xA08A0896670A5FD7UL,  
            
0xCB4A8F4309EBA9CBUL0x81AF564B0F7036A1UL0xC0B99AA778199ABDUL0x959F1EC83FC8E952UL,  
            
0x8C505077794A81B9UL0x3ACAAF8F056338F0UL0x07B43F50627A6778UL0x4A44AB49F5ECCC77UL,  
            
0x3BC3D6E4B679EE98UL0x9CC0D4D1CF14108CUL0x4406C00B206BC8A0UL0x82A18854C8D72D89UL,  
            
0x67E366B35C3C432CUL0xB923DD61102B37F2UL0x56AB2779D884271DUL0xBE83E1B0FF1525AFUL,  
            
0xFB7C65D4217E49A9UL0x6BDBE0E76D48E7D4UL0x08DF828745D9179EUL0x22EA6A9ADD53BD34UL,  
            
0xE36E141C5622200AUL0x7F805D1B8CB750EEUL0xAFE5C7A59F58E837UL0xE27F996A4FB1C23CUL,  
            
0xD3867DFB0775F0D0UL0xD0E673DE6E88891AUL0x123AEB9EAFB86C25UL0x30F1D5D5C145B895UL,  
            
0xBB434A2DEE7269E7UL0x78CB67ECF931FA38UL0xF33B0372323BBF9CUL0x52D66336FB279C74UL,  
            
0x505F33AC0AFB4EAAUL0xE8A5CD99A2CCE187UL0x534974801E2D30BBUL0x8D2D5711D5876D90UL,  
            
0x1F1A412891BC038EUL0xD6E2E71D82E56648UL0x74036C3A497732B7UL0x89B67ED96361F5ABUL,  
            
0xFFED95D8F1EA02A2UL0xE72B3BD61464D43DUL0xA6300F170BDC4820UL0xEBC18760ED78A77AUL }; 

        public static 
ulong[] SBOX2 = new ulong[0x100] { 
            
0xE6A6BE5A05A12138UL0xB5A122A5B4F87C98UL0x563C6089140B6990UL0x4C46CB2E391F5DD5UL,  
            
0xD932ADDBC9B79434UL0x08EA70E42015AFF5UL0xD765A6673E478CF1UL0xC4FB757EAB278D99UL,  
            
0xDF11C6862D6E0692UL0xDDEB84F10D7F3B16UL0x6F2EF604A665EA04UL0x4A8E0F0FF0E0DFB3UL,  
            
0xA5EDEEF83DBCBA51UL0xFC4F0A2A0EA4371EUL0xE83E1DA85CB38429UL0xDC8FF882BA1B1CE2UL,  
            
0xCD45505E8353E80DUL0x18D19A00D4DB0717UL0x34A0CFEDA5F38101UL0x0BE77E518887CAF2UL,  
            
0x1E341438B3C45136UL0xE05797F49089CCF9UL0xFFD23F9DF2591D14UL0x543DDA228595C5CDUL,  
            
0x661F81FD99052A33UL0x8736E641DB0F7B76UL0x15227725418E5307UL0xE25F7F46162EB2FAUL,  
            
0x48A8B2126C13D9FEUL0xAFDC541792E76EEAUL0x03D912BFC6D1898FUL0x31B1AAFA1B83F51BUL,  
            
0xF1AC2796E42AB7D9UL0x40A3A7D7FCD2EBACUL0x1056136D0AFBBCC5UL0x7889E1DD9A6D0C85UL,  
            
0xD33525782A7974AAUL0xA7E25D09078AC09BUL0xBD4138B3EAC6EDD0UL0x920ABFBE71EB9E70UL,  
            
0xA2A5D0F54FC2625CUL0xC054E36B0B1290A3UL0xF6DD59FF62FE932BUL0x3537354511A8AC7DUL,  
            
0xCA845E9172FADCD4UL0x84F82B60329D20DCUL0x79C62CE1CD672F18UL0x8B09A2ADD124642CUL,  
            
0xD0C1E96A19D9E726UL0x5A786A9B4BA9500CUL0x0E020336634C43F3UL0xC17B474AEB66D822UL,  
            
0x6A731AE3EC9BAAC2UL0x8226667AE0840258UL0x67D4567691CAECA5UL0x1D94155C4875ADB5UL,  
            
0x6D00FD985B813FDFUL0x51286EFCB774CD06UL0x5E8834471FA744AFUL0xF72CA0AEE761AE2EUL,  
            
0xBE40E4CDAEE8E09AUL0xE9970BBB5118F665UL0x726E4BEB33DF1964UL0x703B000729199762UL,  
            
0x4631D816F5EF30A7UL0xB880B5B51504A6BEUL0x641793C37ED84B6CUL0x7B21ED77F6E97D96UL,  
            
0x776306312EF96B73UL0xAE528948E86FF3F4UL0x53DBD7F286A3F8F8UL0x16CADCE74CFC1063UL,  
            
0x005C19BDFA52C6DDUL0x68868F5D64D46AD3UL0x3A9D512CCF1E186AUL0x367E62C2385660AEUL,  
            
0xE359E7EA77DCB1D7UL0x526C0773749ABE6EUL0x735AE5F9D09F734BUL0x493FC7CC8A558BA8UL,  
            
0xB0B9C1533041AB45UL0x321958BA470A59BDUL0x852DB00B5F46C393UL0x91209B2BD336B0E5UL,  
            
0x6E604F7D659EF19FUL0xB99A8AE2782CCB24UL0xCCF52AB6C814C4C7UL0x4727D9AFBE11727BUL,  
            
0x7E950D0C0121B34DUL0x756F435670AD471FUL0xF5ADD442615A6849UL0x4E87E09980B9957AUL,  
            
0x2ACFA1DF50AEE355UL0xD898263AFD2FD556UL0xC8F4924DD80C8FD6UL0xCF99CA3D754A173AUL,  
            
0xFE477BACAF91BF3CUL0xED5371F6D690C12DUL0x831A5C285E687094UL0xC5D3C90A3708A0A4UL,  
            
0x0F7F903717D06580UL0x19F9BB13B8FDF27FUL0xB1BD6F1B4D502843UL0x1C761BA38FFF4012UL,  
            
0x0D1530C4E2E21F3BUL0x8943CE69A7372C8AUL0xE5184E11FEB5CE66UL0x618BDB80BD736621UL,  
            
0x7D29BAD68B574D0BUL0x81BB613E25E6FE5BUL0x071C9C10BC07913FUL0xC7BEEB7909AC2D97UL,  
            
0xC3E58D353BC5D757UL0xEB017892F38F61E8UL0xD4EFFB9C9B1CC21AUL0x99727D26F494F7ABUL,  
            
0xA3E063A2956B3E03UL0x9D4A8B9A4AA09C30UL0x3F6AB7D500090FB4UL0x9CC0F2A057268AC0UL,  
            
0x3DEE9D2DEDBF42D1UL0x330F49C87960A972UL0xC6B2720287421B41UL0x0AC59EC07C00369CUL,  
            
0xEF4EAC49CB353425UL0xF450244EEF0129D8UL0x8ACC46E5CAF4DEB6UL0x2FFEAB63989263F7UL,  
            
0x8F7CB9FE5D7A4578UL0x5BD8F7644E634635UL0x427A7315BF2DC900UL0x17D0C4AA2125261CUL,  
            
0x3992486C93518E50UL0xB4CBFEE0A2D7D4C3UL0x7C75D6202C5DDD8DUL0xDBC295D8E35B6C61UL,  
            
0x60B369D302032B19UL0xCE42685FDCE44132UL0x06F3DDB9DDF65610UL0x8EA4D21DB5E148F0UL,  
            
0x20B0FCE62FCD496FUL0x2C1B912358B0EE31UL0xB28317B818F5A308UL0xA89C1E189CA6D2CFUL,  
            
0x0C6B18576AAADBC8UL0xB65DEAA91299FAE3UL0xFB2B794B7F1027E7UL0x04E4317F443B5BEBUL,  
            
0x4B852D325939D0A6UL0xD5AE6BEEFB207FFCUL0x309682B281C7D374UL0xBAE309A194C3B475UL,  
            
0x8CC3F97B13B49F05UL0x98A9422FF8293967UL0x244B16B01076FF7CUL0xF8BF571C663D67EEUL,  
            
0x1F0D6758EEE30DA1UL0xC9B611D97ADEB9B7UL0xB7AFD5887B6C57A2UL0x6290AE846B984FE1UL,  
            
0x94DF4CDEACC1A5FDUL0x058A5BD1C5483AFFUL0x63166CC142BA3C37UL0x8DB8526EB2F76F40UL,  
            
0xE10880036F0D6D4EUL0x9E0523C9971D311DUL0x45EC2824CC7CD691UL0x575B8359E62382C9UL,  
            
0xFA9E400DC4889995UL0xD1823ECB45721568UL0xDAFD983B8206082FUL0xAA7D29082386A8CBUL,  
            
0x269FCD4403B87588UL0x1B91F5F728BDD1E0UL0xE4669F39040201F6UL0x7A1D7C218CF04ADEUL,  
            
0x65623C29D79CE5CEUL0x2368449096C00BB1UL0xAB9BF1879DA503BAUL0xBC23ECB1A458058EUL,  
            
0x9A58DF01BB401ECCUL0xA070E868A85F143DUL0x4FF188307DF2239EUL0x14D565B41A641183UL,  
            
0xEE13337452701602UL0x950E3DCF3F285E09UL0x59930254B9C80953UL0x3BF299408930DA6DUL,  
            
0xA955943F53691387UL0xA15EDECAA9CB8784UL0x29142127352BE9A0UL0x76F0371FFF4E7AFBUL,  
            
0x0239F450274F2228UL0xBB073AF01D5E868BUL0xBFC80571C10E96C1UL0xD267088568222E23UL,  
            
0x9671A3D48E80B5B0UL0x55B5D38AE193BB81UL0x693AE2D0A18B04B8UL0x5C48B4ECADD5335FUL,  
            
0xFD743B194916A1CAUL0x2577018134BE98C4UL0xE77987E83C54A4ADUL0x28E11014DA33E1B9UL,  
            
0x270CC59E226AA213UL0x71495F756D1A5F60UL0x9BE853FB60AFEF77UL0xADC786A7F7443DBFUL,  
            
0x0904456173B29A82UL0x58BC7A66C232BD5EUL0xF306558C673AC8B2UL0x41F639C6B6C9772AUL,  
            
0x216DEFE99FDA35DAUL0x11640CC71C7BE615UL0x93C43694565C5527UL0xEA038E6246777839UL,  
            
0xF9ABF3CE5A3E2469UL0x741E768D0FD312D2UL0x0144B883CED652C6UL0xC20B5A5BA33F8552UL,  
            
0x1AE69633C3435A9DUL0x97A28CA4088CFDECUL0x8824A43C1E96F420UL0x37612FA66EEEA746UL,  
            
0x6B4CB165F9CF0E5AUL0x43AA1C06A0ABFB4AUL0x7F4DC26FF162796BUL0x6CBACC8E54ED9B0FUL,  
            
0xA6B7FFEFD2BB253EUL0x2E25BC95B0A29D4FUL0x86D6A58BDEF1388CUL0xDED74AC576B6F054UL,  
            
0x8030BDBC2B45805DUL0x3C81AF70E94D9289UL0x3EFF6DDA9E3100DBUL0xB38DC39FDFCC8847UL,  
            
0x123885528D17B87EUL0xF2DA0ED240B1B642UL0x44CEFADCD54BF9A9UL0x1312200E433C7EE6UL,  
            
0x9FFCC84F3A78C748UL0xF0CD1F72248576BBUL0xEC6974053638CFE4UL0x2BA7B67C0CEC4E4CUL,  
            
0xAC2F4DF3E5CE32EDUL0xCB33D14326EA4C11UL0xA4E9044CC77E58BCUL0x5F513293D934FCEFUL,  
            
0x5DC9645506E55444UL0x50DE418F317DE40AUL0x388CB31A69DDE259UL0x2DB4A83455820A86UL,  
            
0x9010A91E84711AE9UL0x4DF7F0B7B1498371UL0xD62A2EABC0977179UL0x22FAC097AA8D5C0EUL }; 

        public static 
ulong[] SBOX3 = new ulong[0x100] { 
            
0xF49FCC2FF1DAF39BUL0x487FD5C66FF29281UL0xE8A30667FCDCA83FUL0x2C9B4BE3D2FCCE63UL,  
            
0xDA3FF74B93FBBBC2UL0x2FA165D2FE70BA66UL0xA103E279970E93D4UL0xBECDEC77B0E45E71UL,  
            
0xCFB41E723985E497UL0xB70AAA025EF75017UL0xD42309F03840B8E0UL0x8EFC1AD035898579UL,  
            
0x96C6920BE2B2ABC5UL0x66AF4163375A9172UL0x2174ABDCCA7127FBUL0xB33CCEA64A72FF41UL,  
            
0xF04A4933083066A5UL0x8D970ACDD7289AF5UL0x8F96E8E031C8C25EUL0xF3FEC02276875D47UL,  
            
0xEC7BF310056190DDUL0xF5ADB0AEBB0F1491UL0x9B50F8850FD58892UL0x4975488358B74DE8UL,  
            
0xA3354FF691531C61UL0x0702BBE481D2C6EEUL0x89FB24057DEDED98UL0xAC3075138596E902UL,  
            
0x1D2D3580172772EDUL0xEB738FC28E6BC30DUL0x5854EF8F63044326UL0x9E5C52325ADD3BBEUL,  
            
0x90AA53CF325C4623UL0xC1D24D51349DD067UL0x2051CFEEA69EA624UL0x13220F0A862E7E4FUL,  
            
0xCE39399404E04864UL0xD9C42CA47086FCB7UL0x685AD2238A03E7CCUL0x066484B2AB2FF1DBUL,  
            
0xFE9D5D70EFBF79ECUL0x5B13B9DD9C481854UL0x15F0D475ED1509ADUL0x0BEBCD060EC79851UL,  
            
0xD58C6791183AB7F8UL0xD1187C5052F3EEE4UL0xC95D1192E54E82FFUL0x86EEA14CB9AC6CA2UL,  
            
0x3485BEB153677D5DUL0xDD191D781F8C492AUL0xF60866BAA784EBF9UL0x518F643BA2D08C74UL,  
            
0x8852E956E1087C22UL0xA768CB8DC410AE8DUL0x38047726BFEC8E1AUL0xA67738B4CD3B45AAUL,  
            
0xAD16691CEC0DDE19UL0xC6D4319380462E07UL0xC5A5876D0BA61938UL0x16B9FA1FA58FD840UL,  
            
0x188AB1173CA74F18UL0xABDA2F98C99C021FUL0x3E0580AB134AE816UL0x5F3B05B773645ABBUL,  
            
0x2501A2BE5575F2F6UL0x1B2F74004E7E8BA9UL0x1CD7580371E8D953UL0x7F6ED89562764E30UL,  
            
0xB15926FF596F003DUL0x9F65293DA8C5D6B9UL0x6ECEF04DD690F84CUL0x4782275FFF33AF88UL,  
            
0xE41433083F820801UL0xFD0DFE409A1AF9B5UL0x4325A3342CDB396BUL0x8AE77E62B301B252UL,  
            
0xC36F9E9F6655615AUL0x85455A2D92D32C09UL0xF2C7DEA949477485UL0x63CFB4C133A39EBAUL,  
            
0x83B040CC6EBC5462UL0x3B9454C8FDB326B0UL0x56F56A9E87FFD78CUL0x2DC2940D99F42BC6UL,  
            
0x98F7DF096B096E2DUL0x19A6E01E3AD852BFUL0x42A99CCBDBD4B40BUL0xA59998AF45E9C559UL,  
            
0x366295E807D93186UL0x6B48181BFAA1F773UL0x1FEC57E2157A0A1DUL0x4667446AF6201AD5UL,  
            
0xE615EBCACFB0F075UL0xB8F31F4F68290778UL0x22713ED6CE22D11EUL0x3057C1A72EC3C93BUL,  
            
0xCB46ACC37C3F1F2FUL0xDBB893FD02AAF50EUL0x331FD92E600B9FCFUL0xA498F96148EA3AD6UL,  
            
0xA8D8426E8B6A83EAUL0xA089B274B7735CDCUL0x87F6B3731E524A11UL0x118808E5CBC96749UL,  
            
0x9906E4C7B19BD394UL0xAFED7F7E9B24A20CUL0x6509EADEEB3644A7UL0x6C1EF1D3E8EF0EDEUL,  
            
0xB9C97D43E9798FB4UL0xA2F2D784740C28A3UL0x7B8496476197566FUL0x7A5BE3E6B65F069DUL,  
            
0xF96330ED78BE6F10UL0xEEE60DE77A076A15UL0x2B4BEE4AA08B9BD0UL0x6A56A63EC7B8894EUL,  
            
0x02121359BA34FEF4UL0x4CBF99F8283703FCUL0x398071350CAF30C8UL0xD0A77A89F017687AUL,  
            
0xF1C1A9EB9E423569UL0x8C7976282DEE8199UL0x5D1737A5DD1F7ABDUL0x4F53433C09A9FA80UL,  
            
0xFA8B0C53DF7CA1D9UL0x3FD9DCBC886CCB77UL0xC040917CA91B4720UL0x7DD00142F9D1DCDFUL,  
            
0x8476FC1D4F387B58UL0x23F8E7C5F3316503UL0x032A2244E7E37339UL0x5C87A5D750F5A74BUL,  
            
0x082B4CC43698992EUL0xDF917BECB858F63CUL0x3270B8FC5BF86DDAUL0x10AE72BB29B5DD76UL,  
            
0x576AC94E7700362BUL0x1AD112DAC61EFB8FUL0x691BC30EC5FAA427UL0xFF246311CC327143UL,  
            
0x3142368E30E53206UL0x71380E31E02CA396UL0x958D5C960AAD76F1UL0xF8D6F430C16DA536UL,  
            
0xC8FFD13F1BE7E1D2UL0x7578AE66004DDBE1UL0x05833F01067BE646UL0xBB34B5AD3BFE586DUL,  
            
0x095F34C9A12B97F0UL0x247AB64525D60CA8UL0xDCDBC6F3017477D1UL0x4A2E14D4DECAD24DUL,  
            
0xBDB5E6D9BE0A1EEBUL0x2A7E70F7794301ABUL0xDEF42D8A270540FDUL0x01078EC0A34C22C1UL,  
            
0xE5DE511AF4C16387UL0x7EBB3A52BD9A330AUL0x77697857AA7D6435UL0x004E831603AE4C32UL,  
            
0xE7A21020AD78E312UL0x9D41A70C6AB420F2UL0x28E06C18EA1141E6UL0xD2B28CBD984F6B28UL,  
            
0x26B75F6C446E9D83UL0xBA47568C4D418D7FUL0xD80BADBFE6183D8EUL0x0E206D7F5F166044UL,  
            
0xE258A43911CBCA3EUL0x723A1746B21DC0BCUL0xC7CAA854F5D7CDD3UL0x7CAC32883D261D9CUL,  
            
0x7690C26423BA942CUL0x17E55524478042B8UL0xE0BE477656A2389FUL0x4D289B5E67AB2DA0UL,  
            
0x44862B9C8FBBFD31UL0xB47CC8049D141365UL0x822C1B362B91C793UL0x4EB14655FB13DFD8UL,  
            
0x1ECBBA0714E2A97BUL0x6143459D5CDE5F14UL0x53A8FBF1D5F0AC89UL0x97EA04D81C5E5B00UL,  
            
0x622181A8D4FDB3F3UL0xE9BCD341572A1208UL0x1411258643CCE58AUL0x9144C5FEA4C6E0A4UL,  
            
0x0D33D06565CF620FUL0x54A48D489F219CA1UL0xC43E5EAC6D63C821UL0xA9728B3A72770DAFUL,  
            
0xD7934E7B20DF87EFUL0xE35503B61A3E86E5UL0xCAE321FBC819D504UL0x129A50B3AC60BFA6UL,  
            
0xCD5E68EA7E9FB6C3UL0xB01C90199483B1C7UL0x3DE93CD5C295376CUL0xAED52EDF2AB9AD13UL,  
            
0x2E60F512C0A07884UL0xBC3D86A3E36210C9UL0x35269D9B163951CEUL0x0C7D6E2AD0CDB5FAUL,  
            
0x59E86297D87F5733UL0x298EF221898DB0E7UL0x55000029D1A5AA7EUL0x8BC08AE1B5061B45UL,  
            
0xC2C31C2B6C92703AUL0x94CC596BAF25EF42UL0x0A1D73DB22540456UL0x04B6A0F9D9C4179AUL,  
            
0xEFFDAFA2AE3D3C60UL0xF7C8075BB49496C4UL0x9CC5C7141D1CD4E3UL0x78BD1638218E5534UL,  
            
0xB2F11568F850246AUL0xEDFABCFA9502BC29UL0x796CE5F2DA23051BUL0xAAE128B0DC93537CUL,  
            
0x3A493DA0EE4B29AEUL0xB5DF6B2C416895D7UL0xFCABBD25122D7F37UL0x70810B58105DC4B1UL,  
            
0xE10FDD37F7882A90UL0x524DCAB5518A3F5CUL0x3C9E85878451255BUL0x4029828119BD34E2UL,  
            
0x74A05B6F5D3CECCBUL0xB610021542E13ECAUL0x0FF979D12F59E2ACUL0x6037DA27E4F9CC50UL,  
            
0x5E92975A0DF1847DUL0xD66DE190D3E623FEUL0x5032D6B87B568048UL0x9A36B7CE8235216EUL,  
            
0x80272A7A24F64B4AUL0x93EFED8B8C6916F7UL0x37DDBFF44CCE1555UL0x4B95DB5D4B99BD25UL,  
            
0x92D3FDA169812FC0UL0xFB1A4A9A90660BB6UL0x730C196946A4B9B2UL0x81E289AA7F49DA68UL,  
            
0x64669A0F83B1A05FUL0x27B3FF7D9644F48BUL0xCC6B615C8DB675B3UL0x674F20B9BCEBBE95UL,  
            
0x6F31238275655982UL0x5AE488713E45CF05UL0xBF619F9954C21157UL0xEABAC46040A8EAE9UL,  
            
0x454C6FE9F2C0C1CDUL0x419CF6496412691CUL0xD3DC3BEF265B0F70UL0x6D0E60F5C3578A9EUL }; 

        public static 
ulong[] SBOX4 = new ulong[0x100] { 
            
0x5B0E608526323C55UL0x1A46C1A9FA1B59F5UL0xA9E245A17C4C8FFAUL0x65CA5159DB2955D7UL,  
            
0x05DB0A76CE35AFC2UL0x81EAC77EA9113D45UL0x528EF88AB6AC0A0DUL0xA09EA253597BE3FFUL,  
            
0x430DDFB3AC48CD56UL0xC4B3A67AF45CE46FUL0x4ECECFD8FBE2D05EUL0x3EF56F10B39935F0UL,  
            
0x0B22D6829CD619C6UL0x17FD460A74DF2069UL0x6CF8CC8E8510ED40UL0xD6C824BF3A6ECAA7UL,  
            
0x61243D581A817049UL0x048BACB6BBC163A2UL0xD9A38AC27D44CC32UL0x7FDDFF5BAAF410ABUL,  
            
0xAD6D495AA804824BUL0xE1A6A74F2D8C9F94UL0xD4F7851235DEE8E3UL0xFD4B7F886540D893UL,  
            
0x247C20042AA4BFDAUL0x096EA1C517D1327CUL0xD56966B4361A6685UL0x277DA5C31221057DUL,  
            
0x94D59893A43ACFF7UL0x64F0C51CCDC02281UL0x3D33BCC4FF6189DBUL0xE005CB184CE66AF1UL,  
            
0xFF5CCD1D1DB99BEAUL0xB0B854A7FE42980FUL0x7BD46A6A718D4B9FUL0xD10FA8CC22A5FD8CUL,  
            
0xD31484952BE4BD31UL0xC7FA975FCB243847UL0x4886ED1E5846C407UL0x28CDDB791EB70B04UL,  
            
0xC2B00BE2F573417FUL0x5C9590452180F877UL0x7A6BDDFFF370EB00UL0xCE509E38D6D9D6A4UL,  
            
0xEBEB0F00647FA702UL0x1DCC06CF76606F06UL0xE4D9F28BA286FF0AUL0xD85A305DC918C262UL,  
            
0x475B1D8732225F54UL0x2D4FB51668CCB5FEUL0xA679B9D9D72BBA20UL0x53841C0D912D43A5UL,  
            
0x3B7EAA48BF12A4E8UL0x781E0E47F22F1DDFUL0xEFF20CE60AB50973UL0x20D261D19DFFB742UL,  
            
0x16A12B03062A2E39UL0x1960EB2239650495UL0x251C16FED50EB8B8UL0x9AC0C330F826016EUL,  
            
0xED152665953E7671UL0x02D63194A6369570UL0x5074F08394B1C987UL0x70BA598C90B25CE1UL,  
            
0x794A15810B9742F6UL0x0D5925E9FCAF8C6CUL0x3067716CD868744EUL0x910AB077E8D7731BUL,  
            
0x6A61BBDB5AC42F61UL0x93513EFBF0851567UL0xF494724B9E83E9D5UL0xE887E1985C09648DUL,  
            
0x34B1D3C675370CFDUL0xDC35E433BC0D255DUL0xD0AAB84234131BE0UL0x08042A50B48B7EAFUL,  
            
0x9997C4EE44A3AB35UL0x829A7B49201799D0UL0x263B8307B7C54441UL0x752F95F4FD6A6CA6UL,  
            
0x927217402C08C6E5UL0x2A8AB754A795D9EEUL0xA442F7552F72943DUL0x2C31334E19781208UL,  
            
0x4FA98D7CEAEE6291UL0x55C3862F665DB309UL0xBD0610175D53B1F3UL0x46FE6CB840413F27UL,  
            
0x3FE03792DF0CFA59UL0xCFE700372EB85E8FUL0xA7BE29E7ADBCE118UL0xE544EE5CDE8431DDUL,  
            
0x8A781B1B41F1873EUL0xA5C94C78A0D2F0E7UL0x39412E2877B60728UL0xA1265EF3AFC9A62CUL,  
            
0xBCC2770C6A2506C5UL0x3AB66DD5DCE1CE12UL0xE65499D04A675B37UL0x7D8F523481BFD216UL,  
            
0x0F6F64FCEC15F389UL0x74EFBE618B5B13C8UL0xACDC82B714273E1DUL0xDD40BFE003199D17UL,  
            
0x37E99257E7E061F8UL0xFA52626904775AAAUL0x8BBBF63A463D56F9UL0xF0013F1543A26E64UL,  
            
0xA8307E9F879EC898UL0xCC4C27A4150177CCUL0x1B432F2CCA1D3348UL0xDE1D1F8F9F6FA013UL,  
            
0x606602A047A7DDD6UL0xD237AB64CC1CB2C7UL0x9B938E7225FCD1D3UL0xEC4E03708E0FF476UL,  
            
0xFEB2FBDA3D03C12DUL0xAE0BCED2EE43889AUL0x22CB8923EBFB4F43UL0x69360D013CF7396DUL,  
            
0x855E3602D2D4E022UL0x073805BAD01F784CUL0x33E17A133852F546UL0xDF4874058AC7B638UL,  
            
0xBA92B29C678AA14AUL0x0CE89FC76CFAADCDUL0x5F9D4E0908339E34UL0xF1AFE9291F5923B9UL,  
            
0x6E3480F60F4A265FUL0xEEBF3A2AB29B841CUL0xE21938A88F91B4ADUL0x57DFEFF845C6D3C3UL,  
            
0x2F006B0BF62CAAF2UL0x62F479EF6F75EE78UL0x11A55AD41C8916A9UL0xF229D29084FED453UL,  
            
0x42F1C27B16B000E6UL0x2B1F76749823C074UL0x4B76ECA3C2745360UL0x8C98F463B91691BDUL,  
            
0x14BCC93CF1ADE66AUL0x8885213E6D458397UL0x8E177DF0274D4711UL0xB49B73B5503F2951UL,  
            
0x10168168C3F96B6BUL0x0E3D963B63CAB0AEUL0x8DFC4B5655A1DB14UL0xF789F1356E14DE5CUL,  
            
0x683E68AF4E51DAC1UL0xC9A84F9D8D4B0FD9UL0x3691E03F52A0F9D1UL0x5ED86E46E1878E80UL,  
            
0x3C711A0E99D07150UL0x5A0865B20C4E9310UL0x56FBFC1FE4F0682EUL0xEA8D5DE3105EDF9BUL,  
            
0x71ABFDB12379187AUL0x2EB99DE1BEE77B9CUL0x21ECC0EA33CF4523UL0x59A4D7521805C7A1UL,  
            
0x3896F5EB56AE7C72UL0xAA638F3DB18F75DCUL0x9F39358DABE9808EUL0xB7DEFA91C00B72ACUL,  
            
0x6B5541FD62492D92UL0x6DC6DEE8F92E4D5BUL0x353F57ABC4BEEA7EUL0x735769D6DA5690CEUL,  
            
0x0A234AA642391484UL0xF6F9508028F80D9DUL0xB8E319A27AB3F215UL0x31AD9C1151341A4DUL,  
            
0x773C22A57BEF5805UL0x45C7561A07968633UL0xF913DA9E249DBE36UL0xDA652D9B78A64C68UL,  
            
0x4C27A97F3BC334EFUL0x76621220E66B17F4UL0x967743899ACD7D0BUL0xF3EE5BCAE0ED6782UL,  
            
0x409F753600C879FCUL0x06D09A39B5926DB6UL0x6F83AEB0317AC588UL0x01E6CA4A86381F21UL,  
            
0x66FF3462D19F3025UL0x72207C24DDFD3BFBUL0x4AF6B6D3E2ECE2EBUL0x9C994DBEC7EA08DEUL,  
            
0x49ACE597B09A8BC4UL0xB38C4766CF0797BAUL0x131B9373C57C2A75UL0xB1822CCE61931E58UL,  
            
0x9D7555B909BA1C0CUL0x127FAFDD937D11D2UL0x29DA3BADC66D92E4UL0xA2C1D57154C2ECBCUL,  
            
0x58C5134D82F6FE24UL0x1C3AE3515B62274FUL0xE907C82E01CB8126UL0xF8ED091913E37FCBUL,  
            
0x3249D8F9C80046C9UL0x80CF9BEDE388FB63UL0x1881539A116CF19EUL0x5103F3F76BD52457UL,  
            
0x15B7E6F5AE47F7A8UL0xDBD7C6DED47E9CCFUL0x44E55C410228BB1AUL0xB647D4255EDB4E99UL,  
            
0x5D11882BB8AAFC30UL0xF5098BBB29D3212AUL0x8FB5EA14E90296B3UL0x677B942157DD025AUL,  
            
0xFB58E7C0A390ACB5UL0x89D3674C83BD4A01UL0x9E2DA4DF4BF3B93BUL0xFCC41E328CAB4829UL,  
            
0x03F38C96BA582C52UL0xCAD1BDBD7FD85DB2UL0xBBB442C16082AE83UL0xB95FE86BA5DA9AB0UL,  
            
0xB22E04673771A93FUL0x845358C9493152D8UL0xBE2A488697B4541EUL0x95A2DC2DD38E6966UL,  
            
0xC02C11AC923C852BUL0x2388B1990DF2A87BUL0x7C8008FA1B4F37BEUL0x1F70D0C84D54E503UL,  
            
0x5490ADEC7ECE57D4UL0x002B3C27D9063A3AUL0x7EAEA3848030A2BFUL0xC602326DED2003C0UL,  
            
0x83A7287D69A94086UL0xC57A5FCB30F57A8AUL0xB56844E479EBE779UL0xA373B40F05DCBCE9UL,  
            
0xD71A786E88570EE2UL0x879CBACDBDE8F6A0UL0x976AD1BCC164A32FUL0xAB21E25E9666D78BUL,  
            
0x901063AAE5E5C33CUL0x9818B34448698D90UL0xE36487AE3E1E8ABBUL0xAFBDF931893BDCB4UL,  
            
0x6345A0DC5FBBD519UL0x8628FE269B9465CAUL0x1E5D01603F9C51ECUL0x4DE44006A15049B7UL,  
            
0xBF6C70E5F776CBB1UL0x411218F2EF552BEDUL0xCB0C0708705A36A3UL0xE74D14754F986044UL,  
            
0xCD56D9430EA8280EUL0xC12591D7535F5065UL0xC83223F1720AEF96UL0xC3A0396F7363A51FUL }; 
        
#endregion 
        
private ulong[] _x = new ulong[8]; 
        private 
ulong[] _digest = new ulong[3]; 
        private 
byte[] _buffer = new byte[BLOCKSIZE]; 
        private 
ulong _count 0
        public 
TigerHashAlgorithm() 
        { 
            
_digest[0] = 0x0123456789ABCDEFUL
            
_digest[1] = 0xFEDCBA9876543210UL
            
_digest[2] = 0xF096A5B4C3B2E187UL
        } 
        public 
void Hash(byte[] input
        { 
            if (
input.Length != 0
            { 
                
byte[] buffer = new byte[input.Length + (input.Length 8)]; 
                
System.Buffer.BlockCopy(input0buffer0input.Length); 
                
input buffer
            } 
            for (
int j 0input.Length 8j++) 
                
_x[j] = ((ulong)input[7] << 56) | ((ulong)input[6] << 48) | 
                        ((
ulong)input[5] << 40) | ((ulong)input[4] << 32) | 
                        ((
ulong)input[3] << 24) | ((ulong)input[2] << 16) | 
                        ((
ulong)input[1] << 8) | ((ulong)input[j]); 
            
ulong A _digest[0], _digest[1], _digest[2]; 
            
Round(ref Aref Bref C_x[0], 5); Round(ref Bref Cref A_x[1], 5); Round(ref Cref Aref B_x[2], 5); 
            
Round(ref Aref Bref C_x[3], 5); Round(ref Bref Cref A_x[4], 5); Round(ref Cref Aref B_x[5], 5); 
            
Round(ref Aref Bref C_x[6], 5); Round(ref Bref Cref A_x[7], 5); 
            
_x[0] -= _x[7] ^ 0xA5A5A5A5A5A5A5A5UL_x[1] ^= _x[0]; 
            
_x[2] += _x[1]; _x[3] -= _x[2] ^ ((~_x[1]) << 19); _x[4] ^= _x[3]; 
            
_x[5] += _x[4]; _x[6] -= _x[5] ^ ((~_x[4]) >> 23); _x[7] ^= _x[6]; 
            
_x[0] += _x[7]; _x[1] -= _x[0] ^ ((~_x[7]) << 19); _x[2] ^= _x[1]; 
            
_x[3] += _x[2]; _x[4] -= _x[3] ^ ((~_x[2]) >> 23); _x[5] ^= _x[4]; 
            
_x[6] += _x[5]; _x[7] -= _x[6] ^ 0x0123456789ABCDEFUL
            
Round(ref Cref Aref B_x[0], 7); Round(ref Aref Bref C_x[1], 7); Round(ref Bref Cref A_x[2], 7); 
            
Round(ref Cref Aref B_x[3], 7); Round(ref Aref Bref C_x[4], 7); Round(ref Bref Cref A_x[5], 7); 
            
Round(ref Cref Aref B_x[6], 7); Round(ref Aref Bref C_x[7], 7); 
            
_x[0] -= _x[7] ^ 0xA5A5A5A5A5A5A5A5UL_x[1] ^= _x[0]; 
            
_x[2] += _x[1]; _x[3] -= _x[2] ^ ((~_x[1]) << 19); _x[4] ^= _x[3]; 
            
_x[5] += _x[4]; _x[6] -= _x[5] ^ ((~_x[4]) >> 23); _x[7] ^= _x[6]; 
            
_x[0] += _x[7]; _x[1] -= _x[0] ^ ((~_x[7]) << 19); _x[2] ^= _x[1]; 
            
_x[3] += _x[2]; _x[4] -= _x[3] ^ ((~_x[2]) >> 23); _x[5] ^= _x[4]; 
            
_x[6] += _x[5]; _x[7] -= _x[6] ^ 0x0123456789ABCDEFUL
            
Round(ref Bref Cref A_x[0], 9); Round(ref Cref Aref B_x[1], 9); Round(ref Aref Bref C_x[2], 9); 
            
Round(ref Bref Cref A_x[3], 9); Round(ref Cref Aref B_x[4], 9); Round(ref Aref Bref C_x[5], 9); 
            
Round(ref Bref Cref A_x[6], 9); Round(ref Cref Aref B_x[7], 9); 
            
_digest[0] ^= A_digest[1] = _digest[1]; _digest[2] += C
        } 
        [
MethodImpl(MethodImplOptions.AggressiveInlining)] 
        private 
void Round(ref ulong Aref ulong Bref ulong Culong msgulong mult
        { 
            
^= msg
            
-= SBOX1[GetByte(7C)] ^ SBOX2[GetByte(5C)] ^ 
                 
SBOX3[GetByte(3C)] ^ SBOX4[GetByte(1C)]; 
            
-= SBOX1[GetByte(0C)] ^ SBOX2[GetByte(2C)] ^ 
                 
SBOX3[GetByte(4C)] ^ SBOX4[GetByte(6C)]; 
            
*= mult
        } 
        public 
byte[] Final(int hashLength
        { 
            
byte[] result = new byte[hashLength]; 
            
_buffer[0] = 0x01
            for (
int j BLOCKSIZE 8BLOCKSIZEj++) 
                
_buffer[j] = GetByte(- (8), _count); 
            
Hash(_buffer); 
            for (
int j 0hashLengthj++) 
                
result[j] = GetByte(- (8), _digest[(8) % 3]); 
            return 
result
        } 
        private static 
byte GetByte(int byteNumulong input
        { 
            return (
byte)(input >> ((sizeof(ulong) - - (byteNum & (sizeof(ulong) - 1))) << 3)); 
        } 
    } 
    public 
unsafe sealed class TransferCipher 
    

        public static 
byte[] Key
        public static 
byte[] Salt
        private 
RivestCipher5 _rivest
        public 
TransferCipher(string unique
        { 
            
TigerHashAlgorithm tigerHash = new TigerHashAlgorithm(); 
            
tigerHash.Hash(Encoding.ASCII.GetBytes(unique)); 
            
tigerHash.Hash(Key); 
            
PasswordDeriveBytes password = new PasswordDeriveBytes(tigerHash.Final(0x10), Salt); 
            
_rivest = new RivestCipher5(); 
            
_rivest.GenerateKeys(password.GetBytes(16)); 
        } 
        public 
TransferCipher(string keystring saltstring unique
        { 
            
TigerHashAlgorithm tigerHash = new TigerHashAlgorithm(); 
            
tigerHash.Hash(Encoding.ASCII.GetBytes(unique)); 
            
tigerHash.Hash(Encoding.ASCII.GetBytes(key)); 
            
PasswordDeriveBytes password = new PasswordDeriveBytes(tigerHash.Final(0x10), Encoding.ASCII.GetBytes(salt)); 
            
_rivest = new RivestCipher5(); 
            
_rivest.GenerateKeys(password.GetBytes(16)); 
        } 
        public 
uint[] Encrypt(uint[] input
        { 
            
byte[] buffer = new byte[8]; 
            
fixed (byteptr buffer
            { 
                *(
uint*)(ptr) = input[0]; 
                *(
uint*)(ptr 4) = input[1]; 
            } 
            
_rivest.Encrypt(buffer); 
            return new 
uint[2] { BitConverter.ToUInt32(buffer0), BitConverter.ToUInt32(buffer4) }; 
        } 
        public 
uint[] Decrypt(uint[] input
        { 
            
byte[] buffer = new byte[8]; 
            
fixed (byteptr buffer
            { 
                *(
uint*)(ptr 0) = input[0]; 
                *(
uint*)(ptr 4) = input[1]; 
            } 
            
_rivest.Decrypt(buffer); 
            return new 
uint[2] { BitConverter.ToUInt32(buffer0), BitConverter.ToUInt32(buffer4) }; 
        } 
    } 


اخر حاجه اضافه الانبسي نضيف دول


كود:
#region ServerTransferOfficer 
                                
case 15702
                                    { 
                                        
dialog.Avatar(186); 
                                        switch (
CMsgTaskDialog.OptionID
                                        { 
                                            case 
0
                                                { 
                                                    
dialog.Text("Guys, I`m responsible for transferring servers. If you don`t wanna stay here anymore, I can help anytime except 07:00 - 09:30 and 15:00 - 17:30. Anything?"); 
                                                    
dialog.Text("Yeah,~tell~me~more~about~it."); 
                                                    
dialog.Option("Yeah,~tell~me~more~about~it."1); 
                                                    
dialog.Option("I~wanna~transfer~now."2); 
                                                    
dialog.Option("Nothing."255); 
                                                    
dialog.Send(); 
                                                    break; 
                                                } 
                                            case 
1
                                                { 
                                                    
dialog.Text("I like curious people, seriously. There`re something you need to do before transferring:"); 
                                                    
dialog.Text("~1. Cancel all your relationships with this server, including guild, clan, mentor, trade partner and marriage."); 
                                                    
dialog.Text("~2. Make sure you aren`t detaining other players` equipment, or your equipment is being detained by others."); 
                                                    
dialog.Text("~3. Retrieve all items from your itemboxes in your house."); 
                                                    
dialog.Text("~4. Claim all your TQ Point Cards. 5. View all your unread messages. 6. Claim your mentor exp."); 
                                                    
dialog.Text("~After that, give me 150000 CPs, done!"); 
                                                    
dialog.Option("I~got~it."255); 
                                                    
dialog.Send(); 
                                                    break; 
                                                } 
                                            case 
2
                                                { 
                                                    
CMsgPlayerTransfer.StatusServers(); 
                                                    
dialog.Text("Now select a server group."); 
                                                    if (
CMsgPlayerTransfer.Mode.EveOfWar_EU == 1
                                                        
dialog.Option("EveOfWar_EU [Online]"4); 
                                                    else 
                                                        
dialog.Option("EveOfWar_EU [Offline]"4); 
                                                    if (
CMsgPlayerTransfer.Mode.WarLord == 1
                                                        
dialog.Option("WarLord [Online]"5); 
                                                    else 
                                                        
dialog.Option("WarLord [Offline]"5); 
                                                    
dialog.Option("Nothing."255); 
                                                    
dialog.Send(); 
                                                    break; 
                                                } 
                                            case 
4
                                                { 
                                                    
CMsgPlayerTransfer.CheckServer("WarLord"client); 
                                                    break; 
                                                } 

                                        } 
                                        break; 
                                    } 
                                
#endregion 

وان شاء الله الاضافه تمام وشكرا ليكم ولي رايدر طبعا هو صاحب الموضوع والفكره حازم طبعا كان طلبها واهي موجوده دلوقتي في المنتدي

والسلام عليكم ورحمه الله وبركاته