KeHHu 0 Опубликовано 19 апреля, 2011 скинте и обьесните как ето зделать блок баф??? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Kinnect 0 Опубликовано 19 апреля, 2011 Вроде должен быть скил (обычно, я не юзаю фрозенов) с блок бафом, ищи в skillname. или же в гугле. А так существуют множество скриптов, позволяющие это сделать. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
System 20 Опубликовано 19 апреля, 2011 За пивко зделаю пишы в аську 583-718-734 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
xINVIZIBLx 67 Опубликовано 20 апреля, 2011 Core---> ### Eclipse Workspace Patch 1.0 #P L2JFrozen_Gameserver Index: head-src/com/l2jfrozen/gameserver/handler/skillhandlers/Continuous.java =================================================================== --- head-src/com/l2jfrozen/gameserver/handler/skillhandlers/Continuous.java (revision 601) +++ head-src/com/l2jfrozen/gameserver/handler/skillhandlers/Continuous.java (working copy) @@ -128,6 +128,16 @@ // Walls and Door should not be buffed if(target instanceof L2DoorInstance && (skill.getSkillType() == L2Skill.SkillType.BUFF || skill.getSkillType() == L2Skill.SkillType.HOT)) continue; + + // Anti-Buff Protection prevents you from getting buffs by other players + if (activeChar instanceof L2PlayableInstance && target != activeChar && target.isBuffProtected() && !skill.isHeroSkill() + && (skill.getSkillType() == L2Skill.SkillType.BUFF + || skill.getSkillType() == L2Skill.SkillType.HEAL_PERCENT + || skill.getSkillType() == L2Skill.SkillType.FORCE_BUFF + || skill.getSkillType() == L2Skill.SkillType.MANAHEAL_PERCENT + || skill.getSkillType() == L2Skill.SkillType.COMBATPOINTHEAL + || skill.getSkillType() == L2Skill.SkillType.REFLECT)) + continue; // Player holding a cursed weapon can't be buffed and can't buff if(skill.getSkillType() == L2Skill.SkillType.BUFF) Index: head-src/com/l2jfrozen/gameserver/model/L2Character.java =================================================================== --- head-src/com/l2jfrozen/gameserver/model/L2Character.java (revision 601) +++ head-src/com/l2jfrozen/gameserver/model/L2Character.java (working copy) @@ -158,6 +158,7 @@ private L2Skill _lastPotionCast; private boolean _isAfraid = false; // Flee in a random direction + private boolean _isBuffProtected = false; //Protect From Debuffs private boolean _isConfused = false; // Attack anyone randomly private boolean _isFakeDeath = false; // Fake death private boolean _isFlying = false; // Is flying Wyvern? @@ -2177,6 +2178,16 @@ _isAfraid = value; } + + public final void setIsBuffProtected(boolean value) + { + _isBuffProtected = value; + } + + public boolean isBuffProtected() + { + return _isBuffProtected; + } /** Return True if the L2Character is dead or use fake death. */ public final boolean isAlikeDead() { Index: head-src/com/l2jfrozen/gameserver/skills/effects/EffectDeflectBuff.java =================================================================== --- head-src/com/l2jfrozen/gameserver/skills/effects/EffectDeflectBuff.java (revision 0) +++ head-src/com/l2jfrozen/gameserver/skills/effects/EffectDeflectBuff.java (revision 0) @@ -0,0 +1,82 @@ +package com.l2jfrozen.gameserver.skills.effects; + +import com.l2jfrozen.gameserver.model.L2Effect; +import com.l2jfrozen.gameserver.model.L2Effect.EffectType; +import com.l2jfrozen.gameserver.model.L2Skill.SkillType; +import com.l2jfrozen.gameserver.network.SystemMessageId; +import com.l2jfrozen.gameserver.network.serverpackets.SystemMessage; +import com.l2jfrozen.gameserver.skills.Env; + +/** + * @author Java + */ +public final class EffectDeflectBuff extends L2Effect +{ + /** + * @param env + * @param template + */ + public EffectDeflectBuff(Env env, EffectTemplate template) + { + super(env, template); + } + + /* + * (non-Javadoc) + * + * @see com.l2jfrozen.gameserver.model.L2Effect#getEffectType() + */ + @Override + public EffectType getEffectType() + { + return EffectType.PREVENT_BUFF; + } + + /* + * (non-Javadoc) + * + * @see com.l2jfrozen.gameserver.model.L2Effect#onActionTime() + */ + @Override + public boolean onActionTime() + { + // Only cont skills shouldn't end + if(getSkill().getSkillType() != SkillType.CONT) + return false; + + double manaDam = calc(); + + if(manaDam > getEffected().getCurrentMp()) + { + SystemMessage sm = new SystemMessage(SystemMessageId.SKILL_REMOVED_DUE_LACK_MP); + getEffected().sendPacket(sm); + return false; + } + + getEffected().reduceCurrentMp(manaDam); + return true; + } + + /* + * (non-Javadoc) + * + * @see com.l2jfrozen.gameserver.model.L2Effect#onStart() + */ + @Override + public void onStart() + { + getEffected().setIsBuffProtected(true); + return; + } + + /* + * (non-Javadoc) + * + * @see com.l2jfrozen.gameserver.model.L2Effect#onExit() + */ + @Override + public void onExit() + { + getEffected().setIsBuffProtected(false); + } +} \ No newline at end of file Index: head-src/com/l2jfrozen/gameserver/model/L2Effect.java =================================================================== --- head-src/com/l2jfrozen/gameserver/model/L2Effect.java (revision 601) +++ head-src/com/l2jfrozen/gameserver/model/L2Effect.java (working copy) @@ -105,7 +105,8 @@ FUSION, CANCEL, BLOCK_BUFF, - BLOCK_DEBUFF + BLOCK_DEBUFF, + PREVENT_BUFF } private static final Func[] _emptyFunctionSet = new Func[0]; Datapack---> <skill id="add the skill id here" levels="1" name="AntiBuff-Shield"> <set name="target" val="TARGET_SELF"/> <set name="skillType" val="CONT"/> <set name="operateType" val="OP_TOGGLE"/> <set name="castRange" val="-1"/> <set name="effectRange" val="-1"/> <for> <effect count="0x7fffffff" name="DeflectBuff" time="3" val="0"/> </for> </skill> С тебя 5 рублей) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты