Postado Dezembro 12, 2016 8 anos Em 16/04/2015 ás 17:25, Fir3element disse: Troca toda a função AddPlayerStats por essa: void ProtocolGame::AddPlayerStats(NetworkMessage_ptr msg) { msg->AddByte(0xA0); if (player->getPlayerInfo(PLAYERINFO_MAXHEALTH) > 0) { msg->AddU16(uint16_t(player->getHealth() * 100 / player->getPlayerInfo(PLAYERINFO_MAXHEALTH))); msg->AddU16(100); } else { msg->AddU16(0); msg->AddU16(0); } msg->AddU32(uint32_t(player->getFreeCapacity() * 100)); uint64_t experience = player->getExperience(); if(experience > 0x7FFFFFFF) // client debugs after 2,147,483,647 exp msg->AddU32(0x7FFFFFFF); else msg->AddU32(experience); msg->AddU16(player->getPlayerInfo(PLAYERINFO_LEVEL)); msg->AddByte(player->getPlayerInfo(PLAYERINFO_LEVELPERCENT)); if (player->getPlayerInfo(PLAYERINFO_MAXMANA) > 0) { msg->AddU16(player->getPlayerInfo(PLAYERINFO_MANA) * 100 / player->getPlayerInfo(PLAYERINFO_MAXMANA)); msg->AddU16(100); } else { msg->AddU16(0); msg->AddU16(0); } msg->AddByte(player->getPlayerInfo(PLAYERINFO_MAGICLEVEL)); msg->AddByte(player->getPlayerInfo(PLAYERINFO_MAGICLEVELPERCENT)); msg->AddByte(player->getPlayerInfo(PLAYERINFO_SOUL)); msg->AddU16(player->getStaminaMinutes()); } Desculpa se estou revivendo o tópico, mas e que estou querendo muito isso, pelo fato de meu ot ser lvl auto e Hp e Mp ficam ''Bugados''. Sera algum de vcs podem me ajudar passo a passo de como fazer isso pf ?
Postado Março 16, 2018 7 anos Em 16/04/2015 em 17:25, Fir3element disse: Troca toda a função AddPlayerStats por essa: void ProtocolGame::AddPlayerStats(NetworkMessage_ptr msg) { msg->AddByte(0xA0); if (player->getPlayerInfo(PLAYERINFO_MAXHEALTH) > 0) { msg->AddU16(uint16_t(player->getHealth() * 100 / player->getPlayerInfo(PLAYERINFO_MAXHEALTH))); msg->AddU16(100); } else { msg->AddU16(0); msg->AddU16(0); } msg->AddU32(uint32_t(player->getFreeCapacity() * 100)); uint64_t experience = player->getExperience(); if(experience > 0x7FFFFFFF) // client debugs after 2,147,483,647 exp msg->AddU32(0x7FFFFFFF); else msg->AddU32(experience); msg->AddU16(player->getPlayerInfo(PLAYERINFO_LEVEL)); msg->AddByte(player->getPlayerInfo(PLAYERINFO_LEVELPERCENT)); if (player->getPlayerInfo(PLAYERINFO_MAXMANA) > 0) { msg->AddU16(player->getPlayerInfo(PLAYERINFO_MANA) * 100 / player->getPlayerInfo(PLAYERINFO_MAXMANA)); msg->AddU16(100); } else { msg->AddU16(0); msg->AddU16(0); } msg->AddByte(player->getPlayerInfo(PLAYERINFO_MAGICLEVEL)); msg->AddByte(player->getPlayerInfo(PLAYERINFO_MAGICLEVELPERCENT)); msg->AddByte(player->getPlayerInfo(PLAYERINFO_SOUL)); msg->AddU16(player->getStaminaMinutes()); } Deu esse erro aqui, pode me ajudar? @resolvido! Editado Março 16, 2018 7 anos por typer (veja o histórico de edições)
Postado Maio 8, 2018 7 anos Em 16/04/2015 em 17:25, Fir3element disse: Troca toda a função AddPlayerStats por essa: void ProtocolGame::AddPlayerStats(NetworkMessage_ptr msg) { msg->AddByte(0xA0); if (player->getPlayerInfo(PLAYERINFO_MAXHEALTH) > 0) { msg->AddU16(uint16_t(player->getHealth() * 100 / player->getPlayerInfo(PLAYERINFO_MAXHEALTH))); msg->AddU16(100); } else { msg->AddU16(0); msg->AddU16(0); } msg->AddU32(uint32_t(player->getFreeCapacity() * 100)); uint64_t experience = player->getExperience(); if(experience > 0x7FFFFFFF) // client debugs after 2,147,483,647 exp msg->AddU32(0x7FFFFFFF); else msg->AddU32(experience); msg->AddU16(player->getPlayerInfo(PLAYERINFO_LEVEL)); msg->AddByte(player->getPlayerInfo(PLAYERINFO_LEVELPERCENT)); if (player->getPlayerInfo(PLAYERINFO_MAXMANA) > 0) { msg->AddU16(player->getPlayerInfo(PLAYERINFO_MANA) * 100 / player->getPlayerInfo(PLAYERINFO_MAXMANA)); msg->AddU16(100); } else { msg->AddU16(0); msg->AddU16(0); } msg->AddByte(player->getPlayerInfo(PLAYERINFO_MAGICLEVEL)); msg->AddByte(player->getPlayerInfo(PLAYERINFO_MAGICLEVELPERCENT)); msg->AddByte(player->getPlayerInfo(PLAYERINFO_SOUL)); msg->AddU16(player->getStaminaMinutes()); }
Postado Junho 25, 2018 6 anos Em 16/04/2015 em 17:25, Fir3element disse: Troca toda a função AddPlayerStats por essa: void ProtocolGame::AddPlayerStats(NetworkMessage_ptr msg) { msg->AddByte(0xA0); if (player->getPlayerInfo(PLAYERINFO_MAXHEALTH) > 0) { msg->AddU16(uint16_t(player->getHealth() * 100 / player->getPlayerInfo(PLAYERINFO_MAXHEALTH))); msg->AddU16(100); } else { msg->AddU16(0); msg->AddU16(0); } msg->AddU32(uint32_t(player->getFreeCapacity() * 100)); uint64_t experience = player->getExperience(); if(experience > 0x7FFFFFFF) // client debugs after 2,147,483,647 exp msg->AddU32(0x7FFFFFFF); else msg->AddU32(experience); msg->AddU16(player->getPlayerInfo(PLAYERINFO_LEVEL)); msg->AddByte(player->getPlayerInfo(PLAYERINFO_LEVELPERCENT)); if (player->getPlayerInfo(PLAYERINFO_MAXMANA) > 0) { msg->AddU16(player->getPlayerInfo(PLAYERINFO_MANA) * 100 / player->getPlayerInfo(PLAYERINFO_MAXMANA)); msg->AddU16(100); } else { msg->AddU16(0); msg->AddU16(0); } msg->AddByte(player->getPlayerInfo(PLAYERINFO_MAGICLEVEL)); msg->AddByte(player->getPlayerInfo(PLAYERINFO_MAGICLEVELPERCENT)); msg->AddByte(player->getPlayerInfo(PLAYERINFO_SOUL)); msg->AddU16(player->getStaminaMinutes()); } descupa reviver o toppico mas o meu nao esta igual o seu ai ja tentei substituir a funçao toda e da erro olha a minha funçao como é pode ajudar void ProtocolGame::AddPlayerStats(OutputMessage_ptr msg) { msg->addByte(0xA0); msg->add<uint16_t>(player->getHealth()); msg->add<uint16_t>(player->getPlayerInfo(PLAYERINFO_MAXHEALTH)); msg->add<uint32_t>(uint32_t(player->getFreeCapacity() * 100)); uint64_t experience = player->getExperience(); if(experience > 0x7FFFFFFF) msg->add<uint32_t>(0x7FFFFFFF); else msg->add<uint32_t>(experience); msg->add<uint16_t>(player->getPlayerInfo(PLAYERINFO_LEVEL)); msg->addByte(player->getPlayerInfo(PLAYERINFO_LEVELPERCENT)); msg->add<uint16_t>(player->getPlayerInfo(PLAYERINFO_MANA)); msg->add<uint16_t>(player->getPlayerInfo(PLAYERINFO_MAXMANA)); msg->addByte(player->getPlayerInfo(PLAYERINFO_MAGICLEVEL)); msg->addByte(player->getPlayerInfo(PLAYERINFO_MAGICLEVELPERCENT)); msg->addByte(player->getPlayerInfo(PLAYERINFO_SOUL)); msg->add<uint16_t>(player->getStaminaMinutes()); }
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.