Bom, este tutorial explica como voce pode criar mais vocações para seu server, em vez de ser só os Knight, Sorcerer, Druid e Pally, vou usar um Ninja e um Sumonner =D .
Base: Yurs OT's, creio que funcione em outros servers.
PASSO 1: Configurando o Config.Lua
Abra o config.lua e venha aqui:
-- vocation names vocations = {"a Sorcerer", "a druid", "a paladin", "a knight"} promoted_vocations = {"an Master Sorcerer", "an elder druid", "a royal paladin", "an elite knight"}
Bom, você quer um Ninja e um Sumonner certo? Estão ai, as novas vocações:
-- vocation names vocations = {"a Sorcerer", "a druid", "a paladin", "a knight", "a ninja", "a oracle} promoted_vocations = {"an Master Sorcerer", "an elder druid", "a royal paladin", "an elite knight", "a graduated ninja", "a templar oracle"}
Não, você não deve axar que é tão facil assim, não é mesmo? Claro que não ;P
Agora venha aqui:
-- skill multipliers: 1 - rl tibia, 10 - ten times faster etc. {no-voc, sorcerer, druid, paladin, knight} weaponmul = {"10", "10", "10", "10", "80"} distmul = {"10", "10", "10", "80", "1"} shieldmul = {"10", "10", "10", "80", "80"} manamul = {"10", "10", "10", "10", "10"} -- how much points of life,mana,cap do you get when advancing {no-voc, sorcerer, druid, paladin, knight} capgain = {"10", "10", "10", "20", "25"} managain = {"5", "40", "40", "30", "25"} hpgain = {"5", "15", "15", "25", "30"}
E substitua ao seu gosto. (Os números das vocações ninja e sumonner são só exemplos).
-- skill multipliers: 1 - rl tibia, 10 - ten times faster etc. {no-voc, sorcerer, druid, paladin, knight, ninja, sumonner} weaponmul = {"10", "10", "10", "10", "80", "60", "10"} distmul = {"10", "10", "10", "80", "1", "60", "10"} shieldmul = {"10", "10", "10", "80", "80", "60", "10"} manamul = {"10", "10", "10", "10", "10", "10", "10"} -- how much points of life,mana,cap do you get when advancing {no-voc, sorcerer, druid, paladin, knight, ninja, sumonner} capgain = {"10", "10", "10", "20", "25", "15", "15"} managain = {"5", "40", "40", "30", "5", "25", "35"} hpgain = {"5", "15", "15", "25", "30", "15", "10"}
Agora, o números das profiçoes vão ser 6 e 7. Se você quiser criar outras vocações, serão 8,9 e vai indo. 5 é vocação GM, mas bugaria quando você der look, fexando o OT (aconteceu na minha primeira vez oO")
PASSO 2: Modificando as magias para a nova vocação/criando magias para a nova vocação
Bem meu caro leitor, você gostaria de magias novas para suas vocações?
Que tal Shuriken para o ninja, ou que tal demi para oracle?
Já que você insiste. Vamos lá:
Shuriken:
area = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 2, 2, 2, 2, 0, 3, 3, 3, 3, 0}, {0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, } attackType = ATTACK_PHYSICAL needDirection = false areaEffect = NM_ME_HIT_AREA animationEffect = NM_ANI_NONE hitEffect = NM_ME_HIT_AREA damageEffect = NM_ME_HIT_AREA animationColor = RED offensive = true drawblood = true UltimateExplosionObject = MagicDamageObject(attackType, animationEffect, hitEffect, damageEffect, animationColor, offensive, drawblood, 0, 0) function onCast(cid, creaturePos, level, maglv, var) centerpos = {x=creaturePos.x, y=creaturePos.y, z=creaturePos.z} n = tonumber(var) -- try to convert it to a number if n ~= nil then -- bugged -- ultimateExplosionObject.minDmg = var+0 -- UltimateExplosionObject.maxDmg = var+0 UltimateExplosionObject.minDmg = 0 UltimateExplosionObject.maxDmg = 0 else -- UltimateExplosionObject.minDmg = (level * 2 + maglv * 3) * 2 - 30 -- UltimateExplosionObject.maxDmg = (level * 2 + maglv * 3) * 3.2 UltimateExplosionObject.minDmg = (level * 1.5 + maglv * 1.5) * 1.5 UltimateExplosionObject.maxDmg = (level * 1.5 + maglv * 1.5) * 3 end Demi: QUOTE area = { {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}, {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, {1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1}, {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0} } attackType = ATTACK_PHYSICAL needDirection = true areaEffect = NM_ME_MORT_AREA animationEffect = NM_ANI_SUDDENDEATH hitEffect = NM_ME_MORT_AREA damageEffect = NM_ME_MORT_AREA animationColor = RED offensive = true drawblood = true UltimateExplosionObject = MagicDamageObject(attackType, animationEffect, hitEffect, damageEffect, animationColor, offensive, drawblood, 0, 0) function onCast(cid, creaturePos, level, maglv, var) centerpos = {x=creaturePos.x, y=creaturePos.y, z=creaturePos.z} n = tonumber(var) -- try to convert it to a number if n ~= nil then -- bugged -- ultimateExplosionObject.minDmg = var+0 -- UltimateExplosionObject.maxDmg = var+0 UltimateExplosionObject.minDmg = 0 UltimateExplosionObject.maxDmg = 0 else UltimateExplosionObject.minDmg = (level * 2 + maglv * 3) * 2.3 - 30 UltimateExplosionObject.maxDmg = (level * 2 + maglv * 3) * 3.0 end return doAreaMagic(cid, centerpos, needDirection, areaEffect, area, UltimateExplosionObject:ordered()) end
Agora abra o spells.xml e adicione:
<spell name="Shuriken" words="shuriken" maglv="6" mana="500" enabled="1"><vocation id="6" /></spell> <spell name="Demi" words="demi" maglv="30" mana="700" enabled="1"><vocation id="7" /></spell>
Para usar outras magias, é só fazer a troca de:
<spell name="Ultimate Light" words="utevo vis lux" maglv="12" mana="140" enabled="1"><vocation id="1" /><vocation id="2" /></spell>
Bom galera, agora use a imaginação para terminar as vocações!
Aumente a velocidade de ataque do ninja pelas sources, coloque spells inéditas com efeitos inéditos, crie novos itens para as vocações em fim, use a imaginação! =]
J.R.