Postado Maio 30, 2018 7 anos 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++.
Postado Maio 30, 2018 7 anos 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 Maio 30, 2018 7 anos 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 Maio 30, 2018 7 anos @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 Maio 30, 2018 7 anos 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 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.