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!
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!
Você já tem a spell ai?Se sim, poste pf
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
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
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!
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
Agora ta 100%, muito obrigado.
Ja dei Rep (eu axo, sou novo aq cliquei em uma seta verde perto do teu nome =x )
Tópico movido para a seção de dúvidas e pedidos resolvidos.
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
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
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
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!
Eu percebi q vc não tinha botado o local ring = mas eu coloquei assim mesmo u.u
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
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