منتدي اكواد

منتدي اكواد (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(incoming4Incoming0Incoming.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.ItemIDout 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(PriceItemCount)) 
                    { 
                        if (
client.Inventory.Remove(PriceItemCount)) 
                        { 
                            
client.Inventory.Add(Item.ItemID0, (byte)Data.AmountItem.Bound); 
                        } 
                    } 
                } 
            } 
        } 
        public static 
uint[] Read7BitEncodedInt(byte[] buffer
        { 
            List<
uintptr2 = new List<uint>(); 

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

                    if (
tmp == 0
                        while (
true
                        { 
                            if (
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(incoming4incoming0incoming.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.itemidout 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(priceitemcount)) 
                    { 
                        if (
client.inventory.remove(priceitemcount)) 
                        { 
                            
client.inventory.add(item.itemid0, (byte)data.amountitem.bound); 
                        } 
                    } 
                } 
            } 
        } 
        public static 
uint[] read7bitencodedint(byte[] buffer
        { 
            list<
uintptr2 = new list<uint>(); 

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

                    if (
tmp == 0
                        while (
true
                        { 
                            if (
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 



الساعة الآن 08:22 PM

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