SE

adicionei funçao getPlayerLifeAbsorb(cid)

Por Senju uchira, 26 de ago. de 2020 em Scripts

13
2.8k
26 de agosto de 2020 às 15:31

queria pedir uma spells que deixe com esses atributos por 10 segundos

up alguem

Editado Agosto 26 por Senju uchira

27 de agosto de 2020 às 00:05

up

 

PoccnnP
27 de agosto de 2020 às 08:13

explicar melhor o que tu quer e deixa teu tópico mais legível. está muito confuso.

Yan OliveiraY
27 de agosto de 2020 às 10:55
2 horas atrás, Poccnn disse:

explicar melhor o que tu quer e deixa teu tópico mais legível. está muito confuso.

Exatamente, está confuso principalmente pelo título do tópico, que não tem nada haver com o pedido.

 

19 horas atrás, Senju uchira disse:
Versão do Servidor: TFS - 0.4
Tipo de Script: spell
Código:
  Ocultar conteúdo

attribute key="lifeabsorb" value="100"/
getPlayerLifeAbsorb(cid)

queria pedir uma spells que deixe com esses atributos por 10 segundos

up alguem

 

Você pode fazer um addEvent com a função doItemSetAttribute:

local function setAttribute(item, value, time)
    if time > 0 then 
        doItemSetAttribute(item, "lifeabsorb", value)
        addEvent(setAttribute, 1000, value, time - 1)
    else
        doItemSetAttribute(item, "lifeabsorb", 0)
    end
end  
    

Fiz uma função para você, não sei se quer que isso aconteça ao clicar em um item, mas, só colocar essa função em cima da função principal (onUse por exemplo) e dentro da função principal chama a função feita setAttribute(item, value, time), na  qual os parâmetros item, value e time são:

 

  • Item = Id do item
  • Value = Valor do atributo (pode deixar 100 mesmo como deixou no xml)
  • Time = Duração em segundos (deixe 10 já que é o valor que quer)

 

Pelo que entendi, é isso que quer. Veja se é isso mesmo.

Editado Agosto 27 por Yan18

27 de agosto de 2020 às 12:45
1 hora atrás, Yan18 disse:

Exatamente, está confuso principalmente pelo título do tópico, que não tem nada haver com o pedido.

 

 

Você pode fazer um addEvent com a função doItemSetAttribute:

local function setAttribute(item, value, time)
    if time > 0 then 
        doItemSetAttribute(item, "lifeabsorb", value)
        addEvent(setAttribute, 1000, value, time - 1)
    else
        doItemSetAttribute(item, "lifeabsorb", 0)
    end
end  
    

Fiz uma função para você, não sei se quer que isso aconteça ao clicar em um item, mas, só colocar essa função em cima da função principal (onUse por exemplo) e dentro da função principal chama a função feita setAttribute(item, value, time), na  qual os parâmetros item, value e time são:

 

  • Item = Id do item
  • Value = Valor do atributo (pode deixar 100 mesmo como deixou no xml)
  • Time = Duração em segundos (deixe 10 já que é o valor que quer)

 

Pelo que entendi, é isso que quer. Veja se é isso mesmo.

desculpe sou ruim de explica, mas queria uma spells, que desse esses atributo ao player

4 horas atrás, Poccnn disse:

explicar melhor o que tu quer e deixa teu tópico mais legível. está muito confuso.

eu queria uma spell que desse esse atributo temporario para o player com effeito 

Yan OliveiraY
27 de agosto de 2020 às 13:01
14 minutos atrás, Senju uchira disse:

desculpe sou ruim de explica, mas queria uma spells, que desse esses atributo ao player

eu queria uma spell que desse esse atributo temporario para o player com effeito 

Acabei de fazer uma função para você que faz isso, é temporário (pois seta o valor para 0 depois de 10 segundos).

27 de agosto de 2020 às 13:02
Agora, Yan18 disse:

Acabei de fazer uma função para você que faz isso, é temporário (pois seta o valor para 0 depois de 10 segundos).

perdoe não sei muito sobre script onde eu ponho na spells

Yan OliveiraY
27 de agosto de 2020 às 13:43
39 minutos atrás, Senju uchira disse:

perdoe não sei muito sobre script onde eu ponho na spells

Poste o script da spell.

27 de agosto de 2020 às 14:29

@Yan18

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false)

local function setAttribute(item, value, time)
    if time > 0 then 
        doItemSetAttribute(item, "lifeabsorb", value)
        addEvent(setAttribute, 1000, value, time - 1)
    else
        doItemSetAttribute(item, "lifeabsorb", 0)
    end
end  

function onCastSpell(cid, var)
    return doCombat(cid, combat, var)
end

PoccnnP
28 de agosto de 2020 às 09:07
20 horas atrás, Senju uchira disse:

desculpe sou ruim de explica, mas queria uma spells, que desse esses atributo ao player

eu queria uma spell que desse esse atributo temporario para o player com effeito 

o que seria "lifeAbsorb"? explica como funciona essa ação.

28 de agosto de 2020 às 12:39

@Poccnn 

vc coloca em item xml a tag , fuciona assim todo dano que vc  toda de magia ou atk de  sword club etc.. cura vc

Editado Agosto 29 por Senju uchira

Yan OliveiraY
28 de agosto de 2020 às 18:14
5 horas atrás, Senju uchira disse:

@Poccnn https://tibiaking.com/forums/topic/98786-novos-atributos-criticaldodgelife-e-mana-leechlife-e-mana-absorb/

vc coloca em item xml a tag , fuciona assim todo dano que vc  toda de magia ou atk de  sword club etc.. cura vc

Primeiro que você não pode colocar links de outros fóruns aqui, recomendo remover porque isso pode te gerar banimento.

 

Sobre seu pedido, não tem como dar atributo para players, somente para itens. O seu pedido não faz muito sentido, usar uma spell para dar atributo ao player. Mas, você pode ao usar a spell, atribuir um atributo para algum item.

29 de agosto de 2020 às 02:16
8 horas atrás, Yan18 disse:

Primeiro que você não pode colocar links de outros fóruns aqui, recomendo remover porque isso pode te gerar banimento.

 

Sobre seu pedido, não tem como dar atributo para players, somente para itens. O seu pedido não faz muito sentido, usar uma spell para dar atributo ao player. Mas, você pode ao usar a spell, atribuir um atributo para algum item.

ok nao sabia ,kkk