Ir para conteúdo
  • Cadastre-se

Ajuda para terminar meu script Por favor


Posts Recomendados

HI Este código funciona perfeitamente
  retornado bons valores.
mas ....

 

 

Só tenho esse erro no console:

63rfyv.png

 

Este erro acontece quando o personagem não tem nenhum artigo na respectiva ranhura.
Aqui, o código:

 

local slots = {
        ['head'] = CONST_SLOT_HEAD,
        ['armor'] = CONST_SLOT_ARMOR,
        ['legs'] = CONST_SLOT_LEGS,
        ['feet'] = CONST_SLOT_FEET,
        ['left'] = CONST_SLOT_LEFT,
        ['right'] = CONST_SLOT_RIGHT
    }                
               local itemSlots, total = {}, 0
                for slot, const in pairs(slots) do
                    local hasItemOn = getPlayerSlotItem(cid, const).uid
                    if hasItemOn  then
                        itemSlots[slot] = hasItemOn
                    end
                end

                for slot, slottedItem in pairs(itemSlots) do
                local temp = getItemAttribute(slottedItem, 'IceProtec')
                total = total + (temp ~= nil and temp or 0 )
                end

 

//
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Ice: "..total..".")

 

 

E eu tento criar esta função, mas só me retorna o valor de um slot:

 

function getPlayerProtection(cid, attribute)   
        local slots = {
        ['head'] = CONST_SLOT_HEAD,
        ['armor'] = CONST_SLOT_ARMOR,
        ['legs'] = CONST_SLOT_LEGS,
        ['feet'] = CONST_SLOT_FEET,
        ['left'] = CONST_SLOT_LEFT,
        ['right'] = CONST_SLOT_RIGHT
    }   
    
               local itemSlots, total = {}, 0
                for slot, const in pairs(slots) do
                    local hasItemOn = getPlayerSlotItem(cid, const).uid
                    if hasItemOn  then
                        itemSlots[slot] = hasItemOn
                    end
                end
  
                for slot, slottedItem in pairs(itemSlots) do
                    local temp = getItemAttribute(slottedItem, attribute)
                   return  total + (temp ~= nil and temp or 0 )
                end
                end

para uso:

getPlayerProtection(cid, 'IceProtec')
e mesmo erro no valor de nulo em consola :(

Link para o post
Compartilhar em outros sites
  • Sub-Admin

deve tá faltando isso 

 

function onSay(cid, words, param, channel)

 

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

 

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

deve tá faltando isso 

 

function onSay(cid, words, param, channel)

 

 

nao O erro está em:

 

getItemAttribute(slottedItem, attribute)
Link para o post
Compartilhar em outros sites
  • Sub-Admin

tenta assim 

local slots

pra 

slots =

 

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

 

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

tenta assim 


local slots

pra 


slots =

 

 

amigo O erro é que, se eu não tenho qualquer artigo nos slots, recebo atributo de erro não vai encontrar. porque ele não tem qualquer, é apenas alguns "return false", mas não onde é

Link para o post
Compartilhar em outros sites

Tenta colocar chaves, deixando assim:

{CONST_SLOT_HEAD},

Faz isso em todos, e tenta dar um print nos valores pra ver o que ta printando, ou tenta fazer isso. 

getPlayerSlotItem(cid, const[1]).uid

Life is so meaningless, there is nothing worth a smile
So goodbye, I'll miss you

 

 

sugestões?

 

 

Link para o post
Compartilhar em outros sites
11 minutos atrás, rogaforyn2 disse:

Tenta colocar chaves, deixando assim:


{CONST_SLOT_HEAD},

Faz isso em todos, e tenta dar um print nos valores pra ver o que ta printando, ou tenta fazer isso. 

getPlayerSlotItem(cid, const[1]).uid

 

O código funciona bem como ele é, único problema é a imagem, sempre retorna bons valores. só que eu não quero sair de erro no console se você tem um item equipado.

Link para o post
Compartilhar em outros sites
  • Sub-Admin

passa o talkactions pra gente ver ^^ 

 

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

 

Link para o post
Compartilhar em outros sites
function onSay(cid, words, param, channel)
          local slots = {
        ['head'] = CONST_SLOT_HEAD,
        ['armor'] = CONST_SLOT_ARMOR,
        ['legs'] = CONST_SLOT_LEGS,
        ['feet'] = CONST_SLOT_FEET,
        ['left'] = CONST_SLOT_LEFT,
        ['right'] = CONST_SLOT_RIGHT
    }                 
               local itemSlots, total = {}, 0
                for slot, const in pairs(slots) do
                    local hasItemOn = getPlayerSlotItem(cid, const).uid
                    if hasItemOn  then
                        itemSlots[slot] = hasItemOn
                    end
                end
                
                for slot, slottedItem in pairs(itemSlots) do
                    local temp = getItemAttribute(slottedItem, 'IceProtec')
                    total = total + (temp ~= nil and temp or 0 )
                end

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Ice: "..total..".")
return true
end

 

Link para o post
Compartilhar em outros sites

substituir:

if hasItemOn then
to:
if hasItemOn ~= 0 then


e erro do console foi corrigido. Agora eu procuro criar uma função com este código, alguém poderia me 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.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo