Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Eae Pessoal, Tudo Okay? Estou precisando de um npc que vende todas as bless!

 

Aposto que algums vão fazer estes tipos de perguntas. Então vou logo responder

 

"Você tem que procurar no fórum!"

R: Eu procurei, achei alguns, mas todos ou não funcionava ou não estavam bem explicadas para alguem poder usar!

 

"Então Fale Mais Como Você quer que funcione."

 R: é simples um npc de fácil configuração que venda todos os tipos de bless, cada bless que o npc vende ter uma configuração, se precisa de premium, level, promote, preço e coisas assim! O npc Vende todas as bless separadas e uma que são todas juntas!

 

Pronto é isto! espero que me ajudem por favor,Se tiver outra dúvida manda ai, Grande abraço a todos e Obrigado por ler o tópico!

Editado por Zet0N0Murmurou (veja o histórico de edições)

wq3bBzt.png
Pokémon Dust Evolution
 
É aonde começa sua nova aventura!! 

 

Facebook

 
Verifique Atualizações

 

Link para o post
Compartilhar em outros sites

npc blessings :

local config = {
    -- [bless] = preços
    bless1 = {"The Spiritual Shielding", 100},
    bless2 = {"The Embrace of Tibia", 200},
    bless3 = {"The Fire of the Suns", 300},
    bless4 = {"The Wisdom of Solitude", 400},
    bless5 = {"The Spark of the Phoenix", 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:lower(), config.bless1[1]) then
        selfSay("you are sure?", cid)
        talkState[talkUser] = 1
    elseif msgcontains(msg:lower(), config.bless2[1]) then
        selfSay("you are sure?", cid)
        talkState[talkUser] = 2
    elseif msgcontains(msg:lower(),config.bless3[1]) then
        selfSay("you are sure?", cid)
        talkState[talkUser] = 3
    elseif msgcontains(msg:lower(),config.bless4[1]) then
        selfSay("you are sure?", cid)
        talkState[talkUser] = 4
    elseif msgcontains(msg:lower(), config.bless5[1]) then
        selfSay("you are sure?", cid)
        talkState[talkUser] = 5
    end

    if msgcontains(msg:lower(), "yes") then
        if talkState[talkUser] == 1 then
                if not getPlayerBlessing(cid, 1) then
                     if doPlayerRemoveMoney(cid, config.bless1[2]) then
                        doPlayerAddBlessing(cid, 1)
                        selfSay("you received the bless spiritual shielding!!", cid)
                        doSendMagicEffect(getThingPos(cid), CONST_ME_HOLYAREA)
                        talkState[talkUser] = 0
                    else
                        selfSay("you no have money.", cid)
                        talkState[talkUser] = 0
                    end
                else
                    selfSay("you have blessing spiritual shielding.", cid)
                    talkState[talkUser] = 0
                end
        elseif talkState[talkUser] == 2 then
                if not getPlayerBlessing(cid, 2) then
                    if doPlayerRemoveMoney(cid, config.bless2[2]) then
                        doPlayerAddBlessing(cid, 2)
                        selfSay("you received the bless embrace of tibia!!", cid)
                        doSendMagicEffect(getThingPos(cid), CONST_ME_HOLYAREA)
                        talkState[talkUser] = 0
                    else
                        selfSay("you no have money.", cid)
                        talkState[talkUser] = 0
                    end
                else
                    selfSay("you have blessing embrace of tibia.", cid)
                    talkState[talkUser] = 0
                end
        elseif talkState[talkUser] == 3 then
                if not getPlayerBlessing(cid, 3) then
                    if doPlayerRemoveMoney(cid, config.bless3[2]) then
                        doPlayerAddBlessing(cid, 3)
                        selfSay("you received the bless fire of the suns!!", cid)
                        doSendMagicEffect(getThingPos(cid), CONST_ME_HOLYAREA)
                        talkState[talkUser] = 0
                    else
                        selfSay("you no have money.", cid)
                        talkState[talkUser] = 0
                    end
                else
                    selfSay("you have blessing fire of the suns.", cid)
                    talkState[talkUser] = 0
                end

        elseif talkState[talkUser] == 4 then
                if not getPlayerBlessing(cid, 4) then
                    if doPlayerRemoveMoney(cid, config.bless4[2]) then
                        doPlayerAddBlessing(cid, 4)
                        selfSay("you received the bless wisdom of solitude!!", cid)
                        doSendMagicEffect(getThingPos(cid), CONST_ME_HOLYAREA)
                        talkState[talkUser] = 0
                    else
                        selfSay("you no have money.", cid)
                        talkState[talkUser] = 0
                    end
                else
                    selfSay("you have blessing wisdom of solitude!!.", cid)
                    talkState[talkUser] = 0
                end

        elseif talkState[talkUser] == 5 then
                if not getPlayerBlessing(cid, 5) then
                    if doPlayerRemoveMoney(cid, config.bless5[1]) then
                        doPlayerAddBlessing(cid, 5)
                        selfSay("you received the bless spark of the phoenix!!", cid)
                        doSendMagicEffect(getThingPos(cid), CONST_ME_HOLYAREA)
                        talkState[talkUser] = 0
                    else
                        selfSay("you no have money.", cid)
                        talkState[talkUser] = 0
                    end
                else
                    selfSay("you have blessing spark of the phoenix.", cid)
                    talkState[talkUser] = 0
                end
        end
    end

 
    if msgcontains(msg:lower(), "no") and talkState[talkUser] >= 1 then
        selfSay("Bye!!", cid)
        talkState[talkUser] = 0
    end

    return true
end

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

se não souber fazer o arquivo.xml só falar.

 

abrçs

Editado por Summ (veja o histórico de edições)

EQD4Qy4.gif

Link para o post
Compartilhar em outros sites

@Summ

Se você me permite, eu dei uma diminuida.

No seu script possui um erro também: if not doPlayerRemoveMoney(cid, config.bless5[1])

Esqueceu do then e esse not está no lugar errado (vai enviar o else se o player estiver com dinheiro).

local config = {
    -- [bless] = preços
    [1] = {"The Spiritual Shielding", 100},
    [2] = {"The Embrace of Tibia", 200},
    [3] = {"The Fire of the Suns", 300},
    [4] = {"The Wisdom of Solitude", 400},
    [5] = {"The Spark of the Phoenix", 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
    for k, v in pairs(config) do
        if v[1]:lower():find(msg:lower()) then
            selfSay("You are sure?", cid)
            talkState[talkUser] = k
        end

        if msgcontains(msg:lower(), "yes") then
            if talkState[talkUser] == k then
                if not getPlayerBlessing(cid, k) then
                    if doPlayerRemoveMoney(cid, v[2]) then
                        doPlayerAddBlessing(cid, k)
                        selfSay("You received the bless " .. v[1]:gsub("The ", "", 1) .. "!", cid)
                        doSendMagicEffect(getThingPos(cid), CONST_ME_HOLYAREA)
                    else
                        selfSay("You no have money.", cid)
                    end
                else
                    selfSay("You have blessing " .. v[1] .. ".", cid)
                end
                talkState[talkUser] = 0
            end
        end
    end

    if msgcontains(msg:lower(), "no") and talkState[talkUser] >= 1 then
        selfSay("Bye!!", cid)
        talkState[talkUser] = 0
    end
    return true
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
Editado por fireelement (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

@fireelement obrigado por ter percebido os erros, já arrumei  :D

 

sobre o uso do for _, _ inpairs() do , eu também faria assim, ocupa menos tempo e fica mais simples, só que a ultima vez que eu usei inpairs() no npc, aconteceu um erro muito escroto e eu tive que refazer todo código, não lembro qual era o erro, mas desde então não fiz mais o uso em npcs rsrsrs.

EQD4Qy4.gif

Link para o post
Compartilhar em outros sites

Faz ai o arquivo xml pra min ai

wq3bBzt.png
Pokémon Dust Evolution
 
É aonde começa sua nova aventura!! 

 

Facebook

 
Verifique Atualizações

 

Link para o post
Compartilhar em outros sites

<?xml version="1.0" encoding="UTF-8"?>
<npc name="Alice" script="bless.lua" walkinterval="2000" floorchange="0">
    <health now="100" max="100"/>
    <look type="139" head="20" body="39" legs="45" feet="7" addons="0"/>
</npc>
Link para o post
Compartilhar em outros sites

Eu testei ela faz tudo, mas dai fui testar quando morrer o player perde item (BP)

wq3bBzt.png
Pokémon Dust Evolution
 
É aonde começa sua nova aventura!! 

 

Facebook

 
Verifique Atualizações

 

Link para o post
Compartilhar em outros sites

Estou usando o Alissow server 5.0 protocolo 9.83


UP

wq3bBzt.png
Pokémon Dust Evolution
 
É aonde começa sua nova aventura!! 

 

Facebook

 
Verifique Atualizações

 

Link para o post
Compartilhar em outros sites

Usa isso aqui só pra ver se as bless ta funcionando normal :

function onUse(cid, item)

		for b = 1, 5 do
			doPlayerAddBlessing(cid, b)
		end
		
		doPlayerSendTextMessage(cid, 19, "Bless adicionado!!")
	
	return true
end
Editado por Summ (veja o histórico de edições)

EQD4Qy4.gif

Link para o post
Compartilhar em outros sites

Usar isto aonde?


Alguem ai pode me ajudar?? Preciso muito de NPC bless system full pro meu OT


up


up

wq3bBzt.png
Pokémon Dust Evolution
 
É aonde começa sua nova aventura!! 

 

Facebook

 
Verifique Atualizações

 

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