Ir para conteúdo
  • 0

[Pedido] Npc Mission!


murilo103

Pergunta

Boa Tarde galera,



estou precisando de um Script para um npc que faça missões.

 

Por exemplo:

 

Entro 3 itens diferentes para o Npc, e por recompensa ele me entrega um item escolhido por mim...

 

Por favor me ajudem... Obg :heart: !

 

FELIZ DIA DAS CRIANÇAS ;D

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

kk nem tinha visto seu tópico

 

deixa eu ver se entendi,você entrega 3 itens diferentes para o npc e depois você escolhe quais dos items pegar?

pode fazer mais que uma vez?

Link para o comentário
Compartilhar em outros sites

  • 0

Acho Que Foi Isso Que Eu Entendi

Ele Pega A Missao Com O Npc Ele Vai Busca Os Itens

E Quando Entregar Ele Ganha Outro Item Como Recompensa

Foi Isso Mesmo Que Eu Entendi Murilo ?

Ta Ai Gostei Da Ideia

Editado por melocom
Link para o comentário
Compartilhar em outros sites

  • 0

@murilo103

 

Fiz um script aqui rapidão pra voçê, não testei mas não deve ter bugs.

 

Procure pelo arquivo .lua do seu npc na pasta NPC/scripts, e substitua por:


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()

function creatureSayCallback(cid, type, msg)
local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
local storage = Ax
local itemrec = Bx
local item1 = Cx
local item2 = Dx
local item3 = Ex

if (getPlayerStorageValue(cid, storage) < 1) then
   if(msgcontains(msg, 'mission') or  msgcontains(msg, 'quest')) then
		  talkState[talkUser] = 1
		  npcHandler:say("Você me trouxe os 3 items que eu te pedi?", cid)
   elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
		  talkState[talkUser] = 0
		  if(doPlayerRemoveItem(cid,item1,1) == TRUE and doPlayerRemoveItem(cid,item2,1) == TRUE and doPlayerRemoveItem(cid,item3,1) == TRUE )
				 setPlayerStorageValue(cid, storage,1)
				 doPlayerAddItem(cid,itemrec, 1)
				 npcHandler:say("Obrigado e aqui está sua recompensa por me ajudar!", cid)
		  else
				 npcHandler:say("Você não tem os items necessarios", cid)
		  end
elseif (getPlayerStorageValue(cid, storage) >= 1) then
   if(msgcontains(msg, 'mission') or  msgcontains(msg, 'quest')) then
		  npcHandler:say("Você ja me ajudou nessa quest =/", cid)
   end
end
return TRUE
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

Ax = escolha sua storage, não pus nenhuma pois você já poderia estar usando ela.

Bx = ID do item que o player vai ganhar como recompensa.

Cx,Dx,Ex = ID's dos items que o player tem que entregar ao NPC.

 

PS: Esse código tem como ser muito otimizado, fiz meio com pressa porque vou dormir, testa ai se funcionar bem, se não posta de novo, que nos arrumamos.

Editado por Sofft
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...