Ir para conteúdo
  • 0

Como criar npc de missão


mylorc

Pergunta

Olá,preciso criar um npc de missão,alguém me ajuda?

Assim,preciso de um npc que recolha 3 itens e de recompença ele dara ao player xp (do lvl 1 irá para o lvl 8).

Ajudem por favor.

Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0

Essa seção não deve ser usada para pedidos ou dúvidas, temos uma seção específica para isso. Por favor, preste mais atenção da próxima vez.
Movido para Pedidos e Dúvidas - Scripting.


Como não é a primeira violação, tenho que avisar que na próxima será alertado.

Link para o comentário
Compartilhar em outros sites

  • 0

Sobre o xml que você postou, tente trocar por este aqui: -Pelo que eu saiba, após o 'script', deve-se colocar apenas o nome do arquivo.lua.

<npc name="Force" script="force.lua" walkinterval="0" floorchange="0" access="5" level="1" maglevel="1">
<health now="150" max="150"/>
<look type="124" head="114" body="114" legs="114" feet="114" corpse="2212"/>
<parameters>
<parameter key="message_greet" value="Welcome to the beginning of the game, Sir |PLAYERNAME|. You would make the {MISSION}?" />
</parameters>
</npc>
E retire isso do script [suponho que seja desnecessário, já que seu servidor não é de pokémon e.e]
function doBuyPokemonWithCasinoCoins(cid, poke) npcHandler:onSellpokemon(cid) end
Testou ambos os scripts, ou apenas o segundo? Se o primeiro funcionar, vou dar uma olhada novamente neste segundo. Se você testou os dois e não funcionou de vez, me desculpe de verdade, mas não sei como lhe ajudar mais :c
Link para o comentário
Compartilhar em outros sites

  • 0

missao.lua

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 

-----------#Início das configurações#------------
local stg = 1425 -- storage da quest, para não fazer 2x.
local item1 = 9971 -- id do item
local qtd = 3 -- quantidade a ser removida.
local level = 7 -- quantidade de level a dar ao jogador.
local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
local msg = string.lower(msg)
-----------#Fim das configurações#------------
if(msgcontains(msg, 'missao')) and getPlayerStorageValue(cid, stg) >= 1 then
	selfSay('Você já me ajudou, sou grato por isso!', cid)
	talkState[talkUser] = 0 
end 
if(msgcontains(msg, 'missao')) and getPlayerStorageValue(cid, stg) <= 0 then 
	if getPlayerItemCount(cid, item1, qtd) then 
		setPlayerStorageValue(cid, stg, 1) 
		selfSay('Muito obrigado, como recompensa aqui está sua experiência por ter me ajudado!', cid) 
		doPlayerAddLevel(cid, level)
	else 
		selfSay('Você não tem '..qtd..' {"..getItemNameById(item1).."s}. Volte aqui quando tiver', cid)
	end 
end 
return true 
end  

XML:

<?xml version="1.0" encoding="ISO-8859-1"?>
<npc name="Oclahoma" script="data/npc/scripts/missao.lua" walkinterval="3000" floorchange="0">
	<health now="100" max="100"/>
	<look type="132" head="20" body="39" legs="45" feet="7" addons="0"/>
	<parameters>
		<parameter key="message_greet" value="Olá |PLAYERNAME|. Eu tenho uma {missão} para você." />
		<parameter key="message_farewell" value="Até mais, |PLAYERNAME|!"/>
	</parameters>
</npc>

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

  • 0

/\ Essa localização que você falou é tipo data/npc/arquivo? Se for isso, só ocorre em servidores de Tibia, certo? É porque, por exemplo, no PDA (servidor de pokémon), não é necessário indicar a localização do NPC. Só colocar o nome do arquivo.lua, e pronto.

Se o que você comentou é algo totalmente diferente disso que eu disse, desconsidere, plz e.e

Link para o comentário
Compartilhar em outros sites

  • 0

Nada :D

@topic

mylorc, testou o script do Fawz? Este, pelo visto, é impossível que não funcione.

Sim testei,porém quando falo hi para o npc,ele não responde.

Não sei identificar o problema.

Sabe resolver?

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

×
×
  • Criar Novo...