Postado Dezembro 10, 2014 10 anos TFS 1.1: Em Player::toggleMount(bool): bool Player::toggleMount(bool mount) { if ((OTSYS_TIME() - lastToggleMount) < 3000) { sendCancelMessage(RETURNVALUE_YOUAREEXHAUSTED); return false; } if (mount) { if (isMounted()) { return false; } if (!group->access && _tile->hasFlag(TILESTATE_PROTECTIONZONE)) { sendCancelMessage(RETURNVALUE_ACTIONNOTPERMITTEDINPROTECTIONZONE); return false; } uint8_t currentMountId = getCurrentMount(); if (currentMountId == 0) { sendOutfitWindow(); return false; } Mount* currentMount = Mounts::getInstance()->getMountByID(currentMountId); if (!currentMount) { return false; } if (!hasMount(currentMount)) { setCurrentMount(0); sendOutfitWindow(); return false; } if (currentMount->premium && !isPremium()) { sendCancelMessage(RETURNVALUE_YOUNEEDPREMIUMACCOUNT); return false; } if (hasCondition(CONDITION_OUTFIT)) { sendCancelMessage(RETURNVALUE_NOTPOSSIBLE); return false; } if (defaultOutfit.lookType == 266) { sendCancelMessage(RETURNVALUE_NOTPOSSIBLE); return false; } defaultOutfit.lookMount = currentMount->clientId; if (currentMount->speed != 0) { g_game.changeSpeed(this, currentMount->speed); } } else { if (!isMounted()) { return false; } dismount(); } g_game.internalCreatureChangeOutfit(this, defaultOutfit); lastToggleMount = OTSYS_TIME(); return true; } Como você pode ver em: if (defaultOutfit.lookType == 266) { sendCancelMessage(RETURNVALUE_NOTPOSSIBLE); return false; } Player com lookType 266 não pode usar mount. Nesse caso lookType 266 é outfit de CM
Postado Dezembro 10, 2014 10 anos Autor TFS 1.1: Em Player::toggleMount(bool): bool Player::toggleMount(bool mount) { if ((OTSYS_TIME() - lastToggleMount) < 3000) { sendCancelMessage(RETURNVALUE_YOUAREEXHAUSTED); return false; } if (mount) { if (isMounted()) { return false; } if (!group->access && _tile->hasFlag(TILESTATE_PROTECTIONZONE)) { sendCancelMessage(RETURNVALUE_ACTIONNOTPERMITTEDINPROTECTIONZONE); return false; } uint8_t currentMountId = getCurrentMount(); if (currentMountId == 0) { sendOutfitWindow(); return false; } Mount* currentMount = Mounts::getInstance()->getMountByID(currentMountId); if (!currentMount) { return false; } if (!hasMount(currentMount)) { setCurrentMount(0); sendOutfitWindow(); return false; } if (currentMount->premium && !isPremium()) { sendCancelMessage(RETURNVALUE_YOUNEEDPREMIUMACCOUNT); return false; } if (hasCondition(CONDITION_OUTFIT)) { sendCancelMessage(RETURNVALUE_NOTPOSSIBLE); return false; } if (defaultOutfit.lookType == 266) { sendCancelMessage(RETURNVALUE_NOTPOSSIBLE); return false; } defaultOutfit.lookMount = currentMount->clientId; if (currentMount->speed != 0) { g_game.changeSpeed(this, currentMount->speed); } } else { if (!isMounted()) { return false; } dismount(); } g_game.internalCreatureChangeOutfit(this, defaultOutfit); lastToggleMount = OTSYS_TIME(); return true; } Como você pode ver em: if (defaultOutfit.lookType == 266) { sendCancelMessage(RETURNVALUE_NOTPOSSIBLE); return false; } Player com lookType 266 não pode usar mount. Nesse caso lookType 266 é outfit de CM Não teria como fazer um creaturescripts para não permitir que o player com um certo outfit não use montaria? Pois mesmo usando o outfit de CM o player pode usar montaria ;-;
Postado Dezembro 10, 2014 10 anos Você adicionou a parte que eu destaquei no seu código? Ela não está adicionada normalmente, eu adicionei para mostrar. Depois de adicionar você tem que compilar também. E detalhe, se sua source não for do TFS 1.0 pra cima, é capaz de dar erro nessa linha porque houveram muitas mudanças de 0.3.6 até 1.0
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.