I need help, I can't find the solution, I hope you can help me !!
Characters cannot change outfit color only HEAD, Only ADM and GM who can make the switch !!
What is the solution for this? I am using 7.72 Downgrade Nekiro!
I added this code in my source protocolgame.cpp to enable outfits.xml
Characters cannot change outfit color only HEAD, Only ADM and GM who can make the switch !!
What is the solution for this? I am using 7.72 Downgrade Nekiro!
I added this code in my source protocolgame.cpp to enable outfits.xml
void ProtocolGame::sendOutfitWindow()
{
const auto& outfits = Outfits::getInstance().getOutfits(player->getSex());
if (outfits.size() == 0) {
return;
}
NetworkMessage msg;
msg.addByte(0xC8);
Outfit_t currentOutfit = player->getDefaultOutfit();
if (currentOutfit.lookType == 0) {
Outfit_t newOutfit;
newOutfit.lookType = outfits.front().lookType;
currentOutfit = newOutfit;
}
/Mount currentMount = g_game.mounts.getMountByID(player->getCurrentMount());
if (currentMount) {
currentOutfit.lookMount = currentMount->clientId;
}*/
AddOutfit(msg, currentOutfit);
std::vector<ProtocolOutfit> protocolOutfits;
if (player->isAccessPlayer()) {
static const std::string gamemasterOutfitName = "Gamemaster";
protocolOutfits.emplace_back(gamemasterOutfitName, 75, 0);
}
protocolOutfits.reserve(outfits.size());
for (const Outfit& outfit : outfits) {
uint8_t addons;
if (!player->getOutfitAddons(outfit, addons)) {
continue;
}
protocolOutfits.emplace_back(outfit.name, outfit.lookType, addons);
if (protocolOutfits.size() == 50) { // Game client currently doesn't allow more than 50 outfits
break;
}
}
msg.addByte(protocolOutfits.size());
for (const ProtocolOutfit& outfit : protocolOutfits) {
msg.add<uint16_t>(outfit.lookType);
msg.addString(outfit.name);
msg.addByte(outfit.addons);
}
/*
std::vector<const Mount*> mounts;
for (const Mount& mount : g_game.mounts.getMounts()) {
if (player->hasMount(&mount)) {
mounts.push_back(&mount);
}
}
msg.addByte(mounts.size());
for (const Mount* mount : mounts) {
msg.add<uint16_t>(mount->clientId);
msg.addString(mount->name);
}*/
}
writeToOutputBuffer(msg);
}