Postado Abril 6, 2015 10 anos (sinto que estou no lugar errado, se tiver, por favor, mude) Eae pessoal, tudo certo ? Venho aqui pedir a vcs um NPC, que a unica função dele é contar algo, tipo aqueles npc de templo que se fala hi, ai ele te conta uma historia e talz, eu queria fazer uma historia bacana e talz, entao preciso desse npc Obrigado.
Postado Abril 6, 2015 10 anos historias.lua local keywordHandler = KeywordHandler:new()local npcHandler = NpcHandler:new(keywordHandler)NpcSystem.parseParameters(npcHandler)function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) endfunction onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) endfunction onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) endfunction onThink() npcHandler:onThink() end -- HISTORIA START --keywordHandler:addKeyword({'historia um'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "era uma vez um lobo que comeu ração velha e morreu"})keywordHandler:addKeyword({'historia dois'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "era uma vez uma ração velha, foi comida por um lobo e morreu"})npcHandler:addModule(FocusModule:new()) Contador de Hiostorias.xml <?xml version="1.0" encoding="UTF-8"?><npc name="Contador de Historias" script="historias.lua" walkinterval="2000" floorchange="0"> <health now="150" max="150" /> <look type="277" head="0" body="0" legs="0" feet="0"/> <parameters> <parameter key="message_greet" value="Ola |PLAYERNAME|. Eu conto historias, tenho duas historias pra contar. A {historia um} e a {historia dois}" /> <parameter key="message_farewell" value="Volte para ouvir mais historias!" /> </parameters></npc>
Postado Abril 6, 2015 10 anos Você pode tentar assim: Em data/npc copie um arquivo de qualquer npc, renomeie para ajudante, troque tudo que tem dentro por isso: <?xml version="1.0" encoding="UTF-8"?> <npc name="Ajudante" script="ajudante.lua" walkinterval="2000" speechbubble="1" floorchange="0"> <health now="100" max="100" /> <look type="160" head="98" body="95" legs="115" feet="114" addons="0"/> <parameters> <parameter key="message_greet" value="Ola, eu posso lhe contar {historias} para ajudar na sua aventura." /> </parameters> </npc> Em data/npc/scripts copie qualquer arquivo e renomeie para ajudante, troque tudo que tem dentro por isso: 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 msg = msg:lower() local mensagens = { ["quest"] = "Então, você quer saber sobre quests eim... Bom vou lhe contar blablablablablablablabla...", ["correr"] = "Quer correr? Digite utani hur!", } if msgcontains(msg, "historias") or msgcontains(msg, "historia") then local newstr = "" for k,v in pairs(mensagens) do newstr = newstr..k..", " end newstr = newstr:sub(-newstr:len(), (newstr:len()-2)) npcHandler:say("Bom, eu posso lhe contar sobre: "..newstr, cid) elseif mensagens[msg:lower()] then npcHandler:say(mensagens[msg:lower()], cid) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Configuração: Você pode configurar nessa parte: local mensagens = { ["quest"] = "Então, você quer saber sobre quests eim... Bom vou lhe contar blablablablablablablabla...", ["correr"] = "Quer correr? Digite utani hur!", } Onde tem ["quest"] você coloca a palavra que o player deve dizer para receber tal mensagem, a mensagem é configurada logo do lado, lembre-se, a palavra deve estar em aspas >" "< ex: ["god"] = "O administrador desse servidor é o Snowsz." Após isso, nunca esqueça a vírgula no final de tudo, isso ficaria mais ou menos assim: local mensagens = { ["quest"] = "Então, você quer saber sobre quests eim... Bom vou lhe contar blablablablablablablabla...", ["correr"] = "Quer correr? Digite utani hur!", ["god"] = "O administrador desse servidor é o Snowsz.", } Editado Abril 6, 2015 10 anos por Snowsz (veja o histórico de edições)
Postado Abril 6, 2015 10 anos Autor Bom, eu só testei a primeira, mas acredito que as duas teram isso: limite No tibia, tem um limite de palavras que tu pode usar e quando passa esse limite, ele nao fala mais nada no global, eles usam auqele negocio que o cara fala uma vez, passa um tempinho, fala outra vez, passa um tempinho.... e assim por diante nao teria como fazer igual ? Grato Editado Abril 6, 2015 10 anos por Zazeros (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.