Ir para conteúdo
  • Cadastre-se

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 Game::showHotkeyUseMessage(Player* player, Item* item)
{
	int32_t subType = -1;
	if(item->hasSubType() && !item->hasCharges())
		subType = item->getSubType();

	const ItemType& it = Item::items[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 Game::hasSpaceInContainer(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 LuaScriptInterface::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;
}

adicione:

int32_t LuaScriptInterface::luaHasSpaceInContainer(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", LuaScriptInterface::luaGetCreatureName);

adicione:

//hasSpaceInContainer(container)
lua_register(m_luaState, "hasSpaceInContainer", LuaScriptInterface::luaHasSpaceInContainer);

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

 

Créditos

Gristoyn (Por todo o conteúdo e pelo código)

Eu (Apenas pro Trazer ao Fórum)

Cada escolha, uma oportunidade.
Cada queda, um aprendizado.
Cada atitude, uma consequência

 

.tumblr_nw2mfl0ut01r3aoszo1_400.gif

Link para o post
Compartilhar em outros sites

Parabéns, seu tópico de conteúdo foi aprovado!
Muito obrigado pela sua contribuição, nós do Tibia King agradecemos.
Seu conteúdo com certeza ajudará à muitos outros, você recebeu +1 REP.

Spoiler

Congratulations, your content has been approved!
Thank you for your contribution, we of Tibia King we are grateful.
Your content will help many other users, you received +1 REP.

 

                                                              ezgif-1-98aab239f3.gif.1a897c9c3225228909e7b356a5cfb8e4.gif

Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por Muvuka
      Alguem tem anti-nuker igual a esse 
       

       
    • Por Muvuka
      [SQLite] -=[TFS]=- 0.4 8.60 Alguem faz apk mobile pra mim ip: dexsoft.ddns.net
       
      pra mim
       
      https://www.mediafire.com/file/5klqnyy6k7jda0u/OTClientV8.rar/file
       
      TA TUDO AI
    • Por yuriowns
      Salve rapazes, estou precisando de um client próprio para o meu servidor 7.4, preciso que algum programador experiente e com referências faça um client do jeito que eu procuro. Responda aqui para fazermos um orçamento, obrigado!

      Não sei se estou no lugar certo, se não me desculpem e peço que movam por gentileza!
    • Por paulo thush
      Pessoal to com um grande problema, estou com um servidor TFS 1.4x 10.98, recentemente começou dar um problema, sempre quando falava "trade" com o npc dava um erros, com qual quer npc, o erro e o seguinte.
       
       
      me falaram que o problema e nas sourcer que precisava mudar umas coisas me passaram um link no github esse aqui 
      https://github.com/otland/forgottenserver/pull/3996/files
       
      porem eu vi vídeos no youtube ensinando a compilar, já vi muitos tópicos como compilar a sourcer, ai quando vou compilar da esse erro
      já tentei instalar, desinstala muitas coisas, alterar também não vai, minha sourcer e essa 
      https://github.com/otland/forgottenserver
       
       
      Alguém poderia me ajuda com esse erro, ou ate compilar 100% as sourcer. os Tópicos que eu tentei para compilar e esse daqui, se não poder o link me desculpe.
      https://forums.otserv.com.br/index.php?/forums/topic/169234-windowsvc2019-compilando-sources-tfs-14-vcpkg/
       
      alguém me da uma luz por favor kkk
    • Por Ryzek
      Uso tfs 0.4 trunk3884 bem simples.
      Queria acrescentar magic effects para 255 pois o meu só vai até 69. Encontrei um tópico que falava sobre porém parece ter sido removido, não consigo acessar!
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo