-
Posts
534 -
Credits
0 -
Joined
-
Last visited
-
Days Won
8 -
Feedback
0%
Everything posted by eressea
-
Share Lineage 2 GF AI Decompiler
eressea replied to verbrannt's topic in Server Shares & Files [L2OFF]
Thanks, now it works fine. As for utf-16le problem, this should be sufficient (I'm not PHP programmer, I've copied it from https://stackoverflow.com/questions/27551099/how-to-read-from-files-in-utf-16le-encoding-in-php): ... $tokenizer = new Tokenizer(); $parser = new Parser($data); $generator = new NASCGenerator(); class readutf16le_filter extends php_user_filter { function filter($in, $out, &$consumed, $closing) { while ($bucket = stream_bucket_make_writeable($in)) { $bucket->data = iconv('UTF-16LE', 'UTF-8', strlen($bucket->data) && substr($bucket->data, 0, 2) == "\xff\xfe" ? substr($bucket->data, 2) : $bucket->data); $consumed += $bucket->datalen; stream_bucket_append($out, $bucket); } return PSFS_PASS_ON; } } stream_filter_register('readutf16le', 'readutf16le_filter'); $file = fopen('ai.obj', 'r'); stream_filter_append($file, 'readutf16le'); $line = 0; // write BOM file_put_contents('ai.nasc', pack('S', 0xFEFF)); ... and just remove $string = preg_replace('/[^\s\x20-\x7E]/', '', $string); // remove non-ASCII characters -
Share Lineage 2 GF AI Decompiler
eressea replied to verbrannt's topic in Server Shares & Files [L2OFF]
Hi, nice work, but when I try decompile my ai.obj, I get this: C:\ep\git\nasc-decompiler>run.bat Decompile ai_adiantum_skilluse PHP Notice: Undefined offset: 1 in C:\ep\git\nasc-decompiler\core\tokenizer.php on line 26 PHP Notice: Undefined offset: 1 in C:\ep\git\nasc-decompiler\core\tokenizer.php on line 26 PHP Notice: Undefined offset: 1 in C:\ep\git\nasc-decompiler\core\tokenizer.php on line 26 PHP Notice: Undefined offset: 1 in C:\ep\git\nasc-decompiler\core\tokenizer.php on line 26 PHP Notice: Undefined offset: 1 in C:\ep\git\nasc-decompiler\core\tokenizer.php on line 26 PHP Notice: Undefined offset: 1 in C:\ep\git\nasc-decompiler\core\tokenizer.php on line 26 PHP Notice: Undefined offset: 1 in C:\ep\git\nasc-decompiler\core\tokenizer.php on line 26 PHP Notice: Undefined offset: 1 in C:\ep\git\nasc-decompiler\core\tokenizer.php on line 26 PHP Notice: Undefined offset: 1 in C:\ep\git\nasc-decompiler\core\tokenizer.php on line 26 PHP Notice: Undefined offset: 1 in C:\ep\git\nasc-decompiler\core\tokenizer.php on line 26 Decompile ai_agit02_dietrichPHP Notice: Undefined index: S1 in C:\ep\git\nasc-decompiler\core\parser.php on line 442 PHP Fatal error: Uncaught TypeError: Argument 1 passed to StringExpression::__construct() must be of the type string, null given, called in C:\ep\git\nasc-decompiler\core\parser.php on line 442 and defined in C:\ep\git\nasc-decompiler\core\ast.php:195 Stack trace: #0 C:\ep\git\nasc-decompiler\core\parser.php(442): StringExpression->__construct(NULL) #1 C:\ep\git\nasc-decompiler\core\parser.php(116): Parser->parsePushString(Object(Token)) #2 C:\ep\git\nasc-decompiler\core\main.php(73): Parser->parseClass(Object(Token)) #3 {main} thrown in C:\ep\git\nasc-decompiler\core\ast.php on line 195 Press any key to continue . . . Am I doing anything wrong? The AI part where it's failing is here http://download.l2shrine.com/ai.obj -
Share GD and H5 AI NASC MyExt64 Compiler
eressea replied to eressea's topic in Server Shares & Files [L2OFF]
It's just a compiler with definitions for l2npc.exe from GD and H5 - for the few people who have those binaries (I was only asked if I can do it and got definitions that were needed) Thanks :) But this code isn't so beautiful, it's just a bunch of definitions -
I'm no good at C# :/
-
Share GD and H5 AI NASC MyExt64 Compiler
eressea replied to eressea's topic in Server Shares & Files [L2OFF]
Added H5 version. I don't have whole specs so there may be bugs, please report them. Compiled DLL: https://bitbucket.org/l2shrine/extender-public/src/compiler-h5/server/MyExt64.dll Sources: https://bitbucket.org/l2shrine/extender-public/branch/compiler-h5 -
Share Patched Hauth To Support Multiple Ip Addresses/proxies
eressea replied to eressea's topic in Server Shares & Files [L2OFF]
Thanks :) -
As title suggests, I've tried to adapt MyExt64 compiler for Glory Days AI (classes, variable offsets, functions) but it's just an experiment. If there's anyone who can test how it really works, I'd be glad :) It's just a first draft and proof-of-concept, if there's any bug, I'll try to fix it. Stay tuned ;) Compiled DLL: https://bitbucket.org/l2shrine/extender-public/src/compiler-gd/server/MyExt64.dll Sources: https://bitbucket.org/l2shrine/extender-public/branch/compiler-gd EDIT: Fixed few bugs (missing handlers and wrong 'myself' type in NPC maker event), now it compiles default NPC and default maker
-
Share Patched Hauth To Support Multiple Ip Addresses/proxies
eressea replied to eressea's topic in Server Shares & Files [L2OFF]
Not quite sure, I've never ran IL server :/ Try and let me know :) -
Share Better Crash Report for General Protection Fault
eressea replied to eressea's topic in Client Development Discussion
Short answer: No. Long answer: There's some chance it could be done (somehow) but it would be very very hard (and maybe you would still have to write some parts in assembly). -
Share Better Crash Report for General Protection Fault
eressea replied to eressea's topic in Client Development Discussion
There are tools like CFF Explorer etc, you just open l2.exe there and add an import to import table. If you write your DLL, it's up to you what it will depend on. If it depends on other DLLs, it will automatically load them so you still need just to add your DLL to import table of l2.exe and system will do the rest for you. -
Help Recommendations for someone just starting out
eressea replied to sepultribe's question in Request Server Development Help [L2OFF]
Well, my start wasn't so hard because I actually work as C++ developer and I have some experience with few different assemblers (notably x86 asm from MS-DOS era and Intel 8051 asm, both around 18-25 years ago). Around two years ago, I've decided I want to run l2off server but there was only AdvExt stuff (which is great and I wouldn't even care it costs some money, but it would also mean I wouldn't be able to customize it for my needs) so I've started to google for some extender sources and found OSIE project. It's really small extender that aimed to downgrade GF to Interlude and doesn't fix half of bugs present in GF binaries, but it was a good start. So I've installed IDA Pro and started to try to find how all that works. When I was sure I know how everything in OSIE works, I've started to add some new stuff there (offline trade, global shout). When that worked I started to write brand new extender... -
Share Better Crash Report for General Protection Fault
eressea replied to eressea's topic in Client Development Discussion
Get Visual Studio (with support for Windows XP if you want to support players with this obsolete system), create new C++ Win32 project -> choose DLL. Implement those bits I've posted and build DLL. Then edit l2.exe to load this DLL. -
Nice work :) And oh, my stuff included, lovely <3 EDIT: Btw, compiler is there twice :)
-
Share Gracia Final Decompiled & Fixed Ai
eressea replied to eressea's topic in Server Shares & Files [L2OFF]
There are different decompilers for C4-based AIs - unfortunately I don't know anything about them. On the other side, C4 stuff is wide spread on the Internet so I think you can find some working decompiler (or maybe decompiled AI). -
Help CustonShotUseSystem
eressea replied to ZippoLight's question in Request Server Development Help [L2OFF]
Then it's already in your server - just edit config and make sure SpiritShotExtension is enabled in L2Server section: [L2Server] SpiritShotExtension = 1 -
https://dev.mysql.com/doc/relnotes/connector-j/5.1/en/news-5-1-20.html (so maybe it's too new connector, not MySQL)
-
Because it's thrown when MySQL connection is created - and because first few Google results seem so - just search this: "java.math.BigInteger cannot be cast to java.lang.Long" mysql
-
Too new MySQL version/too old JDBC connector
-
Have a look here https://github.com/smmoosavi/android-Farsi-Tools/blob/master/src/farsiTools/ArabicLigaturizer.java maybe it's what you need
-
You should get VirtualBox, some 64bit Windows 2008 Server and Visual Studio 2005 Pro to be able to do changes/fix stuff etc... If you're in a hurry, zip the sources together and send me a link, I'll try to remove the licensing and compile it for you...
-
Hi, you need Visual Studio 2005 with 64-bit support (preferably SP1 but I think it's not necessary). Also, if you have a source code, just disable the licensing completely - you don't need it.
-
Help Inventroy slot problem (Vanganth)
eressea replied to elfeush's question in Request Server Development Help [L2OFF]
I think (but I'm not 100% sure) it's SlotHairEx (or hair2 in itemdata.txt). The first one is SlotHair (simply hair in itemdata) and items occupying both these slots are probably SlotHairAll (hairall in itemdata). -
Help CustonShotUseSystem
eressea replied to ZippoLight's question in Request Server Development Help [L2OFF]
What files are you using? -
Share Gracia Final Decompiled & Fixed Ai
eressea replied to eressea's topic in Server Shares & Files [L2OFF]
Yes, something is from OSIE, Vanganth etc and something is reverse engineered in IDA (NPCd stuff mostly reverse engineered)... Get IDA Pro and start exploring stuff :) It's fun if you have time for it -
Guide HOWTO - L2 server with (transparent) proxies
eressea replied to eressea's topic in Server Shares & Files [L2OFF]
Hi, the machine "Linux Router" must be in all networks and route packets between them