só aparece efeito CONST_ME_POFF mensagem não aparece

info
Grupo: Artesão
Registrado: 02/11/12
Posts: 110
Reputação: +4
Char no Tibia: Druid

só aparece efeito CONST_ME_POFF mensagem não aparece

info
Grupo: Herói
Registrado: 01/05/08
Posts: 2.6k
Reputação: +536
Gênero: Masculino

só aparece efeito CONST_ME_POFF mensagem não aparece
Man, se a intenção é não causar lag, você pode usar assim:
local ml = 100 --- QUANTO DE ML VAI PRECISAR
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -60.0, -30, -50.0, 90)
local arr = {
{0, 1, 0},
{0, 1, 0},
{0, 1, 0}
}
local area = createCombatArea(arr)
setCombatArea(combat, area)
function onCastSpell(cid, var)
if getPlayerMagLevel(cid) < ml then
doPlayerSendCancel(cid, "Você precisa ter ml " .. ml .. " para usar essa magia!.")
doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)
return false
else
return doCombat(cid, combat, var)
end
end
info
Grupo: Artesão
Registrado: 02/11/12
Posts: 110
Reputação: +4
Char no Tibia: Druid

Man, se a intenção é não causar lag, você pode usar assim:
local ml = 100 --- QUANTO DE ML VAI PRECISAR local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -60.0, -30, -50.0, 90) local arr = { {0, 1, 0}, {0, 1, 0}, {0, 1, 0} } local area = createCombatArea(arr) setCombatArea(combat, area) function onCastSpell(cid, var) if getPlayerMagLevel(cid) < ml then doPlayerSendCancel(cid, "Você precisa ter ml " .. ml .. " para usar essa magia!.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return false else return doCombat(cid, combat, var) end end
mais assim não aparece mensagem so efeito CONST_ME_POFF
info
Grupo: Herói
Registrado: 01/05/08
Posts: 2.6k
Reputação: +536
Gênero: Masculino

mais assim não aparece mensagem so efeito CONST_ME_POFF
Está no spoiler o script...eu refiz de uma outra forma, usando o doPlayerSendCancel, que é o padrão para o "Sorry, not possible", "You're full", dentre outros.
Segue novamente:
local ml = 100 --- QUANTO DE ML VAI PRECISAR
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -60.0, -30, -50.0, 90)
local arr = {
{0, 1, 0},
{0, 1, 0},
{0, 1, 0}
}
local area = createCombatArea(arr)
setCombatArea(combat, area)
function onCastSpell(cid, var)
if getPlayerMagLevel(cid) < ml then
doPlayerSendCancel(cid, "Você precisa ter ml " .. ml .. " para usar essa magia!.")
doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)
return false
else
return doCombat(cid, combat, var)
end
end
info
Grupo: Artesão
Registrado: 02/11/12
Posts: 110
Reputação: +4
Char no Tibia: Druid

assim fica do modo normal preciso em
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você precisa ter ml " .. ml .. " para usar essa magia!.")
se player ficar dando spam no default da muted nele
info
Grupo: Herói
Registrado: 01/05/08
Posts: 2.6k
Reputação: +536
Gênero: Masculino

assim fica do modo normal preciso em
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você precisa ter ml " .. ml .. " para usar essa magia!.")
se player ficar dando spam no default da muted nele
Tenta assim:
local ml = 100 --- QUANTO DE ML VAI PRECISAR
local storage = 99488 -- STORAGE PARA CONTROLAR O EXAUST
local seconds = 10 -- TEMPO EM SEGUNDOS PARA REPETIR A MENSAGEM
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -60.0, -30, -50.0, 90)
local arr = {
{0, 1, 0},
{0, 1, 0},
{0, 1, 0}
}
local area = createCombatArea(arr)
setCombatArea(combat, area)
function onCastSpell(cid, var)
if getPlayerMagLevel(cid) < ml then
if exhaustion.check(cid, storage) > 0 then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você precisa ter ml " .. ml .. " para usar essa magia!.")
exhaustion.set(cid, storage, seconds)
end
doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)
return false
else
return doCombat(cid, combat, var)
end
end
info
Grupo: Herói
Registrado: 01/05/08
Posts: 2.6k
Reputação: +536
Gênero: Masculino
local ml = 100 --- QUANTO DE ML VAI PRECISAR local storage = 99488 -- STORAGE PARA CONTROLAR O EXAUST local seconds = 60 -- TEMPO EM SEGUNDOS PARA REPETIR A MENSAGEM local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -60.0, -30, -50.0, 90) local arr = { {0, 1, 0}, {0, 1, 0}, {0, 1, 0} } local area = createCombatArea(arr) setCombatArea(combat, area) function onCastSpell(cid, var) local exhaust = getPlayerStorageValue(cid, storage) local left = exhaust - os.time() if getPlayerMagLevel(cid) < ml then if left > 0 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você precisa ter ml " .. ml .. " para usar essa magia!.") setPlayerStorageValue(cid, storage, os.time() + seconds) end doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return false else return doCombat(cid, combat, var) end end