Ir para conteúdo

Featured Replies

Postado

Gente por favor, eu estou precisando de um npc de vocacao, vasculhei aqui o fórum, e não achei o que eu exatamente procura o que seria: 

 

Um npc que apenas level 50 pudesse fala com ele, caso for level menor ele vai pedir pra vc ser mais forte e voltar depois, aí quando vc for lvl 50 voltar até ele, aí ele te dará uma missão onde vc terá que catar uma quantia de bat wings uns 50 por ex. Feito isso quando vc voltar até ele, o mesmo irá retirar os itens de vc e te dará uma outifit que vc não pode tirar, no caso eu terei a só a outifit da vocação que me tornei, a que eu estava antes de virar a vocação nova não dará mais pra eu usar, e somente essa nova roupa aparecer no inventário de outifit.

Caso alguém consiga me ajudar, ficarei grato. Valendo Rep++.


 

 

Resolvido por Storm

Ir para solução
  • Respostas 10
  • Visualizações 1k
  • Created
  • Última resposta

Top Posters In This Topic

Posted Images

Postado
  • Solução

@Luzetti Voce explicou muito mal no tópico , mas eu tentei fazer :

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

local config = {
      level = 50, -- Level necessario
      storage = 234123, -- Storage
      item = 2150, -- Id do item 
      count = 50, -- Count do item
      new = 15, -- ID da nova outfit
      old = 10 -- ID da outfit antiga
} 

local outfit = {lookType = config.new}

   if msgcontains(msg, 'yes') or msgcontains(msg, 'sim') then
      if getPlayerLevel(cid) >= config.level then
         if getCreatureStorage(cid, config.storage) == -1 then
            if doPlayerRemoveItem(cid, config.item, config.count) then
               doCreatureSetStorage(cid, config.storage, 1)     
               doPlayerRemoveOutfitId(cid, config.old) 
               doPlayerAddOutfitId(cid, config.new, 0)
               doCreatureChangeOutfit(cid, outfit)
               selfSay("Parabens , voce completou a missão", cid)                     
            else
                selfSay("Traga para mim ".. config.count .." ".. getItemInfo(config.item).name .." para completar essa missao", cid)
            end
         else
             selfSay("voce ja completou essa missão", cid)
         end
      else
          selfSay("Voce precisa ser level ".. config.level .." para iniciar essa missão.", cid)
      end
   
   
   end
return true
end
            
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

Postado
  • Autor

Obg, atende a quase tudo que pedi, mas eu não vi se ele tá dando a nova vocação,  ele tá dando a roupa nova n é? Que nem a vocação que eu tenho é Hunter, o Hunter vai deixar de ser Hunter e passará a ser vampiro.

Postado

@Luzetti

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

local config = {
      level = 50, -- Level necessario
      storage = 234123, -- Storage
      item = 2150, -- Id do item 
      count = 50, -- Count do item
      new = 15, -- ID da nova outfit
      old = 10, -- ID da outfit antiga
      voc = 4 -- ID da nova voc
} 

local outfit = {lookType = config.new}

   if msgcontains(msg, 'yes') or msgcontains(msg, 'sim') then
      if getPlayerLevel(cid) >= config.level then
         if getCreatureStorage(cid, config.storage) == -1 then
            if doPlayerRemoveItem(cid, config.item, config.count) then
               doCreatureSetStorage(cid, config.storage, 1)     
               doPlayerRemoveOutfitId(cid, config.old) 
               doPlayerAddOutfitId(cid, config.new, 0)
               doCreatureChangeOutfit(cid, outfit)
               doPlayerSetVocation(cid, config.voc)
               selfSay("Parabens , voce completou a missão", cid)                     
            else
                selfSay("Traga para mim ".. config.count .." ".. getItemInfo(config.item).name .." para completar essa missao", cid)
            end
         else
             selfSay("voce ja completou essa missão", cid)
         end
      else
          selfSay("Voce precisa ser level ".. config.level .." para iniciar essa missão.", cid)
      end
   
   
   end
return true
end
            
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

Postado
  • Autor
1 hora atrás, Sttorm disse:

@Luzetti


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

local config = {
      level = 50, -- Level necessario
      storage = 234123, -- Storage
      item = 2150, -- Id do item 
      count = 50, -- Count do item
      new = 15, -- ID da nova outfit
      old = 10, -- ID da outfit antiga
      voc = 4 -- ID da nova voc
} 

local outfit = {lookType = config.new}

   if msgcontains(msg, 'yes') or msgcontains(msg, 'sim') then
      if getPlayerLevel(cid) >= config.level then
         if getCreatureStorage(cid, config.storage) == -1 then
            if doPlayerRemoveItem(cid, config.item, config.count) then
               doCreatureSetStorage(cid, config.storage, 1)     
               doPlayerRemoveOutfitId(cid, config.old) 
               doPlayerAddOutfitId(cid, config.new, 0)
               doCreatureChangeOutfit(cid, outfit)
               doPlayerSetVocation(cid, config.voc)
               selfSay("Parabens , voce completou a missão", cid)                     
            else
                selfSay("Traga para mim ".. config.count .." ".. getItemInfo(config.item).name .." para completar essa missao", cid)
            end
         else
             selfSay("voce ja completou essa missão", cid)
         end
      else
          selfSay("Voce precisa ser level ".. config.level .." para iniciar essa missão.", cid)
      end
   
   
   end
return true
end
            
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

creio que esteja quase 100%, porem ele nao pede pro player trazer o item até ele, no caso assim...

 


 

<?xml version="1.0" encoding="UTF-8"?>
<npc name="Vampiro" script="data/npc/scripts/vampiro.lua" walkinterval="2000" floorchange="0">
<health now="100" max="100"/>
<look type="312" head="76" body="43" legs="38" feet="76" addons="0"/>

<parameters>

<parameter key="message_greet" value="Eu sou um Vampiro, estou em busca de sangue e vingança, por algum acaso esta interessado meu caro |PLAYERNAME|?"/>

</parameters>
</npc>

 

 

OBS 1

aqui ele ja fala se vc quer se juntar a ele, blza se eu nao tiver o item ele vai manda buscar okay, porem se eu ja tiver o item ele vai remover sem ao menos perguntar se eu tenho.

 

OBS2 foto

 

image.thumb.png.d12fbfeb317dfeba84d4ee523086d3b1.png

 

ele ta dando voc de hunter, sendo que ja sou hunter, e na descrição aparece no look, vampire...

 

 

 

 

"BLZA JA SEI OQ ERA A QUESTAO DA ROUPA E DA VOC ESTAREM ERRADAS ARRUMEI JA"  OK GG

 

PODERIA POR PRA ELE LEVAR UM KICK? EM 5 SEGUNDOS?

E VER PRA MESMO EU TENDO O ITEM ELE PERGUNTAR SE EU TENHO O ITEM AI QUANDO EU DER A ELE, AI SIM ELE TROCA MINHA VOC?

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