عرض مشاركة واحدة
قديم 2019-11-25, 10:24 AM
المشاركة 3
neno2052
.:: عضو نشيط ::.
  • غير متواجد
افتراضي رد: مشكله في شوب exchange
روح gamapackets وضيف

كود:
buyfromexchangeshop 2443,

         
exchangeshop 2441

اعمل كلاس ده

كود:
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 ف بكت هندلر
للاسف مش معايه
تمام الكلاس موجود والباكتين موجودين الي مش موجود بتاع البكت هندلر متعرفش اجيبه منين ؟