Ir para conteúdo
  • Cadastre-se

(Resolvido)[Pedido] Evolução


Ir para solução Resolvido por Cat,

Posts Recomendados

adicionei o script do max,

local amuletos = {
   [2] = 7888,
}
 
function onAdvance(cid, skill, oldlevel, newlevel)
 
   if skill == 8 and amuletos[newlevel] then
      doTransformItem(getPlayerSlotItem(cid, CONST_SLOT_NECKLACE).uid, amuletos[newlevel])
      doPlayerSendTextMessage(cid, 22, "You received "..getItemNameById(amuletos[newlevel).." for reaching level".. newlevel..".")
   end
 
   return true
end 

e apareceu esse erro:

[30/04/2014 08:57:27] [Error - LuaScriptInterface::loadFile] data/creaturescripts/scripts/medal.lua:9: ']' expected near ')'
[30/04/2014 08:57:27] [Warning - Event::loadScript] Cannot load script (data/creaturescripts/scripts/medal.lua)
[30/04/2014 08:57:27] data/creaturescripts/scripts/medal.lua:9: ']' expected near ')'
Link para o post
Compartilhar em outros sites

end

return true
end 

 

deixe :

 

return true
end 

 

 

e teste

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

 Whatsapp: +55 (48) 98815-0709 Discord: Qwizer#5713

 

Global 100% 7.40 com Website

TFS 1.2 10.97-11.00 + GlobalFull OtherWorld ...

 

Link para o post
Compartilhar em outros sites

continua, 

[30/04/2014 09:13:54] [Error - LuaScriptInterface::loadFile] data/creaturescripts/scripts/medal.lua:9: ']' expected near ')'
[30/04/2014 09:13:54] [Warning - Event::loadScript] Cannot load script (data/creaturescripts/scripts/medal.lua)
[30/04/2014 09:13:54] data/creaturescripts/scripts/medal.lua:9: ']' expected near ')
Link para o post
Compartilhar em outros sites

eu tinha visto os erros e corrigido no meu script mas esqueci de avisar aqui:
 

local amuletos = {
   [1] = 7887,
   [2] = 7888,
   [5] = 7889,
   [7] = 7890,
   [10] = 2129,
   [13] = 2130,
   [16] = 2131,
   [20] = 2132,
   [25] = 2133,
   [30] = 2134,
   [35] = 2135
}


function onAdvance(cid, skill, oldlevel, newlevel)


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


   return true
end

agora é só completar com os ids seguindo a ordem, e lembre-se que não tem virgula depois do ultimo valor da table!
O erro era na linha 9, mais precisamente aqui:

getItemNameById(amuletos[newlevel)

tava faltando fechar o colchetes do newlevel. De quebra ainda coloquei um espaço que o max havia comido na mensagem que manda ao player, tava saindo "for reaching level25" mas isso não é nada comparado com oque ele fez pro script ser possível.

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

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)

Link para o post
Compartilhar em outros sites
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, 22, "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
 
<event type="advance" name="medal" event="script" value="medal.lua"/>
  <event type="login" name="medalLogin" event="script" value="medal.lua"/>

-"Supra Omnes Lux Lucis"

- Acima de todos brilha a Luz -

5VGnDyBz.png

Link para o post
Compartilhar em outros sites
  • 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

Link para o post
Compartilhar em outros sites

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)

Link para o post
Compartilhar em outros sites

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

Link para o post
Compartilhar em outros sites

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.)

Link para o post
Compartilhar em outros sites

muito bem explicado mano, é um script bem legal e bem feito

 

 

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.

 

Muito obrigado, caras :D

 

E esse spoiler, Jamison? AEHAUEHAUHEAE

-"Supra Omnes Lux Lucis"

- Acima de todos brilha a Luz -

5VGnDyBz.png

Link para o post
Compartilhar em outros sites

Nossa mano, que lógica mais fodenda

caralho max, me engravida



mas tipo, oque fodeu minha mente mesmo foi isso daqui:

local amuleto_novo = amuletos[lower_lvls[#lower_lvls]]

table amuletos[table de lower_lvls[tamanho do ultimo lower_lvls(que no caso seria o maior, ou seja, o anterior ao meu)]]
Eu nunca tinha visto esse tipo de lógica, vou até colocar nos favoritos aqui pra tentar utilizar depois auhauhauh tableception

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)

Link para o post
Compartilhar em outros sites

Nossa mano, que lógica mais fodenda

caralho max, me engravida

mas tipo, oque fodeu minha mente mesmo foi isso daqui:

local amuleto_novo = amuletos[lower_lvls[#lower_lvls]]

table amuletos[table de lower_lvls[tamanho do ultimo lower_lvls(que no caso seria o maior, ou seja, o anterior ao meu)]]

Eu nunca tinha visto esse tipo de lógica, vou até colocar nos favoritos aqui pra tentar utilizar depois auhauhauh tableception

 

AHUAHUA. Cara, isso da lógica você tem que ir trabalhando, quanto mais você conhecer a linguagem e os dispositivos que ela te disponibiliza, mais fácil vai ser pra você desenvolver uma solução para o problema :P

-"Supra Omnes Lux Lucis"

- Acima de todos brilha a Luz -

5VGnDyBz.png

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.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo