BO
pedido

[Pedido] Npc Vocation (Por Item)

Por Bolinhoo28, 17 de ago. de 2012 em Scripts

script
2
792
Bolinhoo28B
17 de agosto de 2012 às 20:16

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

NewtonnotwenN
17 de agosto de 2012 às 20:40

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