Interessante a idéia, mas acho que vai dar problema. Tipo: se eu der para seguir um demônio, pow tem um zilhão de demons espalhado pelo mapa, qual ele vai saber que eu quero seguir?
- Fórum
- OTServ
- Recursos
- Linguagens de Programação
- [C++] [TFS 0.4] Função doPlayerFollowCreature(cid,target)
XZ
[C++] [TFS 0.4] Função doPlayerFollowCreature(cid,target)
Por XzXNoraX, 12 de fev. de 2017 em Linguagens de Programação
4
981
info
Grupo: Herói
Registrado: 07/03/16
Posts: 1.4k
Reputação: +385
Gênero: Masculino

13 de fevereiro de 2017 às 08:42
13 de fevereiro de 2017 às 12:57
4 horas atrás, Poccnn disse:Interessante a idéia, mas acho que vai dar problema. Tipo: se eu der para seguir um demônio, pow tem um zilhão de demons espalhado pelo mapa, qual ele vai saber que eu quero seguir?
Ele vai seguir o mais proximo
1 mês depois...
03 de março de 2017 às 23:21
Em 13/02/2017 at 12:57, Error404 disse:Ele vai seguir o mais proximo
Um problema ou uma feature? hahaha
Não tô com as sources aqui, mas tipo, se ele segue o mais próximo isso tá na função em C++, certo? Esse método precisa ter um jeito de especificar qual monstro, pq tipo, creio q seja ele chamado qnd eu uso o follow, sla, por uid. Ou é um método externo q pega coordenadas e tal faz isso?




info
Grupo: Campones
Registrado: 01/02/17
Posts: 97
Reputação: +48
Gênero: Masculino
Bom essa função serve para seguir determinado monstro.
Exemplo: (você irá seguir á criatura com nome de Xtibia)
doPlayerFollowCreature(cid,getCreatureName("Xtibia")Vá em luascript.cpp e procure por:
lua_register (m_luaState, "doPlayerSetPartner", LuaInterface luaDoPlayerSetPartner);embaixo da linha acima coloque:
// doPlayerFollowCreature (cid) Lua_register (m_luaState, "doPlayerFollowCreature", LuaInterface luaDoPlayerFollowCreature);no mesmo arquivo procure por:
int32_t LuaInterface luaDoPlayerSetPartner (lua_State * L)após á linha acima coloque embaixo:
int32_t LuaInterface::luaDoPlayerFollowCreature(lua_State* L){ //doPlayerFollowCreature(cid, target) ScriptEnviroment* env = getEnv(); Creature* creature = env->getCreatureByUID(popNumber(L)); if(!creature) { errorEx(getError(LUA_ERROR_CREATURE_NOT_FOUND)); lua_pushboolean(L, false); return 1; } Player* player = env->getPlayerByUID(popNumber(L)); if(!player) { errorEx(getError(LUA_ERROR_PLAYER_NOT_FOUND)); lua_pushboolean(L, false); } g_game.playerFollowCreature(player->getID(), creature->getID()); lua_pushboolean(L, true); return 1;}depois disso vá em luascript.h e procure por:
static int32_t luaDoPlayerSetPartner(lua_State* L);e por fim embaixo da linha acima coloque:
static int32_t luaDoPlayerFollowCreature(lua_State* L);Créditos:
Syntax (Por desenvolver)
RathBR (Por postar em outro fórum)
Eu (Por trazer ao fórum)