Jump to content

C++ Otimizado: AutoLoot in Sources for TFS 0.3.6, TFS 0.4


Recommended Posts

  • Assistente

Adaptar não teria como, pois iria contra a logica do sistema que é entregar o item direto ao player ao invés do corpo.

Discord: Naze#3578

 

Ter Linux Dentro de Windows com Acesso 'localhost' para testes e +

AutoLoot Otimizado Direto na Source (tfs 0.4/otx)

 

// Pirataria é crime, original é roubo, compartilhar é legal.

 

tumblr_muk78tEwDQ1qah4nko1_500.gif

Link to post
Share on other sites

  • Moderator

@Naze muito show parabéns se tivesse opção de limite de slot para free/premium para o jogador premium ter beneficio na quantidade de coleta seria bacana ^^ quem sabe para uma v2 

🛠️ Projeto NTO NS 🛠️

📝 Detalhes 📝

🗺️ Mapa próprio em produção 🗺️

🖱️ Versão: 8.60 🖱️

🔥 War System 🔥

⚔️ Jutsus Próprios baseado no anime ⚔️

🔰 Itens com as características e efeitos do anime 🔰

💻 Para mais detalhes acesse as redes sociais do servidor abaixo 💻

💡 Usando como referencias Anime/Jogos/Wallpapers etc... para trazer algo mais próximo possível do universo de Naruto 💡

 

💎 Redes Sociais 💎

🌀 Facebook 🌀

🎒 Youtube 🎒
🌌 Discord 🌌

 

📚 Tutoriais / Conteúdos 📥

♨️ Clique Aqui ♨️

Link to post
Share on other sites

  • Assistente

Salve meu rei, deu esse pequeno errozinho aqui kk.

em iologindata.cpp

 

image.thumb.png.034a5458818c8140aa3d81196eb5ca7f.png

 

 

 

 

 

                                                                                                                                                     tumblr_nwmv2z4VEM1ujiquxo1_100.gif.2db64bb36f0f565e68ff2a90cb98f439.gif.59f4c4cf234d2f6906621cac0553a862.gif

https://github.com/italoxxx1

 

Link to post
Share on other sites

  • Assistente

@RicK Sanchez Na linha 722 tenta substituir 

unsigned long lootListSize;

por

uint64_t lootListSize = 0;

 

Em 26/10/2020 em 11:51, LeoTK disse:

@Naze muito show parabéns se tivesse opção de limite de slot para free/premium para o jogador premium ter beneficio na quantidade de coleta seria bacana ^^ quem sabe para uma v2 

Teria q colocar um configManager com numero de slots free numa verificação na parte de add do talkactions, depois edito esse post com essa modificação.

Discord: Naze#3578

 

Ter Linux Dentro de Windows com Acesso 'localhost' para testes e +

AutoLoot Otimizado Direto na Source (tfs 0.4/otx)

 

// Pirataria é crime, original é roubo, compartilhar é legal.

 

tumblr_muk78tEwDQ1qah4nko1_500.gif

Link to post
Share on other sites

  • Assistente

deu esse outro erro aqui meu bom

 

unknown.thumb.png.a0b21610b36e4cf06173629f7017454a.png

 

 

 

 

 

                                                                                                                                                     tumblr_nwmv2z4VEM1ujiquxo1_100.gif.2db64bb36f0f565e68ff2a90cb98f439.gif.59f4c4cf234d2f6906621cac0553a862.gif

https://github.com/italoxxx1

 

Link to post
Share on other sites

  • Assistente

@RicK Sanchez

em monsters.cpp usa esse dropLoot:

Spoiler

void MonsterType::dropLoot(Container* corpse)
{	
	uint32_t money = 0;
	Item* items;
	std::stringstream str;
	for(LootItems::const_iterator it = lootItems.begin(); it != lootItems.end() && !corpse->full(); ++it)
	{
		if(items = createLoot(*it)) {
			Item* tmpItem = items;
			if(Container* container = tmpItem->getContainer())
			{
				Player* tmpPlayer = g_game.getPlayerByGuid(corpse->getCorpseOwner());
				if(createChildLoot(container, (*it), money, str, tmpPlayer)) {
					corpse->__internalAddThing(tmpItem);
				} else {
					delete container;
				}
			}
			else {
				bool LootCatch = false;
				Player* tmpPlayer;
				if(tmpPlayer = g_game.getPlayerByGuid(corpse->getCorpseOwner())) {
					if(tmpPlayer->statusAutoLoot() == "On") {
						LootCatch = tmpPlayer->checkAutoLoot(tmpItem->getID());
						if(LootCatch) {
							if(tmpPlayer->isMoneyAutoLoot(tmpItem, money)) {
								continue;
							}
							g_game.internalPlayerAddItem(NULL, tmpPlayer, tmpItem);
							str << " " << tmpItem->getNameDescription() << ",";
							continue;
						}
					}
				}
				corpse->__internalAddThing(tmpItem);
			}
		}
	}

	corpse->__startDecaying();
	uint32_t ownerId = corpse->getCorpseOwner();
	if(!ownerId)
		return;

	Player* owner = g_game.getPlayerByGuid(ownerId);
	if(!owner)
		return;

	if(money != 0) {
		if(owner->statusAutoMoneyCollect() == "Bank"){
			owner->balance += money;
		} else {
			g_game.addMoney(owner, money);
		}
		str << " " << money << "x gold coins.";
	} else {
		str << " nothing gold coins.";
	}

	LootMessage_t message = lootMessage;
	if(message == LOOTMSG_IGNORE)
		message = (LootMessage_t)g_config.getNumber(ConfigManager::LOOT_MESSAGE);

	if(message < LOOTMSG_PLAYER)
		return;

	std::stringstream ss;
	ss << "Loot of " << nameDescription << ": " << corpse->getContentDescription() << ".";
	if(owner->statusAutoLoot()  == "On") {
		ss << "\nAutoLoot Colleted:" << str.str();
	}
	if(owner->getParty() && message > LOOTMSG_PLAYER)
		owner->getParty()->broadcastMessage((MessageClasses)g_config.getNumber(ConfigManager::LOOT_MESSAGE_TYPE), ss.str());
	else if(message == LOOTMSG_PLAYER || message == LOOTMSG_BOTH)
		owner->sendTextMessage((MessageClasses)g_config.getNumber(ConfigManager::LOOT_MESSAGE_TYPE), ss.str());
}

 

e esse createChildLoot

Spoiler

bool MonsterType::createChildLoot(Container* parent, const LootBlock& lootBlock, uint32_t& money, std::stringstream& str, Player* player)
{
	LootItems::const_iterator it = lootBlock.childLoot.begin();
	if(it == lootBlock.childLoot.end())
		return true;

	Item* items;
	for(; it != lootBlock.childLoot.end() && !parent->full(); ++it)
	{
		if(items = createLoot(*it)) {
			Item* tmpItem = items;
			if(Container* container = tmpItem->getContainer())
			{
				if(createChildLoot(container, *it, money, str, player))
					parent->__internalAddThing(tmpItem);
				else
					delete container;
			}
			else {
				bool LootCatch = false;
				if(player && (player->statusAutoLoot() == "On")) {
					LootCatch = player->checkAutoLoot(tmpItem->getID());
				}
				if(LootCatch) {
					if(player->isMoneyAutoLoot(tmpItem, money)) {
						continue;
					}
					g_game.internalPlayerAddItem(NULL, player, tmpItem);
					str << " " << tmpItem->getNameDescription() << ",";
					continue;
				}
					parent->__internalAddThing(tmpItem);
			}
		}
	}

	return !parent->empty();
}

 

 

Discord: Naze#3578

 

Ter Linux Dentro de Windows com Acesso 'localhost' para testes e +

AutoLoot Otimizado Direto na Source (tfs 0.4/otx)

 

// Pirataria é crime, original é roubo, compartilhar é legal.

 

tumblr_muk78tEwDQ1qah4nko1_500.gif

Link to post
Share on other sites

  • Assistente

Agora sim funcionou, obrigado meu rei <3 

 

 

 

 

 

                                                                                                                                                     tumblr_nwmv2z4VEM1ujiquxo1_100.gif.2db64bb36f0f565e68ff2a90cb98f439.gif.59f4c4cf234d2f6906621cac0553a862.gif

https://github.com/italoxxx1

 

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Similar Content

    • By Nolis
      O objetivo desta publicação é registrar e informar as atualizações no mapa oficial OTG King.
      Ajude reportando bugs de mapa neste tópico, agradecemos!
       
       
      Peso do mapa do projeto no Github (versão antiga) - 158.962
      Peso do Mapa com as atualizações novas do post abaixo: - 154.357
      https://github.com/Johncorex/otg-king/commit/d92025687c3247fe14d3e5e3038653c7de448485
       
       
       
      Mapas Novos adicionados! 
      (d.241220)
      - Zarganash 33623 31399 10
      - Zarganash: Bosses room 33621 31433 10 
      - Taberna do Thaian 33232 31700 7
      - Barren Drift 33877 31886 8
      - Barren rift: Sala do boss 33877 31886 8
       
      (d.271220)
      - King Zelus Room
      - Water Elemental Cave Port Hope 32679 32963 7
      - Forgotten Temple (Ankrahmun) 33315 32674 7
      - Hyeana Lair's (Darashia) 33212 32358 8
      - Zarganash (boss rooms e taint central teleport) 33770-31505-13, 33714-31505-14, 33710-31635-14, 33621-31431-10
      - Netherworld and mini bosses room 33614 31414 8
      - Last Boss King Zelos room (Grave Danger) 33490 31547 13
      - Entrance to Isle of the Kings Position 32172 31918 8
      - Stone portals of Netherworld (Banuta) 32883 32518 7
      - Bounac 32409, 32484, 7
      - Added Mirrored Nightmare map (incompleto) 33937 31217 11
      - Dream Scar and Last Boss Room (5 Bosses Room faltando) 32208 32034 13
      - Brain Grounds (Entrance north of the Jakundaf Desert in Venore) 31914 32355 8
       
       
      Modificações
      (d.241220)
      - Library Mapa Revisado 
      - Falcon Bastion Edron/Zão Revisados
      - Lion Sanctun Revisado
      - 897.347 Pisos isolados removidos. 
      - Bugs corrigidos: 63 
       
      (d.271220)
      - Issavi revisada
      - Krailos Revisada
      - Tps e alavancas da grave_danger quest corrigidos
      - Bugs corrigidos: 18
       
      Bugs totais corrigidos (erros de mapa): 171

      Templo-geral - 32209 32293 6
       
       
       
       
       
       
       
      otg.otbm otg-house.xml otg-spawn.xml
    • By EddyHavoc
      Este é um erro muito comum para as pessoas vão compilar pela primeira vez, e por este motivo resolvi criar este tópico para lhe ajudar.
       
      (Windows - Microsoft Visual Studio)
       
      Mensagem do erro:
      Cannot open include file: 'lua.hpp': No such file or directory  
      Para resolver este erro, é muito simples! Faça as seguintes alterações nos arquivos configmanager.cpp e luascript.h
       
      Altere
      #include "lua/lua.hpp"  
      Por:
      #include "luajit/lua.hpp"  
      Agora é só felicidade!
       
       
       
       
    • By Nolis
      - Paletas novas atualizadas com itens 12.51. Pisos, Auto-Bordas, paredes, muros, interiores e exteriores, itens sun, lion, soul, cobra, falcon, gnome e diversos, móveis de houses, efeitos, itens mágicos, natureza e construção. Ids sem sprite catalogados em Void. Id Duplicados ou inutilizáveis podem ser localizados em Unknown Items. incluso
      Items (.otb e .xml) do OTG King, melhor Otserv 12.51 https://github.com/Johncorex/otg-king/tree/master/data/items
    • By Nolis
      Resolve a mensagem de erro: Missing vcruntime140.dll, vcruntime140_1.dll no Remere's Map Editor.
      Download: vcruntimeRME.rar
    • By Nolis
      Editor de items.otb para todas as versões.
       v0.5.1 por Mignari ItemEditor.zip
  • Recently Browsing   0 members

    No registered users viewing this page.


×
×
  • Create New...

Important Information

Confirmação de Termo