Postado Setembro 10, 2020 4 anos Fala pessoal. Eu peguei um script de magia que cria uma estatua que fica atacando e some depois de um tempo. Ai eu pensei em modificar ela e fazer com que surja um tambor que fica por tempo limitado. E quando se da use nesse tambor ele continua tocando a musica dele, aparece mensagem em cima dele configuravel, e tambem da uma magia de cura em area. Toda vez que toca ele cura em area. Detalhes: - Tinha que limitar pra nao poder da spam muito rapido na cura. - O tambor tem que aparecer na frente do personagem - Lembrando: Efeitos de use no tambor summonado: Sonzinho, Mensagem em laranja, e magia de cura em area. Segue o script base: Você tem o código disponível? Se tiver publique-o aqui: local config = { statue = 2367, range = 5, max_dmg = -150, min_dmg = -50, hit_delay = 1000, statue_time = 10*1000, cd = 20, stg = 5570 } local max_hits = config.statue_time/config.hit_delay local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA) setCombatFormula(combat, COMBAT_FORMULA_DAMAGE, 0, config.min_dmg, 0, config.max_dmg) local condition = createConditionObject(CONDITION_INFIGHT) setConditionParam(condition, CONDITION_PARAM_TICKS, 10 * 1000) function removeItem(pos) doRemoveItem(getTileItemById(pos, config.statue).uid) end function attackSpecs(cid, pos, var, hits) n = hits or 0 if n >= max_hits then return false end local spec = getSpectators(pos, config.range, config.range) i = spec[math.random(1, #spec)] if #spec <= 1 then return false end while(i == cid) do i = spec[math.random(1, #spec)] end if isCreature(i) then var.pos = getCreaturePosition(i) doSendDistanceShoot(pos, var.pos, CONST_ANI_SUDDENDEATH) doCombat(cid, combat, var) end addEvent(attackSpecs, config.hit_delay, cid, pos, var, n+1) end function itemInteraction(cid, pos, var) attackSpecs(cid, pos, var) addEvent(removeItem, config.statue_time, pos) end function onCastSpell(cid, var) if not isPlayer(cid) then return false end if getPlayerStorageValue(cid, config.stg) - os.time() <= 0 then doAddCondition(cid, condition) setPlayerStorageValue(cid, config.stg, os.time() + config.cd) local pos = Position(getCreaturePosition(cid).x+1, getCreaturePosition(cid).y, getCreaturePosition(cid).z) doCreateItem(config.statue, 1, pos) itemInteraction(cid, pos, var) else doPlayerSendCancel(cid, "You're exhausted.") end return true end Estou quase conseguindo o Script do tambor. Ele só esta curando o proprio player. Como faz para curar em área? function onUse(cid, item, fromPosition, itemEx, toPosition) local area = { {0, 0, 0, 0, 1, 0, 0, 0, 0}, {0, 0, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 1, 1, 1, 1, 1, 0, 0}, {0, 1, 1, 1, 1, 1, 1, 1, 0}, {1, 1, 1, 1, 1, 1, 1, 1, 1}, {0, 1, 1, 1, 1, 1, 1, 1, 0}, {0, 0, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 0, 0, 1, 0, 0, 0, 0} } doSendMagicEffect(fromPosition, CONST_ME_SOUND_BLUE) doAreaCombatHealth(fromPosition, COMBAT_HEALING, getThingPos(cid), area, 5, 20, CONST_ME_MAGIC_BLUE) doCreatureAddMana(cid, 5) return TRUE end Editado Setembro 10, 2020 4 anos por Vorkhon (veja o histórico de edições)
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.