Ir para conteúdo

[Creaturescripts] Auto Loot


meubk

Posts Recomendados

Auto loot

 

Script: Auto Loot

Testado nas versões: 8.54 e 9.1

Criador: xotservx

 

Bom quis trazer para vocês hoje, um script aonde pega os items, escolhidos automaticamente, dos loots de monstros que vc mata, geralmente é mais se usado para pegar o dinheiro, bom sem mais explicações vamos ao que intereça:

 

  • Abra a pasta creaturescripts/scripts do seu ot e crie um arquivo com nome de autoloot.lua e cole o seguinte código:
     
    local configs = {
    ids = {2148, 2152, 2160}, -- adicionado somente os dos dinheiros, mais pode adicionar qual id quiser.
    premium = true -- só premium usar o auto loot ? [true ou false]
    }
    
    function getItemsInContainerById(container, itemid)
       local items = {}
       if getContainerSize(container) > 0 then
           for slot=0, (getContainerSize(container)-1) do
               local item = getContainerItem(container, slot)
               if isContainer(item.uid) then
                   local itemsbag = getItemsInContainerById(item.uid, itemid)
                   for i=0, #itemsbag do
                       table.insert(items, itemsbag[i])
                   end
               else
                   if itemid == item.itemid then
                       table.insert(items, item.uid)
                   end
               end
           end
       end
       return items
    end
    
    function autoGold(cid, pos, stack)
    if stack > 255 then return true end
    local position = {x = pos.x, y = pos.y, z = pos.z, stackpos = stack}
    local tile = getThingFromPos(position)
    if isCorpse(tile.uid) then
    	corpse = tile
    else
    	autoGold(cid, pos, stack + 1)
    end
    if corpse ~= nil then
    	for _, idmoney in pairs(configs.ids) do
    		tab = getItemsInContainerById(corpse.uid, idmoney)
    		if #tab ~= 0 then
    			for _, uid in pairs(tab) do
    				item = getThing(uid)
    				doPlayerAddItem(cid, idmoney, item.type)
    				doRemoveItem(item.uid, item.type)
    			end
    		end
    	end
    end
    end
    
    function onKill(cid, target)
    if not isPremium(cid) and configs.premium then return true end
    return addEvent(autoGold, 10, cid, getCreaturePosition(target), 0)
    end
    


     

  • Na mesma pasta procure pelo login.lua abra-o, e antes de return true adicione esta linha:
     
    registerCreatureEvent(cid, "AutoLoot")


     

  • Agora volte na pasta creaturescripts e procure o arquivo creaturescripts.xml e adicione a tag:
     
    <event type="kill" name="AutoLoot" event="script" value="autoloot.lua"/>


     

  • Bom para configurar os items que vão ter o loot automático é só abrir o arquivo autoloot.lua e esta logo no começo as configurações:
     
    local configs = {
    ids = {2148, 2152, 2160}, -- adicionado somente os dos dinheiros, mais pode adicionar qual id quiser.
    premium = true -- só premium usar o auto loot ? [true ou false]
    }


     

  • Tambem quero avisar que o script fica mais funcional em server 9.1 por causa do sistema de juntar o dinheiro sozim, fica muito legal, se usar em uma versão mais antiga, funcionara normal, mais ira fazer um pouco de bagunça na sua bag, hehehehe
     

 

É isso ai...

 

Fui ;*

Link para o comentário
Compartilhar em outros sites

Aew, se tiver em PARTY, o loot vai pra quem gerou mais exp? oO

E não daria pra colocar pra juntar autmaticamente na versão mais antiga (8.60) como se fosse as pot vazia? ):

Editado por Lolksky
Link para o comentário
Compartilhar em outros sites

Aew, se tiver em PARTY, o loot vai pra quem gerou mais exp? oO

E não daria pra colocar pra juntar autmaticamente na versão mais antiga (8.60) como se fosse as pot vazia? ):

 

 

Cara isso é chato pode fase com script, mais é complicadinho entaum mais facil em cpp =D

Link para o comentário
Compartilhar em outros sites

Aew, se tiver em PARTY, o loot vai pra quem gerou mais exp? oO

E não daria pra colocar pra juntar autmaticamente na versão mais antiga (8.60) como se fosse as pot vazia? ):

 

 

Cara isso é chato pode fase com script, mais é complicadinho entaum mais facil em cpp =D

 

Você sabe se tem algum TFS 8.60 que ja tenha o autostacking? :s

Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...

ja vi script em algum forum q o player fala /loot item_name ou /loot all , entao quando o item q o player queria vinha no monstro ia p bp do player

 

mesmo assim , acho q da p vc colocar p juntar o dinheiro sozinho nas versoes antigas, removendo todo o dinheiro do player e devolvendo + o loot, ficaadica

 

flw xot

Link para o comentário
Compartilhar em outros sites

Dá pra juntar o dinheiro automaticamente caso o distro tenha autostack (acho que é assim que se escreve...)

 

@Topic

Há como você fazer isso, porém mandando o dinheiro diretamento ao banco? Porque se der e você fizer, cara, viro seu fã kk

Link para o comentário
Compartilhar em outros sites

Eu por um acaso ja tenho isso.

!autoloot add, nome do item -- adiciona items nos slots disponiveis

!autoloot list -- todos os items na lista

 

Ele junta dinheiro e transforma caso voce some 100. (Gold -> Platinum \ Platinum -> Crystal)

 

Mas tipo, falta pensar como vou fazer para dar o AutoLoot apenas para o dono do corpo :/ Alguem sabe?

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...