Jump to content
  • 0

Erro em Script Poketibia


Poke X Ice
 Share

Question

 

Boa tarde, Estou com Problema no meu script! ficando dando esse erro.

 

Spoiler

[28/04/2019 15:02:32] [Error - Action Interface] 
[28/04/2019 15:02:32] datapack/actions/scripts/quests/kitinicial.lua:onUse
[28/04/2019 15:02:32] Description: 
[28/04/2019 15:02:32] datapack/actions/scripts/quests/kitinicial.lua:16: attempt to index field 'item' (a number value)
[28/04/2019 15:02:32] stack traceback:
[28/04/2019 15:02:32]     datapack/actions/scripts/quests/kitinicial.lua:16: in function <datapack/actions/scripts/quests/kitinicial.lua:1>

 

script:

Spoiler

function onUse (cid,item,frompos,item2,topos)
local config  = {
["Ultra Ball"] = {item = 2392, quantidade = 50},
["Nota Verde"] = {item = 2152, quantidade = 40},
["Shiny Box"] = {item = 14838, quantidade = 1},
["Hyper Potions"] = {item = 12345, quantidade = 100}
}

for k, v in pairs(config) do
if getPlayerLevel(cid) >= 1 then
if item.uid == 9000 then
queststatus = getPlayerStorageValue(cid,5951)
if queststatus == -1 then
doPlayerSendTextMessage(cid,22,"Parabens,Você pegou seu Kit Inicial.")
doPlayerAddItem(cid, v.item, v.quantidade)
doItemSetAttribute(v.item.uid, "unique", v.quantidade)
setPlayerStorageValue(cid,5951,1)
doSendMagicEffect(getThingPos(cid), 29)
else
doPlayerSendTextMessage(cid,22,"Você ja pegou isto!.")
end
end
else
doPlayerSendCancel(cid,'Somente Levels 5+ conseguem abrir este bau.')
end
return 1
end
end

 

 

Link to comment
Share on other sites

7 answers to this question

Recommended Posts

  • 0

@Poke X Ice tomei a liberdade de fazer algumas alterações nele, veja(não testei):

 

function onUse (cid,item,frompos,item2,topos)
local config  = {
level = 5,
storage = 5951,
uniqueid = 9000,
effect = 29,
items = {
["Ultra Ball"] = {item = 2392, quantidade = 50},
["Nota Verde"] = {item = 2152, quantidade = 40},
["Shiny Box"] = {item = 14838, quantidade = 1},
["Hyper Potions"] = {item = 12345, quantidade = 100}
}
}

if item.uid == config.uniqueid then
	if getPlayerLevel(cid) >= config.level then
		local queststatus = getPlayerStorageValue(cid, config.storage)
		if queststatus == -1 then
			for k, v in pairs(config.items) do
				local itemAdd = doPlayerAddItem(cid, v.item, v.quantidade)
				doItemSetAttribute(itemAdd.uid, "unique", 1)
			end
			doPlayerSendTextMessage(cid, 22, "Parabens, você acaba de pegar seu Kit Inicial.")
			setPlayerStorageValue(cid, config.storage, 1)
			doSendMagicEffect(getThingPos(cid), config.effect)
		else
			doPlayerSendCancel(cid, "Você ja pegou seu Kit Inicial.")
		end
	else
		doPlayerSendCancel(cid, "Somente Level ".. config.level .."+ conseguem abrir este bau.")	
	end
end
return 1
end 

Caso de algum problema de simbolos:

 

https://hastebin.com/gaburujiwu.rb

Link to comment
Share on other sites

  • 0

acabei de testar e ficou com esse erro:

Spoiler

[28/04/2019 16:12:24] [Error - Action Interface] 
[28/04/2019 16:12:24] datapack/actions/scripts/quests/kitinicial.lua:onUse
[28/04/2019 16:12:24] Description: 
[28/04/2019 16:12:24] datapack/actions/scripts/quests/kitinicial.lua:21: attempt to index local 'itemAdd' (a number value)
[28/04/2019 16:12:24] stack traceback:
[28/04/2019 16:12:24]     datapack/actions/scripts/quests/kitinicial.lua:21: in function <datapack/actions/scripts/quests/kitinicial.lua:1>

 

Link to comment
Share on other sites

  • 0

@Poke X Ice

 

function onUse (cid,item,frompos,item2,topos)
local config  = {
level = 5,
storage = 5951,
uniqueid = 9000,
effect = 29,
items = {
["Ultra Ball"] = {item = 2392, quantidade = 50},
["Nota Verde"] = {item = 2152, quantidade = 40},
["Shiny Box"] = {item = 14838, quantidade = 1},
["Hyper Potions"] = {item = 12345, quantidade = 100}
}
}

if item.uid == config.uniqueid then
	if getPlayerLevel(cid) >= config.level then
		local queststatus = getPlayerStorageValue(cid, config.storage)
		if queststatus == -1 then
			for k, v in pairs(config.items) do
				local itemAdd = doPlayerAddItem(cid, v.item, v.quantidade)
				doItemSetAttribute(itemAdd, "unique", 1)
			end
			doPlayerSendTextMessage(cid, 22, "Parabens, você acaba de pegar seu Kit Inicial.")
			setPlayerStorageValue(cid, config.storage, 1)
			doSendMagicEffect(getThingPos(cid), config.effect)
		else
			doPlayerSendCancel(cid, "Você ja pegou seu Kit Inicial.")
		end
	else
		doPlayerSendCancel(cid, "Somente Level ".. config.level .."+ conseguem abrir este bau.")	
	end
end
return 1
end 

Caso de algum erro de simbolos:

 

https://hastebin.com/woqakacede.rb

Link to comment
Share on other sites

  • 0

@Poke X Ice Se resolveu o seu problema marque como melhor resposta para que ajude outras pessoas que passarem pelo mesmo problema. Sobre a sua pergunta, basta comparar os dois scripts que lhe mandei eu estava digitando erradamente "itemAdd.uid" sendo que só era necessário "itemAdd".

Link to comment
Share on other sites

 Share

×
×
  • Create New...