Jump to content

Search the Community

Showing results for tags 'Guide'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • General Zone
    • Announcements and News
    • Newbies Introduce Urself
    • Maxcheaters Competitions & Events
    • Votes/Polls Area
    • Report Section
    • Downloads Section
    • Suggestions/Feedback Board
  • Lineage II General Section
    • General Discussion [English]
    • Request Support [English]
  • Lineage II Hacks,Cheats and Bots
    • Hacks & Cheats [English]
    • Request Hacks & Cheats [English]
    • Botting [English]
    • Request Botting [English]
  • Lineage II Private Servers
    • Buy Advertising Link #1
    • Private Servers
    • [Previews] L2 Private Servers
    • Clans and Alliances
  • Lineage II Marketplace
    • Marketplace [Items & Chars]
    • Marketplace [L2Packs & Files]
    • Marketplace [Powerlvl & Support]
    • Marketplace [Webdesign & Webdevelop]
  • Lineage II OFF Server Development
    • Server Development Discussion [L2OFF]
    • Request Server Development Help [L2OFF]
    • Server Shares & Files [L2OFF]
  • Lineage II Java Server Development
    • Server Development Discussion [L2J]
    • Request Server Development Help [L2J]
    • Server Shares & Files [L2J]
    • Private Projects [L2J]
  • Lineage II Client Development
    • Client Development Discussion
  • MMO Games
    • Grand Theft Auto V: FiveM
    • League of Legends
    • Other Multiplayer Games
  • General Section
    • General Marketplace
    • Crypto Zone
    • Consoles/Mobile Gaming Zone
    • Webmasters Zone
    • Hacking/Coding Zone
  • Graphics/GFX Zone
    • Graphics/GFX General Discussion
    • Graphics/GFX Showcase
    • Graphics/GFX Resources/Tools
  • Premium Zone
    • General Discussion [Premium]
    • Lineage II [Premium]
    • GFX Area [Premium]
  • MaxCheaters Corner
    • Tech/World News
    • Off-Topics
    • Spam Topics
  • L2Classic Club's Just trying this thing out
  • Lineage 2 Revolution Club's Discussions
  • Lineage 2 Revolution Club's Tutorials
  • Lineage 2 Revolution Club's Request Help
  • DenArt Designs's Hello and welcome to my club!
  • DenArt Designs's News

Product Groups

  • Advertisements
  • Old Vips
  • Premium Member

Find results in...

Find results that contain...

Date Created

  • Start


Last Updated

  • Start


Filter by number of...


  • Start





