Jump to content

Erlandys

Members
  • Posts

    75
  • Credits

  • Joined

  • Last visited

  • Days Won

    1
  • Feedback

    100%

Everything posted by Erlandys

  1. Hello so I decided to create 1 new thing. This is more for developers, but still really easier to use - Tutorial Links (Bypasses). So the engine is working like this: <a action="link bypass">Test</a> So I added things like this: link close link -hbypass link -h_bypass With those tutorial window will close. Parameters are splitting not with spaces, but with _. So for example you can use them like this: link -h_bypass_params So with this link (bypass) you will use handler with name bypass and with params params and it will close when you use it. So here is the -> Code <-
  2. Look what I want to say. If my code would be like this: int yourLevel = 78; if (yourLevel >= 75) goHere1; if (yourLevel >= 60) goHere2; if (yourLevel >= 40) goHere3; if (yourLevel >= 20) goHere4; You will get goHere4, becouse ifs are seperated. So you will check all 4 ifs. But in my code is: if (yourLevel >= 75) goHere1; else if (yourLevel >= 60) goHere2; else if (yourLevel >= 40) goHere3; else if (yourLevel >= 20) goHere4; So if my level will be higher than 78, I will check only first if, becouse others are with else (same with thing, if - else).
  3. No, you see. This is 1 big if block, becouse all ifs don't sepperate (I think good word ;D), I mean not if (lvl >= 75){} if (lvl >= 20) {} and so on, but if, elseif, elseif and so on. You see I started from 75Lvl, becouse if I start from 20lvl, then I need more checks, if (lvl >= 20 && lvl < 40) {} elseif (lvl >= 40 && lvl < 60) {} and so on, so if I get level bigger than 75, I will be using first if statement and do the other code, no more work with ifs :)
  4. Okay so here I reworked those commands. Changes: 1. Optimized ifs. 2. Changed the commands from .lvl20, .lvl40 and so on, to .lvl. Here is the code: ===== Index: net.sf.l2j.gameserver.handler.voicedcommandhandlers.LevelZones.java /* * This program is free software: you can redistribute it and/or modify it under * the terms of the GNU General Public License as published by the Free Software * Foundation, either version 3 of the License, or (at your option) any later * version. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more * details. * * You should have received a copy of the GNU General Public License along with * this program. If not, see <http://www.gnu.org/licenses/>. */ package net.sf.l2j.gameserver.handler.voicedcommandhandlers; import net.sf.l2j.Config; import net.sf.l2j.gameserver.handler.IVoicedCommandHandler; import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; import net.sf.l2j.gameserver.serverpackets.SetupGauge; import net.sf.l2j.gameserver.ThreadPoolManager; @SuppressWarnings("unused") public class LevelZones implements net.sf.l2j.gameserver.handler.IVoicedCommandHandler { private static final String[] VOICED_COMMANDS = { "lvl" }; @Override public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target) { if (command.equalsIgnoreCase("lvl")) { if(activeChar.isInJail()) { activeChar.sendMessage("Sorry,you are in Jail!"); return false; } else if(activeChar.isInOlympiadMode()) { activeChar.sendMessage("Sorry,you are in the Olympiad now."); return false; } else if(activeChar.isInDuel()) { activeChar.sendMessage("Sorry,you are in a duel!"); return false; } else if(activeChar.inObserverMode()) { activeChar.sendMessage("Sorry,you are in the observation mode."); return false; } else if(activeChar.isFestivalParticipant()) { activeChar.sendMessage("Sorry,you are in a festival."); return false; } else if(!Config.ALT_GAME_KARMA_PLAYER_CAN_USE_GK && activeChar.getKarma() > 0) { activeChar.sendMessage("Sorry,PK player can't use this."); return false; } else if(activeChar.isDead()) { activeChar.sendMessage("Sorry,Dead player can't teleport."); return false; } else if(activeChar.isFakeDeath()) { activeChar.sendMessage("Sorry,on fake death mode can't use this."); return false; } else if(activeChar.atEvent) { activeChar.sendMessage("Sorry,you are on event now."); return false; } int placex; int placey; int placez; String message; if (activeChar.getLevel() >= 75 && Config.LVL75_COMMAND_ALLOW) { placex = Config.LVL75_X; placey = Config.LVL75_Y; placez = Config.LVL75_Z; message = Config.LVL75_MESSAGE; } else if (activeChar.getLevel() >= 60 && Config.LVL60_COMMAND_ALLOW) { placex = Config.LVL60_X; placey = Config.LVL60_Y; placez = Config.LVL60_Z; message = Config.LVL60_MESSAGE; } else if (activeChar.getLevel() >= 40 && Config.LVL40_COMMAND_ALLOW) { placex = Config.LVL40_X; placey = Config.LVL40_Y; placez = Config.LVL40_Z; message = Config.LVL40_MESSAGE; } else if(activeChar.getLevel() >= 20 && Config.LVL20_COMMAND_ALLOW) { placex = Config.LVL20_X; placey = Config.LVL20_Y; placez = Config.LVL20_Z; message = Config.LVL20_MESSAGE; } else { activeChar.sendMessage("You don't have anywhere to go. Your level is too high or too low."); return false; } SetupGauge sg = new SetupGauge(SetupGauge.BLUE, 15000); activeChar.sendPacket(sg); sg = null; activeChar.setIsImobilised(true); ThreadPoolManager.getInstance().scheduleGeneral(new teleportTask(activeChar, placex, placey, placez, message), 15000); } return true; } @Override public String[] getVoicedCommandList() { return VOICED_COMMANDS; } class teleportTask implements Runnable { private final L2PcInstance _activeChar; private final int _x; private final int _y; private final int _z; private final String _message; teleportTask(L2PcInstance activeChar, int x, int y, int z, String message) { _activeChar = activeChar; _x = x; _y = y; _z = z; _message = message; } @Override public void run() { if(_activeChar == null) return; _activeChar.teleToLocation(_x, _y, _z); _activeChar.sendMessage(_message); _activeChar.setIsImobilised(false); } } }
  5. Don't you think, what better way would be like this: write .lvlzone and you will be teleported to level zone by your level? I mean if you are 20lvl you will be teleported to x1,y1,z1 coords if you will be 40lvl you will be teleported to x2,y2,z2 and so on... :)
  6. Well, cool share... But maybe we still need to add more protections, becouse now I can simply call my friend (or just use dual box) and kill my self X times, write ".noob" and take the reward.... So this is usefull, but need some fixes. :) Good luck and keep sharing :)
  7. Sorry for tooking so long, here is the update for L2PcInstance -> Code <-
  8. Well try to implement it into some pack and if something goes wrong write in forum, I will help :)
  9. Well you have to fix couple things, but basically I think it's same as H5 :)
  10. Hello. So today I will share couple my new things. First will be Voiced Command handlers in Bypass -> Code <- Usage: bypass -h .voicedCommand Second share will be Dress Me command. -> Code <- With this command you can change Your clothes, don't touching stats. There are 3 commands: .dressme - will open Html, where you will see all information about Dress Me. .dressmetarget - will copy targets items. .dressmestate - will change your state (you can turn on or turn off your Visual Armors). In the bottom of the HTML you see 5 weapons. You can take 5 types of weapons for Visual type: Swords (1 hand sword, 1 hand blunt, dagger and so on) Bows (bow, crossbow) Pole (only poles) Duals (fists, dual daggers, dual weapons and so on) Big Swords (2 hand sword, 2 hand blunt and ancient sword) If you have that type texture, you will see that item Visual type, if for example You have only Sword type in that case, when you put for example Bow, you will see your equiped bow, not visual type. Second revision will have items choosing by yourself and configurations. I already started to work on second revision and here is the photo: If someone have any ideas how to mark equipped weapon (in html) or want to try to show html for choosing item (becouse for now I don't have it) or have any good ideas, you are welcome to write it here, I will be waiting. P.s. Credits: Erlandys! P.s.s. Sorry for bad english and mistakes, I was in hurry, when I will have time I will rework this topic to look better. :)
  11. in com.l2jfrozen.gameserver.network.clientpackets.RequestMagicSkillUse before this line: activeChar.useMagic(skill, _ctrlPressed, _shiftPressed); write this: if ((skill.getSkillType() == SkillType.HEAL || skill.getSkillType() == SkillType.HEAL_PERCENT || skill.getSkillType() == SkillType.HEAL_STATIC) && activeChar.getTarget() instanceof L2Attackable) { activeChar.sendMessage("You can't heal monsters!"); return; }
  12. Do the simple way, instead of those all checks, do only 1 if(target instanceof L2Attackable) continue;
  13. Hello, so this is simple Count Down engine. -> Code <- It's very simple to use activeChar.startCountDown(35, "The test Count Down is turned on for %s seconds!", Position.MiddleCenter, false); First variable is seconds for Count Down. Second variable is text which will be shown (%s - seconds, %m - minutes, %h - hours; if you put Upper case instead Lower case (%S instead %s and so on) then you will see zero in front of time left (if time left is lower than ten). Example: lower case - (59 or 9), upper case (59 or 09)). Third is text place in the screen. Fourth is to choose, text will be big or small. Example: Sorry if it's not usefull and for bad english. P.s. credits: Erlandys.
  14. If you use buffer from htmls: data/html/mods/NpcBuffer.htm Then in com.l2jserver.gameserver.model.actor.instance.L2NpcBufferInstance class after those lines: @Override public void onBypassFeedback(L2PcInstance player, String command) { // BypassValidation Exploit plug. if (player == null || player.getLastFolkNPC() == null || player.getLastFolkNPC().getObjectId() != this.getObjectId()) return; put this code: if (player.isInCombat) { player.sendMessage("You can't use buffer while you are in combat mode!"); return; } if (player.getPvpFlag() != 0) { player.sendMessage("You can't use buffer while you have PvP Flag!"); return; } if (player.getKarma() > 0) { player.sendMessage("You can't use buffer while you have karma!"); return; }
  15. If I remember good client can't handle more that 8192~ length text, so l2j emulators are already protected, to not give you critical error, so that means your Html was too long for client to handle. Sorry if I missed something :S
  16. I have find this: http://www.4shared.com/rar/xg8rBsOn/Rin4a_Buffer_V13_Edited_By_All.html?
  17. If I understood good, UserInfo packet is sending wrong information, you missed some information maybe, or added too much. Try to check that UserInfo packet.
  18. Yes, on HighFive button must have information in client side for mouseOver and those images You're trying to put don't have information in client side with mouseOver. :)
  19. You need to go to the Java, TvT main class, find method associated with ressurection and then add if this config is 3, then give scheme buffs, ofc you need some code for buffing with scheme buffs. :)
  20. Hello, so I want to introduce myself. I am newbie in some conditions, but I never introduced myself. I am from Lithuana. I am working with L2j, I can make everything, what client don't pass my way ;D I had other Account and I have couple shares here: http://maxcheaters.com/forum/index.php?topic=219482.0 http://maxcheaters.com/forum/index.php?topic=213829.msg1913605#msg1913605 If someone want I can try to create smth for share (ofcourse not big engines), but I can make for private big engines (but ofcourse not 4 free). So if you have some ideas or requests write to pm. So one more time hello to everyone and good day! :) P.s. I don't work with client and protections!
  21. But without these: exLeader.getAppearance().setNameColor(0x000000); exLeader.getAppearance().setTitleColor(0x9900CC); You have nothing to update... :-X
×
×
  • 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