Ir para conteúdo
  • 0

PRECISO DE UM NPC QUE DER PERMISSÃO.


sabrinaeanderso

Pergunta

quero que quando o play fale "hi", 
1 - o npc responda: O que voce quer aqui?  "permission" or "items for permission"
se ele escolher permission
2 - o npc falará: para te da a permissao de entrar no castelo do Rei, preciso de alguns items, se conseguir pegar para mim, te darei minha permissao de entrar no castelo do Rei. "yes" or "no"
3 - se o play responder YES, o npc dara uma storage de missão do id 13544 ao play com uma mensagem em seguida dizendo: Boa Sorte.
4 - se ele não tiver a storage o npc volta para a pergunta 2
5 - se o play tiver a storage 13544, o npc perguntará a ele: voce tem conseguiu os items que eu te pedir? "yes" or "no"
6 - se o play responder NO, o npc volta para a pergunta 2
7 - se o play responder YES, sera verificado se ele tem os items e será removido e dado outra storage com o id 13566. com uma mensagem seguido quando der o acesso: "Agora voce tem a minha permissao para entrar no castelo do Rei.
se ele escolher items for permission,
o npc verificara os ids dos items que necessita e falara a ele o nome dos items e as quantidades que precisa para ele ter a permissao do npc.
8 - Serão 2 tipo de items que o npc irá pedir com quantidades, deixe para eu poder editar e adicionar quantos items eu quizer e suas quantidades.

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0
function onCreatureSay(cid, type, msg)
    if not isPlayer(cid) then
        return true
    end
    
    local npcPos = {x = 100, y = 50, z = 7} -- Altere para a posição do NPC
    
    if msg:lower() == "hi" then
        doCreatureSay(cid, "O que você quer aqui? 'permission' or 'items for permission'", TALKTYPE_SAY)
        setPlayerStorageValue(cid, 99999, 1) -- Marca que o jogador iniciou a interação com o NPC
    elseif getPlayerStorageValue(cid, 99999) == 1 then
        if msg:lower() == "permission" then
            doCreatureSay(cid, "Para te dar a permissão de entrar no castelo do Rei, preciso de alguns items. Se conseguir pegar para mim, te darei minha permissão de entrar no castelo do Rei. 'yes' or 'no'", TALKTYPE_SAY)
            setPlayerStorageValue(cid, 99999, 2) -- Marca que o jogador escolheu "permission"
        elseif msg:lower() == "items for permission" then
            doCreatureSay(cid, "Eu preciso dos seguintes itens para te dar permissão: [Item 1] (quantidade), [Item 2] (quantidade)", TALKTYPE_SAY)
            setPlayerStorageValue(cid, 99999, 3) -- Marca que o jogador escolheu "items for permission"
        end
    elseif getPlayerStorageValue(cid, 99999) == 2 then -- Se jogador escolheu "permission"
        if msg:lower() == "yes" then
            if getPlayerItemCount(cid, item1) >= quantidade1 and getPlayerItemCount(cid, item2) >= quantidade2 then -- Verifica se o jogador tem os itens necessários
                doPlayerRemoveItem(cid, item1, quantidade1) -- Remove os itens do jogador
                doPlayerRemoveItem(cid, item2, quantidade2)
                setPlayerStorageValue(cid, 13544, 1) -- Dá a storage de missão
                doCreatureSay(cid, "Boa sorte!", TALKTYPE_SAY)
                doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você recebeu a permissão para entrar no castelo do Rei.")
                setPlayerStorageValue(cid, 99999, 0) -- Reinicia a conversa
            else
                doCreatureSay(cid, "Você não possui todos os itens necessários. Continue sua busca.", TALKTYPE_SAY)
                setPlayerStorageValue(cid, 99999, 2) -- Permite ao jogador tentar novamente
            end
        elseif msg:lower() == "no" then
            doCreatureSay(cid, "Continue sua busca.", TALKTYPE_SAY)
            setPlayerStorageValue(cid, 99999, 2) -- Permite ao jogador tentar novamente
        end
    elseif getPlayerStorageValue(cid, 99999) == 3 then -- Se jogador escolheu "items for permission"
        -- Insira aqui a lógica para informar ao jogador os itens e quantidades necessárias
        -- Exemplo: doCreatureSay(cid, "Você precisa de 10 itens X e 5 itens Y.", TALKTYPE_SAY)
        setPlayerStorageValue(cid, 99999, 0) -- Reinicia a conversa
    end
end

Este script assume que você tem uma variável item1, quantidade1, item2 e quantidade2 definidas anteriormente no script com os IDs dos itens necessários e suas quantidades. Certifique-se de substituir [Item 1], [Item 2], quantidade1 e quantidade2 pelos nomes dos itens e quantidades reais que você deseja.

Lembre-se de substituir {x = 100, y = 50, z = 7} pela posição real do NPC em seu mapa. Além disso, adapte o código para o seu servidor, conforme necessário.

Link para o comentário
Compartilhar em outros sites

  • 0
Em 08/04/2024 em 20:56, Holograma disse:
function onCreatureSay(cid, type, msg)
    if not isPlayer(cid) then
        return true
    end
    
    local npcPos = {x = 100, y = 50, z = 7} -- Altere para a posição do NPC
    
    if msg:lower() == "hi" then
        doCreatureSay(cid, "O que você quer aqui? 'permission' or 'items for permission'", TALKTYPE_SAY)
        setPlayerStorageValue(cid, 99999, 1) -- Marca que o jogador iniciou a interação com o NPC
    elseif getPlayerStorageValue(cid, 99999) == 1 then
        if msg:lower() == "permission" then
            doCreatureSay(cid, "Para te dar a permissão de entrar no castelo do Rei, preciso de alguns items. Se conseguir pegar para mim, te darei minha permissão de entrar no castelo do Rei. 'yes' or 'no'", TALKTYPE_SAY)
            setPlayerStorageValue(cid, 99999, 2) -- Marca que o jogador escolheu "permission"
        elseif msg:lower() == "items for permission" then
            doCreatureSay(cid, "Eu preciso dos seguintes itens para te dar permissão: [Item 1] (quantidade), [Item 2] (quantidade)", TALKTYPE_SAY)
            setPlayerStorageValue(cid, 99999, 3) -- Marca que o jogador escolheu "items for permission"
        end
    elseif getPlayerStorageValue(cid, 99999) == 2 then -- Se jogador escolheu "permission"
        if msg:lower() == "yes" then
            if getPlayerItemCount(cid, item1) >= quantidade1 and getPlayerItemCount(cid, item2) >= quantidade2 then -- Verifica se o jogador tem os itens necessários
                doPlayerRemoveItem(cid, item1, quantidade1) -- Remove os itens do jogador
                doPlayerRemoveItem(cid, item2, quantidade2)
                setPlayerStorageValue(cid, 13544, 1) -- Dá a storage de missão
                doCreatureSay(cid, "Boa sorte!", TALKTYPE_SAY)
                doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você recebeu a permissão para entrar no castelo do Rei.")
                setPlayerStorageValue(cid, 99999, 0) -- Reinicia a conversa
            else
                doCreatureSay(cid, "Você não possui todos os itens necessários. Continue sua busca.", TALKTYPE_SAY)
                setPlayerStorageValue(cid, 99999, 2) -- Permite ao jogador tentar novamente
            end
        elseif msg:lower() == "no" then
            doCreatureSay(cid, "Continue sua busca.", TALKTYPE_SAY)
            setPlayerStorageValue(cid, 99999, 2) -- Permite ao jogador tentar novamente
        end
    elseif getPlayerStorageValue(cid, 99999) == 3 then -- Se jogador escolheu "items for permission"
        -- Insira aqui a lógica para informar ao jogador os itens e quantidades necessárias
        -- Exemplo: doCreatureSay(cid, "Você precisa de 10 itens X e 5 itens Y.", TALKTYPE_SAY)
        setPlayerStorageValue(cid, 99999, 0) -- Reinicia a conversa
    end
end

Este script assume que você tem uma variável item1, quantidade1, item2 e quantidade2 definidas anteriormente no script com os IDs dos itens necessários e suas quantidades. Certifique-se de substituir [Item 1], [Item 2], quantidade1 e quantidade2 pelos nomes dos itens e quantidades reais que você deseja.

Lembre-se de substituir {x = 100, y = 50, z = 7} pela posição real do NPC em seu mapa. Além disso, adapte o código para o seu servidor, conforme necessário.

Obrigado meu querido, que Deus te abençoe.

Link para o comentário
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...