Jump to content

Rootware

Legendary Member
  • Posts

    1,370
  • Joined

  • Last visited

  • Days Won

    14
  • Feedback

    100%

Everything posted by Rootware

  1. For unpacking use WOTgreal Package Exporter. Download here. P.S. If you find how compile this file again from *.uc scripts let me know.
  2. Make a video please. Too many letters.
  3. View File PN Gen Simple program for generate pathnode files from L2J geodata. Initially, the program was distributed free of charge, but after it was sold (I could be wrong). Author: Akumu VirusTotal link. Submitter Rootware Submitted 06/12/2019 Category Tools
  4. You are funny, as always. For $1000 can be written custom file loader for client's files with own strong crypt and hooked all places where is caused the native file loading functions. In this case you will spend a lot of time before, than you find where and what need to hook for decrypt client file. The another question, how many projects in L2 have this money for hiring developers. All around only cheap admins with budget in 200 euro and w/o any unique content. So, why need to wasting $1000 for nothing? And, finally, the script for getting any file from client w/o crypt exists on the this forum and he will work everywhere, cause he uses the native client functions. P.S. Try to up own IQ higher than 56, Captain Obviousness.
  5. You need to install Microsoft Visual C++ 2005 SP1 Redistributable Package (x86). IL client uses this version.
  6. In theory yes. But L2D format have rebuilded NWSE flag bytes in compare with L2J/L2OFF. Possible what NWSE can't be reverted to old style. For other data it's possible. Block types of GEO more optimized in L2D and can be converted for L2J and L2OFF. Anyway, it's not easy work and requeres many time for researching and test the results. What says, in good case of result will not a cheap for few GEO blocks.
  7. I just told everyone how it can work without using a special packet like in higher chronicles. @Gam3Master you need hire any client developer who have skills for editing interface's scripts. Also you need to know what the query pattern is uses from server side for defines what this is buff cancellation command was sent.
  8. Alt + Click for remove any buffs it's possible in old clients. Need add some changes in interface's scripts for handle clicks and sends voice/admin/user commands to the server. Ofc need add to the server side something for processing this actions.
  9. With last updates this. https://prnt.sc/nsdado
  10. @Elfocrash members group and forum section it's different things. First - sect, second - community.
  11. Funny topic. I suggest for staffers create new members group "Lucera Fans" and invite all followers for group fetish. P.S. Fix all known exploits in Frozen and it will the same shit, but free.
  12. What you did for L2 community, excepting this topic?
  13. One more cheap user with own drama? The life is hard. Drama will await you everywhere if you are nothing.
  14. @Tryskell yes. Found leaked sources with Item Broker and this script uses this packet. http://netpro.revengineer.eu/packets/sm_exshowtrace.html Can be used for any clients starts with Kamael.
  15. @Tryskell i saw this effects 10 years ago on the Lineage 2 Epilogue L2J project. This effect used for showing pathway to selected Private Shop from Item Broker in all tradable towns. This effect dissarpes after some time itself. Possible for IL client is not valid, but for highers it's feature. Anyway at this moment for me unknown what the packet was used.
  16. Wow. I see my old payment work. Some time ago one customer asked me to decompile JAR file with balancer and transfer this system into aCis sources, because the author didn't support this addon and this contains license data. My task was repair functionality and cleanup license protection. I never would have thought, that i was hired by Robin Hood. Bought the work and after share. Madness.
  17. https://bitbucket.org/MobiusDev/l2j_mobius/src/master/ You can compare it with L2J Server and do the choose.
  18. And will he come down to earth like Jesus and make a perfect project with name "In god we trust"? Wrong section for hype, mate.
  19. https://bitbucket.org/l2jserver/ Fully support High Five chronicles. All known backdoors and exploits sync with other L2J forks.
  20. Before when i started be the customer of aCis i was Scoria customer with Akumu Interlude geo pack. And i don't want talking about the quality of this shit. Main difference between L2J Frozen and Scoria it's Scoria have less NPE and exploits. Architecture the same. Dwarf w/o any proffesion, buffs and m.def with 40 level have the insanely large resists for any mental and shock attacks. I reported this for Scoria developers and they says what don't want to rewrite all handlers. Unfortunatelly i didn't stored this purchase, otherwise i could be shared for you this shit for comparing. In 2012 this pack costed 150 USD.
  21. Because L2J Frozen it is an etalone of L2J forks. Even after 10 years after L2J Frozen was stopped for develop the other forks can't reaching the quality of this epic project. Seriously. Drop all info what sends from server about surrounding objects, included character itself info, and you will reashed 100500 fps. I don't know more reasons what can affecting the client FPS. Processing the packets from the server takes some of the time from biulding a frame, especially if incoming packets require changing the properties of the surrounding objects add/modify/remove. Forget about this project, he outdated at least to 5-7 years. And no one sane developer will not try to upgrade it to the current quality of the L2J servers.
  22. I doubt what Hint was shared hAuthD sources. I saw only compiled version.
  23. @SweeTs the man wanted already maded the free code. He didn't asked for write for him. Free is not meant good.
  24. package custom.RewardForTimeOnline; import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.l2jserver.gameserver.ThreadPoolManager; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.events.Containers; import com.l2jserver.gameserver.model.events.EventType; import com.l2jserver.gameserver.model.events.impl.character.player.OnPlayerLogin; import com.l2jserver.gameserver.model.events.impl.character.player.OnPlayerLogout; import com.l2jserver.gameserver.model.events.listeners.ConsumerEventListener; import com.l2jserver.gameserver.model.quest.Quest; /** * @author LifeGame32 */ public final class RewardForTimeOnline extends Quest { static final Logger LOG = LoggerFactory.getLogger(RewardForTimeOnline.class); // Enable/Disable static final boolean LOAD = true; final Map<Integer, PlayerHolder> players; final List<ItemHolder> rewardItem; // unique var DB(for saving), Item ID, Amount, time in milliseconds, save the last rewarded time. private void addItem() { rewardItem.add(new ItemHolder("rfto_1", 57, 50000, 30 * 1000, false)); rewardItem.add(new ItemHolder("rfto_2", 57, 150000, 60 * 1000, true)); rewardItem.add(new ItemHolder(getVar(), 57, 150000, 60 * 1000, true)); } private String getVar() { return getClass().getSimpleName() + "_" + rewardItem.size(); } private final class PlayerHolder { final L2PcInstance player; final List<RewardTask> rewardTask = new ArrayList<>(); public PlayerHolder(L2PcInstance player) { this.player = player; } public final PlayerHolder startRewardTask() { for (ItemHolder item : rewardItem) { rewardTask.add(new RewardTask(this, item)); } return this; } public final void onPlayerLogout() { for (RewardTask t : rewardTask) { t.onPlayerLogout(); } } } private final class RewardTask implements Runnable { private final PlayerHolder ph; private final ItemHolder item; private ScheduledFuture<?> task = null; private long lastTime; public RewardTask(PlayerHolder playerHolder, ItemHolder item) { this.ph = playerHolder; this.item = item; this.lastTime = System.currentTimeMillis(); long initialDelay; if (item.isSaveTime) { initialDelay = ph.player.getVariables().getLong(item.var, 0); if ((initialDelay == 0) || (initialDelay > item.time)) { initialDelay = item.time; } } else { initialDelay = item.time; } this.task = ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(this, initialDelay, item.time); } @Override public void run() { if ((ph.player == null) || (ph.player.getClient() == null) || ph.player.getClient().isDetached()) { return; } if (ph.player.isOnline()) { if (item.isSaveTime) { ph.player.getVariables().set(item.var, 0); } lastTime = System.currentTimeMillis(); ph.player.addItem(RewardForTimeOnline.class.getSimpleName(), item.id, item.count, null, true); } } public final void onPlayerLogout() { stopTask(); if (item.isSaveTime) { ph.player.getVariables().set(item.var, (item.time - (System.currentTimeMillis() - lastTime))); } } public final void stopTask() { if (task != null) { task.cancel(false); task = null; } } } private final class ItemHolder { final String var; final int id; final long count; final long time; final boolean isSaveTime; public ItemHolder(String var, int id, long count, long time, boolean isSaveTime) { this.var = var; this.id = id; this.count = count; this.time = time; this.isSaveTime = isSaveTime; } } public RewardForTimeOnline() { super(-1, RewardForTimeOnline.class.getSimpleName(), "custom/RewardForTimeOnline"); Containers.Global().addListener(new ConsumerEventListener(Containers.Global(), EventType.ON_PLAYER_LOGIN, (OnPlayerLogin event) -> onPlayerLogin(event), this)); Containers.Global().addListener(new ConsumerEventListener(Containers.Global(), EventType.ON_PLAYER_LOGOUT, (OnPlayerLogout event) -> onPlayerLogout(event), this)); players = new ConcurrentHashMap<>(); rewardItem = new ArrayList<>(); addItem(); } private final void onPlayerLogin(OnPlayerLogin event) { PlayerHolder task = players.get(event.getActiveChar().getObjectId()); if (task == null) { players.put(event.getActiveChar().getObjectId(), new PlayerHolder(event.getActiveChar()).startRewardTask()); } } private final void onPlayerLogout(OnPlayerLogout event) { PlayerHolder task = players.remove(event.getActiveChar().getObjectId()); if (task != null) { task.onPlayerLogout(); } } public static void main(String[] args) { if (LOAD) { new RewardForTimeOnline(); } LOG.info("{}: load {}.", RewardForTimeOnline.class.getSimpleName(), LOAD); } } Original share here.
  25. Я не продаю моды клиентской части, кроме тех что требуют знаний реверса и IDA Pro. Это ответ на первое предложение. Остальное не читал.
×
×
  • 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 Disabled AdBlock