Gootzy Posted May 2, 2011 Posted May 2, 2011 Good share, but how does it works? when i get those points ? Quote
Legend™ Posted May 3, 2011 Posted May 3, 2011 can someone adapt this for h5? i instal patch,compiled with no errors but ingame All mobs are half underground Quote
Psych_O Posted June 18, 2011 Posted June 18, 2011 EDIT--> http://maxcheaters.com/forum/index.php?topic=211296.0 fixed Quote
`NeverMore Posted June 19, 2011 Posted June 19, 2011 bump you bump some1's topic to solve your prob? then why we have help dev sections here? Quote
pipiou21 Posted June 20, 2011 Author Posted June 20, 2011 EDIT--> http://maxcheaters.com/forum/index.php?topic=211296.0 Anyway, next time use the defaults, verify that everything its ok, and then edit defaults as you like, thats how you have to work if you dont know how to find where is the problem and fix it. Quote
Psych_O Posted June 22, 2011 Posted June 22, 2011 well i found something that is missing from this share.... in the title doesn't show the life left in mob(%) here it is... ### Eclipse Workspace Patch 1.0 #P L2J_Server Index: java/com/l2jserver/gameserver/network/serverpackets/AbstractNpcInfo.java =================================================================== --- java/com/l2jserver/gameserver/network/serverpackets/AbstractNpcInfo.java (revision 4638) +++ java/com/l2jserver/gameserver/network/serverpackets/AbstractNpcInfo.java (working copy) @@ -14,10 +14,15 @@ */ package com.l2jserver.gameserver.network.serverpackets; +import java.text.DecimalFormat; + import com.l2jserver.Config; +import com.l2jserver.gameserver.datatables.CharTemplateTable; import com.l2jserver.gameserver.datatables.ClanTable; +import com.l2jserver.gameserver.datatables.FakePcsTable; import com.l2jserver.gameserver.instancemanager.TownManager; import com.l2jserver.gameserver.model.L2Clan; +import com.l2jserver.gameserver.model.actor.FakePc; import com.l2jserver.gameserver.model.actor.L2Character; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.L2Summon; @@ -26,6 +31,7 @@ import com.l2jserver.gameserver.model.actor.instance.L2NpcInstance; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.skills.AbnormalEffect; +import com.l2jserver.gameserver.templates.chars.L2PcTemplate; /** * This class ... @@ -105,14 +111,14 @@ _isAttackable = cha.isAutoAttackable(attacker); if (cha.getTemplate().serverSideName) _name = cha.getName();// On every subclass - + if (Config.L2JMOD_CHAMPION_ENABLE && cha.isChampion()) _title = (Config.L2JMOD_CHAMP_TITLE); // On every subclass else if (cha.getTemplate().serverSideTitle) _title = cha.getTemplate().title; // On every subclass else _title = cha.getTitle(); // On every subclass - + if (Config.SHOW_NPC_LVL && _npc instanceof L2MonsterInstance) { String t = "Lv " + cha.getLevel() + (cha.getAggroRange() > 0 ? "*" : ""); @@ -142,61 +148,207 @@ @Override protected void writeImpl() { - writeC(0x0c); - writeD(_npc.getObjectId()); - writeD(_idTemplate + 1000000); // npctype id - writeD(_isAttackable ? 1 : 0); - writeD(_x); - writeD(_y); - writeD(_z); - writeD(_heading); - writeD(0x00); - writeD(_mAtkSpd); - writeD(_pAtkSpd); - writeD(_runSpd); - writeD(_walkSpd); - writeD(_runSpd); // swim run speed - writeD(_walkSpd); // swim walk speed - writeD(_runSpd); // swim run speed - writeD(_walkSpd); // swim walk speed - writeD(_runSpd); // fly run speed - writeD(_walkSpd); // fly run speed - writeF(_npc.getMovementSpeedMultiplier()); - writeF(_npc.getAttackSpeedMultiplier()); - writeF(_collisionRadius); - writeF(_collisionHeight); - writeD(_rhand); // right hand weapon - writeD(_chest); - writeD(_lhand); // left hand weapon - writeC(1); // name above char 1=true ... ?? - writeC(_npc.isRunning() ? 1 : 0); - writeC(_npc.isInCombat() ? 1 : 0); - writeC(_npc.isAlikeDead() ? 1 : 0); - writeC(_isSummoned ? 2 : 0); // 0=teleported 1=default 2=summoned - writeS(_name); - writeS(_title); - writeD(0x00); // Title color 0=client default - writeD(0x00); //pvp flag - writeD(0x00); // karma + FakePc fpc = _npc.getFakePc(); + if (fpc != null) + { + writeC(0x31); + writeD(_x); + writeD(_y); + writeD(_z); + writeD(0x00); // vehicle id + writeD(_npc.getObjectId()); + writeS(fpc.name); // visible name + writeD(fpc.race); + writeD(fpc.sex); + writeD(fpc.clazz); + + writeD(fpc.pdUnder); + writeD(fpc.pdHead); + writeD(fpc.pdRHand); + writeD(fpc.pdLHand); + writeD(fpc.pdGloves); + writeD(fpc.pdChest); + writeD(fpc.pdLegs); + writeD(fpc.pdFeet); + writeD(fpc.pdBack); + writeD(fpc.pdLRHand); + writeD(fpc.pdHair); + writeD(fpc.pdHair2); + writeD(fpc.pdRBracelet); + writeD(fpc.pdLBracelet); + writeD(fpc.pdDeco1); + writeD(fpc.pdDeco2); + writeD(fpc.pdDeco3); + writeD(fpc.pdDeco4); + writeD(fpc.pdDeco5); + writeD(fpc.pdDeco6); + writeD(0x00); // belt + + writeD(fpc.pdUnderAug); + writeD(fpc.pdHeadAug); + writeD(fpc.pdRHandAug); + writeD(fpc.pdLHandAug); + writeD(fpc.pdGlovesAug); + writeD(fpc.pdChestAug); + writeD(fpc.pdLegsAug); + writeD(fpc.pdFeetAug); + writeD(fpc.pdBackAug); + writeD(fpc.pdLRHandAug); + writeD(fpc.pdHairAug); + writeD(fpc.pdHair2Aug); + writeD(fpc.pdRBraceletAug); + writeD(fpc.pdLBraceletAug); + writeD(fpc.pdDeco1Aug); + writeD(fpc.pdDeco2Aug); + writeD(fpc.pdDeco3Aug); + writeD(fpc.pdDeco4Aug); + writeD(fpc.pdDeco5Aug); + writeD(fpc.pdDeco6Aug); + writeD(0x00); // belt aug + writeD(0x00); + writeD(0x01); + + writeD(fpc.pvpFlag); + writeD(fpc.karma); + + writeD(_mAtkSpd); + writeD(_pAtkSpd); + + writeD(0x00); + + writeD(_runSpd); + writeD(_walkSpd); + writeD(_runSpd); // swim run speed + writeD(_walkSpd); // swim walk speed + writeD(_runSpd); // fly run speed + writeD(_walkSpd); // fly walk speed + writeD(_runSpd); + writeD(_walkSpd); + writeF(_npc.getMovementSpeedMultiplier()); // _activeChar.getProperMultiplier() + writeF(_npc.getAttackSpeedMultiplier()); // _activeChar.getAttackSpeedMultiplier() + + // TODO: add handling of mount collision + L2PcTemplate pctmpl = CharTemplateTable.getInstance().getTemplate(fpc.clazz); + writeF(fpc.sex == 0 ? pctmpl.fCollisionRadius : pctmpl.fCollisionRadius_female); + writeF(fpc.sex == 0 ? pctmpl.fCollisionHeight : pctmpl.fCollisionHeight_female); + + writeD(fpc.hairStyle); + writeD(fpc.hairColor); + writeD(fpc.face); - writeD(_npc.getAbnormalEffect()); // C2 - writeD(_clanId); //clan id - writeD(_clanCrest); //crest id - writeD(_allyId); // ally id - writeD(_allyCrest); // all crest - writeC(_npc.isFlying() ? 2 : 0); // C2 - writeC(0x00); // title color 0=client - - writeF(_collisionRadius); - writeF(_collisionHeight); - writeD(_enchantEffect); // C4 - writeD(_npc.isFlying() ? 1 : 0); // C6 - writeD(0x00); - writeD(_npc.getColorEffect());// CT1.5 Pet form and skills, Color effect - writeC(_npc.isHideName() ? 0x00 : 0x01); - writeC(_npc.isHideName() ? 0x00 : 0x01); - writeD(_npc.getSpecialEffect()); - writeD(_displayEffect); + if (_npc instanceof L2MonsterInstance) + writeS(fpc.title + " - HP " + new DecimalFormat("#.##").format(100.0 * _npc.getCurrentHp() / _npc.getMaxVisibleHp()) + "%"); // visible title + else + writeS(fpc.title); + + writeD(0x00); // clan id + writeD(0x00); // clan crest id + writeD(0x00); // ally id + writeD(0x00); // ally crest id + + writeC(0x01); // standing = 1 sitting = 0 + writeC(_npc.isRunning() ? 1 : 0); // running = 1 walking = 0 + writeC(_npc.isInCombat() ? 1 : 0); + writeC(_npc.isAlikeDead() ? 1 : 0); + + writeC(fpc.invisible); // invisible = 1 visible =0 + + writeC(fpc.mount); // 1 on strider 2 on wyvern 3 on Great Wolf 0 no mount + writeC(0x00); // 1 - sellshop + writeH(0x00); // cubic count + //for (int id : allCubics) + // writeH(id); + writeC(0x00); // find party members + writeD(0x00); // abnormal effect + writeC(0x00); // isFlying() ? 2 : 0 + writeH(0x00); //getRecomHave(): Blue value for name (0 = white, 255 = pure blue) + writeD(1000000); // getMountNpcId() + 1000000 + writeD(fpc.clazz); + writeD(0x00); // ? + writeC(fpc.enchantEffect); + writeC(fpc.team); //team circle around feet 1= Blue, 2 = red + writeD(0x00); // getClanCrestLargeId() + writeC(0x00); // isNoble(): Symbol on char menu ctrl+I + writeC(fpc.hero); // Hero Aura + writeC(fpc.fishing); //0x01: Fishing Mode (Cant be undone by setting back to 0) + writeD(fpc.fishingX); + writeD(fpc.fishingY); + writeD(fpc.fishingZ); + + writeD(fpc.nameColor); + writeD(_heading); + writeD(0x00); // pledge class + writeD(0x00); // pledge type + writeD(fpc.titleColor); + + writeD(0x00); // cursed weapon level + writeD(0x00); // reputation score + writeD(0x00); // transformation id + writeD(0x00); // agathion id + writeD(0x01); // T2 ? + writeD(0x00); // special effect + /*writeD(0x00); // territory Id + writeD(0x00); // is Disguised + writeD(0x00); // territory Id*/ + } + else + { + writeC(0x0c); + writeD(_npc.getObjectId()); + writeD(_idTemplate + 1000000); // npctype id + writeD(_isAttackable ? 1 : 0); + writeD(_x); + writeD(_y); + writeD(_z); + writeD(_heading); + writeD(0x00); + writeD(_mAtkSpd); + writeD(_pAtkSpd); + writeD(_runSpd); + writeD(_walkSpd); + writeD(_runSpd); // swim run speed + writeD(_walkSpd); // swim walk speed + writeD(_runSpd); // swim run speed + writeD(_walkSpd); // swim walk speed + writeD(_runSpd); // fly run speed + writeD(_walkSpd); // fly run speed + writeF(_npc.getMovementSpeedMultiplier()); + writeF(_npc.getAttackSpeedMultiplier()); + writeF(_collisionRadius); + writeF(_collisionHeight); + writeD(_rhand); // right hand weapon + writeD(_chest); + writeD(_lhand); // left hand weapon + writeC(1); // name above char 1=true ... ?? + writeC(_npc.isRunning() ? 1 : 0); + writeC(_npc.isInCombat() ? 1 : 0); + writeC(_npc.isAlikeDead() ? 1 : 0); + writeC(_isSummoned ? 2 : 0); // 0=teleported 1=default 2=summoned + writeS(_name); + writeS(_title); + writeD(0x00); // Title color 0=client default + writeD(0x00); //pvp flag + writeD(0x00); // karma + + writeD(_npc.getAbnormalEffect()); // C2 + writeD(_clanId); //clan id + writeD(_clanCrest); //crest id + writeD(_allyId); // ally id + writeD(_allyCrest); // all crest + writeC(_npc.isFlying() ? 2 : 0); // C2 + writeC(0x00); // title color 0=client + + writeF(_collisionRadius); + writeF(_collisionHeight); + writeD(_enchantEffect); // C4 + writeD(_npc.isFlying() ? 1 : 0); // C6 + writeD(0x00); + writeD(0x00);// CT1.5 Pet form and skills + writeC(_npc.isHideName() ? 0x00 : 0x01); + writeC(_npc.isHideName() ? 0x00 : 0x01); + writeD(_npc.getSpecialEffect()); + writeD(_displayEffect); + } } } @@ -300,7 +452,7 @@ _val = val; if (_summon.isShowSummonAnimation()) _val = 2; //override for spawn - + int npcId = cha.getTemplate().npcId; if (npcId == 16041 || npcId == 16042) the red staff is missing.... Quote
l0ngh0rn Posted June 24, 2011 Posted June 24, 2011 Very nice guy, thanks for sharing. Does this also works in H5? Quote
bubulinas Posted June 24, 2011 Posted June 24, 2011 Karma Fixet is one comand by admin //polyself and u can chnage your char in 1 npc/mobs what you wannt that dont deserve Karma sry for it but is true :) Quote
Psych_O Posted June 24, 2011 Posted June 24, 2011 Karma Fixet is one comand by admin //polyself and u can chnage your char in 1 npc/mobs what you wannt that dont deserve Karma sry for it but is true :) this code transform mobs to chars.... it isn't the shame with //polyself Quote
AdrenalinE Posted June 25, 2011 Posted June 25, 2011 Working perfect on freya :) Thanks you very much Only 1 question..how i can find these colors? :o Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.