Postado Setembro 4, 2020 4 anos 17 horas atrás, WooX disse: Certifique-se de que possui a função instalada na source. Ao realizar o teste, deixe uma arma no char que deve perder o target para ter certeza de que o ataque foi interrompido. Dependendo do client que estiver utilizando a marca do target não vai ser removida, essa parte é client-side. Bom dia, consegue adaptar para ao invés de cancelar o target, dar um nomove de 5 segundos e depois remover o nomove ao acabar?
Postado Setembro 5, 2020 4 anos Em 03/09/2020 em 17:50, BangxD disse: Testei aqui e nao funcionou tambem nao. A spell está configurada pra não afetar aliados (jogadores na mesma party ou da mesma guild), e também ira apenas remover o target, para realizar o bloqueio do target ainda é necessário utilizar em conjunto a spell o creaturescript postado pelo @Lurk, eu testei a spell novamente e está funcional. Em 04/09/2020 em 10:13, .HuRRiKaNe disse: Bom dia, consegue adaptar para ao invés de cancelar o target, dar um nomove de 5 segundos e depois remover o nomove ao acabar? Spoiler --[[ <instant name="Paralyze Target" words="gtfo" lvl="55" mana="650" selftarget="1" prem="0" exhaustion="1800" needlearn="0" event="script" value="support/paralyze_target.lua"> <vocation id="1"/> <vocation id="5"/> </instant> ]] local config = { paralyzeTime = 5, -- Segundos affectAllies = false, affectTargetCasterOnly = false -- Se marcado como true ira paralyzar somente quem estiver atacando o usuario da spell } local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_BIGCLOUDS) setAttackFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 8, 5, 7, 11) function onTargetCreature(cid, target) if config.affectTargetCasterOnly and getCreatureTarget(target) ~= cid then return false end if not config.affectAllies then local partyMembers = getPartyMembers(cid) if getPlayerGuildId(cid) == getPlayerGuildId(target) or isInArray(partyMembers, target) then return false end end doCreatureSetNoMove(target, true) addEvent(function() if isPlayer(target) then doCreatureSetNoMove(target, false) end end, config.paralyzeTime * 1000) return true end setCombatCallback(combat, CALLBACK_PARAM_TARGETCREATURE, "onTargetCreature") local area = createCombatArea(AREA_CROSS6X6) setCombatArea(combat, area) function onCastSpell(cid, var) return doCombat(cid, combat, var) end Editado Novembro 2, 2020 4 anos por WooX (veja o histórico de edições)
Postado Setembro 5, 2020 4 anos 1 hora atrás, WooX disse: A spell está configurada pra não afetar aliados (jogadores na mesma party ou da mesma guild), e também ira apenas remover o target, para realizar o bloqueio do target ainda é necessário utilizar em conjunto a spell o creaturescript postado pelo @Lurk, eu testei a spell novamente e está funcional. Ocultar conteúdo --[[ <instant name="Paralyze Target" words="gtfo" lvl="55" mana="650" selftarget="1" prem="0" exhaustion="1800" needlearn="0" event="script" value="support/paralyze_target.lua"> <vocation id="1"/> <vocation id="5"/> </instant> ]] local config = { paralyzeTime = 5, -- Segundos affectAllies = false, affectTargetCasterOnly = false -- Se marcado como true ira paralyzar somente quem estiver atacando o usuario da spell } local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_BIGCLOUDS) setAttackFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 8, 5, 7, 11) function onTargetCreature(cid, target) if config.affectTargetCasterOnly and getCreatureTarget(target) ~= cid then return false end if not config.affectAllies then local partyMembers = getPartyMembers(cid) if getPlayerGuildId(cid) == getPlayerGuildId(target) or isInArray(partyMembers, target) then return false end end doCreatureSetNoMove(target, true) addEvent(function() if isPlayer(target) doCreatureSetNoMove(target, false) end end, config.paralyzeTime * 1000) return true end setCombatCallback(combat, CALLBACK_PARAM_TARGETCREATURE, "onTargetCreature") local area = createCombatArea(AREA_CROSS6X6) setCombatArea(combat, area) function onCastSpell(cid, var) return doCombat(cid, combat, var) end Testei aqui nao funcionou, a minha distro é cheia de erros, não consigo ver se deu algum erro..
Postado Setembro 5, 2020 4 anos 20 horas atrás, .HuRRiKaNe disse: Testei aqui nao funcionou, a minha distro é cheia de erros, não consigo ver se deu algum erro.. Sem algum tipo de erro fica difícil te ajudar.
Postado Outubro 31, 2020 4 anos Em 05/09/2020 em 19:51, WooX disse: Sem algum tipo de erro fica difícil te ajudar. achei um erro aqui. addEvent(function() if isPlayer(target) doCreatureSetNoMove(target, false) end end, config.paralyzeTime * 1000) falta o then, mas msm assim nao acontece nada. os player nao ficam parado. sem erros distros...
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.