Ir para conteúdo

Featured Replies

Postado
  • Diretor
<action itemid="6542" event="script" value="scriptxp.lua"/>

adiciona esse id dentro do script tbm porque cada comida é um tipo de exp. scriptxp.lua pra todas comidas e coloque tbm as outras comida no script.

 

 

Se Não conseguir use esse sem as comida dentro do script action, adicione em todas comidas que vao dar exp.

 

 

function onUse(cid, item, fromPosition, itemEx, toPosition)
    local expMin = 1000 -- EXP mínima que será adicionada
    local expMax = 5000 -- EXP máxima que será adicionada
    local expGain = math.random(expMin, expMax) -- Calcula a EXP a ser adicionada de forma aleatória

    if item:isFood() then
        doPlayerAddExp(cid, expGain) -- Adiciona a EXP ao jogador
        doRemoveItem(item.uid, 1) -- Remove a comida do inventário do jogador
        doSendMagicEffect(getCreaturePosition(cid), CONST_ME_SOUND_YELLOW) -- Emite um efeito sonoro ao comer a comida
        doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, string.format("Você comeu %s e recebeu %d de experiência!", item:getName(), expGain)) -- Exibe uma mensagem para o jogador informando a EXP ganha
    end

    return true
end

 

Editado por L3K0T (veja o histórico de edições)

 

20230912_034613.png.cf49b650c34dd7d7b1f79bd49c70f53c.png

Eu sou um entusiasta da programação apaixonado por ajudar a comunidade open source a crescer. Sempre em busca de novos desafios e oportunidades para contribuir com meu código.  #OpenSource #Programação #Contribuição

 

  • Respostas 21
  • Visualizações 651
  • Created
  • Última resposta

Top Posters In This Topic

Posted Images

Postado
  • Autor

Ve se ta certo XML .lua você fez algo que nem um comedor de angu faria avalia se ta no geito que voce falo.

<action itemid="6542" event="script" value="scriptxp.lua"/>

 

function onUse(cid, item, fromPosition, itemEx, toPosition)
    local foodIds = {6542, 6543, 6544, 6545, 2328, 6541, 12599, 8300} -- IDs das comidas que irão dar EXP
    local expMin = 10000 -- EXP mínima que será adicionada
    local expMax = 1000000 -- EXP máxima que será adicionada
    local expGain = math.random(expMin, expMax) -- Calcula a EXP a ser adicionada de forma aleatória

    for _, id in ipairs(foodIds) do
        if item.itemid == id then
            doPlayerAddExp(cid, expGain) -- Adiciona a EXP ao jogador
            doRemoveItem(item.uid, 1) -- Remove a comida do inventário do jogador
            doSendMagicEffect(getCreaturePosition(cid), CONST_ME_SOUND_YELLOW) -- Emite um efeito sonoro ao comer a comida
            doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, string.format("Você comeu %s e recebeu %d de experiência!", getItemName(item.itemid), expGain)) -- Exibe uma mensagem para o jogador informando a EXP ganha
            break
        end
    end

    return true
end

 

Postado
  • Diretor
  Em 15/03/2023 em 20:26, Muvukaa disse:

Ve se ta certo XML .lua você fez algo que nem um comedor de angu faria avalia se ta no geito que voce falo.




<action itemid="6542" event="script" value="scriptxp.lua"/>

 




function onUse(cid, item, fromPosition, itemEx, toPosition)
    local foodIds = {6542, 6543, 6544, 6545, 2328, 6541, 12599, 8300} -- IDs das comidas que irão dar EXP
    local expMin = 10000 -- EXP mínima que será adicionada
    local expMax = 1000000 -- EXP máxima que será adicionada
    local expGain = math.random(expMin, expMax) -- Calcula a EXP a ser adicionada de forma aleatória

    for _, id in ipairs(foodIds) do
        if item.itemid == id then
            doPlayerAddExp(cid, expGain) -- Adiciona a EXP ao jogador
            doRemoveItem(item.uid, 1) -- Remove a comida do inventário do jogador
            doSendMagicEffect(getCreaturePosition(cid), CONST_ME_SOUND_YELLOW) -- Emite um efeito sonoro ao comer a comida
            doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, string.format("Você comeu %s e recebeu %d de experiência!", getItemName(item.itemid), expGain)) -- Exibe uma mensagem para o jogador informando a EXP ganha
            break
        end
    end

    return true
end

 

Então eu não testei,  vc testou, come o angu e se não deu certo, tente assim sem os ids 

 

 

function onUse(cid, item, fromPosition, itemEx, toPosition)
    local expMin = 1000 -- EXP mínima que será adicionada
    local expMax = 5000 -- EXP máxima que será adicionada
    local expGain = math.random(expMin, expMax) -- Calcula a EXP a ser adicionada de forma aleatória

    if item:isFood() then
        doPlayerAddExp(cid, expGain) -- Adiciona a EXP ao jogador
        doRemoveItem(item.uid, 1) -- Remove a comida do inventário do jogador
        doSendMagicEffect(getCreaturePosition(cid), CONST_ME_SOUND_YELLOW) -- Emite um efeito sonoro ao comer a comida
        doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, string.format("Você comeu %s e recebeu %d de experiência!", item:getName(), expGain)) -- Exibe uma mensagem para o jogador informando a EXP ganha
    end

    return true
end

 

 

tem esse tbm que fiz, realmente te mandei o errado, estou desse ontem sem dormir o código abaixo completinho. 

 

 

function onUse(cid, item, fromPosition, itemEx, toPosition)
    local foodExp = {
        [6542] = 5000,
        [6543] = 10000,
        [6544] = 15000,
        [6545] = 20000,
        [2328] = 25000,
        [6541] = 30000,
        [12599] = 40000,
        [8300] = 50000,
    }
    local expGain = foodExp[item.itemid] or 0 -- Pega a quantidade de exp correspondente à comida, ou 0 se não existir

    if expGain > 0 then
        doPlayerAddExp(cid, expGain)
        doRemoveItem(item.uid, 1)
        doSendMagicEffect(getCreaturePosition(cid), CONST_ME_SOUND_YELLOW)
        doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, string.format("Você comeu %s e recebeu %d de experiência!", getItemName(item.itemid), expGain))

        -- Adiciona um efeito aleatório estilo Baiak
        local baiakEffects = {CONST_ME_ENERGYAREA, CONST_ME_FIREAREA, CONST_ME_POISONAREA, CONST_ME_EXPLOSIONAREA}
        local effect = baiakEffects[math.random(#baiakEffects)]
        doSendMagicEffect(getCreaturePosition(cid), effect)

        -- Remove o efeito depois de 3 segundos
        addEvent(doSendMagicEffect, 3000, getCreaturePosition(cid), CONST_ME_NONE)
    end

    return true
end

 

 

20230912_034613.png.cf49b650c34dd7d7b1f79bd49c70f53c.png

Eu sou um entusiasta da programação apaixonado por ajudar a comunidade open source a crescer. Sempre em busca de novos desafios e oportunidades para contribuir com meu código.  #OpenSource #Programação #Contribuição

 

Postado
  • Diretor
  Em 15/03/2023 em 20:54, Muvukaa disse:

Tipo assim eu tava ja com um Sistema EXP-Food mais as ids food que não funcionava eram essa 2328 - 6541- 12599 - 8300 vo posta o script.

Tibia.thumb.png.466e4b22cc3a75c345319d37c5f32ff3.png

function onUse(cid, item, fromPosition, itemEx, toPosition)
    local foodExp = {
        [6542] = 5000,
        [6543] = 10000,
        [6544] = 15000,
        [6545] = 20000,
        [2328] = 25000,
        [6541] = 30000,
        [12599] = 40000,
        [8300] = 50000,
    }
    local expGain = foodExp[item.itemid] or 0 -- Pega a quantidade de exp correspondente à comida, ou 0 se não existir

    if expGain > 0 then
        doPlayerAddExp(cid, expGain)
        doRemoveItem(item.uid, 1)
        doSendMagicEffect(getCreaturePosition(cid), CONST_ME_SOUND_YELLOW)
        doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, string.format("Você comeu %s e recebeu %d de experiência!", getItemName(item.itemid), expGain))

        -- Adiciona um efeito aleatório estilo Baiak
        local baiakEffects = {CONST_ME_ENERGYAREA, CONST_ME_FIREAREA, CONST_ME_POISONAREA, CONST_ME_EXPLOSIONAREA}
        local effect = baiakEffects[math.random(#baiakEffects)]
        doSendMagicEffect(getCreaturePosition(cid), effect)

        -- Remove o efeito depois de 3 segundos
        addEvent(doSendMagicEffect, 3000, getCreaturePosition(cid), CONST_ME_NONE)
    end

    return true
end
 

 

20230912_034613.png.cf49b650c34dd7d7b1f79bd49c70f53c.png

Eu sou um entusiasta da programação apaixonado por ajudar a comunidade open source a crescer. Sempre em busca de novos desafios e oportunidades para contribuir com meu código.  #OpenSource #Programação #Contribuição

 

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo