Ir para conteúdo
  • 0

Npc que dá storage e historia


luciano0223

Pergunta

Bem, é meio simples mas eu não sou tão bom em programação!




Eu queria q quando o player falasse com o npc "historia" ele contasse uma historia e quando falasse "missão" ganharia uma storage, ai quando tivesse outra storage a (13500) ele mandasse matar alguns monstros e quando terminasse de matar ele dava uns golds




Rep+


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

8 respostass a esta questão

Posts Recomendados

  • 0
Em npcs/scripts/, crie um arquivo chamado permission.lua e adicione:


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 talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid


if(msgcontains(msg, 'quest')) then

selfSay('Voce deseja iniciar a quest agora?', cid)

talkState[talkUser] = 1


elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then

setPlayerStorageValue(cid, STORAGE, 1)

selfSay('Sua passagem foi liberada. Boa sorte, jogador!', cid)

talkState[talkUser] = 0


elseif(msgcontains(msg, 'no') and isInArray({1}, talkState[talkUser]) == TRUE) then

talkState[talkUser] = 0

selfSay('Volte quando estiver preparado.', cid)

end


if(msgcontains(msg, 'retornar')) then

selfSay('Voce deseja continuar a quest?', cid)

talkState[talkUser] = 2


elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 2 and getPlayerStorageValue(cid, STORAGE2) => 1) then

selfSay('Agora, preciso que voce consiga QUANTIDADE DO {ITEM}, que cai de NOME DO BICHO.', cid)

setPlayerStorageValue(cid, 12543, 1)

talkState[talkUser] = 0


elseif(msgcontains(msg, 'no') and isInArray({2}, talkState[talkUser]) == TRUE) then

talkState[talkUser] = 0

selfSay('Volte quando estiver preparado.', cid)

end


if(msgcontains(msg, 'ITEM')) then

selfSay('Voce conseguiu QUANTIDADE DO ITEM?', cid)

talkState[talkUser] = 3


elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 3 and getPlayerStorageValue(cid, 12543) => 1 and getPlayerStorageValue(cid, 12544) == 0 and doPlayerRemoveItem(cid, ITEM, QUANTIDADE) == TRUE) then

selfSay('Parabens! Sua recompensa pela quest esta aqui!', cid)

setPlayerStorageValue(cid, 12544, 1)

doPlayerRemoveItem(cid, ITEM, QUANTIDADE)

doPlayerAddItem(cid, IDRECOMPENSA, QUANTIDADE)

talkState[talkUser] = 0


elseif(msgcontains(msg, 'no') and isInArray({3}, talkState[talkUser]) == TRUE) then

talkState[talkUser] = 0

selfSay('Volte quando estiver com ele.', cid)

end


return true

end


npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)

npcHandler:addModule(FocusModule:new())


Em npcs/, crie um arquivo chamado Permission.xml e adicione:


<?xml version="1.0" encoding="UTF-8"?>

<npc name="Permission" script="data/npc/scripts/permission.lua" walkinterval="0" lookdir="3">

<health now="100" max="100"/>

<look type="130" head="0" body="10" legs="10" feet="0" addons="0"/>

<parameters>

<parameter key="message_greet" value="Bem-vindo, |PLAYERNAME|! Posso te dar acesso a {quest} NOME DA QUEST."/>

</parameters>

</npc>


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

  • 0

<parameter key="message_greet" value="Bem-vindo, |PLAYERNAME|! Posso te dar acesso a {quest} NOME DA QUEST."/> ---- A história entra aqui, você só precisa editar a mensagem e manter a palavra {quest}

A primeira storage é STORAGE

A STORAGE2 seria a 13500

 

Link para o comentário
Compartilhar em outros sites

  • 0

Tem outro problema !!! Quando fala quest com ele ele fala normal e entrega a storage agora quando fala retornar e yes ele fala a msm coisa da 1° quest q é "Sua passagem foi liberada. Boa sorte, jogador!" não pra ir pegar os itens ...

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...