Jump to content
  • 0

[help]augument skills


Bobi

Question

12 answers to this question

Recommended Posts

  • 0

Index: /trunk/Archid-Game/src/com/l2jarchid/gameserver/network/clientpackets/UseItem.java
===================================================================
--- /trunk/Archid-Game/src/com/l2jarchid/gameserver/network/clientpackets/UseItem.java (revision 1203)
+++ /trunk/Archid-Game/src/com/l2jarchid/gameserver/network/clientpackets/UseItem.java (revision 1227)
@@ -277,8 +277,4 @@
				activeChar.sendPacket(sm);

-				// Remove augementation boni on unequip
-				if (item.isAugmented())
-					item.getAugmentation().removeBoni(activeChar);
-
				int slot = activeChar.getInventory().getSlotFromItem(item);
				items = activeChar.getInventory()
@@ -287,21 +283,5 @@
			{
				int tempBodyPart = item.getItem().getBodyPart();
-				L2ItemInstance tempItem = activeChar.getInventory()
-						.getPaperdollItemByL2ItemId(tempBodyPart);
-
-				// remove augmentation stats for replaced items
-				// currently weapons only..
-				if (tempItem != null && tempItem.isAugmented())
-					tempItem.getAugmentation().removeBoni(activeChar);
-				else if (tempBodyPart == 0x4000)
-				{
-					L2ItemInstance tempItem2 = activeChar.getInventory()
-							.getPaperdollItem(7);
-					if (tempItem2 != null && tempItem2.isAugmented())
-						tempItem2.getAugmentation().removeBoni(activeChar);
-					tempItem2 = activeChar.getInventory().getPaperdollItem(8);
-					if (tempItem2 != null && tempItem2.isAugmented())
-						tempItem2.getAugmentation().removeBoni(activeChar);
-				}
+				L2ItemInstance tempItem = activeChar.getInventory().getPaperdollItemByL2ItemId(tempBodyPart);

				// check if the item replaces a wear-item
@@ -343,8 +323,4 @@
				}
				activeChar.sendPacket(sm);
-
-				// Apply augementation boni on equip
-				if (item.isAugmented())
-					item.getAugmentation().applyBoni(activeChar);

				items = activeChar.getInventory().equipItemAndRecord(item);
Index: /trunk/Archid-Game/src/com/l2jarchid/gameserver/model/actor/instance/L2PcInstance.java
===================================================================
--- /trunk/Archid-Game/src/com/l2jarchid/gameserver/model/actor/instance/L2PcInstance.java (revision 1208)
+++ /trunk/Archid-Game/src/com/l2jarchid/gameserver/model/actor/instance/L2PcInstance.java (revision 1227)
@@ -8631,4 +8631,6 @@
          * 10.Unsummon any active servitor from the player.
          */
+        for (L2ItemInstance temp : getInventory().getAugmentedItems())
+            if (temp != null && temp.isEquipped()) temp.getAugmentation().removeBoni(this);

         if (getPet() != null && getPet() instanceof L2SummonInstance)
Index: /trunk/Archid-Game/src/com/l2jarchid/gameserver/model/Inventory.java
===================================================================
--- /trunk/Archid-Game/src/com/l2jarchid/gameserver/model/Inventory.java (revision 1203)
+++ /trunk/Archid-Game/src/com/l2jarchid/gameserver/model/Inventory.java (revision 1227)
@@ -49,5 +49,6 @@
	//protected static final Logger _log = Logger.getLogger(Inventory.class.getName());

