عرض مشاركة واحدة
قديم 2020-04-01, 04:05 AM
المشاركة 5
Tyranny-Team's
.:: عضو نشيط ::.
  • غير متواجد
افتراضي رد: بعد اذنكو عايز اخلي الكينج مياخدش البرنس 1 هت وياخدو 2 هت
للاسف ولله معرفشي بس جرب كدا اعمل دي

هتخوش علي كلاس nobility.cs

هتمسح كل الي فيه وتضيف دا


كود:
using system;
using system.linq;
using system.collections.generic;
using mr_panda.network.gamepackets;
using system.io;


namespace 
mr_panda.game.conquerstructures
{
    public class 
nobility Mr_panda.network.writer
    
{


        public static 
ulong maxdonation 0;
        public static 
ulong maxdonation1 0;
        public static 
ulong maxdonation2 0;
        public static 
safedictionary<uintnobilityinformationboard = new safedictionary<uintnobilityinformation>(10000);
        public static list<
nobilityinformationboardlist = new list<nobilityinformation>(10000);
        public static 
void handle(nobilityinfo informationclient.gamestate client)
        {
            if (
information.type == nobilityinfo.donate)
                return;

            switch (
information.type)
            {
                case 
nobilityinfo.donate:
                    {
                        if (
client.trade.intrade)
                            return;
                        if (
client.player.donatetime)
                            return;
                        
ulong silvers information.dwparam;
                        
bool newdonator false;
                        
client.nobilityinformation.gender = (byte)(client.player.body 10);
                        if (
client.nobilityinformation.donation == 0)
                            
newdonator true;
                        if (
information.moneytype == 1)
                        {
                            
ulong cps silvers 50000;
                            if (
client.player.conquerpoints >= 10000)
                            {
                                
client.player.conquerpoints -= 10000;
                                
client.nobilityinformation.donation += silvers;
                            }
                        }
                        else
                        {
                            if (
client.player.money >= silvers)
                            {
                                
client.player.money -= (uint)silvers;
                                
client.nobilityinformation.donation += silvers;
                            }
                        }

                        if (!
board.containskey(client.player.uid) && client.nobilityinformation.donation == silvers && newdonator)
                        {
                            
board.add(client.player.uidclient.nobilityinformation);
                            try
                            {
                                
database.nobilitytable.insertnobilityinformation(client.nobilityinformation);
                            }
                            catch
                            {
                                
database.nobilitytable.updatenobilityinformation(client.nobilityinformation);
                            }
                        }
                        else
                        {
                            
database.nobilitytable.updatenobilityinformation(client.nobilityinformation);
                        }
                        
sort(client.player.uid);
                        break;
                    }
                case 
nobilityinfo.list:
                    {
                        
byte[] packet = new byte[600 8];
                        
network.writer.writeuint16(6000packet);
                        
network.writer.writeuint16(20642packet);
                        
network.writer.writeuint16(24packet);
                        
network.writer.writeuint16(510packet);
                        
network.writer.writeuint16(2012packet);
                        
int offset 120;
                        for (
int i = (int)(information.wparam1 10); information.wparam1 10 10 && boardlist.counti++)
                        {
                            var 
nob boardlist[i];
                            
network.writer.writeuint32(nob.entityuidoffsetpacket);
                            
offset += 4;
                            if (
kernel.gamepool.containskey(nob.entityuid))
                            {
                                
network.writer.writeuint32(1offsetpacket);
                                
offset += 4;
                                
network.writer.writeuint32(nob.meshoffsetpacket);
                                
offset += 4;
                            }
                            else
                            {
                                
offset += 8;
                            }
                            
network.writer.writestring(nob.nameoffsetpacket);
                            
offset += 20;
                            
network.writer.writeuint64(nob.donationoffsetpacket);
                            
offset += 8;
                            
network.writer.writeuint32((uint)nob.rankoffsetpacket);
                            
offset += 4;
                            
network.writer.writeuint32((uint)ioffsetpacket);
                            
offset += 4;
                        }
                        
client.send(packet);
                        break;
                    }
            }
        }
        public static 
void donate(ulong silversclient.gamestate clientbool npc false)
        {
            if (
npc == false)
                return;
            
bool newdonator false;
            
client.nobilityinformation.gender = (byte)(client.player.body 10);
            if (
client.nobilityinformation.donation == 0)
                
newdonator true;

            
client.nobilityinformation.donation += silvers;

            if (!
board.containskey(client.player.uid) && client.nobilityinformation.donation == silvers && newdonator)
            {
                
board.add(client.player.uidclient.nobilityinformation);
                try
                {
                    
database.nobilitytable.insertnobilityinformation(client.nobilityinformation);
                }
                catch
                {
                    
database.nobilitytable.updatenobilityinformation(client.nobilityinformation);
                }
            }
            else
            {
                
database.nobilitytable.updatenobilityinformation(client.nobilityinformation);
            }
            
sort(client.player.uid);
        }
        public static 
void sort(uint updateuid)
        {
            
safedictionary<uintnobilityinformationsortedboard = new safedictionary<uintnobilityinformation>();

            
int place 0;
            foreach (
nobilityinformation entry in board.values.orderbydescending((p) => p.donation))
            {
                
client.gamestate client null;
                try
                {
                    
int previousplace entry.position;
                    
entry.position place;
                    
nobilityrank rank nobilityrank.serf;

                    if (
place >= 10000)
                    {
                        if (
entry.donation >= 200000)
                        {
                            
rank nobilityrank.earl;
                        }
                        else if (
entry.donation >= 100000)
                        {
                            
rank nobilityrank.baron;
                        }
                        else if (
entry.donation >= 300000)
                        {
                            
rank nobilityrank.knight;
                        }
                    }
                    else
                    {
                        if (
place 10)
                        {
                            
rank nobilityrank.king;
                            if (
place < (10))
                            {
                                
maxdonation entry.donation;
                            }
                        }
                        else if (
place 20)
                        {
                            
rank nobilityrank.prince;
                            if (
place 20)
                            {
                                
maxdonation1 entry.donation;
                            }
                        }
                        else
                        {
                            if (
place 9999)
                            {
                            }
                            
rank nobilityrank.duke;
                            if (
place < (9999))
                            {
                                
maxdonation2 entry.donation;
                            }
                        }
                    }
                    var 
oldrank entry.rank;
                    
entry.rank rank;
                    if (
kernel.gamepool.trygetvalue(entry.entityuidout client))
                    {
                        
bool updatetheclient false;
                        if (
oldrank != rank)
                        {
                            
updatetheclient true;
                            if (
rank == nobilityrank.baron)
                            {
                                
kernel.sendworldmessage(new message(" congratulation " client.player.name " has the baron in pharaohs-eu "system.drawing.color.whitemessage.topleft), program.values);
                            }
                            if (
rank == nobilityrank.earl)
                            {
                                
kernel.sendworldmessage(new message(" congratulation " client.player.name " has the earl in pharaohs-eu "system.drawing.color.whitemessage.topleft), program.values);
                            }
                            if (
rank == nobilityrank.duke)
                            {
                                
kernel.sendworldmessage(new message(" congratulation " client.player.name " has the duke in pharaohs-eu "system.drawing.color.whitemessage.center), program.values);
                            }
                            if (
rank == nobilityrank.prince)
                            {
                                
kernel.sendworldmessage(new message(" congratulation " client.player.name " has the prince in pharaohs-eu "system.drawing.color.whitemessage.center), program.values);
                            }
                            if (
rank == nobilityrank.king)
                            {
                                
kernel.sendworldmessage(new message(" congratulation " client.player.name " has become the new king/queen in pharaohs-eu "system.drawing.color.whitemessage.center), program.values);
                            }
                            if (
rank == nobilityrank.knight)
                            {
                                
kernel.sendworldmessage(new message(" congratulation " client.player.name " has become a knight by in pharaohs-eu "system.drawing.color.whitemessage.topleft), program.values);
                            }
                        }
                        else
                        {
                            if (
previousplace != place)
                            {
                                
updatetheclient true;
                            }
                        }
                        if (
updatetheclient || client.player.uid == updateuid)
                        {
                            
nobilityinfo update = new nobilityinfo(true);
                            
update.type nobilityinfo.icon;
                            
update.dwparam entry.entityuid;
                            
update.updatestring(entry);
                            
client.sendscreen(updatetrue);
                            
client.player.nobilityrank entry.rank;
                        }
                    }
                    
sortedboard.add(entry.entityuidentry);
                    
place++;
                }
                catch { }
            }
            
board sortedboard;
            
lock (boardlist)
                
boardlist board.values.tolist();
        }
    }
    public class 
nobilityinformation
    
{
        public 
string name;
        public 
uint entityuid;
        public 
uint mesh;
        public 
ulong donation;
        public 
byte gender;
        public 
int position;
        public 
nobilityrank rank;
        public 
bool king;
        public 
datetime kingdays;
    }

    public 
enum nobilityrank Byte
    
{
        
serf 0,
        
knight 1,
        
baron 3,
        
earl 5,
        
duke 7,
        
prince 9,
        
king 12
    
}


هتغير اسم البروكجت mr_panda بي اسم البروجكت بتاعك
ولو جالك ايرور في player خليها entity

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