Jump to content

Recommended Posts

Posted

This isn't my guild bud i repost it why it's an old and locked guild all greateds go to killer_007

 

1st Step: Preparation

 

I tell it again, it’s hard if you don’t know .xml editing and client modding. I’ll explain it as clear as I can. We don’t need something special for .xml editing (such as dreamweaver which is useful if you are a pro) but only our text editor. But we need a program for our client editing. You can find the link at the end of the post. This program is called Fileedit for C5. Make sure you keep backups of your files

before doing anything. I suggest you to use a new server install, just for this testing/editing.

 

 

 

2nd Step: Planning your ideas - .xml Creating

You must think what you want. You must have a main idea of what you gonna do. Let’s start explaining the .xml editing for weapon/armor/skills (the skills are more difficult, but it worths Tongue).

Let’s start with a weapon, which is the easiest.

This main idea is, creating a unique sword, which has the texture of zariche, and having the name of our server, which would be available for newbies for a drop (you can create a custom item as a drop, or simply use an already existing one) or more drops and would have nice stats Wink (we can make dual zariche too, but it’s client modding most <(I have it already Tongue, maybe I’ll post it at the end of the post)>)

We don’t care about the texture at the .xml editing. Let’s learn the basics:

 

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE list SYSTEM "weapons.dtd">

<list>

<item id='5600' name="meteor_shower_critical_bleed">

  <for>

    <set val='213' order='0x08' stat='pAtk'/>

    <set val='107' order='0x08' stat='mAtk'/>

    <set val='4' order='0x08' stat='rCrit'/>

    <add val='4' order='0x10' stat='accCombat'/>

    <set val='379' order='0x08' stat='pAtkSpd'/>

    <enchant val='0' order='0x0C' stat='pAtk'/>

    <enchant val='0' order='0x0C' stat='mAtk'/>

    <!-- Critical Bleed -->

    <skill onCrit='1' id='96' lvl='6' chance='42'/>

  </for>

</item>

</list>

 

MEANS ~>

<?xml version="1.0" encoding="UTF-8"?>

This is basic, like a header. It explains some things to the PC (encoding of characters and xml version). We don’t edit it.

 

<!DOCTYPE list SYSTEM "weapons.dtd">

It’s a new add (after an update of l2j). In order to open all these .xml, you have to have in your folder the weapons.dtd file, otherwise nothing happens.

 

<list>

Add this at the beginning of every .xml (NOTE: Not at every custom thing!!! Only list).

 

<item id='5600' name="meteor_shower_critical_bleed">

Item id = our new custom thing id. I would choose 9401 for example (it shouldn’t exist). Name = the name of our item

 

<for>

A label. We need it to give to our weapon stats etc.

    <set val='213' order='0x08' stat='pAtk'/>

    <set val='107' order='0x08' stat='mAtk'/>

    <set val='4' order='0x08' stat='rCrit'/>

    <add val='4' order='0x10' stat='accCombat'/>

    <set val='379' order='0x08' stat='pAtkSpd'/>

    <enchant val='0' order='0x0C' stat='pAtk'/>

    <enchant val='0' order='0x0C' stat='mAtk'/>

    <!-- Critical Bleed -->

    <skill onCrit='1' id='96' lvl='6' chance='42'/>

 

Everything about our weapon:

 

<set val='213' order='0x08' stat='pAtk'/>

The p. atk

 

<set val='107' order='0x08' stat='mAtk'/>

The m. atk

 

<set val='4' order='0x08' stat='rCrit'/>

Don’t make it too high. It adds more critical to our weapon.

 

<add val='4' order='0x10' stat='accCombat'/>

Adds more damage during PvP.

 

<set val='379' order='0x08' stat='pAtkSpd'/>

The atk speed.

 

    <enchant val='0' order='0x0C' stat='pAtk'/>

    <enchant val='0' order='0x0C' stat='mAtk'/>

This means that when it is enchanted, it gets +++ status to the p. Atk and m. Atk.

 

    <!-- Critical Bleed -->

    <skill onCrit='1' id='96' lvl='6' chance='42'/>

The SA of our weapon. On critical, casts skill id 96 (lvl 6) with chance of success 42%.

You can now choose an id from your db, and look it in your .xml. If you like it’s stats, just <<steal>> them Tongue And what do I mean?

 

Look:

For our custom weapon~>

<?xml version="1.0" encoding="UTF-8"?>

<list>

<item id='9401' name="L2XxX_Newbies_Blade">

  <for>

    <set val='213' order='0x08' stat='pAtk'/>

    <set val='107' order='0x08' stat='mAtk'/>

    <set val='4' order='0x08' stat='rCrit'/>

    <add val='4' order='0x10' stat='accCombat'/>

    <set val='379' order='0x08' stat='pAtkSpd'/>

    <enchant val='0' order='0x0C' stat='pAtk'/>

    <enchant val='0' order='0x0C' stat='mAtk'/>

    <!-- Custom -->

    <skill onCrit='1' id='96' lvl='6' chance='80'/>

    <add order='0x40' stat='rCrit' val='130'>

    <mul val='1.10' order='0x30' stat='maxHp'/>

      <and>     

            <player hp='60'/>

      </and>

  </add>

  </for>

</item>

</list>

 

Ok, look now what I did. I created a small .xml with the following ~> I changed the p. atk/name/m.atk/id and I added 2 more SAs except the bleed (which I changed the success rate). I added +10% HP (I stole the code from dark_legions_edge_health if you don’t know how to create it yourself), and I added an SA that adds +130 critical rate if your HP is under 60%!!! Now it’s time to test it. Test it with Internet Explorer. If you don’t get any error, you are ok Wink (As you may see, I didn’t added the <!DOCTYPE list SYSTEM "weapons.dtd"> there is no problem if you don’t put it!).

For armors/skills it’s the same, I don’t need to explain something, but I gonna give you a brief look. The tip for beginners is…copying a skill that likes us, and we edit it as we wish. Remember to test it ON EVERY CHANGE so if you take an error, you won’t lose time checking your adds.

Let’s see about the armors:

 

<item id='6845' name="Pirate's Eye Patch">

  <for>

    <add val='0' order='0x10' stat='pDef'/>

  </for>

</item>

 

If you have played GvE you should know that this adds +50 Critical. Let’s do it too Wink

 

<item id='6845' name="Pirate's Eye Patch">

  <for>

    <add val='0' order='0x10' stat='pDef'/>

    <add order='0x40' stat='rCrit' val='50'>

  </add>

  </for>

</item>

 

W00T! We <<stole>> these addition from a weapon with SA focus Smiley

Do you want us to add m. def to an armor ? Cheesy Let’s choose one.

 

<item id='7861' name="Apella Breastplate">

<!-- Done by KID -->

  <for>

    <add val='278' order='0x10' stat='pDef' />

    <add val='80' order='0x10' stat='mDef'/>

    <!-- Clan Set Armor -->

    <add val='232' order='0x40' stat='maxCp'>

        <and>

          <using slotitem="7860;6" />

            <using slotitem="7862;9" />

            <using slotitem="7863;12" />

        </and>

  </add>

    <mul val='1.40' order='0x40' stat='regCp'>

        <and>

          <using slotitem="7860;6" />

            <using slotitem="7862;9" />

            <using slotitem="7863;12" />

      </and>

    </mul>

   

    <enchant val='0' order='0x0C' stat='pDef' />

  <enchant val='0' order='0x0C' stat='mDef'/>

</for>

</item>

 

And let’s see our skills:

(choose your skill ids here ~> http://l2private.free.fr/misc/SkillsID.ini )

 

<skill id="265" levels="1" name="Song of Life">

  <!-- Done by dc -->

  <set name="mpConsume" val="60"/>

  <set name="power" val="0.0"/>

  <set name="target" val="TARGET_PARTY"/>

  <set name="skillRadius" val="1000"/>

  <set name="hitTime" val="2500"/>

  <set name="reuseDelay" val="10000"/>

  <set name="skillTime" val="2500"/>

  <set name="skillType" val="BUFF"/>

  <set name="operateType" val="OP_ACTIVE"/>

  <set name="buffDuration" val="120000"/>

  <set name="castRange" val="-1"/>

  <set name="effectRange" val="-1"/>

  <for>

    <effect name="Buff" time="120" count="1" val="0">

      <mul order="0x30" stat="regHp" val="1.2"/>

    </effect>

  </for>

</skill>

 

<set name="mpConsume" val="60"/> <~ how much mp it consumes

 

<set name="target" val="TARGET_PARTY"/> <~ You can change this one, so you can give someone a song without party…for example ~> TARGET_AREA (don’t forget…always CAPITALS) will give that song to the whole area Tongue Or TARGET_SELF for self-only buff or TARGET_ONE for target – buff.

 

 

  <set name="reuseDelay" val="10000"/> the reuse delay of the skill.

 

<set name="buffDuration" val="120000"/> The duration of the song.

      <mul order="0x30" stat="regHp" val="1.2"/> if you edit the 1.2, the HP regeneration rate will increase (1.3 = +10% more hp regen.).

 

3rd Step: Client modding

 

Now this is the hard step, because it needs time to understand each row. The easiest way (for example for our custom – zariche) is copying the rows from zariche in weapongrp.dat and itemname-e.dat and just changing the name of the weapon and the p. atk/m.atk and of course the description. If you do something wrong, you will get an error. Well, copying the line from weapongrp.dat and then just changing the id is easy, but in the itemname-e.dat you can easily make a mistake by destroying the columns. You have NOT TO edit after the big gaps (I mean, don’t destroy <(for example)> all the old description, select it UNTIL YOU REACH THE END OF THE LETTERS !DON’T! touch the gap. Edit the ID, the description and you are ready. Just load your GS and watch out for error in the .xml loading. If you don’t get any, you are ok! Client editing needs time to learn it, and it’s time consuming because of the errors you can get easily. Use a patched system for any modification, otherwise you gonna get critical error from the client! (Patched system you can find in any server with custom stuff).

For custom armor ~> edit in client the… itemname-e.dat, armorgrp.dat

For custom weapon ~> edit in client… itemname-e.dat, armorgrp.dat

For custom skill ~> edit in client… skillname-e.dat, skillgrp.dat, skillsoundgrp.dat

THIS IS ONLY for full customized skills. If you just edit the affects, you won’t need to change any of these. If you want to change the description of these use the itemname-e/skillname-e.dat files. For custom icons use the armorgrp/skillgrp.dat files.

 

icon.skillXXXX for changing icons in skills (use another’s skill number).

icon.armor_t06_u_i00 for changing armor icons (you have to edit all the text <(icon.armor_t06_u_i00)> in order to get it fully working.

 

4th Step: DB

 

I will not give exact information atm, maybe later. Just go to the db and copy a row, paste it and give the ID of your custom id. This guide wasn't made exactly for creating a new one, but for modding an existing (it is easier for newbies) but it can be used for creating. Anyway, back to db topic, copy paste... Soon will be added info Tongue

 

You can edit also the system messages with other messages in the systemmsg-e.dat (example ~> Critical to You slashed ‘em up! Or Are you sure you want to exit? ~> VOTE FOR US PLZ NOW!!! THX!!!!)

You can edit the server name too! For example Bartz ~> L2XxX (servername-e.dat)

 

TIP: If you want to make something veryyyyyyy customed, in order to know what each column is, use excel!!! (1st row = description 2nd row = you custom item settings) but it needs plenty of time. Cheesy

You can edit everything with fileedit, just search a little and do some tests Wink

 

That’s all folks Tongue For one more time, for any correction of this guide or for asking for help, just post Wink

 

Some useful links

 

~LINKS~

 

W00T

http://img441.imageshack.us/my.php?image=shot00009bm4.jpg

http://img170.imageshack.us/my.php?image=shot00015pb5.jpg

Fileedit C5

http://www.4shared.com/file/9006788/58563197

  • 2 weeks later...
  • 3 months later...
  • 3 months later...
  • 3 months later...
Posted

Just a question ....

I try to make the stats of the armor activate when im wearing the full armor

But i cant manadge to do that ...

Got any idea how i can do that ??

Posted

in database at armorsets table.. u set at skill_id row the passive skill u want... if u set the parts right it will give u the skill only if u equip all parts.

Posted

in database at armorsets table.. u set at skill_id row the passive skill u want... if u set the parts right it will give u the skill only if u equip all parts.

I didant mean skill ...

I was talking about custom HP MP Dex Con ... when all armor is equiped :)

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Posts

    • Update: Advanced Rate Limiting Rate limiting is now applied to: Login attempts Account registration Password recovery Email confirmation resends WhatsApp verification Checkout access The system maintains independent counters by IP address and user identity, helping prevent traditional brute-force attacks as well as distributed credential-stuffing attempts using multiple proxies. Brute-Force and Credential-Stuffing Protection Protection is not limited to the visitor's IP address. The system also tracks attempts associated with the account, username, or email address, reducing the effectiveness of attacks performed through rotating IP addresses, proxies, or VPN services. Global HTTP Security Headers Security headers are applied across the entire website: X-Frame-Options X-Content-Type-Options Referrer-Policy HTTP Strict Transport Security These headers help protect the website against clickjacking, MIME-type confusion, insecure referrer exposure, and HTTP downgrade attempts. Secure Error Handling Internal exceptions are recorded in protected security logs while visitors receive sanitized error messages. This prevents the accidental exposure of: Internal file paths Database information SQL errors Server configuration Application stack traces Private Storage Exposure Monitoring The system automatically checks whether the private storage directory is publicly accessible in production. If exposure is detected, a security warning is recorded for the administrator without interrupting the website. This directory may contain licensing information, rate-limit records, and security logs and must never be publicly accessible. OAuth Request Protection Google and Facebook authentication flows use cryptographically random state values stored in the user's session. Returned state values are validated using constant-time comparison, helping prevent OAuth request forgery and unauthorized account-linking attacks. Telegram Authentication Validation Telegram login information is protected through: HMAC signature validation Constant-time hash comparison Authentication timestamp verification Expired-login rejection Secure Verification Tokens Email, password recovery, and WhatsApp verification systems include: Cryptographically secure random tokens Hashed WhatsApp verification codes Automatic expiration Limited verification attempts Resend cooldowns One-time token invalidation Account Activation Protection When email or WhatsApp verification is required, the game account remains restricted until all required verification steps are completed. Unverified users cannot bypass the confirmation process through standard or social login. Secure Upload Processing Administrative image uploads include: Real MIME-type inspection Image-content validation File-size limits Extension allowlists Server-generated random filenames Rejection of invalid or disguised files Original user-provided filenames are never used as the final stored filename. Path Traversal Protection Theme and template identifiers are restricted to validated slugs and must exist in the internal list of allowed themes. This prevents directory traversal and unauthorized local-file access through manipulated template names. Atomic Ticket Transfer Protection Ticket transfers use transactional and durable delivery processing. The balance is conditionally debited, the delivery is recorded before communication with the game database, and failed deliveries remain pending for safe reprocessing. This helps prevent: Free-item delivery Inconsistent balances Duplicate delivery Partial transaction failures Lost transfer records Concurrent Balance Protection Administrative balance adjustments use database transactions and row-level locking. This prevents simultaneous balance operations from overwriting each other or creating inconsistent account balances. Secure Redirect Handling Redirect values are sanitized against header injection, and external redirects are restricted to HTTPS destinations. Password Security Improvements The website uses modern password hashing for player-panel accounts and bcrypt with a configurable cost for supported game-server account systems. Compatibility is included for game-server implementations requiring the $2a$ bcrypt prefix. Duplicate Payment Prevention Built-in protections include: Idempotency control Transaction reference validation Payment status verification Unique external payment references Database transactions and rollback Durable payment history Completed-order verification These protections prevent: Double credits Repeated processing Duplicate payment callbacks Incomplete financial operations Signed Payment Callback Protection Payment callbacks are protected through: HMAC-SHA256 authentication Constant-time signature comparison Signed callback timestamps Callback freshness validation Shared callback secrets This helps prevent forged payment notifications, callback manipulation, and replay attacks. SQL Injection Protection The database layer uses: PDO Prepared statements Parameter binding Controlled internal allowlists for dynamic identifiers User-controlled values are not directly concatenated into SQL queries. XSS Protection Output and form data are protected through: HTML escaping Attribute escaping Input filtering HttpOnly session cookies MIME-sniffing protection Frame embedding restrictions These measures reduce the risk of Cross-Site Scripting, malicious HTML injection, session theft, and clickjacking. CSRF Protection Sensitive forms and administrative operations use session-based CSRF tokens. Requests without a valid token are rejected, helping prevent unauthorized actions performed through malicious external websites. Secure Session Protection The session system includes: HttpOnly cookies Secure cookie support SameSite restrictions Session ID regeneration Authentication state validation Session timeout controls These protections reduce the risks of session fixation, session theft, and unauthorized account reuse. reCAPTCHA Protection Google reCAPTCHA may be enabled on sensitive public forms to reduce: Automated account registrations Spam submissions Bot login attempts Automated password recovery abuse Confirmation Resend Limits Email and WhatsApp confirmation resends are protected through: Cooldown periods Rate limiting Expiring verification codes Attempt counters This prevents verification-message flooding and excessive external API usage. Licensing and Anti-Cloning Protection The website includes centralized licensing controls with: License-key validation Domain binding Signed license responses Cached license validation Temporary offline grace period Circuit-breaker protection Unauthorized-domain rejection These measures help prevent unauthorized installation, cloning, and redistribution of the system.
    • Tool that allows you to download the Lineage 2 game client directly from the official publisher CDNs. It fetches the CDN's file list and downloads every patch file, decompresses it (LZMA / Zip) and writes the finished client to disk — and can resume or repair an existing installation instead of starting over. It runs several client downloads at once through a batch queue, so you can prepare multiple regions or versions in a single session.   Supported: NCSoft CDNs (TW / KR / JP / NA) and  4game CDNs(RU / EU)   Download: https://drive.google.com/file/d/11SDcNASqO2GKOBT79LFu7mqvSRSJZvBS
    • https://l2avokado.com/ Hello everyone,   After some time of development, we've decided to open L2Avokado to the public in its current development stage. We're looking for players who enjoy Interlude and would like to help shape the project before its official release.   This isn't a "launch" announcement. Instead, we're inviting the community to log in, explore the server, test the systems we've built, and provide honest feedback. Whether it's bug reports, balance suggestions, progression ideas, or quality-of-life improvements, we'd love to hear them.   Our goal has always been to create an Interlude server that feels familiar while offering a fresh progression experience. We've intentionally avoided custom weapons, armor, and client modifications. Instead, we've focused on redesigning progression through reworked hunting grounds, quests, crafting, and gameplay systems while remaining compatible with a clean Interlude client.   At this stage, the core progression path has been implemented, including the main hunting grounds, quests, custom systems, and events. However, as the project is still under active development, there will inevitably be bugs, balance issues, and areas that require further polishing.   This is exactly why we'd like your help.   We're looking for players who are willing to: Test gameplay and progression. Report bugs and exploits. Suggest balance improvements. Share ideas for new features or quality-of-life changes. Help us build a server that the community genuinely enjoys playing.   The Client and System downloads are already available on our website, so you can jump straight into the game. We're also working on a dedicated launcher that will simplify installation and future updates.   If you're interested in helping develop a unique Interlude project and want your feedback to genuinely influence the direction of the server, we'd love to have you with us.   We look forward to seeing you in-game and hearing your thoughts on Discord. https://l2avokado.com/
  • Topics

×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..