FJ
pedido

Magia virar passiva

Por Fjinst, 24 de jun. de 2015 em Scripts

resolvido
5
1.3k
FjinstF
24 de junho de 2015 às 10:25

Olá, pessoal, gostaria de pedir a vocês se podem me ajudar ou me orientar como posso fazer uma spell "utito tempo" virar uma passiva de player que ative de vez em quando, quando o player esta sendo atacado ou em combate, desde já, grato pela atenção :).

RigByR
24 de junho de 2015 às 20:39

você vai ter que adiciona essa função na sua source, ela obriga a solta a magia, é muito útil.

 

.lua

local porcetagem = 50 -- 50% dele solta a magia durante o combate
local magia = "blood rage" -- magia que ele ira solta, tem que ser o nome da magia e não a palavra magica
 
function onCombat(cid, target)
    if isPlayer(cid) then
        if math.random (0, 100) <= porcetagem then
            doCreatureCastSpell(cid, magia) 
        end
    end
return true
end
.xml
<event type="combat" name="Passive" event="script" value="NomedoScript.lua"/>
Login.lua antes do ultimo end
registerCreatureEvent(cid, "Passive")
FjinstF
24 de junho de 2015 às 21:46

Eu adicionei a função das soucers aqui, funcionou tudo okay, você sabe me dizer se tem como fazer pra quando o player esta sendo atacado a passiva funcionar também? e não sómente quando ele esta atacando?, e se possivel adicionar uma storage value para só quem tiver essa storage poderá utilizar essa passiva, desde já grato pela ajuda

Editado Junho 25 por Fjinst

RigByR
25 de junho de 2015 às 12:21
Melhor resposta

Pronto

 

.lua

local porcetagem = 50 -- 50% dele solta a magia durante o combate
local magia = "blood rage" -- magia que ele ira solta, tem que ser o nome da magia e não a palavra magica
local storage = 5834843857 -- storage que vai ser usada, o valor é 1 para ser ativado
 
function onCombat(cid, target)
    if isPlayer(cid) then
        if getPlayerStorageValue(cid, storage) == 1 then
            if math.random (0, 100) <= porcetagem then
                doCreatureCastSpell(cid, magia) 
            end
        end
    end
return true
end
 
function onStatsChange(cid, attacker, type, combat, value)
    if isPlayer(cid) then
        if getPlayerStorageValue(cid, storage) == 1 then
            if combat ~= COMBAT_HEALING then 
                if math.random (0, 100) <= porcetagem then
                    doCreatureCastSpell(cid, magia) 
                end
            end
        end
    end
return true
end
.xml
<event type="StatsChange" name="Passivee" event="script" value="NomedoScript.lua"/>
<event type="combat" name="Passive" event="script" value="NomedoScript.lua"/>
Login.lua antes do ultimo end
registerCreatureEvent(cid, "Passive")
registerCreatureEvent(cid, "Passivee")
BrunoB
01 de julho de 2015 às 21:07

Tópico movido para a seção de dúvidas e pedidos resolvidos.