Website URL








  1. Any can help me plz? i have 2 connections... i added in database server 2 servers... different WANIP same LANIP same port... But only appear online server 1... It's possible to make it for example if 1 connection is slow or offline?
  2. [glow=red,2,300]1. Introduction[/glow] In this guide we will learn how to edit the loading screen of any chronicle. I have seen some guides in forum but much of them had some errors and when people try to enter game they get crash. However in this guide I will try to guide you step by step to get the expected result. [glow=red,2,300]2.What is loading screen?[/glow] The loading screen is the picture that appears when you are waiting your char to log in. As im using Interlude, my original loading screen would be this one: [glow=red,2,300]3. Programs that we will need:[/glow] ● Link 1 mediafire (rar) ● Link 2 megaupload (rar) ● Link 3 4shared (rar) * All links are the same [glow=red,2,300]4. Rar content:[/glow] The above rar contain: ● Paint.NET 3.5.10 installer ( ??? ) --> Install it where you like. We will use this program to convert DDS files to PNG so we can easily edit them without any plugins. ● UE2Runtime installer --> Install it where you like too. ● L2Tool ● L2Endec ● L2Decrypt ● Encrypt UTX ● You will need any version of Photoshop too, search in google [glow=red,2,300]5. Guide:[/glow] The first thing we will do is extract the rar, in the desktop for example. Now we need to find the loading screen to edit it. This file is packed in l2Font-e.utx of our systextures folder (C:\Program Files\Lineage II\systextures) so copy it to the folder where we have all our tools. Now that we have all files in the same folder, let's drag and drop our l2Font-e.utx on l2decrypt to decrypt it. This will open it and after waiting 5 seconds or so will appear this: We have to remember number that appears in ... using Version 121. Click on enter and l2decrypt will close. Also now we have a new file: L2Font-e.clear.utx (You can erase the original l2Font-e.utx if you like). Now we have our file decrypted, however, to open it with the UnrealEditor we need to make it "readable". For this we will use the l2tool. Double click on it. In the third line (which begins with UTX...) select our L2Font-e.clear.utx and click on the Line2-> UnrealED button. Agree and select a location to be saved (I recommend in the same folder to overwrite the previous L2Font-e.clear.utx and not create thousand files). Now we have our L2Font-e.clear.utx ready to open with UnrealEditor, so open it and checking that you are on "textures" tab, go to file -> open -> and select our L2Font-e.clear.UTX: Now go to the tab where says AgitMap and select Skins. Here we have the original loading screen (Texture loading02-e * [DXT3]), we right-click on it, click on export to file and select any location, desktop for example. (Do not close the UnrealED) Well! We now have a new friend to play with on the location where we selected in Unreal (desktop in my case) the loading02-e.dds. Now comes the editing, we have two ways: ● Edit with Paint.net directly (This program may called your attention, but is one of the few wich can read the dds format without plugins) ● Edit with Photoshop (be better) I'm going to edit it with Photshop and, as it doesnt read .dds, I will open the loading02-e.dds with Paint.net and I will save it as .png (File -> Save as) to make it readable by Photoshop. Now open this .png with photoshop and edit it as you like, we can leave the black bar where appears the NCSoft credits, remove, put new images ... what you want ... But respect image size and dont write anything below LOADING bar... Once you have finished your editing, save it again as .png. Now we will re-open the loading02-e that we have in png with paint.net and we're going to save as .dds (File --> Save it as): A new tab will appear with saving options, put them like that: (DTX3 / Interactive setting / Perceptual) We have finished with editing. Return to Unreal where we still have the old loading02-e, go to File --> Import (verifying that we are in the textures tab) and select the loading02-e that we have edited. It appears another tab settings, you must put it like this: Now we have the new loading02-e loaded so now go to file --> save and save it in the folder where we have all the tools (Remember, I put in it desktop) We are almost done. The only need now is to re-encrypt it again to allow client to recognize it. Go to the folder from the beginning, where we have the l2Font-e.utx we have just saved, do right-click on encrypt UTX and click edit. Paste that if isnt: l2encdec -e 121 L2Font-e.utx * In case your file is named different from L2Font-e.utx, change it for the file name ** In case your version is different, change 121 for yours (second image of the guide, where we used l2decrypt and I told you to remember a number) Save it and run the UTX encrypt. This will give us a new file, the hoped enc-L2Font e.utx. Move the enc-L2Font e.utx to your systextures folder, change his name for L2Font e.utx and... You have finished! Congrats! But... wtf we must check how it looks not? [glow=red,2,300]6. Comments[/glow] I would like to apologize because the pictures are in Spanish and most people dont understand it, I have tried to specify all to make understable by everybody. If you have any doubt post here and we will solve it. [glow=red,2,300]6. Credits[/glow] Images and guide by me Comment ;)
  3. Hello MaxCheaters, today i will show you a simple way about to edit jars from compiled projects! First you must download Intellij or any IDEA programm you like. Guide Video: Enjoy! 😄
  4. Since I see people asking for this every now and then I thought I'd code it and share it. L2Proxy is a simple MITM proxy for your L2 server. It comes in two parts The Java side The L2Proxy service The Java side can be used on any pack and with any proxy configuration without needing the app. If however you don't wanna mess with proxy configuration you can also use the L2Proxy service which runs a MITM proxy for your players. It is fully cross platform and will run fine on any VPS as long as you have the network bandwidth needed. It adds some extra functionality that you might find handy. Proxies with Gameserver invisibility turned on Features Gameserver invisibility option - You are able to hide your server behind the proxies and keep your real server IP secret RealIP - Usually with MITM proxies, since the traffic is funnelled from one server, you normally lose the real IP of the player which limits a lot of the functionality that you might have implemented. L2Proxy allows the LoginServer to pass the real IP of the used to the Gameserver during the Login->Gameserver player handoff An API - You can use the API in L2Proxy to check the stats of your Proxies, see the active connections to it and even disconnect a specific use IP or blacklist it IP Blacklist - You can blacklist a specific IP its connection will be rejected on the proxy level before it ever gets to the gameserver. This includes malicious connections. You can also use the API to blacklist someone and get them instantly disconnected. Multiple Proxies from one app - No real reason for this to exist but I added it anyway Proxy health detection. If the proxy goes down the proxy listings will appear as down as well. (This feature requires the L2Proxy service). Validation can be turned off by setting the "validateHealth" option to false. Unhealthy proxy fallback. If all proxies are down and the "fallbackToGameserver" setting is set to true then even if you've chosen to hide the gameserver, it will appear as a fallback so people can still login when the proxies are down. MaxConnections on each proxy. Once the limit is met, no more connections can be made to the gameserver via the proxy. -1 means unlimited API Actions To make actions you need to set the x-api-key header to equal to the API Key setting in L2Proxy. The default is "changeit". Get all proxies - GET http://localhost:6969/api/proxies Get proxy by IP and Port - GET http://localhost:6969/api/proxies/ (IP is the proxy ip and 7778 is the proxy port) Disconnect an active connection - DELETE http://localhost:6969/api/proxies/ (First IP is the proxy IP, second ip is the client ip, first port is the proxy port and second port is a client port) Get all blacklisted IPs - GET http://localhost:6969/api/blacklist Check if IP is blacklisted - GET http://localhost:6969/api/blacklist/ (The IP is the user IP) Blacklist an IP and disconnect used - POST http://localhost:6969/api/blacklist/ (The IP is the user IP) Removed an IP from the blacklist - DELETE http://localhost:6969/api/blacklist/ (The IP is the user IP) proxy.xml <?xml version='1.0' encoding='utf-8'?> <list> <config /> <!-- serverId: The true id of the gameserver hide: When enabled, the true gameserver will not appear in the server list fallbackToGameserver: When the proxy server is down, when true, the real gameserver will appear proxyServerId: The gameserver id that the proxy will use to be listed in the server list proxyHost: The host of the proxy proxyPort: The port of the proxy apiPort: The port of the API for the proxy apiKey: The api key for the proxy api --> <gameserver serverId="1" hide="true" fallbackToGameserver="false"> <proxy proxyServerId="2" proxyHost="" proxyPort="7778" validateHealth="true" apiPort="6969" apiKey="changeit"/> <proxy proxyServerId="3" proxyHost="" proxyPort="7779" validateHealth="true" apiPort="6969" apiKey="changeit"/> </gameserver> </list> Here is a diagram explaining the initial login flow. Once you login the loginserver goes away and you connect directly to the proxies or gameserver depending on your configuration. Features I might add (don't bet on it) Max connection limit Make calls to the API to let the gameserver know the proxy status and make proxy level action Proxy service discovery to propagate proxy actions to all running proxies Automatic proxy suggestion based on proxy load You currently need to blacklist the IP on each proxy API since the data is not shared Download link and executables of latest version: https://github.com/Elfocrash/L2Proxy/releases/tag/v0.2.0 If you run the framework dependent version you need .NET 5 CLR installed. If you run the standalone versions you don't need anything preinstalled. Will upload a video of the thing at some point. It's late. Enjoy
  5. Hello Cheaters as the tittle says how to fix our Geodata if have issues in some Maps. The only thing that you need is 3 things. 1. Much time 2. Many Geodata files from shares worldwide 3. Coffie 😉 That work if our pack have the Npc's with xml and not with Sql : First right click create new.txt file and Open it with Notepad ++ and put that inside : @echo off COLOR 0C title L2-Eternal-World: Spawn xml Search cls echo. echo.Thank you for using our services - L2-Eternal-World Team echo. :find set /p text="Enter text search: " echo. echo.search text "%text%" result: findstr /I /N %text% *.xml echo. goto find and press save. After create that cmd tool paste it inside gameserver/data/npc/spawns. Now rename it to search.cmd This is the only tool that we gonna need.....easy eh? Now go to game and go to the reported area who have issue. Search near area for a Monster or any Npc. Shift+Target to Npc or Monster to see his ID. Now go to gameserver/data/npc/spawns and run the search.cmd that we created before. write inside the cmd the npc or monster ID that you find near the spot with the issue and press enter. For ex you will see 14_21 side of npc. Great! This is the Map of Geodata that we have this Npc so and the issue! Open from another Geodata folder that you have find from free share here in MxC or somewhere else and copy the 14_21.jar map. Go to your server files and inside gameserver/data/geodata Or (gameserver/Geodata) and paste the map and replace it. Run the server again and see if your issue is fixed. With that way you can make your own geodata piece by piece so i think you gonna need more than 1 cup of coffie:) I hope that Guide to help many of you. Best Regards to all of you.
  6. Hello to everyone, The idea is to have a usable and stable Classic project, and best of all: open source! Discord https://discord.com/invite/UfPf2XZ About the project: At the beginning, the project was only for testing personal implementations, basically to keep myself updated with Java due to the adopted semiannual update policy. The project has been active for about a year, with daily updates. There are 3 direct collaborators in the project, and a few more indirect ones. Today we are supporting protocol 272 and 286 (not stable yet), the current version of NA servers. REQUIREMENTS: Java 16 MySql 8 Client protocol (Classic 272 / 286 / 306 / 311) (Essence EU 306 Sylph and new Frost Lord 311) Features Open source project under GPL 3 license; Available at https://github.com/L2jOrg/L2jOrg Daily updates, Monthly Releases L2 classic kamael protocol 272 / 286 / 306 / 311 L2 Essence 306 and 311 All AI working according to classic kamael patch notes (Giant cave, ketra, varkas, TOI, limited hunting zone, LOA, DV, Alligator Island, Call Of spirits) All quests working according to classic kamael Datapack up to date to kamael classic, skills, npcs, areas L coin shop and store up to date Custom community board with buffer, donation shop and gm shop available Imperial Tomb, Elemental Bosses Ability points Retail VIP system Retail rank system Retail Revenge system Retail dimensional merchant Come and test on our test server ! Community participation is essential for the development of any project. I know that many people, even today, have a somewhat disturbed view of open source projects, so I will list some projects as a reference that an open source project can be as good or better than a private project: Java https://github.com/openjdk; MySql https://github.com/mysql; Hirakicp https://github.com/brettwooldridge/HikariCP; EhCache https://github.com/ehcache/ehcache3; Log4J https://github.com/apache/logging-log4j2; and last but not least: async-mmocore https://github.com/JoeAlisson/async-mmocore Of course there are many other relevant ones, but I restrict myself to listing projects that are used as a dependency on the L2j ORG. Client Download Client (272 protocol) Download client (286 protocol not stable yet) Releases https://github.com/L2jOrg/L2jOrg Regards,
  7. Guys can anyone give me a hand i want to create a "L2 Classic" server but full interlude, is that possible ? Thanks in advance.
  8. this guide will go over how to adapt effects and skills from higher chronicles and import them through interlude - static meshes will only work if they are saved using postal editor - save static meshes (.usx) in static mesh, not animation. i only do that because my l2 loads it from my folder which is in animations - EditPackages is the list of 'packages' that ucc will read/save - you need to use this unreal (not postal, second link) i posted to compile nSkillProjectile - name of your new effect file should be the same amount of characters as the original (L I N E A G E E F F E C T), which is 13 - attaching to bone is not necessary, unless it's a small effect and you want it on a specific part like RESOURCES - Unreal (Postal version) - REQUIRED TO WORK WITH STATIC MESH Unreal (UCC) - REQUIRED TO COMPILE PROPERLY Normal Unreal (for sounds textures etc) Hex Workshop l2 encdec l2decrypt UTPT UMODEL ActorX Unpacked Effect Scripts (skill usk and helios effect) L2PE ASE Export Properties UCC Compile Script @echo ucc.exe make pause L2EncDec script l2encdec -e 121 testsound.uax Sample Files if you get this problem try and delete EditPackages=UnrealEd EditPackages=IpDrv EditPackages=UWeb EditPackages=GamePlay EditPackages=GUI EditPackages=Runtime EditPackages=RTInterface
  9. Greetings, dear MXCheaters! I spent a few hours today attempting to take SysTextures *.utx files from new chornicles (think Icons, user interface, etc) and make them usable with H5 client. It turns out, the process is as easy as it can be! This method has been tested with H5 client but could be working on other chronicles as well. Furthermore, it might work for other files as well, I just haven't tested it. Tools/programmes needed: 1 - L2Tool (acmi) 2- mxencdec disclaimer: clicking on the names of the tools will send you to download them from my personal google drive stash as the download links of the original shares might be broken. Now to the fun part. STEP 1: You download the files and extract them in a folder of your choice. I tend to use folders with directories (ex: D:\Client_Edit\UTX\). STEP 2: Copy the desired *.UTX file from the new chronicle and place it in the folder where you extracted the tools like so: STEP 3: - Open the L2Tool_acmi folder and run "starter.bat" and click on the button with two dots on the UTX row (shown as 1 on the screenshot below). - Open the desired UTX file. - Click on the "L2-> UnrealED" button of L2Tool (shown as 2 on the screenshot) and then save the file in the mxencdec folder. STEP 4: - Open mxencdec folder and DRAG AND DROP the UTX file on top of the MXENCDEC.exe and wait for the command prompt window to show you SUCCESS like so: STEP 5: Copy the newly encrypted file from the mxencdec folder to your Lineage 2's SysTextures folder and you are done. Credits go to Matrix (EDL Team) for mxencdec and to Aleksey Sazonov (acmi) for the L2Tool.
  10. I decided to do a lesson, it seems to be on the Internet. And people still do not understand how to use. I will show using the example of an olympiad map, cutting poles. To do this, you will need: 1) Unreal Editor. 2) Umodel. 3) 3DS MAX - MAX ACTOR. 4 )L2SMR. 5) Dev.Mode l2 - optional. All the above software is on the Internet, say Google. 1) Go to Umodel, unpack our package Static Mesh - In this case on the map we will cut the poles from the package - Refine_colosseum. Select it, press Export. 2) After unpacking, we are given a list of unpacked meshes. 3) Ah, yes, forgot how we will know the package? That's where the first point was supposed to be. Launch L2SMR - Launch Map 17_10.unr and watch all possible Static Mesh. After we find the name we need, we remember the name. And unpack in Umodel. 4)After all the manipulations done, we open the 3DS MAX- I have 2010. With a plugin ActorX Importer Press IMPORT PSK... 5)We open it. And we get Our Mesh - only without textures. 6) Next In the Front window - Cut Pillars, Why is there? Yes, because it is more convenient to highlight them there. Well, I also removed the squares naturally. For the incomprehensible, it's here! 7) Cut, save in .ase format Tick the box like mine. 8:) In fact, we completed 50% of this shit, open unreal editor. Import our Static Mesh - No matter how you form it "In my case there will be a Corasonobject." By the way, one Unreal It is better to put in the root folder with Lineage II - we will open two copies, since we will have to apply textures to it. 9)Opened, our static mesh without textures, send a second copy of the unreal ED to the folder with the game, and open it. And we open the package Refine_colosseum_S - which is original. After opening. We find it, and we begin to copy lines with materials, transfer them from the original to our work. Red highlighted what texture the park feeds our static mesh. open our sculpture, and choose two packs of textures there. 10) Now, Ctrl + c and - ctrl + v. GOGOGOGO! 11)After working in 20 textures, we get the finished product and save it to the Static Mesh folder - the root folder of the game that the L2SMR will eat - to add static mesh to the map. 12)We open the SMR L2 and the map 17_10.UNR add a new staticmesh. 13) After that, he will appear at the very end of our swarms. In the meantime, we go to the original, remember its data. X, Y, Z - we write to the notebook. And then we naturally take away from the map by changing the coordinates. 14) We go to the very end to our bag, inscribe the coordinates that were on the original. Next, click Set. 15) Everything, static mesh on the map, now open dev_mode.ini (this is not clear to anyone, my ini for the launch of dev.mod. I put the starting map 17_10.unr). Done version. p.s. The lesson turned out to be long, perhaps somewhere wrong.
  11. this guide will go over how to create monsters PROPERLY with attack effect and sound [Hidden Content] 200 LineageMonster.serpent_slave moob.scapegoat_m00 0 0 2 4416 9 1.58181822 0 3 ItemSound.sword_big_9 ItemSound.spear_2 ItemSound.sword_mid_9 5 MonSound.Hit_normal_3 MonSound.Hit_Shell_3 ItemSound.shield_bone_1 MonSound.Hit_Metal_clang_11 MonSound.Hit_Wet_3 3 MonSound.serpent_slave_dmg_1 MonSound.serpent_slave_dmg_2 MonSound.serpent_slave_dmg_3 0 1 0 LineageEffect.p_u002_a 0 50.00000000 250.00000000 70.00000000 0 1
  12. Hello,I’m looking for some who can sell/help me with some script for bot program L2helper. Need script for archer/dombriger/ bishop etc. please contact me on discord :Donky#9404
  13. Preface This guide starts with the basis that you already know of WOTExplorer and have experience with decompiling/compiling interface scripts from interface.u. If you have not done this before please visit here: This is a good collection of all the Compilers, and comes with clean interface scripts based on your Client Version. To edit different scripts mentioned in this Guide from the above download, you will navigate to: Main Compiler Folder > Interface > Classes These are all the scripts housed within Interface.u Upon completion of editing, and wanting to build a new Interface.u to put into your Clients main System folder, you will then navigate to: Main Compiler Folder > System > Make_Interface.bat This will also alert you of any errors in your code to correct, as if the code won't compile correctly it won't build your new Interface.u ------------------------------------ On with the Guide The method we'll use within this guide to communicate between the Game Server, and the Lineage II Client is the Piggy Back method. We'll be Piggybacking on an existing event that already exists within the game that the client listens for. The Event we'll be piggybacking on is the EV_TutorialViewerWndShow. What does this mean? Well the client and pretty much all server files already have handlers implemented to allow communication for the main Tutorial Quest in the game, that will pop-up the tutorial window in-game. You may wonder how this helps us accomplish our goal, and it's very simple. The way this function works by default is the server packages a html String and sends it with the event OPCode to the client. The client registers the event and when it triggers will parse that String data and show it as a Tutorial Window. What we intend to do, is instead of just sending a static html string, we will add a Header Element, and some new OPCode's of our own, that when the event triggers on the client we can modify the TutorialViewerWnd.uc script to check for these headers. If they exist, do our own custom logic, and if they don't continue on with the basic logic already implemented to handle the Tutorial Window. ------------------------------------ First, Let's handle the Server Side Code Typically a Server will send the tutorial message kind of like this: player.sendPacket(new TutorialShowHtml(HtmCache.getInstance().getHtmForce("data/html/script/feature/Tutorial/" + html))); As you can see it sends a new Client based packet with the tutorial html string, but as stated it's just a String, so we can send any type of string we want. Example: player.sendPacket(new TutorialShowHtml("UC" + "|" + "value")); Now by default the client won't know how to handle this and will most definitely throw an error, but what this represents is UC as a header, | as an iterator, and value as a variable we want to pass. ------------------------------------ Now lets handle processing it on the Client within TutorialViewerWnd.uc: Within the function OnEvent and within the switch case EV_TutorialViewerWndShow we're going to add a new check and rearrange the logic a bit. We're going to use the UnrealScript function called Split, what this does is allows us to use an iterator to break up a string into an array of separate strings, using the iterator as a way of separating them, in our case the "|". Example: local String sampleString = "Yul|Is|A Really|Cool|Dude"; local array<String> dataArray; Split(sampleString, "|", dataArray; Output would be: dataArray[0] == "Yul" dataArray[1] == "Is" dataArray[2] == "A Really" etc.. So with that knowledge, we can now use a header followed by a value to send data to the client to be used. This can be anything from Strings/Integers etc for information like Premium Time, Rates, Maybe player stats if you want a better stat window etc. So how do we catch and handle it in the OnEvent Script? Simple. Example: function OnEvent( int Event_ID, string param ) { local string HtmlString; local array<string> dataArray; switch( Event_ID ) { case EV_TutorialViewerWndShow : ParseString(param, "HtmlString", HtmlString); Split(HtmlString, "|", dataArray); // Check for Custom Logic if(dataArray[0] == "UC") { CustomVariableLogic(dataArray); } else { StandardEventLogic(HtmlString); } break; case EV_TutorialViewerWndHide : HideWindow("TutorialViewerWnd"); break; } } We move all the basic logic that previously existed into its own function called StandardEventLogic(), re-passing in the HtmlString for it do do its thing, otherwise, we'll pass the dataArray. With the array, we know index of 0 is our header in this case "UC" for Unchained, when then can have endless variables all using a Post ("|") as an iterator to separate them. Within our customVariableLogic, we can further use switches for our own custom OpCodes, in my example I use index 1 (The second value in the string) to be the OPCode for our custom logic to switch upon, allowing different functions to handle different things. Example: /* * CUSTOM * This script is ran if custom variable based commands come through the TutorialEvent */ function CustomVariableLogic (array<string> dataArray) { local int OPCode; local string data1, data2; // Initialize Values OPCode = int(dataArray[1]); data1 = dataArray[2]; data2 = dataArray[3]; // Switch on Action switch( OPCode ) { // Pass Premium Information to the Character Status Window case 1: UpdatePremiumStatusInfo(data1, data2); break; } } Ok now we know how to pass data from the Server to the Client, sweet. But now how can we pass information back to the Server, from the client? Well it's actually even easier. What we do within the client script is call RequestBypassToServer() what this does is allows you to send custom logic back to the server, which can then be processed by the server. Some examples of things that already use RequestBypassToServer are you admin commands, etc. Most server files even call the the handler RequestBypassToServer, so you can search for that within your server files. Example of how it catches it is: if (_command.startsWith("admin_")) { // Logic Here } If our case we'd want to add a new one if (_command.startsWith("admin_")) { // Logic here } else if (_command.equals("UC_charPanel")) { // Logic to handle, or can even use antoher Tutorial packet back to the server } On the client, we could have a button that we want to open the charPanel using this serverside code to handle it. function OnClickButton( string strID ) { switch( strID ) { case "AccountButton": RequestBypassToServer("UC_charPanel"); break; } } Hope this guide helps out anyone new to client development, there is a lot to take in, and not a whole lot of guides out there for things. So hope this one can be a good starting point for any newbies out there. Cheers, YulRun
  14. with "/loc" on the server you can see coords L2smr: https://mega.nz/file/58dFwIqD#HUvF7i6yRiro1R4lf1gDqCcPGzf9vrdeA2P_LrZUlmw by acmi Effects: https://mega.nz/file/ElMQWAhK#8NzPBvQr-ZcZBqMphxg00sIjjGXCZET9D9NhbEcsORA by me 1Efectos.Jewel_simboll1s 1Efectos.Jewel_simboll 1Efectos.O_E_symbol_001s 1Efectos.O_E_symbol_002s 1Efectos.O_E_symbol_003s 1Efectos.Weapon_symbol 1Efectos.Shield_symbol clientdev command used: "slomo 33" super speed "slomo 1" normal speed "open 17_20" load map "settime" do at night
  15. sorry for my English As the title says, once, I was on a server where by winning a certain amount of pvp's, you entered a category: ahem if you obtained 100 pvp, you entered the Bronze category and if successively, even Platinum, I would like to know if it exists that code for l2JSunrise, if possible .. Thanks in advance... If you do not go in this Sector, I apologize
  16. this guide will go over how to create a new effect for l2 and how to attach it to a npc - static meshes will only work if they are saved using postal editor - EditPackages is the list of 'packages' that ucc will read/save - name your .int the same as your script .u (save as 111 for int) - attaching to bone is not necessary, unless it's a small effect and you want it on a specific part like RESOURCES - Unreal (Postal version) - REQUIRED TO WORK WITH STATIC MESH Unreal (UCC) - REQUIRED TO COMPILE PROPERLY UMODEL ActorX Unpacked Effect Scripts L2PE ASE Export Properties DDS Properties UCC Compile Script @echo ucc.exe make pause Scripts created other cool things you can do -
  17. Hello everyone, I wanted to share what I discovered. Many insurance had or have problems with the classic "NoItemName" error, the problem is the following: 1_ The order of the IDs that is even, example: 1, 2, 3, 4 ...... so on. 2_That the IDs do not exceed 99999, that may cause a bug. 3_Put an ID and its corresponding ID is not found in "armorgrp" or "weapongrp". If they added an item in "ItemName-e" and did not add the data accordingly in armorgrp or weapongrp, it will generate a bug, which will cause that from now on, everything they add will come out with NoItemName. Example: I add 1 weapon with the ID 9300, and I don't add the data in weapongrp, obviously with that same ID. In that case the game will detect that this data is missing in weapongrp, which will generate a bug, and anything that is added after that ID 9300, will come out with NoItemName. (it happened to me) 4_A duplicate ID. Make sure that the IDs are different. 5_Remember to always save in your corresponding chronicle and 413. (If you save it wrong, the game will not recognize any name within the game). Those are the errors that generate the classic NoItemName, take a good look and try again. PS: Sorry, my English is not that good, I don't know English very well, so I had to use the good google translator. LOL I hope it serves you. Greetings. Hola a todos, quería compartir esto que descubrí. Muchos seguro tuvieron o tienen problemas con el clásico error "NoItemName", el problema es el siguiente: 1_ El orden de las ID que sea parejo, ejemplo: 1, 2, 3, 4...... así sucesivamente. 2_Que las ID no superen 99999, eso puede causar algún bug. 3_Poner una ID y no se encuentre su correspondiente ID en "armorgrp" o "weapongrp". Si agregaron un item en "ItemName-e" y no agregaron los datos como corresponde en armorgrp o weapongrp, generara un bug, lo cual hará que de hay en adelante, todo lo que agreguen salga con NoItemName. Ejemplo: Agrego 1 arma con la ID 9300, y no Agrego los datos en weapongrp, obviamente con esa misma ID. En ese caso el juego detectara que falta ese dato en weapongrp, lo que generara un bug, y cualquier cosa que agreguen luego de esa ID 9300, saldrán con NoItemName. (me sucedio) 4_Una ID duplicada. Mirar bien que las ID sean diferentes. 5_Recuerda guardar siempre en tu correspondiente crónica y 413. (Si lo guardas mal, el juego no reconocerá ningún nombre dentro de el juego). Esos son los errores que generan el clasico NoItemName, miren bien y vuelvan a probar. PD: Disculpen sin mi ingles no es tan bueno, no se muy bien ingles, asi que tuve que usar el buen google traductor. jaja Espero les sirva. Saludos.
  18. Hello MaxCheaters, i made the decision to show you a simple way to make a VPS as Proxy for your lineage 2 server using Lucera Files. Step 1: First you need to buy VPS in the location you need for example if you need to make Proxy in Russia you must buy VPS From Russia Federation. Step 2: Install Debian Operation System in your VPS. Step 3: Connect to your VPS with Bitvise SSH Client Add your VPS Details . Step 4: Use New Terminal Console button. Step 5: Now you have to paste in console the code bellow. (Don't forget to replace the localhost ip with the main host meaning your IP from your dedicated server that you hosting your L2 server). sudo bash -c 'echo 1 > /proc/sys/net/ipv4/ip_forward'; sudo iptables -t nat -A PREROUTING -p tcp --dport 7777 -j DNAT --to-destination; sudo iptables -t nat -A PREROUTING -p udp --dport 7777 -j DNAT --to-destination; sudo iptables -t nat -A POSTROUTING -j MASQUERADE; Step 6: Make the VPS (PROXY) IP Whitelisted in your ddos protection. Step 7: Now go to "Lucera3\authserver\config\proxyservers.xml" open it and add your proxy ip port etc. origId="Your Main Server ID" proxyId="The Server ID You Need To Use As Proxy" proxyHost="The IP From Your VPS (Proxy)" proxyPort="Game Server Port (7777)" EXAMPLE: <proxyServer origId="1" proxyId="2" proxyHost="" proxyPort="7777" />
  19. I bring you a simple guide to create / add an image at the beginning of the lobby. something like this: resolution of 3004x2152 I do not know to what extent the game can support but we are going to make a texture of 4096x4096 First of all you will need Photoshop to create the image, then some compiler for the Interface.u and xdateditor for .xdat and the unreal to save the image. First they look for their image, I will use this https://www.wallpaperbetter.com/es/hd-wallpaper-gbrse then go to Photoshop and create a new layer of 4096x4096 resolution 72, it would be approx. 60mb and within that layer we would paste the image then would have something like this: clarify that my image was 7680x4320 and with paint I made it to 3004x2152 after all that they save the image in targa format, resolution 32bits, without compressing rle. Then we go to the Unreal2Runtime, and we create a texture by importing the one we have. Then we compress the texture to DXT1 and save, then to the .utx file we have to encrypt it to the L2 121 version. we can not compress DXT1 and leave the textures as imported, go to the properties of the textures and in quality put the two options in true so that the game does not alter the quality with the ALT + P or from the config of lower detail. But when making the minimum 4096x4096 texture, they lost approx. 60mb of weight, technically it is not efficient and when compressing with DXT1 they were compressed to approx. 10mb. I clarify that the size of the image, in my case 3004x2152, is important that we know, since that will be what we will tell the client to visualize. Basically in the .xdat we will make 4096x4096 visualize our image of 3004x2152 Now we will go to our interface compiler. When we have the compiler we will have the interface folder, system, nwindow. Inside interface, in the subfolder called Classes we create a file called "LoginMenuWnd.uc" .uc will be the file format. Inside we will stick the following: class LoginMenuWnd extends UICommonAPI; function OnLoad() { RegisterState("LoginMenuWnd","LoginState"); } defaultproperties { } We go to the system folder and compile with UIScript.exe the interface.u file will be created, that is pasted in the interlude system. Then we go to xdateditor and we do the following: we select the version, interlude in this case, and then the .xdat of the system. In the search brings write something random so that you can wipe the list this is in Russian and that says create a new window "add component" then we create a new folder with the window option would have to say: null [Window] Then copy The following and with CTRL + S save the changes then we go to the search engine and we write "Login" so that single element appears, if we realize it has a sub option saying "children" They right-click it and do the following: then we copy the following configuration in null [Texture] Now comes the important thing In file we will add the path of the texture. In type we put it stretch In layout in normal In uSize and vSize they will have to put the size of the image, in my case, the 4096x4096 it would be 3004x2152 After all this we save the configuration, enter the interlude and enjoy what has come out Compiler Interface.u Download xDatEditor: Download Password EmuDev Author: @Piaro
  20. Hey, this thread is about using SpecialCamera function. It is particurarly useful if you're interested in providing a quality custom raid boss. The final result can be further enchanced with proper client editing. The function consists of 12 arguments. 1st argument: The npcthat the camera effects will work in relation to. If your npc will be moving while the camera effect is taking place, I would advise to use a dummy npc for the camera so that it works as a global coordinate system. 2nd argument: Distance from the npc. 3rd argument: Yaw angle. 4th argument: Pitch angle. 5th argument: The timeframe that the camera effect must reach its specified values (which means it affects the "acceleration" of the effect). Though I've noticed it doesn't work properly all the time. 6th argument: The radius in which it will affect the players. 7th argument: The time that the camera will be in place and thus not allowing players to do any moves. 8th argument: It's kinda responsible for horizontal translation 9th argument: Responsible for vertical translation 10th argument: Whether or not you'd like the black frames up and down shown in the image. 11th argument: It kind of mirrors the camera effect (if set to 1), the exact opposite stated effect takes place. 12th argument: Haven't figured it out. Here's a draft video of what I came up with for a specific zombie event.
  21. Hello Lineage 2 Fans! I've created a Excel file to make it easier to craft Items in L2. For now this file only has Draconic Bow craft. I want to know if it helps anyone and I should add the other S weapons or it's a total waste. 🙂 As you can see in the file, DON'T Edit the fields with RED on YELLOW color. You should only edit/write in the purple fields. In the left top corner written in green "CRAFT" you just add the number of weapons you wish to craft and it will populate the first column with the necessary materials. On the second column, upper part (base materials) just add now many materials you have from each type and next to them it will tell you how many you are missing overall. Add how many of the High materials you have in lower part. If you have more then necessary then type the exact number needed for your craft. For example: for 1 Draconic Bow you need 385 M.alloy so if you have 500, just type that you have 385 otherwise it will mess with the base materials. In the 3rd column, once you have all materials ( 2nd column shows negative numbers or 0 ) it will tell you what else you need to craft and how many materials are necessary . in the 4th column it will tell you how much the craft costs depending on the market prices. The lower part will display the High materials price depending on the basic materials price. To use this file, click the link below, and from File - > Email send it to your email or google drive. I use this directly from Google Drive and I can access anywhere. https://docs.google.com/spreadsheets/d/1WF4DmUIXb53QKDQUfUmdIUaUYNxaFT9PU3w9CoFHblc/edit?usp=sharing
  22. Hello everyone, This is will be a very short guide. FEEDBACK It does matters sometimes... However, this is a grey area. If dude A haven't scammed dude B, that doesn't mean he/she will not scam you. People are unpredictable sometimes. GET TO KNOW THEM Get to know the person you're trading with. I personally don't do business with people I know nothing about. There's probably a lower chance that a scammer will share personal information with you. Try to get as much information as possible from them - where are they from, what else are they selling, when did they start it, with who else was he/she; is he/she working with. Check for common friends or business partners/L2 servers. LEARN HOW A TRADE WORKS If you're buying L2 services and you're the buyer - 1st test what you've asked for, 2nd pay for it and 3rd get the product. If it's about trading items in L2, I'd personally push for the items first before money - in-game items are less valuable. Would be nice for the buyer to provide a proof that he/she has the money. MIDDLEMAN This is perhaps the best option to go with. Only use very trusted persons that are doing this for a long time. If you're trading items in-game - this is very easy and it needs no explanation. If you're using a middleman for L2 services, chances are the middleman will not delete the code/product he got from the seller after he trade. If you care so much about this as seller, then use a middleman which has less interest for L2 scene. Same rule apply to other services. VOICE You can try to have a voice-chat with the person you're trading with. Hearing each other is the most human thing you can do. Don't you think? RUSH Be aware! Scammers are mostly rushing, want to have it done as soon as possible. SUSPICIOUS? Is the person you wanna trade with suspicious? Abort it! There are other persons you can trade with. He/she is not the only one.
  23. Hello there.. Here is my buffer from my old server.. (Main html made by protoftw) What's inside? Mage | Fighter set [config] Buffs/Dance/Song/Extra etc one by one Special buffs + Malaria Vote buff [If you want it, you can enable it, config] Scheme Buffer Code Preview > pastebin Code/HTML/XML > Download
  24. I decided to do a lesson, it seems there is on the Internet. And people still don't understand how to use it. I will show you on the example of the Olympiad card, cutting the pillars. To do this, you need: 1) Unreal Editor. 2) Umodel 3) 3DS MAX - MAX ACTOR. 4) L2SMR. 5) Dev.Mode l2 - optional. All of the above software is on the Internet, use Google. 1) Go to Umodel, unpack our Static Mesh pack - In this case, on the map we will cut the pillars from the pack - Refine_colosseum. Select it, click Export. 2) After unpacking, we are given a list of unpacked meshes. 3) Oh yes, I forgot, how do we know the pack? This is where the first point should have been. Launch L2SMR - Launch Map 17_10.unr and see all possible Static Mesh. After we find the one we need, we remember the name. And unpack it into Umodel. 4) After all the manipulations done, open the 3DS MAX - I have it in 2010. With plugin ActorX Importer You will find it on the Gildor Website. Click IMPORT PSK ... Select the directory where Umodel, unpacked your Mesh We open. And we get Our Mesh - Only without textures. Next In the Front window - Cut off the Pillars, Why is there? Yes, because it is more convenient to highlight them there. Well, I also deleted the squares naturally. For the dull it is here! Cut it out, save it in .ase format Set the checkboxes, like mine. In fact, we have done 50% of this shit, open up the unreal editor. Importing our Static Mesh - No matter how you call it "In My case, it will be Corasonobject." By the way, one Unreal is better placed in the root folder with Lineage II - we will open two copies, since we will have to apply textures to it. Opened our static mesh without textures, We push the second copy of the unreal into the game folder, and open it. And open the Refine_colosseum_S pack - which is original. After opening. We find it, and we begin to copy the lines with the materials, we transfer them from the original to our done one. Highlighted in red which texture pack powers our static mesh. open our sculpting, and select two texture packs there. Textures are selected from the root folder of the game and named Textures. Now, Ctrl + c - ctrl + v works. After the done work in 20 textures, we get the finished product and save it to the Static Mesh folder - the root folder of the game, which will be powered by L2SMR - to add the static mesh to the map. Open L2 SMR and map 17_10.UNR add a new static mesh. After that, it will appear at the very end of our meshes. In the meantime, we turn to the original, remember its data. by X, Y, Z - write it down in a notebook. And then naturally we take it away from the map by changing the coordinates. We go to the very end to our mesh, enter the coordinates that were on the original. Next, press the Set button. That's it, a static mesh on the map, now open dev_mode.ini (it's not clear to anyone, my ini for starting the devmode. I put the starting map 17_10.unr). Ready option. it's a long Guide maybe I made somewhere a mistake if someone notice he can correct it Thanks to Corason
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disbaled AdBlock