rafole Posted August 13, 2010 Posted August 13, 2010 Hey all, I am trying to make backstab to work ONLY from behind !! Realtek's share its not working, any1 could help me? :D Ty in advance :-*
0 Intrepid Posted August 13, 2010 Posted August 13, 2010 why would you do that its not retail like-.-"
0 rafole Posted August 13, 2010 Author Posted August 13, 2010 i don't want to make it totally not working xd just not working normal, i mean to have no chances from front !! :p no facestab xD
0 Fanky Posted August 13, 2010 Posted August 13, 2010 try this. http://www.maxcheaters.com/forum/index.php?topic=136581.0
0 adenaman Posted August 13, 2010 Posted August 13, 2010 try this. http://www.maxcheaters.com/forum/index.php?topic=136581.0 Credits: Realtek aka SkyLanceR aka Meh :D Hope to be useful. Realtek's share its not working,
0 Cod3x Posted August 13, 2010 Posted August 13, 2010 try this. http://www.maxcheaters.com/forum/index.php?topic=136581.0 Realtek's share its not working,
0 Fanky Posted August 13, 2010 Posted August 13, 2010 its not realtek's share. its skylancer share. Also with a little changes it works.
0 Fanky Posted August 13, 2010 Posted August 13, 2010 realtek = skylancer xd lol,sorry i didnt know it. by the way with a little changes it works.
0 rafole Posted August 13, 2010 Author Posted August 13, 2010 lol,sorry i didnt know it. by the way with a little changes it works. like
0 adenaman Posted August 13, 2010 Posted August 13, 2010 lol,sorry i didnt know it. i wrote it b4 :S btw Cod3x i was faster than you :)
0 Cod3x Posted August 13, 2010 Posted August 13, 2010 i wrote it b4 :S btw Cod3x i was faster than you :) wow cool xD
0 Fanky Posted August 13, 2010 Posted August 13, 2010 I DONT THINK that its shared backstuck success only from behind
0 h4sin Posted August 13, 2010 Posted August 13, 2010 gameserver\handler\skillhandlers\Blow.java /* This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA * 02111-1307, USA. * * http://www.gnu.org/copyleft/gpl.html */ package com.l2naran.gameserver.handler.skillhandlers; import com.l2naran.Config; import com.l2naran.gameserver.handler.ISkillHandler; import com.l2naran.gameserver.model.L2Character; import com.l2naran.gameserver.model.L2Effect; import com.l2naran.gameserver.model.L2Object; import com.l2naran.gameserver.model.L2Skill; import com.l2naran.gameserver.model.L2Summon; import com.l2naran.gameserver.model.L2Skill.SkillType; import com.l2naran.gameserver.model.actor.instance.L2ItemInstance; import com.l2naran.gameserver.model.actor.instance.L2PcInstance; import com.l2naran.gameserver.model.actor.instance.L2SummonInstance; import com.l2naran.gameserver.network.SystemMessageId; import com.l2naran.gameserver.network.serverpackets.SystemMessage; import com.l2naran.gameserver.skills.Env; import com.l2naran.gameserver.skills.Formulas; import com.l2naran.gameserver.skills.Stats; import com.l2naran.gameserver.skills.funcs.Func; import com.l2naran.gameserver.templates.L2WeaponType; import com.l2naran.gameserver.util.Util; public class Blow implements ISkillHandler { private static final SkillType[] SKILL_IDS = { SkillType.BLOW }; private int _successChance; /* public final static int FRONT = 50; public final static int SIDE = 60; public final static int BEHIND = 70; */ public void useSkill(L2Character activeChar, L2Skill skill, L2Object[] targets) { if(activeChar.isAlikeDead()) return; for(L2Object target2 : targets) { L2Character target = (L2Character) target2; if(target.isAlikeDead()) continue; // Calculate skill evasion Formulas.getInstance(); if(Formulas.calcPhysicalSkillEvasion(target, skill)) { activeChar.sendPacket(new SystemMessage(SystemMessageId.ATTACK_FAILED)); continue; } // Calculate vengeance if(target.vengeanceSkill(skill)) { target = activeChar; } if(activeChar.isBehindTarget()) _successChance = Config.BLOW_ATTACK_BEHIND; else if(activeChar.isFrontTarget()) _successChance = Config.BLOW_ATTACK_FRONT; else _successChance = Config.BLOW_ATTACK_SIDE; //If skill requires Crit or skill requires behind, //calculate chance based on DEX, Position and on self BUFF if(((skill.getCondition() & L2Skill.COND_BEHIND) != 0) && _successChance == Config.BLOW_ATTACK_BEHIND || ((skill.getCondition() & L2Skill.COND_CRIT) != 0) && Formulas.getInstance().calcBlow(activeChar, target, _successChance)) { if(skill.hasEffects()) { if(target.reflectSkill(skill)) { activeChar.stopSkillEffects(skill.getId()); skill.getEffects(null, activeChar); SystemMessage sm = new SystemMessage(SystemMessageId.YOU_FEEL_S1_EFFECT); sm.addSkillName(skill.getId()); activeChar.sendPacket(sm); sm = null; } } L2ItemInstance weapon = activeChar.getActiveWeaponInstance(); boolean soul = (weapon != null && weapon.getChargedSoulshot() == L2ItemInstance.CHARGED_SOULSHOT && weapon.getItemType() == L2WeaponType.DAGGER); boolean shld = Formulas.getInstance().calcShldUse(activeChar, target); // Crit rate base crit rate for skill, modified with STR bonus boolean crit = false; if(Formulas.getInstance().calcCrit(skill.getBaseCritRate() * 10 * Formulas.getInstance().getSTRBonus(activeChar))) crit = true; double damage = (int) Formulas.getInstance().calcBlowDamage(activeChar, target, skill, shld, soul); if(crit) { damage *= 2; // Vicious Stance is special after C5, and only for BLOW skills // Adds directly to damage L2Effect vicious = activeChar.getFirstEffect(312); if(vicious != null && damage > 1) { for(Func func : vicious.getStatFuncs()) { Env env = new Env(); env.player = activeChar; env.target = target; env.skill = skill; env.value = damage; func.calc(env); damage = (int) env.value; env = null; } } } if(soul && weapon != null) weapon.setChargedSoulshot(L2ItemInstance.CHARGED_NONE); weapon = null; if(skill.getDmgDirectlyToHP() && target instanceof L2PcInstance) { L2PcInstance player = (L2PcInstance) target; if(!player.isInvul()) { // Check and calculate transfered damage L2Summon summon = player.getPet(); if(summon != null && summon instanceof L2SummonInstance && Util.checkIfInRange(900, player, summon, true)) { int tDmg = (int) damage * (int) player.getStat().calcStat(Stats.TRANSFER_DAMAGE_PERCENT, 0, null, null) / 100; // Only transfer dmg up to current HP, it should not be killed if(summon.getCurrentHp() < tDmg) tDmg = (int) summon.getCurrentHp() - 1; if(tDmg > 0) { summon.reduceCurrentHp(tDmg, activeChar); damage -= tDmg; } summon = null; } if(damage >= player.getCurrentHp()) { if(player.isInDuel()) player.setCurrentHp(1); else { player.setCurrentHp(0); if(player.isInOlympiadMode()) { player.abortAttack(); player.abortCast(); player.getStatus().stopHpMpRegeneration(); } else player.doDie(activeChar); } } else player.setCurrentHp(player.getCurrentHp() - damage); } SystemMessage smsg = new SystemMessage(SystemMessageId.S1_GAVE_YOU_S2_DMG); smsg.addString(activeChar.getName()); smsg.addNumber((int) damage); player.sendPacket(smsg); smsg = null; player = null; } else target.reduceCurrentHp(damage, activeChar); if(activeChar instanceof L2PcInstance) activeChar.sendPacket(new SystemMessage(SystemMessageId.CRITICAL_HIT)); SystemMessage sm = new SystemMessage(SystemMessageId.YOU_DID_S1_DMG); sm.addNumber((int) damage); activeChar.sendPacket(sm); sm = null; } //Possibility of a lethal strike Formulas.getInstance().calcLethalHit(activeChar, target, skill); L2Effect effect = activeChar.getFirstEffect(skill.getId()); //Self Effect if(effect != null && effect.isSelfEffect()) effect.exit(); skill.getEffectsSelf(activeChar); effect = null; } } public SkillType[] getSkillIds() { return SKILL_IDS; } } Change imports.
0 Intrepid Posted August 13, 2010 Posted August 13, 2010 i still dont get it why change something from retail like to custom in a skill...
Question
rafole
Hey all,
I am trying to make backstab to work ONLY from behind !!
Realtek's share its not working, any1 could help me? :D
Ty in advance :-*
22 answers to this question
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now