Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Estou com seguinte problema em um código!

 

Estou tentando fazer com que seja possivel conjurar runas na backpack (atualmente só e possível realizar isso se você estiver com ela nas mãos).

 

Não estou conseguindo implementar de maneira alguma...

 

Segue o bloco do código em questão:

 

Spells.cpp

bool ConjureSpell::conjureItem(Creature* creature) const
{
	Player* player = creature->getPlayer();
	if (!player) {
		return false;
	}

	const uint32_t conjureCost = getManaCost(player);
	const uint32_t soulCost = getSoulCost();

	if (reagentId != 0) {
		bool foundReagent = false;

		Item* item = player->getInventoryItem(CONST_SLOT_LEFT);
		if (item && item->getID() == reagentId) {
			foundReagent = true;

			// left arm conjure
			int32_t index = player->getThingIndex(item);
			g_game.internalRemoveItem(item);

			Item* newItem = Item::CreateItem(conjureId, conjureCount);
			if (!newItem) {
				return false;
			}

			ReturnValue ret = g_game.internalAddItem(player, newItem, index);
			if (ret != RETURNVALUE_NOERROR) {
				delete newItem;
				return false;
			}

			g_game.startDecay(newItem);

			Spell::postCastSpell(player, conjureCost, soulCost);
		}

		item = player->getInventoryItem(CONST_SLOT_RIGHT);
		if (item && item->getID() == reagentId && player->getMana() >= conjureCost) {
			foundReagent = true;

			// right arm conjure
			int32_t index = player->getThingIndex(item);
			g_game.internalRemoveItem(item);

			Item* newItem = Item::CreateItem(conjureId, conjureCount);
			if (!newItem) {
				return false;
			}

			ReturnValue ret = g_game.internalAddItem(player, newItem, index);
			if (ret != RETURNVALUE_NOERROR) {
				delete newItem;
				return false;
			}

			g_game.startDecay(newItem);

			Spell::postCastSpell(player, conjureCost, soulCost);
		}

		if (!foundReagent) {
			player->sendCancelMessage(RETURNVALUE_YOUNEEDAMAGICITEMTOCASTSPELL);
			g_game.addMagicEffect(player->getPosition(), CONST_ME_POFF);
			return false;
		}
	} else {
		Item* newItem = Item::CreateItem(conjureId, conjureCount);
		if (!newItem) {
			return false;
		}

		ReturnValue ret = g_game.internalPlayerAddItem(player, newItem);
		if (ret != RETURNVALUE_NOERROR) {
			delete newItem;
			return false;
		}

		g_game.startDecay(newItem);
		Spell::postCastSpell(player, conjureCost, soulCost);
	}

	postCastSpell(player, true, false);
	g_game.addMagicEffect(player->getPosition(), CONST_ME_MAGIC_RED);
	return true;
}



 

No signature.

 

 

 

Link para o post
Compartilhar em outros sites

pq você nao faz em lua mesmo?

Toda terça-feira um tópico novo:

Descanso para curar mana (Spell): https://tibiaking.com/forums/topic/94615-spell-descanso-para-curar-mana/

Peça sua spell (Suporte):                https://tibiaking.com/forums/topic/84162-peça-sua-spell/                        

Chuva de flechas (Spell):                https://tibiaking.com/forums/topic/72232-chuva-de-flechas-spell/

Doom (Spell):                                https://tibiaking.com/forums/topic/51622-doom-spell/

Utilização do VS Code (Infra)       https://tibiaking.com/forums/topic/94463-utilizando-o-visual-studio-code-notepad-nunca-mais/

SD com Combo (Spell):                 https://tibiaking.com/forums/topic/94520-sd-modificada/

Alteração attack speed (C++):        https://tibiaking.com/forums/topic/94714-c-attack-speed-spells-itens-e-onde-você-quiser/  

Bônus de Speed (NPC)                  https://tibiaking.com/forums/topic/94809-npc-concede-bônus-aos-players/
 

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