Ir para conteúdo
  • 0

[AJUDA] AutoLoot não funciona


mastof

Pergunta

Estou usando a base Mythology, e eles usam o Autoloot desse post: Auto

Porem quando eu mato um Pokemon e tento pegar o Loot ele abre normal e não vem direto para a bag


AutoLoot:

Spoiler

function onUse(cid, item, frompos, item2, topos) 
if isWatchingTv(cid) then return true end
    local quemMatou = getItemAttribute(item.uid, "corpseowner")
    if quemMatou then
    local player = getCreatureByName(quemMatou)
        if isPlayer(player) then
        local isInParyWithPlayer = false
              if isInParty(cid) and isInParty(player) then
                 isInParyWithPlayer = isPartyEquals(player, cid)
              end
            
            if getCreatureName(cid) ~= getCreatureName(player) and not isInParyWithPlayer then
               doPlayerSendCancel(cid, "Você não pode abrir um loot que não é seu.")    
               return true
            end
        end
    end
          local autoLootList = getAllItensInMyList(cid)
          local bag = getPlayerSlotItem(cid, 3).uid
          local itemsToRemove = {}
          
          if isCollectAll(cid) then
            for a = 0, getContainerSize(item.uid) do
                local it = getContainerItem(item.uid, a)
                    if it.uid > 0 then
                       if addItemInFreeBag(bag, it.itemid, it.type) ~= false then
                          table.insert(itemsToRemove, it.uid)
                       end
                    end
            end
         end
          
          if #autoLootList > 0 and not isCollectAll(cid) then
              for a = 0, getContainerSize(item.uid) do
                local it = getContainerItem(item.uid, a)
                    if it.uid > 0 then
                    for i = 1, #autoLootList do 
                            if getItemInfo(it.itemid).name == autoLootList then
                               if addItemInFreeBag(bag, it.itemid, it.type) ~= false then
                                  table.insert(itemsToRemove, it.uid)
                               end
                            end
                        end
                    end
               end
          end
          
          if #itemsToRemove > 0 then
             for i = 1, #itemsToRemove do
                doChangeTypeItem(itemsToRemove, 0)
             end
          end
    
end
 


Meu action.xml

Citar

        <action itemid="11838-11988;12140;12420-12571;3267-3297;3553-3586;4422-4454;4568;4569;4756-4759;12743;12744;12582;12583;12595-12604" event="script" value="Basic/autoLoot.lua"/>

 

Obs.: já removi todos os corpos e botei apenas o do rattata para testar e continuou a mesma coisa
Obs².: quando botei o codigo exato que estava no Post Aparecia "Você não é o dono do Loot"

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

6 respostass a esta questão

Posts Recomendados

  • 0

tenta 1:
 

Spoiler

function onUse(cid, item, frompos, item2, topos) 
if isWatchingTv(cid) then return true end
    local quemMatou = getItemAttribute(item.uid, "pokeName", "fainted " .. nameDeath:lower())
    if quemMatou then
    local player = getCreatureByName(quemMatou)
        if isPlayer(player) then
        local isInParyWithPlayer = false
              if isInParty(cid) and isInParty(player) then
                 isInParyWithPlayer = isPartyEquals(player, cid)
              end
            
            if getCreatureName(cid) ~= getCreatureName(player) and not isInParyWithPlayer then
               doPlayerSendCancel(cid, "Você não pode abrir um loot que não é seu.")    
               return true
            end
        end
    end
          local autoLootList = getAllItensInMyList(cid)
          local bag = getPlayerSlotItem(cid, 3).uid
          local itemsToRemove = {}
          
          if isCollectAll(cid) then
            for a = 0, getContainerSize(item.uid) do
                local it = getContainerItem(item.uid, a)
                    if it.uid > 0 then
                       if addItemInFreeBag(bag, it.itemid, it.type) ~= false then
                          table.insert(itemsToRemove, it.uid)
                       end
                    end
            end
         end
          
          if #autoLootList > 0 and not isCollectAll(cid) then
              for a = 0, getContainerSize(item.uid) do
                local it = getContainerItem(item.uid, a)
                    if it.uid > 0 then
                    for i = 1, #autoLootList do 
                            if getItemInfo(it.itemid).name == autoLootList then
                               if addItemInFreeBag(bag, it.itemid, it.type) ~= false then
                                  table.insert(itemsToRemove, it.uid)
                               end
                            end
                        end
                    end
               end
          end
          
          if #itemsToRemove > 0 then
             for i = 1, #itemsToRemove do
                doChangeTypeItem(itemsToRemove, 0)
             end
          end
    
