عرض مشاركة واحدة
قديم 2020-06-28, 06:39 AM
المشاركة 6
ahmed Eldep
.:: عضو نشيط ::.
  • غير متواجد
افتراضي رد: مشكلة في الجيمات او الجواهر
packethundler.cs

كود:
public static void socketitem(embedsocket 

بدل بدا

كود:
        public static void socketitem(embedsocket socket, client.gamestate client)
        {
            
conqueritem item = null;
            
conqueritem gem = null;
            if (
client.inventory.trygetitem(socket.itemuid, out item) || client.equipment.trygetitem(socket.itemuid) != null)
            {
                if (
client.equipment.trygetitem(socket.itemuid) != null)
                    
item = client.equipment.trygetitem(socket.itemuid);
                
ushort sock = itemposition(item.id);
                if (
sock == 7 || sock == 9 || sock == 12 || sock == 15 || sock == 16 || sock == 17 || sock == 18 || sock > 19)
                {
                    
client.send(new message("sorry can't make socket in this item !", system.drawing.color.red, message.talk));
                    return;
                }
                if (
client.inventory.trygetitem(socket.gemuid, out gem) || socket.mode == embedsocket.remove)
                {
                    switch (
socket.mode)
                    {
                        case 
embedsocket.add:
                            {
                                
byte gembase = (byte)(gem.id % 1000);
                                if (
enum.isdefined(typeof(game.enums.gem), gembase))
                                {
                                    switch (
socket.slot)
                                    {
                                        case 
embedsocket.slotone:
                                            {
                                                if ((
byte)item.socketone == 255)
                                                {
                                                    var 
gem = (game.enums.gem)(gem.id % 1000);
                                                    if ((
item.id >= 201003 && item.id <= 201009) && gem != enums.gem.normalthundergem && gem != enums.gem.refinedthundergem && gem != enums.gem.superthundergem) return;
                                                    if ((
item.id >= 202003 && item.id <= 202009) && gem != enums.gem.normalglorygem && gem != enums.gem.refinedglorygem && gem != enums.gem.superglorygem) return;
                                                    if ((
item.id >= 204003 && item.id <= 204009) && gem != enums.gem.normalthundergem && gem != enums.gem.refinedthundergem && gem != enums.gem.superthundergem) return;
                                                    
item.socketone = gem;
                                                    
item.mode = game.enums.itemmode.update;
                                                    
item.send(client);
                                                    
database.conqueritemtable.updatesockets(item);
                                                    
client.inventory.remove(gem, game.enums.itemuse.remove);
                                                    break;
                                                }
                                                break;
                                            }
                                        case 
embedsocket.slottwo:
                                            {
                                                var 
gem = (game.enums.gem)(gem.id % 1000);
                                                if ((
item.id >= 201003 && item.id <= 201009) && gem != enums.gem.normalthundergem && gem != enums.gem.refinedthundergem && gem != enums.gem.superthundergem) return;
                                                if ((
item.id >= 202003 && item.id <= 202009) && gem != enums.gem.normalglorygem && gem != enums.gem.refinedglorygem && gem != enums.gem.superglorygem) return;
                                                if ((
item.id >= 204003 && item.id <= 204009) && gem != enums.gem.normalglorygem && gem != enums.gem.refinedglorygem && gem != enums.gem.superglorygem) return;
                                                
item.sockettwo = gem;
                                                
item.mode = game.enums.itemmode.update;
                                                
item.send(client);
                                                
database.conqueritemtable.updatesockets(item);
                                                
client.inventory.remove(gem, game.enums.itemuse.remove);
                                                break;
                                            }
                                    }
                                }
                                break;
                            }
                        case 
embedsocket.remove:
                            {
                                switch (
socket.slot)
                                {
                                    case 
embedsocket.slotone:
                                        {
                                            if ((
byte)item.socketone != 0)
                                            {
                                                
item.socketone = game.enums.gem.emptysocket;
                                                if ((
byte)item.sockettwo != 0 && (byte)item.sockettwo != 255)
                                                {
                                                    
item.sockettwo = item.sockettwo;
                                                    
item.socketone = game.enums.gem.emptysocket;
                                                }
                                                
item.mode = game.enums.itemmode.update;
                                                
item.send(client);
                                                
database.conqueritemtable.updatesockets(item);
                                                break;
                                            }
                                            break;
                                        }
                                    case 
embedsocket.slottwo:
                                        {
                                            if ((
byte)item.sockettwo != 0 && (byte)item.sockettwo != 255)
                                            {
                                                
item.socketone = game.enums.gem.emptysocket;
                                                
item.sockettwo = item.sockettwo;
                                                
item.sockettwo = game.enums.gem.emptysocket;
                                                
item.mode = game.enums.itemmode.update;
                                                
item.send(client);
                                                
database.conqueritemtable.updatesockets(item);
                                            }
                                            else
                                            {
                                                if ((
byte)item.socketone != 0)
                                                {
                                                    
item.socketone = game.enums.gem.emptysocket;
                                                    
item.mode = game.enums.itemmode.update;
                                                    
item.send(client);
                                                    
database.conqueritemtable.updatesockets(item);
                                                }
                                            }
                                            break;
                                        }
                                }
                                break;
                            }
                    }
                }
                
client.send(socket);
                
system.threading.thread.sleep(500);
            }
        } 
الف الف شكر جاري التجربة .