Postado Julho 30, 2014 10 anos Eu queria um NPC que desse um storage ao player. Encontrei um aqui no fórum, mas ele está dando storage direto, e eu queria um que desse uma vez e na próxima vez que desse hi, ele falasse que o player já recebeu a storage.. Vocês mandam bem demais ! Agradeço desde já..
Postado Julho 30, 2014 10 anos Solução Crie o arquivo do NPC.xml normalmente e a gosto... e no arquivo lua cole o script abaixo: 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 --------------------------- Configuração Inicial ------------------------------------ local strg = 12130 -- Valor da Storage --------------------------- Configuração das Falas ----------------------------------- if (msgcontains(msg, 'storage')) then if getPlayerStorageValue(cid, strg) < 1 then selfSay('Deseja receber a permissao?', cid) talkState[talkUser] = 1 else selfSay('Voce ja recebeu a permissao.', cid) talkState[talkUser] = 0 end --------------------------- Falas de Entrada ----------------------------------- elseif(msgcontains(msg, 'yes') or msgcontains(msg, 'sim') and talkState[talkUser] == 1) then if getPlayerStorageValue(cid, strg) < 1 then setPlayerStorageValue(cid, strg, 1) selfSay('Permissao concedida com sucesso.', cid) talkState[talkUser] = 0 else selfSay('Permissao ja concedida anteriormente.', cid) return false end --------------------------- Falas de Rejeição ----------------------------------- elseif(msgcontains(msg, 'no') or msgcontains(msg, 'nao') and isInArray({1}, talkState[talkUser])) then talkState[talkUser] = 0 selfSay('Tudo bem entao.', cid) --------------------------- FIM do SCRIPT --------------------------------------- end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Não testei, mas creio que funcione. Vale lembrar de configurar a storage no começo do script. local strg = 12130 -- Valor da Storage Boa sorte. Editado Julho 30, 2014 10 anos por Adriano SwaTT (veja o histórico de edições) Gosta do meu trabalho? Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs. Atenciosamente,Adriano Swatt' Para ver meus tutoriais acesse meu perfil.
Postado Julho 30, 2014 10 anos Irei testar, e deixo aqui se funcionou Ok, fico no aguardo. Boa sorte. Gosta do meu trabalho? Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs. Atenciosamente,Adriano Swatt' Para ver meus tutoriais acesse meu perfil.
Postado Julho 30, 2014 10 anos Autor Só queria umas mudanças, ex.: na fala inicial Quando o player falar: hi Ele responde: Você deseja "permissão" para a quest? permissão em destaque, entende ? rep+, por ter a iniciativa de me ajudar... #edit Consegui corrigir aqui, muito obrigado mano !! Toma meu rep+ ai !! Abraços ! Editado Julho 30, 2014 10 anos por FlavioHulk (veja o histórico de edições)
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.