luizfel 0 Postado Janeiro 22, 2009 Share Postado Janeiro 22, 2009 (editado) Olá... Venho por meio da acc de 1 amigo tirar uma duvida sobre spell... Eh que eu to teno dificuldade em criar algumas spell...Mas por causa do erro ah spell nunca sai como planejado...resultando em raiva sobre a msma ~~ Gostaria que vocês me dissem algum meio de arruma esse lugar sqm ela acerta... a spell \/ local combat1 = createCombatObject()setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat1, COMBAT_PARAM_EFFECT, CONST_ME_HITAREA) setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -1, -5, -0.5, -15) local combat2 = createCombatObject() setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat2, COMBAT_PARAM_EFFECT, 3) setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -1, -5, -0.5, -15) local combat3 = createCombatObject() setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat3, COMBAT_PARAM_EFFECT, 0) setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, -1, -5, -0.5, -15) local arr1 = { {1, 0, 0,}, {0, 1, 0,}, {0, 2, 1,}, {0, 0, 0,}, } local arr2 = { {0, 0, 1,}, {0, 1, 0,}, {1, 2, 0,}, {0, 0, 0,}, } local arr3 = { {1, 1, 1,}, {2, 0, 0,}, {0, 0, 0,}, } local area1 = createCombatArea(arr1) local area2 = createCombatArea(arr2) local area3 = createCombatArea(arr3) setCombatArea(combat1, area1) setCombatArea(combat2, area2) setCombatArea(combat3, area3) local function onCastSpell1(parameters) doCombat(parameters.cid, parameters.combat1, parameters.var) end local function onCastSpell2(parameters) doCombat(parameters.cid, parameters.combat2, parameters.var) end local function onCastSpell3(parameters) doCombat(parameters.cid, parameters.combat3, parameters.var) end function onCastSpell(cid, var) local parameters = { cid = cid, var = var, combat1 = combat1, combat2 = combat2, combat3 = combat3 } addEvent(onCastSpell1, 100, parameters) addEvent(onCastSpell2, 250, parameters) addEvent(onCastSpell3, 400, parameters) end ss \/ http://img230.imageshack.us/img230/7156/bugcj6.jpg Agradeco desde jah! :} Editado Janeiro 22, 2009 por luizfel Link para o comentário Compartilhar em outros sites More sharing options...
brainless 0 Postado Janeiro 23, 2009 Share Postado Janeiro 23, 2009 Olá...Venho por meio da acc de 1 amigo tirar uma duvida sobre spell...Eh que eu to teno dificuldade em criar algumas spell...Mas por causa do erro ah spell nunca sai como planejado...resultando em raiva sobre a msma ~~Gostaria que vocês me dissem algum meio de arruma esse lugar sqm ela acerta...a spell \/ local combat1 = createCombatObject()setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)setCombatParam(combat1, COMBAT_PARAM_EFFECT, CONST_ME_HITAREA)setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -1, -5, -0.5, -15)local combat2 = createCombatObject()setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)setCombatParam(combat2, COMBAT_PARAM_EFFECT, 3)setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -1, -5, -0.5, -15)local combat3 = createCombatObject()setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)setCombatParam(combat3, COMBAT_PARAM_EFFECT, 0)setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, -1, -5, -0.5, -15)local arr1 = {{1, 0, 0,},{0, 1, 0,},{0, 2, 1,},{0, 0, 0,},}local arr2 = {{0, 0, 1,},{0, 1, 0,},{1, 2, 0,},{0, 0, 0,},}local arr3 = {{1, 1, 1,},{2, 0, 0,},{0, 0, 0,},}local area1 = createCombatArea(arr1)local area2 = createCombatArea(arr2)local area3 = createCombatArea(arr3)setCombatArea(combat1, area1)setCombatArea(combat2, area2)setCombatArea(combat3, area3)local function onCastSpell1(parameters)doCombat(parameters.cid, parameters.combat1, parameters.var)endlocal function onCastSpell2(parameters)doCombat(parameters.cid, parameters.combat2, parameters.var)endlocal function onCastSpell3(parameters)doCombat(parameters.cid, parameters.combat3, parameters.var)endfunction onCastSpell(cid, var)local parameters = { cid = cid, var = var, combat1 = combat1, combat2 = combat2, combat3 = combat3 }addEvent(onCastSpell1, 100, parameters)addEvent(onCastSpell2, 250, parameters)addEvent(onCastSpell3, 400, parameters)end ss \/http://img230.imageshack.us/img230/7156/bugcj6.jpgAgradeco desde jah! :} provavelmente o erro ta no config das áreas... agora desenha onde vc qr q a spell acerte =Pninguém aki eh adivinho né Link para o comentário Compartilhar em outros sites More sharing options...
luizfel 0 Postado Janeiro 23, 2009 Autor Share Postado Janeiro 23, 2009 (editado) Mais ja ta desenhado uai... local arr1 = { {1, 0, 0,}, {0, 1, 0,}, {0, 2, 1,}, {0, 0, 0,}, } local arr2 = { {0, 0, 1,}, {0, 1, 0,}, {1, 2, 0,}, {0, 0, 0,}, } local arr3 = { {1, 1, 1,}, {2, 0, 0,}, {0, 0, 0,}, } Gostaria que o char ficasse no numero "2" mais quando uso a spell ele não fica nao eh como se o char ficasse no 0 abaixo... Editado Janeiro 23, 2009 por luizfel Link para o comentário Compartilhar em outros sites More sharing options...
brainless 0 Postado Janeiro 23, 2009 Share Postado Janeiro 23, 2009 to falando pra vc me explicar em quais sqm vc qr q a spell aconteça... ' ex... se fosse uma energy wave vc me desenharia algo assim Link para o comentário Compartilhar em outros sites More sharing options...
_ferrari_ 1 Postado Janeiro 23, 2009 Share Postado Janeiro 23, 2009 nao entendi oq saiu de errado oO Link para o comentário Compartilhar em outros sites More sharing options...
luizfel 0 Postado Janeiro 23, 2009 Autor Share Postado Janeiro 23, 2009 to falando pra vc me explicar em quais sqm vc qr q a spell aconteça... ' ex... se fosse uma energy wave vc me desenharia algo assim desculpa minha burrice hj mais cedo ~~ entao vo posta as imagem era pa ela ta saindo assim \/ http://img246.imageshack.us/img246/7140/imagem32rc9.jpg mas ela ta saindo assim \/ http://img243.imageshack.us/img243/4295/imagem33ud8.jpg Srry mais uma vez... tb nao so muito bom em desenha no paint heiauheaIU :B Link para o comentário Compartilhar em outros sites More sharing options...
tibiaa4e 86 Postado Janeiro 24, 2009 Share Postado Janeiro 24, 2009 pra começar essa spell eh dividida em 3 partes faça em um pedaço só que facilita ao não ser q ela tire 3 danos dependendo da posicao Link para o comentário Compartilhar em outros sites More sharing options...
luizfel 0 Postado Janeiro 25, 2009 Autor Share Postado Janeiro 25, 2009 (editado) pra começar essa spell eh dividida em 3 partes faça em um pedaço só que facilita ao não ser q ela tire 3 danos dependendo da posicao Disculpe a demora a responder... tive q i no pronto socorro ;B uma parte dela em pedaco :} \/ local combat = createCombatObject()setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_HITAREA) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1, -5, -0.5, -15) local arr = { {1, 0, 0,}, {0, 1, 0,}, {0, 2, 1,}, {0, 0, 0,}, } local area = createCombatArea(arr) setCombatArea(combat, area) function onCastSpell(cid, var) return doCombat(cid, combat, var) end Editado Janeiro 25, 2009 por luizfel Link para o comentário Compartilhar em outros sites More sharing options...
luizfel 0 Postado Janeiro 25, 2009 Autor Share Postado Janeiro 25, 2009 (editado) O estranhu eh que eu andei dano procuradas em tutoriais talz... aki msmo no xtibia de como criar spells axei um tutorial otimo do usuario koti link abaxo http://www.xtibia.com/forum/Criando-Spells...-80-t58996.html e no tutorial indica Rosa: Área da magia. "0": Representa uma área em que a magia não vai pegar. "1": Representa uma área em que a magia vai pegar. "3 ou 2": "3": Representa o centro da magia, onde o player vai estar, a magia vai passar embaixo do player mais não vai dar dano. "2": A magia não passa embaixo do player. e como ta escrito ali "3 ou 2": "3": Representa o centro da magia, onde o player vai estar mais o 3 ow 2 quando coloko acaba nao sendo o centro da magia não sei porque.... e ela acaba pulando 1 sqm a +... nao sei tambem se eh problema em alguma linha do arquivo spells.xml a tag esta assim... <instant name="Santouryuu: Oni Guiri!" words="Santouryuu: Oni Guiri!" direction="1" lvl="5" maglv="2" mana="50" soul="0" exhaustion="1" prem="0" enabled="1" script="Oni guiri.lua"><vocation id="1"/></instant> EDIT@~~ E a versao do ot eh 8.1 o-o" Editado Janeiro 25, 2009 por luizfel Link para o comentário Compartilhar em outros sites More sharing options...
brainless 0 Postado Janeiro 26, 2009 Share Postado Janeiro 26, 2009 (editado) apague a última array de cada área "{0,0,0}" e, por via das dúvidas, apague também a última vírgula da última array restante antes: local arr2 = { {0, 0, 1,}, {0, 1, 0,}, {1, 2, 0,}, {0, 0, 0,}, } depois: local arr2 = { {0, 0, 1}, {0, 1, 0}, {1, 2, 0} } Editado Janeiro 26, 2009 por brainless Link para o comentário Compartilhar em outros sites More sharing options...
luizfel 0 Postado Janeiro 26, 2009 Autor Share Postado Janeiro 26, 2009 apague a última array de cada área "{0,0,0}" e, por via das dúvidas, apague também a última vírgula da última array restante antes: local arr2 = { {0, 0, 1,}, {0, 1, 0,}, {1, 2, 0,}, {0, 0, 0,}, } depois: local arr2 = { {0, 0, 1}, {0, 1, 0}, {1, 2, 0} } Fiz do mesmo jeito que vc disse mas... nao deu em nada ainda continua pulano 1 sqm e o 2 continua nao sendo o centro da spell... ;/ Link para o comentário Compartilhar em outros sites More sharing options...
brainless 0 Postado Janeiro 27, 2009 Share Postado Janeiro 27, 2009 (editado) a tarde toda trabalhando nisso =).. claro, dps de ter descoberto o problema... assim kra... primeiro de tudo... pra spell sair em volta do char... vc tem q desabilitar o atributo direction="1" no arquivo spells.xml feito isso... temos um outro problema... a spell ficará fixa, apontando sempre pra um determinado local quando for acionada. para contornar isso, fazemos a mesma spell 4 vezes, 1 para cada direção, e nos utilizamos da função getPlayerLookDir(cid) lembrando que o nome da função pode variar, de acordo com a versão do server. Para verificar, consulte o arquivo lua_functions dentro da pasta doc agora a particularidade da sua spell... ela é executada em 3 estágios... sendo 4 configurações por estágio... nos dá um total de 12 spells a serem configuradas... abusei dos loopings só não coloquei mais loops pq não consegui manipular array[array[]] para dar uma encurtada no arquivo o resultado final segue abaixo: -- SPELL DE EFEITO FÍSICO local areaPhysical = { { {0, 2, 1}, {0, 1, 0}, {1, 0, 0} }, { {1, 0, 0}, {0, 1, 2}, {0, 0, 1} }, { {0, 0, 1}, {0, 1, 0}, {1, 2, 0} }, { {1, 0, 0}, {2, 1, 0}, {0, 0, 1} } } local combatPhysical = {} for i = 1, 4 do combatPhysical[i] = createCombatObject() setCombatParam(combatPhysical[i], COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combatPhysical[i], COMBAT_PARAM_EFFECT, CONST_ME_HITAREA) setCombatFormula(combatPhysical[i], COMBAT_FORMULA_LEVELMAGIC, -1, -5, -0.5, -15) local combatArea = createCombatArea(areaPhysical[i]) setCombatArea(combatPhysical[i], combatArea) end -- ÁREA DE EFEITO DEFESA DA ARMADURA local areaArmour = { { {1, 2, 0}, {0, 1, 0}, {0, 0, 1} }, { {0, 0, 1}, {0, 1, 2}, {1, 0, 0} }, { {1, 0, 0}, {0, 1, 0}, {0, 2, 1} }, { {0, 0, 1}, {2, 1, 0}, {1, 0, 0} } } local combatArmour = {} for i = 1, 4 do combatArmour[i] = createCombatObject() setCombatParam(combatArmour[i], COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combatArmour[i], COMBAT_PARAM_EFFECT, CONST_ME_BLOCKHIT) setCombatFormula(combatArmour[i], COMBAT_FORMULA_LEVELMAGIC, -1, -5, -0.5, -15) local combatArea = createCombatArea(areaArmour[i]) setCombatArea(combatArmour[i], combatArea) end -- ÁREA DE EFEITO SANGUE local areaBlood = { { {0, 0, 2}, {1, 1, 1} }, { {1, 0}, {1, 0}, {1, 2} }, { {1, 1, 1}, {0, 0, 2} }, { {2, 1}, {0, 1}, {0, 1} } } local combatBlood = {} for i = 1, 4 do combatBlood[i] = createCombatObject() setCombatParam(combatBlood[i], COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combatBlood[i], COMBAT_PARAM_EFFECT, CONST_ME_DRAWBLOOD) setCombatFormula(combatBlood[i], COMBAT_FORMULA_LEVELMAGIC, -1, -5, -0.5, -15) local combatArea = createCombatArea(areaBlood[i]) setCombatArea(combatBlood[i], combatArea) end -- FIM DOS EFEITOS local function castSpells(parameters) doCombat(parameters.cid, parameters.combat, parameters.var) end function onCastSpell(cid, var) dirNow = getPlayerLookDir(cid) + 1 local combat = {combatPhysical[dirNow], combatArmour[dirNow], combatBlood[dirNow]} local delays = {100,250,400} for i = 1, 3 do parameters = {cid = cid, var = var, combat = combat[i]} addEvent(castSpells, delays[i], parameters) end end Editado Janeiro 27, 2009 por brainless Link para o comentário Compartilhar em outros sites More sharing options...
luizfel 0 Postado Janeiro 27, 2009 Autor Share Postado Janeiro 27, 2009 (editado) Obrigado brainless... eternamente grato! esse problema na spell tava dano dor d kbca ja ja tava pensano em disisti do meu projeto ;/ mais graca a você minhas sperancas voltaram ah + uma coisa se tiver msn tem como me passar por pm? se nao tiver como passar sem problemas... agradeco! :}~~ Editado Janeiro 27, 2009 por luizfel Link para o comentário Compartilhar em outros sites More sharing options...
Merchant 0 Postado Janeiro 27, 2009 Share Postado Janeiro 27, 2009 Dúvida Sanada, :button_cancel: Tópico Fechado. Abraços Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados