Ir para conteúdo
  • 0

Função dando error


Tony Araujo

Pergunta

Olá galera, eu estou criando uma função para pegar todos os equips qe o player tiver usando

e checar o atributo que essa armadura tem, e depois somar todos e retornar esse valor.

 

mas está dando um error, qe eu ja pensei pensei , e não consegui solucionar .

se alguem poder ajudar .

 

Função

 

 

function getSkillAttribute(cid, attribute)
local a = {1, 4, 7, 8, 9, 5, 6}
local final = {}
for b = 1, #a do
if getPlayerSlotItem(cid, a).uid > 0 then
table.insert(final, a)
end
end
local total = 0
for c = 1, #final do
total = total + getItemAttribute(getPlayerSlotItem(cid, final[c]).uid, attribute)
end
return total
end

 

Error

 

[30/11/2013 08:08:55] [Error - TalkAction Interface] 
[30/11/2013 08:08:55] data/talkactions/scripts/tutorial.lua:onSay
[30/11/2013 08:08:55] Description: 
[30/11/2013 08:08:55] data/talkactions/scripts/tutorial.lua:16: attempt to perform arithmetic on a nil value
[30/11/2013 08:08:55] stack traceback:
[30/11/2013 08:08:55]  data/talkactions/scripts/tutorial.lua:16: in function 'getSkillAttribute'
[30/11/2013 08:08:55]  data/talkactions/scripts/tutorial.lua:24: in function <data/talkactions/scripts/tutorial.lua:22>
Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Tenta assim:

 

function getSkillAttribute(cid, attribute)
local a = {1, 4, 7, 8, 9, 5, 6}
local final = {}
 
for b = 1, #a do
if getPlayerSlotItem(cid, a[b]).uid > 0 then
 
table.insert(final, a[b])
end
end
 
local total = 0
 
for c = 1, #final do
    if getItemAttribute(getPlayerSlotItem(cid, final[c]).uid, attribute) then
        total = total + getItemAttribute(getPlayerSlotItem(cid, final[c]).uid, attribute)
    end
end
 
return total
end
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...