Ir para conteúdo
Banner com Efeitos

Featured Replies

Postado

eu dei um exemplo não fiz a talk.

 

mas está aqui:

 

function onSay(cid, words, param, channel)
if not param or not tonumber(param) then
    doPlayerSendCancel(cid, "escolha somente um numero.")    return true
elseif tonumber(param) <= 0 or tonumber(param) > 41 then 
    doPlayerSendCancel(cid, "escolha um efeito de 1 a 47.")    return true
end
setPlayerStorageValue(cid, 789635, tonumber(param))
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"Você escolheu o efeito número "..param..", relogue!.") return true
end

 

e o seu script(onLogin) fica assim:

 

-- CONFIGURAÇÕES
    aurastr = 25950 -- storage da aura
    estr = 25951 -- storage para o exhaust
    porcentagem = 50 -- chance de curar em cada volta da aura, em porcentagem
    quantheal = 1 -- porcentagem do hp máximo que cada cura irá curar. (No caso, irá curar 10% do hp máximo cada cura)
    tempo = 1180 -- tempo para dar uma volta no player (este tempo foi o que achei mais agradável visualmente, é recomendável não mudar)
    tipoaura = getPlayerStorageValue(cid, 789635) <= 0 and 37 or getPlayerStorageValue(cid, 789635) -- caso o jogador nao tenha escolhido um efeito ainda pelo comando o oroginal sera 37
    efeitocura = 28 -- número do efeito quando a cura chega ao player (efeito de posição fixa, pode ser identificado com /z no jogo)
-- Função que chama a aura
function efeitosAura(i,tm,cid)
    if(isCreature(cid)) then
            local atual = getCreaturePosition(cid)
        local posaura = {
            {x=(atual.x)-1, y=(atual.y)-1, z=atual.z},
            {x=atual.x, y=(atual.y)-1, z=atual.z},
            {x=(atual.x)+1, y=(atual.y)-1, z=atual.z},
            {x=(atual.x)+1, y=atual.y, z=atual.z},
            {x=(atual.x)+1, y=(atual.y)+1, z=atual.z},
            {x=atual.x, y=(atual.y)+1, z=atual.z},
            {x=(atual.x)-1, y=(atual.y)+1, z=atual.z},
            {x=(atual.x)-1, y=atual.y, z=atual.z},
        }
        local chances = math.random(100)
        if(chances<=porcentagem/8 and getCreatureHealth(cid)<getCreatureMaxHealth(cid)) then
            if(i<=8 and i>1) then
                doSendDistanceShoot({x=posaura.x, y=posaura.y, z=posaura.z}, atual, tipoaura)
            else
                doSendDistanceShoot({x=posaura[1].x, y=posaura[1].y, z=posaura[1].z}, atual, tipoaura)
            end
            doSendMagicEffect(atual, efeitocura)
        end
        if(i==8) then
            doSendDistanceShoot({x=posaura.x, y=posaura.y, z=posaura.z}, {x=posaura[1].x, y=posaura[1].y, z=posaura[1].z}, tipoaura)
        elseif(i<8) then
            doSendDistanceShoot({x=posaura.x, y=posaura.y, z=posaura.z}, {x=posaura[i+1].x, y=posaura[i+1].y, z=posaura[i+1].z}, tipoaura)
        end
        if(i<=8 and getPlayerStorageValue(cid, aurastr)==2) then
            i = i+1
            tm = tempo/8
            return addEvent(efeitosAura,tm,i,tm,cid)
        elseif(i>8 and getPlayerStorageValue(cid, aurastr)==2) then
            return efeitosAura(1,0,cid)
        else
            return TRUE
        end
    else
        return TRUE
    end
end
-- Função principal
 function onLogin(cid)
    if isPremium(cid) == true and getPlayerGroupId(cid) < 4 then
        if getPlayerStorageValue(cid, estr) > os.time() then
            doPlayerSendCancel(cid, "Espere "..(getPlayerStorageValue(cid, estr) - os.time()).." segundos para poder habilitar aura novamente.")
        elseif(getPlayerStorageValue(cid, aurastr)==-1) and getPlayerPremiumDays(cid) >= 1 then
                doPlayerSendCancel(cid,"Aura ligada!")
                setPlayerStorageValue(cid, aurastr, 2)
                efeitosAura(1,tempo/8,cid)
            elseif(getPlayerStorageValue(cid, aurastr)==-1) and isPremium(cid) == false then
                doPlayerSendCancel(cid,"Voce nao tem VIP")
            end
        end
    return TRUE
end 

 

,

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

  • Respostas 15
  • Visualizações 1.1k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • consegui editar aqui, funcionou perfeitamente, obg

  • mto estranho, testei aqui e funcionou. Teste assim:       -- CONFIGURAÇÕES aurastr = 25950 -- storage da aura estr = 25951 -- storage para o exhaust porcentagem = 50 --

Posted Images

Postado

hmm ok, erro meu kk

 

-- CONFIGURAÇÕES
    aurastr = 25950 -- storage da aura
    estr = 25951 -- storage para o exhaust
    porcentagem = 50 -- chance de curar em cada volta da aura, em porcentagem
    quantheal = 1 -- porcentagem do hp máximo que cada cura irá curar. (No caso, irá curar 10% do hp máximo cada cura)
    tempo = 1180 -- tempo para dar uma volta no player (este tempo foi o que achei mais agradável visualmente, é recomendável não mudar)
    efeitocura = 28 -- número do efeito quando a cura chega ao player (efeito de posição fixa, pode ser identificado com /z no jogo)
-- Função que chama a aura
function efeitosAura(i,tm,cid)
    if(isCreature(cid)) then
	local tipoaura = getPlayerStorageValue(cid, 789635) <= 0 and 37 or getPlayerStorageValue(cid, 789635)
        local atual = getCreaturePosition(cid)
        local posaura = {
            {x=(atual.x)-1, y=(atual.y)-1, z=atual.z},
            {x=atual.x, y=(atual.y)-1, z=atual.z},
            {x=(atual.x)+1, y=(atual.y)-1, z=atual.z},
            {x=(atual.x)+1, y=atual.y, z=atual.z},
            {x=(atual.x)+1, y=(atual.y)+1, z=atual.z},
            {x=atual.x, y=(atual.y)+1, z=atual.z},
            {x=(atual.x)-1, y=(atual.y)+1, z=atual.z},
            {x=(atual.x)-1, y=atual.y, z=atual.z},
        }
        local chances = math.random(100)
        if(chances<=porcentagem/8 and getCreatureHealth(cid)<getCreatureMaxHealth(cid)) then
            if(i<=8 and i>1) then
                doSendDistanceShoot({x=posaura.x, y=posaura.y, z=posaura.z}, atual, tipoaura)
            else
                doSendDistanceShoot({x=posaura[1].x, y=posaura[1].y, z=posaura[1].z}, atual, tipoaura)
            end
            doSendMagicEffect(atual, efeitocura)
        end
        if(i==8) then
            doSendDistanceShoot({x=posaura.x, y=posaura.y, z=posaura.z}, {x=posaura[1].x, y=posaura[1].y, z=posaura[1].z}, tipoaura)
        elseif(i<8) then
            doSendDistanceShoot({x=posaura.x, y=posaura.y, z=posaura.z}, {x=posaura[i+1].x, y=posaura[i+1].y, z=posaura[i+1].z}, tipoaura)
        end
        if(i<=8 and getPlayerStorageValue(cid, aurastr)==2) then
            i = i+1
            tm = tempo/8
            return addEvent(efeitosAura,tm,i,tm,cid)
        elseif(i>8 and getPlayerStorageValue(cid, aurastr)==2) then
            return efeitosAura(1,0,cid)
        else
            return TRUE
        end
    else
        return TRUE
    end
end
-- Função principal
 function onLogin(cid)
    if isPremium(cid) == true and getPlayerGroupId(cid) < 4 then
        if getPlayerStorageValue(cid, estr) > os.time() then
            doPlayerSendCancel(cid, "Espere "..(getPlayerStorageValue(cid, estr) - os.time()).." segundos para poder habilitar aura novamente.")
        elseif(getPlayerStorageValue(cid, aurastr)==-1) and getPlayerPremiumDays(cid) >= 1 then
                doPlayerSendCancel(cid,"Aura ligada!")
                setPlayerStorageValue(cid, aurastr, 2)
                efeitosAura(1,tempo/8,cid)
            elseif(getPlayerStorageValue(cid, aurastr)==-1) and isPremium(cid) == false then
                doPlayerSendCancel(cid,"Voce nao tem VIP")
            end
        end
    return TRUE
end 

 

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Postado
1 hora atrás, poko360 disse:

eu loguei e nao ativou (automaticamente) a aura =s, mas tambem nao deu nenhum error na distro

 

 

escolheu o efeito da aura pelo comando?

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

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