Jump to content
  • 0

Goddess of Destruction Transformation


Question

Posted

Ok, so i am trying to implement the new Kukuru transformation that mechanical chicken, and i don't have any idea where should i start, for example The Jet_Bike transformation code is this:

package transformations;

import com.l2js.gameserver.datatables.SkillTable;
import com.l2js.gameserver.instancemanager.TransformationManager;
import com.l2js.gameserver.model.L2Transformation;

public class JetBike extends L2Transformation
{
private static final int[] SKILLS = {5491,839};
public JetBike()
{
	// id, colRadius, colHeight
	super(20001, 21.5, 27);
}

@Override
public void onTransform()
{
	if (getPlayer().getTransformationId() != 20001 || getPlayer().isCursedWeaponEquipped())
		return;

	transformedSkills();
}

public void transformedSkills()
{
	// Decrease Bow/Crossbow Attack Speed
	getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
	// Dismount
	getPlayer().addSkill(SkillTable.getInstance().getInfo(839, 1), false);

	getPlayer().setTransformAllowedSkills(SKILLS);
}

@Override
public void onUntransform()
{
	removeSkills();
}

public void removeSkills()
{
	// Decrease Bow/Crossbow Attack Speed
	getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
	// Dismount
	getPlayer().removeSkill(SkillTable.getInstance().getInfo(839, 1), false);

	getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}

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

 

most of it it's clear The Server_ID=Client_ID = 20001 but where is this transformation stored, and how can i implement a new transformation using an mount that i allready have exactely like this jetbike . And what is with this ID where is stored and where is it coming from?

3 answers to this question

Recommended Posts

  • 0
Posted

public JetBike()

{

// id, colRadius, colHeight

super(20001, 21.5, 27);

}

public class JetBike extends L2Transformation

L2Transformation

/**
 * 
 * @param id Internal id that server will use to associate this transformation
 * @param graphicalId Client visible transformation id
 * @param collisionRadius Collision Radius of the player while transformed
 * @param collisionHeight  Collision Height of the player while transformed
 */
public L2Transformation(int id, int graphicalId, double collisionRadius, double collisionHeight)
{
	_id = id;
	_graphicalId = graphicalId;
	_collisionRadius = collisionRadius;
	_collisionHeight = collisionHeight;
	_isStance = false;
}

/**
 * 
 * @param id Internal id(will be used also as client graphical id) that server will use to associate this transformation
 * @param collisionRadius Collision Radius of the player while transformed
 * @param collisionHeight  Collision Height of the player while transformed
 */
public L2Transformation(int id, double collisionRadius, double collisionHeight)
{
	this(id, id, collisionRadius, collisionHeight);
}

public void start()
{
	this.resume();
}

public void resume()
{
	this.getPlayer().transform(this);
}

L2PcInstance

public void transform(L2Transformation transformation)
{
...
	_transformation = transformation;
	stopAllToggles();
	transformation.onTransform();
	sendSkillList();
	sendPacket(new SkillCoolTime(this));
	sendPacket(ExBasicActionList.getStaticPacket(this));
	broadcastUserInfo();
}

public final void broadcastUserInfo()
{
	// Send a Server->Client packet UserInfo to this L2PcInstance
	sendPacket(new UserInfo(this));

UserInfo

	// T1 Starts
	writeD(_activeChar.getTransformationId());

  • 0
Posted

ok, i dont need code folow up i want to know where that id comes from that's all for example i want to implement gremlin transformation:) how do i get specific code for gremlin?.

  • 0
Posted

i just shown you the way how that id is sent from srv to client, if i am not wrong you are a client dev, so you should know where and what to add, i dont know what to do, but i think that it starts with transformdata.dat

..
20000	0	27	0	LineageEffect.s_u833_transform	LineageEffect.s_u833_transform	0	0	0	0
20000	1	27	0	LineageEffect.s_u833_transform	LineageEffect.s_u833_transform	0	0	0	0
20001	0	32	0	LineageEffect.s_u833_transform	LineageEffect.s_u833_transform	2	0	0	0
20001	1	32	0	LineageEffect.s_u833_transform	LineageEffect.s_u833_transform	2	0	0	0
20002	0	33	0	LineageEffect.s_u833_transform	LineageEffect.s_u833_transform	0	0	0	0
20002	1	33	0	LineageEffect.s_u833_transform	LineageEffect.s_u833_transform	0	0	0	0
20003	0	34	0	LineageEffect.s_u833_transform	LineageEffect.s_u833_transform	0	0	0	0
20003	1	34	0	LineageEffect.s_u833_transform	LineageEffect.s_u833_transform	0	0	0	0
...

so you must register it here, and add somewhere somehow the model, idk, but ask it at client mod section, here i dont know if any1 will know

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
Answer this question...

×   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

    • Hi players ! Meet our project Lineage 2 Hiro Classic ! A low rate classic pvp oriented with many features. No pay to win, RB/AoE, group clan pvp castle etc ...  Dynamic rates, RB Xp 4x and soon massive update with auto farm ! Join now !  https://www.lineage2hiro.com/ Can't wait to see you online !
    • To all first time buyers we give a bonus + 10% of the order. 
    • 🔥 Looking for a powerful, clean, and player-friendly Auction House system for your Lineage 2 server? This fully-featured module is ready to plug into your project and provide your players with a modern, centralized marketplace!   💼 What is it? A complete Auction House system designed for fixed-price item sales between players. Forget about private stores and spammed zones—this system offers a smooth, secure, and offline-friendly way to buy and sell items across your server.   Photo Library: https://imgur.com/a/zLlUQbW   ✅ Main Features: 🔹 Fixed-Price Listings Only: Players list items at a set price. No bidding, no delays—just fast, clean trades. 🔹 Multi-Currency Support: Works with Adena, event coins, custom currencies—fully configurable. 🔹 Dynamic Interface: Players can filter items by name, type, and price. Easy-to-use HTML layout with smooth pagination. 🔹 Sell While Offline: Post items and receive payments even if you're not online—true passive trading. 🔹 Safety First: Full validation: no equipped/augmented/restricted items unless allowed. Prevents scams, mispricing, and listing errors. 🔹 Expiration Timer (Optional): Set listing time limits. Expired items go to warehouse/mail automatically. 🔹 Spam & Duplication Protection: Prevents multiple listings of identical items and unnecessary database load. 🔹 Performance Optimized: Clean, indexed SQL structure. No lag or bloating even with thousands of listings.   ⚙️ Plug & Play Clean Java code (compatible with aCis & derivatives). Easy setup with full instructions and sample configurations. Includes SQL, HTML files, and all Java classes – fully working out of the box.   💰 Pricing & Contact 📦 50 euro - One-time purchase with full support for setup & basic customization. 💬 Contact me here via PM or on Discord: @Luminous 🔐 Serious buyers only – source is clean, secure, and tested on live servers.     Give your server the next-level economy it deserves. No more chaotic trade zones. No more confusion. Just clean, efficient, server-wide trading.
    • We are certainly not an ambulance, but we will definitely cure you of blacklists and empty pockets. Live freely with SX! Each of you will receive a trial version of SX to familiarize yourself with the product, all you have to do is post in this thread
  • Topics

×
×
  • Create New...