[Armadilha] Npc Com Enigma. (Para Quests)

nailannob
em NPCs, monsters e raids

nailannob

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 05/10/09Posts: 3

Não sei se existe um script igual, mas estou postando o meu.



Precisei de um npc que apresentasse um enigma.

 

Descrição:

Um npc que pode ser usado em quests. Pede ao player para resolver o enigma.

 

Função:

Se o player acertar a resposta poderá passar por um certo 'stone tile' ou porta.

Se o player errar a resposta será 'sumonado' um certo monstro em um certo SQM.

 

Vá até data/npc/ duplique um arquivo XML de algum npc.

Mude o nome para Servo e cole isto:

<?xml version="1.0" encoding="UTF-8"?>

<npc name="Servo" script="data/npc/scripts/port_inf.lua" walkinterval="2000" floorchange="0">

 

<health now="100" max="100"/>

<look type="325" head="114" body="94" legs="114" feet="0" addons="2"/>

 

<parameters>

<parameter key="message_greet" value="Eai, soube que esta querendo entrar no {inferno}, para fazer uma quest."/>

</parameters>

 

</npc>

Legenda:



Na cor : Nome do NPC que será mostrado no OT.

 

 

Vá até data/npc/scripts/ duplique um arquivo.lua de algum script de outro npc.

Mude o nome para port_inf e cole isto:

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 talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid

 

if msgcontains(msg, 'inferno') then

 

selfSay('Você não está com medo de mim? Para entrar terá que me responder uma pergunta. Quer tentar quando? Diga: {agora} ou {nunca}.', cid)

talkState[talkUser] = 2

 

 

elseif talkState[talkUser] == 2 then

 

if msgcontains(msg, 'agora') then

selfSay('Qual a cor do cavalo branco de napoleão?', cid)

talkState[talkUser] = 3

 

elseif msgcontains(msg, 'nunca') then

 

selfSay('Okay, então diga {bye}.', cid)

talkState[talkUser] = 1

 

end

 

elseif talkState[talkUser] == 3 then

 

if msgcontains(msg, 'branca') then

if getPlayerStorageValue(cid,313131) == -1 then

setPlayerStorageValue(cid,31313,1)

selfSay('Você acertou, continue a quest! Vá para o Sul!', cid)

else

selfSay('Você já pode entrar. Não precisava vir aqui denovo.', cid)

end

 

else

doSummonCreature("Apocalypse",{x=0,y=0,z=0})

selfSay('Você errou, mate esse monstro. Depois tente denovo! haha!', cid)

end

 

 

end

 

end

 

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)

npcHandler:addModule(FocusModule:new())

Legenda:



Na cor : O enigma que será falado pelo NPC.

Na cor : A resposta correta.

Na cor : Número da storage: no caso, numero do actionid que terá que ser adicionado no tile/porta.

Na cor : Nome do monstro que será 'sumonado' se o player errar a resposta.

Na cor : Cordenadas de onde aparecerá o monstro.

 

Depois disso, adicione o actionid no tile/porta que o player poderá passar só após responder o enigma.

No meu caso adicionei o actionid: 313131 em uma Stone Tile.

 

Agora é só importar o NPC no seu RME ou seu outro Map Editor.

E mudar as falas do NPC se quiser ou se precisar. -Mas tome cuidado com as palavras que precisam ser faladas.

 

Pronto! Seu npc está pronto!



Meu resultado:

post-258199-072657300 1281588611_thumb.jpg

 

Meu primeiro tópico e também meu primeiro script. Podem me corrigir e me xingar se estiver um lixo.

Se tiver algo inútil no código, me avisem. É que foi tudo baseado no Henricus.

Dúvida: Alguém sabe se há uma possibilidade/script onde o npc faria perguntas variadas aleatoriamente?

 

Falow. Espero que tenha ajudado alguém.

 

Créditos: 50% para mim e 50% para o cara que fez o Henricus (npc da Inquisition).

Nailan13 (Designer)



ND Designer & Informática

website: nddesigner.hd1.com.br

e-mail: adm.nddesigner@gmail.com

Server OpenTibia: explosivehunt.servegame.com

Vodkart

Sumus Validus
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 21/05/10Posts: 3406Gênero: Masculino

Hum para o seu primeiro script não está nada mal,

eu mesmo não sei meche muito em npc rs

 

o seu NPC é super util para quest,eu ja tive a mesma ideia sua

enfim Parabens e quero ver novos trabalhos seus por aqui!

 

 

REP +

 

abraços

bossisg.png

Koddy

avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 31/01/10Posts: 178Char no Tibia: Koddy

Não testei, mas creio sei bem útil (podendo ser utilizado no deserto e tal...).

Parabéns pelo esforço, tanto de modificar o script quanto de trazer conteúdo ao XTibia.

 

O tópico ficou muito bem organizado também, bem explicado e tudo mais. E espero que continue assim.

Alguma vez você já se perguntou porque ainda não é cadastrado no XTibia?

peajoseututorial.png

Colaborador de Conteúdo: Mapping



Entrada: 28.05.2010

Contato: k.oddy@hotmail.com

koddy@xtibia.com

Concurso(s) de Mapping em andamento: ---

٭*٭ (Novo)

"Green" Nature Tutorial ٭*٭

٭*٭ (HOT)

Aprendendo a modificar Extensions (6 em 1) ٭*٭

1277162350-U5886.png

nailannob

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 05/10/09Posts: 3

Valew pelo REP+ smile_positivo.gif

 

Vou postar mais coisas, assim que produzir.

 

Por que copiar nem tem graça winksmiley02.gif

 

Falow.

Nailan13 (Designer)



ND Designer & Informática

website: nddesigner.hd1.com.br

e-mail: adm.nddesigner@gmail.com

Server OpenTibia: explosivehunt.servegame.com

ZaskxD

Imperial Zasks!
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 29/04/10Posts: 74Char no Tibia: Walking Knight

Nossa Otimo script! gostei do que vc falou ali em cima

Vou postar mais coisas, assim que produzir.

 

Por que copiar nem tem graça Posted Image

 

ta certo copia n tem graça!! REP+

 

 

 

Crie Você Tbm Seu Avatar Clique aqui

refi

Numa terra do faz de conta.
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 02/03/11Posts: 65

Script Muito útil! :thumbsupsmiley2:

Irá me auxiliar bastante em quest ^^

Cara amada, você está me ouvindo?

Não me lembro de uma só palavra que você disse

Somos dementes?

ou sou perturbado?

O espaço que está entre insanidade e a insegurança.

 

OgAAAA1LLkJzdM-3bPMgF_oV_vErWuSwXbvSQg1js8ERbg4YZ-9UHGIdW2k1M-q9kFzrQkTXIkn1L80R109UU1JCw5wAm1T1UOw2aVKpnj7Gyxv0tLWw5SBnbvYd.jpg

 

Att: Refi.

sigma696

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 30/05/11Posts: 24Char no Tibia: Chris Oween

Nossa um dos melhores npc que eu ja vi na vida rep+ *-*

miikro

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 26/07/10Posts: 19Char no Tibia: >Secret<

I have no words to thank you... I was searching for this script a long time ago. Thank you (:

 

+REP