Ir para conteúdo
  • Cadastre-se

(Resolvido)[PEDIDO] NPC que dá storage


Ir para solução Resolvido por Adriano SwaTT,

Posts Recomendados

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á..

Link para o post
Compartilhar em outros sites
  • 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 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.

 

cbCyOSZ.png

Link para o post
Compartilhar em outros sites

Irei testar, e deixo aqui se funcionou :D

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.

 

cbCyOSZ.png

Link para o post
Compartilhar em outros sites

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 !! :D

Abraços !

Editado por FlavioHulk (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

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 !! :D

Abraços !

Por nada.

E é porque a fala inicial se configura no npc.xml, por isso que falei para configurar a gosto.

 

Que bom que foi útil.

Faça bom aproveito.

 

Abraços.

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.

 

cbCyOSZ.png

Link para o post
Compartilhar em outros sites
  • 2 years later...

desculpa reviver, mais preciso deste script porem com algumas modificações,

 

queria que fossem 5 storages (configurável a quantidade) porem ao invés de DAR ele iria vende-las por 1 item (configurável ) e que caso o player comprasse a 1ª storage e tentasse comprar de novo não desse.

Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo