XZ

[C++] [TFS 0.4] Função doPlayerFollowCreature(cid,target)

Por XzXNoraX, 12 de fev. de 2017 em Linguagens de Programação

4
981
XzXNoraXX
12 de fevereiro de 2017 às 18:41

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)

PoccnnP
13 de fevereiro de 2017 às 08:42

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?

XzXNoraXX
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...
otteNO
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?