Postado Março 12, 2015 10 anos Autor vou testar o do hp aqui fire, quanto ao tile eu tenho que add essa tag em todos os tile então ? então eu tenho que mudar algo aqui né creio eu bool Player::canWalkthrough(const Creature* creature) const { if(creature == this || hasCustomFlag(PlayerCustomFlag_CanWalkthrough) || creature->isWalkable() || (creature->getMaster() && creature->getMaster() != this && canWalkthrough(creature->getMaster()))) return true; const Player* player = creature->getPlayer(); if(!player) return false; pow fire pra finalizar falto o tile se sabe como eu arrumo isso ? ja estou dando um rep pra voce por ter conseguido da mana e hp ta funcionando de boa agora seria os players pode ficar tudo no mesmo tile em protect zone e players abaixo do lvl de pvp Editado Março 12, 2015 10 anos por markmv (veja o histórico de edições)
Postado Março 12, 2015 10 anos Solução tenta isso aq: bool Player::canWalkthrough(const Creature* creature) const { if(creature == this || hasCustomFlag(PlayerCustomFlag_CanWalkthrough) || creature->isWalkable() || (creature->getMaster() && creature->getMaster() != this && canWalkthrough(creature->getMaster()))) return true; const Player* player = creature->getPlayer(); if(!player) return false; if((((g_game.getWorldType() == WORLDTYPE_OPTIONAL && #ifdef __WAR_SYSTEM__ !player->isEnemy(this, true) && #endif player->getVocation()->isAttackable()) || player->getTile()->hasFlag(TILESTATE_PROTECTIONZONE) || (player->getVocation()->isAttackable() && player->getLevel() < (uint32_t)g_config.getNumber(ConfigManager::PROTECTION_LEVEL))) && player->getTile()->ground && Item::items[player->getTile()->ground->getID()].walkStack) && (!player->hasCustomFlag(PlayerCustomFlag_GamemasterPrivileges) || player->getAccess() <= getAccess())) return true; return (player->isGhost() && getGhostAccess() < player->getGhostAccess()) || (isGhost() && getGhostAccess() > player->getGhostAccess()); }
Postado Março 12, 2015 10 anos Autor editado, corrigi um negocio e funcionou fire, vlw em cara Editado Março 12, 2015 10 anos por markmv (veja o histórico de edições)
Postado Outubro 11, 2016 8 anos reset do meu servidor é lv 717217 depois de uns dois reset o hp não ta aparecendo 100% mais ta aparecendo 65533 Em 12/03/2015 ás 16:34, Fir3element disse: andar por cima dos players é na função canWalkthrough (player.cpp) hp/mana por % tem q fazer essas alterações: protocolgame.cpp, substitua: msg->put<uint16_t>(player->getHealth()); msg->put<uint16_t>(player->getPlayerInfo(PLAYERINFO_MAXHEALTH)); por: if (player->getPlayerInfo(PLAYERINFO_MAXHEALTH) > 0) { msg->put<uint16_t>(uint16_t(player->getHealth() * 100 / player->getPlayerInfo(PLAYERINFO_MAXHEALTH))); msg->put<uint16_t>(100); } else { msg->put<uint16_t>(0); msg->put<uint16_t>(0); } substitua: msg->put<uint16_t>(player->getPlayerInfo(PLAYERINFO_MANA)); msg->put<uint16_t>(player->getPlayerInfo(PLAYERINFO_MAXMANA)); por: if (player->getPlayerInfo(PLAYERINFO_MAXMANA) > 0) { msg->put<uint16_t>(player->getPlayerInfo(PLAYERINFO_MANA) * 100 / player->getPlayerInfo(PLAYERINFO_MAXMANA)); msg->put<uint16_t>(100); } else { msg->put<uint16_t>(0); msg->put<uint16_t>(0); } OT PURA DIVERSÃO | IP: otfun.servegame.com | 8.60 | Port: 7171
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.