Respondendo o primeiro pedido. Em npcs crie um arquivo.xml e cole isto dentro
<?xml version="1.0" encoding="UTF-8"?>
<npc name="NOME DO NPC" script="data/npc/scripts/NOME DO ARQUIVO.lua" walkinterval="2000" floorchange="0">
<health now="100" max="100"/>
<look type="134" head="55" body="60" legs="50" feet="75" addons="0"/>
<parameters>
<parameter key="message_greet" value="Ola |PLAYERNAME|. Tenho uma missao para voce se voce quiser ela fale {aceitar}." />
</parameters>
</npc>
Lembre de mudar o nome do Npc e o nome do arquivo que você colocará em data>npcs>scripts. Copie qualquer arquivo, renomeie para o nome de sua preferência e cole isto dentro:
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 = 2349 -- item que o player deverá ter
local storage = 2358
local getstorage = getPlayerStorageValue(cid, storage)
local sorrymessage = "Desculpe, voce nao tem o item que eu preciso..."
local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
if msgcontains(msg, 'aceitar') then
if getstorage == 1 then
npcHandler:say("Voce jah completou a mission.", cid)
elseif getstorage < 1 then
npcHandler:say("Eu quero muito um item escondido nas colinas de Egeu para eu curar a doença de minha filha,mais não sou um guerreiro,voce poderia me {ajudar}?", cid)
talkState[talkUser] = 1
end
elseif msgcontains(msg, 'ajudar') then
if getstorage < 1 then
npcHandler:say("Você trouxe o item das colinas de Egeu em troca de 250k? Se sim, fale {yes}.", 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("Obrigado por trazer o item.", cid)
setPlayerStorageValue(cid, storage, 1)
doPlayerAddItem(cid, 2160, 25)
talkState[talkUser] = 0
elseif doPlayerRemoveItem(cid, crystalid, 1) == 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())
Lembre de mudar o item necessário nessa linha: local crystalid = 2349 -- id do item que o player deverá ter. Vlw, espero ter ajudado, abraço!




info
Grupo: Cavaleiro
Registrado: 13/06/11
Posts: 172
Reputação: +6
eu qeuro um npc que te de uma missão de
pegar certo item escondido, ele dira assim
Ola [PLAYERNAME] Tenho uma missão para voce se voce quiser ela fale Aceitar
Player: Aceitar
Npc: Eu quero muito um item escondido nas colinas de Egeu para eu curar a doença de minha filha,mais não sou um guerreiro,voce poderia me ajuda?
Player:Ajudar
Npc: busque esse item nas colinas de Egeu e me traga que eu ficarei muito grato e le darei 250k
~~otra missão~~ para level 150**\/
Npc: por favor [PLAYERNAME] me ajude a matar esse demonio que veio do inferno de Artemisias ~~Matar~~
Player: matar
e o npc sumona o monstro
logo dps do player matar o npc dara 300k para o player e um papel de certificado de missoes
e logo depois disso ele não podi fazer mais missoes
ot : 8.60
Editado Junho 13 por neero102