Ir para conteúdo
  • Cadastre-se

Normal Dar storage para todos que atacaram


Posts Recomendados

Opa! Estou precisando muito alterar esse script, para contar a morte e dar storage para todos que ajudarem a matar o monstro pra fazer tasks em dupla ou mais gente, do jeito que está só 1 ta pegando a storage. MUITO OBRIGADO MESMO!

 

function onKill(player, target, lastHit)
    if target:isPlayer() or target:getMaster() then
        return true
    end

    local targetName, startedTasks, taskId = target:getName():lower(), player:getStartedTasks()
    for i = 1, #startedTasks do
        taskId = startedTasks
        if isInArray(tasks[taskId].creatures, targetName) then
            local killAmount = player:getStorageValue(KILLSSTORAGE_BASE + taskId)
            if killAmount < tasks[taskId].killsRequired then
                player:setStorageValue(KILLSSTORAGE_BASE + taskId, killAmount + 1)
            end
        end
    end
    return true
end

 

Editado por onix (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

tenta tirar a parte do lastHit .

deixar 

function onKill(player, target)

 

vai q da certo kk 

Se o mundo é mesmo parecido com o que vejo,

Prefiro acreditar no mundo do meu jeito.

( - Renato Russo)

Link para o post
Compartilhar em outros sites

Se fizer isso, ele vai contar os mostro sumonado também. pelo menos aqui contou até isso. :/ mesmo assim vlw pela dica.

Link para o post
Compartilhar em outros sites
function onKill(player, target, cid)
    if target:isPlayer() or target:getMaster() then
        return true
    end
    local targetName, startedTasks, taskId = target:getName():lower(), player:getStartedTasks()
    for i = 1, #startedTasks do
        taskId = startedTasks
        if isInArray(tasks[taskId].creatures, targetName) then
            local killAmount = player:getStorageValue(KILLSSTORAGE_BASE + taskId)
            if killAmount < tasks[taskId].killsRequired then
                player:setStorageValue(KILLSSTORAGE_BASE + taskId, killAmount + 1)
            end
        end
    end
    return true
end

 

asdukeeh.jpg

Link para o post
Compartilhar em outros sites
Em 16/05/2016 at 10:28, DukeeH disse:

function onKill(player, target, cid) if target:isPlayer() or target:getMaster() then return true end local targetName, startedTasks, taskId = target:getName():lower(), player:getStartedTasks() for i = 1, #startedTasks do taskId = startedTasks if isInArray(tasks[taskId].creatures, targetName) then local killAmount = player:getStorageValue(KILLSSTORAGE_BASE + taskId) if killAmount < tasks[taskId].killsRequired then player:setStorageValue(KILLSSTORAGE_BASE + taskId, killAmount + 1) end end end return true end

Obrigado por ajudar amigo @Dukeeh mas deu esse erro:

 

Lua Script Error: [CreatureScript Interface]
data/creaturescripts/scripts/quests/killing in the name of/kills.lua:onKill
...escripts/scripts/quests/killing in the name of/kills.lua:8: attempt to index field '?' (a nil value)
stack traceback:
    [C]: in function '__index'
    ...escripts/scripts/quests/killing in the name of/kills.lua:8: in function <...escripts/scripts/quests/killing in the name of/kills.lua:1>

 

Link para o post
Compartilhar em outros sites
2 horas atrás, onix disse:

Obrigado por ajudar amigo @Dukeeh mas deu esse erro:

 

Lua Script Error: [CreatureScript Interface]
data/creaturescripts/scripts/quests/killing in the name of/kills.lua:onKill
...escripts/scripts/quests/killing in the name of/kills.lua:8: attempt to index field '?' (a nil value)
stack traceback:
    [C]: in function '__index'
    ...escripts/scripts/quests/killing in the name of/kills.lua:8: in function <...escripts/scripts/quests/killing in the name of/kills.lua:1>

 

Tfs 1. qual? Tenta assim:

function onKill(cid, target)
    if target:isPlayer() or target:getMaster() then
        return true
    end
    local targetName, startedTasks, taskId = target:getName():lower(), player:getStartedTasks()
    for i = 1, #startedTasks do
        taskId = startedTasks
        if isInArray(tasks[taskId].creatures, targetName) then
            local killAmount = player:getStorageValue(KILLSSTORAGE_BASE + taskId)
            if killAmount < tasks[taskId].killsRequired then
                player:setStorageValue(KILLSSTORAGE_BASE + taskId, killAmount + 1)
            end
        end
    end
    return true
end

asdukeeh.jpg

Link para o post
Compartilhar em outros sites
6 minutos atrás, DukeeH disse:

function onKill(cid, target) if target:isPlayer() or target:getMaster() then return true end local targetName, startedTasks, taskId = target:getName():lower(), player:getStartedTasks() for i = 1, #startedTasks do taskId = startedTasks if isInArray(tasks[taskId].creatures, targetName) then local killAmount = player:getStorageValue(KILLSSTORAGE_BASE + taskId) if killAmount < tasks[taskId].killsRequired then player:setStorageValue(KILLSSTORAGE_BASE + taskId, killAmount + 1) end end end return true end

Opa amigo! agora deu outro erro, TFS 1.2 aqui, muito obrigado por ajudar!

 

Lua Script Error: [CreatureScript Interface]
data/creaturescripts/scripts/quests/killing in the name of/kills.lua:onKill
...escripts/scripts/quests/killing in the name of/kills.lua:5: attempt to index global 'player' (a nil value)
stack traceback:
    [C]: in function '__index'
    ...escripts/scripts/quests/killing in the name of/kills.lua:5: in function <...escripts/scripts/quests/killing in the name of/kills.lua:1>

 

Link para o post
Compartilhar em outros sites
2 minutos atrás, onix disse:

Opa amigo! agora deu outro erro, TFS 1.2 aqui, muito obrigado por ajudar!

 

Lua Script Error: [CreatureScript Interface]
data/creaturescripts/scripts/quests/killing in the name of/kills.lua:onKill
...escripts/scripts/quests/killing in the name of/kills.lua:5: attempt to index global 'player' (a nil value)
stack traceback:
    [C]: in function '__index'
    ...escripts/scripts/quests/killing in the name of/kills.lua:5: in function <...escripts/scripts/quests/killing in the name of/kills.lua:1>

 

Não tenho muita expêriencia com 1.0+... 

Tenta assim... Tem certeza que se por lasthit ali na função ele funciona de boa e não da erro?

function onKill(creature, target)
    if target:isPlayer() or target:getMaster() then
        return true
    end

    local targetName, startedTasks, taskId = target:getName():lower(), player:getStartedTasks()
    for i = 1, #startedTasks do
        taskId = startedTasks
        if isInArray(tasks[taskId].creatures, targetName) then
            local killAmount = player:getStorageValue(KILLSSTORAGE_BASE + taskId)
            if killAmount < tasks[taskId].killsRequired then
                player:setStorageValue(KILLSSTORAGE_BASE + taskId, killAmount + 1)
            end
        end
    end

    return true
end

 

asdukeeh.jpg

Link para o post
Compartilhar em outros sites
55 minutos atrás, DukeeH disse:

function onKill(creature, target) if target:isPlayer() or target:getMaster() then return true end local targetName, startedTasks, taskId = target:getName():lower(), player:getStartedTasks() for i = 1, #startedTasks do taskId = startedTasks if isInArray(tasks[taskId].creatures, targetName) then local killAmount = player:getStorageValue(KILLSSTORAGE_BASE + taskId) if killAmount < tasks[taskId].killsRequired then player:setStorageValue(KILLSSTORAGE_BASE + taskId, killAmount + 1) end end end return true end

O novo erro
Lua Script Error: [CreatureScript Interface]
data/creaturescripts/scripts/quests/killing in the name of/kills.lua:onKill
...escripts/scripts/quests/killing in the name of/kills.lua:6: attempt to index global 'player' (a nil value)
stack traceback:
    [C]: in function '__index'
    ...escripts/scripts/quests/killing in the name of/kills.lua:6: in function <...escripts/scripts/quests/killing in the name of/kills.lua:1>

 


Então o script original funciona perfeitamente mas só atribui o storage para 1 player, desanimando a fazer as tasks aqui no server, pois elas estão = no global, no meu servidor 8.60 e tfs 0.3 dava pra fazer as tasks em team e entao a galera ficou mal acostumada hehe

eu tenho um script q da storage a todos q ajudaram a matar, mas não consegui fazer ele usar as funções e as storages das tasks da killing in name of...

 

local bosses = {
    ['mawhawk'] = {status = 1, storage = 70008},
}

function onKill(creature, target)
    local targetMonster = target:getMonster()
    if not targetMonster then
        return true
    end

    local bossConfig = bosses[targetMonster:getName():lower()]
    if not bossConfig then
        return true
    end

    for pid, _ in pairs(targetMonster:getDamageMap()) do
        local attackerPlayer = Player(pid)
        if attackerPlayer then
            attackerPlayer:setStorageValue(70000, 1)
            attackerPlayer:setStorageValue(70008, 1)
        end
    end
end

 

 

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 Jaurez
      .
    • Por Cat
      Em alguns casos, o tibia 8.60 comum não abre de jeito nenhum no map editor, mesmo desmarcando check file signatures e configurando o path corretamente.
       
      Este é o client 8.60 adaptado para o Remere's Map Editor. Resolvi postar já que ele foi removido do site oficial do RME. (ficou apenas a versão para linux lá)
      Se estiver tendo problemas para abrir a versão 8.60, tente utilizar este.
                                                                                                                     
      Baixar o Tibia Client 8.60 que funciona no Remere’s Map Editor
      Essa versão do Tibia 8.60 client resolve o erro unsupported client version ou Could not locate tibia.dat and/or tibia.spr, please navigate to your tibia 8.60 installation folder.
       
      Downloads
      https://tibiaking.com/applications/core/interface/file/attachment.php?id=47333

      Scan: https://www.virustotal.com/gui/file/333e172ac49ba2028db9eb5889994509e7d2de28ebccfa428c04e86defbe15cc
       
    • Por danilo belato
      Fala Galera To Com um problema aki 
       
      quero exporta umas sprites de um server para colocar em outro 
       
      eu clico na sprites ai aparece tds a forma delas do lado de la >>
       
      ai eu clico nela e ponho a opiçao de export mais quando salvo a sprite ela n abri 
       
      aparece isso quando tento vê-la 
       
      visualização não disponível ( no formatos png e bitmap)
       
      Agora no formato idc fala que o paint n pode ler 
       
      me ajudem ae...
    • Por Vitor Bicaleto
      Galera to com o script do addon doll aqui, quando eu digito apenas "!addon" ele aparece assim: Digite novamente, algo está errado!"
      quando digito por exemplo: "!addon citizen" ele não funciona e não da nenhum erro
       
      mesma coisa acontece com o mount doll.. 
    • Por Ayron5
      Substitui uma stone no serve, deu tudo certo fora  esse  erro ajudem  Valendo  Rep+  Grato  

      Erro: data/actions/scripts/boost.lua:557: table index is nil
       [Warning - Event::loadScript] Cannot load script (data/actions/scripts/boost.lua)

      Script:
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo