leandrozera 4 Postado Agosto 5, 2015 Share Postado Agosto 5, 2015 olá galerinha do Xtibia gostaria de saber como faço para por quando player não tiver ml para usar tal magia usar a forma doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você precisa ter ml x para usar essa magia!.") em vez de sendCancel("You do not have enough magic level."); nessa magia aqui no caso 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) return doCombat(cid, combat, var) end Link para o comentário https://xtibia.com/forum/topic/236017-ajuda-com-script-de-spell/ Compartilhar em outros sites More sharing options...
0 Bruno 536 Postado Agosto 5, 2015 Share Postado Agosto 5, 2015 CONST_ME_POFF agora deu certo so não esta mostrando mensagem doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você precisa ter ml " .. ml .. " para usar essa magia!.") 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 Link para o comentário https://xtibia.com/forum/topic/236017-ajuda-com-script-de-spell/page/2/#findComment-1663924 Compartilhar em outros sites More sharing options...
0 leandrozera 4 Postado Agosto 5, 2015 Autor Share Postado Agosto 5, 2015 só aparece efeito CONST_ME_POFF mensagem não aparece Link para o comentário https://xtibia.com/forum/topic/236017-ajuda-com-script-de-spell/page/2/#findComment-1663933 Compartilhar em outros sites More sharing options...
0 Bruno 536 Postado Agosto 5, 2015 Share Postado Agosto 5, 2015 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 Link para o comentário https://xtibia.com/forum/topic/236017-ajuda-com-script-de-spell/page/2/#findComment-1663943 Compartilhar em outros sites More sharing options...
0 leandrozera 4 Postado Agosto 5, 2015 Autor Share Postado Agosto 5, 2015 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 Link para o comentário https://xtibia.com/forum/topic/236017-ajuda-com-script-de-spell/page/2/#findComment-1663946 Compartilhar em outros sites More sharing options...
0 Bruno 536 Postado Agosto 5, 2015 Share Postado Agosto 5, 2015 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 Link para o comentário https://xtibia.com/forum/topic/236017-ajuda-com-script-de-spell/page/2/#findComment-1663947 Compartilhar em outros sites More sharing options...
0 leandrozera 4 Postado Agosto 5, 2015 Autor Share Postado Agosto 5, 2015 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 Link para o comentário https://xtibia.com/forum/topic/236017-ajuda-com-script-de-spell/page/2/#findComment-1663953 Compartilhar em outros sites More sharing options...
Pergunta
leandrozera 4
olá galerinha do Xtibia gostaria de saber como faço para por quando player não tiver ml para usar tal magia usar a forma
em vez de
sendCancel("You do not have enough magic level.");
nessa magia aqui no caso
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) return doCombat(cid, combat, var) endLink para o comentário
https://xtibia.com/forum/topic/236017-ajuda-com-script-de-spell/Compartilhar em outros sites
21 respostass a esta questão
Posts Recomendados