Ir para conteúdo

Featured Replies

Postado

Salve galerinha, tudo beleza? bom, estou fazendo a Remembrance do meu servidor, e tipo, estou na parte do NPC , e queria fazer um tipo assim:

Exemplo:

''Olá | TREINADOR |, me de os seguintes itens: x , x , x''

Ai você entrega os items para ele, e ele te teleporta pra um lugar ''X''

Nesse lugar ''X'' é a quest

 

Queria fazer um npc tipo assim, mais não tenho a menor ideia de como cria um NPC, alguém pode me ajudar, ou se tiver um NPC parecido com esse, me doar ele? estou necessitado x.x

Resolvido por King Laker

Ir para solução
Postado
  • Solução

@Dipirona Sabe criar o Npc normal pelo menos não é?

Só adicione a script ao seu servidor:

Spoiler

local tab = {
    pos = {x = 298, y = 955, z = 7}, -- posição x, y, z do local a teleportar o player
    item = {5943,10}, -- {itemID, count}
    price = 500
}

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
    if (msgcontains(msg, 'akatsuki')) then
        talkState[talkUser] = 1
        selfSay('tem certeza que quer entrar?', cid)
        selfSay('Lembre-se.. voce precisa de '..tab.item[2]..' '..getItemNameById(tab.item[1])..' e '..tab.price..' gold bar e level {600} para poder entrar diga {yes}.', cid)
    elseif (msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
        if (getPlayerItemCount(cid, tab.item[1]) >= tab.item[2] and doPlayerRemoveMoney(cid, tab.price * 10000)) then 
            doTeleportThing(cid, tab.pos)
             doPlayerRemoveItem(cid, tab.item[1], tab.item[2])
            doPlayerRemoveMoney(cid, tab.price * 10000)    
            doSendMagicEffect(getThingPos(cid), CONST_ME_TELEPORT)
            selfSay('Boa Sorte!.', cid)
        else
            talkState[talkUser] = 0
            selfSay('Voce ainda nao tem os 10 coraçoes ou 500 gold bar, volte quando tiver.', cid)
        end
    elseif (msgcontains(msg, 'no') and talkState[talkUser] == 1) then
        talkState[talkUser] = 0
        selfSay('Okay, maybe another time.', cid)
    end
    
    return true
end

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


Coisas que você pode editar

Spoiler

    pos = {x = 298, y = 955, z = 7}, -- posição x, y, z do local a teleportar o player
    item = {5943,10} <-- item e quantidade
    price = 500    <-- preço em crystal coins

Mensagem que tem que dizer para o npc te teleportar se tiver os itens Ex: Hi, Akatsuki, Yes

Spoiler

    if (msgcontains(msg, 'akatsuki')) then

Mensagem que vai dizer para relembrar o player do que precisa

Spoiler

        selfSay('Lembre-se.. voce precisa de '..tab.item[2]..' '..getItemNameById(tab.item[1])..' e '..tab.price..' gold bar e level {600} para poder entrar diga {yes}.', cid)



Ajudei? REP + e Selecione como melhor reposta para ajudar outras pessoas.

VlVKQKC.png&key=d5c17620ae9567a1f898dd7a

 

 

 

  • 532144234_Logo_NTO_BLOOD_Finish_HIM_By_Antonio_Luckas(3).png.fd58d1af125a7e82ccdd751637e9ca93.png

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