Credits SpooKNoF
Dziala na wszystkich typach servera l2j l2j free l2jemu l2jarchid
Index: //java/com/l2dot/gameserver/network/serverpackets/DoorInfo.java
===================================================================
--- //java/com/l2dot/gameserver/network/serverpackets/DoorInfo.java (revision 47)
+++ //java/com/l2dot/gameserver/network/serverpackets/DoorInfo.java (revision 59)
@@ -20,5 +20,6 @@
import com.l2dot.gameserver.model.actor.instance.L2DoorInstance;
-
+ import com.l2dot.gameserver.model.actor.instance.L2StaticObjectInstance;
+ import com.l2dot.gameserver.network.serverpackets.StaticObject;
/**
* 60
@@ -38,17 +39,46 @@
private static final String _S__60_DOORINFO = " 4c DoorInfo";
Index: //java/com/l2dot/gameserver/network/serverpackets/DoorInfo.java
private L2DoorInstance _door;
+ private final int _staticObjectId;
+ private final int _objectId;
+ private final int _type;
+ private final boolean _isTargetable;
+ private final boolean _isClosed;
+ private final boolean _isEnemyOf;
+ private final int _maxHp;
+ private final int _currentHp;
+ private final boolean _showHp;
+ private final int _damageGrade;
- public DoorInfo(L2DoorInstance door)
- {
- _door=door;
- }
+
+ public DoorInfo(L2DoorInstance door, boolean showHp)
+ {
+ _staticObjectId = door.getDoorId();
+ _objectId = door.getObjectId();
+ _type = 1;
+ _door=door;
+ _isTargetable = true;
+ _isClosed = !door.getOpen();
+ _isEnemyOf = door.isEnemyOf(_door);
+ _maxHp = door.getMaxHp();
+ _currentHp = (int) door.getCurrentHp();
+ _showHp = showHp;
+ _damageGrade = door.getDamage();
+ }
- @Override
- protected final void writeImpl()
- {
- writeC(0x4c);
- writeD(_door.getObjectId());
- writeD(_door.getDoorId());
- }
+ @Override
+ protected final void writeImpl()
+ {
+ writeC(0x4c);
+ writeD(_door.getObjectId());
+ writeD(_door.getDoorId());
+ writeD(_type);
+ writeD(_isTargetable ? 1 : 0);
+ writeD(_isClosed ? 1 : 0);
+ writeD(_door.isEnemyOf(getClient().getActiveChar()) ? 1 : 0);
+ writeD(_currentHp);
+ writeD(_maxHp);
+ writeD(_showHp ? 1 : 0);
+ writeD(_damageGrade);
+ }
/* (non-Javadoc)
@@ -62,2 +92,3 @@
}
+
Index: //java/com/l2dot/gameserver/network/clientpackets/RequestRecordInfo.java
===================================================================
--- //com/l2dot/gameserver/network/clientpackets/RequestRecordInfo.java (revision 47)
+++ /java/com/l2dot/gameserver/network/clientpackets/RequestRecordInfo.java (revision 61)
@@ -80,5 +80,5 @@
else if (object instanceof L2DoorInstance)
{
- _activeChar.sendPacket(new DoorInfo((L2DoorInstance) object));
+ _activeChar.sendPacket(new DoorInfo((L2DoorInstance) object, false));
_activeChar.sendPacket(new DoorStatusUpdate((L2DoorInstance) object));
}
Index: //java/com/l2dot/gameserver/model/actor/knownlist/PcKnownList.java
===================================================================
--- //java/com/l2dot/gameserver/model/actor/knownlist/PcKnownList.java (revision 47)
+++ //java/com/l2dot/gameserver/model/actor/knownlist/PcKnownList.java (revision 60)
@@ -114,5 +114,5 @@
else if (object instanceof L2DoorInstance)
{
- getActiveChar().sendPacket(new DoorInfo((L2DoorInstance) object));
+ getActiveChar().sendPacket(new DoorInfo((L2DoorInstance) object, false));
getActiveChar().sendPacket(new DoorStatusUpdate((L2DoorInstance) object));
}
Pokazuje hp drzwi i scian (tych na siegach).
Rickert i jego walniete komentarze.... ;(
pamietac o importach !
Wstawianie takich rzeczy jest bardzo dobre, pisalem to jakis czas temu Polgarze. Oczywiscie powinno to byc wstawiane przez osoby, ktore posiadaja jakas wiedze o tym i mogly pomoc gdyby ktos z tym mial problemy. Przyprowadzi to wiecej userow, zawsze lepiej szukac takich rzeczy na polskim forum, gdzie bylyby tylko te przydatne rzeczy wklejane, a nie po X razy to samo.
Tak jak Malsan i Rayne zauwazyli jesli juz cos wstawiacie to wstawiajcie to pod pliki L2j i postarajcie sie czesciowo poznac kod ktory dajecie tak aby ewentualnie umiec pozniej wyjasnic o co w nim chodzi jesli ktos bedzie mial problemy.
Wszystkie posty nie dotyczace wstawki zostaly skasowane. Pozdrawiam.