Ir para conteúdo
  • Cadastre-se

(Resolvido)[TFS 0.4 Protocolo 8.60]


Ir para solução Resolvido por Fir3element,

Posts Recomendados

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 por markmv (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • Respostas 8
  • Created
  • Última resposta

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

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)));         m

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 && #if

  • 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());
}
Link para o post
Compartilhar em outros sites
  • 1 year later...

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 em 19: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);
    }
Expand   Mostrar mais  

 

OT PURA DIVERSÃO | IP: otfun.servegame.com | 8.60 | Port: 7171

 

1584817_1.png

Link para o post
Compartilhar em outros sites

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.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Estatísticas dos Fóruns

    96846
    Tópicos
    519599
    Posts



×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo