Ir para conteúdo
  • Cadastre-se

(Resolvido)Magia de Buff para :Life, Skill, e mana


Ir para solução Resolvido por xWhiteWolf,

Posts Recomendados

Gostaria que me ajudassem na criação dessas magias

Obs : para otserver 8.60

 

Explicação

Magias

utevo Sio "nome do player -- regeneração da mana mas rapido tipo subiria de 15 em 15 de mana .. e so poderia usar com ml 90+

Exori sio "nome do player -- Almentaria o Skill de Sword,Distance,Club,Axe em 20% +- .. e so poderia ser usada com ml 90+

Utevo gran Sio "Nome do player -- regeneração da mana mas rapido tipo subiria de 40 em 40 de mana .. e so poderia usar com ml 120+

Exori gran sio "Nome do player -- Almentaria o Skill de Sword,Distance,Club,Axe em 40% +- .. e so poderia ser usada com ml 120+

Utamo gran sio "Nome do player -- almentaria o shield em 25% .. e so poderia ser usado com ml 120+

Vita gran Sio "nome do player -- almentaria o Life em 25% e so poderia ser usado com ml 120+

Vita sio "nome do player -- almentaria o life em 10% e so poderia ser usado com ml 90+

 

 

se puderem me ajudar ficarei muito grato :))

 

Link para o post
Compartilhar em outros sites
  • 4 months later...

Pergunta Pro XwhitWolf eu vi um topico dele que tinha isso.

Editado por Kleberson (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Kleber isto é um forum, leia as regras, e o respeito sempre deve ser mantido!

Se não vai contribuir com nada não mande post isto é flood!

Scripter: |||||||||| 10%

 

 

Te ajudei?? REP + e ficamos quites...  ;D

 

Atenciosamente,

                   Lucas.

Abraços!

Link para o post
Compartilhar em outros sites

gostei das ideias, são conditions simples que serão adicionas. Só preciso ver como faz e vou tentar fazer pra ti

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites

Também curti a idéia só que uma dúvida como um kina vai pegar ml 90 e 120 se o max é 15?

Scripter: |||||||||| 10%

 

 

Te ajudei?? REP + e ficamos quites...  ;D

 

Atenciosamente,

                   Lucas.

Abraços!

Link para o post
Compartilhar em outros sites

/\ no caso não seriam pra kinas

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites

so uma coisa quando coloquei e executei apareceu essa msg

 

[16/05/2014 20:42:00] [Error - LuaScriptInterface::loadFile] cannot open data/spells/scripts/exorisio.lua: No such file or directory
[16/05/2014 20:42:00] [Warning - Event::loadScript] Cannot load script (data/spells/scripts/exorisio.lua)
[16/05/2014 20:42:00] cannot open data/spells/scripts/exorisio.lua: No such file or directory
 
oque seria isso?
Link para o post
Compartilhar em outros sites
  • 2 months later...

sera que vçs poderiam tbm fazer uma magia de atack exori mas flam ela desse tipo uns meteoro do ceu qualq coisa só me chama aqui pra conversa se alguem puder me ajudar é claro ;D

Link para o post
Compartilhar em outros sites
  • 11 months later...
  • 2 years later...
Em 16/05/2014 ás 01:08, xWhiteWolf disse:

utevosio:


--Spell Method by Night Wolf


local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, 39)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false)


local config = {
tempo = 15, --- tempo que vai ficar recuperando mana (tempo total)
mana = 15, -- quanto de mana ganha a cada intervalo
intervalo = 1  --- intervalo que leva pra recuperar X de mana, 
}


local condition = createConditionObject(CONDITION_FOOD)
setConditionParam(condition, CONDITION_PARAM_TICKS, config.tempo*1000)
setConditionParam(condition, CONDITION_PARAM_BUFF, true)
setConditionParam(condition, CONDITION_PARAM_MANAGAIN, config.mana)
setConditionParam(condition, CONDITION_PARAM_MANATICKS, config.intervalo*1000)
setCombatCondition(combat, condition)




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

exorisio


--Spell Method by Night Wolf


local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, 39)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false)


local config = {
tempo = 60, --- tempo que vai durar a spell
percent = 20 -- quanto % vai aumentar
}


local condition = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition, CONDITION_PARAM_TICKS, config.tempo*1000)
setConditionParam(condition, CONDITION_PARAM_BUFF, true)
setConditionParam(condition, CONDITION_PARAM_SKILL_CLUBPERCENT, 100+config.percent)
setConditionParam(condition, CONDITION_PARAM_SKILL_SWORDPERCENT, 100+config.percent)
setConditionParam(condition, CONDITION_PARAM_SKILL_AXEPERCENT, 100+config.percent)
setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCEPERCENT, 100+config.percent)
setCombatCondition(combat, condition)




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

utamogransio
 


--Spell Method by Night Wolf

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, 39)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false)

local config = {
tempo = 60, --- tempo que vai durar a spell
percent = 25 -- quanto % vai aumentar
}

local condition = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition, CONDITION_PARAM_TICKS, config.tempo*1000)
setConditionParam(condition, CONDITION_PARAM_BUFF, true)
setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELDPERCENT, 100+config.percent)
setCombatCondition(combat, condition)


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

vitagransio
 


--Spell Method by Night Wolf

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, 39)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false)

local config = {
tempo = 60, --- tempo que vai durar a spell
percent = 25 -- quanto % vai aumentar
}

local condition = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition, CONDITION_PARAM_TICKS, config.tempo*1000)
setConditionParam(condition, CONDITION_PARAM_BUFF, true)
setConditionParam(condition, CONDITION_PARAM_STAT_MAXHITPOINTSPERCENT, 100+config.percent)
setCombatCondition(combat, condition)


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

e no spells.xml
 


<instant name="Buff Mana" words="utevo sio" lvl="40" mana="100" maglv="90" prem="1" aggressive="0" needtarget="1" params="1" exhaustion="1500" needlearn="0" event="script" value="especiais/utevosio.lua">
</instant>
<instant name="Buff Skills" words="exori sio" lvl="40" mana="100" maglv="90" prem="1" aggressive="0" needtarget="1" params="1" exhaustion="1500" needlearn="0" event="script" value="especiais/exorisio.lua">
</instant>
<instant name="Buff Shield" words="utamo gran sio" lvl="40" mana="100" maglv="120" prem="1" aggressive="0" needtarget="1" params="1" exhaustion="1500" needlearn="0" event="script" value="especiais/utamogransio.lua">
</instant>
<instant name="Buff Hit Points" words="vita gran sio" lvl="40" mana="100" maglv="120" prem="1" aggressive="0" needtarget="1" params="1" exhaustion="1500" needlearn="0" event="script" value="especiais/vitagransio.lua">

com base nisso vc cria as outras.. espero ter ajudado.

 

@xWhiteWolf teria como fazer uma que ao soltar a magia aparecesse uma msg no default do player por exemplo: Druid Buff: 65k HP e 75K HP cada 2 seg / Max HP +15% / Max MANA +25% / +15 ML e +20 Shield / Tempo: 5 min / Cooldown: 2 min

E que desses esses atributos fosses ativados, eu consegui ativar o de healar hp e mana, de dar o skill mais o de aumentar 30% de mana nao consegui so aumenta o HP... Teria como fazer para mim ?

E se possivel tivesse uma contagem de Cooldown apara usar dnv, eu tentei usar do seu outro topico mais nao funcionou...

Segue o codigo que tentei usar pra contagem:

 

doPlayerSendCancel(cid, "Your Mass Healing is at cooldown, you must wait "..(config.cooldown - (os.time() - getPlayerStorageValue(cid, config.storage))).." seconds.")

 

Edit--

 

Consegui fazer ele adicionar porcentagem de mana e hp igualmente.... Mas agora o problema é o tempo de uso... em Cooldown, pois ele consegue usar a magia diversas vezes e esse tempo ja aumentei e nada :/

 

 

 

Editado por gleison157 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
22 hours ago, gleison157 said:

 

@xWhiteWolf teria como fazer uma que ao soltar a magia aparecesse uma msg no default do player por exemplo: Druid Buff: 65k HP e 75K HP cada 2 seg / Max HP +15% / Max MANA +25% / +15 ML e +20 Shield / Tempo: 5 min / Cooldown: 2 min

E que desses esses atributos fosses ativados, eu consegui ativar o de healar hp e mana, de dar o skill mais o de aumentar 30% de mana nao consegui so aumenta o HP... Teria como fazer para mim ?

E se possivel tivesse uma contagem de Cooldown apara usar dnv, eu tentei usar do seu outro topico mais nao funcionou...

Segue o codigo que tentei usar pra contagem:

 

doPlayerSendCancel(cid, "Your Mass Healing is at cooldown, you must wait "..(config.cooldown - (os.time() - getPlayerStorageValue(cid, config.storage))).." seconds.")

 

Edit--

 

Consegui fazer ele adicionar porcentagem de mana e hp igualmente.... Mas agora o problema é o tempo de uso... em Cooldown, pois ele consegue usar a magia diversas vezes e esse tempo ja aumentei e nada :/

 

 

 

me mostra como vc tá fazendo, pq os passos são os seguintes:

se o cooldown - (tempo atual - tempo salvo) > 0 então
  retorna a mensagem de que está em cooldown
fim

faz a magia
salva o tempo atual + cooldown no storage "tempo salvo"
fim

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites
2 hours ago, Semideus said:

Opa, cheguei de paraquedas no post, gostaria de saber se você poderia alterar essa spell pra tfs 1.2?
Agradeço desde já!

Enviado de meu XT1563 usando Tapatalk
 

to sem tempo ultimamente :/ mas não tem mt dificuldade não, abre o luascript.cpp q fica na pasta source e vê como ficou o nome das conditions na versão 1.2. Pega uma spell que dê condition como o utani gran hur ou utamo vita na versão 1.2 e veja o que mudou e siga o padrão.

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites
16 horas atrás, xWhiteWolf disse:

me mostra como vc tá fazendo, pq os passos são os seguintes:

se o cooldown - (tempo atual - tempo salvo) > 0 então
  retorna a mensagem de que está em cooldown
fim

faz a magia
salva o tempo atual + cooldown no storage "tempo salvo"
fim

 

Bom é o seguinte, eu consegui fazer a magia dar todos os atributos que eu gostaria que tivesse. Consegui também ativar o Cooldown, agora eu so tenho um problema com o Cooldown a contagem que aparece para poder usar a magia novamente o numero fica negativo por exemplo: Cooldown: [-115] eu queria apenas retirar esse sinal (-) do contador, mais o tempo conta certinho. 

Aproveitando já, teria como ao usar a magia aparecer uma mensagem em Laranja no Default do player que usar, por exemplo: Druid Buff: Heal 30k HP e 50k MANA em 2s / 25% a mais HP 45% a mais de MANA / Skills: +200 e Def: +190 / Tempo: 2min / Cooldown: 2min

 

Essa mensagem é so um exemplo, eu gostaria que ela fosse editável.

 

Segue abaixo o meu script:

 

Spoiler

--Spell Method by Night Wolf
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, 39)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false)

local config = {
cooldown = 120, -- tempo entre uma magia e outra
storage = 19330,
tempo = 300, --- tempo que vai durar a spell
percent = 15, -- quanto % vai aumentar hp
percent2 = 25, -- quanto % vai aumentar mana
hp = 65000, -- quanto de hp ganha a cada intervalo
mana = 75000, -- quanto de mana ganha a cada intervalo
intervalo = 2,  --- intervalo que leva pra recuperar X de mana
ml = 15, -- quantos ira aumentar o skill de ML
sword = 0, -- quantos ira aumentar o skill de Sword
shield = 20, -- quantos ira aumentar o skill de Shield
}

local condition = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition, CONDITION_PARAM_TICKS, config.tempo*1000)
setConditionParam(condition, CONDITION_PARAM_BUFF, true)
setConditionParam(condition, CONDITION_PARAM_STAT_MAXMANAPERCENT, 100+config.percent2)
setConditionParam(condition, CONDITION_PARAM_STAT_MAXHITPOINTSPERCENT, 100+config.percent)
setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVEL, config.ml)
setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD, config.sword)
setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, config.shield)
setCombatCondition(combat, condition)

local condition = createConditionObject(CONDITION_FOOD)
setConditionParam(condition, CONDITION_PARAM_TICKS, config.tempo*1000)
setConditionParam(condition, CONDITION_PARAM_BUFF, true)
setConditionParam(condition, CONDITION_PARAM_MANAGAIN, config.mana)
setConditionParam(condition, CONDITION_PARAM_MANATICKS, config.intervalo*1000)
setConditionParam(condition, CONDITION_PARAM_HEALTHGAIN, config.hp)
setConditionParam(condition, CONDITION_PARAM_HEALTHTICKS, config.intervalo*1000)
setCombatCondition(combat, condition)


function onCastSpell(cid, var)
if getPlayerStorageValue(cid, config.storage) > os.time() then
        doPlayerSendCancel(cid, "Cooldown: [" ..os.time() - getPlayerStorageValue(cid, config.storage).."]")
        return true                              
    else
       setPlayerStorageValue(cid, config.storage, os.time()+config.cooldown)
    end            
    return doCombat(cid, combat, var)
end

 

Link para o post
Compartilhar em outros sites
8 hours ago, gleison157 said:

 

Bom é o seguinte, eu consegui fazer a magia dar todos os atributos que eu gostaria que tivesse. Consegui também ativar o Cooldown, agora eu so tenho um problema com o Cooldown a contagem que aparece para poder usar a magia novamente o numero fica negativo por exemplo: Cooldown: [-115] eu queria apenas retirar esse sinal (-) do contador, mais o tempo conta certinho. 

Aproveitando já, teria como ao usar a magia aparecer uma mensagem em Laranja no Default do player que usar, por exemplo: Druid Buff: Heal 30k HP e 50k MANA em 2s / 25% a mais HP 45% a mais de MANA / Skills: +200 e Def: +190 / Tempo: 2min / Cooldown: 2min

 

Essa mensagem é so um exemplo, eu gostaria que ela fosse editável.

 

Segue abaixo o meu script:

 

  Hide contents

--Spell Method by Night Wolf
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, 39)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false)

local config = {
cooldown = 120, -- tempo entre uma magia e outra
storage = 19330,
tempo = 300, --- tempo que vai durar a spell
percent = 15, -- quanto % vai aumentar hp
percent2 = 25, -- quanto % vai aumentar mana
hp = 65000, -- quanto de hp ganha a cada intervalo
mana = 75000, -- quanto de mana ganha a cada intervalo
intervalo = 2,  --- intervalo que leva pra recuperar X de mana
ml = 15, -- quantos ira aumentar o skill de ML
sword = 0, -- quantos ira aumentar o skill de Sword
shield = 20, -- quantos ira aumentar o skill de Shield
}

local condition = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition, CONDITION_PARAM_TICKS, config.tempo*1000)
setConditionParam(condition, CONDITION_PARAM_BUFF, true)
setConditionParam(condition, CONDITION_PARAM_STAT_MAXMANAPERCENT, 100+config.percent2)
setConditionParam(condition, CONDITION_PARAM_STAT_MAXHITPOINTSPERCENT, 100+config.percent)
setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVEL, config.ml)
setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD, config.sword)
setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, config.shield)
setCombatCondition(combat, condition)

local condition = createConditionObject(CONDITION_FOOD)
setConditionParam(condition, CONDITION_PARAM_TICKS, config.tempo*1000)
setConditionParam(condition, CONDITION_PARAM_BUFF, true)
setConditionParam(condition, CONDITION_PARAM_MANAGAIN, config.mana)
setConditionParam(condition, CONDITION_PARAM_MANATICKS, config.intervalo*1000)
setConditionParam(condition, CONDITION_PARAM_HEALTHGAIN, config.hp)
setConditionParam(condition, CONDITION_PARAM_HEALTHTICKS, config.intervalo*1000)
setCombatCondition(combat, condition)


function onCastSpell(cid, var)
if getPlayerStorageValue(cid, config.storage) > os.time() then
        doPlayerSendCancel(cid, "Cooldown: [" ..os.time() - getPlayerStorageValue(cid, config.storage).."]")
        return true                              
    else
       setPlayerStorageValue(cid, config.storage, os.time()+config.cooldown)
    end            
    return doCombat(cid, combat, var)
end

 

troca isso aqui

 doPlayerSendCancel(cid, "Cooldown: [" ..os.time() - getPlayerStorageValue(cid, config.storage).."]")

por

 doPlayerSendCancel(cid, "Cooldown: [" ..getPlayerStorageValue(cid, config.storage) -  os.time() .."]")

Se o if tá verificando se o storage é maior que o os.time() não tem pq subtrair o storage do os.time, se não isso obviamente vai dar um numero negativo xP

Quanto a mensagem, usa doPlayerSendTextMessage, em data/lib/constant.lua vc tem o id do type que é o texto laranja; Em alguns scripts meus como frozen orb ou aegis of immortal vc tb acha essa mensagem em laranja

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites
19 horas atrás, xWhiteWolf disse:

troca isso aqui

 doPlayerSendCancel(cid, "Cooldown: [" ..os.time() - getPlayerStorageValue(cid, config.storage).."]")

por

 doPlayerSendCancel(cid, "Cooldown: [" ..getPlayerStorageValue(cid, config.storage) -  os.time() .."]")

Se o if tá verificando se o storage é maior que o os.time() não tem pq subtrair o storage do os.time, se não isso obviamente vai dar um numero negativo xP

Quanto a mensagem, usa doPlayerSendTextMessage, em data/lib/constant.lua vc tem o id do type que é o texto laranja; Em alguns scripts meus como frozen orb ou aegis of immortal vc tb acha essa mensagem em laranja

 

Bom quanto a contagem de Cooldown, agora ta funcionando perfeitamente! Obrigaod, vai meu REP+

Agora quanto a questão da mensagem, que envia ao player, eu ate consegui fazer enviar, mais ela fica em branco e envia para o serverlog, nao aparece no default :/ estou tentando dar um jeito... Mais se possível ver um jeito para mim, eu gosto das suas respostas que vc nao da tudo de mão beijada, vc tenta ensinar, tudo oque sei ate hoje de Scripts foi vendo seus post's e trabalhos!

Se possível me explicar como corrigi esse problema agradeço, ja aproveitando, eu to querendo um script que não acho em lugar nenhum e nem sei como fazer, eu posso criar um topico e te mandar PM, para vc verificar se consegue fazer para mim ?

 

EDIT----

Consegui resolver a questão da mensagem enviar no default, sua dica foi de muita ajuda! Obrigado @xWhiteWolf ganhou outro REP+ meu!!!

 

Quanto a minha outra duvida, posso te enviar um PM para vc dar uma olhada para mim ?

Editado por gleison157
PROBLEMA RESOLVIDO! (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • 3 months later...

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.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo