Ir para conteúdo

Featured Replies

Postado
  • Autor
  • Solução

Resolvido, MaXwEllDeN manja!!

local amuletos = {
   [1] = 7887,
   [2] = 7888,
   [5] = 7889,
   [7] = 7890,
   [10] = 7891,
   [13] = 7882,
   [16] = 7883,
   [20] = 7885,
}

function onAdvance(cid, skill, oldlevel, newlevel)

    if skill == 8 and amuletos[newlevel] then
        doPlayerSendTextMessage(cid, 20, "You received "..getItemNameById(amuletos[newlevel]).." for reaching level ".. newlevel..".")
        doTransformItem(getPlayerSlotItem(cid, CONST_SLOT_NECKLACE).uid, amuletos[newlevel])
    end

   return true
end

function onLogin(cid)
    local lower_lvls = {}

    for level, id in pairs(amuletos) do
        if level <= getPlayerLevel(cid) then
            table.insert(lower_lvls, level)
        end
    end

    table.sort(lower_lvls, function(a, b) return a < b end)

    local amuleto_novo = amuletos[lower_lvls[#lower_lvls]]
    if amuleto_novo ~= getPlayerSlotItem(cid, CONST_SLOT_NECKLACE).itemid then
        doTransformItem(getPlayerSlotItem(cid, CONST_SLOT_NECKLACE).uid, amuleto_novo)
    end

    return true
end

  • Respostas 32
  • Visualizações 1.4k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Não, ela serve pra se eu logar, e tiver com um amuleto que é de um nível superior(acontece quando você morre), ele trocar o amuleto para um anterior. Vou tentar explicar a minha lógica pra resolver es

  • bom, através do item edito eu coloquei pro item não poder ser movido do slot, e com o script do comedinhasss ele inicia com o primeiro colar function onLogin(cid) local sorcItems = {

  • Não cheguei a ver o código fonte dessa função. Mas eu penso nela desse modo:  

Postado

não entendi essa segunda parte, seria pros players já criados no server terem seus amuletos atualizados?

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Postado

não entendi essa segunda parte, seria pros players já criados no server terem seus amuletos atualizados?

 

Não, ela serve pra se eu logar, e tiver com um amuleto que é de um nível superior(acontece quando você morre), ele trocar o amuleto para um anterior. Vou tentar explicar a minha lógica pra resolver esse problema.

 

local amuletos = {
   [1] = 7887,
   [2] = 7888,
   [5] = 7889,
   [7] = 7890,
   [10] = 7891,
   [13] = 7882,
   [16] = 7883,
   [20] = 7885,
}

function onLogin(cid)
    local lower_lvls = {}
 
    for level, id in pairs(amuletos) do
        if level <= getPlayerLevel(cid) then
            table.insert(lower_lvls, level)
        end
    end
 
    table.sort(lower_lvls, function(a, b) return a < b end)
 
    local amuleto_novo = amuletos[lower_lvls[#lower_lvls]]

    if amuleto_novo ~= getPlayerSlotItem(cid, CONST_SLOT_NECKLACE).itemid then
        doTransformItem(getPlayerSlotItem(cid, CONST_SLOT_NECKLACE).uid, amuleto_novo)
    end
 
    return true
end
 

 

 

 

 

local amuletos = {

   [1] = 7887,

   [2] = 7888,

   [5] = 7889,

   [7] = 7890,

   [10] = 7891,

   [13] = 7882,

   [16] = 7883,

   [20] = 7885,

}

function onLogin(cid)

    local lower_lvls = {}

 

    for level, id in pairs(amuletos) do

        if level <= getPlayerLevel(cid) then

            table.insert(lower_lvls, level)

        end

    end

 

    table.sort(lower_lvls, function(a, b) return a < b end)

 

    local amuleto_novo = amuletos[lower_lvls[#lower_lvls]]

    if amuleto_novo ~= getPlayerSlotItem(cid, CONST_SLOT_NECKLACE).itemid then

        doTransformItem(getPlayerSlotItem(cid, CONST_SLOT_NECKLACE).uid, amuleto_novo)

    end

 

    return true

end

 

 

 

 

    local lower_lvls = {}

 

 

Primeiro, eu crio uma variável que vai ter todos os lvls anteriores ao meu(EM ORDEM CRESCENTE).

 

    for level, id in pairs(amuletos) do

        if level <= getPlayerLevel(cid) then

            table.insert(lower_lvls, level)

        end

    end 

 

Aqui, eu coloco todos os leveis menores, ou iguais ao meu, na tabela lower_lvls.

 

OBS: Note que eles não vão ser adicionado necessariamente em ordem crescente.

 

table.sort(lower_lvls, function(a, b) return a < b end)

 

 

Aqui, ele reorganiza a tabela lower_lvls, para que fique em ordem crescente(Meu objetivo é pegar o último level da tabela, para saber qual amuleto eu devo usar).

 

local amuleto_novo = amuletos[lower_lvls[#lower_lvls]]

 

 

Aqui ele pega o id do meu novo amuleto, baseado no level que eu deveria ter para pegar ele.

 

 

Acho que ficou um pouco confuso D:

 

Mas, espero que dê para entender '-'

-"Supra Omnes Lux Lucis"

- Acima de todos brilha a Luz -

5VGnDyBz.png

Postado

Não, ela serve pra se eu logar, e tiver com um amuleto que é de um nível superior(acontece quando você morre), ele trocar o amuleto para um anterior. Vou tentar explicar a minha lógica pra resolver esse problema.

 

 

 

 

 

 

 

Primeiro, eu crio uma variável que vai ter todos os lvls anteriores ao meu(EM ORDEM CRESCENTE).

 

 

Aqui, eu coloco todos os leveis menores, ou iguais ao meu, na tabela lower_lvls.

 

OBS: Note que eles não vão ser adicionado necessariamente em ordem crescente.

 

 

Aqui, ele reorganiza a tabela lower_lvls, para que fique em ordem crescente(Meu objetivo é pegar o último level da tabela, para saber qual amuleto eu devo usar).

 

 

Aqui ele pega o id do meu novo amuleto, baseado no level que eu deveria ter para pegar ele.

 

 

Acho que ficou um pouco confuso D:

 

Mas, espero que dê para entender '-'

me come

As explicações do Max são excelentes, graças a ele, eu aprendi muita coisa mesmo sobre script, agora estou aprendendo mais e mais sobre tabelas e etc...

REP+ Max, deus te abençoe.

"A alma permanece em suas criações" V89E5aN.png


142c9d3439.jpg
(Não dou suporte por mensagem privada.)

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