Jump to content

vampir

Legendary Member
  • Posts

    1,899
  • Credits

  • Joined

  • Last visited

  • Days Won

    14
  • Feedback

    0%

Everything posted by vampir

  1. olympiadResultWnd is called directly from DLLs, even if you add new GFxFlash implementation to ugx file it will just not work. In H5 you would need to create link to each flash function directly and also call that file when it is required, by editing DLL with IDA Pro. In GOD they made Flash files linked with Interface.u, when you create new UC with GFxUIScript extension then it will be automatically loaded to the system. To make flash window be triggered, you just need to register event(like EV_ReceiveOlympiadGameList).
  2. Yes, this will fix the problem. Example: TextBox 1: asd TextBox 2: sss ddd TextBox 3: ddd 2 uuu Bypass will look like this: "npc_%objectId%_test asd ¡ sss ddd ¡ ddd 2 uuu". .trim() is needed so spaces at the beginning and at the end of the token will be removed, for example "asd " will be turned into "asd", " sss ddd " into "sss ddd".
  3. There is a lot easier solution: <a action="bypass -h npc_%objectId%_test $name1 ¡ $name2 ¡ $name3"> ¡ - this is INVERTED EXCLAMATION MARK with C2A1 UTF-8 code. It cannot be wrote by player in game unless he is using programs like adrenaline. There are a lot more characters like this, you can check some UTF-8 table to find some pretty one. Code: StringTokenizer tk = new StringTokenizer(command, "¡"); You should use .trim() for every token parsed from StringTokenizer so they will not contain spaces.
  4. You are using h5 l2jserver?
  5. That would be ugly solution.
  6. I would like to disable that window, it is currently shown automatically when SystemMsg is shown. ConfirmDlg is not sent > client at that time. Also ConfirmDlg is Confirm/Cancel dialog, it doesnt look like that.
  7. Hey Some of the SystemMsg are shown as message in chat and also as Dialog: I noticed that this dialog is NOT configurated by the server, it seems to be bind into ID of the SystemMsg. I have also noticed that this dialog trigger is NOT configurable in SystemMsg-e.dat. Message with dialog: 62 1 a,Your $s1 has been successfully enchanted.\0 0 0 FF FF FF a,ItemSound3.sys_enchant_success\0 a, 0 0 0 0 0 a, a,none\0 I have created exactly the same SystemMsg but with different ID and dialog is not shown. Where do i enable/disable it?
  8. You should consider making XML with custom zones types with configs attached to each type. Like this admin would be able to create multiple zones with different configs, for example CustomPartyZone where players can group in parties, Clans are not hidden too, second zone would be named CustomSoloZone and have different configs. Good job anyway, price seems reasonable too.
  9. I figured it out. Packet structure seems to be fine, I had L2.ini from Interlude(not Ertheia) and that was the cause. Game was running normally, just characters online count was not showing...
  10. On L2Tales to have PaySafeCard we have company too.
  11. I think they have a company.
  12. Hello Anybody knows correct structure of ServerList Login>Client packet of ertheia or similar client? I have tested L2JServer Ertheia structure and Mobius/L2JUnity, they don't work correctly on ertheia(amount of characters is always shown as 0). L2JServer ertheia structure: writeC(0x04); writeC(_servers.size()); writeC(_lastServer); for (ServerData server : _servers) { writeC(server._serverId); // server id writeC(server._ip[0] & 0xff); writeC(server._ip[1] & 0xff); writeC(server._ip[2] & 0xff); writeC(server._ip[3] & 0xff); writeD(server._port); writeC(server._ageLimit); // Age Limit 0, 15, 18 writeC(server._pvp ? 0x01 : 0x00); writeH(server._currentPlayers); writeH(server._maxPlayers); writeC(server._status == ServerStatus.STATUS_DOWN ? 0x00 : 0x01); writeD(server._serverType); // 1: Normal, 2: Relax, 4: Public Test, 8: No Label, 16: Character Creation Restricted, 32: Event, 64: Free writeC(server._brackets ? 0x01 : 0x00); } writeH(0x00); // unknown if (_charsOnServers != null) { writeC(_charsOnServers.size()); for (int servId : _charsOnServers.keySet()) { writeC(servId); writeC(_charsOnServers.get(servId)); if ((_charsToDelete == null) || !_charsToDelete.containsKey(servId)) { writeC(0x00); } else { writeC(_charsToDelete.get(servId).length); for (long deleteTime : _charsToDelete.get(servId)) { writeD((int) ((deleteTime - System.currentTimeMillis()) / 1000)); } } } } else { writeC(0x00); }
  13. Answer to first question: change Paths=../System/*.u in L2.ini
  14. It depends on the features, how you want each realm to look like, how global world has to look like, client(interlude packs dont have instance system implemented). You should prepare whole plan and make topic on marketplace.
  15. XDAT Editor can be found here: https://sites.google.com/site/l2clientmod/xdat_editor You need to find PrivateShopWnd in Windows tab, set sysstring to -1 and set text to Adena
  16. 1. Adena text at the bottom can be changed by XDAT Editor 2. Amount of adena in TextBox can be changed only in Interface.u in PrivateShopWnd.uc 3. Tooltip can be changed only in Interface.u in Tooltip.uc
  17. For example on acis there are no voiced commands at all, so you would need to: 1. Create VoicedCommandHandler storing all handlers 2. VoicedCommandHandler would need to have some method getHandler(String) which would find Command by keyword(like info or dressme) 3. Say2 would need to have if(_text.startsWith(".")) { VoicedCommand handler = VoicedCommandHandler.getInstance().getHandler(_text.substring(1)); handler.useCommand(_text.substring(1), "", activeChar); Those 3 points above you probably already have in your pack, but you need to: 4. Add to RequestBypassToServer: else if(_command.startsWith("voiced ")) { String commandWithArguments = _command.subString("voiced ".length); int argumentsStartIndex = commandWithArguments.indexOf(" "); String command = argumentsStartIndex > 0 ? commandWithArguments.substring(0, argumentsStartIndex) : argumentsStartIndex; String arguments = argumentsStartIndex > 0 ? commandWithArguments.substring(argumentsStartIndex).trim() : ""; VoicedCommand handler = VoicedCommandHandler.getInstance().getHandler(command); if(handler != null) handler.useCommand(command, arguments, activeChar); } useCommand method in VoicedCommand interface should have following parameters: String command, String arguments, Player/L2PcInstance activeChar If you make this code then bypass should look like this: bypass -h voiced info yourArgument yourArgument yourArgument
  18. It is possible to be done, but would take a lot of time. character_hennas, character_macroses, character_quests, character_recipebook, character_shortcuts, character_skills, character_skills_save, character_subclasses, items, olympiad_nobles, pets would surely need to have 1 additional column: realm_id. Making it all running on same GameServer would need good developer and few weeks of development and testing.
  19. Do you have any other voiced command with bypass? If not, then you will need to add a bit of code in RequestBypassToServer. Code will need to catch those kind of bypasses, find voiced command by name and then call it.
  20. Which pack do you use?
  21. MoveToPawn is the key, it makes character go to npc and when it is close, run function that turns npc around. You cannot drop that packet, because it would be impossible to come near Npcs. To fix this problem you need to dig into Engine.dll and drop ?AdjustPawnLocation@UGameEngine@@QAEXPAVAPawn@@ABVFVector@@@Z calls.
  22. I dont know how debug works in eclipse, but following settings allow you to start gameserver on your own, attach to the process and then do all the stuff eclipse can do and more: You need to put -agentlib:jdwp=transport=dt_shmem,server=y,suspend=n,address=5012 just before java in your startGameServer.bat
  23. switch Xmx and Xms values to: -Xmx6g -Xms4g
  24. You need to put more memory to JVM. You are using .bat or .sh file to start the server? Show content of it in here.
×
×
  • Create New...