Spell TFS 1.X Magia com dois efeitos saindo no mesmo lugar em tempos diferentes
-
Quem Está Navegando 0 membros estão online
Nenhum usuário registrado visualizando esta página.
-
Conteúdo Similar
-
Por Anderson Sacani
Bom dia!
Estava de bobeira agora pela manhã e resolvi brincar um pouco.
Criei um script de SD no qual se for noite, ela retornará um valor X de dano, e, se for dia, ela retornará um valor Y de dano.
Estou compartilhando esse script para vocês terem como base e usarem até mesmo em outros:
local config = { damageDay = { min = 0.70, max = 0.75 }, damageNight = { min = 0.95, max = 1 }, hourStartDay = 6, hourEndDay = 18 } local combat = Combat() combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE) combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA) combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SUDDENDEATH) function onGetFormulaValues(player, level, maglevel) local min, max = ((level / 5) + (maglevel * 4.605)), ((level / 5) + (maglevel * 7.395)) local hour = tonumber(os.date("%H", os.time())) -- Obtém a hora atual -- Define o valor do dano com base na hora do dia if hour >= config.hourStartDay and hour < config.hourEndDay then -- Dia min = min * config.damageDay.min max = max * config.damageDay.max else -- Noite min = min * config.damageNight.min max = max * config.damageNight.max end return -min, -max end combat:setCallback(CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues") local rune = Spell("rune") function rune.onCastSpell(creature, var, isHotkey) return combat:execute(creature, var) end rune:group("attack") rune:name("sudden death rune") rune:runeId(3155) rune:allowFarUse(true) rune:charges(3) rune:level(45) rune:magicLevel(15) rune:cooldown(2 * 1000) rune:groupCooldown(2 * 1000) rune:needTarget(true) rune:isBlocking(true) -- True = Solid / False = Creature rune:register()
-
Por tvieira
Boa tarde, usuários do TibiaKing. Migrei recentemente pra TFS versão 1.4.1, 1098. E como sou usuáruio das 0.3, estou tendo algumas dificuldades com transferir magias.
Minha dúvida é em questão das addDamageCondition. Quero criar uma magia chamada "EXORI BLEED", que dá o dano normal, como um exori, mas cria a Condition de Bleeding, por 10 segundos, a cada segundo o inimigo que recebeu o dano fica por 10 segundos com ticks de 1500 (hemorragia).
Essa é a spell no TFS 0.3.6.
E agora minha tentativa (falha), na TFS atual, 1.4.1
Se alguém puder me auxiliar nisso, agradeço muito!
-
Por DarkRed
Alguem Poderia me ajuda com esse erro de spell do pokemon [13/03/2022 13:26:44] [Error - Spell Interface] [13/03/2022 13:26:44] data/spells/scripts/ps/Healarea.lua:onCastSpell [13/03/2022 13:26:44] Description: [13/03/2022 13:26:44] (luaGetThingFromPos) Tile not found [13/03/2022 13:34:08] [Error - Spell Interface] [13/03/2022 13:34:08] data/spells/scripts/ps/Hyper Beam.lua:onCastSpell [13/03/2022 13:34:08] Description: [13/03/2022 13:34:08] (luaGetThingFromPos) Tile not found [13/03/2022 13:26:44] [Error - Spell Interface] [13/03/2022 13:26:44] data/spells/scripts/ps/Healarea.lua:onCastSpell [13/03/2022 13:26:44] Description: [13/03/2022 13:26:44] (luaGetThingFromPos) Tile not found [13/03/2022 16:10:31] [Error - Spell Interface]
[13/03/2022 16:10:31] data/spells/scripts/ps/Thunder.lua:onCastSpell
[13/03/2022 16:10:31] Description:
[13/03/2022 16:10:31] (luaGetThingFromPos) Tile not found Healarea.lua Hyper_Beam.lua
Thunder.lua
-
Por EddyHavoc
Nome: Ice Wall
Tipo: Spell
Autor: Eddy Havoc
Essa é a versão final da spell Ice Wall ou Block Wall criada por mim.
Exibição in-game:
Crie um arquivo chamado ice_wall.lua na pasta data/spells/scripts/conjuring e copie o conteúdo abaixo:
--[[ Created by: Eddy Havoc name: Victor Amaral contact: [email protected] É proibido a venda ou a cópia sem os devidos créditos desse script. ]]-- local north = 0 local south = 2 local east = 1 local west = 3 local delay = 1 -- Tempo em segundos local itemh = 6728 local itemv = 6729 combat = createCombatObject() combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SMALLICE) function onCastSpell(creature, variant) local cDir = creature:getDirection() local cPos = creature:getPosition () local pos = (Position(0,0,0)) if cDir == north then if not getTileInfo(cPos).house and not getTilePzInfo(cPos) then setCombatParam(combat, COMBAT_PARAM_CREATEITEM, itemv) pos = Position(cPos + Position(0, -1)) meffect = pos:sendMagicEffect(44) end elseif cDir == east then if not getTileInfo(cPos).house and not getTilePzInfo(cPos) then setCombatParam(combat, COMBAT_PARAM_CREATEITEM, itemh) pos = Position(cPos + Position(1, 0)) meffect = pos:sendMagicEffect(44) end elseif cDir == south then if not getTileInfo(cPos).house and not getTilePzInfo(cPos) then setCombatParam(combat, COMBAT_PARAM_CREATEITEM, itemv) pos = Position(cPos + Position(0, 1)) meffect = pos:sendMagicEffect(44) end elseif cDir == west then if not getTileInfo(cPos).house and not getTilePzInfo(cPos) then setCombatParam(combat, COMBAT_PARAM_CREATEITEM, itemh) pos = Position(cPos + Position(-1, 0)) meffect = pos:sendMagicEffect(44) end end addEvent(function() local wall = {itemh, itemv} for i = 1, 2 do if getTileItemById(pos, wall[i]).uid > 0 then doRemoveItem(getTileItemById(pos, wall[i]).uid) return TRUE end end end,delay*1000) return doCombat(creature, combat, variant) end Adicione a seguinte tag no arquivo spells.xml localizadon a pasta data/spells:
<instant group="support" spellid="94" name="Protection" words="Ice Wall" level="1" mana="1" casterTargetOrDirection="1" blocktype="all" prem="0" cooldown="1000" groupcooldown="500" needlearn="0" script="conjuring/ice_wall.lua"> <vocation name="Elder Druid"/> </instant>
Para configurar qual item a spell irá conjurar edite itemh/itemv. Itemh: item que irá aparecer horizontalmente (norte e sul). Itemv: item que irá aparecer verticalmente (leste e oeste).
Qualquer dúvida estou a disposição,
Atenciosamente, Eddy Havoc.
-
Por Kazuya9629
Boa noite alguém pode fazer spell de pokémon com animação de ouftit em target canudo e área pramin
-
Posts Recomendados
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.