end
 

 

Link para o comentário
Compartilhar em outros sites

  • 0
11 horas atrás, Deadpool disse:

tenta 1:
 

  Ocultar conteúdo

function onUse(cid, item, frompos, item2, topos) 
if isWatchingTv(cid) then return true end
    local quemMatou = getItemAttribute(item.uid, "pokeName", "fainted " .. nameDeath:lower())
    if quemMatou then
    local player = getCreatureByName(quemMatou)
        if isPlayer(player) then
        local isInParyWithPlayer = false
              if isInParty(cid) and isInParty(player) then
                 isInParyWithPlayer = isPartyEquals(player, cid)
              end
            
            if getCreatureName(cid) ~= getCreatureName(player) and not isInParyWithPlayer then
               doPlayerSendCancel(cid, "Você não pode abrir um loot que não é seu.")    
               return true
            end
        end
    end
          local autoLootList = getAllItensInMyList(cid)
          local bag = getPlayerSlotItem(cid, 3).uid
          local itemsToRemove = {}
          
          if isCollectAll(cid) then
            for a = 0, getContainerSize(item.uid) do
                local it = getContainerItem(item.uid, a)
                    if it.uid > 0 then
                       if addItemInFreeBag(bag, it.itemid, it.type) ~= false then
                          table.insert(itemsToRemove, it.uid)
                       end
                    end
            end
         end
          
          if #autoLootList > 0 and not isCollectAll(cid) then
              for a = 0, getContainerSize(item.uid) do
                local it = getContainerItem(item.uid, a)
                    if it.uid > 0 then
                    for i = 1, #autoLootList do 
                            if getItemInfo(it.itemid).name == autoLootList then
                               if addItemInFreeBag(bag, it.itemid, it.type) ~= false then
                                  table.insert(itemsToRemove, it.uid)
                               end
                            end
                        end
                    end
               end
          end
          
          if #itemsToRemove > 0 then
             for i = 1, #itemsToRemove do
                doChangeTypeItem(itemsToRemove, 0)
             end
          end
    
end
 

 

Não funcionou, Não da erro no console nem nada, só continua abrindo a bag normal no Pokemon

Link para o comentário
Compartilhar em outros sites

  • 0

Adicionei, deixei meu config do actions no final do post, já retirei tudo e deixei apenas o corpo do ratatta ou a maça mordida que ele dropa e nenhum dos dois funcionou, fui atras para ver se era exclusivo vip ou premium mas também não é

Dei uma limpada e rebotei seu codigo, agora aparece esse erro

Citar

[Error - Action Interface]
data/actions/scripts/Basic/autoLoot.lua:onUse
Description:
data/actions/scripts/Basic/autoLoot.lua:3: attempt to index global 'nameDeath' (a nil value)
stack traceback:
        data/actions/scripts/Basic/autoLoot.lua:3: in function <data/actions/scripts/Basic/autoLoot.lua:1>

 

Link para o comentário
Compartilhar em outros sites

  • 0
Spoiler

function onUse(cid, item, frompos, item2, topos) 
if isWatchingTv(cid) then return true end
    local quemMatou = getItemAttribute(item.uid, "fainted")
    if quemMatou then
    local player = getCreatureByName(quemMatou)
        if isPlayer(player) then
        local isInParyWithPlayer = false
              if isInParty(cid) and isInParty(player) then
                 isInParyWithPlayer = isPartyEquals(player, cid)
              end
            print(quemMatou)
            if getCreatureName(cid) ~= getCreatureName(player) and not isInParyWithPlayer then
               doPlayerSendCancel(cid, "Você não pode abrir um loot que não é seu.")    
               return true
            end
        end
    end
          local autoLootList = getAllItensInMyList(cid)
          local bag = getPlayerSlotItem(cid, 3).uid
          local itemsToRemove = {}
          
          if isCollectAll(cid) then
            for a = 0, getContainerSize(item.uid) do
                local it = getContainerItem(item.uid, a)
                    if it.uid > 0 then
                       if addItemInFreeBag(bag, it.itemid, it.type) ~= false then
                          table.insert(itemsToRemove, it.uid)
                       end
                    end
            end
         end
          
          if #autoLootList > 0 and not isCollectAll(cid) then
              for a = 0, getContainerSize(item.uid) do
                local it = getContainerItem(item.uid, a)
                    if it.uid > 0 then
                    for i = 1, #autoLootList do 
                            if getItemInfo(it.itemid).name == autoLootList then
                               if addItemInFreeBag(bag, it.itemid, it.type) ~= false then
                                  table.insert(itemsToRemove, it.uid)
                               end
                            end
                        end
                    end
               end
          end
          
          if #itemsToRemove > 0 then
             for i = 1, #itemsToRemove do
                doChangeTypeItem(itemsToRemove, 0)
             end
          end
    
