Estou com um problema e não consegui arrumar.. se alguem puder ajudar agradeço.
A spell poison gas que tinha era assim:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_POISONDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, 22)
setCombatParam(combat, COMBAT_PARAM_HITCOLOR, 154)
setCombatParam(combat, COMBAT_PARAM_ELEMENT, 8)
local area = createCombatArea(AREA_CIRCLE2X2)
setCombatArea(combat, area)
function onCastSpell(cid, var)
doSaySpell(cid, "Poison Gas")
return doCombat(cid, combat, var)
end
Modifiquei ela para essa pois só dava 1 hit, em vez de dar vários..
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_POISONDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, 22)
setCombatParam(combat, COMBAT_PARAM_HITCOLOR, 154)
setCombatParam(combat, COMBAT_PARAM_ELEMENT, 8)
local area = createCombatArea(AREA_CIRCLE2X2)
setCombatArea(combat, area)
function onCastSpell(cid, var)
if getPlayerStorageValue(cid, 8) >= 1 then
return true
end
doCreatureSay(cid, "Poison Gas", TALKTYPE_MONSTER)
if getPlayerStorageValue(cid, 3) >= 1 then
doSendAnimatedText(getThingPos(cid), "MISS", 215)
setPlayerStorageValue(cid, 3, -1)
return true
end
if getPlayerStorageValue(cid, 5) >= 1 then
if math.random(1,100) <= 33 then
doSendAnimatedText(getThingPos(cid), "SELF HIT", 180)
if isPlayer(getCreatureTarget(cid)) then
huah = getPlayerLevel(getCreatureTarget(cid))
else
huah = getPlayerLevel(getCreatureMaster(getCreatureTarget(cid)))
end
local levels = huah
doTargetCombatHealth(getCreatureTarget(cid), cid, COMBAT_PHYSICALDAMAGE, -(math.random((levels*3),(levels*5))), -((math.random((levels*3),(levels*5))+10)), 3)
return true
end
end
local function gas(params)
if isCreature(params.cid) then
doAreaCombatHealth(cid, COMBAT_POISONDAMAGE, getThingPos(cid), area, -(params.x), -(params.y), 22)
end
end
if getCreatureName(cid) == "Articuno" then
min = 5
elseif getCreatureName(cid) == "Vileplume" then
min = 85
elseif getCreatureName(cid) == "Gloom" then
min = 25
elseif getCreatureName(cid) == "Koffing" then
min = 10
elseif getCreatureName(cid) == "Weezing" then
min = 55
end
local x = min
local y = x + 10
addEvent(gas, 000, {cid = cid, x = x, y = y})
addEvent(gas, 500, {cid = cid, x = x, y = y})
addEvent(gas, 1000, {cid = cid, x = x, y = y})
addEvent(gas, 1500, {cid = cid, x = x, y = y})
addEvent(gas, 2200, {cid = cid, x = x, y = y})
addEvent(gas, 2700, {cid = cid, x = x, y = y})
addEvent(gas, 3200, {cid = cid, x = x, y = y})
addEvent(gas, 3900, {cid = cid, x = x, y = y})
addEvent(gas, 4400, {cid = cid, x = x, y = y})
addEvent(gas, 4900, {cid = cid, x = x, y = y})
end
Funcionou soltando todas, porem ficou sem cd, se eu soltar a spell novamente ela sai em vez de contar o cd.
Pergunta
icaro201094 2
Estou com um problema e não consegui arrumar.. se alguem puder ajudar agradeço.
A spell poison gas que tinha era assim:
Modifiquei ela para essa pois só dava 1 hit, em vez de dar vários..
local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_POISONDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, 22) setCombatParam(combat, COMBAT_PARAM_HITCOLOR, 154) setCombatParam(combat, COMBAT_PARAM_ELEMENT, 8) local area = createCombatArea(AREA_CIRCLE2X2) setCombatArea(combat, area) function onCastSpell(cid, var) if getPlayerStorageValue(cid, 8) >= 1 then return true end doCreatureSay(cid, "Poison Gas", TALKTYPE_MONSTER) if getPlayerStorageValue(cid, 3) >= 1 then doSendAnimatedText(getThingPos(cid), "MISS", 215) setPlayerStorageValue(cid, 3, -1) return true end if getPlayerStorageValue(cid, 5) >= 1 then if math.random(1,100) <= 33 then doSendAnimatedText(getThingPos(cid), "SELF HIT", 180) if isPlayer(getCreatureTarget(cid)) then huah = getPlayerLevel(getCreatureTarget(cid)) else huah = getPlayerLevel(getCreatureMaster(getCreatureTarget(cid))) end local levels = huah doTargetCombatHealth(getCreatureTarget(cid), cid, COMBAT_PHYSICALDAMAGE, -(math.random((levels*3),(levels*5))), -((math.random((levels*3),(levels*5))+10)), 3) return true end end local function gas(params) if isCreature(params.cid) then doAreaCombatHealth(cid, COMBAT_POISONDAMAGE, getThingPos(cid), area, -(params.x), -(params.y), 22) end end if getCreatureName(cid) == "Articuno" then min = 5 elseif getCreatureName(cid) == "Vileplume" then min = 85 elseif getCreatureName(cid) == "Gloom" then min = 25 elseif getCreatureName(cid) == "Koffing" then min = 10 elseif getCreatureName(cid) == "Weezing" then min = 55 end local x = min local y = x + 10 addEvent(gas, 000, {cid = cid, x = x, y = y}) addEvent(gas, 500, {cid = cid, x = x, y = y}) addEvent(gas, 1000, {cid = cid, x = x, y = y}) addEvent(gas, 1500, {cid = cid, x = x, y = y}) addEvent(gas, 2200, {cid = cid, x = x, y = y}) addEvent(gas, 2700, {cid = cid, x = x, y = y}) addEvent(gas, 3200, {cid = cid, x = x, y = y}) addEvent(gas, 3900, {cid = cid, x = x, y = y}) addEvent(gas, 4400, {cid = cid, x = x, y = y}) addEvent(gas, 4900, {cid = cid, x = x, y = y}) endFuncionou soltando todas, porem ficou sem cd, se eu soltar a spell novamente ela sai em vez de contar o cd.
E a spell está configurada com cd no pokemon.
Link para o comentário
https://xtibia.com/forum/topic/238992-spell-n%C3%A3o-pega-cd/Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados