Ir para conteúdo
  • Cadastre-se

Monster%252FNPC [NPC] Quest de entregar items para npcs


Posts Recomendados

Olá tony tudo bem? estamos gostando bastante dos seus conteúdos aqui na comunidade, esses npc de missão ficaram excelente, bastante gente faz pedidos sobre npc, e é bom ver alguém começando nesse área.

REP+

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites

Nossa ki grande honra , ser elogiado pelo mestre em lua /o

fiquei mt feliz com o seu elogio quase xorei ;)

flw hein

sign1z.png

Clique na imagem e veja nosso TOPICO OFFICIAL

Link para o post
Compartilhar em outros sites
  • 3 months later...
  • 2 weeks later...
  • 10 months later...

Olá galera do tibiaking , eu estava sem fazer nada (como sempre)

E Resolvi criar uma questzinha que da um Ars mais de RPG no servidor wink.png

é uma quest simples .

Funciona da segunte maneira

Eu chego para um NPC e falo

Player : Hi

NPC : Olá |PlayerName|, Eu Tenho uma missãozinha para voce!

Player : Mission

NPC: Entregue X Items para Marlon e Ganhe Uma X Recompensa!

Player: Yes

NPC: Obrigado , Boa sorte com sua jornada

Ai o player ganha um item.

Ai ele vai no Marlon e fala

Player: Hi

NPC: Olá |PlayerName|, Está terminando de fazer Uma Missao?

Player: Mission

NPC: Frederic Mandou Voce me Entregar Esse X Item?

Player : Yes

NPC: Obrigado Por me trazer esses items

----------------------------------------------

Então galera , maos a Obra smile.png

Primeiro , Abra a Pasta do OT/Data/NPC/ Copie um arquivo qualquer XML , Renomeie para frederic , e lá coloque

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

<npc name="Frederic" script="frederic.lua" walkinterval="2000" floorchange="0">

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

<look type="302" head="0" body="112" legs="93" feet="95"/>

</npc>

Depois abra a pasta Scripts do NPC. copie um arquivo qualquer lua, e renomeie para frederic e edntro dele coloque

STORAGE = 100010 -- Não Mecha

ITEM = 2160 -- Item a ser adicionado para completar a quest

QUANT = 100 -- Quantidade de items a ser adicionado

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 santaNPC(cid, message, keywords, parameters, node)

if(not npcHandler:isFocused(cid)) then

return false

end

if (parameters.present == true) then

if (getPlayerStorageValue(cid, STORAGE) < 1) then

doPlayerAddItem(cid, ITEM, QUANT)

setPlayerStorageValue(cid, STORAGE, 1)

npcHandler:say('Obrigado e Boa Sorte na sua jornada', cid)

else

npcHandler:say('Eu ja te dei sua missao.', cid)

end

end

npcHandler:resetNpc()

return true

end

npcHandler:setMessage(MESSAGE_GREET, "Olá |PLAYERNAME|. Eu Tenho uma {mission} para voce.")

local noNode = KeywordNode:new({'no'}, santaNPC, {present = false})

local yesNode = KeywordNode:new({'yes'}, santaNPC, {present = true})

