Postado Abril 29, 2013 12 anos Nome do Script: magia que da varios hitsTipo do Script: mas quero que essa magia necessite de um item para ser usada(ex:arqueiro vai dar rajada de 10 flexas tem que consumir 10 flexas, mago vai dar varios hits em area e uma magia que precisa de uma pedra poderosa.)Versão Utilizada: 9.1Servidor Utilizado: Cristal ServerNível de Experiência: kkkkk sei editar se explicar mas se soubece fazer nao tava pedindo=nivel idiotaInformações Extras: e lua uma magia no resto sei mudar parametros so quero essa parte de ter que usar um item
Postado Abril 29, 2013 12 anos Nome do Script: magia que da varios hits Tipo do Script: mas quero que essa magia necessite de um item para ser usada(ex:arqueiro vai dar rajada de 10 flexas tem que consumir 10 flexas, mago vai dar varios hits em area e uma magia que precisa de uma pedra poderosa.) Versão Utilizada: 9.1 Servidor Utilizado: Cristal Server Nível de Experiência: kkkkk sei editar se explicar mas se soubece fazer nao tava pedindo=nivel idiota Informações Extras: e lua uma magia no resto sei mudar parametros so quero essa parte de ter que usar um item Spell Paladin Crie um arquivo chamado spellpally.lua na pasta data/spells/scripts/attack local cfg = { effectSpell = CONST_ANI_ONYXARROW, itemId = 7365, count = 1, countNeed = 10 } local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, true) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, cfg.effectSpell) setAttackFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 4, 6) function onCastSpell1(parameters) doCombat(parameters.cid, combat, parameters.var) doPlayerRemoveItem(parameters.cid, cfg.itemId, cfg.count) end function onCastSpell(cid, var) local parameters = {cid = cid, var = var} if getPlayerItemCount(parameters.cid, cfg.itemId) >= cfg.countNeed then addEvent(onCastSpell1, 100, parameters) addEvent(onCastSpell1, 300, parameters) addEvent(onCastSpell1, 500, parameters) addEvent(onCastSpell1, 700, parameters) addEvent(onCastSpell1, 900, parameters) addEvent(onCastSpell1, 1000, parameters) addEvent(onCastSpell1, 1200, parameters) addEvent(onCastSpell1, 1400, parameters) addEvent(onCastSpell1, 1500, parameters) return addEvent(onCastSpell1, 1700, parameters) else doPlayerSendTextMessage(cid, 18, 'You need '.. cfg.countNeed ..' '.. getItemNameById(cfg.itemId) ..' to use this spell') end end Configurando local cfg = { effectSpell = CONST_ANI_ONYXARROW, itemId = 7365, count = 1, countNeed = 10 } effectSpell //Efeito do spell itemId //Item que vai exigir e sumir quando soltar a spell count //Quantidade de item que irá sumir quando soltar a spell countNeed //Quantidade de item que irá pedir para soltar a spell (no caso a spell vai dar 10 hits então o valor será 10) Adicione a seguinte linha no arquivo spells.xml que se encontra na pasta data/spells <instant name="Divine Arrow" words="exevo mas arrow" lvl="30" mana="40" prem="0" range="7" needtarget="1" exhaustion="4000" groups="1,2000" icon="57" blockwalls="1" needlearn="0" event="script" value="attack/spellpally.lua"> <vocation id="3"/> <vocation id="7"/> </instant> Spell Mage Crie um arquivo chamado spellmage.lua na pasta data/spells/scripts/attack e cole isso local cfg = { effectSpell1 = CONST_ME_BIGCLOUDS, effectSpell2 = CONST_ME_SMALLPLANTS, effectSpell3 = CONST_ME_ICETORNADO, item = 2260 count = 1 } local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE) setCombatParam(combat1, COMBAT_PARAM_EFFECT, cfg.effectSpell1) setAttackFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 4, 8) local combat2 = createCombatObject() setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_EARTHDAMAGE) setCombatParam(combat2, COMBAT_PARAM_EFFECT, cfg.effectSpell2) setAttackFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 5, 10) local combat3 = createCombatObject() setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE) setCombatParam(combat3, COMBAT_PARAM_EFFECT, cfg.effectSpell3) setAttackFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 6, 12) local area1 = createCombatArea(AREA_SQUARE1X1) setCombatArea(combat1, area1) local area2 = createCombatArea(AREA_CIRCLE3X3) setCombatArea(combat2, area2) local area3 = createCombatArea(AREA_CROSS5X5) setCombatArea(combat3, area3) function onCastSpell1(parameters) doCombat(parameters.cid, combat1, parameters.var) end function onCastSpell2(parameters) doCombat(parameters.cid, combat2, parameters.var) end function onCastSpell3(parameters) doCombat(parameters.cid, combat3, parameters.var) end function onCastSpell(cid, var) local parameters = {cid = cid, var = var} if getPlayerItemCount(cid, cfg.item) >= cfg.count then doPlayerRemoveItem(parameters.cid, cfg.item, cfg.count) addEvent(onCastSpell1, 100, parameters) addEvent(onCastSpell2, 600, parameters) return addEvent(onCastSpell3, 1100, parameters) else doPlayerSendTextMessage(cid, 18, 'You need '.. cfg.count ..' '.. getItemNameById(cfg.item) ..'.') end end Configurando local cfg = { effectSpell1 = CONST_ME_BIGCLOUDS, effectSpell2 = CONST_ME_SMALLPLANTS, effectSpell3 = CONST_ME_ICETORNADO, item = 2260 } effectSpell //Efeito do spell item //Item necessário para usar a spell count //Quantidade que irá consumir No arquivo spells.xml que se encontra na pasta data/spells adicione essa linha <instant name="Combo Max" words="exevo mas combo" lvl="90" mana="1500" prem="0" selftarget="1" exhaustion="8000" groups="4,4000" icon="118" needlearn="0" event="script" value="attack/spellmage.lua"> <vocation id="1"/> <vocation id="2"/> <vocation id="5"/> <vocation id="6"/> </instant> Efeitos para Spell Efeito a Distancia SPEAR = 0 BOLT = 1 ARROW = 2 FIRE = 3 ENERGY = 4 POISONARROW = 5 BURSTARROW = 6 THROWINGSTAR = 7 THROWINGKNIFE = 8 SMALLSTONE = 9 DEATH = 10 LARGEROCK = 11 SNOWBALL = 12 POWERBOLT = 13 POISON = 14 INFERNALBOLT = 15 HUNTINGSPEAR = 16 ENCHANTEDSPEAR = 17 REDSTAR = 18 GREENSTAR = 19 ROYALSPEAR = 20 SNIPERARROW = 21 ONYXARROW = 22 PIERCINGBOLT = 23 WHIRLWINDSWORD = 24 WHIRLWINDAXE = 25 WHIRLWINDCLUB = 26 ETHEREALSPEAR = 27 ICE = 28 EARTH = 29 HOLY = 30 SUDDENDEATH = 31 FLASHARROW = 32 FLAMMINGARROW = 33 SHIVERARROW = 34 ENERGYBALL = 35 SMALLICE = 36 SMALLHOLY = 37 SMALLEARTH = 38 EARTHARROW = 39 EXPLOSION = 40 CAKE = 41 AWEAPONTYPE = 254 Efeito Direto no Player DRAWBLOOD = 0 LOSEENERGY = 1 POFF = 2 BLOCKHIT = 3 EXPLOSIONAREA = 4 EXPLOSIONHIT = 5 FIREAREA = 6 YELLOW_RINGS = 7 GREEN_RINGS = 8 HITAREA = 9 TELEPORT = 10 ENERGYHIT = 11 MAGIC_BLUE = 12 MAGIC_RED = 13 MAGIC_GREEN = 14 HITBYFIRE = 15 HITBYPOISON = 16 MORTAREA = 17 SOUND_GREEN = 18 SOUND_RED = 19 POISONAREA = 20 SOUND_YELLOW = 21 SOUND_PURPLE = 22 SOUND_BLUE = 23 SOUND_WHITE = 24 BUBBLES = 25 CRAPS = 26 GIFT_WRAPS = 27 FIREWORK_YELLOW = 28 FIREWORK_RED = 29 FIREWORK_BLUE = 30 STUN = 31 SLEEP = 32 WATERCREATURE = 33 GROUNDSHAKER = 34 HEARTS = 35 FIREATTACK = 36 ENERGYAREA = 37 SMALLCLOUDS = 38 HOLYDAMAGE = 39 BIGCLOUDS = 40 ICEAREA = 41 ICETORNADO = 42 ICEATTACK = 43 STONES = 44 SMALLPLANTS = 45 CARNIPHILA = 46 PURPLEENERGY = 47 YELLOWENERGY = 48 HOLYAREA = 49 BIGPLANTS = 50 CAKE = 51 GIANTICE = 52 WATERSPLASH = 53 PLANTATTACK = 54 TUTORIALARROW = 55 TUTORIALSQUARE = 56 MIRRORHORIZONTAL = 57 MIRRORVERTICAL = 58 SKULLHORIZONTAL = 59 SKULLVERTICAL = 60 ASSASSIN = 61 STEPSHORIZONTAL = 62 BLOODYSTEPS = 63 STEPSVERTICAL = 64 YALAHARIGHOST = 65 BATS = 66 Testado e está 100% funcional. Dúvidas? Me avise. (OBS: Estou criando a spell do mage, daqui a pouco eu posto) Att. Giovani Rodrigo Editado Abril 30, 2013 12 anos por GiovaniRodrigo (veja o histórico de edições)
Postado Abril 29, 2013 12 anos Autor a magia do paly funcionou mas a do mage nao esta consumindo os itens
Postado Abril 30, 2013 12 anos a magia do paly funcionou mas a do mage nao esta consumindo os itens Não consome pois não configurei para consumir, achei que só precisava do item e não removia. Vou editar, copia a magia do mage de novo. Att. Giovani Rodrigo
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.