-    public interface PaperdollListener {
+    public interface PaperdollListener
+    {
     	public void notifyEquiped(int slot, L2ItemInstance inst);
     	public void notifyUnequiped(int slot, L2ItemInstance inst);
@@ -89,6 +90,5 @@
	    public void notifyUnequiped(int slot, L2ItemInstance item)
	    {
-	        if (!(getOwner() != null
-	                && getOwner() instanceof L2PcInstance))
+	        if (!(getOwner() != null && getOwner() instanceof L2PcInstance))
	            return;

@@ -98,8 +98,8 @@
	            owner.setIsWearingFormalWear(false);
	    }
+
	    public void notifyEquiped(int slot, L2ItemInstance item)
	    {
-	        if (!(getOwner() != null
-	                && getOwner() instanceof L2PcInstance))
+	        if (!(getOwner() != null && getOwner() instanceof L2PcInstance))
	            return;

@@ -140,5 +140,4 @@
     	 * Add alteration in inventory when item equiped
     	 */
-        @SuppressWarnings("unused")
     	public void notifyEquiped(int slot, L2ItemInstance item) {
     		if (!_changed.contains(item))
@@ -149,5 +148,4 @@
     	 * Add alteration in inventory when item unequiped
     	 */
-        @SuppressWarnings("unused")
     	public void notifyUnequiped(int slot, L2ItemInstance item) {
     		if (!_changed.contains(item))
@@ -245,4 +243,5 @@
			}
     	}
+    	
     	public void notifyEquiped(int slot, L2ItemInstance item)
     	{
@@ -284,4 +283,35 @@
     	}
     }
+    
+    final class ItemAugmentationSkillsListener implements PaperdollListener
+    {
+		/**
+		 * @see com.l2jarchid.gameserver.model.Inventory.PaperdollListener#notifyEquiped(int, com.l2jarchid.gameserver.model.L2ItemInstance)
+		 */
+		public void notifyEquiped(int slot, L2ItemInstance item)
+		{
+			if(getOwner() instanceof L2PcInstance)
+			{
+		    	L2PcInstance activeChar = (L2PcInstance)getOwner();
+				// Apply augementation boni on equip
+				if (item.isAugmented())
+					item.getAugmentation().applyBoni(activeChar);
+			}
+		}
+
+		/**
+		 * @see com.l2jarchid.gameserver.model.Inventory.PaperdollListener#notifyUnequiped(int, com.l2jarchid.gameserver.model.L2ItemInstance)
+		 */
+		public void notifyUnequiped(int slot, L2ItemInstance item)
+		{
+			if(getOwner() instanceof L2PcInstance)
+			{
+		    	L2PcInstance activeChar = (L2PcInstance)getOwner();
+				if (item.isAugmented())
+					item.getAugmentation().removeBoni(activeChar);
+			}
+		}
+    }
+    
     final class ArmorSetListener implements PaperdollListener
     {
@@ -498,4 +528,5 @@
		addPaperdollListener(new BowListener());
		addPaperdollListener(new ItemPassiveSkillsListener());
+		addPaperdollListener(new ItemAugmentationSkillsListener());
		addPaperdollListener(new StatsListener());
		//addPaperdollListener(new FormalWearListener());

 

Give me hugs and money now.

Link to comment
Share on other sites

  • 0

Index: /trunk/Archid-Game/src/com/l2jarchid/gameserver/network/clientpackets/UseItem.java
===================================================================
--- /trunk/Archid-Game/src/com/l2jarchid/gameserver/network/clientpackets/UseItem.java (revision 1203)
+++ /trunk/Archid-Game/src/com/l2jarchid/gameserver/network/clientpackets/UseItem.java (revision 1227)
@@ -277,8 +277,4 @@
				activeChar.sendPacket(sm);

-				// Remove augementation boni on unequip
-				if (item.isAugmented())
-					item.getAugmentation().removeBoni(activeChar);
-
				int slot = activeChar.getInventory().getSlotFromItem(item);
				items = activeChar.getInventory()
@@ -287,21 +283,5 @@
			{
				int tempBodyPart = item.getItem().getBodyPart();
-				L2ItemInstance tempItem = activeChar.getInventory()
-						.getPaperdollItemByL2ItemId(tempBodyPart);
-
-				// remove augmentation stats for replaced items
-				// currently weapons only..
-				if (tempItem != null && tempItem.isAugmented())
-					tempItem.getAugmentation().removeBoni(activeChar);
-				else if (tempBodyPart == 0x4000)
-				{
-					L2ItemInstance tempItem2 = activeChar.getInventory()
-							.getPaperdollItem(7);
-					if (tempItem2 != null && tempItem2.isAugmented())
-						tempItem2.getAugmentation().removeBoni(activeChar);
-					tempItem2 = activeChar.getInventory().getPaperdollItem(8);
-					if (tempItem2 != null && tempItem2.isAugmented())
-						tempItem2.getAugmentation().removeBoni(activeChar);
-				}
+				L2ItemInstance tempItem = activeChar.getInventory().getPaperdollItemByL2ItemId(tempBodyPart);

				// check if the item replaces a wear-item
@@ -343,8 +323,4 @@
				}
				activeChar.sendPacket(sm);
-
-				// Apply augementation boni on equip
-				if (item.isAugmented())
-					item.getAugmentation().applyBoni(activeChar);

				items = activeChar.getInventory().equipItemAndRecord(item);
Index: /trunk/Archid-Game/src/com/l2jarchid/gameserver/model/actor/instance/L2PcInstance.java
===================================================================
--- /trunk/Archid-Game/src/com/l2jarchid/gameserver/model/actor/instance/L2PcInstance.java (revision 1208)
+++ /trunk/Archid-Game/src/com/l2jarchid/gameserver/model/actor/instance/L2PcInstance.java (revision 1227)
@@ -8631,4 +8631,6 @@
          * 10.Unsummon any active servitor from the player.
          */
+        for (L2ItemInstance temp : getInventory().getAugmentedItems())
+            if (temp != null && temp.isEquipped()) temp.getAugmentation().removeBoni(this);

         if (getPet() != null && getPet() instanceof L2SummonInstance)
Index: /trunk/Archid-Game/src/com/l2jarchid/gameserver/model/Inventory.java
===================================================================
--- /trunk/Archid-Game/src/com/l2jarchid/gameserver/model/Inventory.java (revision 1203)
+++ /trunk/Archid-Game/src/com/l2jarchid/gameserver/model/Inventory.java (revision 1227)
@@ -49,5 +49,6 @@
	//protected static final Logger _log = Logger.getLogger(Inventory.class.getName());

-    public interface PaperdollListener {
+    public interface PaperdollListener
+    {
     	public void notifyEquiped(int slot, L2ItemInstance inst);
     	public void notifyUnequiped(int slot, L2ItemInstance inst);
@@ -89,6 +90,5 @@
	    public void notifyUnequiped(int slot, L2ItemInstance item)
	    {
-	        if (!(getOwner() != null
-	                && getOwner() instanceof L2PcInstance))
+	        if (!(getOwner() != null && getOwner() instanceof L2PcInstance))
	            return;

@@ -98,8 +98,8 @@
	            owner.setIsWearingFormalWear(false);
	    }
+
	    public void notifyEquiped(int slot, L2ItemInstance item)
	    {
-	        if (!(getOwner() != null
-	                && getOwner() instanceof L2PcInstance))
+	        if (!(getOwner() != null && getOwner() instanceof L2PcInstance))
	            return;

@@ -140,5 +140,4 @@
     	 * Add alteration in inventory when item equiped
     	 */
-        @SuppressWarnings("unused")
     	public void notifyEquiped(int slot, L2ItemInstance item) {
     		if (!_changed.contains(item))
@@ -149,5 +148,4 @@
     	 * Add alteration in inventory when item unequiped
     	 */
-        @SuppressWarnings("unused")
     	public void notifyUnequiped(int slot, L2ItemInstance item) {
     		if (!_changed.contains(item))
@@ -245,4 +243,5 @@
			}
     	}
+    	
     	public void notifyEquiped(int slot, L2ItemInstance item)
     	{
@@ -284,4 +283,35 @@
     	}
     }
+    
+    final class ItemAugmentationSkillsListener implements PaperdollListener
+    {
+		/**
+		 * @see com.l2jarchid.gameserver.model.Inventory.PaperdollListener#notifyEquiped(int, com.l2jarchid.gameserver.model.L2ItemInstance)
+		 */
+		public void notifyEquiped(int slot, L2ItemInstance item)
+		{
+			if(getOwner() instanceof L2PcInstance)
+			{
+		    	L2PcInstance activeChar = (L2PcInstance)getOwner();
+				// Apply augementation boni on equip
+				if (item.isAugmented())
+					item.getAugmentation().applyBoni(activeChar);
+			}
+		}
+
+		/**
+		 * @see com.l2jarchid.gameserver.model.Inventory.PaperdollListener#notifyUnequiped(int, com.l2jarchid.gameserver.model.L2ItemInstance)
+		 */
+		public void notifyUnequiped(int slot, L2ItemInstance item)
+		{
+			if(getOwner() instanceof L2PcInstance)
+			{
+		    	L2PcInstance activeChar = (L2PcInstance)getOwner();
+				if (item.isAugmented())
+					item.getAugmentation().removeBoni(activeChar);
+			}
+		}
+    }
+    
     final class ArmorSetListener implements PaperdollListener
     {
@@ -498,4 +528,5 @@
		addPaperdollListener(new BowListener());
		addPaperdollListener(new ItemPassiveSkillsListener());
+		addPaperdollListener(new ItemAugmentationSkillsListener());
		addPaperdollListener(new StatsListener());
		//addPaperdollListener(new FormalWearListener());

 

Give me hugs and money now.

 

tnx dude i will try this , i will send you money :)

Link to comment
Share on other sites

  • 0

sorry i know im total java noob because i get 2 errors

 

------

error 1

 

...Inventory.java:519: invalid method declaration; return type required

   [javac] protected Inventory()

-----------------

error 2

1283: reached end of file while parsing

   [javac] }

 

now how to fix my noob error

-----------------

i fix it im not total java noob only 99.9% :) but i have other question.

This is problem ?

--------

Note: C:\Program Files (x86)\workspace\newserver\GameServer\java\net\sf\l2j\gameserver\GeoEngine.java uses or overrides a deprecated API.

   [javac] Note: Recompile with -Xlint:deprecation for details.

 

BUILD SUCCESSFUL

Total time: 1 minute 2 seconds

 

ok work perfect tnx again dude

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.


  • Posts

    • MidnightSell team WTB/WTS GOLD TWW EU/US all servers Cataclysm all servers Payment Visa/Master/Btc/Eth/Trc-20/Erc-20 (all payments within 10 min) For all question pls dm Discord https://discord.gg/h8AN57qJjK Or Telegram @MidnightSell
    • GOSTEI MUITO DO VIASUAL DO SERVE COMO POSSO ADQUIRI ESSA REV PACK   
    • Helly everyone . I use L2jmobius interlude , i did everything , installed the db compiled the Build in eclipse Gameserver seems to lead OK , but it fails to connect to loginserver When i click to start the loginserver it says  "Loginserver terminated abnormally" This is wheat gameserver shows me :    [05/10 17:25:12] LoginServerThread: Connecting to login on 127.0.0.1:9014 [05/10 17:25:12] LoginServerThread: LoginServer not available, trying to reconnect... [05/10 17:25:17] LoginServerThread: Connecting to login on 127.0.0.1:9014 [05/10 17:25:17] LoginServerThread: LoginServer not available, trying to reconnect... [05/10 17:25:22] LoginServerThread: Connecting to login on 127.0.0.1:9014 [05/10 17:25:22] LoginServerThread: LoginServer not available, trying to reconnect...   And This is my login config file:   # --------------------------------------------------------------------------- # Login Server Settings # --------------------------------------------------------------------------- # This is the server configuration file. Here you can set up the connection information for your server. # This was written with the assumption that you are behind a router. # Dumbed Down Definitions... # LAN (LOCAL area network) - typically consists of computers connected to the same router as you. # WAN (WIDE area network) - typically consists of computers OUTSIDE of your router (ie. the internet). # x.x.x.x - Format of an IP address. Do not include the x'es into settings. Must be real numbers. # --------------------------------------------------------------------------- # Networking # --------------------------------------------------------------------------- # Bind ip of the LoginServer, use 0.0.0.0 to bind on all available IPs # WARNING: <u><b><font color="red">Please don't change default IPs here if you don't know what are you doing!</font></b></u> # WARNING: <u><b><font color="red">External/Internal IPs are now inside "ipconfig.xml" file.</font></b></u> # Default: 0.0.0.0 LoginserverHostname = 0.0.0.0 # Default: 2106 LoginserverPort = 2106 # The address on which login will listen for GameServers, use * to bind on all available IPs # WARNING: <u><b><font color="red">Please don't change default IPs here if you don't know what are you doing!</font></b></u> # WARNING: <u><b><font color="red">External/Internal IPs are now inside "ipconfig.xml" file.</font></b></u> # Default: 127.0.0.1 LoginHostname = 127.0.0.1 # The port on which login will listen for GameServers # Default: 9014 LoginPort = 9014 # --------------------------------------------------------------------------- # Database # --------------------------------------------------------------------------- # Specify the JDBC driver class for your database. # Default: org.mariadb.jdbc.Driver Driver = org.mariadb.jdbc.Driver # Database URL # Default: jdbc:mariadb://localhost/l2jmobiusinterlude?useUnicode=true&characterEncoding=utf-8&useSSL=false&connectTimeout=10000&interactiveClient=true&sessionVariables=wait_timeout=600,interactive_timeout=600&autoReconnect=true URL = jdbc:mariadb://localhost/l2jmobiusinterlude?useUnicode=true&characterEncoding=utf-8&useSSL=false&connectTimeout=10000&interactiveClient=true&sessionVariables=wait_timeout=600,interactive_timeout=600&autoReconnect=true # Database user info. Default is "root" but it's not recommended. Login = root # Database user password, leave empty for no password. Password = root # Maximum number of database connections to maintain in the pool. # Default: 5 MaximumDatabaseConnections = 5 # Determine whether database connections should be tested for availability. # Default: False TestDatabaseConnections = False # --------------------------------------------------------------------------- # Automatic Database Backup Settings # --------------------------------------------------------------------------- # Generate database backups when server restarts or shuts down.  BackupDatabase = False # Path to MySQL bin folder. Only necessary on Windows. MySqlBinLocation = C:/xampp/mysql/bin/ # Path where MySQL backups are stored. BackupPath = ../backup/ # Maximum number of days that backups will be kept. # Old files in backup folder will be deleted. # Set to 0 to disable. BackupDays = 30 # --------------------------------------------------------------------------- # Thread Configuration # --------------------------------------------------------------------------- # Defines the number of threads in the scheduled thread pool. # If set to -1, this will be determined by available processors divided by 2. ScheduledThreadPoolSize = 2 # Defines the number of threads in the instant thread pool. # If set to -1, this will be determined by available processors divided by 2. InstantThreadPoolSize = 2 # --------------------------------------------------------------------------- # Security # --------------------------------------------------------------------------- # How many times you can provide an invalid account/pass before the IP gets banned. # Default: 5 LoginTryBeforeBan = 5 # Time you won't be able to login back again after LoginTryBeforeBan tries to login. # Default: 900 (15 minutes) LoginBlockAfterBan = 900 # If set to True any GameServer can register on your login's free slots # Default: True AcceptNewGameServer = True # Flood Protection. All values are in milliseconds. # Default: True EnableFloodProtection = True # Default: 15 FastConnectionLimit = 15 # Default: 700 NormalConnectionTime = 700 # Default: 350 FastConnectionTime = 350 # Default: 50 MaxConnectionPerIP = 50 # --------------------------------------------------------------------------- # Misc Login Settings # --------------------------------------------------------------------------- # If False, the license (after the login) will not be shown. # Default: True ShowLicence = True # Default: True AutoCreateAccounts = True # Datapack root directory. # Defaults to current directory from which the server is started. DatapackRoot = . # --------------------------------------------------------------------------- # Scheduled Login Restart # --------------------------------------------------------------------------- # Enable disable scheduled login restart. # Default: False LoginRestartSchedule = False # Time in hours. # Default: 24 LoginRestartTime = 24    
  • Topics

×
×
  • Create New...