Ir para conteúdo

Featured Replies

Postado

Bom dia!

Preciso de uma função que faça a creature ir andando até a position do parâmetro

Eu a fiz:

 

int32_t LuaScriptInterface::luaMoveTo(lua_State* L)
{
        //creature:moveTo(pos)
    Creature* creature = getUserdata<Creature>(L, 1);
    if (!creature) {
        lua_pushnil(L);
        return 1;
    }

    const Position& position = getPosition(L, 2);

    FindPathParams fpp;
    fpp.minTargetDist = getNumber<int32_t>(L, 3, 0);
    fpp.maxTargetDist = getNumber<int32_t>(L, 4, 1);
    fpp.fullPathSearch = getBoolean(L, 5, fpp.fullPathSearch);
    fpp.clearSight = getBoolean(L, 6, fpp.clearSight);
    fpp.maxSearchDist = getNumber<int32_t>(L, 7, 150);

    std::forward_list<Direction> dirList;
    if (creature->getPathTo(position, dirList, fpp)) {
        creature->hasFollowPath = true;
        creature->startAutoWalk(dirList);       
        pushBoolean(L, true);
    }
    else { pushBoolean(L, false); }
    return 1;
}

 

Todos os players e NPCs se movem diretamente para a position inserida, exceto os monstros (que são o motivo do trabalho -.-)

Dentro de um pequeno range, o monstro obedece e vai. Mais que isso, ele ignora a ordem e apenas dá um passo aleatório.

 

Obrigado.

Editado por MarceLoko (veja o histórico de edições)

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo