local removeTime = 8 --time to remove the clones
local HAVE_CLONE = 65531 --storage to know if you have clones or not
local arr = {
{
{1},
{2}
},
{
{1, 0, 1},
{0, 2, 0}
},
{
{1, 0, 1},
{0, 2, 0},
{1, 0, 1}
},
{
{1, 0, 1},
{1, 2, 1},
{1, 0, 1}
},
{
{1, 1, 1},
{1, 2, 1},
{1, 1, 1}
},
{
{1, 1, 0, 1, 1},
{1, 0, 1, 0, 1},
{0, 1, 2, 1, 0},
{1, 0, 1, 0, 1},
{1, 1, 0, 1, 1}
}
}
local function removeCreatures(cid, creature)
setPlayerStorageValue(cid, HAVE_CLONE, 0)
if isCreature(creature) == TRUE then
doRemoveCreature(creature)
end
end
function onTargetTile(cid, pos)
local name = getPlayerName(cid)
local creature = doSummonCreature(name, pos)
doConvinceCreature(cid, creature)
setCreatureMaxHealth(creature, getPlayerMaxHealth(cid))
doCreatureAddHealth(creature, getPlayerMaxHealth(cid))
setCreatureMaxMana(creature, getPlayerMaxMana(cid))
doCreatureAddMana(creature, getPlayerMaxMana(cid))
doChangeSpeed(creature, getPlayerBaseSpeed(cid))
doSetCreatureOutfit(creature, getPlayerOutfit(cid), -1)
doSetCreatureName(creature, getPlayerName(cid))
addEvent(removeCreatures, removeTime * 1000, cid, creature)
return TRUE
end
local combat = {}
for i = 1, 6 do
combat[i] = createCombatObject()
setCombatParam(combat[i], COMBAT_PARAM_EFFECT, CONST_ME_POFF)
setCombatArea(combat[i], createCombatArea(arr[i]))
_G["onTargetTile" .. i] = onTargetTile
setCombatCallback(combat[i], CALLBACK_PARAM_TARGETTILE, "onTargetTile" .. i)
end
function onCastSpell(cid, var)
local level = getPlayerLevel(cid)
if getPlayerStorageValue(cid, HAVE_CLONE) < 1 then
if level < 200 then
doCombat(cid, combat[1], var)
elseif level < 300 then
doCombat(cid, combat[2], var)
elseif level < 400 then
doCombat(cid, combat[3], var)
elseif level < 500 then
doCombat(cid, combat[4], var)
elseif level < 600 then
doCombat(cid, combat[5], var)
else
doCombat(cid, combat[6], var)
end
setPlayerStorageValue(cid, HAVE_CLONE, 1)
else
doPlayerSendCancel(cid, "You already have clones.")
end
end