[Skrypta]Door Status HP + Castle Wall

Zaczęty przez misiekk, Czerwiec 22, 2010, 01:32:09 PM

Poprzedni wątek - Następny wątek

misiekk

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));
             }
Lineage is not just a game it's also people .

Eddie

Pokazuje hp drzwi i scian (tych na siegach).

Maślan

Rickert i jego walniete komentarze.... ;(


pamietac o importach !

Ryane

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.

Naito

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.
Zapraszam na serwer Team Speak 3 - Dead Echo - Community of Gamers - Adres: deadecho.pl


W Lineage 2 gram na serwerze: EU Core | Nick: Naito | Clan: BlackSwans