Jump to content

HeadHunter

Members
  • Posts

    161
  • Joined

  • Last visited

  • Days Won

    2
  • Feedback

    100%

Everything posted by HeadHunter

  1. Hello everyone we open the server (Beta) for 1 week.After we will open it official when our site is ready to upload patches/client.You are all wellcome to join to our server commiunity! ================== -Bot Protection/DDos Protection -Full Geodata Server rates: XP=300x SP=300x Adena=400x ================== -Enchant rates: Safe +4/Max +25 70% Enchant rate ================== NPC: - Augmenter Manager - PvP/PK List - GM Shop - Gatekeeper - Warehouse Manager - Anti PK - Scheme buffer - Noblesse Manager (no need to make subclass to be noblesse) - Clan reputation Manager ====================== 3 Farming Areas[PvP] lvl up Area[safe] ====================== -Offline shop Sell/Buy/craft(stay in offline mode for 10 days!) -Ballance classes -99% Skills work -Accounts Autocreate(you can change password with command [.changepassword]) -Dynasty items can wear it at 76 lvl - PvP Color system ( name ) - PK Color system ( title ) - Announce castle lord in login - Vote reward system configurable ( topzone / hopzone ) - Raid boss spawn announce - Custom Anti-PK NPC ( it attacks only pk ) ====================== - Rabbit event, race event and eplies events now are automatic ( rabbit - 120 /mins elpies - 240 /mins race - 360 mins) -CTF Event starts auto at every 2 hours, TVT too. I mean at every hour tvt/ctf is activated ( never both at same time ) ====================== We will wait for you! Here is the Patch path(site is under build we gonna finish it soon) http://www.4shared.com/rar/CXa_Klad/system.html
  2. Thanks for share mate!Can you tell us for what chronicle is it?Only for IL or and for others?
  3. www.L2-Abyss.com New IL Custom PvP x1000 server is Open!Custom Armors(Black Vesper-Dynasty),Custom Weapons(Black Vesper),Tattoos,Custom jewels(Everything with balance stats).Check it if you want we need players.
  4. www.L2-Abyss.com New custom PvP Interlude x1000 server with Customs armors-weapons-tattoos-jewels(all with balance stats).
  5. www.L2-Abyss.com New PvP server is up is new and we need people all is balanced and all work fine.Check it if you want.
  6. Hello Everyone i found this Offline Trader/Crafter for Interlude Only and i wanna share it with you. Here is the Code: Index: java/config/l2jmods.properties =================================================================== --- java/config/l2jmods.properties (revision 4) +++ java/config/l2jmods.properties (working copy) @@ -132,3 +132,18 @@ # ex.: 1;2;3;4;5;6 # no ";" at the start or end TvTEventDoorsCloseOpenOnStartEnd = + +# ============================================================ +# OFFLINE TRADE & CRAFT +# ============================================================ +# Enable or Disable Offline Trade & Craft +AllowOfflineTrade = true +AllowOfflineCraft = true + +# This option sets the target color +# Use true/false to enable color +# Default: none +OfflineTargetColor = true + +# Requires OfflineTargetColor, Trade/Craft Configs enabled +OfflineColor = FF00FF \ No newline at end of file Index: java/net/sf/l2j/Config.java =================================================================== --- java/net/sf/l2j/Config.java (revision 4) +++ java/net/sf/l2j/Config.java (working copy) @@ -882,6 +882,11 @@ public static boolean L2JMOD_WEDDING_FORMALWEAR; public static int L2JMOD_WEDDING_DIVORCE_COSTS; + public static boolean ALLOW_OFFLINE_TRADE; + public static boolean ALLOW_OFFLINE_CRAFT; + public static boolean OFFLINE_TARGET_COLOR; + public static int OFFLINE_COLOR; + // Packet information /** Count the a-beep-t of packets per minute ? */ public static boolean COUNT_PACKETS = false; @@ -1859,6 +1864,11 @@ L2JMOD_WEDDING_FORMALWEAR = Boolean.parseBoolean(L2JModSettings.getProperty("WeddingFormalWear", "True")); L2JMOD_WEDDING_DIVORCE_COSTS = Integer.parseInt(L2JModSettings.getProperty("WeddingDivorceCosts", "20")); + ALLOW_OFFLINE_TRADE = Boolean.parseBoolean(L2JModSettings.getProperty("AllowOfflineTrade", "false")); + ALLOW_OFFLINE_CRAFT = Boolean.parseBoolean(L2JModSettings.getProperty("AllowOfflineCraft", "false")); + OFFLINE_TARGET_COLOR = Boolean.parseBoolean(L2JModSettings.getProperty("OfflineTargetColor", "false")); + OFFLINE_COLOR = Integer.decode("0x" + L2JModSettings.getProperty("OfflineColor", "FFFFFF")); + if (TVT_EVENT_PARTICIPATION_NPC_ID == 0) { TVT_EVENT_ENABLED = false; Index: java/net/sf/l2j/gameserver/clientpackets/Logout.java =================================================================== --- java/net/sf/l2j/gameserver/clientpackets/Logout.java (revision 4) +++ java/net/sf/l2j/gameserver/clientpackets/Logout.java (working copy) @@ -106,6 +106,13 @@ } TvTEvent.onLogout(player); + + if ((player.isInStoreMode() && Config.ALLOW_OFFLINE_TRADE) || (player.isInCraftMode() && Config.ALLOW_OFFLINE_CRAFT)) + { + player.closeNetConnection(); + return; + } + RegionBBSManager.getInstance().changeCommunityBoard(); player.deleteMe(); Index: java/net/sf/l2j/gameserver/clientpackets/RequestJoinParty.java =================================================================== --- java/net/sf/l2j/gameserver/clientpackets/RequestJoinParty.java (revision 4) +++ java/net/sf/l2j/gameserver/clientpackets/RequestJoinParty.java (working copy) @@ -96,6 +96,12 @@ return; } + if (target.getClient().isDetached()) + { + requestor.sendMessage("Player is in offline mode."); + return; + } + if (target.isInOlympiadMode() || requestor.isInOlympiadMode()) return; Index: java/net/sf/l2j/gameserver/clientpackets/Say2.java =================================================================== --- java/net/sf/l2j/gameserver/clientpackets/Say2.java (revision 4) +++ java/net/sf/l2j/gameserver/clientpackets/Say2.java (working copy) @@ -166,6 +166,13 @@ if (receiver != null && !BlockList.isBlocked(receiver, activeChar)) { + + if (receiver.getClient().isDetached()) + { + activeChar.sendMessage("Player is in offline mode."); + return; + } + if (Config.JAIL_DISABLE_CHAT && receiver.isInJail()) { activeChar.sendMessage("Player is in jail."); Index: java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminEditChar.java =================================================================== --- java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminEditChar.java (revision 4) +++ java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminEditChar.java (working copy) @@ -34,6 +34,7 @@ import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; import net.sf.l2j.gameserver.model.actor.instance.L2PetInstance; import net.sf.l2j.gameserver.model.base.ClassId; +import net.sf.l2j.gameserver.network.L2GameClient; import net.sf.l2j.gameserver.network.SystemMessageId; import net.sf.l2j.gameserver.serverpackets.CharInfo; import net.sf.l2j.gameserver.serverpackets.NpcHtmlMessage; @@ -658,10 +659,26 @@ */ private void findCharactersPerIp(L2PcInstance activeChar, String IpAdress) throws IllegalArgumentException { - if (!IpAdress.matches("^(?:(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2(?:[0-4][0-9]|5[0-5]))\\.){3}(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2(?:[0-4][0-9]|5[0-5]))$")) - throw new IllegalArgumentException("Malformed IPv4 number"); + //if (!IpAdress.matches("^(?:(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2(?:[0-4][0-9]|5[0-5]))\\.){3}(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2(?:[0-4][0-9]|5[0-5]))$")) + // throw new IllegalArgumentException("Malformed IPv4 number"); + + boolean findDisconnected = false; + + if (IpAdress.equals("disconnected")) + { + findDisconnected = true; + } + else + { + if (!IpAdress.matches("^(?:(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2(?:[0-4][0-9]|5[0-5]))\\.){3}(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2(?:[0-4][0-9]|5[0-5]))$")) + throw new IllegalArgumentException("Malformed IPv4 number"); + } + Collection<L2PcInstance> allPlayers = L2World.getInstance().getAllPlayers(); L2PcInstance[] players = allPlayers.toArray(new L2PcInstance[allPlayers.size()]); + + L2GameClient client; + int CharactersFound = 0; String name,ip="0.0.0.0"; TextBuilder replyMSG = new TextBuilder(); @@ -669,13 +686,35 @@ adminReply.setFile("data/html/admin/ipfind.htm"); for (int i = 0; i < players.length; i++) { - ip=players[i].getClient().getConnection().getSocketChannel().socket().getInetAddress().getHostAddress(); - if (ip.equals(IpAdress)) - { - name = players[i].getName(); - CharactersFound = CharactersFound+1; - replyMSG.append("<tr><td width=80><a action=\"bypass -h admin_character_list "+name+"\">"+name+"</a></td><td width=110>" + players[i].getTemplate().className + "</td><td width=40>"+players[i].getLevel()+"</td></tr>"); + //ip=players[i].getClient().getConnection().getSocketChannel().socket().getInetAddress().getHostAddress(); + //if (ip.equals(IpAdress)) + client = activeChar.getClient(); + if (client.isDetached()){ + //name = players[i].getName(); + //CharactersFound = CharactersFound+1; + //replyMSG.append("<tr><td width=80><a action=\"bypass -h admin_character_list "+name+"\">"+name+"</a></td><td width=110>" + players[i].getTemplate().className + "</td><td width=40>"+players[i].getLevel()+"</td></tr>"); + if (!findDisconnected) + { + continue; + } } + else + { + if (findDisconnected) + { + continue; + } + else + { + ip=players[i].getClient().getConnection().getSocketChannel().socket().getInetAddress().getHostAddress(); + if (!ip.equals(IpAdress)) + continue; + } + } + name = activeChar.getName(); + CharactersFound = CharactersFound + 1; + replyMSG.append("<tr><td width=80><a action=\"bypass -h admin_character_list " + name + "\">" + name + "</a></td><td width=110>" + activeChar.getTemplate().className + "</td><td width=40>" + activeChar.getLevel() + "</td></tr>"); + if (CharactersFound > 20) break; } Index: java/net/sf/l2j/gameserver/model/L2ClanMember.java =================================================================== --- java/net/sf/l2j/gameserver/model/L2ClanMember.java (revision 4) +++ java/net/sf/l2j/gameserver/model/L2ClanMember.java (working copy) @@ -120,7 +120,16 @@ public boolean isOnline() { - return _player != null; + //return _player != null; + if (_player == null) + return false; + if (_player.getClient() == null) + return false; + if (_player.getClient().isDetached()) + return false; + + return true; + } /** Index: java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java =================================================================== --- java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java (revision 4) +++ java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java (working copy) @@ -3342,7 +3342,18 @@ { if (_client != null) { - _client.close(new LeaveWorld()); + //_client.close(new LeaveWorld()); + if (_client.isDetached()) + { + _client.cleanMe(true); + } + else + { + if (!_client.getConnection().isClosed()) + { + _client.close(new LeaveWorld()); + } + } } } Index: java/net/sf/l2j/gameserver/network/L2GameClient.java =================================================================== --- java/net/sf/l2j/gameserver/network/L2GameClient.java (revision 4) +++ java/net/sf/l2j/gameserver/network/L2GameClient.java (working copy) @@ -39,6 +39,7 @@ import net.sf.l2j.gameserver.model.L2World; import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; import net.sf.l2j.gameserver.model.entity.L2Event; +import net.sf.l2j.gameserver.model.entity.TvTEvent; import net.sf.l2j.gameserver.serverpackets.L2GameServerPacket; import net.sf.l2j.gameserver.serverpackets.UserInfo; import net.sf.l2j.util.EventData; @@ -77,13 +78,16 @@ // Task protected /*final*/ ScheduledFuture _autoSaveInDB; - + protected ScheduledFuture<?> _cleanupTask = null; + // Crypt public GameCrypt crypt; // Flood protection public byte packetsSentInSec = 0; public int packetsSentStartTick = 0; + + private boolean _isDetached = false; public L2GameClient(MMOConnection<L2GameClient> con) { @@ -179,9 +183,21 @@ public void sendPacket(L2GameServerPacket gsp) { + if (_isDetached) return; + getConnection().sendPacket(gsp); gsp.runImpl(); } + + public boolean isDetached() + { + return _isDetached; + } + + public void isDetached(boolean b) + { + _isDetached = b; + } public L2PcInstance markToDeleteChar(int charslot) throws Exception { @@ -225,6 +241,13 @@ return null; } + @Override + public void closeNow() + { + super.getConnection().close(null); + cleanMe(true); + } + public L2PcInstance deleteChar(int charslot) throws Exception { //have to make sure active character must be nulled @@ -518,17 +541,82 @@ } } - class DisconnectTask implements Runnable - { + class DisconnectTask implements Runnable + { - /** - * @see java.lang.Runnable#run() - */ - public void run() - { - try - { - // Update BBS + /** + * @see java.lang.Runnable#run() + */ + public void run() + { + boolean fast = true; + + try + { + isDetached(true); + + L2PcInstance player = L2GameClient.this.getActiveChar(); + if (player != null) + { + if (!player.isInOlympiadMode() && player.isInsidePeaceZone(player) && !player.isInDuel() && + !player.getParty().isInDimensionalRift() && !player.isFestivalParticipant() && + !player.atEvent && !player.isInJail()) + { + if ((player.isInStoreMode() && Config.ALLOW_OFFLINE_TRADE) || (player.isInCraftMode() && Config.ALLOW_OFFLINE_CRAFT)) + { + player.leaveParty(); + if (Config.OFFLINE_TARGET_COLOR) + { + player.getAppearance().setNameColor(Config.OFFLINE_COLOR); + player.broadcastUserInfo(); + } + + return; + } + } + if (player.isInCombat()) + { + fast = false; + } + } + cleanMe(fast); + } + catch (Exception e1) + { + _log.warning("Error while disconnecting client."); + } + } + } + + public void cleanMe(boolean fast) + { + try + { + synchronized(this) + { + if (_cleanupTask == null) + { + _cleanupTask = ThreadPoolManager.getInstance().scheduleGeneral(new CleanupTask(), fast ? 5 : 15000L); + } + } + } + catch (Exception e1) + { + _log.warning("Error during cleanup."); + } + } + + + class CleanupTask implements Runnable + { + /** + * @see java.lang.Runnable#run() + */ + public void run() + { + try + { + // Update BBS try { RegionBBSManager.getInstance().changeCommunityBoard(); @@ -555,8 +643,14 @@ { player.removeSkill(SkillTable.getInstance().getInfo(4289, 1)); } - // notify the world about our disconnect - player.deleteMe(); + + // to prevent call cleanMe() again + + if(isDetached()){ + isDetached(false); + }else + // notify the world about our disconnect + player.deleteMe(); try { Index: java/net/sf/l2j/gameserver/network/L2GamePacketHandler.java =================================================================== --- java/net/sf/l2j/gameserver/network/L2GamePacketHandler.java (revision 4) +++ java/net/sf/l2j/gameserver/network/L2GamePacketHandler.java (working copy) @@ -49,6 +49,9 @@ // implementation public ReceivablePacket<L2GameClient> handlePacket(ByteBuffer buf, L2GameClient client) { + if (client.isDetached()) + return null; + int opcode = buf.get() & 0xFF; ReceivablePacket<L2GameClient> msg = null; Credits By sk0rpi0n
  7. Ok guys i add more info from server.
  8. Server Rates: ======================== *XP:1000x *Enchant Rates:68% *SP:1000x *Blessed Scrolls:85% *Adena:800x *Crystall Scrolls:100% ======================== Safe-Max Enchant: *Safe-Max Enchant for Weapons:+3/+25 *Safe-Max Enchant for Armors-Jewels:+3/+20 ======================== Server Npc and Customs: *Custom GM-Shop(Full) *Custom Augmenter(Stuck Augments) *Custom Npc-Buffer(3 hours buffs)[46 Buff] *Custom Skill Enchanter(All classes to 1 Npc) *Custom Farming Areas *Custom Class Changer(1rst/2nd/3rd class) *Custom Armors(Black Vesper)/(Dynasty) *Custom Weapons(Black Vesper) *Custom Jewels(Black Vesper) *Custom Tattoss *More Customs comming soon* **All is with Ballance Stats** ===================== Events: *TvT *RaidBoss *Hide and seek *Other GM Events ====================== Custom Areas: *Leveling Area(1-75lvl) *Farm Area No1(Ruins of Despair[boosted xp-sp/drops adena-AA-Silver Abyss Coins]) *Farm Area No2(DVC[boosted xp-sp/drops adena-AA-Blood Abyss Coins]) *Farm Area No3(Cave of Trials[boosted xp-sp drops adena-Gold Abyss Coins]) *Custom Raid Bosses (At farming Areas drops BEWS/BEAS/Gold Bars/Clan Eggs) And mutch more.Visit us to our site for more info..We recruiting Players to play www.L2-Abyss.com
  9. ty gia to share
  10. If you don't log you can't understand if server is sucks only from website...And i say is just for few days this site...omg dude. Download pach log on server check if you find just 1 bug and after say "sucks".
  11. You are wellcome all guys the server is 2 days old server and we recruiting people.If you like it and stay speak to friends to join us pliz.Thanks all.
  12. Server Rates: XP=x300/SP=x300/Adena-x400 ====================================================================================================== Enchant Rates: Safe+3 Max+25(for Weapons) Max+20(For Armors and Jewels) ====================================================================================================== Enchant Change: Normal Scrolls 68% Blessed Scrolls 85% Crystall Scrolls 100% ====================================================================================================== Server Customs: GM-Shop/Epic Shop/Custom Farming Areas(With boosted xp/sp/adena)/NPC-Buffer(3 hours full buffs)/Epic Weapons/TvT and much more.Join us!!! www.L2-Warzone.com.nu
  13. Katevase allh ekdosh ths java
  14. Filaraki poly wraios eixa skeftei aki egw na kanw Guide alla variomoun na grapsw tosa pramata...xarasthn ypomonh sou.Wreos pantos+1 apo emena.
  15. Fainetai na exeis kanei polla fixed mesa sto Pack tha to katevasw na to checkarw eyxaristoume gia to share file synexise etc.
  16. Perfect Site guys Thanks for share
  17. Thanks for share dude.You made very good work +1 from me.
  18. File apla eisai tsakali.+1 apo emena
  19. critical can you invite me in your MSN?I need your help with something.My MSN is:Lineage2Warzone@hotmail.com
  20. The UCOZ is just for to connect in my server to have just on site after when server have manny ppl ON i will buy "com" this is not reason to say all this...first test the server and after speak.Cu Regards By [*HEadHunter*]
  21. File mporeis na katevaseis ena opoiodhpote Pack (gia l2j milaw) kai na katseis na peraseis ena ena ta sql arxeia sto Navicat kai tha einai apeiraxta meta mporeis na kaneis oses tropopoihseis thes esy. Lineage][Warzone Admin http://L2-warzone.ucoz.com
  22. file egw to katevasa stis 17/3/2010 kai den douleuei.....mporeis na to reupload?thanks
  23. Ama dyskoleueste me to No-IP yparxei akomh enas tropos apla pante se auto to site:www.dyndns.com To site auto apla sou onomazei thn IP sou me ena onoma.Sthn synexeia ama thelete na kanete ton server sas Global apla ekei pou xreiazetai na valete thn IP sas + (to l2.ini mesa sto system) tha vazete to onoma pou exete kanei paradeigma : [badboy.dyndns.org].
  24. Paides kserw ta panta gia na kanw enan server+na kanw diafora pramata mesa se auton (opws ekana dld) apla den exw dhkwsei pote server Global.To erwthma mou einai gia na ton sikosw kai na xwraei peripou 500-700 atoma prepei na valw Windows Server?H kanoun kai ta Home Edition?parakalw epikoinwnhste mazi mou sto kamenos21@hotmail.com.Opoios thelei voitheia sxetika me stisimo server as me kanei add sto MSN mporw na voithisw sxedon sta panta.Eyxaristw
  25. 1)Download the File and after extract it...2)open the Files and you will find (server files/Client files)...3)In server files you will find the Gameserver-stats-Weapons-and the html file with the ID of Weapons (px 1900-1910.html) copy and paste it in your pack to [Gameserver-data-stats-weapon and paste it there]...4)open the Navicat and open the L2jdb Right click on it and press execute path file.Find the SQL file from the downloaded file and press execute.5)in client file you will find armorgrp.txt and itemname-e.txt.Open fileedit and encrypt the armorgrp(is in your System folder open it after open the armorgrp.txt with notepad and copy everything have inside and paste them in armorgrp in the last line save it in 413...6) you will make the same thing with the other one.7)copy and paste all systextures in your client and gg...
×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..