Ir para conteúdo

[Pedido] Npc


theu1995

Posts Recomendados

alguém poderia postar um NPC de missão em que ele me manda ir buscar 3 itens para ele e ele me retribua com 'Experience'.

e a partir dele eu vou fazendo s meus outros.

Link para o comentário
Compartilhar em outros sites

NPC XML:

<?xml version="1.0" encoding="UTF-8"?>
<npc name="Death" script="data/npc/scripts/death.lua" walkinterval="0" floorchange="0">
   <health now="100" max="100"/>
   <look type="9" head="114" body="114" legs="91" feet="91" addons="3"/>
   <parameters>
       <parameter key="message_greet" value="Irei precisar de voce para uma {quest}. Posso te {pagar} muito bem." />
    <parameter key="module_keywords" value="1" />
    <parameter key="keywords" value="hi;pagar" />
    <parameter key="keyword_reply1" value="Irei precisar de voce para uma {quest}. Posso te {pagar} muito bem." />
    <parameter key="keyword_reply2" value="Nao irei te dizer o que vou lhe dar em troca, mas posso garantir que eh coisa boa. Voce so precisa confiar em mim." />

    <parameter key="module_shop" value="1"/>
    <parameter key="shop_buyable" value="aol,2173,10000"/>
    <parameter key="shop_sellable" value="aol,2173,5000"/>
   </parameters>
</npc>

SCRIPT NPC:

 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 crystalid = 9980
    local storage = 9980
    local getstorage = getPlayerStorageValue(cid, storage)
    local sorrymessage = "Desculpe, voce nao tem todos os Crystal Of Power necessarios para completar as missoes..."
    local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
    if msgcontains(msg, 'crystal of power') then
		    if getstorage == 6 then
				    npcHandler:say("Voce jah completou a quest", cid)
		    elseif getstorage < 6 then
				    npcHandler:say("Voce tem todos os Crystal of power necessarios?", cid)
				    talkState[talkUser] = 1
		    end
    elseif msgcontains(msg, 'quest') then
		    if getstorage < 1 then
				    npcHandler:say("Voce precisa de 1 {crystal of power} para comecar.", cid)
		    elseif getstorage == 1 then
				    npcHandler:say("Voce esta na segunda missao e precisa de mais 5 Crystal of power para continuar.", cid)
		    elseif getstorage == 2 then
				    npcHandler:say("Voce esta na terceira missao e precisa de mais 7 Crystal of power para continuar.", cid)
		    elseif getstorage == 3 then
				    npcHandler:say("Voce esta na quarta missao e precisa de mais 10 Crystal of power para continuar.", cid)
		    elseif getstorage == 4 then
				    npcHandler:say("Voce esta na quinta missao e precisa de mais 15 Crystal of power para continuar.", cid)
		    elseif getstorage == 5 then
				    npcHandler:say("Voce esta na sexta e ultima missao e precisa de mais 50 Crystal of power para continuar.", cid)
		    elseif getstorage == 6 then
				    npcHandler:say("Voce completou todas as missoes.", cid)
		    end
    elseif msgcontains(msg, 'yes') then
		    if talkState[talkUser] == 1 then
				    if getstorage < 0 then
						    if doPlayerRemoveItem(cid, crystalid, 1) == TRUE then
								    npcHandler:say("Voce jah me deu 1 crystal of power. Agora irei precisar de mais {5}.", cid)
								    setPlayerStorageValue(cid, storage, 1)
								    doPlayerAddExp(cid, 1000)
								    talkState[talkUser] = 0
						    elseif doPlayerRemoveItem(cid, crystalid, 1) == FALSE then
								    npcHandler:say(sorrymessage, cid)
								    talkState[talkUser] = 0
						    end
				    elseif getstorage == 1 then
						    if doPlayerRemoveItem(cid, crystalid, 5) == TRUE then
								    npcHandler:say("Voce jah me deu 5 crystal of power. Agora irei precisar de mais {7}.", cid)
								    setPlayerStorageValue(cid, storage, 2)
								    doPlayerAddExp(cid, 5000)
								    talkState[talkUser] = 0
						    elseif doPlayerRemoveItem(cid, crystalid, 5) == FALSE then
								    npcHandler:say(sorrymessage, cid)
								    talkState[talkUser] = 0
						    end
				    elseif getstorage == 2 then
						    if doPlayerRemoveItem(cid, crystalid, 7) == TRUE then
								    npcHandler:say("Voce jah me deu 7 crystal of power. Agora irei precisar de mais {10}.", cid)
								    setPlayerStorageValue(cid, storage, 3)
								    doPlayerAddExp(cid, 7000)
								    talkState[talkUser] = 0
						    elseif doPlayerRemoveItem(cid, crystalid, 7) == FALSE then
								    npcHandler:say(sorrymessage, cid)
								    talkState[talkUser] = 0
						    end
				    elseif getstorage == 3 then
						    if doPlayerRemoveItem(cid, crystalid, 10) == TRUE then
								    npcHandler:say("Voce jah me deu 10 crystal of power. Agora irei precisar de mais {15}.", cid)
								    setPlayerStorageValue(cid, storage, 4)
								    doPlayerAddExp(cid, 10000)
								    talkState[talkUser] = 0
						    elseif doPlayerRemoveItem(cid, crystalid, 10) == FALSE then
								    npcHandler:say(sorrymessage, cid)
								    talkState[talkUser] = 0
						    end
				    elseif getstorage == 4 then
						    if doPlayerRemoveItem(cid, crystalid, 15) == TRUE then
								    npcHandler:say("Voce jah me deu 15 crystal of power. E por ultimo, irei precisar de mais {50}.", cid)
								    setPlayerStorageValue(cid, storage, 5)
								    doPlayerAddExp(cid, 15000)
								    talkState[talkUser] = 0
						    elseif doPlayerRemoveItem(cid, crystalid, 15) == FALSE then
								    npcHandler:say(sorrymessage, cid)
								    talkState[talkUser] = 0
						    end
				    elseif getstorage == 5 then
						    if doPlayerRemoveItem(cid, crystalid, 50) == TRUE then
								    npcHandler:say("Parabens HehEhehehehe, voce completou todas as missoes. Irei te dar um {Golden Falcon} e alguma experiencia.", cid)
								    setPlayerStorageValue(cid, storage, 6)
								    doPlayerAddExp(cid, 900000)
								    doPlayerAddItem(cid, 8976, 1)
								    talkState[talkUser] = 0
						    elseif doPlayerRemoveItem(cid, crystalid, 50) == FALSE then
								    npcHandler:say(sorrymessage, cid)
								    talkState[talkUser] = 0
						    end
				    end
		    end
    elseif(msgcontains(msg, 'no') and talkState[talkUser] == 1) then
		    npcHandler:say("OK, Volte quando estiver pronto.", cid)
		    talkState[talkUser] = 0
    end
