Jump to content

[Share]Fix for augment stucking (transformation exploit)


DnR

Recommended Posts

Hello guys,

 

As we all know,active augments can stuck at CT1+ in most servers.

I ll show you how to fix it.

The active buff gets removed when you disarm your weapon right?

To tell the truth....,no!

The active buff dissappears when the augment dissappears from your skill list.

When you transform,you cast the item skill,remove the weapon and its stucked.

Thats because all active skills dissappear during transformation state including augment.

Thats why the item skill stucks on your buff slots.

((The active buff dissappears when the augment dissappears from your skill list.))

Transformation causes error and the augment buff doesnt get removed because the skill is missing before you disarm the weapon.

I hope i m clear.

Here is the fix for CT1 server.

 

Just go to gameserver/data/scripts/transformations and add the missing ones.

This is for Final Form:

(Kamael.java)

 

 

 

 

package transformations;

import net.sf.l2j.gameserver.datatables.SkillTable;
import net.sf.l2j.gameserver.instancemanager.TransformationManager;
import net.sf.l2j.gameserver.model.L2Skill;
import net.sf.l2j.gameserver.model.L2Transformation;

public class Kamael extends L2Transformation
{
public Kamael()
{
	// id, duration (secs), colRadius, colHeight
	super(251, 3600, 9.0, 30.0);
}

   public void onTransform()
   {
           // Disable all character skills.
           for (L2Skill sk : this.getPlayer().getAllSkills())
           {
                   if (sk != null && !sk.isPassive())
                   {
                           switch (sk.getId())
                           {
                       	// Heal
               			case 3123:
               			// Battleroar
               			case 3125:
               			// Blessed Body
               			case 3124:
               			// Prayer
               			case 3126:
               			// Recharge
               			case 3127:
                                // Blessed Soul
                                       case 3128:
                                       // Mana Gain
                                       case 3129:
                                       // Ritual
                                       case 3130:
                                       // Cheer
                                       case 3131:
                                       // Might
               			case 3132:
               			// Empower
               			case 3133:
               			// Duel Might
               			case 3134:
               			// Shield
               			case 3135:
                                // Magic Barrier
                                       case 3136:
                                       // Duel Weakness
                                       case 3137:
                                       // Heal Empower
                                       case 3138:
                                       // Agility
                                       case 3139:
                                       // Guidance
               			case 3140:
                                // Focus
                                       case 3141:
                                       // Wild Magic
                                       case 3142:
                                       // Kiss Of Eva
                                       case 3143:
                                       // Acrobatics
                                       case 3144:
                                       // Iron Body
               			case 3145:
               			// Recall
               			case 3146:
               			// Recall
               			case 3147:
               			// Vampiric Rage
               			case 3148:
                                // Aggression
                                       case 3149:
                                       // Charm
                                       case 3150:
                                       // Peace
                                       case 3151:
                                       // Trick
                                       case 3152:
                                       // Vampiric Touch
                                       case 3153:
                                       // Mana Burn
               			case 3154:
                                // Unlock
                                       case 3155:
                                       // FireCracker
                                       case 3156:
                                       // Large FireCracker
                                       case 3157:
                                       // Celestial Shield
                                       case 3158:
                                       // Stealth
               			case 3159:
               			// Resurrection
               			case 3160:
               			// Skill Clarity
               			case 3161:
               			// Spell Clarity
               			case 3162:
                                // Music Clarity
                                       case 3163:
                                       // Clarity
                                       case 3164:
                                       // Prominence
                                       case 3165:
                                       // Hydro Blast
                                       case 3167:
                                       // Hurricane
                                       case 3168:
                                       // Stone
                                       case 3169:
                                       // Solar Flare
                                       case 3170:
                                       // Shadow Flare
                                       case 3171:
                                       // Aura Flare
               			case 3172:
                                // Prominence
                                       case 3173:
                                       // Hydro Blast
                                       case 3174:
                                       // Hurricane
                                       case 3175:
                                       // Stone
                                       case 3176:
                                       // Solar Flare
               			case 3177:
               			// Shadow Flare
               			case 3178:
               			// Aura Flare
               			case 3179:
               			// Prominence
               			case 3180:
                                // Hydro Blast
                                       case 3181:
                                       // Hurricane
                                       case 3182:
                                       // Stone
                                       case 3183:
                                       // Solar Flare
                                       case 3184:
                                       // Shadow Flare
                                       case 3185:
                                       // Aura Flare
                                       case 3186:
                                       // Slow
                                       case 3187:
                                       // Winter
                                       case 3188:
                                       // Stun
               			case 3189:
                                // Hold
                                       case 3190:
                                       // Sleep
                                       case 3191:
                                       // Paralyze
                                       case 3192:
                                       // Medusa
                                       case 3193:
                                       // Fear
               			case 3194:
               			// Poison
               			case 3195:
               			// Bleed
               			case 3196:
               			// Silence
               			case 3197:
                                // Doom
                                       case 3198:
                                       // Skill Refresh
                                       case 3199:
                                       // Spell Refresh
                                       case 3200:
                                       // Music Refresh
                                       case 3201:
                                       // Refresh
                                       case 3202:
                                       // Problem Skill
               			case 3203:
               			// Reflect Damage
               			case 3204:
               			// Party Recall
               			case 3205:
               			// Music
               			case 3206:
                                   {
                                           // Those Skills wont be removed.
                                           break;
                                   }
                                   default:
                                   {
                                           this.getPlayer().removeSkill(sk, false);
                                           break;
                                   }
                           }
                   }
                           
           }
           if (this.getPlayer().transformId() > 0 && !this.getPlayer().isCursedWeaponEquipped())
           {
                   // give transformation skills
                   transformedSkills();
                   return;
           }
           // give transformation skills
           transformedSkills();
   }
   
   public void transformedSkills()
   {
       // Nail Attack
       this.getPlayer().addSkill(SkillTable.getInstance().getInfo(539, 1), false);
       // Wing Assault
       this.getPlayer().addSkill(SkillTable.getInstance().getInfo(540, 1), false);
       // Soul Sucking
       this.getPlayer().addSkill(SkillTable.getInstance().getInfo(1471, 1), false);
       // Death Beam
       this.getPlayer().addSkill(SkillTable.getInstance().getInfo(1472, 1), false);
       // Transfrom Dispel
       this.getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
       // Decrease Bow/Crossbow Attack Speed
       this.getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
       // Send a Server->Client packet StatusUpdate to the L2PcInstance.
       this.getPlayer().sendSkillList();
   }
       
       public void onUntransform()  
       {	
	// remove transformation skills
	removeSkills();
       }

public void removeSkills()
{
    // Nail Attack
           this.getPlayer().removeSkill(SkillTable.getInstance().getInfo(539, 1), false);
           // Wing Assault
           this.getPlayer().removeSkill(SkillTable.getInstance().getInfo(540, 1), false);
           // Soul Sucking
           this.getPlayer().removeSkill(SkillTable.getInstance().getInfo(1471, 1), false);
           // Death Beam
           this.getPlayer().removeSkill(SkillTable.getInstance().getInfo(1472, 1), false);
           // Transfrom Dispel
           this.getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
           // Decrease Bow/Crossbow Attack Speed
           this.getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
           // Send a Server->Client packet StatusUpdate to the L2PcInstance.
           this.getPlayer().sendSkillList();
}

public static void main(String[] args)
{
	TransformationManager.getInstance().registerTransformation(new Kamael());
}
}

 

Do the same to all transformations.

Link to comment
Share on other sites

Msg coded, it was pretty big. Btw you can always make a patch, so you can make everyone's life easier and skip the explanation.

 

Anyway thanks for sharing it with the community.

Link to comment
Share on other sites

  • 2 years later...

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Posts

    • 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    
    • or at least to tell you an update that sorry but still not at home.. 10 days is suspisious.. but he is long time offline from discord indeed... maybe something happened?
    • I never had problems with him. Again, Im not sure if he scammed or not. But 10+ days without answering after we already paid, its a bit sus. If you know you wouldnt be able to answer for a few days, after receiving and confirming the amount, why dont keep in touch? or just say "hey, dont send now because I will only be available after day x.".  
    • i used to ask him for stuff etc, i dont think he scammed ... if he does i will be suprised...
  • Topics

×
×
  • Create New...