Ir para conteúdo

Featured Replies

  • 10 months later...
  • Respostas 11
  • Visualizações 8.6k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Nossa ki grande honra , ser elogiado pelo mestre em lua /o fiquei mt feliz com o seu elogio quase xorei flw hein

  • 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

Postado

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 ?

  • 4 weeks later...

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo