Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Citar

Lua Script Error: [Main Interface] in a timer event called from: (Unknown scriptfile) data/creaturescripts/scripts/autoloot.lua:13: attempt to call method 'getSize' (a nil value) stack traceback: [C]: in function 'getSize' data/creaturescripts/scripts/autoloot.lua:13: in function

 

Link para o post
Compartilhar em outros sites
  • 6 months later...

Aqui funcionou otx 3.10, base tfs 1.3.

Porém está acontecendo o seguinte erro no distro: 

Lua Script Error: [Main Interface] 
in a timer event called from: 
(Unknown scriptfile) 
data/creaturescripts/scripts/autoloot.lua:13: attempt to call method 'getSize' (a nil value) 
stack traceback: 
[C]: in function 'getSize' 
data/creaturescripts/scripts/autoloot.lua:13: in function 

O mais estranho é que funciona 100% o script kkk alguem sabe como arrumar isso? E eu também queria colocar mais slots de loot porém só para vip como faço isso?

Editado por vine96 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • 5 weeks later...

@floyer 

Em 03/01/2017 em 03:27, floyer disse:

Olha, no meu pra funcionar eu tive que alterar o .lua do talkactions, Bem na instruçao onde vc adiciona o item


if action == "add" then
        local item = split[2] -- Alterei aki. Antes ele removia os espacos em branco de itens como (gold coin), ficando goldcoin, dai ele n achava esse nome nos loots 
        local itemType = ItemType(item)
        if itemType:getId() == 0 then --removi linhas aki. Se o player digitar o nome errado do item, nao sera adicionado na lista de loot
                player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "There is no item with that id or name.")
                return false
        end

Só testei com o item gold coin. Matei uns eskeletos e ele funcionou certinho

 

O meu continua sem funcionar. Não aparece erro nenhum na distro, porém quando tento adicionar algum item usando o comando !autoloot add, ele não reconhece nenhum item que escrevo, fica sempre repetindo a msg Use the commands: !autoloot {add, remove, show, clear}. Sabe resolver? Uso TFS 1.2

 

Citar

Corrigido, precisava colocar vírgula para funcionar:

!autoloot add,gold coin :wow:

 

Editado por r4ge (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • 1 year later...
  • 11 months later...
Em 25/10/2015 em 16:02, Tricoder disse:
SCREENSHOT


______________________________________________

COMANDOS


!autoloot add, itemId ou name -- Adicionando um item na lista
!autoloot remove, itemId or name -- Remover um item da lista
!autoloot show -- Mostrar a lista do autoLoot
!autoloot clear -- Limpar a lista do autoLoot
______________________________________________
SCRIPT

data/global.lua


-- AutoLoot config
    AUTO_LOOT_MAX_ITEMS = 5

    -- Reserved storage
    AUTOLOOT_STORAGE_START = 10000
    AUTOLOOT_STORAGE_END = AUTOLOOT_STORAGE_START + AUTO_LOOT_MAX_ITEMS
-- AutoLoot config end

talkactions/talkactions.xml


<talkaction words="!autoloot" separator=" " script="autoloot.lua"/>

talkactions/scripts/autoloot.lua


function onSay(player, words, param)
    local split = param:split(",")

    local action = split[1]
    if action == "add" then
        local item = split[2]:gsub("%s+", "", 1)
        local itemType = ItemType(item)
        if itemType:getId() == 0 then
            itemType = ItemType(tonumber(item))
            if itemType:getId() == 0 then
                player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "There is no item with that id or name.")
                return false
            end
        end

        local itemName = tonumber(split[2]) and itemType:getName() or item
        local size = 0
        for i = AUTOLOOT_STORAGE_START, AUTOLOOT_STORAGE_END do
            local storage = player:getStorageValue(i)
            if size == AUTO_LOOT_MAX_ITEMS then
                player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "The list is full, please remove from the list to make some room.")
                break
            end

            if storage == itemType:getId() then
                player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, itemName .." is already in the list.")
                break
            end

            if storage <= 0 then
                player:setStorageValue(i, itemType:getId())
                player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, itemName .." has been added to the list.")
                break
            end

            size = size + 1
        end
    elseif action == "remove" then
        local item = split[2]:gsub("%s+", "", 1)
        local itemType = ItemType(item)
        if itemType:getId() == 0 then
            itemType = ItemType(tonumber(item))
            if itemType:getId() == 0 then
                player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "There is no item with that id or name.")
                return false
            end
        end

        local itemName = tonumber(split[2]) and itemType:getName() or item
        for i = AUTOLOOT_STORAGE_START, AUTOLOOT_STORAGE_END do
            if player:getStorageValue(i) == itemType:getId() then
                player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, itemName .." has been removed from the list.")
                player:setStorageValue(i, 0)
                return false
            end
        end

        player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, itemName .." was not founded in the list.")
    elseif action == "show" then
        local text = "-- Auto Loot List --\n"
        local count = 1
        for i = AUTOLOOT_STORAGE_START, AUTOLOOT_STORAGE_END do
            local storage = player:getStorageValue(i)
            if storage > 0 then
                text = string.format("%s%d. %s\n", text, count, ItemType(storage):getName())
                count = count + 1
            end
        end

        if text == "" then
            text = "Empty"
        end
   
        player:showTextDialog(1950, text, false)
    elseif action == "clear" then
        for i = AUTOLOOT_STORAGE_START, AUTOLOOT_STORAGE_END do
            player:setStorageValue(i, 0)
        end

        player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "The autoloot list has been cleared.")
    else
        player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Use the commands: !autoloot {add, remove, show, clear}")
    end

    return false
end

creaturescripts/creaturescripts.xml


<event type="kill" name="AutoLoot" script="autoloot.lua" />

creaturescripts/scripts/autoloot.lua


local function scanContainer(cid, position)
    local player = Player(cid)
    if not player then
        return
    end

    local corpse = Tile(position):getTopDownItem()
    if not corpse then
        return
    end

    if corpse:getType():isCorpse() and corpse:getAttribute(ITEM_ATTRIBUTE_CORPSEOWNER) == cid then
        for i = corpse:getSize() - 1, 0, -1 do
            local containerItem = corpse:getItem(i)
            if containerItem then
                for i = AUTOLOOT_STORAGE_START, AUTOLOOT_STORAGE_END do
                    if player:getStorageValue(i) == containerItem:getId() then
                        containerItem:moveTo(player)
                    end
                end
            end
        end
    end
end

function onKill(player, target)
    if not target:isMonster() then
        return true
    end

    addEvent(scanContainer, 100, player:getId(), target:getPosition())
    return true
end

creaturescripts/scripts/login.lua


player:registerEvent("AutoLoot")
______________________________________________

CRÉDITOS

  • Printer

desculpe reviver o topico, como deixo o comando !autoloot pra ativar o sistema e o restante pra gerenciar pelo (manager loot containers) Meu é tfs 1.3 versao 12.3 

Link para o post
Compartilhar em outros sites
5 minutos atrás, feipedorp disse:

desculpe reviver o topico, como deixo o comando !autoloot pra ativar o sistema e o restante pra gerenciar pelo (manager loot containers) Meu é tfs 1.3 versao 12.3 

 

vc quer um comando que ativa o autoloot? exemplo !autoloot on/off?

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites
21 horas atrás, Vodkart disse:

 

vc quer um comando que ativa o autoloot? exemplo !autoloot on/off?

Eu quero deixar o sistema como atual igual global, para gerenciamento de backpackys e itens, porem o meu autoloot não pega o loot sozinho tem que abrir o bixo, gostaria que somente ao matar coletasse sozinho o loot.

Link para o post
Compartilhar em outros sites
  • 10 months later...

Pra quem ainda utiliza esse script venho trazer a solução para o erro tanto do GetSize quanto do Container.

 

O meu pensamento foi bem simples, eu sabia que o script estava funcionando quase "perfeitamente" se não fosse esse erro, eu testei inumeras vezes e não acontecia o erro, porém quando outras pessoas pelo mapa estavam caçando, as vezes aparecia.

Então eu tive que começar a pensar em identificar em que circunstância isso acontecia, então eu pensei na possibilidade de ser um monstro específico ou alguma característica.

Coloquei pra printar o monstro e o player toda vez que o autoloot fosse acionado e deu certo, descobri que quando as pessoas matavam por exemplo a Snake, que não tem como abrir, o script dava esse erro.

 

A solução foi o seguinte, 

 

 

Arquivo: creaturescripts/scripts/autoloot.lua

        local container = Container(corpse.uid)
	
		-- verificação se o corpo possui ou não container
        if not container then
              return
        end

 

Coloquei essa verificação para identificar se o monstro em questão possuia container antes de executar a função do autoloot.

 

Sendo assim, se ele identificar que o corpo não possui container (não da pra abrir) ele mata o script e não da o erro.

 

Espero que funcione pra vocês também!

 

Scripts final ficou assim:

 

local function scanContainer(cid, position)
    local player = Player(cid)
    if not player then
        return
    end

    local corpse = Tile(position):getTopDownItem()
    if not corpse then
        return
    end

    if corpse:getType():isCorpse() and corpse:getAttribute(ITEM_ATTRIBUTE_CORPSEOWNER) == cid then


        local container = Container(corpse.uid)

        if not container then
              return
        end

        for i = 0, container:getSize()-1 do
            local containerItem = container:getItem(i)
            if containerItem then
                for i = AUTOLOOT_STORAGE_START, AUTOLOOT_STORAGE_END do
                    if player:getStorageValue(i) == containerItem:getId() then
                        containerItem:moveTo(player)
                    end
                end
            end
        end
    end
end

function onKill(player, target)
    if not target:isMonster() then
        return true
    end

    addEvent(scanContainer, 100, player:getId(), target:getPosition())
    return true
end

 

 

Editado por tavares7 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • 1 year later...

Salve galera desculpa revier o topico mais estou com mesmo erro do cara ali de 2017, eu testei numa tfs1.5 do nekiro downgrades 8.60 
ele funciona tudo certinho adiciona na lista e remove e ver a lista porém ele não coleta o item e não aparece erro no log


Alguem pode ajudar

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 Arkanjo39
      CUIDA, CUIDA E VEM CONHECER NOSSO SERVER. KING BAIAK ACABOU DE SER LANÇADO!!! VEM SER O TOP 1 Site com Otclient: https://kingbaiak.com/ PARA NOVOS JOGARES ADM TA DANDO AQUELA FORCINHA! SERVIDOR 8.60 COM RESETS, MONTARIAS E GOLDEN OUTFIT! INFORMAÇÕES BÁSICAS DO SERVIDOR: [+] MAPA BAIAK [+] HIGH EXP [+] RESETS COM + DAMAGE [+] AUTOLOOT AUTOMÁTICO [+] CITY DONATE [+] ROSHAMUUL, ORAMOND E NETHER [+] MONTARIAS E GOLDEN OUTFIT [+] INVASÃO DE MONSTROS AUTOMÁTICAS [+] DAILY MONSTER QUE APARECE AO LOGAR [+] MONTARIAS COM COMANDO !MOUNT [+] SISTEMA DE ROLETA ATUAL [+] CAST WATCH [+] FAST ATTACK [+] CAST ARROWS [+] PUSH CRUZADO [+] REWARD CHEST [+] WARSQUARE [+] COMBO EXP DE POTIONS [+] MINERAÇÃO COM LOJA [+] SISTEMA DE BOSS [+] CRITICAL/DODGE [500/500] [+] LIFE E MANA EM PORCENTAGEM* [+] VARIAS QUESTS [+] EVENTO DTT (AUTOMÁTICO) [+] EVENTO BATLEFIELD (AUTOMÁTICO) [+] EVENTO SNOWBALLWAR (AUTOMÁTICO) [+] EVENTO DESERT WAR (AUTOMÁTICO) [+] EVENTO ZOMBIE (AUTOMÁTICO) [+] EVENTO CAMPO MINADO (AUTOMÁTICO) [+] EVENTO TEAM BATLE (AUTOMÁTICO) [+] EVENTO CAPTURE THE FLAG (AUTOMÁTICO)
    • Por Asnan
      Fusion Games Studio, com orgulho, apresenta um servidor que o levará de volta aos dias de ouro dos jogos, onde a habilidade fazia a diferença, jogar sem bots era o padrão, cada derrota doía e cada vitória trazia uma satisfação genuína.
      Nosso servidor revive o espírito dos jogos clássicos — sem atalhos, sem trapaças, apenas pura estratégia e habilidade.
      Data de lançamento oficial: 18.10.24 15:00
      Junte-se ao Shinobi Legacy hoje!
      Site: https://www.shinobilegacy.pl
      Discord: https://discord.com/invite/ervPpDqjQt
       
      Vídeo promocional
      https://www.youtube.com/watch?v=3Z_HzIdfVjg
       
      Jogue como um dos 16 personagens do universo de Naruto.

       
      Um dos sistemas disponíveis no jogo

       
       
      Aproximamo-nos do Shinobi Legacy com total comprometimento e paixão, cuidando até dos menores detalhes. Nossos esforços e abordagem única nos diferenciam de outros servidores — isso é perceptível desde o primeiro momento em que você experimenta nosso jogo.
      Nosso mapa personalizado em Shinobi Legacy é cuidadosamente elaborado para imergir os jogadores no mundo de Naruto como nunca antes. Cada zona é projetada com detalhes, oferecendo tanto uma experiência nostálgica quanto novos desafios para jogadores de todos os níveis. Masmorras ocultas, caminhos secretos e zonas de guerra perigosas aguardam aqueles que ousam explorar!
      No Shinobi Legacy, o PvP está no coração da experiência. Nossos sistemas, como as habilidades baseadas em guildas, o sistema de adrenalina e a encantação, garantem que nenhuma batalha seja a mesma.
       
      Capturas de tela do jogo

       
       
       
    • Por BTitan
      Baiak Titan: Uma Experiência Incomparável no Universo Baiak
       
      O Baiak Titan combina a nostalgia dos antigos tempos de OTServ com a inovação e modernidade atuais. Oferecemos um mapa vasto, com mais de 100 áreas de caça para explorar, além de vocações equilibradas para um PvP justo e emocionante. Diversos eventos automáticos ocorrem diariamente, garantindo diversão constante para os jogadores. O servidor conta com vários sistemas, como por exemplo, montarias para quem utiliza o cliente exclusivo, monstros do Tibia 9.6+, sistema de mineração, entre outros!
       
      Por Que Escolher o Baiak Titan?
       
      PvP de Alta Qualidade: Embora seja um servidor Baiak, nosso mapa é cuidadosamente projetado para proporcionar ganho de experiência sem perder a seriedade do jogo, oferecendo desafios instigantes e um equilíbrio perfeito para combates épicos.
      Jogabilidade Customizada: O mapa Baiak foi exclusivamente adaptado para promover intensas batalhas de PvP, com recursos inovadores que mantêm a jogabilidade sempre fresca e emocionante.

      Detalhes do Servidor:
       
      IP: baiaktitan.com Website: https://baiaktitan.com Account Manager: 1/1
        Principais Características:
       
      Uptime 24/7, Sem Lag: Jogue a qualquer hora com a estabilidade de servidores dedicados e de alta performance. Velocidade de Ataque Equilibrada: Ajustada perfeitamente para garantir combates dinâmicos e justos. Sistema de Cast: Transmita suas jogadas ao vivo e assista aos seus amigos em ação. Cliente Exclusivo: Software personalizado com novos outfits, montarias e criaturas, enriquecendo ainda mais sua experiência no jogo. Runas, Poções e Flechas Não Infinitas: Valorizamos uma jogabilidade mais estratégica e desafiadora, onde os recursos precisam ser geridos com sabedoria.
      Eventos Automáticos:
       
      Zombie Team Battle Monster Hunter Castle (War of Emperium) Capture The Flag DOTA Corrida Arena War (O último sobrevivente ganha) Fire Storm
        Taxas do Servidor:
       
      EXP: 200x (com stages)
      Skill: 100x
      Magic: 30x
      Loot: 3x
       
      Junte-se à nossa comunidade e viva essa aventura única. O Baiak Titan espera por você!
    • Por campospkks
      Servidor muito bem otimizado, com amplo map para uma diversão imperdível. 
       
      *  Quest System
      * bugs corrigidos 90,0%
      * Client Específico (V8)
      * Mobile Adaptavel e Otimizado
      * database.sql já com (Modulo Pix) 
      * site 95,9% atualizado (Troque, pois a marca já possuí proprietário)
      * Franquia Tibia Custom baseado em armas.
       
      Site Original: soulgun.com.br
      discord.gg/cCWcaMwjuB
      Relançamento Servidor 20-09-2024
      Horario 17:00
      whatsap Grupo
      https://chat.whatsapp.com/JsAyLAmwJQyGEWgHTI4096
      Video Do Game
      https://youtu.be/N8asxdnzmGw


    • Por HoSOnline
      [BETA][BETA][BETA][BETA][BETA][BETA][BETA][BETA][BETA][BETA][BETA][BETA][BETA][BETA][BETA][BETA][BETA]

      Hello, I would like to introduce you to a server that I have been working on for some time.
      ____________________________________
      Start HoSOnline - Beta 20.09.2024r 18:00 / BR 6:00 pm
      Discord: https://discord.gg/g7uzMzr3dg
      AccMaker: https://hosonline.eu/home.html
      FanPage FB: https://www.facebook.com/historyofshinobionline
      ________________________________


      ____________________________________

      SERVER INFORMATION
      ________________________________

      Exp Rate: MEDIUM

      On the server I currently have:
      (all systems are described on AccMaker)


      ○ 17 Professions
      ○ Shippuden (Reborn System with DB OTS)
      ○ Task System
      ○ Rider System
      ○ Fly System
      ○ Florist System (only Ino)
      ○ Upgrade System
      ○ Class System Broni/EQ
      ○ 'Combo' System
      ○ Specials Jutsu
      ○ Perks System
      ○ Cast System
      ○ Crafting System
      ○ Hiraishin Kunai
      ○ Boss System
      ○ Sag System..


      Sample Screens from the game:









       
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo