Jump to content

verbrannt

Members
  • Posts

    51
  • Credits

  • Joined

  • Last visited

  • Days Won

    3
  • Feedback

    0%

Everything posted by verbrannt

  1. https://github.com/madyanov/l2mapconv-public/releases Tool for building geodata from client files. Features: - Preview of the L2 map. - Preview of the existing L2J geodata. - Building new L2J geodata based on the loaded map geometry. See https://github.com/madyanov/l2mapconv-public for more information.
  2. Thank you. Right now I can't record installation & configuration video tutorial. But you still can read documentation here: https://github.com/madyanov/l2-cv-bot/blob/master/README.md Yeah. You need to compile for 32-bit arch to get work. Also don't forget to use 32-bit OpenCV binaries. To compile read instructions in link I've provided above.
  3. New version: https://github.com/madyanov/l2-cv-bot/releases/tag/v0.2 Features: * Far targets detection * NextTarget command support * Spoil & drop support * HP/CP/MP restoring Demo video:
  4. Thx guys. I'm working now on far target detection algorithm, so hopefully it will be included in next release. It has much more false positives, but can be used as secondary target detection algorithm (with some heuristic rules) when primary can't find anything.
  5. Simple Lineage II bot that uses Computer Vision to find possible targets and monitor HP/MP/CP. Written to learn C++ basics, but can be useful for someone. Download: https://github.com/madyanov/l2-cv-bot/releases Features NPC detection HP/MP/CP monitoring Mouse and keyboard emulation Stuck resolving TTS alarm subsystem (captcha, low HP, CP decreasing, etc.) Custom behavior support (LUA scripts) Buffs/debuffs monitoring How to use Interception driver is required for mouse and keyboard emulation. Install Interception driver (start `cmd.exe` as Administrator, then run `install-interception.exe /install`) and reboot Run Lineage II client, select character and teleport to any exp/farm location Run `run.bat "<title of the Lineage II client window>"` HP/CP/MP bars must be 100% at the moment of bot start, but if not, you should wait until they will be 100% and then press Space to reset bars position To stop press ESC or move mouse Customization Current version developed and tested using Windows 10 and Gracia Epilogue client, so with another Windows or Lineage II client it may not work. Edit `run.bat` file to customize CV for another client. Note that for colors used HSV and BGR color models Edit `Brain.cpp` to customize bot behavior. Custom runtime behavior scripts are not supported OS related stuff placed in these files: `Window.cpp`, `Capture.cpp`, `Input.cpp`, `Intercept.cpp`
  6. https://web.archive.org/web/*/legacy.lineage2.com
  7. Now working fine. Thx. It's because of bad original GF ai.obj. It has some classes at the end, that was written manually without compiler by RPG-Club team, and these classes contains some errors. BTW I can fix it by checking used, but not declared variables, and declare them if needed.
  8. After I've impletented this, I found, that compiler (GF by @eressea) doesn't work properly with {int, int, int, int} syntax of TelPosList property. I've got many errors during compilation: [d:\vss\globalbranch\work\overseas\ct2_final_0109\program\server\l2npc\fstring.h][112] Can't allocate buffer for fstring Compiler allocates buffer only for first 38 strings, any next string in OBJ file is empty. NASC that I'm trying to compile: https://mega.nz/#!WeA1WQKQ!2UxWCjQ8x6Y1IBFlJ7nvj8oIYQM6tKyESGleUmaOPhs
  9. Yeah, wrong release title :) C1 support now only in c1-support branch.
  10. New release: https://github.com/madyanov/nasc-decompiler/releases/tag/v1.5 Fixed broken precedence & associativity (thx @master-toma for feedback) Recompiled AI now almost the same as original AI (at least C1, thx @master-toma for feedback) GF AI now decompiles without errors (no ignored classes) C1 datapack by @master-toma GD datapack updates by @ChaosPaladin Datapack format changes (enums.json -> pch.json, manual_pch.txt now parsed automatically) AI chronicles now detected automatically Added --output, --ignore & --config options --chronicle option renamed to --chronicles Decompiled AI examples: MEGA Your feedback & PRs are welcome.
  11. Epilogue trial has missing border_of_nightmare area in settings.txt. So when you use SOE in Delusion Chamber, you appearing in Dimensional Rift.
  12. I've added issue for this. Result should have comment with original string like this: {1000003; -80749; 149834; 0} // 1000003 - 古鲁丁城镇
  13. Yeah. Associativity & precedence was broken. Fix in master.
  14. I've shared compiled OBJs right before your post. There's only 19 differences, and all is missing jump. Those missing jumps might be a breaks inside if inside select. I have an old issue for it. Idk, may be we're using different decompilers or something :) Anyway, smiles mode now enabled by default in branch c1-support. And you have only 35 files of 2200, I think it's not so bad.
  15. Original OBJ + Decompiled source + Recompiled OBJ: https://mega.nz/#!SSJ0FQ7L!EPXTDOTcGmy4QGJPIgZ7jMY7-AVQ9pcq_xfEHilwJzQ Almost no differences. Only missed jump, as you mentioned. Replaces made on both OBJs: L\d+ -> L0 S\d+ -> L0 \r\nL0\r\n -> \r\n Hope you would like the "((((((((((((((((((((((((((((((((((((((((" in decompiled source :D.
  16. Ok here I see difference. Looks like not logical operators bug, but IF statement bug. Also if c1 ai.obj was compiled with another compiler than you have, this differences can occur. Anyway original OBJ and recompiled OBJ produces same decompiled code. Do you have leaked (original) source of this class? UPD original code that produces identical to your ai.obj result: (HaveMemo(talker, @trial_of_scholar) == 1 && (OwnItemCount(talker, @dieters_diary) >= 1 && OwnItemCount(talker, @scripture_chapter_1) >= 1 && OwnItemCount(talker, @strong_liquor) >= 1)) So there's useless braces in the original ai.obj.
  17. Yes, of course. I know this. I've tried compile-decompile-recompile this code class guard_babenco { handler: EventHandler TALK_SELECTED(talker) { if (1 && 2 || 3 || 4) { Say("Hello"); } if (1 && (2 || 3 || 4)) { Say("Hello"); } } } And nothing changed. I've got same obj file as before decompilation. But if you have any unfixed example of broken nesting of logical operators, provide an obj. Of course if in OBJ we have something like 1 && (2 || 3 || 4) but after decompilation got 1 && 2 || 3 || 4 - it's a bug, and I need example. But if we have (1 && 2) || 3 || 4 in OBJ and after decompilation got 1 && 2 || 3 || 4 - it's not a bug.
  18. Idk what you're talking about :) I've fixed every bug from your feedback, even not bugs (like increment/decrement & select with one case). When you'll find another different obj code of course if will fix that.
  19. With modulo was different case. Modulo has same precedence as multiplication and division. I've tested it: 1 && 2 || 3; (1 && 2) || 3; 1 || 2 && 3; 1 || (2 && 3); 1 && (2 || 3); (1 || 2) && 3; First two lines compiles in absolutely identical stack machine code. Also line 3 == line 4. It's because the decompiler, that was used to produce that leaked code, has no checks of operator precedence. It just adds braces everywhere after each operands pop from stack.
  20. Fix of the select with one case in master. Modulo precedence fix in master. This only will be problem if multiplication in NASC compiler has the same precedence as addition. This only will be problem if OR has the same precedence as AND.
  21. Replace if (_code == 0) { if (_from_choice == 0 || HaveMemo(talker, @path_to_elven_scout) == 1 && GetMemoState(talker, @path_to_elven_scout) == 1) { ShowPage(talker, "guard_babenco_q0407_01.htm"); } } with select (_code) { case 0: if (_from_choice == 0 || HaveMemo(talker, @path_to_elven_scout) == 1 && GetMemoState(talker, @path_to_elven_scout) == 1) { ShowPage(talker, "guard_babenco_q0407_01.htm"); } break; } & check compiled code
  22. I think last “if” in this class should be “select” with one case inside. Jumps looks like “break” inside that case. I can’t test it today tho.
  23. Looks like nothing serious, only one missing shift stack pointer command :D I think is always at the end of the handlers? Can you post second type of difference?
  24. Comment from the start of the string? Can you post a part/class of your ai.obj where it fails. I'll fix it.
×
×
  • Create New...