end
 

me manda o que vai printar ai no terminal

Link para o comentário
Compartilhar em outros sites

  • 0

Não apareceu nada, consigo abrir o corpo que outro jogador matou mas não consigo jogar a ball, mas o loot qualquer um pode pegar

 

Citar

>> Loading config (config.lua)
> Using SHA1 encryption
>> Loading RSA key
>> Starting SQL connection
>> Running Database Manager
> Optimizing table: account_viplist... [success]
> Optimizing table: accounts... [success]
> Optimizing table: bans... [success]
> Optimizing table: bugtracker... [success]
> Optimizing table: comments... [success]
> Optimizing table: environment_killers... [success]
> Optimizing table: forums... [success]
> Optimizing table: friends... [success]
> Optimizing table: global_storage... [success]
> Optimizing table: guild_invites... [success]
> Optimizing table: guild_ranks... [success]
> Optimizing table: guilds... [success]
> Optimizing table: house_auctions... [success]
> Optimizing table: house_data... [success]
> Optimizing table: house_lists... [success]
> Optimizing table: houses... [success]
> Optimizing table: killers... [success]
> Optimizing table: messages... [success]
> Optimizing table: news... [success]
> Optimizing table: player_deaths... [success]
> Optimizing table: player_depotitems... [success]
> Optimizing table: player_items... [success]
> Optimizing table: player_killers... [success]
> Optimizing table: player_namelocks... [success]
> Optimizing table: player_skills... [success]
> Optimizing table: player_spells... [success]
> Optimizing table: player_storage... [success]
> Optimizing table: player_viplist... [success]
> Optimizing table: players... [success]
> Optimizing table: poll... [success]
> Optimizing table: poll_answer... [success]
> Optimizing table: poll_votes... [success]
> Optimizing table: posts... [success]
> Optimizing table: server_config... [success]
> Optimizing table: server_motd... [success]
> Optimizing table: server_record... [success]
> Optimizing table: server_reports... [success]
> Optimizing table: threads... [success]
> Optimizing table: tile_items... [success]
> Optimizing table: tiles... [success]
> Optimizing table: video_comments... [success]
> Optimizing table: videos... [success]
>> Loading items
>> Loading groups
>> Loading vocations
>> Loading script systems
>> Loading chat channels
>> Loading outfits
>> Loading experience stages
>> Loading monsters
>> Loading mods...
> Loading lookingatyou.xml... done.
> 1 mods were loaded.
>> Loading map and spawns...
> Map size: 4000x4000.
> Map descriptions:
"Saved with Remere's Map Editor 2.2"
"Xprime Mapa"
> Map loading time: 4.489 seconds.
> Data parsing time: 0.634 seconds.
> Houses synchronization time: 0.235 seconds.
> Content unserialization time: 1.28 seconds.
>> Checking world type... PvP
>> Initializing game state modules and registering services...
> Global address: 127.0.0.1
> Local ports: 7171     7172
>> All modules were loaded, server is starting up...
>> Seelan server Online!


[Error - TalkAction Interface]
In a timer event called from:
data/talkactions/scripts/move1.lua:onSay
Description:
data/lib/pokemon_moves.lua:3575: attempt to call global 'getNextStepDelay' (a nil value)
stack traceback:
        data/lib/pokemon_moves.lua:3575: in function <data/lib/pokemon_moves.lua:3570>



Meu console inteiro

Link para o comentário
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...