Ir para conteúdo

hasSpaceInContainer c++


Strogman

Posts Recomendados

hasSpaceInContainer é uma função que retorna true ou false, ela checa se tem algum espaço livre na mochila, se você tiver carregando uma mochila dentro de uma mochila ela checa a primeira mochila e se não tiver espaço ela checa a outra mochila.

 

em game.cpp em baixo de:

void GameshowHotkeyUseMessage(Player* player, Item* item){	int32_t subType = -1;	if(item->hasSubType() && !item->hasCharges())		subType = item->getSubType();	const ItemType& it = Itemitems[item->getID()];	uint32_t count = player->__getItemTypeCount(item->getID(), subType, false);	char buffer[40 + it.name.size()];	if(count == 1)		sprintf(buffer, "Using the last %s...", it.name.c_str());	else		sprintf(buffer, "Using one of %d %s...", count, it.pluralName.c_str());}

 

adicione:

bool GamehasSpaceInContainer(Container* container){	if(container->size() < container->capacity())		return true;		for(int slot = 0; slot <= (container->size()-1); slot++)	{		Item* item = container->getItem(slot);		if(item->getContainer())		{			if(hasSpaceInContainer(item->getContainer()))				return true;			}		}		return false;}

em game.h em baixo de:

bool playerReceivePing(uint32_t playerId);

adicione:

bool hasSpaceInContainer(Container* container);

em luascript.cpp em baixo de:

int32_t LuaScriptInterfaceluaGetCreatureName(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;}

adicione:

int32_t LuaScriptInterfaceluaHasSpaceInContainer(lua_State* L){	//hasSpaceInContainer(container)	ScriptEnviroment* env = getEnv();	Container* container = env->getContainerByUID(popNumber(L));	if(!container)	{		errorEx(getError(LUA_ERROR_CREATURE_NOT_FOUND));		lua_pushboolean(L, false);		return 1;	}		if(g_game.hasSpaceInContainer(container))		lua_pushboolean(L, true);	else		lua_pushboolean(L, false);    	return 1;}

em baixo de:
 

//getCreatureName(cid)lua_register(m_luaState, "getCreatureName", LuaScriptInterfaceluaGetCreatureName);

adicione:

//hasSpaceInContainer(container)lua_register(m_luaState, "hasSpaceInContainer", LuaScriptInterfaceluaHasSpaceInContainer);

em luascript.h em baixo de:

static int32_t luaGetCreatureName(lua_State* L);

adicione:

static int32_t luaHasSpaceInContainer(lua_State* L);

 

exemplo:
 

if hasSpaceInContainer(container) then    funcao()else   sendCancel(cid, "desculpe, voce nao tem espaço na mochila")end

 

Link para o comentário
Compartilhar em outros sites

Ao invès de utiliza isso:

	if(g_game.hasSpaceInContainer(container))		lua_pushboolean(L, true);	else		lua_pushboolean(L, false);

Acho que daria para fazer assim:

lua_pushboolean(L, g_game.hasSpaceInContainer(container));

Só para economizar linha... Mas é besteira, o funcionamento é o mesmo :ok:

 

Link para o comentário
Compartilhar em outros sites

1 minuto atrás, Drazyn disse:

Ao invès de utiliza isso:

	if(g_game.hasSpaceInContainer(container))		lua_pushboolean(L, true);	else		lua_pushboolean(L, false);

Acho que daria para fazer assim:

lua_pushboolean(L, g_game.hasSpaceInContainer(container));

Só para economizar linha... Mas é besteira, o funcionamento é o mesmo :ok:

 

verdade, na correria fazendo vários coisas ao mesmo tempo acabei usando else mesmo. costume e correria da nisso, ali no game da pra economizar também mas besteira linha num afeta nada. kkkk

Link para o comentário
Compartilhar em outros sites

Em 23/01/2017 at 20:19, rorix disse:

qual principal objetivo da funcao?

Eu ein...

"hasSpaceInContainer é uma função que retorna true ou false, ela checa se tem algum espaço livre na mochila, se você tiver carregando uma mochila dentro de uma mochila ela checa a primeira mochila e se não tiver espaço ela checa a outra mochila."

Link para o comentário
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...