local node = keywordHandler:addKeyword({'mission'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Menssagem de Missao Entregue'})

node:addChildKeywordNode(yesNode)

node:addChildKeywordNode(noNode)

npcHandler:addModule(FocusModule:new())

Pronto , o NPC para voce pegar a missao está pronto

agora vamos criar o NPC para voce entregar o item e receber seu premio

Volte a pasta NPC , copie outro arquivo xml e renomeie para marlon , e dentro dele voce coloca

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

<npc name="Marlon" script="marlon.lua" walkinterval="2000" floorchange="0">

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

<look type="160" head="0" body="112" legs="93" feet="95"/>

</npc>

Agora vá de novo a pasta Scripts do NPC

e dentro dele , voce copia outro arquivo lua , renomeia para marlon e dentro dele voce coloca

STORAGE = 100010 -- Não Mecha

ITEM = 2160 -- Item a ser Removido , dado pelo primeiro NPC

QUANT = 100 -- Quantidade de item a ser removido dado pelo primeiro npc

PREMIO = 2110 -- Premio do NPC

PQUANT = 100 -- Quantidade de premio

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 santaNPC(cid, message, keywords, parameters, node)

if(not npcHandler:isFocused(cid)) then

return false

end

if (parameters.present == true) then

if getPlayerStorageValue(cid,STORAGE) == 1 and getPlayerItemCount(cid,2330) >= 1 then

doPlayerRemoveItem(cid,ITEM,QUANT)

doPlayerAddItem(cid,PREMIO,PQUANT)

setPlayerStorageValue(cid, STORAGE, 2)

npcHandler:say('Obrigado', cid)

elseif getPlayerStorageValue(cid,STORAGE) >= 2 then

npcHandler:say('Voce ja completou essa missao.', cid)

elseif getPlayerStorageValue(cid,STORAGE) < 1 then

npcHandler:say('Voce nao falou com frederic.', cid)

elseif getPlayerItemCount(cid,2330) <= 0 then

npcHandler:say('Voce nao tem o item que frederic te deu.', cid)

end

end

npcHandler:resetNpc()

return true

end

npcHandler:setMessage(MESSAGE_GREET, "Olá |PLAYERNAME|. Diga {mission} para prosseguir essa missao.")

local noNode = KeywordNode:new({'no'}, santaNPC, {present = false})

local yesNode = KeywordNode:new({'yes'}, santaNPC, {present = true})

local node = keywordHandler:addKeyword({'mission'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Frederic mandou voce me entregar as cartas? {yes}'})

node:addChildKeywordNode(yesNode)

node:addChildKeywordNode(noNode)

npcHandler:addModule(FocusModule:new())

Se voce quizer adicionar para o player dar como premio , EXP , basta voce adicionar

doPlayerAddExp(cid,30000)
No lugar de 30000 , voce edita a quantidade de exp a ser adiiconada

e para voce poe dentro da script

voce procura a funçao

doPlayerAddItem(cid,PREMIO,PQUANT)
e debaixo dele voce adiciona a função de adicionar a exp

Qualquer duvida sobre a script só perguntar

REP+ se ajudei

REP+ , se voce aprovou

REP+ , se voce usar em seu servidor wink.png

 

man me ensina uma coisa ?

Link para o post
Compartilhar em outros sites
  • 4 weeks later...
  • 4 years later...
Em 19/06/2012 em 12:01, tonyplyson disse:

Olá galera do tibiaking , eu estava sem fazer nada (como sempre)

E Resolvi criar uma questzinha que da um Ars mais de RPG no servidor :wink:

é uma quest simples .

 

Funciona da segunte maneira

 

Eu chego para um NPC e falo

 

Player : Hi

NPC : Olá |PlayerName|, Eu Tenho uma missãozinha para voce!

Player : Mission

NPC: Entregue X Items para Marlon e Ganhe Uma X Recompensa!

Player: Yes

NPC: Obrigado , Boa sorte com sua jornada

 

Ai o player ganha um item.

Ai ele vai no Marlon e fala

 

Player: Hi

NPC: Olá |PlayerName|, Está terminando de fazer Uma Missao?

Player: Mission

NPC: Frederic Mandou Voce me Entregar Esse X Item?

Player : Yes

NPC: Obrigado Por me trazer esses items

 

----------------------------------------------

Então galera , maos a Obra :smile:

 

Primeiro , Abra a Pasta do OT/Data/NPC/ Copie um arquivo qualquer XML , Renomeie para frederic , e lá coloque

 

 

Conteúdo Oculto

 

 

Depois abra a pasta Scripts do NPC. copie um arquivo qualquer lua, e renomeie para frederic e edntro dele coloque

 

 

Conteúdo Oculto

 

 

Pronto , o NPC para voce pegar a missao está pronto

agora vamos criar o NPC para voce entregar o item e receber seu premio

 

Volte a pasta NPC , copie outro arquivo xml e renomeie para marlon , e dentro dele voce coloca

 

 

Conteúdo Oculto

 

 

Agora vá de novo a pasta Scripts do NPC

e dentro dele , voce copia outro arquivo lua , renomeia para marlon e dentro dele voce coloca

 

 

Conteúdo Oculto

 

 

Se voce quizer adicionar para o player dar como premio , EXP , basta voce adicionar

 

 

doPlayerAddExp(cid,30000)

No lugar de 30000 , voce edita a quantidade de exp a ser adiiconada e para voce poe dentro da script voce procura a funçao

 

doPlayerAddItem(cid,PREMIO,PQUANT)

 

e debaixo dele voce adiciona a função de adicionar a exp

 

Qualquer duvida sobre a script só perguntar

 

REP+ se ajudei

REP+ , se voce aprovou

REP+ , se voce usar em seu servidor :wink:

 

tem como deixa repetir varias vezes?

Link para o post
Compartilhar em outros sites

 

5 horas atrás, cN.FiNN disse:

tem como deixa repetir varias vezes?

 

Falas de poder fazer ela outras vezes? Se sim, é só setar a última storage pra -1, que dai da pra fazer de novo.

Link para o post
Compartilhar em outros sites

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.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo