Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Struct 0x36B
- struct p36b // Request Refresh Itens 754
- {
- PacketHeader Header;
- struct
- {
- unsigned short ItemID : 12;
- unsigned short Sanc : 4;
- } ItemEff[16];
- char pAnctCode[16];
- };
- GetItemRef
- short GetItemRef(st_Item item)
- {
- int value = 0;
- if(item.Index >= 2360 && item.Index <= 2389)
- {
- //Montarias.
- if(item.EF2 != 0)
- value = (item.EF2 / 10);
- if(value > 9)
- value = 9;
- return value;
- }
- if(item.Index >= 2330 && item.Index <= 2359)
- {
- //Crias.
- return 0;
- }
- if(item.EF1 == 43)
- value = item.EFV1;
- else if(item.EF2 == 43)
- value = item.EFV2;
- else if(item.EF3 == 43)
- value = item.EFV3;
- if(value >= 230)
- {
- value = 10 + ((value - 230) / 4);
- if(value > 15)
- value = 15;
- }
- else
- value %= 10;
- return value;
- }
- GetAnctCode->
- Use a da sua source ou então alguma da CheatsBrasil
- Função principal:
- void Fix_SendEquip(int ClientID, int ToClientID)
- {
- p36b p;
- p.Header.ClientId = ClientID;
- p.Header.Size = sizeof p36b;
- p.Header.PacketId = 0x36B;
- st_Mob* player = (st_Mob*)GetMobFromIndex(ClientID);
- p.Header.Size = sizeof p36b;
- for(BYTE i=0;i<16;i++)
- {
- short effValue = 0;
- st_Item &item = player->Equip[i];
- if(i == 14)
- if(item.Index >= 2360 && item.Index <= 2389)
- if(item.EF1 == 0 || item.EF1 > 127)
- item.Index = 0;
- effValue = GetItemRef(item);
- p.ItemEff[i].Sanc = effValue;
- p.ItemEff[i].ItemID = item.Index;
- p.pAnctCode[i] = GetAnctCode(&item);
- }
- GridMulticast_2(cX(ClientID), cY(ClientID), &p, ToClientID);
- }
- Hook:
- JMP_NEAR(0x004410A0, &Fix_SendEquip);
- Função GridMulticast
- static void (*GridMulticast_2)(int, int, void*, int) = (void (__cdecl*)(int, int, void*, int)) 0x004409C0;
Advertisement
Add Comment
Please, Sign In to add comment