Postado Julho 25, 2012 12 anos Gostaria de saber oq fiz de errado nesse script:: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} 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 parteid = {9694, 9695, 9696, 9697, 9698, 9699} local sorrymessage = "Desculpe, voce nao tem todas as partes necessarias" local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if msgcontains(msg, 'obrigado') then local talkState = {} if doPlayerRemoveItem(cid, parteid, 1) == TRUE then npcHandler:say("Voce recebeu seu Addon Doll", cid) talkState[talkUser] = 0 elseif doPlayerRemoveItem(cid, parteid, 1) == FALSE then npcHandler:say(sorrymessage, cid) talkState[talkUser] = 0 end end elseif(msgcontains(msg, 'no') and talkState[talkUser] == 1) then npcHandler:say("OK, Volte quando tiver todas as partes.", cid) talkState[talkUser] = 0 end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) <?xml version="1.0" encoding="UTF-8"?> <npc name="Death" script="carpinteiro.lua" walkinterval="0" floorchange="0"> <health now="100" max="100"/> <look type="9" head="114" body="114" legs="91" feet="91" addons="3"/> <parameters> <parameter key="message_greet" value="Posso fazer um Addon Doll para voce. Diga {ok} para continuar!"/> <parameter key="module_keywords" value="1" /> <parameter key="keywords" value="hi;ok;sim" /> <parameter key="keyword_reply1" value="Posso fazer um Addon Doll para voce. Diga {ok} para continuar!"/> <parameter key="keyword_reply2" value="Irei precisar das partes do Addon Doll. Se voce jah tem os materiais diga {sim}."/> <parameter key="keyword_reply3" value="Acabei de fazer seu Addon Doll, Diga {obrigado} para recebe-lo."/> </parameters> </npc> VLw
Postado Julho 25, 2012 12 anos é porque parteid é uma tabela, se você usar parteid retorna "tabble" no caso para pegar os valores da tabela teria que usar nome da sua tabela[posição] exemplo pegar o id 9694 da sua tabela 'parteid' parteid[1] -- retorna 9694 parteid[2] -- retorna 9695 ... parteid[6] -- retorna 9699 você quer que remova todos os items? local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} 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 parteid = {9694, 9695, 9696, 9697, 9698, 9699} local sorrymessage = "Desculpe, voce nao tem todas as partes necessarias" local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid local talkState = {} if msgcontains(msg, 'obrigado') then for i = 1, table.maxn(parteid) do if getPlayerItemCount(cid, parteid[i]) <= 0 then npcHandler:say(sorrymessage, cid) return true end end for i = 1, table.maxn(parteid) do doPlayerRemoveItem(cid,parteid[i], 1) end npcHandler:say("Voce recebeu seu Addon Doll", cid) elseif(msgcontains(msg, 'no') and talkState[talkUser] == 1) then npcHandler:say("OK, Volte quando tiver todas as partes.", cid) talkState[talkUser] = 0 end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) [*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*] DISCORD: vodkart#6090
Postado Julho 25, 2012 12 anos Autor vodkart, está certo, soh que eu e vc esquemos de add a linha do item.. onde e como eu ponho essa linha pra add o item? vlw
Postado Julho 25, 2012 12 anos local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} 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 item = 2123 -- item que sera adc local parteid = {9694, 9695, 9696, 9697, 9698, 9699} local sorrymessage = "Desculpe, voce nao tem todas as partes necessarias" local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid local talkState = {} if msgcontains(msg, 'obrigado') then for i = 1, table.maxn(parteid) do if getPlayerItemCount(cid, parteid[i]) <= 0 then npcHandler:say(sorrymessage, cid) return true end end for i = 1, table.maxn(parteid) do doPlayerRemoveItem(cid,parteid[i], 1) end doPlayerAddItem(cid, item, 1) npcHandler:say("Voce recebeu seu Addon Doll", cid) elseif(msgcontains(msg, 'no') and talkState[talkUser] == 1) then npcHandler:say("OK, Volte quando tiver todas as partes.", cid) talkState[talkUser] = 0 end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) [*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*] DISCORD: vodkart#6090
Postado Julho 25, 2012 12 anos Autor RESOLVIDO Obrigado man, REP+ Editado Julho 25, 2012 12 anos por mariatti (veja o histórico de edições)
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.