Postado Novembro 29, 2022 2 anos TSF 1.0 to tentando fazer uma sword atacar todos os elementos porem em um 3x3 alguém ajuda script Spoiler local min, max = 1700,1900 --Ataque mínino e ataque máximo local w = { [1] = {ef = 36, sh = 3, dmg = COMBAT_FIREDAMAGE}, [2] = {ef = 42, sh = 28, dmg = COMBAT_ICEDAMAGE}, [3] = {ef = 46, sh = 38, dmg = COMBAT_POISONDAMAGE}, [4] = {ef = 17, sh = 31, dmg = COMBAT_DEATHDAMAGE}, [5] = {ef = 47, sh = 35, dmg = COMBAT_ENERGYDAMAGE}, [6] = {ef = 36, sh = 31, dmg = COMBAT_PHYSICALDAMAGE}, [7] = {ef = 49, sh = 37, dmg = COMBAT_HOLYDAMAGE} } local area = createCombatArea( { {1, 1, 1}, {1, 3, 1}, {1, 1, 1} } ) setCombatArea(combat, area) function onUseWeapon(cid, var) local effect = getPlayerStorageValue(cid, 4561) local target = getCreatureTarget(cid) if target ~= 0 then local wx = w[effect] or w[math.random(#w)] doSendDistanceShoot(getThingPos(cid), getThingPos(target), wx.sh) addEvent(doAreaCombatHealth, 100, cid, wx.dmg, getThingPos(target), 0, -min, -max, wx.ef) end return true end erro aparecendo Spoiler [Error - Test Interface] data/weapons/scripts/axearea.lua Description: (LuaInterface::luaSetCombatArea) Combat not found
Postado Dezembro 21, 2022 2 anos -- SpellCreator generated. -- =============== COMBAT VARS =============== -- Areas/Combat for 0ms local combat0_Fire = createCombatObject() setCombatParam(combat0_Fire, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA) setCombatParam(combat0_Fire, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) setCombatArea(combat0_Fire,createCombatArea({{1, 1, 1}, {1, 2, 1}, {1, 1, 1}})) function getDmg_Fire(cid, level, maglevel) return (242)*-1,(271)*-1 end setCombatCallback(combat0_Fire, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Fire") local dfcombat0_Fire = {CONST_ANI_WHIRLWINDSWORD,1,1,0,1,-1,1,-1,0,-1,-1,0,-1,1,-1,1,0} -- Areas/Combat for 500ms local combat5_Ice = createCombatObject() setCombatParam(combat5_Ice, COMBAT_PARAM_EFFECT, CONST_ME_ICEAREA) setCombatParam(combat5_Ice, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE) setCombatArea(combat5_Ice,createCombatArea({{1, 1, 1}, {1, 2, 1}, {1, 1, 1}})) function getDmg_Ice(cid, level, maglevel) return (242)*-1,(271)*-1 end setCombatCallback(combat5_Ice, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Ice") local dfcombat5_Ice = {CONST_ANI_WHIRLWINDSWORD,1,1,0,1,-1,1,-1,0,-1,-1,0,-1,1,-1,1,0} -- Areas/Combat for 1000ms local combat10_Poison = createCombatObject() setCombatParam(combat10_Poison, COMBAT_PARAM_EFFECT, CONST_ME_POISONAREA) setCombatParam(combat10_Poison, COMBAT_PARAM_TYPE, COMBAT_POISONDAMAGE) setCombatArea(combat10_Poison,createCombatArea({{1, 1, 1}, {1, 2, 1}, {1, 1, 1}})) function getDmg_Poison(cid, level, maglevel) return (242)*-1,(271)*-1 end setCombatCallback(combat10_Poison, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Poison") local dfcombat10_Poison = {CONST_ANI_WHIRLWINDSWORD,1,1,0,1,-1,1,-1,0,-1,-1,0,-1,1,-1,1,0} -- Areas/Combat for 1500ms local combat15_Death = createCombatObject() setCombatParam(combat15_Death, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA) setCombatParam(combat15_Death, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE) setCombatArea(combat15_Death,createCombatArea({{1, 1, 1}, {1, 2, 1}, {1, 1, 1}})) function getDmg_Death(cid, level, maglevel) return (242)*-1,(271)*-1 end setCombatCallback(combat15_Death, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Death") local dfcombat15_Death = {CONST_ANI_WHIRLWINDSWORD,1,1,0,1,-1,1,-1,0,-1,-1,0,-1,1,-1,1,0} -- Areas/Combat for 2000ms local combat20_Energy = createCombatObject() setCombatParam(combat20_Energy, COMBAT_PARAM_EFFECT, CONST_ME_ENERGYAREA) setCombatParam(combat20_Energy, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE) setCombatArea(combat20_Energy,createCombatArea({{1, 1, 1}, {1, 2, 1}, {1, 1, 1}})) function getDmg_Energy(cid, level, maglevel) return (242)*-1,(271)*-1 end setCombatCallback(combat20_Energy, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Energy") local dfcombat20_Energy = {CONST_ANI_WHIRLWINDSWORD,1,1,0,1,-1,1,-1,0,-1,-1,0,-1,1,-1,1,0} -- Areas/Combat for 2500ms local combat25_Physical = createCombatObject() setCombatParam(combat25_Physical, COMBAT_PARAM_EFFECT, CONST_ME_DRAWBLOOD) setCombatParam(combat25_Physical, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat25_Physical, COMBAT_PARAM_BLOCKARMOR, true) setCombatArea(combat25_Physical,createCombatArea({{1, 1, 1}, {1, 2, 1}, {1, 1, 1}})) function getDmg_Physical(cid, level, maglevel) return (242)*-1,(271)*-1 end setCombatCallback(combat25_Physical, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Physical") local dfcombat25_Physical = {CONST_ANI_WHIRLWINDSWORD,1,-1,1,0,1,1,0,1,-1,1,-1,0,-1,-1,0,-1} -- Areas/Combat for 3000ms local combat30_Holy = createCombatObject() setCombatParam(combat30_Holy, COMBAT_PARAM_EFFECT, CONST_ME_HOLYAREA) setCombatParam(combat30_Holy, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE) setCombatArea(combat30_Holy,createCombatArea({{1, 1, 1}, {1, 2, 1}, {1, 1, 1}})) function getDmg_Holy(cid, level, maglevel) return (242)*-1,(271)*-1 end setCombatCallback(combat30_Holy, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Holy") local dfcombat30_Holy = {CONST_ANI_WHIRLWINDSWORD,1,-1,1,0,1,1,0,1,-1,1,-1,0,-1,-1,0,-1} -- =============== 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_Fire,cid,var,dfcombat0_Fire,startPos) addEvent(RunPart,500,combat5_Ice,cid,var,dfcombat5_Ice,startPos) addEvent(RunPart,1000,combat10_Poison,cid,var,dfcombat10_Poison,startPos) addEvent(RunPart,1500,combat15_Death,cid,var,dfcombat15_Death,startPos) addEvent(RunPart,2000,combat20_Energy,cid,var,dfcombat20_Energy,startPos) addEvent(RunPart,2500,combat25_Physical,cid,var,dfcombat25_Physical,startPos) addEvent(RunPart,3000,combat30_Holy,cid,var,dfcombat30_Holy,startPos) return true end
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.