Um exemplo pra quem quer utilizar a Funcao SendRemoveMob e nao sabe como.Ta ai a Source para o Catalisador Makav.void Catalisador_Makav(int clientid, int SrcSlot, int DstSlot, int warp){ st_Mob *player = (st_Mob*)GetMobFromIndex(clientid); int mount = player->Equip[14].Index; char tmp[1024]; int cHora = PInt(0x00A5EA418); int cMin = PInt(0x00A5EA414); int cSeg = PInt(0x00A5EA410); srand(time(NULL) * (cHora / cMin + cSeg + ((cMin + rand() % 100 - cSeg) / cHora)) * rand()%200+150); if(mount >= 2330 && mount <= 2358) { if(DstSlot == 14) { if(mount == 2354 || mount == 2355 || mount == 2356) { /*EF2 = level EFV2 = vitalidade EF3 = racao EFV1 = HP*/ int mountIn = mount + 30; player->Equip[14].Index = mountIn; player->Equip[14].EFV2 += rand() % 16; player->Equip[14].EF2 = 0; SendItens(clientid, 14); player->Inventory[SrcSlot].Index = 0; SendRemoveMob(clientid); SendAll(clientid); return; } else { SendClientMsg(clientid, "Tipo nao confere"); SendAll(clientid); return; } } else { SendClientMsg(clientid, "Utilize em montarias"); SendAll(clientid); return; } } else { SendClientMsg(clientid, "Aplicado somente em montarias"); SendAll(clientid); return; } return;}Creditos:Shepher; Oie gente,tava sem nada pa fazer... E eu tinha que configurar um servidor 6.56. A preguica tomou conta, porque eu mudo muito o IP tambem. E eu fiz esse utilitario que configura o servidor automaticamente de acordo com o IP digitado.Atencao: as pastas devem estar com o seguinte nome:DBsrv e TMsrv.O sistema e case-sensitive. Se tiver diferenca nas maiusculas e minusculas, nao vai funcionar.Download:Retirado, abaixo.ATUALIZACAONovo link com correcaao de bug:Download 1.1Ele e bem simples, fiz em 3 min ._..Qualquer coisa, avisem.Espero que usem, e gostem.Creditos:shepher. Tutorial - PacketsOooi, quanto tempo nao e? Sei que tinha bastante gente esperando mais aulas mas andei realmente muito ocupado com meu servidor (OverDestiny). E hoje resolvi vir aqui dar esta aulas a voces. Vai ser uma aula bem legal pra quem quer realmente aprender sobre este assunto.O que sao packets?Packets sao como "conversas" entre duas "pessoas". Uma "pessoa" e voce (no caso o jogador) e a outra e o servidor (o programa que controla tudo). Quando voce, pessoa 1, se mexe no jogo ou entao mexe algum item ou outra acao, o client manda um packet (a "fala") para a pessoa 2 dizendo o que voce fez.Seria assim:Client -> Mexe item do slot 54 para o slot 55 (do inventario) -> Packet Enviado Servidor -> Recebe o packet -> Interpreta-o e verifica se e possivel fazer esta acao -> Manda um packet de resposta (geralmente toda a pergunta tem uma resposta) Client -> Interpreta-o e faz voce ver o que aconteceu.Como ver um packet?Para poder ver o packet voce deve ter um packetcontrol na sua source. Um exemplo disso e: for(int i=0;iSize;i++) printf("%02X ", m_PacketBuffer[i]);O que isso ai ira fazer?Ira mostrar todos os bytes do packet recebido. Caso queira ver melhor, use:printf("Recv ou Send -> Packet: 0x%X Size : %d ClientId: %d\n",packetHeader->PacketId,packetHeader->Size,packetHeader->ClientId); printf(" "); for(int i=0;iSize;i++) { printf("%02X ", m_PacketBuffer[i]); if(i % 15 == 0 && i != 0) printf("\n "); if(i >= packetHeader->Size) printf("\n"); }O que sao os Bytes?Os bytes sao as informacoes que o packet carrega. Os primeiros 2 bytes (tipo short) e o tamanho do packet.ATENCAO: Os bytes vao estar sempre