DexFolks 0 Postado Outubro 8, 2010 Share Postado Outubro 8, 2010 (editado) ola, no meu ot eu tenho uma magia com o seguinte script local scom1 = createCombatObject()local scom2 = createCombatObject() local scom3 = createCombatObject() local scom4 = createCombatObject() local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) setCombatParam(combat1, COMBAT_PARAM_EFFECT, 255) setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, 3) setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, 0, 0, 0, 0) local combat2 = createCombatObject() setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) setCombatParam(combat2, COMBAT_PARAM_EFFECT, 13) setCombatParam(combat2, COMBAT_PARAM_DISTANCEEFFECT, 255) setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -5, -5, -4.5, -9) local combat3 = createCombatObject() setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) setCombatParam(combat3, COMBAT_PARAM_EFFECT, 13) setCombatParam(combat3, COMBAT_PARAM_DISTANCEEFFECT, 255) setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, -5, -5, -4.5, -9) local combat4 = createCombatObject() setCombatParam(combat4, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) setCombatParam(combat4, COMBAT_PARAM_EFFECT, 13) setCombatParam(combat4, COMBAT_PARAM_DISTANCEEFFECT, 255) setCombatFormula(combat4, COMBAT_FORMULA_LEVELMAGIC, -5, -5, -4.5, -9) arr1 = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0}, {0, 0, 1, 0, 0, 2, 0, 0, 1, 0, 0}, {0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0}, {0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} } arr2 = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} } arr3 = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 1, 0, 2, 0, 1, 0, 0, 0}, {0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} } arr4 = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0}, {0, 0, 1, 0, 0, 2, 0, 0, 1, 0, 0}, {0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0}, {0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} } local area1 = createCombatArea(arr1) local area2 = createCombatArea(arr2) local area3 = createCombatArea(arr3) local area4 = createCombatArea(arr4) setCombatArea(scom1, area1) setCombatArea(scom2, area2) setCombatArea(scom3, area3) setCombatArea(scom4, area4) function onTargetTile(cid, pos) doCombat(cid,combat1,positionToVariant(pos)) end function onTargetTile2(cid, pos) doCombat(cid,combat2,positionToVariant(pos)) end function onTargetTile3(cid, pos) doCombat(cid,combat3,positionToVariant(pos)) end function onTargetTile4(cid, pos) doCombat(cid,combat4,positionToVariant(pos)) end setCombatCallback(scom1, CALLBACK_PARAM_TARGETTILE, "onTargetTile") setCombatCallback(scom2, CALLBACK_PARAM_TARGETTILE, "onTargetTile2") setCombatCallback(scom3, CALLBACK_PARAM_TARGETTILE, "onTargetTile3") setCombatCallback(scom4, CALLBACK_PARAM_TARGETTILE, "onTargetTile4") local function onCastSpell1(parameters) doCombat(parameters.cid, scom1, parameters.var) end local function onCastSpell2(parameters) doCombat(parameters.cid, scom2, parameters.var) end local function onCastSpell3(parameters) doCombat(parameters.cid, scom3, parameters.var) end local function onCastSpell4(parameters) doCombat(parameters.cid, scom4, parameters.var) end function onCastSpell(cid, var) local parameters = { cid = cid, var = var} addEvent(onCastSpell1, 50, parameters) addEvent(onCastSpell2, 50, parameters) addEvent(onCastSpell3, 100, parameters) addEvent(onCastSpell4, 150, parameters) return TRUE end mais a formula de dano dela eh muito ruim, com o passar do lvl ,o dano da magia sobe muito pouco eu queria mudar a formula dela para isso function getCombatFormulas(cid, lv, maglv)local formula_min = -((lv*5 + maglv*0.9) * 1) local formula_max = -((lv*5 + maglv*1.1) * 1) if(formula_max < formula_min) then local tmp = formula_max formula_max = formula_min formula_min = tmp end return formula_min, formula_max end eu ja tentei de tudo quanto eh jeito, e ao invez de mudar o dano da magia, ela simplesmente n hita nada, alguem por favor poderia me explicar o q eu devo mudar no script da minha spell? é necessario mexer no arquivo function da pasta lib? agradeço as respostas ^^ Editado Outubro 8, 2010 por DexFolks Link para o comentário https://xtibia.com/forum/topic/142589-spell-duvida-sobre-a-formula/ Compartilhar em outros sites More sharing options...
Abacate123 2 Postado Outubro 8, 2010 Share Postado Outubro 8, 2010 setCombatFormula(combat, type, mina, minb, maxa, maxb) É com esse comando que você modifica a formula de sua spell. Não sei se da para colocar sua função na formula, mas fiz de uma forma diferente. local formula = { mina = {-((getPlayerLevel(cid)*5 + getPlayerMagLevel(cid)*0.9) * 1)}, minb = {-((getPlayerLevel(cid)*5 + getPlayerMagLevel(cid)*0.9) * 1)}, maxa = { -((getPlayerLevel(cid)*5 + getPlayerMagLevel(cid)*1.1) * 1)}, maxb = { -((getPlayerLevel(cid)*5 + getPlayerMagLevel(cid)*1.1) * 1)} } local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) setCombatParam(combat1, COMBAT_PARAM_EFFECT, 255) setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, 3) setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, formula[mina], formula[minb], formula[maxa], formula[maxb]) local combat2 = createCombatObject() setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) setCombatParam(combat2, COMBAT_PARAM_EFFECT, 13) setCombatParam(combat2, COMBAT_PARAM_DISTANCEEFFECT, 255) setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, formula[mina], formula[minb], formula[maxa], formula[maxb]) local combat3 = createCombatObject() setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) setCombatParam(combat3, COMBAT_PARAM_EFFECT, 13) setCombatParam(combat3, COMBAT_PARAM_DISTANCEEFFECT, 255) setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, formula[mina], formula[minb], formula[maxa], formula[maxb]) local combat4 = createCombatObject() setCombatParam(combat4, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) setCombatParam(combat4, COMBAT_PARAM_EFFECT, 13) setCombatParam(combat4, COMBAT_PARAM_DISTANCEEFFECT, 255) setCombatFormula(combat4, COMBAT_FORMULA_LEVELMAGIC, formula[mina], formula[minb], formula[maxa], formula[maxb]) não tenho certeza se vai funcionar, mas tenho quase certeza. Boa sorte com sua spell ai ^^ Link para o comentário https://xtibia.com/forum/topic/142589-spell-duvida-sobre-a-formula/#findComment-942734 Compartilhar em outros sites More sharing options...
DexFolks 0 Postado Outubro 8, 2010 Autor Share Postado Outubro 8, 2010 muito obrigado pela sua ajuda, mais não funcionou ;/ quando eu colokei isso no script e dei reload apareceu isso [08/10/2010 14:32:48] [Error - Spell Interface] [08/10/2010 14:32:48] data/spells/scripts/attack/fire heat.lua [08/10/2010 14:32:48] Description: [08/10/2010 14:32:48] (internalGetPlayerInfo) Player not found when requesting player info #3 [08/10/2010 14:32:48] [Error - Spell Interface] [08/10/2010 14:32:48] data/spells/scripts/attack/fire heat.lua [08/10/2010 14:32:48] Description: [08/10/2010 14:32:48] data/spells/scripts/attack/fire heat.lua:7: attempt to perform arithmetic on a boolean value [08/10/2010 14:32:48] [Warning - Event::loadScript] Cannot load script (data/spells/scripts/attack/fire heat.lua) o q isso significa? Link para o comentário https://xtibia.com/forum/topic/142589-spell-duvida-sobre-a-formula/#findComment-942776 Compartilhar em outros sites More sharing options...
Abacate123 2 Postado Outubro 8, 2010 Share Postado Outubro 8, 2010 [08/10/2010 14:32:48] [Error - Spell Interface] [08/10/2010 14:32:48] data/spells/scripts/attack/fire heat.lua [08/10/2010 14:32:48] Description: [08/10/2010 14:32:48] (internalGetPlayerInfo) Player not found when requesting player info #3 [08/10/2010 14:32:48] [Error - Spell Interface] [08/10/2010 14:32:48] data/spells/scripts/attack/fire heat.lua [08/10/2010 14:32:48] Description: [08/10/2010 14:32:48] data/spells/scripts/attack/fire heat.lua:7: attempt to perform arithmetic on a boolean value [08/10/2010 14:32:48] [Warning - Event::loadScript] Cannot load script (data/spells/scripts/attack/fire heat.lua) Ele não consegiu achar o player, dai o script travou e não foi carregado. Acho que sei qual foi o erro. Modifique essa parte: local formula = { mina = {-((getPlayerLevel(parameters.cid)*5 + getPlayerMagLevel(parameters.cid)*0.9) * 1)}, minb = {-((getPlayerLevel(parameters.cid)*5 + getPlayerMagLevel(parameters.cid)*0.9) * 1)}, maxa = {-((getPlayerLevel(parameters.cid)*5 + getPlayerMagLevel(parameters.cid)*1.1) * 1)}, maxb = {-((getPlayerLevel(parameters.cid)*5 + getPlayerMagLevel(parameters.cid)*1.1) * 1)} } Link para o comentário https://xtibia.com/forum/topic/142589-spell-duvida-sobre-a-formula/#findComment-942822 Compartilhar em outros sites More sharing options...
DexFolks 0 Postado Outubro 8, 2010 Autor Share Postado Outubro 8, 2010 n funcionou de novo apareceu isso agora: [08/10/2010 18:13:53] [Error - Spell Interface] [08/10/2010 18:13:53] data/spells/scripts/attack/fire heat.lua [08/10/2010 18:13:53] Description: [08/10/2010 18:13:53] data/spells/scripts/attack/fire heat.lua:7: attempt to index global 'parameters' (a nil value) [08/10/2010 18:13:53] [Warning - Event::loadScript] Cannot load script (data/spells/scripts/attack/fire heat.lua) mesmo ñ funcionando, vlw mesmo pela insistencia em me ajudar ^^ Link para o comentário https://xtibia.com/forum/topic/142589-spell-duvida-sobre-a-formula/#findComment-942870 Compartilhar em outros sites More sharing options...
Abacate123 2 Postado Outubro 8, 2010 Share Postado Outubro 8, 2010 Cara, pelo que percebi, não vai dar para colocar o level/maglevel do jogador na formula não... local formula = { mina = {-6.5}, minb = {-7}, maxa = {-11}, maxb = {-12} } Ponha isso que com certeza funcionará. O dano da skill esta maior que antes com esses números ai. Link para o comentário https://xtibia.com/forum/topic/142589-spell-duvida-sobre-a-formula/#findComment-942924 Compartilhar em outros sites More sharing options...
fadoninho 0 Postado Outubro 8, 2010 Share Postado Outubro 8, 2010 é só mudar o range n éh ? Link para o comentário https://xtibia.com/forum/topic/142589-spell-duvida-sobre-a-formula/#findComment-942925 Compartilhar em outros sites More sharing options...
Abacate123 2 Postado Outubro 8, 2010 Share Postado Outubro 8, 2010 Que range? O da spell? Mudar o range da spell não resolverá nada. Apenas fará com que a spell atinga uma distância maior... Link para o comentário https://xtibia.com/forum/topic/142589-spell-duvida-sobre-a-formula/#findComment-942938 Compartilhar em outros sites More sharing options...
DexFolks 0 Postado Outubro 9, 2010 Autor Share Postado Outubro 9, 2010 ixi... q droga, parece q 8.5 nem 8.6 da mais pra por a formula assim ;S era muito mais facil dakele jeito, essa nova formula eh muito confusa pra mim, n consigo entende a base dela pra descobri o dano usando alguma formula matemática mais vlw ai a ajuda ^^, +rep pra vc Link para o comentário https://xtibia.com/forum/topic/142589-spell-duvida-sobre-a-formula/#findComment-942968 Compartilhar em outros sites More sharing options...
Posts Recomendados