Por
Naze
Uns dos problemas das maiorias dos otserv casual que estão online é o autoloot, alguns com erros e defeito na checagem dos containers e sempre consumindo muito por ser em lua fazendo checagens de tile, corpo, itens e etc. Por isso decidi da uma contribuição a essa comunidade que me evoluiu bastante um autoloot diretamente na source na função que insere os itens no corpo, otimizando em 100% na hr da entrega do item, e não tendo problemas ocasionais como corpos sobre corpos ou varias bags.
Esse sistema já é bem comum quando comprado, mas gratuito acredito que ainda não tinha disponível, então fiz esse totalmente do 0 na source tfs 0.4 rev 3999 (do yan).
Atenção na instalação! Qualquer problema pra compilar que envolva as linhas presente no código verifique novamente se instalou corretamente antes de pedir ajuda para evitar flood. Qualquer bug, erro ou mal funcionamento encontrado pode postar que estarei corrigindo, mas não irei customizar a seu agrado, você consegue fazer isso sozinho com atenção e calma, e se precisa de ajuda é só posta as duvidas.
Imagens do Sistema:
Características:
-> Otimizado executando apenas funções necessarias
-> Comandos simples e praticos
-> !autoloot on/off //Autoloot estara sempre ligado, e caso queria desliga use '!autoloot off'
-> !autoloot bank/bag //Define para onde ira o dinheiro coletado, direto banco ou no inventario
-> !autoloot list //Lista todos itens adicionados para coleta
-> !autoloot clear/clean //Remove todos itens da lista
-> !autoloot add, name item, name item, ... //Adiciona itens na lista, podendo adicionar quantos quiser de uma vez. Ele retorna um messagem dizendo os itens que foram adicionados e os que deram erro e não foram adicionados, talvez por escrito errado, ja existente na lista, na lista de bloquados, etc.
-> !autoloot remove, item name, item name, ... //Remove itens da lista, com a mesma logica do add.
-> Opções configuravel pelo Config.lua
-> AutoLoot_MoneyIDs //IDs dos Itens Moedas do servidor como gold coins, platinium coins, crystal coins.
-> AutoLoot_BlockIDs //IDs dos itens bloqueados para autoloot
-> AutoLoot_MaxItem //Quantidade maxima de itens para adicionar a lista
-> Sistema livres de bugs ou logs de erros.
Instalação:
Toda instalação será feita na source, exceto por 1 linha em talkactions.xml e 3 variáveis no config.lua
TFS 0.4 :
Link para Otx -> https://tibiaking.com/forums/topic/101086-otimizado-autoloot-in-sources-for-otx2-ou-menor/
Nas versões atual da TFS para servidores 10+ não ira funcionar pois algumas funções são diferente e não irei corrigir agora, em breve passo o mesmo pra tfs 1.x e otx3.
Esse sistema foi totalmente feito por mim, mas dou créditos também ao @Mathias Kenfi por me ajudar muito na evolução em lua/c++ e a tabela sql é a mesma usada no quick autoloot 1.3 postado por Pedriinz
@Edit:
Quem usa source de derivados caso ocorra erro aplica as alterações dos comentários abaixo.
Pequena correção em talkactions.cpp na parte remove na linha if(!player->checkAutoLoot(itemId)), para if(player->checkAutoLoot(itemId))