return TRUE
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

é um que eu tenho aqui, ve se serve pra tu...

Link para o comentário
Compartilhar em outros sites

NPC XML:

<?xml version="1.0" encoding="UTF-8"?>
<npc name="Death" script="data/npc/scripts/death.lua" walkinterval="0" floorchange="0">
<health now="100" max="100"/>
<look type="9" head="114" body="114" legs="91" feet="91" addons="3"/>
<parameters>
	<parameter key="message_greet" value="Irei precisar de voce para uma {quest}. Posso te {pagar} muito bem." />
	<parameter key="module_keywords" value="1" />
	<parameter key="keywords" value="hi;pagar" />
	<parameter key="keyword_reply1" value="Irei precisar de voce para uma {quest}. Posso te {pagar} muito bem." />
	<parameter key="keyword_reply2" value="Nao irei te dizer o que vou lhe dar em troca, mas posso garantir que eh coisa boa. Voce so precisa confiar em mim." />

	<parameter key="module_shop" value="1"/>
	<parameter key="shop_buyable" value="aol,2173,10000"/>
	<parameter key="shop_sellable" value="aol,2173,5000"/>
</parameters>
</npc>

SCRIPT NPC:

 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 crystalid = 9980
	local storage = 9980
	local getstorage = getPlayerStorageValue(cid, storage)
	local sorrymessage = "Desculpe, voce nao tem todos os Crystal Of Power necessarios para completar as missoes..."
	local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
	if msgcontains(msg, 'crystal of power') then
			if getstorage == 6 then
					npcHandler:say("Voce jah completou a quest", cid)
			elseif getstorage < 6 then
					npcHandler:say("Voce tem todos os Crystal of power necessarios?", cid)
					talkState[talkUser] = 1
			end
	elseif msgcontains(msg, 'quest') then
			if getstorage < 1 then
					npcHandler:say("Voce precisa de 1 {crystal of power} para comecar.", cid)
			elseif getstorage == 1 then
					npcHandler:say("Voce esta na segunda missao e precisa de mais 5 Crystal of power para continuar.", cid)
			elseif getstorage == 2 then
					npcHandler:say("Voce esta na terceira missao e precisa de mais 7 Crystal of power para continuar.", cid)
			elseif getstorage == 3 then
					npcHandler:say("Voce esta na quarta missao e precisa de mais 10 Crystal of power para continuar.", cid)
			elseif getstorage == 4 then
					npcHandler:say("Voce esta na quinta missao e precisa de mais 15 Crystal of power para continuar.", cid)
			elseif getstorage == 5 then
					npcHandler:say("Voce esta na sexta e ultima missao e precisa de mais 50 Crystal of power para continuar.", cid)
			elseif getstorage == 6 then
					npcHandler:say("Voce completou todas as missoes.", cid)
			end
	elseif msgcontains(msg, 'yes') then
			if talkState[talkUser] == 1 then
					if getstorage < 0 then
							if doPlayerRemoveItem(cid, crystalid, 1) == TRUE then
									npcHandler:say("Voce jah me deu 1 crystal of power. Agora irei precisar de mais {5}.", cid)
									setPlayerStorageValue(cid, storage, 1)
									doPlayerAddExp(cid, 1000)
									talkState[talkUser] = 0
							elseif doPlayerRemoveItem(cid, crystalid, 1) == FALSE then
									npcHandler:say(sorrymessage, cid)
									talkState[talkUser] = 0
							end
					elseif getstorage == 1 then
							if doPlayerRemoveItem(cid, crystalid, 5) == TRUE then
									npcHandler:say("Voce jah me deu 5 crystal of power. Agora irei precisar de mais {7}.", cid)
									setPlayerStorageValue(cid, storage, 2)
									doPlayerAddExp(cid, 5000)
									talkState[talkUser] = 0
							elseif doPlayerRemoveItem(cid, crystalid, 5) == FALSE then
									npcHandler:say(sorrymessage, cid)
									talkState[talkUser] = 0
							end
					elseif getstorage == 2 then
							if doPlayerRemoveItem(cid, crystalid, 7) == TRUE then
									npcHandler:say("Voce jah me deu 7 crystal of power. Agora irei precisar de mais {10}.", cid)
									setPlayerStorageValue(cid, storage, 3)
									doPlayerAddExp(cid, 7000)
									talkState[talkUser] = 0
							elseif doPlayerRemoveItem(cid, crystalid, 7) == FALSE then
									npcHandler:say(sorrymessage, cid)
									talkState[talkUser] = 0
							end
					elseif getstorage == 3 then
							if doPlayerRemoveItem(cid, crystalid, 10) == TRUE then
									npcHandler:say("Voce jah me deu 10 crystal of power. Agora irei precisar de mais {15}.", cid)
									setPlayerStorageValue(cid, storage, 4)
									doPlayerAddExp(cid, 10000)
									talkState[talkUser] = 0
							elseif doPlayerRemoveItem(cid, crystalid, 10) == FALSE then
									npcHandler:say(sorrymessage, cid)
									talkState[talkUser] = 0
							end
					elseif getstorage == 4 then
							if doPlayerRemoveItem(cid, crystalid, 15) == TRUE then
									npcHandler:say("Voce jah me deu 15 crystal of power. E por ultimo, irei precisar de mais {50}.", cid)
									setPlayerStorageValue(cid, storage, 5)
									doPlayerAddExp(cid, 15000)
									talkState[talkUser] = 0
							elseif doPlayerRemoveItem(cid, crystalid, 15) == FALSE then
									npcHandler:say(sorrymessage, cid)
									talkState[talkUser] = 0
							end
					elseif getstorage == 5 then
							if doPlayerRemoveItem(cid, crystalid, 50) == TRUE then
									npcHandler:say("Parabens HehEhehehehe, voce completou todas as missoes. Irei te dar um {Golden Falcon} e alguma experiencia.", cid)
									setPlayerStorageValue(cid, storage, 6)
									doPlayerAddExp(cid, 900000)
									doPlayerAddItem(cid, 8976, 1)
									talkState[talkUser] = 0
							elseif doPlayerRemoveItem(cid, crystalid, 50) == FALSE then
									npcHandler:say(sorrymessage, cid)
									talkState[talkUser] = 0
							end
					end
			end
	elseif(msgcontains(msg, 'no') and talkState[talkUser] == 1) then
			npcHandler:say("OK, Volte quando estiver pronto.", cid)
			talkState[talkUser] = 0
	end
return TRUE
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

é um que eu tenho aqui, ve se serve pra tu...

esse nem me server man, tem que ser um de quest bem simples mesmo, em que ele só te manda ir pegar 3 itens e te da uma recompensa e acaba nisso. :x se tiver um assim me manda ae ou alguem que ler o post e tiver, que a partir desse eu vou fazendo outros. (: . Vou procurar direito na seção de NPC etc... , se eu achar qualquer coisa posto aqui e mando fechar tópico.

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

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...