منتدي اكواد

منتدي اكواد (https://code.vpscairo.com/index.php)
-   مشكلات السيرفيرات كونكر الشخصيه (https://code.vpscairo.com/forumdisplay.php?f=12)
-   -   مشكله في شوب exchange (https://code.vpscairo.com/showthread.php?t=3086)

neno2052 2019-11-25 09:47 AM

مشكله في شوب exchange
 
يرجاله الشوب دا كنت منزله من فتره وبجربه دلوقت لقيته مش شغال ومش بيبدل ولما باجي ابدل بيجيبلي الكلمه دي
Unknown type: 2443 with length 20

https://1.top4top.net/p_1424oneks1.jpg

GOOGLE 2019-11-25 10:08 AM

رد: مشكله في شوب exchange
 
روح Gamapackets وضيف
كود PHP:

BuyFromExchangeShop = 2443,

         
ExchangeShop = 2441, 

اعمل كلاس ده
كود PHP:

using CMsgConquer.Client; 
using CMsgConquer.Database; 
using ProtoBuf; 
using System; 
using System.Collections.Generic; 
using System.IO; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 

namespace 
Alaxx.Network.GamePackets 
{ 
    public class 
CMsgExchangeShopRespond 
    
{ 
        private 
byte[] _packet; 
        public 
CMsgExchangeShopRespond(byte[] incoming) 
        { 
            
int newLegnth = incoming.Length - 12; 
            
byte[] Incoming = new byte[newLegnth]; 
            Array.
Copy(incoming, 4, Incoming, 0, Incoming.Length); 
            
_packet = Incoming; 
        } 
        public 
ExchangeShopRespondProto Data = null; 
        public 
void Handle(GameClient client) 
        { 
            
uint[] ptr = Read7BitEncodedInt(_packet); 
            
int index = 0; 
            
Data = new ExchangeShopRespondProto(); 
            
Data.ShopID = ptr[index]; 
            
index++; 
            
Data.Action = ptr[index]; 
            
index++; 
            
Data.Amount = ptr[index]; 
            
index++; 
            
Data.ItemID = ptr[index]; 
            if (
Data != null) 
            { 
                if (
CMsgExchangueShopFile.Items.ContainsKey(Data.ItemID)) 
                { 
                    
CMsgExchangeItems Item = null; 
                    
CMsgExchangueShopFile.Items.TryGetValue(Data.ItemID, out Item); 
                    if (
Item == null) 
                        return; 
                    if (
Data.Amount > Item.Remaining) 
                        return; 
                    
uint Count = Item.NeddedItemCount * Data.Amount; 
                    
uint PriceItem = Item.NeededItemID; 
                    if (
client.Inventory.Contains(PriceItem, Count)) 
                    { 
                        if (
client.Inventory.Remove(PriceItem, Count)) 
                        { 
                            
client.Inventory.Add(Item.ItemID, 0, (byte)Data.Amount, Item.Bound); 
                        } 
                    } 
                } 
            } 
        } 
        public static 
uint[] Read7BitEncodedInt(byte[] buffer) 
        { 
            List<
uint> ptr2 = new List<uint>(); 

            for (
int i = 0; i < buffer.Length; ) 
            { 
                if (
i + 2 <= buffer.Length) 
                { 
                    
int tmp = buffer[i++]; 

                    if (
tmp % 8 == 0) 
                        while (
true) 
                        { 
                            if (
i + 1 > buffer.Length) break; 
                            
tmp = buffer[i++]; 
                            if (
tmp < 128) 
                            { 
                                
ptr2.Add((uint)tmp); 
                                break; 
                            } 
                            else 
                            { 
                                
int result = tmp & 0x7f; 
                                if ((
tmp = buffer[i++]) < 128) 
                                { 
                                    
result |= tmp << 7; 
                                    
ptr2.Add((uint)result); 
                                    break; 
                                } 
                                else 
                                { 
                                    
result |= (tmp & 0x7f) << 7; 
                                    if ((
tmp = buffer[i++]) < 128) 
                                    { 
                                        
result |= tmp << 14; 
                                        
ptr2.Add((uint)result); 
                                        break; 
                                    } 
                                    else 
                                    { 
                                        
result |= (tmp & 0x7f) << 14; 
                                        if ((
tmp = buffer[i++]) < 128) 
                                        { 
                                            
result |= tmp << 21; 
                                            
ptr2.Add((uint)result); 
                                            break; 
                                        } 
                                        else 
                                        { 
                                            
result |= (tmp & 0x7f) << 21; 
                                            
result |= (tmp = buffer[i++]) << 28; 
                                            
ptr2.Add((uint)result); 
                                            break; 
                                        } 
                                    } 
                                } 
                            } 
                        } 
                } 
                else break; 
            } 
            return 
ptr2.ToArray(); 
        } 
    } 
    public class 
ExchangeShopRespondProto 
    
{ 
        public 
uint ShopID; 
        public 
uint Action; 
        public 
uint Amount; 
        public 
uint ItemID; 
        public 
uint U1; 
        public 
uint U2; 
    } 
} 

متنساش تغير اسم بروجيكت
لو مظبطش

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

neno2052 2019-11-25 10:24 AM

رد: مشكله في شوب exchange
 
اقتباس:

المشاركة الأصلية كتبت بواسطة google (المشاركة 23012)
روح gamapackets وضيف
كود PHP:

buyfromexchangeshop = 2443,

         
exchangeshop = 2441, 

اعمل كلاس ده
كود PHP:

using cmsgconquer.client; 
using cmsgconquer.database; 
using protobuf; 
using system; 
using system.collections.generic; 
using system.io; 
using system.linq; 
using system.text; 
using system.threading.tasks; 

namespace 
alaxx.network.gamepackets 
{ 
    public class 
cmsgexchangeshoprespond 
    
{ 
        private 
byte[] _packet; 
        public 
cmsgexchangeshoprespond(byte[] incoming) 
        { 
            
int newlegnth = incoming.length - 12; 
            
byte[] incoming = new byte[newlegnth]; 
            array.
copy(incoming, 4, incoming, 0, incoming.length); 
            
_packet = incoming; 
        } 
        public 
exchangeshoprespondproto data = null; 
        public 
void handle(gameclient client) 
        { 
            
uint[] ptr = read7bitencodedint(_packet); 
            
int index = 0; 
            
data = new exchangeshoprespondproto(); 
            
data.shopid = ptr[index]; 
            
index++; 
            
data.action = ptr[index]; 
            
index++; 
            
data.amount = ptr[index]; 
            
index++; 
            
data.itemid = ptr[index]; 
            if (
data != null) 
            { 
                if (
cmsgexchangueshopfile.items.containskey(data.itemid)) 
                { 
                    
cmsgexchangeitems item = null; 
                    
cmsgexchangueshopfile.items.trygetvalue(data.itemid, out item); 
                    if (
item == null) 
                        return; 
                    if (
data.amount > item.remaining) 
                        return; 
                    
uint count = item.neddeditemcount * data.amount; 
                    
uint priceitem = item.neededitemid; 
                    if (
client.inventory.contains(priceitem, count)) 
                    { 
                        if (
client.inventory.remove(priceitem, count)) 
                        { 
                            
client.inventory.add(item.itemid, 0, (byte)data.amount, item.bound); 
                        } 
                    } 
                } 
            } 
        } 
        public static 
uint[] read7bitencodedint(byte[] buffer) 
        { 
            list<
uint> ptr2 = new list<uint>(); 

            for (
int i = 0; i < buffer.length; ) 
            { 
                if (
i + 2 <= buffer.length) 
                { 
                    
int tmp = buffer[i++]; 

                    if (
tmp % 8 == 0) 
                        while (
true) 
                        { 
                            if (
i + 1 > buffer.length) break; 
                            
tmp = buffer[i++]; 
                            if (
tmp < 128) 
                            { 
                                
ptr2.add((uint)tmp); 
                                break; 
                            } 
                            else 
                            { 
                                
int result = tmp & 0x7f; 
                                if ((
tmp = buffer[i++]) < 128) 
                                { 
                                    
result |= tmp << 7; 
                                    
ptr2.add((uint)result); 
                                    break; 
                                } 
                                else 
                                { 
                                    
result |= (tmp & 0x7f) << 7; 
                                    if ((
tmp = buffer[i++]) < 128) 
                                    { 
                                        
result |= tmp << 14; 
                                        
ptr2.add((uint)result); 
                                        break; 
                                    } 
                                    else 
                                    { 
                                        
result |= (tmp & 0x7f) << 14; 
                                        if ((
tmp = buffer[i++]) < 128) 
                                        { 
                                            
result |= tmp << 21; 
                                            
ptr2.add((uint)result); 
                                            break; 
                                        } 
                                        else 
                                        { 
                                            
result |= (tmp & 0x7f) << 21; 
                                            
result |= (tmp = buffer[i++]) << 28; 
                                            
ptr2.add((uint)result); 
                                            break; 
                                        } 
                                    } 
                                } 
                            } 
                        } 
                } 
                else break; 
            } 
            return 
ptr2.toarray(); 
        } 
    } 
    public class 
exchangeshoprespondproto 
    
{ 
        public 
uint shopid; 
        public 
uint action; 
        public 
uint amount; 
        public 
uint itemid; 
        public 
uint u1; 
        public 
uint u2; 
    } 
} 

متنساش تغير اسم بروجيكت
لو مظبطش

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

تمام الكلاس موجود والباكتين موجودين الي مش موجود بتاع البكت هندلر متعرفش اجيبه منين ؟

GOOGLE 2019-11-25 10:38 AM

رد: مشكله في شوب exchange
 
للاسف لا بس لو لقيته هبقي اجيبهولك بس دور ف سورسات القديمه

neno2052 2019-11-25 10:48 AM

رد: مشكله في شوب exchange
 
اقتباس:

المشاركة الأصلية كتبت بواسطة GOOGLE (المشاركة 23016)
للاسف لا بس لو لقيته هبقي اجيبهولك بس دور ف سورسات القديمه

طب انا حطيت دا الكلمه بطلت تجي بس الشوب مشتغلش بردو
#region MsgExchangeShopRespond
case 2443:
{
new MsgExchangeShopRespond(packet).Handle(client);
break;
}
#endregion

GOOGLE 2019-11-25 10:58 AM

رد: مشكله في شوب exchange
 
امم جبتها منين الكلمه دي + مشتغلش اذاي

neno2052 2019-11-25 11:35 AM

رد: مشكله في شوب exchange
 
اقتباس:

المشاركة الأصلية كتبت بواسطة google (المشاركة 23018)
امم جبتها منين الكلمه دي + مشتغلش اذاي

كانت موجوده بس منقلتهاش
والله معرف مشتغلش ليه ؟

GOOGLE 2019-11-25 11:41 AM

رد: مشكله في شوب exchange
 
موجوده فين ؟؟

neno2052 2019-11-25 11:43 AM

رد: مشكله في شوب exchange
 
اقتباس:

المشاركة الأصلية كتبت بواسطة google (المشاركة 23022)
موجوده فين ؟؟

انا كنت حاططها في سورس القديم المهم
في امل اشغل الشوب ولا امسحه ؟

GOOGLE 2019-11-25 12:07 PM

رد: مشكله في شوب exchange
 
جرب تخليه

كود PHP:

#region MsgExchangeShopRespond
case 2443:
{
new 
CMsgExchangeShopRespond(packet).Handle(client);
break;
}
#endregion 



الساعة الآن 01:27 PM

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