headhog 1 Postado Novembro 12, 2011 Share Postado Novembro 12, 2011 Eae Galera. Preciso de um npc de viagem,que é o seguinte; Ele vai precisar ter 7 items,ele vai contar os itens e vai vê se o player tem todos em mãos,se tiver ele vai teletransportar para uma posição,caso ele não tenho,ele fica na lugar é um npc simples,espero que alguem me ajude. Distro: Tfs 0.3.6 Versão: 8.54 Rep + pra quem me ajudar! Link para o comentário Compartilhar em outros sites More sharing options...
0 Vodkart 1515 Postado Novembro 12, 2011 Share Postado Novembro 12, 2011 (editado) Abre o arquivo 050-function.lua que está dentro da pasta data/lib e adicione no fim do arquivo: function doPlayerCountItems(cid, items) -- by Vodka local items = type(items) == "table" and items or {items} for i = 1, table.maxn(items) do if getPlayerItemCount(cid, items[i]) <= 0 then return false end end return true end NPC: 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 local talkState = {} function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid local list = {111,222,333,444,555,666,777} -- id dos itens local pos = {x=160, y=54, z=7} -- para onde ele vai if(msgcontains(msg, 'TRAVEL') or msgcontains(msg, 'travel')) then selfSay("Para viajar comigo você ter os 7 items,você tem eles? {yes} ", cid) talkState[talkUser] = 1 elseif(msgcontains(msg, "yes") and talkState[talkUser] >= 1)then if doPlayerCountItems(cid, list) then selfSay("Boa viagem!.", cid) doTeleportThing(cid, pos) talkState[talkUser] = 0 npcHandler:releaseFocus(cid) else selfSay("desculpe,mas você não tem os itens!", cid) talkState[talkUser] = 0 npcHandler:releaseFocus(cid) end elseif msg == "no" and talkState[talkUser] >= 1 then selfSay("Then not", cid) talkState[talkUser] = 0 npcHandler:releaseFocus(cid) end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Editado Novembro 16, 2011 por Vodkart Link para o comentário Compartilhar em outros sites More sharing options...
0 headhog 1 Postado Novembro 15, 2011 Autor Share Postado Novembro 15, 2011 (editado) Mto obrigado mano ! Rep + ----------------- Vish,ta bugado,depois que fala yes,não acontece nada algum erro no count! Editado Novembro 15, 2011 por headhog Link para o comentário Compartilhar em outros sites More sharing options...
0 Vodkart 1515 Postado Novembro 16, 2011 Share Postado Novembro 16, 2011 pronto editei,o erro é que a function tem que ser colocada direto na lib...não entendo mais o porque disso. Link para o comentário Compartilhar em outros sites More sharing options...
0 headhog 1 Postado Novembro 16, 2011 Autor Share Postado Novembro 16, 2011 Obrigado Link para o comentário Compartilhar em outros sites More sharing options...
0 SkyDangerous 395 Postado Novembro 17, 2011 Share Postado Novembro 17, 2011 Dúvida sanada. Reportado. Link para o comentário Compartilhar em outros sites More sharing options...
0 Gabriel Couto 293 Postado Novembro 17, 2011 Share Postado Novembro 17, 2011 Movido para Pedidos Atendidos. Sempre que tiver um pedido atendido, reporte para que movamos. Até! Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
headhog 1
Eae Galera.
Preciso de um npc de viagem,que é o seguinte;
Ele vai precisar ter 7 items,ele vai contar os itens e vai vê se o player tem todos em mãos,se tiver ele vai teletransportar para uma posição,caso ele não tenho,ele fica na lugar
é um npc simples,espero que alguem me ajude.
Distro: Tfs 0.3.6
Versão: 8.54
Rep + pra quem me ajudar!
Link para o comentário
Compartilhar em outros sites
6 respostass a esta questão
Posts Recomendados