Ir para conteúdo
Banner com Efeitos

Featured Replies

Postado

Versão do Servidor: 8.54 (Narutibia)

 

Olá pessoal do TK, queria fazer um pedido de uma SPELL que seria assim:

 

- O player irá falar a palavra pra ativar a spell

- Sua outfit irá mudar por 3 segundos e voltará pra sua outfit anterior que estava usando após os 3 segundos

- O player não poderá se mover durante os 3 segundos da spell (durante essa troca de outfit)

- Depois dos 3 segundos, irá aparecer um Effect no player (que seria o Susanoo) e o player conseguirá se mover novamente.

 

Já agradeço adiantado quem puder me ajudar nessa aê :)

 

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

  • 3 weeks later...
  • Respostas 6
  • Visualizações 1.3k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • local t = { duration = 3, -- duração da novo outfit (em segundos) newLooktype = 111, -- looktype da nova outfit effect = 10, -- efeito que aparecerá cooldown = 10, -- tempo para usar a

Postado
local t = {
    duration = 3, -- duração da novo outfit (em segundos)
    newLooktype = 111, -- looktype da nova outfit
    effect = 10, -- efeito que aparecerá
    cooldown = 10, -- tempo para usar a magia novamente (em segudos)
    storage = 54897 -- só modifique se necessário
}

function onCastSpell(cid, var)
    if getPlayerStorageValue(cid, t.storage) > os.time() then
        doPlayerSendCancel(cid, "Você precisa esperar para soltar esta magia novamente.")
        return false
    end
    doCreatureSetNoMove(cid, true)
    local out = getCreatureOutfit(cid)
    out.lookType = t.newLooktype
    doSetCreatureOutfit(cid, out, t.duration * 1000)
    setPlayerStorageValue(cid, t.storage, t.cooldown + os.time())
    addEvent(function()
        if isPlayer(cid) then
            doCreatureSetNoMove(cid, false)
            doSendMagicEffect(getPlayerPosition(cid), t.effect)
        end
    end, t.duration * 1000)
    return true
end

 

Contato:

 

Postado
  • Autor
Em 13/07/2019 em 17:35, Dwarfer disse:

local t = {
    duration = 3, -- duração da novo outfit (em segundos)
    newLooktype = 111, -- looktype da nova outfit
    effect = 10, -- efeito que aparecerá
    cooldown = 10, -- tempo para usar a magia novamente (em segudos)
    storage = 54897 -- só modifique se necessário
}

function onCastSpell(cid, var)
    if getPlayerStorageValue(cid, t.storage) > os.time() then
        doPlayerSendCancel(cid, "Você precisa esperar para soltar esta magia novamente.")
        return false
    end
    doCreatureSetNoMove(cid, true)
    local out = getCreatureOutfit(cid)
    out.lookType = t.newLooktype
    doSetCreatureOutfit(cid, out, t.duration * 1000)
    setPlayerStorageValue(cid, t.storage, t.cooldown + os.time())
    addEvent(function()
        if isPlayer(cid) then
            doCreatureSetNoMove(cid, false)
            doSendMagicEffect(getPlayerPosition(cid), t.effect)
        end
    end, t.duration * 1000)
    return true
end

 

 

@Dwarfer Ficou muito bom o código, porém, está faltando os atributos que o buff dá e o effect apenas aparece e some, queria que ele ficasse contínuo até o buff acabar, se puder me dar uma ajudinha nessa, agradeço muito. Ahh, e também se pudesse colocar x y z pra poder mudar o effect de lugar, ficaria perfeito!

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

  • 2 weeks later...
Postado
Em 16/07/2019 em 11:00, Genkkai disse:

@Dwarfer Ficou muito bm o código, porém, está faltando os atributos que o buff dá e o effect apenas aparece e some, queria que ele ficasse contínuo até o buff acabar, se puder me dar uma ajudinha nessa, agradeço muito. Ahh, e também se pudesse colocar x y z pra poder mudar o effect de lugar, ficaria perfeito!

 

Em 11/06/2019 em 14:30, Genkkai disse:

Versão do Servidor: 8.54 (Narutibia)

 

Olá pessoal do TK, queria fazer um pedido de uma SPELL que seria assim:

 

- O player irá falar a palavra pra ativar a spell

- Sua outfit irá mudar por 3 segundos e voltará pra sua outfit anterior que estava usando após os 3 segundos

- O player não poderá se mover durante os 3 segundos da spell (durante essa troca de outfit)

- Depois dos 3 segundos, irá aparecer um Effect no player (que seria o Susanoo) e o player conseguirá se mover novamente.

 

Já agradeço adiantado quem puder me ajudar nessa aê :)

 

 

local tempo = 60 -- tempo em segundos.
local EffPerma = {2124-1} -- effect no player, caso queira apenas 1, basta remover os outros numeros.
local EffOnUse = 2124-1
local outfit = {lookType = 2160}
     
local points = 150 -- quantos ira aumentar o skill de Fist
local health = 80 -- A cada 1 segundo quantos aumentar de vida

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0)
     
local condition = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000)
setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVEL, points)
--setConditionParam(condition, CONDITION_PARAM_SKILL_FIST, points)
setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD, points)
setConditionParam(condition, CONDITION_PARAM_SKILL_AXE, points)
setConditionParam(condition, CONDITION_PARAM_SKILL_CLUB, points)
setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCE, points)
setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, points)
--setConditionParam(condition, CONDITION_PARAM_OUTFIT, outfit)
setCombatCondition(combat, condition)
     
local condition = createConditionObject(CONDITION_HASTE)
setConditionParam(condition, CONDITION_PARAM_SPEED, 250)
setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000)
setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE)
setCombatCondition(combat, condition)
     
local condition = createConditionObject(CONDITION_REGENERATION)
setConditionParam(condition, CONDITION_PARAM_SUBID, 1)
setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE)
setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000)
setConditionParam(condition, CONDITION_PARAM_HEALTHGAIN, health)
setConditionParam(condition, CONDITION_PARAM_HEALTHTICKS, 1000)
setCombatCondition(combat, condition)
            
function Meliodas(tempo2,tempo3,cid) -- Altera aqui o nome da funçao pelo nome do personagem
    if (isCreature(cid)) then
        for i=1, #EffPerma do
            local position = {x=getPlayerPosition(cid).x+1, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z}
            doSendMagicEffect(position, EffPerma)
        end
    end
end
                  
function onCastSpell(cid, var) if isMonster(cid) then return true end
if getPlayerStorageValue(cid, 102053) ~= 1 or getCreatureCondition(cid, CONDITION_REGENERATION, 1) == false then
    doCombat(cid, combat, var)
    tempo2 = 0
    while (tempo2 ~= (tempo*1000)) do
        addEvent(Meliodas, tempo2, tempo2, tempo*1000, cid) -- Altere aqui pelo nome da função criada acima
        tempo2 = tempo2 + 300
    end
    setPlayerStorageValue(cid, 102053,1) -- storage verifica transformado, quando = 1 player esta transformado.
    --doCreatureSay(cid, "Arte Ninja: Clone das Sombras", TALKTYPE_MONSTER)
    local PosOnUse = {x=getPlayerPosition(cid).x+1, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z}
    doSendMagicEffect(PosOnUse, EffOnUse)
else
    doPlayerSendCancel(cid, "Voce ja esta com o Buff Ativo.")
end
end

 

Postado
  • Autor

@EduardoVidal Testarei amanhã :)

 

Obrigado!

@EduardoVidal 

20 horas atrás, EduardoVidal disse:

local tempo = 60 -- tempo em segundos.
local EffPerma = {2124-1} -- effect no player, caso queira apenas 1, basta remover os outros numeros.
local EffOnUse = 2124-1
local outfit = {lookType = 2160}
     
local points = 150 -- quantos ira aumentar o skill de Fist
local health = 80 -- A cada 1 segundo quantos aumentar de vida

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0)
     
local condition = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000)
setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVEL, points)
--setConditionParam(condition, CONDITION_PARAM_SKILL_FIST, points)
setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD, points)
setConditionParam(condition, CONDITION_PARAM_SKILL_AXE, points)
setConditionParam(condition, CONDITION_PARAM_SKILL_CLUB, points)
setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCE, points)
setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, points)
--setConditionParam(condition, CONDITION_PARAM_OUTFIT, outfit)
setCombatCondition(combat, condition)
     
local condition = createConditionObject(CONDITION_HASTE)
setConditionParam(condition, CONDITION_PARAM_SPEED, 250)
setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000)
setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE)
setCombatCondition(combat, condition)
     
local condition = createConditionObject(CONDITION_REGENERATION)
setConditionParam(condition, CONDITION_PARAM_SUBID, 1)
setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE)
setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000)
setConditionParam(condition, CONDITION_PARAM_HEALTHGAIN, health)
setConditionParam(condition, CONDITION_PARAM_HEALTHTICKS, 1000)
setCombatCondition(combat, condition)
            
function Meliodas(tempo2,tempo3,cid) -- Altera aqui o nome da funçao pelo nome do personagem
    if (isCreature(cid)) then
        for i=1, #EffPerma do
            local position = {x=getPlayerPosition(cid).x+1, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z}
            doSendMagicEffect(position, EffPerma)
        end
    end
end
                  
function onCastSpell(cid, var) if isMonster(cid) then return true end
if getPlayerStorageValue(cid, 102053) ~= 1 or getCreatureCondition(cid, CONDITION_REGENERATION, 1) == false then
    doCombat(cid, combat, var)
    tempo2 = 0
    while (tempo2 ~= (tempo*1000)) do
        addEvent(Meliodas, tempo2, tempo2, tempo*1000, cid) -- Altere aqui pelo nome da função criada acima
        tempo2 = tempo2 + 300
    end
    setPlayerStorageValue(cid, 102053,1) -- storage verifica transformado, quando = 1 player esta transformado.
    --doCreatureSay(cid, "Arte Ninja: Clone das Sombras", TALKTYPE_MONSTER)
    local PosOnUse = {x=getPlayerPosition(cid).x+1, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z}
    doSendMagicEffect(PosOnUse, EffOnUse)
else
    doPlayerSendCancel(cid, "Voce ja esta com o Buff Ativo.")
end
end

 

 

@EduardoVidal Sua script funcionou apenas como BUFF, sem as outras coisas acima que eu tinha pedido. Eu estava precisando que alguem colocasse os atributos na script do Dwarfer, que funcionou perfeitamente. Mesmo assim, obrigado novamente.

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.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo