Ir para conteúdo

shingeki123

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Gostei
    shingeki123 deu reputação a Elwyn em getCreaturePathTo   
    Para TFS 0.4/0.3.6 e OTX2
     
    Em luascript.h depois de:
    static int32_t luaGetCreatureName(lua_State* L); Adicionar:
    static int32_t luaGetCreaturePathTo(lua_State* L); Em luascript.cpp depois de:
    //getCreatureName(cid) lua_register(m_luaState, "getCreatureName", LuaInterface::luaGetCreatureName); Adicionar:
    //getCreaturePathTo(cid, pos, maxSearchDist) lua_register(m_luaState, "getCreaturePathTo", LuaInterface::luaGetCreaturePathTo); Depois de:
    int32_t LuaInterface::luaGetCreatureName(lua_State* L) { //getCreatureName(cid)     ScriptEnviroment* env = getEnv();     if(Creature* creature = env->getCreatureByUID(popNumber(L)))         lua_pushstring(L, creature->getName().c_str());     else     {         errorEx(getError(LUA_ERROR_CREATURE_NOT_FOUND));         lua_pushboolean(L, false);     }     return 1; } Adicionar:
    int32_t LuaInterface::luaGetCreaturePathTo(lua_State* L) { //getCreaturePathTo(cid, pos, maxSearchDist)     ScriptEnviroment* env = getEnv();     int32_t maxSearchDist = popNumber(L);     PositionEx position;     popPosition(L, position);     Creature* creature = env->getCreatureByUID(popNumber(L));     if (!creature) {         lua_pushnil(L);         return 1;     }     std::list<Direction> dirList;     lua_newtable(L);     if (g_game.getPathTo(creature, position, dirList, maxSearchDist)) {         std::list<Direction>::const_iterator it = dirList.begin();         for (int32_t index = 1; it != dirList.end(); ++it, ++index) {             lua_pushnumber(L, index);             lua_pushnumber(L, (*it));             pushTable(L);         }     } else {         lua_pushboolean(L, false);     }     return 1; } E sejam felizes!
     
    getCreaturePathTo(cid, position, maxSearchDist) retornará uma tabela com as direções que o jogador deve seguir para chegar no ponto position. Não contem as posições que ele deve passar por. maxSearchDist é o valor máximo de passos que ele vai dar em direção à essa position e na via das dúvidas coloque o maior valor de distancia entre as duas posições.
     

Informação Importante

Confirmação de Termo