Ir para conteúdo

Featured Replies

Postado

Bom, queria um npc que da uma montaria por um item.


Ao player falar hi, o npc ira dizer
Npc: Olá Player, bem-vindo a minha casa. Em que posso ajudar?
caso o player souber algo a respeito, ele ira falar isso abaixo.
Player: kevnan
Então o npc ira dizer para o player.
Npc: Ah você conhece meu filho Kevnan? Que ótimo conhecer você. A vários dias ele saiu em uma jornada perigosa e até então não tenho notícias dele, você sabe algo a respeito?
Então se ele souber algo a respeito, ira dizer
Player: Eu te amo mae, desculpe minha teimosia..
Então o npc ira dizer para o player.
Npc: Você Quer algo aqui? Meu filho usava lindas botas, A vários dias ele saiu em uma jornada perigosa e até então não tenho notícias dele.
Então o player ira dizer.
Player: cavalo
Se o player tiver o item de id: 11367 ganha a montaria de id: 23, e o npc ira falar
Npc: Nossa, você é realmente um guerreiro muito forte. Muito obrigado por vingar a morte do meu filho, como prometido aqui está a recompensa, o cavalo de fogo, este cavalo pertencia ao meu filho, sem dúvidas o melhor cavalo já visto, você merece. Caso você perda o cavalo, você poderá recuperar com um novo coração de ethershreck.
Mas caso ele não tenha o item de id: 11367, o npc ira dizer.
Npc: Traga-me o coração do monstro que derrotou meu filho que irei dar um brinde que meu filho gostava muito.
Bom, é isso.
obrigado !!

Resolvido por Wakon

Ir para solução
  • Respostas 9
  • Visualizações 675
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Como tem mount achei que fosse TFS 1.0, kk. Troquei as funções do script, testa ai:

Postado

Script em "Data/npc/scripts":


local t = {
itemneed = 11367, -- Item necessário.
mount = 23 -- MountID.
}

local storage = 55501 -- Storage, só mexa se necessário.

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)
    player = Player(cid)
    if(not npcHandler:isFocused(cid)) then
        return false
    end
    msg = msg:lower();
    local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid

    if msgcontains(msg, 'kevnan') then
       if player:getStorageValue(storage) < 1 then
          npcHandler:say("Ah você conhece meu filho Kevnan? Que ótimo conhecer você. A vários dias ele saiu em uma jornada perigosa e até então não tenho notícias dele, você sabe algo a respeito?", cid)
          talkState[talkUser] = 1
       else
          npcHandler:say("Você por aqui novamente? Você já me ajudou vingando meu filho e sou muito grato por isso.", cid)
          talkState[talkUser] = 0
       end
    elseif msgcontains(msg, 'yes') then
       if talkState[talkUser] == 1 then
          npcHandler:say('Você quer algo aqui? Meu filho usava lindas botas, a vários dias ele saiu em uma jornada perigosa e até então não tenho notícias dele.', cid)
          talkState[talkUser] = 2
       end
    elseif msgcontains(msg, 'cavalo') then
       if talkState[talkUser] == 2 then
          if player:getItemCount(t.itemneed) >= 1 then
             npcHandler:say('Nossa, você é realmente um guerreiro muito forte. Muito obrigado por vingar a morte do meu filho, como prometido aqui está a recompensa, o cavalo de fogo, este cavalo pertencia ao meu filho, sem dúvidas o melhor cavalo já visto, você merece. Caso você perda o cavalo, você poderá recuperar com um novo coração de ethershreck.', cid)
             doSendMagicEffect(getPlayerPosition(cid), 13)
             player:addMount(t.mount)
             player:setStorageValue(storage, 1)
             doPlayerRemoveItem(cid, t.itemneed, 1)
             talkState[talkUser] = 0
          else
             npcHandler:say('Traga-me o coração do monstro que derrotou meu filho que irei dar um brinde que meu filho gostava muito.', cid)
             talkState[talkUser] = 0
          end
       end
    end
end    

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())


XML:

<?xml version="1.0" encoding="UTF-8"?>
<npc name="Npc_name" script="nome_do_script.lua" walkinterval="2000" floorchange="0">
<health now="100" max="100"/>
<look type="9" head="20" body="30" legs="40" feet="50" corpse="6080"/>
    <parameters>
        <parameter key="message_greet" value="Ola |PLAYERNAME|, bem-vindo a minha casa. Em que posso ajudar?"/>
        <parameter key="message_farewell" value="Good bye."/>
    </parameters>
</npc>

Se tiver algum erro ou faltar algo, me avise :).

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo