Ae galera estou com um erro nesse scripts, quando eu falo
"chicken feathers"
"yes"
ou quando eu falo yes depois dos addons tambem da o mesmo error
Da esse erro no executor.
data/npc/script/citizenaddons.lu:8 in function data/npc/script/citizenaddons.lu:8>
data/npc/script/citizenaddons.lu:21 in function callback
data/npc/script/citizenaddons.lu:390 function on creaturesay
Aqui vai o script:
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end
function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end
function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end
function onThink() npcHandler:onThink() end
function creatureSayCallback(cid, type, msg)
if(not npcHandler:isFocused(cid)) then
return false
end
local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid
if(msgcontains(msg, 'chicken feather')) then
selfSay('Voc\ê me trouxe 100 chickens feathers?', cid)
talkState[talkUser] = 1
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
if getPlayerItemCount(cid,5890) >= 100 then
if(doPlayerRemoveItem(cid, 5890,100) == true) then
selfSay('Obrigado! Tome aqui sua big feather.', cid)
setPlayerStorageValue(cid, 2366,1)
talkState[talkUser] = 0
end
else
selfSay('Voc\ê n\ão tem 100 chickens feathers.', cid)
end
end
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
npcHandler:setMessage(MESSAGE_GREET, "Ola |PLAYERNAME|. Esta aqui pela {big} {feather}, ou pelos {addons}?")
function playerBuyAddonNPC(cid, message, keywords, parameters, node)
if(not npcHandler:isFocused(cid)) then
return false
end
if (parameters.confirm ~= true) and (parameters.decline ~= true) then
if(getPlayerPremiumDays(cid) == 0) and (parameters.premium == true) then
npcHandler:say('Desculpe, mas este addon e apenas para jogadores premium!', cid)
npcHandler:resetNpc()
return true
end
if (getPlayerStorageValue(cid, parameters.storageID) ~= -1) then
npcHandler:say('Voce ja tem esse addon!', cid)
npcHandler:resetNpc()
return true
end
local itemsTable = parameters.items
local items_list = ''
if table.maxn(itemsTable) > 0 then
for i = 1, table.maxn(itemsTable) do
local item = itemsTable[i]
items_list = items_list .. item[2] .. ' ' .. getItemNameById(item[1])
if i ~= table.maxn(itemsTable) then
items_list = items_list .. ', '
end
end
end
local text = ''
if (parameters.cost > 0) and table.maxn(parameters.items) then
text = items_list .. ' and ' .. parameters.cost .. ' gp'
elseif (parameters.cost > 0) then
text = parameters.cost .. ' gp'
elseif table.maxn(parameters.items) then
text = items_list
end
npcHandler:say('Trouxe os itens para este addon?', cid)
return true
elseif (parameters.confirm == true) then
local addonNode = node:getParent()
local addoninfo = addonNode:getParameters()
local items_number = 0
if table.maxn(addoninfo.items) > 0 then
for i = 1, table.maxn(addoninfo.items) do
local item = addoninfo.items[i]
if (getPlayerItemCount(cid,item[1]) >= item[2]) then
items_number = items_number + 1
end
end
end
if(getPlayerMoney(cid) >= addoninfo.cost) and (items_number == table.maxn(addoninfo.items)) then
doPlayerRemoveMoney(cid, addoninfo.cost)
if table.maxn(addoninfo.items) > 0 then
for i = 1, table.maxn(addoninfo.items) do
local item = addoninfo.items[i]
doPlayerRemoveItem(cid,item[1],item[2])
end
end
doPlayerAddOutfit(cid, addoninfo.outfit_male, addoninfo.addon)
doPlayerAddOutfit(cid, addoninfo.outfit_female, addoninfo.addon)
setPlayerStorageValue(cid,addoninfo.storageID,1)
npcHandler:say('Ficou lindo em voce!', cid)
else
npcHandler:say('O que disse? Nao ouvi!!', cid)
end
npcHandler:resetNpc()
return true
elseif (parameters.decline == true) then
npcHandler:say('Se nao lhe agrada, va embora!', cid)
npcHandler:resetNpc()
return true
end
return false
end
local noNode = KeywordNode:new({'no'}, playerBuyAddonNPC, {decline = true})
local yesNode = KeywordNode:new({'yes'}, playerBuyAddonNPC, {confirm = true})
local outfit_node = keywordHandler:addKeyword({'primeiro'}, playerBuyAddonNPC, {premium = false, cost = 0, items = {{5878,50},{5902,20}}, outfit_female = 136, outfit_male = 128, addon = 1, storageID = 10038})
local outfit_node = keywordHandler:addKeyword({'segundo'}, playerBuyAddonNPC, {premium = false, cost = 0, items = {{2366,1}}, outfit_female = 136, outfit_male = 128, addon = 2, storageID = 10039})
outfit_node:addChildKeywordNode(yesNode)
outfit_node:addChildKeywordNode(noNode)
keywordHandler:addKeyword({'big feather'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Me traga 100 {chicken} {feathers} que lhe dou 1 big feather.'})
keywordHandler:addKeyword({'addons'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Para o {primeiro} citizen addon voc\ê precisa de 50 minotaur leathers e 20 honey combs. Para o {segundo} citizen addon voc\ê precisa de uma big feather.'})
npcHandler:addModule(FocusModule:new())
Pergunta
Lucaswc15 20
Ae galera estou com um erro nesse scripts, quando eu falo
"chicken feathers"
"yes"
ou quando eu falo yes depois dos addons tambem da o mesmo error
Da esse erro no executor.
data/npc/script/citizenaddons.lu:8 in function data/npc/script/citizenaddons.lu:8>
data/npc/script/citizenaddons.lu:21 in function callback
data/npc/script/citizenaddons.lu:390 function on creaturesay
Aqui vai o script:
local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid if(msgcontains(msg, 'chicken feather')) then selfSay('Voc\ê me trouxe 100 chickens feathers?', cid) talkState[talkUser] = 1 elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if getPlayerItemCount(cid,5890) >= 100 then if(doPlayerRemoveItem(cid, 5890,100) == true) then selfSay('Obrigado! Tome aqui sua big feather.', cid) setPlayerStorageValue(cid, 2366,1) talkState[talkUser] = 0 end else selfSay('Voc\ê n\ão tem 100 chickens feathers.', cid) end end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) npcHandler:setMessage(MESSAGE_GREET, "Ola |PLAYERNAME|. Esta aqui pela {big} {feather}, ou pelos {addons}?") function playerBuyAddonNPC(cid, message, keywords, parameters, node) if(not npcHandler:isFocused(cid)) then return false end if (parameters.confirm ~= true) and (parameters.decline ~= true) then if(getPlayerPremiumDays(cid) == 0) and (parameters.premium == true) then npcHandler:say('Desculpe, mas este addon e apenas para jogadores premium!', cid) npcHandler:resetNpc() return true end if (getPlayerStorageValue(cid, parameters.storageID) ~= -1) then npcHandler:say('Voce ja tem esse addon!', cid) npcHandler:resetNpc() return true end local itemsTable = parameters.items local items_list = '' if table.maxn(itemsTable) > 0 then for i = 1, table.maxn(itemsTable) do local item = itemsTable[i] items_list = items_list .. item[2] .. ' ' .. getItemNameById(item[1]) if i ~= table.maxn(itemsTable) then items_list = items_list .. ', ' end end end local text = '' if (parameters.cost > 0) and table.maxn(parameters.items) then text = items_list .. ' and ' .. parameters.cost .. ' gp' elseif (parameters.cost > 0) then text = parameters.cost .. ' gp' elseif table.maxn(parameters.items) then text = items_list end npcHandler:say('Trouxe os itens para este addon?', cid) return true elseif (parameters.confirm == true) then local addonNode = node:getParent() local addoninfo = addonNode:getParameters() local items_number = 0 if table.maxn(addoninfo.items) > 0 then for i = 1, table.maxn(addoninfo.items) do local item = addoninfo.items[i] if (getPlayerItemCount(cid,item[1]) >= item[2]) then items_number = items_number + 1 end end end if(getPlayerMoney(cid) >= addoninfo.cost) and (items_number == table.maxn(addoninfo.items)) then doPlayerRemoveMoney(cid, addoninfo.cost) if table.maxn(addoninfo.items) > 0 then for i = 1, table.maxn(addoninfo.items) do local item = addoninfo.items[i] doPlayerRemoveItem(cid,item[1],item[2]) end end doPlayerAddOutfit(cid, addoninfo.outfit_male, addoninfo.addon) doPlayerAddOutfit(cid, addoninfo.outfit_female, addoninfo.addon) setPlayerStorageValue(cid,addoninfo.storageID,1) npcHandler:say('Ficou lindo em voce!', cid) else npcHandler:say('O que disse? Nao ouvi!!', cid) end npcHandler:resetNpc() return true elseif (parameters.decline == true) then npcHandler:say('Se nao lhe agrada, va embora!', cid) npcHandler:resetNpc() return true end return false end local noNode = KeywordNode:new({'no'}, playerBuyAddonNPC, {decline = true}) local yesNode = KeywordNode:new({'yes'}, playerBuyAddonNPC, {confirm = true}) local outfit_node = keywordHandler:addKeyword({'primeiro'}, playerBuyAddonNPC, {premium = false, cost = 0, items = {{5878,50},{5902,20}}, outfit_female = 136, outfit_male = 128, addon = 1, storageID = 10038}) local outfit_node = keywordHandler:addKeyword({'segundo'}, playerBuyAddonNPC, {premium = false, cost = 0, items = {{2366,1}}, outfit_female = 136, outfit_male = 128, addon = 2, storageID = 10039}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) keywordHandler:addKeyword({'big feather'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Me traga 100 {chicken} {feathers} que lhe dou 1 big feather.'}) keywordHandler:addKeyword({'addons'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Para o {primeiro} citizen addon voc\ê precisa de 50 minotaur leathers e 20 honey combs. Para o {segundo} citizen addon voc\ê precisa de uma big feather.'}) npcHandler:addModule(FocusModule:new())Link para o comentário
https://xtibia.com/forum/topic/186011-error-com-script-de-npc/Compartilhar em outros sites
6 respostass a esta questão
Posts Recomendados