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 selfSay("Traga para mim ".. config.count .." ".. getItemInfo(config.item).name .." para completar essa missao", cid) talkState[talkUser] = 1 end if msgcontains(msg, 'itens') or msgcontains(msg, 'items') and talkState[talkUser] == 1 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) addEvent(doRemoveCreature, 5000, cid) selfSay("Parabens , voce completou a missão", cid) else selfSay("Traga para mim ".. config.count .." ".. getItemInfo(config.item).name .." para completar essa missao", cid) talkState[talkUser] = 0 end else selfSay("voce ja completou essa missão", cid) talkState[talkUser] = 0 end else selfSay("Voce precisa ser level ".. config.level .." para iniciar essa missão.", cid) talkState[talkUser] = 0 end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Editado Maio 30, 2018 7 anos por Sttorm (veja o histórico de edições)
Postado Maio 30, 2018 7 anos Autor 1 minuto 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 selfSay("Traga para mim ".. config.count .." ".. getItemInfo(config.item).name .." para completar essa missao", cid) talkState[talkUser] = 1 end if msgcontains(msg, 'itens') or msgcontains(msg, 'items') and talkState[talkUser] == 1 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) talkState[talkUser] = 0 end else selfSay("voce ja completou essa missão", cid) talkState[talkUser] = 0 end else selfSay("Voce precisa ser level ".. config.level .." para iniciar essa missão.", cid) talkState[talkUser] = 0 end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) ta pra kikar com 5 segundos? após dar a vocacao? 5 minutos 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 selfSay("Traga para mim ".. config.count .." ".. getItemInfo(config.item).name .." para completar essa missao", cid) talkState[talkUser] = 1 end if msgcontains(msg, 'itens') or msgcontains(msg, 'items') and talkState[talkUser] == 1 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) talkState[talkUser] = 0 end else selfSay("voce ja completou essa missão", cid) talkState[talkUser] = 0 end else selfSay("Voce precisa ser level ".. config.level .." para iniciar essa missão.", cid) talkState[talkUser] = 0 end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) [30/05/2018 16:26:57] [Error - LuaScriptInterface::loadFile] data/npc/scripts/vampiro.lua:44: unexpected symbol near 'ï' [30/05/2018 16:26:57] [Warning - NpcScript::NpcScript] Cannot load script: data/npc/scripts/vampiro.lua [30/05/2018 16:26:57] data/npc/scripts/vampiro.lua:44: unexpected symbol near 'ï'
Postado Maio 30, 2018 7 anos 2 minutos atrás, Luzetti disse: ta pra kikar com 5 segundos? após dar a vocacao? Esqueci , código editado.
Postado Maio 30, 2018 7 anos Autor 6 minutos atrás, Sttorm disse: Esqueci , código editado. nao tem como a parte de entrega ser mais pratica? Blza ele mando eu buscar os itens, ai na volta...eu vou ter que fala itens? nao tem algum jeito mais facil? em vez de fala itens? ele perguntar de novo? NPC, CONSEGUIU OQ LHE PEDI? PLR: SIM OKAY VEJO QUE É DIGNO DE SER ESSE GUERREIRO. nao tem como ser assim?
Postado Maio 30, 2018 7 anos @Luzetti Você pode configurar a mensagem que o player terá que falar nessa linha if msgcontains(msg, 'itens') or msgcontains(msg, 'items') and talkState[talkUser] == 1 then
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.