Queria que alguem disponibilizasse um script de um npc que te da certa vocation.
Por exemplo, eu to pensando em fazer uma vocation, só que eu gostaria que o player só virasse a vocation com certo item.
Tem como alguem me ajudar? e_e
Queria que alguem disponibilizasse um script de um npc que te da certa vocation.
Por exemplo, eu to pensando em fazer uma vocation, só que eu gostaria que o player só virasse a vocation com certo item.
Tem como alguem me ajudar? e_e
Em data/npc crie um arquivo.xml nomeie para newvoc e adicione:
<?xml version="1.0" encoding="UTF-8"?>
<npc name="Newvoc" script="data/npc/scripts/newvoc.lua" walkinterval="1000" floorchange="1">
<health now="100" max="100"/>
<look type="302" head="114" body="114" legs="200" feet="114" addons="3"/>
<parameters>
<parameter key="message_greet" value="Deseja virar nova prof? "/>
</parameters>
</npc>
Em data/npc/scripts crie um arquivo.lua nomeie para newvoc 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, 'yes') or msgcontains(msg, 'sim')) then
selfSay('Diga newvoc.', cid)
talkState[talkUser] = 1
elseif(msgcontains(msg, 'newvoc') and talkState[talkUser] == 1) then
if(getPlayerItemCount(cid, 2160) >= 100) then
doPlayerRemoveItem(cid, 2160, 100)
doPlayerSetVocation(cid, 10)
selfSay('Agora você possui a nova vocação!', cid)
else
selfSay('Você não tem dinheiro!', cid)
end
talkState[talkUser] = 0
end
return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
Editando:
-Roxo: Looktype
-Verde escuro: Mensagem após falar hi
-Dourado: Mensagem que o player precisara dizer para o npc continuar
-Vermelho: Próxima mensagem do npc
-Verde claro: Próxima mensagem do player
-Marrom: Id do item a ser removido
-Violeta: Quantidade do item a ser removido
-Cinza: Id da vocação
-Azul Turco: Mensagem de confirmação
-Teal: Mensagem de cancelamento