منتدي اكواد

منتدي اكواد (https://code.vpscairo.com/index.php)
-   تطوير سيرفرات كونكر (https://code.vpscairo.com/forumdisplay.php?f=11)
-   -   دمج السرفرات وعمل حروب بينهم ServerTransferOfficer (https://code.vpscairo.com/showthread.php?t=2884)

zezonever 2019-11-11 05:00 AM

دمج السرفرات وعمل حروب بينهم ServerTransferOfficer
 
السلام عليكم ورحمه الله وبركاته :)

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

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

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

كود PHP:

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 هتلقي عندك كلاس اسمه
كود PHP:

DataHolder 

هتبحث علي
كود PHP:

public static MYSQLCONNECTION MySqlConnection 

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

كود PHP:

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

كود PHP:

using CONNECTION_ACC_SERVER MySql.Data.MySqlClient.MySqlConnection

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

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

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

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

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

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

كود PHP:

using (var cmd = new MySqlCommand(MySqlCommandType.UPDATE)) 

وبعدين هتغير

كود PHP:

AccServer.Database.MySqlCommandType 

يعني بدل MySqlCommand
هتعملها
كود PHP:

AccServer.Database.MySqlCommand 

مثلا زي كدة.

كود PHP:

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 وهتبحث عن :

كود PHP:

GameServer.Enable(GamePort"0.0.0.0"); 

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

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

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

كود PHP:

void AppendConnect 

وبدله بي دة

كود PHP:

 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); 
                } 
            } 

        } 

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

كود PHP:

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

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

TransferCipher

وضيف فية دول.

كود PHP:

 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) }; 
        } 
    } 


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

كود PHP:

#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 

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

والسلام عليكم ورحمه الله وبركاته :emoji11::harhar1::emoji21:

Tefa 2019-11-11 05:44 AM

رد: دمج السرفرات وعمل حروب بينهم ServerTransferOfficer
 
عاش

zezonever 2019-11-11 06:05 AM

رد: دمج السرفرات وعمل حروب بينهم ServerTransferOfficer
 
اقتباس:

المشاركة الأصلية كتبت بواسطة rider (المشاركة 21354)
عاش

عااش ليك انت يا حبيب قلبي ♥

Hassan Emprator 2019-11-11 07:43 AM

رد: دمج السرفرات وعمل حروب بينهم ServerTransferOfficer
 
عاش يخويا يمولعها

zezonever 2019-11-11 10:45 AM

رد: دمج السرفرات وعمل حروب بينهم ServerTransferOfficer
 
اقتباس:

المشاركة الأصلية كتبت بواسطة hassan emprator (المشاركة 21359)
عاش يخويا يمولعها

عشت يا حبيب قلبي اخويا انت ياض ♥

محمد ياسر 2019-11-11 12:32 PM

رد: دمج السرفرات وعمل حروب بينهم ServerTransferOfficer
 
كلمه عاش قليله للموضوع
تقيم 5 نجوم
شكرا ليك انت ورايدر

zezonever 2019-11-11 03:01 PM

رد: دمج السرفرات وعمل حروب بينهم ServerTransferOfficer
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Hazem (المشاركة 21370)
كلمه عاش قليله للموضوع
تقيم 5 نجوم
شكرا ليك انت ورايدر

ع اي يا حب انت تومر واحنا ننفذ ههههه حبيبي يا ابو حازم :):emoji11:

ALz3em 2019-11-11 07:38 PM

رد: دمج السرفرات وعمل حروب بينهم ServerTransferOfficer
 
عاش يابرنس

AbuMaryam 2019-11-11 10:43 PM

رد: دمج السرفرات وعمل حروب بينهم ServerTransferOfficer
 
تسلم ايدك يا صديقي

uncelsam 2019-11-11 11:33 PM

رد: دمج السرفرات وعمل حروب بينهم ServerTransferOfficer
 
عااااش والله


الساعة الآن 12:47 AM

مرحبا بكم في منتدي اكواد لتطوير الالعاب