Jump to content

eressea

Legendary Member
  • Posts

    534
  • Credits

  • Joined

  • Last visited

  • Days Won

    7
  • Feedback

    0%

Everything posted by eressea

  1. //field_cycle ... http://www.maxcheaters.com/topic/144195-l2off-gm-command/
  2. You can do anything with scripts and AI. They just won't let you change internal logic of l2server/l2npc/cached (so you can't for example fix bugs that aren't fixed). I don't know what chronicle do you intend to use. If it's Interlude, Gracia Epilogue or H5, it's worth buying. If it's Gracia Final, it depends what functions you need. If you need TvT and similar stuff, buy depmax (if you want support) or vanganth (if you want it cheaper; there are still people selling it). If not (or if you're able to write that stuff on your own/have skilled l2off developer), you can use my opensource extender.
  3. Good job, it looks good, even citizen class seems decompiled properly and also buysells, waypoints, ... look well-formed. What tool did you use to decompile it?
  4. What chronicle? In AdvExt64 Epilogue and newer you can use target_type = enemy_not in skilldata.txt (maybe this option also works on AdvExt64 Gracia Final, you have to try it; it definitely doesn't work on non-AdvExt64 Gracia Final)
  5. Yes (or you can buy compiler from AdvExt team for $100 :troll:)
  6. You can either compile just one NASC file (but you'll have to add stubs for all base classes - you need just class definition + parameters used in subclasses) or you can join the whole thing into single NASC file and compile whole AI at the time: #!/usr/bin/env python # join NASC AI files to single NASC file from os import walk, getcwd from codecs import open cwd = getcwd() cwd = u"\\\\?\\%s" % (cwd, ) fw = open("ai.nasc", "w", "utf-16le") for path, dirs, files in walk("%s\\ai-src" % (cwd, )): for file in files: print file fw.write(open("%s\\%s" % (path, file, ), "r", "utf-8").read()) fw.close()
  7. Try to change 139.216.17.48 to 192.168.2.5 so both are 192.168.2.5
  8. What do you have in lin2db.dbo.server table? Just copy the whole line and paste it here
  9. Can you connect to auth? Do you see server list? If no, did you put right IP address in l2.ini? Where exaclty are you stuck? Do you see anything in server log/window?
  10. Hi, I should make this optional... EDIT: It maintains list of multisells that are allowed and updates it when you talk with some NPC - it searches HTML for multisells in format action="bypass -h menu_select?ask=-303&reply=..." so if your multisell is in different format, you can use this hack to allow it, let's say multisell ID is 1234, but AI handler reacts to ask==123 && reply == 456: ... action="bypass -h menu_select?ask=123&reply=456" altaction="bypass -h menu_select?ask=-303&reply=1234" ...
  11. Pushed fix for disappearing Fame points, showing offline trade player count in status window and another fix for hide skill (in fact I'm starting to hate that skill) https://bitbucket.org/l2shrine/extender-public/commits/all
  12. Nope, but similar thing can be probably achieved using C4 l2npc.exe (but someone has to "backport" it)
  13. I'm not able to reproduce it, maybe I'm doing it wrong. What should I do? :) Also we've found another bug, this time it's race condition. When player logs in and something triggers character save to database before fame points are loaded (it's loaded asynchronously), there is very small chance of resetting the points to zero. I have it already fixed and will push the fix to bitbucket soon.
  14. Here you go http://download.l2shrine.com/ai.obj.bz2
  15. WARNING :) Don't use this code unless you add some check whether 'reply' value is really one of buffs you wanted to allow! Otherwise player can get practically any skill casted on him...
  16. Newbie buff level limit is in AI (search for the right class in ai.obj, you can find AI class for given NPC in npcdata.txt). Community board is much harder to do anything with, probably no chance without C++ and assembler skills.
  17. Hi everyone, thanks to Sauron, I was able to decompile and manually fix the whole Gracia Final AI. All sources can be compiled with MyExt64 compiler and the output seems completely right :) If you find any bug/error, please let me know. Download here http://download.l2shrine.com/ai.tar.bz2
  18. I've uploaded new version - the download URL is the same, http://download.l2shrine.com/compiler.zip Changes: removed some npcd log messages when in compile mode fstrings are now stored in std::map<UINT32, std::wstring> instead of stupid wchar_t* array (with limited index)
  19. Try googling "l2server_l2off_gracia_final_83" and "hauthd", it's in fact all additional software you need to set up basic (and very unsecure) Gracia Final server. You'll also need 64bit server with at least 8 GB RAM (may be virtualized), installed Windows 2008 Server x64 and Microsoft SQL Server 2005. When you get it up and running, you can experiment with scripts and AI. Also google for some information on extenders and AI decompiling. Lot of information can be found also here on this forum...
  20. Fixed, it was wrong parsing of command line parameters (you have a space in path to directory where you try to run it). Also added advext functions from newer version of their compiler (where they renamed UnBlockTimer to UnblockTimer - hihi, my compiler takes both) so we're now fully compatible with vanilla gracia final and 2 different advext compiler versions :)) http://download.l2shrine.com/compiler.zip
  21. I'm not sure I understand well - I'm running l2npc.exe without arguments (to run l2npc as npc daemon) and it runs fine... Can you show some screenshot where it's visible where it's stuck? Thanks!
  22. Here's the fix https://bitbucket.org/l2shrine/extender-public/commits/c3a4aeaeff64817c68a114fc0e80898b7e6aa065
  23. Try it now (download again http://download.l2shrine.com/compiler.zip) When running npc without parameters, the help shown is just info on how to invoke the compiler - you can ignore it.
  24. I don't do these mistakes (or at least not often) but when you work on some project with 8 other people, this is the thing that's really hard to find (if some of your colleagues do commit something like this), so I really prefer if (condition) { _var = 1; } else { _var = 2; } _var2 = 3; It's only 1 line more than your example but can prevent lot of troubles :)
×
×
  • Create New...