Ir para conteúdo

Featured Replies

Resolvido por KotZletY

Ir para solução
  • Respostas 9
  • Visualizações 859
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • @Duality vá em data/npc/script crie um arquivo com o nome desejado com a extensão lua e adicione esse script dentro:   em data/npc crie um arquivo com o nome desejado, com a extensão xml e

  • @Duality   Em vocNeed você altera para a vocação que pode mudar, caso a vocação for diferente da que está ali, o npc não irá mudar. 

  • @Felipew11 tem sim, basta configurar da maneira que deseja. Esse npc como o membro pediu, ele altera a vocação por uma quantidade de um certo item, item e a quantidade de item, são de fácil configuraç

Postado
  • Solução

@Duality vá em data/npc/script crie um arquivo com o nome desejado com a extensão lua e adicione esse script dentro:

Spoiler

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)

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 e = {
voc = 1, -- id da vocação que irá ganhar
itemid = 2160, -- id do item que precisa para comprar a vocação
icount = 100, -- quantidade do item acima, que precisa para comprar a vocação
}

if msgcontains(msg, 'sim') or msgcontains(msg, 'yes') then
 if getPlayerItemCount(cid, e.itemid) >= e.icount then
  doPlayerRemoveItem(cid, e.itemid, e.icount)
  doPlayerSetVocation(cid, e.voc)
  selfSay("Você acabou de comprar a nova vocação.", cid)
  npcHandler:releaseFocus(cid) 
 else
  selfSay("Você não tem os "..e.icount.." "..getItemNameById(e.itemid).." para comprar a vocação.", cid)
  npcHandler:releaseFocus(cid) 
 end
end 
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

 

em data/npc crie um arquivo com o nome desejado, com a extensão xml e cole esse code dentro:

<?xml version="1.0" encoding="UTF-8"?>
<npc name="Nome do NPC" script="NomeDoArquivo.lua" walkinterval="999000" floorchange="0">
<health now="150" max="150"/>
<look type="795" head="20" body="100" legs="50" feet="99" corpse="2212"/>
<parameters>
<parameter key="message_greet" value="Estou vendendo tal vocação. Gostaria de comprar ?"/>
        </parameters>
</npc>

 

não esqueça de configurar o item desejado, a quantidade que precisa, a vocação, e as falas.

Não esqueça também de bota o nome do npc, e o nome do arquivo lua na xml do npc.

                                                              ezgif-1-98aab239f3.gif.1a897c9c3225228909e7b356a5cfb8e4.gif

Postado

@Duality

Spoiler

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)

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 e = {
voc = 1, -- id da vocação que irá ganhar
itemid = 2160, -- id do item que precisa para comprar a vocação
icount = 100, -- quantidade do item acima, que precisa para comprar a vocação
vocNeed = 1 -- id da vocação que precisa para mudar para a próxima vocação
}

if msgcontains(msg, 'sim') or msgcontains(msg, 'yes') then
 if getPlayerItemCount(cid, e.itemid) >= e.icount then
  if getPlayerVocation(cid) == e.vocNeed then
  doPlayerRemoveItem(cid, e.itemid, e.icount)
  doPlayerSetVocation(cid, e.voc)
  selfSay("Você acabou de comprar a nova vocação.", cid)
  npcHandler:releaseFocus(cid) 
  else 
   selfSay("Você não pode mudar de vocação. Apenas a vocação tal, pode mudar.", cid)
   npcHandler:releaseFocus(cid) 
  end
 else
  selfSay("Você não tem os "..e.icount.." "..getItemNameById(e.itemid).." para comprar a vocação.", cid)
  npcHandler:releaseFocus(cid) 
 end
end 
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

 

Em vocNeed você altera para a vocação que pode mudar, caso a vocação for diferente da que está ali, o npc não irá mudar. 

                                                              ezgif-1-98aab239f3.gif.1a897c9c3225228909e7b356a5cfb8e4.gif

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo