Você já tem a spell ai?Se sim, poste pf
info
Grupo: Herói
Registrado: 14/12/10
Posts: 3.6k
Reputação: +846
Gênero: Masculino

Editado Março 20 por Roksas
info
Grupo: Campones
Registrado: 13/01/13
Posts: 16
Reputação: 0

Não esta totalmente pronta mas... digamos que é essa!
local scom1 = createCombatObject()
local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatParam(combat1, COMBAT_PARAM_EFFECT, 35)
setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -1500, -0, -2000, 0)
arr1 = {
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
}
local area1 = createCombatArea(arr1)
setCombatArea(scom1, area1)
function onTargetTile(cid, pos)
local p = getThingPos(cid)
local basep = {x = p.x + 5, y = p.y - 5, z = p.z}
doSendDistanceShoot(basep, pos, 30)
doCombat(cid,combat1,positionToVariant(pos))
end
setCombatCallback(scom1, CALLBACK_PARAM_TARGETTILE, "onTargetTile")
local function onCastSpell1(parameters)
doCombat(parameters.cid, scom1, parameters.var)
end
function onCastSpell(cid, var)
local parameters = { cid = cid, var = var}
addEvent(onCastSpell1, 50, parameters)
return TRUE
end
info
Grupo: Herói
Registrado: 14/12/10
Posts: 3.6k
Reputação: +846
Gênero: Masculino

No caso, assim:
local scom1 = createCombatObject()
local ring = 2168 -- ID DO RING
local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatParam(combat1, COMBAT_PARAM_EFFECT, 35)
setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -1500, -0, -2000, 0)
arr1 = {
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
}
local area1 = createCombatArea(arr1)
setCombatArea(scom1, area1)
function onTargetTile(cid, pos)
local p = getThingPos(cid)
local basep = {x = p.x + 5, y = p.y - 5, z = p.z}
doSendDistanceShoot(basep, pos, 30)
doCombat(cid,combat1,positionToVariant(pos))
end
setCombatCallback(scom1, CALLBACK_PARAM_TARGETTILE, "onTargetTile")
local function onCastSpell1(parameters)
doCombat(parameters.cid, scom1, parameters.var)
end
function onCastSpell(cid, var)
if (getPlayerSlotItem(cid, 9).itemid == ring) then
local parameters = { cid = cid, var = var}
addEvent(onCastSpell1, 50, parameters)
else
doPlayerSendCancel(cid,"You need will equiped with the special ring!")
end
return TRUE
end
Só no começo do script mudar o ID do ring ![]()
info
Grupo: Campones
Registrado: 13/01/13
Posts: 16
Reputação: 0

Muito obrigado, funcionou, mas ela continua saindo sem tar com o ring a diferença é que não solta a magia normalmente so upa ml(não gasta mana) mesmo assim eu irei usar vlw! ![]()
info
Grupo: Herói
Registrado: 14/12/10
Posts: 3.6k
Reputação: +846
Gênero: Masculino

Tenta:
local scom1 = createCombatObject()
local ring = 2168 -- ID DO RING
local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatParam(combat1, COMBAT_PARAM_EFFECT, 35)
setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -1500, -0, -2000, 0)
arr1 = {
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
}
local area1 = createCombatArea(arr1)
setCombatArea(scom1, area1)
function onTargetTile(cid, pos)
local p = getThingPos(cid)
local basep = {x = p.x + 5, y = p.y - 5, z = p.z}
doSendDistanceShoot(basep, pos, 30)
doCombat(cid,combat1,positionToVariant(pos))
end
setCombatCallback(scom1, CALLBACK_PARAM_TARGETTILE, "onTargetTile")
local function onCastSpell1(parameters)
doCombat(parameters.cid, scom1, parameters.var)
end
function onCastSpell(cid, var)
local parameters = { cid = cid, var = var}
if (getPlayerSlotItem(cid, 9).itemid == ring) then
addEvent(onCastSpell1, 50, parameters)
else
doPlayerSendCancel(cid,"You need will equiped with the special ring!")
return false
end
return true
end
info
Grupo: Campones
Registrado: 13/01/13
Posts: 16
Reputação: 0

Agora ta 100%, muito obrigado.
Ja dei Rep (eu axo, sou novo aq cliquei em uma seta verde perto do teu nome =x )
info
Grupo: Herói
Registrado: 14/12/10
Posts: 3.6k
Reputação: +846
Gênero: Masculino

Tópico movido para a seção de dúvidas e pedidos resolvidos.
info
Grupo: Campones
Registrado: 13/01/13
Posts: 16
Reputação: 0

Cara eu consegui com varias spells e tals mas teve uma q não deu =x
local scom1 = createCombatObject() local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, 10000) setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCEPERCENT, 400) setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELDPERCENT, -10) setConditionParam(condition, CONDITION_PARAM_BUFF, true) setCombatCondition(combat, condition) function onCastSpell(cid, var) return doCombat(cid, combat, var) end
info
Grupo: Herói
Registrado: 14/12/10
Posts: 3.6k
Reputação: +846
Gênero: Masculino

Amigo, não deu pois apenas a que eu editei vai funcionar ![]()
Se quiser, poste todas que queira o sistema para eu implantá-lo. Use spoilers para melhor oganização!
Use essa assim:
local scom1 = createCombatObject()
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false)
local condition = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition, CONDITION_PARAM_TICKS, 10000)
setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCEPERCENT, 400)
setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELDPERCENT, -10)
setConditionParam(condition, CONDITION_PARAM_BUFF, true)
setCombatCondition(combat, condition)
function onCastSpell(cid, var)
if (getPlayerSlotItem(cid, 9).itemid == ring) then
return doCombat(cid, combat, var)
else
doPlayerSendCancel(cid,"You need will equiped with the special ring!")
end
end
info
Grupo: Campones
Registrado: 13/01/13
Posts: 16
Reputação: 0

Muito obrigado! Eu estava conseguindo nas outras spells do tipo da primeira que tu botou, mas essa ai nem consegui!
Edit:
Não sei criar spoiler u.u
Editado Março 21 por matheusmhpc
info
Grupo: Herói
Registrado: 14/12/10
Posts: 3.6k
Reputação: +846
Gênero: Masculino

Troca essa por:
local scom1 = createCombatObject()
local ring = 2127 -- ID DO RING
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false)
local condition = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition, CONDITION_PARAM_TICKS, 10000)
setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCEPERCENT, 400)
setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELDPERCENT, -10)
setConditionParam(condition, CONDITION_PARAM_BUFF, true)
setCombatCondition(combat, condition)
function onCastSpell(cid, var)
if (getPlayerSlotItem(cid, 9).itemid == ring) then
doCombat(cid, combat, var)
else
doPlayerSendCancel(cid,"You need will equiped with the special ring!")
end
return doCombat(cid, combat, var)
end
No ínicio do código coloque o ID do ring!
Editado Março 21 por Roksas
info
Grupo: Campones
Registrado: 13/01/13
Posts: 16
Reputação: 0

Eu percebi q vc não tinha botado o local ring = mas eu coloquei assim mesmo u.u
info
Grupo: Herói
Registrado: 14/12/10
Posts: 3.6k
Reputação: +846
Gênero: Masculino

Sim , mas substitua o código. Eu havia editado mais coisas além disso ![]()
Veja se está funcionando! Qualquer erro distro poste por escrito/print
info
Grupo: Campones
Registrado: 13/01/13
Posts: 16
Reputação: 0

Cara aproveitando que voce ta aq... Eu quero criar um item vip, ele é um item encantado mas eu não quero q de para encantar ele, voce sabe como eu faço ? obrigado! u.u


info
Grupo: Campones
Registrado: 13/01/13
Posts: 16
Reputação: 0
Eu gostaria de uma spell q so pode ser ultilizada com um ring que eu escolho,
uma spell que so quem estiver ultilizando aquele ring podera usar ela!