Não entendi se você queria que criasse uma spell só para alterar a vida, a voc e a mana ou se queria que alterasse essa spell sua colocando isto, enfim, eu alterei esta sua spell do jeito que você solocitou:
Vá em data\lib abra o arquivo 000-constant.lua e acreste esta linha:
voc_stor = STORAGE_USADA
No lugar de STORAGE_USADA você colocará a storage que a spell usará. Ex: 30001
A sua spell ficará assim:
local outfit = {lookType = 399} -- Roupa que ira transformar no caso seu corpo ficara em choque
local tempo = 2 * 1000 -- Tempo, nesse caso esta 60 segundos Lembrando que 1000 = 1 segundo
local voc = VOC_ID
local ml = 5 -- quantos ira aumentar o skill de ML
local skillfist = 10 -- quantos ira aumentar o skill de Fist
local skillsword = 0 -- quantos ira aumentar o skill de Sword
local skillaxe = 0 -- quantos ira aumentar o skill de Axe
local skillclub = 0 -- quantos ira aumentar o skill de Club
local skilldistance = 0 -- quantos ira aumentar o skill de Distance
local skillshield = 10 -- quantos ira aumentar o skill de Shield
local health = 0 -- A cada 1 segundo quantos aumentar de vida
local mana = 55
local combat = createCombatObject()
local mhealth = VIDA_AUMENTADA
local mmana = MANA_AUMENTADA
setCombatParam(combat, COMBAT_PARAM_EFFECT, 42)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0)
local condition = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition, CONDITION_PARAM_TICKS, tempo)
setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVEL, ml)
setConditionParam(condition, CONDITION_PARAM_SKILL_FIST, skillfist)
setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD, skillsword)
setConditionParam(condition, CONDITION_PARAM_SKILL_AXE, skillaxe)
setConditionParam(condition, CONDITION_PARAM_SKILL_CLUB, skillclub)
setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCE, skilldistance)
setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, skillshield)
setConditionParam(condition, CONDITION_PARAM_OUTFIT, outfit)
setConditionParam(condition, CONDITION_PARAM_STAT_MAXHEALTH, mhealth)
setConditionParam(condition, CONDITION_PARAM_STAT_MAXMANA, mmana)
setCombatCondition(combat, condition)
local condition = createConditionObject(CONDITION_HASTE)
setConditionParam(condition, CONDITION_PARAM_SPEED, 100)
setConditionParam(condition, CONDITION_PARAM_TICKS, tempo)
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)
setConditionParam(condition, CONDITION_PARAM_HEALTHGAIN, health)
setConditionParam(condition, CONDITION_PARAM_HEALTHTICKS, 1000)
setConditionParam(condition, CONDITION_PARAM_MANAGAIN, mana)
setConditionParam(condition, CONDITION_PARAM_MANATICKS, 1000)
setCombatCondition(combat, condition)
local sys = createConditionObject(CONDITION_OUTFIT)
setConditionParam(sys, CONDITION_PARAM_TICKS, tempo)
addOutfitCondition(sys, outfit)
setCombatCondition(combat, sys)
function onCastSpell(cid, var)
registerCreatureEvent(cid, "stordeath")
setPlayerStorageValue(cid, voc_stor, getPlayerVocation(cid))
doPlayerSetVocation(cid, voc)
addEvent(doPlayerSetVocation,tempo,cid,getPlayerStorageValue(cid, voc_stor))
addEvent(setPlayerStorageValue,tempo,cid,voc_stor,0)
return doCombat(cid, combat, var)
end
Aonde está local voc = VOC_ID, no lugar do VOC_ID você coloca o id da voc em que vai se transformar. Em local mhealth = VIDA_AUMENTADA você coloca o quanto irá aumentar a vida máxima de quem usar a spell e para a mana você faz o mesmo em local mmana = MANA_AUMENTADA.
Como não existe uma condition de spell para vocation fiz de outra forma e para o caso do player morrer tive que fazer um creaturescript de ondeath que chamei de stordeath.lua:
function onDeath(cid, corpse, deathList) local i = getPlayerStorageValue(cid, voc_stor) if i > 0 then doPlayerSetVocation(cid, i) setPlayerStorageValue(cid, voc_stor, 0) end return true end
No creaturescripts.xml coloque esta linha antes de </creaturescripts>:
<event type="death" name="stordeath" event="script" value="stordeath.lua"/>






info
Grupo: Campones
Registrado: 21/02/11
Posts: 30
Reputação: 0
Pessoal estava procurando, e até tentei fazer um buff que mudasse a vocação do personagem, e voltasse a anterior quando o buff acabar, e se conseguirem tbm que ele aumente a quantidade de hp e mp. mas so em mudar a vocação pra mim tá ótimo
Buff que uso:
tfs 0.3.6