Jump to content

`iAndre

Members
  • Posts

    3,021
  • Credits

  • Joined

  • Last visited

  • Days Won

    5
  • Feedback

    80%

Everything posted by `iAndre

  1. It's posted in the wrong section, but as long as you own the copyrights for it you can sell it. I'd suggest you to create a demo version (with 5 pms for example), so that we can test it before we buy it. Good luck.
  2. It's simple, if your item is an armor part then you have to add it in armorgrp, if it's weapon then to weapon grp and in your case you have to add it etcitemgrp. //Edit Use smaller ids.
  3. Didn't knew that , well he could pm demev or criticalerror. They can do it.
  4. You can find any chronicle's geodata here. http://l2geo.ru //Edit Add proper tag.
  5. Glad to hear it & thanks for sharing it with us.
  6. I think client must be edited too.
  7. Αχα, δεν το ηξερα αυτο. Thx. :)
  8. Ειναι dead εδω και χρονια , θα σου πρωτεινα να πας σε acis αλλιως οριστε. https://svn.l2jserver.com/branches/L2_GameServer_it/ https://svn.l2jdp.com/branches/L2J_DataPack_IT/
  9. @Amnesty , just do what SweeTs said, use free acis sources.
  10. I have to remove the pattern for that. :P //Edit Thanks for feedback mate.
  11. Thanks for feedback. I believe it looks nice. It's simple & nice. I guess i could imporve the navigation menu but i don't have the time to do it now.
  12. You don't know that. Maybe he/she accept for 700$. Enough with that, to much spam for nothing. If you want to offer your services to him just do it , otherwise stop spamming. Afterall, it's not your business.
  13. Sou leei ti ftaei , exeis kapou anoixto auto to arxeio. An dn kses pou einai tote pane stn diaxeirisi ergasiwn kai psakse.
  14. http://www.maxcheaters.com/topic/109842-nwatchme/
  15. Pio to kerdos apo olo auto ?? (Gia esas , gt gia mena einai free movies online. :P)
  16. ### Eclipse Workspace Patch 1.0 #P gameserver_chaos_86 Index: java/net/sf/l2j/gameserver/network/clientpackets/Logout.java =================================================================== --- java/net/sf/l2j/gameserver/network/clientpackets/Logout.java (revision 86) +++ java/net/sf/l2j/gameserver/network/clientpackets/Logout.java (working copy) @@ -46,6 +46,12 @@ protected void runImpl() { final L2PcInstance player = getClient().getActiveChar(); + EnterWorld world = new EnterWorld(); + + if (world._onlineplayers.contains(player) && player!=null) + { + world._onlineplayers.remove(player); + } if (player == null) return; Index: java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminChaos.java =================================================================== --- java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminChaos.java (revision 0) +++ java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminChaos.java (revision 0) @@ -0,0 +1,89 @@ +/* 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 2, 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, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA + * 02111-1307, USA. + * + * http://www.gnu.org/copyleft/gpl.html + */ +package net.sf.l2j.gameserver.handler.admincommandhandlers; + +import net.sf.l2j.gameserver.cache.HtmCache; +import net.sf.l2j.gameserver.handler.IAdminCommandHandler; +import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; +import net.sf.l2j.gameserver.model.entity.ChaosEvent; +import net.sf.l2j.gameserver.network.clientpackets.EnterWorld; +import net.sf.l2j.gameserver.network.serverpackets.NpcHtmlMessage; + +/** + * + * @author Anarchy + */ +public class AdminChaos implements IAdminCommandHandler +{ + private static final String[] ADMIN_COMMANDS = { "admin_startchaos", "admin_endchaos", "admin_warnchaos" }; + + public boolean useAdminCommand(String command, L2PcInstance activeChar) + { + ChaosEvent chaos = new ChaosEvent(); + + if (command.equals("admin_warnchaos")) + { + if (chaos._isChaosActive) + { + activeChar.sendMessage("You can only warn the players if Chaos Event isn't active."); + return false; + } + + EnterWorld world = new EnterWorld(); + + world.warnAllPlayers(); + + return true; + } + if (command.equals("admin_startchaos")) + { + if(!chaos._isChaosActive) + { + chaos.startChaos(); + activeChar.sendMessage("You have succesfully started Chaos Event. Press //endchaos to stop it."); + return true; + } + else + { + activeChar.sendMessage("Chaos Event is already active."); + return false; + } + } + if (command.equals("admin_endchaos")) + { + if(chaos._isChaosActive) + { + chaos.stopChaos(); + activeChar.sendMessage("You have succesfully stopped Chaos Event."); + return true; + } + else + { + activeChar.sendMessage("Chaos Event is not active."); + return false; + } + } + + return true; + } + + public String[] getAdminCommandList() + { + return ADMIN_COMMANDS; + } +} Index: java/net/sf/l2j/gameserver/handler/AdminCommandHandler.java =================================================================== --- java/net/sf/l2j/gameserver/handler/AdminCommandHandler.java (revision 86) +++ java/net/sf/l2j/gameserver/handler/AdminCommandHandler.java (working copy) @@ -70,6 +70,7 @@ import net.sf.l2j.gameserver.handler.admincommandhandlers.AdminTest; import net.sf.l2j.gameserver.handler.admincommandhandlers.AdminUnblockIp; import net.sf.l2j.gameserver.handler.admincommandhandlers.AdminZone; +import net.sf.l2j.gameserver.handler.admincommandhandlers.AdminChaos; public class AdminCommandHandler { @@ -135,6 +136,7 @@ registerAdminCommandHandler(new AdminTest()); registerAdminCommandHandler(new AdminUnblockIp()); registerAdminCommandHandler(new AdminZone()); + registerAdminCommandHandler(new AdminChaos()); } public void registerAdminCommandHandler(IAdminCommandHandler handler) Index: java/net/sf/l2j/gameserver/network/clientpackets/EnterWorld.java =================================================================== --- java/net/sf/l2j/gameserver/network/clientpackets/EnterWorld.java (revision 86) +++ java/net/sf/l2j/gameserver/network/clientpackets/EnterWorld.java (working copy) @@ -18,6 +18,7 @@ */ package net.sf.l2j.gameserver.network.clientpackets; +import java.util.Vector; import java.util.logging.Logger; import net.sf.l2j.Config; @@ -72,6 +73,7 @@ { private static final String _C__03_ENTERWORLD = "[C] 03 EnterWorld"; private static Logger _log = Logger.getLogger(EnterWorld.class.getName()); + public static Vector<L2PcInstance> _onlineplayers = new Vector<L2PcInstance>(); public TaskPriority getPriority() { return TaskPriority.PR_URGENT; } @@ -86,6 +88,8 @@ { L2PcInstance activeChar = getClient().getActiveChar(); + _onlineplayers.add(activeChar); + if (activeChar == null) { _log.warning("EnterWorld failed! activeChar is null..."); @@ -316,6 +320,19 @@ } } } + + public void warnAllPlayers() + { + for (L2PcInstance player : _onlineplayers) + { + String file = "data/html/chaos/warning.htm"; + String html = HtmCache.getInstance().getHtm(file); + NpcHtmlMessage warning = new NpcHtmlMessage(1); + warning.setHtml(html); + + player.sendPacket(warning); + } + } @Override public String getType() Index: java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java =================================================================== --- java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java (revision 86) +++ java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java (working copy) @@ -122,6 +122,7 @@ import net.sf.l2j.gameserver.model.base.Race; import net.sf.l2j.gameserver.model.base.SubClass; import net.sf.l2j.gameserver.model.entity.Castle; +import net.sf.l2j.gameserver.model.entity.ChaosEvent; import net.sf.l2j.gameserver.model.entity.Duel; import net.sf.l2j.gameserver.model.entity.Hero; import net.sf.l2j.gameserver.model.entity.Siege; @@ -216,6 +217,10 @@ */ public final class L2PcInstance extends L2Playable { + // Chaos Event. + public int _chaosKills; + public boolean _inChaosEvent = false; + // Character Skill SQL String Definitions: private static final String RESTORE_SKILLS_FOR_CHAR = "SELECT skill_id,skill_level FROM character_skills WHERE char_obj_id=? AND class_index=?"; private static final String ADD_NEW_SKILL = "INSERT INTO character_skills (char_obj_id,skill_id,skill_level,class_index) VALUES (?,?,?,?)"; @@ -4689,6 +4694,7 @@ if (!(target instanceof L2Playable)) return; L2PcInstance targetPlayer = target.getActingPlayer(); + ChaosEvent chaos = new ChaosEvent(); if (targetPlayer == null) return; // Target player is null if (targetPlayer == this) return; // Target player is self @@ -4707,9 +4713,14 @@ return; // Check if it's pvp - if ((checkIfPvP(target) && targetPlayer.getPvpFlag() != 0) - || (isInsideZone(ZONE_PVP) && targetPlayer.isInsideZone(ZONE_PVP))) + if ((checkIfPvP(target) && targetPlayer.getPvpFlag() != 0) || (isInsideZone(ZONE_PVP) && targetPlayer.isInsideZone(ZONE_PVP))) + { increasePvpKills(); + if (_inChaosEvent && targetPlayer._inChaosEvent) + { + _chaosKills++; + } + } // Target player doesn't have pvp flag set else { @@ -4722,6 +4733,10 @@ { // 'Both way war' -> 'PvP Kill' increasePvpKills(); + if (_inChaosEvent && targetPlayer._inChaosEvent) + { + _chaosKills++; + } return; } @@ -4729,10 +4744,23 @@ if (targetPlayer.getKarma() > 0) { if (Config.KARMA_AWARD_PK_KILL) + { increasePvpKills(); + if (_inChaosEvent && targetPlayer._inChaosEvent) + { + _chaosKills++; + } + } } - else if (targetPlayer.getPvpFlag() == 0) - increasePkKillsAndKarma(targetPlayer.getLevel()); + else if (targetPlayer.getPvpFlag() == 0 && !(_inChaosEvent && _inChaosEvent(targetPlayer))) + { + increasePkKillsAndKarma(targetPlayer.getLevel()); + } + + if (targetPlayer.getPvpFlag() == 0 && (_inChaosEvent && targetPlayer._inChaosEvent)) + { + _chaosKills++; + } } } @@ -4740,6 +4768,11 @@ * Increase the pvp kills count and send the info to the player * */ + public boolean _inChaosEvent(L2Character target) + { + L2PcInstance targetPlayer = target.getActingPlayer(); + return targetPlayer._inChaosEvent; + } public void increasePvpKills() { // Add karma to attacker and increase its PK counter @@ -9343,6 +9376,12 @@ if (!DimensionalRiftManager.getInstance().checkIfInPeaceZone(getX(), getY(), getZ())) getParty().getDimensionalRift().memberRessurected(this); } + + ChaosEvent chaos = new ChaosEvent(); + if (_inChaosEvent) + { + chaos.addSuperHaste(this); + } } @Override Index: java/net/sf/l2j/gameserver/handler/IVoicedCommandHandler.java =================================================================== --- java/net/sf/l2j/gameserver/handler/IVoicedCommandHandler.java (revision 0) +++ java/net/sf/l2j/gameserver/handler/IVoicedCommandHandler.java (revision 0) @@ -0,0 +1,43 @@ +/* + * 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 2, 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, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA + * 02111-1307, USA. + * + * http://www.gnu.org/copyleft/gpl.html + */ +package net.sf.l2j.gameserver.handler; + +import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; + +/** + * This class ... + * + * @version $Revision: 1.1.4.2 $ $Date: 2005/03/27 15:30:09 $ + */ +public interface IVoicedCommandHandler +{ + /** + * this is the worker method that is called when someone uses an admin command. + * @param activeChar + * @param command + * @return command success + */ + public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target); + + /** + * this method is called at initialization to register all the item ids automatically + * @return all known itemIds + */ + public String[] getVoicedCommandList(); +} Index: java/net/sf/l2j/gameserver/handler/voicedcommandhandlers/Chaos.java =================================================================== --- java/net/sf/l2j/gameserver/handler/voicedcommandhandlers/Chaos.java (revision 0) +++ java/net/sf/l2j/gameserver/handler/voicedcommandhandlers/Chaos.java (revision 0) @@ -0,0 +1,68 @@ +/* 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 2, 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, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA + * 02111-1307, USA. + * + * http://www.gnu.org/copyleft/gpl.html + */ +package net.sf.l2j.gameserver.handler.voicedcommandhandlers; + +import net.sf.l2j.gameserver.handler.IVoicedCommandHandler; +import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; +import net.sf.l2j.gameserver.model.entity.ChaosEvent; + +/** + * + * @author Anarchy + */ +public class Chaos implements IVoicedCommandHandler +{ + private static final String[] VOICED_COMMANDS = { "joinchaos", "leavechaos" }; + + public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target) + { + ChaosEvent chaos = new ChaosEvent(); + if (command.startsWith("joinchaos")) + { + if (chaos._isChaosActive) + { + chaos.registerToChaos(activeChar); + return true; + } + else + { + activeChar.sendMessage("Chaos Event is not currently active."); + return false; + } + } + if (command.startsWith("leavechaos")) + { + if (chaos._isChaosActive) + { + chaos.removeFromChaos(activeChar); + return true; + } + else + { + activeChar.sendMessage("Chaos Event is not currently active."); + return false; + } + } + return true; + } + + public String[] getVoicedCommandList() + { + return VOICED_COMMANDS; + } +} Index: java/net/sf/l2j/gameserver/handler/chathandlers/ChatAll.java =================================================================== --- java/net/sf/l2j/gameserver/handler/chathandlers/ChatAll.java (revision 86) +++ java/net/sf/l2j/gameserver/handler/chathandlers/ChatAll.java (working copy) @@ -15,8 +15,13 @@ package net.sf.l2j.gameserver.handler.chathandlers; import java.util.Collection; +import java.util.StringTokenizer; +import java.util.logging.Logger; +import net.sf.l2j.Config; import net.sf.l2j.gameserver.handler.IChatHandler; +import net.sf.l2j.gameserver.handler.IVoicedCommandHandler; +import net.sf.l2j.gameserver.handler.VoicedCommandHandler; import net.sf.l2j.gameserver.model.BlockList; import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; import net.sf.l2j.gameserver.network.serverpackets.CreatureSay; @@ -29,6 +34,7 @@ public class ChatAll implements IChatHandler { private static final int[] COMMAND_IDS = { 0 }; + private static Logger _log = Logger.getLogger(ChatAll.class.getName()); /** * Handle chat type 'all' @@ -36,16 +42,53 @@ */ public void handleChat(int type, L2PcInstance activeChar, String params, String text) { - CreatureSay cs = new CreatureSay(activeChar.getObjectId(), type, activeChar.getName(), text); - Collection<L2PcInstance> plrs = activeChar.getKnownList().getKnownPlayers().values(); - - for (L2PcInstance player : plrs) + boolean vcd_used = false; + if (text.startsWith(".")) { - if (player != null && activeChar.isInsideRadius(player, 1250, false, true) && !BlockList.isBlocked(player, activeChar)) - player.sendPacket(cs); - } + StringTokenizer st = new StringTokenizer(text); + IVoicedCommandHandler vch; + String command = ""; - activeChar.sendPacket(cs); + if (st.countTokens() > 1) + { + command = st.nextToken().substring(1); + params = text.substring(command.length() + 2); + vch = VoicedCommandHandler.getInstance().getVoicedCommandHandler(command); + } + else + { + command = text.substring(1); + if (Config.DEBUG) + _log.info("Command: " + command); + vch = VoicedCommandHandler.getInstance().getVoicedCommandHandler(command); + } + + if (vch != null) + { + vch.useVoicedCommand(command, activeChar, params); + vcd_used = true; + } + else + { + if (Config.DEBUG) + _log.warning("No handler registered for bypass '" + command + "'"); + vcd_used = false; + } + } + + if (!vcd_used) + { + CreatureSay cs = new CreatureSay(activeChar.getObjectId(), type, activeChar.getName(), text); + Collection<L2PcInstance> plrs = activeChar.getKnownList().getKnownPlayers().values(); + + for (L2PcInstance player : plrs) + { + if (player != null && activeChar.isInsideRadius(player, 1250, false, true) && !BlockList.isBlocked(player, activeChar)) + player.sendPacket(cs); + } + + activeChar.sendPacket(cs); + } } /** Index: java/net/sf/l2j/gameserver/GameServer.java =================================================================== --- java/net/sf/l2j/gameserver/GameServer.java (revision 86) +++ java/net/sf/l2j/gameserver/GameServer.java (working copy) @@ -68,6 +68,7 @@ import net.sf.l2j.gameserver.handler.ItemHandler; import net.sf.l2j.gameserver.handler.SkillHandler; import net.sf.l2j.gameserver.handler.UserCommandHandler; +import net.sf.l2j.gameserver.handler.VoicedCommandHandler; import net.sf.l2j.gameserver.idfactory.IdFactory; import net.sf.l2j.gameserver.instancemanager.AuctionManager; import net.sf.l2j.gameserver.instancemanager.BoatManager; @@ -242,6 +243,7 @@ _log.config("ItemHandler: Loaded " + ItemHandler.getInstance().size() + " handlers."); _log.config("SkillHandler: Loaded " + SkillHandler.getInstance().size() + " handlers."); _log.config("UserCommandHandler: Loaded " + UserCommandHandler.getInstance().size() + " handlers."); + _log.config("VoicedCommandHandler: Loaded " + VoicedCommandHandler.getInstance().size() + " handlers."); if (Config.ALLOW_WEDDING) CoupleManager.getInstance(); Index: java/net/sf/l2j/gameserver/handler/VoicedCommandHandler.java =================================================================== --- java/net/sf/l2j/gameserver/handler/VoicedCommandHandler.java (revision 0) +++ java/net/sf/l2j/gameserver/handler/VoicedCommandHandler.java (revision 0) @@ -0,0 +1,78 @@ +/* + * 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 2, 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, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA + * 02111-1307, USA. + * + * http://www.gnu.org/copyleft/gpl.html + */ +package net.sf.l2j.gameserver.handler; + +import java.util.Map; +import java.util.logging.Logger; + +import javolution.util.FastMap; +import net.sf.l2j.Config; +import net.sf.l2j.gameserver.handler.admincommandhandlers.AdminChaos; +import net.sf.l2j.gameserver.handler.voicedcommandhandlers.*; + +public class VoicedCommandHandler +{ + private static Logger _log = Logger.getLogger(ItemHandler.class.getName()); + + private static VoicedCommandHandler _instance; + private Map<String, IVoicedCommandHandler> _datatable; + + public static VoicedCommandHandler getInstance() + { + if (_instance == null) + _instance = new VoicedCommandHandler(); + + return _instance; + } + + private VoicedCommandHandler() + { + _datatable = new FastMap<String, IVoicedCommandHandler>(); + + registerVoicedCommandHandler(new Chaos()); + } + + public void registerVoicedCommandHandler(IVoicedCommandHandler handler) + { + String[] ids = handler.getVoicedCommandList(); + for (int i = 0; i < ids.length; i++) + { + if (Config.DEBUG) _log.fine("Adding handler for command "+ids[i]); + _datatable.put(ids[i], handler); + } + } + + public IVoicedCommandHandler getVoicedCommandHandler(String voicedCommand) + { + String command = voicedCommand; + + if (voicedCommand.indexOf(" ") != -1) + command = voicedCommand.substring(0, voicedCommand.indexOf(" ")); + + if (Config.DEBUG) + _log.fine("getting handler for command: "+command+" -> "+(_datatable.get(command) != null)); + + return _datatable.get(command); + } + + public int size() + { + return _datatable.size(); + } +} \ No newline at end of file Index: java/net/sf/l2j/gameserver/model/entity/ChaosEvent.java =================================================================== --- java/net/sf/l2j/gameserver/model/entity/ChaosEvent.java (revision 0) +++ java/net/sf/l2j/gameserver/model/entity/ChaosEvent.java (revision 0) @@ -0,0 +1,230 @@ +/* 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 2, 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, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA + * 02111-1307, USA. + * + * http://www.gnu.org/copyleft/gpl.html + */ +package net.sf.l2j.gameserver.model.entity; + +import java.util.Vector; + +import net.sf.l2j.gameserver.Announcements; +import net.sf.l2j.gameserver.datatables.SkillTable; +import net.sf.l2j.gameserver.model.L2Effect; +import net.sf.l2j.gameserver.model.L2Skill; +import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; + +/** + * + * @author Anarchy + */ +public class ChaosEvent +{ + public static Vector<L2PcInstance> _players = new Vector<L2PcInstance>(); + public static L2PcInstance _topplayer, _topplayer2, _topplayer3, _topplayer4, _topplayer5; + public static int _topkills = 0, _topkills2 = 0, _topkills3 = 0, _topkills4 = 0, _topkills5 = 0; + public static boolean _isChaosActive; + + public void startChaos() + { + _isChaosActive = true; + _players.clear(); + Announcements.getInstance().announceToAll("Chaos Event has started!"); + Announcements.getInstance().announceToAll("Type .joinchaos to join and .leavechaos to leave!"); + } + + public void stopChaos() + { + _isChaosActive = false; + Announcements.getInstance().announceToAll("Chaos Event has ended!"); + getTopKiller(); + calculateRewards(); + for (L2PcInstance player : _players) + { + removeSuperHaste(player); + } + cleanColors(); + cleanPlayers(); + _players.clear(); + } + + public void cleanColors() + { + for (L2PcInstance player : _players) + { + player.getAppearance().setNameColor(0xFFFFFF); + player.broadcastUserInfo(); + } + } + + public void cleanPlayers() + { + for (L2PcInstance player : _players) + { + player._inChaosEvent = false; + player._chaosKills = 0; + _topkills = 0; + _topplayer = null; + } + } + + public void registerToChaos(L2PcInstance player) + { + if (!registerToChaosOk(player)) + { + return; + } + _players.add(player); + player._inChaosEvent = true; + player._chaosKills = 0; + player.getAppearance().setNameColor(0x000000); + player.broadcastUserInfo(); + player.sendMessage("You have joined Chaos Event."); + addSuperHaste(player); + } + + public void addSuperHaste(L2PcInstance player) + { + L2Skill skill = SkillTable.getInstance().getInfo(7029,4); + if (skill != null) + { + skill.getEffects(player, player); + } + } + + public boolean registerToChaosOk(L2PcInstance chaosplayer) + { + if (chaosplayer._inChaosEvent) + { + chaosplayer.sendMessage("You already are in Chaos Event."); + return false; + } + return true; + } + public void removeFromChaos(L2PcInstance player) + { + if (!removeFromChaosOk(player)) + { + return; + } + _players.remove(player); + player._chaosKills = 0; + player._inChaosEvent = false; + player.sendMessage("You have left Chaos Event."); + player.getAppearance().setNameColor(0xFFFFFF); + player.broadcastUserInfo(); + removeSuperHaste(player); + } + public boolean removeFromChaosOk(L2PcInstance chaosplayer) + { + if (!chaosplayer._inChaosEvent) + { + chaosplayer.sendMessage("You are not in Chaos Event."); + return false; + } + return true; + } + public static void getTopKiller() + { + for (L2PcInstance player : _players) + { + if (player._chaosKills > _topkills) + { + _topplayer = player; + _topkills = player._chaosKills; + } + if ((player._chaosKills > _topkills2) && (player._chaosKills < _topkills)) + { + _topplayer2 = player; + _topkills2 = player._chaosKills; + } + if ((player._chaosKills > _topkills3) && (player._chaosKills < _topkills2)) + { + _topplayer3 = player; + _topkills3 = player._chaosKills; + } + if ((player._chaosKills > _topkills4) && (player._chaosKills < _topkills3)) + { + _topplayer4 = player; + _topkills4 = player._chaosKills; + } + if ((player._chaosKills > _topkills5) && (player._chaosKills < _topkills4)) + { + _topplayer5 = player; + _topkills5 = player._chaosKills; + } + } + } + public void calculateRewards() + { + if (_topplayer != null) + { + _topplayer.addItem("Chaos Event Reward", 57, 5000, _topplayer, true); + } + if (_topplayer2 != null) + { + _topplayer2.addItem("Chaos Event Reward 2", 57, 4000, _topplayer2, true); + } + if (_topplayer3 != null) + { + _topplayer3.addItem("Chaos Event Reward 3", 57, 3000, _topplayer3, true); + } + if (_topplayer4 != null) + { + _topplayer4.addItem("Chaos Event Reward 4", 57, 2000, _topplayer4, true); + } + if (_topplayer5 != null) + { + _topplayer5.addItem("Chaos Event Reward 5", 57, 1000, _topplayer5, true); + } + + Announcements.getInstance().announceToAll("Winner of Chaos Event:"); + if (_topplayer != null) + { + Announcements.getInstance().announceToAll("1) "+_topplayer.getName()); + } + if (_topplayer2 != null) + { + Announcements.getInstance().announceToAll("2) "+_topplayer2.getName()); + } + if (_topplayer3 != null) + { + Announcements.getInstance().announceToAll("3) "+_topplayer3.getName()); + } + if (_topplayer4 != null) + { + Announcements.getInstance().announceToAll("4) "+_topplayer4.getName()); + } + if (_topplayer5 != null) + { + Announcements.getInstance().announceToAll("5) "+_topplayer5.getName()); + } + } + + public void removeSuperHaste(L2PcInstance activeChar) + { + if (activeChar != null) + { + L2Effect[] effects = activeChar.getAllEffects(); + + for (L2Effect e : effects) + { + if ((e != null) && (e.getSkill().getId() == 7029)) + { + e.exit(); + } + } + } + } +}
  17. Its shared already.
  18. Tried to scam me , he's untrusted. (Proofs below) http://www.maxcheaters.com/topic/157904-report-scammers/?p=2418347
  19. MxC Profile: here Skype Id: gotz.psy (his profile) Story is pretty simple, i send him the acc first since cause he worried about scamming him.He changed password & he told me he will send the money & after 4 mins from that he went off. Acc was restored through email(ofc he had start using it, i checked his actions when i restored it), but he must be banned. (Proofs below) [5/10/2014 7:50:13 μμ] gotz.psy: Γεια σου Andreas Zikos, θα ήθελα να σε προσθέσω στις επαφές μου. [5/10/2014 7:50:16 μμ] *** Ο χρήστης Andreas Zikos μοιράστηκε στοιχεία επικοινωνίας με τον χρήστη George. *** [5/10/2014 7:50:29 μμ] Andreas Zikos: eisai o kateriniotis ? [5/10/2014 7:50:38 μμ] Andreas Zikos: apo mxc .. ? [8:47:41 πμ] George: kalimera file mou [8:47:45 πμ] George: nai o kateriniotis apo mxc [1:20:43 μμ | Επεξεργασία από τον χρήστη 1:24:55 μμ] Andreas Zikos: geia sou. an endiaferese akomi , poulaw to acc mou sto l2ovc. Dn kserw akrivws posa atoma einai on, alla einai sigoura 200+ active . To acc aksizei prp sta 60€, i timi mou einai 40€. [1:21:19 μμ] George: thes na m dosis to site na rikso mia matia? [1:21:23 μμ] George: na do ti fasi server einai ktlp [1:21:50 μμ] Andreas Zikos: vevaia. http://********.com [1:22:23 μμ] George: ******** einai ? [1:22:30 μμ] Andreas Zikos: nai kapws etsi. [1:22:41 μμ] George: hmm orea [1:22:44 μμ] George: poli endiaferon... [1:22:54 μμ] Andreas Zikos: alla dn einai t klassiko , dld tp se ena meros .. exei polla events , rb's ,klp. [1:22:56 μμ] George: ti name exei o char? [1:22:59 μμ] Andreas Zikos: ****** [1:23:27 μμ] George: interlude a? [1:23:31 μμ] Andreas Zikos: nai [1:23:38 μμ] George: orea [1:23:42 μμ] George: miso katevaso patch.. [1:23:46 μμ] Andreas Zikos: ok [1:23:48 μμ] George: mporis na logaris tora? [1:23:51 μμ] George: se volevi? [1:23:59 μμ] Andreas Zikos: yy mesa eimai [1:24:06 μμ] George: okay sec [1:27:31 μμ] George: s ekana pm ingame [1:28:47 μμ] Andreas Zikos: tn char dn 8es olokliro H' mono items ? [1:29:59 μμ] George: den exo provlima.. [1:30:02 μμ] George: an theleis na ton kratisis [1:30:11 μμ] George: alla tha protimousa na paro kai ton char.. [1:30:41 μμ] Andreas Zikos: eipa na tn stamatisw tn server, an 3anarxisw tote 8a arxisw apo tn arxi .. :P [1:31:05 μμ] Andreas Zikos: apla sou proteinw na pareis kai tn char gt exw * skills ** kai passive chance *****. [1:31:25 μμ] Andreas Zikos: k einai ki *** level me * parapanw buff slot ;P [1:31:27 μμ] George: h timi idia einai etsi? [1:31:32 μμ] Andreas Zikos: y [1:31:41 μμ] George: e tote tha paro kai ton char an ola pan kala kai ta vroume [1:31:44 μμ] George: ela ingame ligo [1:31:48 μμ] Andreas Zikos: ok [1:38:44 μμ] Andreas Zikos: *************@hotmail.com [1:39:23 μμ] Andreas Zikos: steile san gift. [1:41:05 μμ] George: adreas zikos e? [1:41:10 μμ] Andreas Zikos: yy [1:41:19 μμ] George: orea s estila 10 cents dokimastika [1:41:23 μμ] George: lipon [1:41:44 μμ] George: merika xronia piso den tha se rotaga kan [1:41:52 μμ] George: alla pleon oute ston kolo mou den exo empistosini... [1:41:59 μμ] George: pos tha to kanoume? [1:42:36 μμ] Andreas Zikos: stelneis ta lefta kai sou stelnw id & pass. Dn 8a exeis 8ema. Pane sto site meta kai alla3e to pw. [1:43:33 μμ] Andreas Zikos: Otan steileis mou les. [1:43:51 μμ] George: 35 ipes e? [1:44:14 μμ] Andreas Zikos: 35 ka8ara .. [1:45:01 μμ] Andreas Zikos: steile san gift an mporeis H' san friends & family. [1:46:34 μμ] George: tha to skefto kai tha sou apantiso.. [1:47:08 μμ] Andreas Zikos: Opws 8es. Pantws dn xreiazetai na anisuxeis dn exw scammarei pote kanenan kai dn exw skopo na rxisw tr. :) [1:47:52 μμ] George: filaraki xoris na thelo na se prosvalo [1:48:16 μμ] George: kalos h kakos tin exo zisi olh ti fasi apo bnb akoma... [1:48:25 μμ] George: poses fores ta exo akousi afta den mporis na fantastis... [1:48:55 μμ] Andreas Zikos: Katalavainw k kala kaneis ki egw tn patisa 2 fores. anyway skepsou to kai mou les. [1:49:17 μμ] George: mporoume kapos na isomirasoume to risko? [1:49:49 μμ] Andreas Zikos: dn kserw pws .. exeis kati na proteineis ? [1:50:29 μμ] George: pfff gamiseto vareti diadikasia... [1:50:38 μμ] George: telos panton... [1:50:43 μμ] George: tha sou stilo an exo nea [1:51:04 μμ] Andreas Zikos: 8es na mou steileis ta misa lefta na s dwsw to acc kai na mou steileis ta upoloipa ? [1:51:24 μμ] George: same thing :) [1:51:38 μμ] George: ixa ksexasi poso diskolo einai afto to simio... :D [1:51:41 μμ] George: anyway [1:52:10 μμ] Andreas Zikos: Einai monadiki prosfora alla 8a tn kanw. Sou dinw to acc kai mou stelneis ta lefta [1:52:16 μμ] Andreas Zikos: Eisai ok me auto [1:52:17 μμ] Andreas Zikos: ? [1:52:21 μμ] George: mono me atoma apo krhth ekana tetia trades... [1:52:32 μμ] Andreas Zikos: eimaste ligo makria :P [1:52:37 μμ] George: den thelo na se fero se diskoli thesi... [1:53:03 μμ] Andreas Zikos: dn exw 8ema .. apla etsi ki alliws gia 5-6 mines dn 8a exw kan internet logo douleias opote to acc dn t xreiazomai. [1:53:45 μμ] George: dosto mou an einai na logaro kai sou stelno [1:53:51 μμ] George: den kano mlkia dont worry [1:53:58 μμ] Andreas Zikos: ******(username) ******(pw) [1:55:41 μμ] George: filakia apo to silver (kiss) [1:55:48 μμ] Andreas Zikos: e? [1:56:19 μμ] Andreas Zikos: 8a steileis ta lefta tr ? [1:56:42 μμ] George: nai sec [1:56:47 μμ] Andreas Zikos: thx [1:58:06 μμ] Andreas Zikos: molis steileis pes m [1:59:40 μμ] Andreas Zikos: so ? [2:00:09 μμ] Andreas Zikos: esteiles ? [2:03:26 μμ] Andreas Zikos: polu wraios eisai , pires to acc kai piges off .. gg
  20. Add me on skype i have something for you. //Edit Pme'd.
  21. It can be done in a daily base or something. You can add a couple of checks regardingthe reward so it won't be able to be taken without the quest.
×
×
  • Create New...