Jump to content

Recommended Posts

  • 5 weeks later...
  • 4 weeks later...
  • 3 weeks later...
Posted

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....

Posted

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 :)

Posted

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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now



  • Posts

    • 🌍 https://l2origins.org/ 🛡️ LINEAGE II ORIGINS — SEASON 1 🛡️ 🌑 High Five Classic | True Old-School Experience 🌑 ⚠️ Opening on March 6th at 16:00 Welcome back to the origins of Lineage II. ⚔️ ABOUT THE SERVER Lineage2 Origins is built for players who miss the true retail feeling. Classic progression, real challenges, fair competition — enhanced only with carefully selected QoL features, never breaking the original gameplay. 🌿 PHASED GEAR PROGRESSION 🟢 Month 1: Vesper max 🟢 Month 2: Vorpal unlocked 🟢 Month 3+: Top-grade & Elegia released 🚫 NO AUTO-FARM ✔️ External auto-clicker allowed (1 per client, download page only) ❌ Bots & illegal automation forbidden 🛡️ Strong anti-bot + captcha system ⚠️ AFK players will be punished — stay active or logout 📊 RATES & CORE SETTINGS 🔹 Adena: x5 🔹 Drop / Spoil: x5 🔹 Skill EXP: x15 🔹 Max Windows: 2 per PC 🔹 Subclass: Lv 85 (no quest required) 🔹 Party Level Diff: 30 (55–85) 🔹 No custom items (armors / weapons / jewelry) 🔥 FEATURES ✨ Global & Raid Teleport ✨ NPC Buffer (34 buffs) ✨ Auto Events & PvP Zones ✨ Ranking & Clan Progression ✨ GM Shop & Premium System ✨ All-In-One Community Board ✨ Party & Solo Instances ✨ Siege & Territory War Rewards ✨ RaidBoss Kill Rewards ✨ Lucky Creature Event ✨ Daily Login Rewards ✨ Advanced DDoS Protection & Backups ⚔️ ENCHANTMENTS 🔸 Safe: +3 🔸 Max: +12 (Month 2: +14 | Month 3: +16) 🔸 Blessed: 50% (Premium 65%) 🔸 Normal: 45% (Premium 60%) 🏟️ OLYMPIAD 🔹 Max Enchant: +6 🔹 Start Players: 4 🔹 Period: 1st & 15th 🏰 SIEGE & TW 🔹 Siege Time: 16:00 & 20:00 🔹 Territory War: 20:00 🔹 Max Wards: 3 per Castle 🌌 Lineage2 Origins Fair. Competitive. Nostalgic. A true return to the origins of Lineage II.
    • Bastante confiable, ya trabaje en varios proyectos con el y la verdad te da confianza que hoy en dia poca gente hay asi lo  recomiendo 100%  Gracias por todo amigo ! seguiremos trabajando juntos segurisimamente! 
    • Arcana Mace Acumen +6 : 200 Euro    Leave a message here or better on Discord : grandmaster1991   Discord : GrandMaster#1689  
    • overbooked till 3 of march!! Not accepting more works for now, everything after 3 of match!
  • Topics

×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..