Postado Junho 22, 2015 10 anos ola! gostaria de alguem que possa ajudar alguns que estao começando a criar ot server . eu criei spell no spell creator mais as tags que ele gera como adiciono elas no ot server. segue as magias e desde ja agradeço. <instant name="teste" words="default" lvl="100" maglv="0" mana="0" exhaustion="30" prem="0" needlearn="0" blockwalls="0" aggressive="1" event="script" value="teste.lua"> </instant> -- SpellCreator generated. -- =============== COMBAT VARS =============== -- Areas/Combat for 0ms local combat0_Brush = createCombatObject() setCombatParam(combat0_Brush, COMBAT_PARAM_EFFECT, 226) setCombatParam(combat0_Brush, COMBAT_PARAM_TYPE, COMBAT_UNDEFINEDDAMAGE) setCombatArea(combat0_Brush,createCombatArea({{0, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 1, 0, 2, 1, 1, 1}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 0, 0}})) function getDmg_Brush(cid, level, maglevel) return (200)*-1,(1000)*-1 end setCombatCallback(combat0_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush") local con___combat0_Brush = createConditionObject(0+CONDITION_PARALYZE) addDamageCondition(con___combat0_Brush, 3, 1000, -400) setCombatCondition(combat0_Brush, con___combat0_Brush) -- Areas/Combat for 900ms local combat9_Brush_2 = createCombatObject() setCombatParam(combat9_Brush_2, COMBAT_PARAM_EFFECT, 91) setCombatParam(combat9_Brush_2, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) setCombatArea(combat9_Brush_2,createCombatArea({{0, 0, 0, 0, 1, 0, 1, 0, 0, 0}, {0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 1, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 1, 0, 1, 0, 0, 0, 1, 0, 1}, {1, 0, 0, 0, 0, 2, 0, 0, 0, 0}, {0, 1, 0, 1, 0, 0, 0, 1, 0, 1}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 1, 0, 0, 0, 1, 0, 0}, {0, 0, 0, 1, 0, 0, 0, 1, 0, 0}})) function getDmg_Brush_2(cid, level, maglevel) return (500)*-1,(1000)*-1 end setCombatCallback(combat9_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2") -- Areas/Combat for 1600ms local combat16_Brush_3 = createCombatObject() setCombatParam(combat16_Brush_3, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA) setCombatParam(combat16_Brush_3, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE) setCombatArea(combat16_Brush_3,createCombatArea({{0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0}, {1, 1, 1, 1, 1, 2, 0, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, {0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0}})) function getDmg_Brush_3(cid, level, maglevel) return (200)*-1,(400)*-1 end setCombatCallback(combat16_Brush_3, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_3") -- Areas/Combat for 2500ms local combat25_Brush_4 = createCombatObject() setCombatParam(combat25_Brush_4, COMBAT_PARAM_EFFECT, CONST_ME_ICEATTACK) setCombatParam(combat25_Brush_4, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatArea(combat25_Brush_4,createCombatArea({{1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 2, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1, 1}})) function getDmg_Brush_4(cid, level, maglevel) return (10)*-1,(20)*-1 end setCombatCallback(combat25_Brush_4, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_4") -- =============== CORE FUNCTIONS =============== local function RunPart(c,cid,var,dirList,dirEmitPos) -- Part if (isCreature(cid)) then doCombat(cid, c, var) if (dirList ~= nil) then -- Emit distance effects local i = 2; while (i < #dirList) do doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x-dirList,y=dirEmitPos.y-dirList[i+1],z=dirEmitPos.z},dirList[1]) i = i + 2 end end end end function onCastSpell(cid, var) local startPos = getCreaturePosition(cid) RunPart(combat0_Brush,cid,var) addEvent(RunPart,900,combat9_Brush_2,cid,var) addEvent(RunPart,1600,combat16_Brush_3,cid,var) addEvent(RunPart,2500,combat25_Brush_4,cid,var) return true end como veem ele gera a xml e a magia em si mais no ot aq cyan nao tem como saber onde colo a magia criada ou se precisa dividila em area e efeito magico sei la nao tenho a minima ideia de como adiciona-la no server peço por favor que alguem me ajude explicando detalhadamente pra eu poder fazer sosinho depois. vlw.
Postado Junho 22, 2015 10 anos Seguinte. Vá na pasta do seu OT. Nela, abra a pasta data, depois procure por spells. Abra esta pasta. Você verá duas pastas, uma chamada scripts, outra lib e um arquivo chamado spells.xml . <instant name="teste" words="default" lvl="100" maglv="0" mana="0" exhaustion="30" prem="0" needlearn="0" blockwalls="0" aggressive="1" event="script" value="teste.lua"> </instant> isso é uma tag de xml. Você deve colocá-la no arquivo spells.xml, entre suas magias, entre <spells> e </spells> O outro script é um arquivo .lua . Você deve entrar na pasta scripts, copiar um arquivo de lá (qualquer um), renomeio para para o mesmo nome que você pôs na tag onde está escrito value="teste.lua" No caso, o arquivo .lua deve se chamar teste . Abra esse arquivo, delete tudo que existe dentro dele e cole o script que o spell creator gerou: -- SpellCreator generated. -- =============== COMBAT VARS =============== -- Areas/Combat for 0ms local combat0_Brush = createCombatObject() setCombatParam(combat0_Brush, COMBAT_PARAM_EFFECT, 226) setCombatParam(combat0_Brush, COMBAT_PARAM_TYPE, COMBAT_UNDEFINEDDAMAGE) setCombatArea(combat0_Brush,createCombatArea({{0, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 1, 0, 2, 1, 1, 1}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 0, 0}})) function getDmg_Brush(cid, level, maglevel) return (200)*-1,(1000)*-1 end setCombatCallback(combat0_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush") local con___combat0_Brush = createConditionObject(0+CONDITION_PARALYZE) addDamageCondition(con___combat0_Brush, 3, 1000, -400) setCombatCondition(combat0_Brush, con___combat0_Brush) -- Areas/Combat for 900ms local combat9_Brush_2 = createCombatObject() setCombatParam(combat9_Brush_2, COMBAT_PARAM_EFFECT, 91) setCombatParam(combat9_Brush_2, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) setCombatArea(combat9_Brush_2,createCombatArea({{0, 0, 0, 0, 1, 0, 1, 0, 0, 0}, {0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 1, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 1, 0, 1, 0, 0, 0, 1, 0, 1}, {1, 0, 0, 0, 0, 2, 0, 0, 0, 0}, {0, 1, 0, 1, 0, 0, 0, 1, 0, 1}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 1, 0, 0, 0, 1, 0, 0}, {0, 0, 0, 1, 0, 0, 0, 1, 0, 0}})) function getDmg_Brush_2(cid, level, maglevel) return (500)*-1,(1000)*-1 end setCombatCallback(combat9_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2") -- Areas/Combat for 1600ms local combat16_Brush_3 = createCombatObject() setCombatParam(combat16_Brush_3, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA) setCombatParam(combat16_Brush_3, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE) setCombatArea(combat16_Brush_3,createCombatArea({{0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0}, {1, 1, 1, 1, 1, 2, 0, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, {0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0}})) function getDmg_Brush_3(cid, level, maglevel) return (200)*-1,(400)*-1 end setCombatCallback(combat16_Brush_3, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_3") -- Areas/Combat for 2500ms local combat25_Brush_4 = createCombatObject() setCombatParam(combat25_Brush_4, COMBAT_PARAM_EFFECT, CONST_ME_ICEATTACK) setCombatParam(combat25_Brush_4, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatArea(combat25_Brush_4,createCombatArea({{1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 2, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1, 1}})) function getDmg_Brush_4(cid, level, maglevel) return (10)*-1,(20)*-1 end setCombatCallback(combat25_Brush_4, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_4") -- =============== CORE FUNCTIONS =============== local function RunPart(c,cid,var,dirList,dirEmitPos) -- Part if (isCreature(cid)) then doCombat(cid, c, var) if (dirList ~= nil) then -- Emit distance effects local i = 2; while (i < #dirList) do doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x-dirList[i],y=dirEmitPos.y-dirList[i+1],z=dirEmitPos.z},dirList[1]) i = i + 2 end end end end function onCastSpell(cid, var) local startPos = getCreaturePosition(cid) RunPart(combat0_Brush,cid,var) addEvent(RunPart,900,combat9_Brush_2,cid,var) addEvent(RunPart,1600,combat16_Brush_3,cid,var) addEvent(RunPart,2500,combat25_Brush_4,cid,var) return true end Se ajudei, da um rep+ xD Qualquer outra duvida, só postar. EDIT: A propósito, tópico está na sessão errada, por favor algum adm envie pra sessão correta x.x Editado Junho 22, 2015 10 anos por SoulSarti (veja o histórico de edições)
Postado Junho 22, 2015 10 anos Autor Seguinte. Vá na pasta do seu OT. Nela, abra a pasta data, depois procure por spells. Abra esta pasta. Você verá duas pastas, uma chamada scripts, outra lib e um arquivo chamado spells.xml . <instant name="teste" words="default" lvl="100" maglv="0" mana="0" exhaustion="30" prem="0" needlearn="0" blockwalls="0" aggressive="1" event="script" value="teste.lua"> </instant> isso é uma tag de xml. Você deve colocá-la no arquivo spells.xml, entre suas magias, entre <spells> e </spells> O outro script é um arquivo .lua . Você deve entrar na pasta scripts, copiar um arquivo de lá (qualquer um), renomeio para para o mesmo nome que você pôs na tag onde está escrito value="teste.lua" No caso, o arquivo .lua deve se chamar teste . Abra esse arquivo, delete tudo que existe dentro dele e cole o script que o spell creator gerou: -- SpellCreator generated. -- =============== COMBAT VARS =============== -- Areas/Combat for 0ms local combat0_Brush = createCombatObject() setCombatParam(combat0_Brush, COMBAT_PARAM_EFFECT, 226) setCombatParam(combat0_Brush, COMBAT_PARAM_TYPE, COMBAT_UNDEFINEDDAMAGE) setCombatArea(combat0_Brush,createCombatArea({{0, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 1, 0, 2, 1, 1, 1}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 0, 0}})) function getDmg_Brush(cid, level, maglevel) return (200)*-1,(1000)*-1 end setCombatCallback(combat0_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush") local con___combat0_Brush = createConditionObject(0+CONDITION_PARALYZE) addDamageCondition(con___combat0_Brush, 3, 1000, -400) setCombatCondition(combat0_Brush, con___combat0_Brush) -- Areas/Combat for 900ms local combat9_Brush_2 = createCombatObject() setCombatParam(combat9_Brush_2, COMBAT_PARAM_EFFECT, 91) setCombatParam(combat9_Brush_2, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) setCombatArea(combat9_Brush_2,createCombatArea({{0, 0, 0, 0, 1, 0, 1, 0, 0, 0}, {0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 1, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 1, 0, 1, 0, 0, 0, 1, 0, 1}, {1, 0, 0, 0, 0, 2, 0, 0, 0, 0}, {0, 1, 0, 1, 0, 0, 0, 1, 0, 1}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 1, 0, 0, 0, 1, 0, 0}, {0, 0, 0, 1, 0, 0, 0, 1, 0, 0}})) function getDmg_Brush_2(cid, level, maglevel) return (500)*-1,(1000)*-1 end setCombatCallback(combat9_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2") -- Areas/Combat for 1600ms local combat16_Brush_3 = createCombatObject() setCombatParam(combat16_Brush_3, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA) setCombatParam(combat16_Brush_3, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE) setCombatArea(combat16_Brush_3,createCombatArea({{0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0}, {1, 1, 1, 1, 1, 2, 0, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, {0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0}})) function getDmg_Brush_3(cid, level, maglevel) return (200)*-1,(400)*-1 end setCombatCallback(combat16_Brush_3, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_3") -- Areas/Combat for 2500ms local combat25_Brush_4 = createCombatObject() setCombatParam(combat25_Brush_4, COMBAT_PARAM_EFFECT, CONST_ME_ICEATTACK) setCombatParam(combat25_Brush_4, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatArea(combat25_Brush_4,createCombatArea({{1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 2, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1, 1}})) function getDmg_Brush_4(cid, level, maglevel) return (10)*-1,(20)*-1 end setCombatCallback(combat25_Brush_4, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_4") -- =============== CORE FUNCTIONS =============== local function RunPart(c,cid,var,dirList,dirEmitPos) -- Part if (isCreature(cid)) then doCombat(cid, c, var) if (dirList ~= nil) then -- Emit distance effects local i = 2; while (i < #dirList) do doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x-dirList[i],y=dirEmitPos.y-dirList[i+1],z=dirEmitPos.z},dirList[1]) i = i + 2 end end end end function onCastSpell(cid, var) local startPos = getCreaturePosition(cid) RunPart(combat0_Brush,cid,var) addEvent(RunPart,900,combat9_Brush_2,cid,var) addEvent(RunPart,1600,combat16_Brush_3,cid,var) addEvent(RunPart,2500,combat25_Brush_4,cid,var) return true end Se ajudei, da um rep+ xD Qualquer outra duvida, só postar. EDIT: A propósito, tópico está na sessão errada, por favor algum adm envie pra sessão correta x.x no poke cyan nao e assim a magia toda fica em pokemon moves do lib em areas do lib depois tem estar tbm no spell xml e spell script ps. como dividila nessas partes que eu nao sei. se precisar add skype. clebermoreno1 vlw
Postado Junho 22, 2015 10 anos Ahh ta, eu n tinha notado a parte do cyan. Realmente não manjo de OTs derivados... =/
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.