GoGLiKK 100 Опубликовано 22 июня, 2014 помогите если можете реализовать скрипт .меню . или если у кого нибудь есть скрипт дайте пожалуйста , Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
KAZAR 178 Опубликовано 22 июня, 2014 помогите если можете реализовать скрипт .меню . или если у кого нибудь есть скрипт дайте пожалуйста , включи в конфигах и все Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
GoGLiKK 100 Опубликовано 22 июня, 2014 включи в конфигах и все О_о как я до этого не додумался . если бы было я не писал бы на форуме . в сборке не реализовано вообще .мену сборка l2jserver Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
kartes12 259 Опубликовано 22 июня, 2014 Ядро чувак это ядро нужен сурс и руки ну и капля мозга ) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
METADOH 6 Опубликовано 22 июня, 2014 Гугл не отменяли, где вы только беретесь такие криворукие и ленивые!!! ### Eclipse Workspace Patch 1.0 #P L2jFrozen_GameServer Index: head-src/com/l2jfrozen/gameserver/handler/itemhandlers/BeastSoulShot.java =================================================================== --- head-src/com/l2jfrozen/gameserver/handler/itemhandlers/BeastSoulShot.java (revision 986) +++ head-src/com/l2jfrozen/gameserver/handler/itemhandlers/BeastSoulShot.java (working copy) @@ -156,7 +156,8 @@ // Pet uses the power of spirit. activeOwner.sendPacket(new SystemMessage(SystemMessageId.PET_USE_THE_POWER_OF_SPIRIT)); - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUser(activePet, activePet, 2033, 1, 0, 0), 360000/*600*/); + if (!activeOwner.isSSDisabled()) + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUser(activePet, activePet, 2033, 1, 0, 0), 360000/*600*/); activeOwner = null; activePet = null; Index: head-src/com/l2jfrozen/gameserver/handler/itemhandlers/FishShots.java =================================================================== --- head-src/com/l2jfrozen/gameserver/handler/itemhandlers/FishShots.java (revision 986) +++ head-src/com/l2jfrozen/gameserver/handler/itemhandlers/FishShots.java (working copy) @@ -92,7 +92,8 @@ //activeChar.sendPacket(new SystemMessage(SystemMessage.ENABLED_SPIRITSHOT)); MagicSkillUser MSU = new MagicSkillUser(activeChar, SKILL_IDS[grade], 1, 0, 0); - Broadcast.toSelfAndKnownPlayers(activeChar, MSU); + if (!activeChar.isSSDisabled()) + Broadcast.toSelfAndKnownPlayers(activeChar, MSU); MSU = null; activeChar.setTarget(oldTarget); Index: head-src/com/l2jfrozen/gameserver/model/actor/instance/L2PcInstance.java =================================================================== --- head-src/com/l2jfrozen/gameserver/model/actor/instance/L2PcInstance.java (revision 986) +++ head-src/com/l2jfrozen/gameserver/model/actor/instance/L2PcInstance.java (working copy) @@ -20222,4 +20222,60 @@ } sendSkillList(); } + + private boolean _cantGainXP = false; + private boolean _isPartyInvProt = false; + private boolean _isInTradeProt = false; + private boolean _isSSDisabled = false; + private boolean _isInRefusal = false; + + public boolean isInTradeProt() + { + return _isInTradeProt; + } + + public void setIsInTradeProt(boolean value) + { + _isInTradeProt = value; + } + + public boolean isSSDisabled() + { + return _isSSDisabled; + } + + public void setIsSSDisabled(boolean value) + { + _isSSDisabled = value; + } + + public boolean isPartyInvProt() + { + return _isPartyInvProt; + } + + public void setIsPartyInvProt(boolean value) + { + _isPartyInvProt = value; + } + + public void cantGainXP(boolean + { + _cantGainXP = b; + } + + public boolean cantGainXP() + { + return _cantGainXP; + } + + public void setInRefusalMode(boolean + { + _isInRefusal = b; + } + + public boolean isInRefusalMode() + { + return _isInRefusal; + } } \ No newline at end of file Index: head-src/com/l2jfrozen/gameserver/network/clientpackets/RequestJoinParty.java =================================================================== --- head-src/com/l2jfrozen/gameserver/network/clientpackets/RequestJoinParty.java (revision 986) +++ head-src/com/l2jfrozen/gameserver/network/clientpackets/RequestJoinParty.java (working copy) @@ -78,6 +78,12 @@ return; } + if (target.isPartyInvProt()) + { + requestor.sendMessage("You can't invite that player because he is in party protection."); + return; + } + if (target.isInParty()) { SystemMessage msg = new SystemMessage(SystemMessageId.S1_IS_ALREADY_IN_PARTY); Index: head-src/com/l2jfrozen/gameserver/handler/itemhandlers/BlessedSpiritShot.java =================================================================== --- head-src/com/l2jfrozen/gameserver/handler/itemhandlers/BlessedSpiritShot.java (revision 986) +++ head-src/com/l2jfrozen/gameserver/handler/itemhandlers/BlessedSpiritShot.java (working copy) @@ -137,7 +137,8 @@ // Send message to client activeChar.sendPacket(new SystemMessage(SystemMessageId.ENABLED_SPIRITSHOT)); - Broadcast.toSelfAndKnownPlayersInRadius(activeChar, new MagicSkillUser(activeChar, activeChar, SKILL_IDS[weaponGrade], 1, 0, 0), 360000/*600*/); + if (!activeChar.isSSDisabled()) + Broadcast.toSelfAndKnownPlayersInRadius(activeChar, new MagicSkillUser(activeChar, activeChar, SKILL_IDS[weaponGrade], 1, 0, 0), 360000/*600*/); activeChar = null; weaponInst = null; Index: head-src/com/l2jfrozen/gameserver/handler/UserCommandHandler.java =================================================================== --- head-src/com/l2jfrozen/gameserver/handler/UserCommandHandler.java (revision 986) +++ head-src/com/l2jfrozen/gameserver/handler/UserCommandHandler.java (working copy) @@ -33,6 +33,7 @@ import com.l2jfrozen.gameserver.handler.usercommandhandlers.DisMount; import com.l2jfrozen.gameserver.handler.usercommandhandlers.Escape; import com.l2jfrozen.gameserver.handler.usercommandhandlers.Loc; +import com.l2jfrozen.gameserver.handler.usercommandhandlers.Menu; import com.l2jfrozen.gameserver.handler.usercommandhandlers.Mount; import com.l2jfrozen.gameserver.handler.usercommandhandlers.OfflineShop; import com.l2jfrozen.gameserver.handler.usercommandhandlers.OlympiadStat; @@ -76,6 +77,7 @@ registerUserCommandHandler(new Loc()); registerUserCommandHandler(new Mount()); registerUserCommandHandler(new PartyInfo()); + registerUserCommandHandler(new Menu()); if (Config.OFFLINE_TRADE_ENABLE && Config.OFFLINE_COMMAND1) registerUserCommandHandler(new OfflineShop()); _log.config("UserCommandHandler: Loaded " + _datatable.size() + " handlers."); Index: head-src/com/l2jfrozen/gameserver/handler/usercommandhandlers/Menu.java =================================================================== --- head-src/com/l2jfrozen/gameserver/handler/usercommandhandlers/Menu.java (revision 0) +++ head-src/com/l2jfrozen/gameserver/handler/usercommandhandlers/Menu.java (revision 0) @@ -0,0 +1,173 @@ +/* + * 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 com.l2jfrozen.gameserver.handler.usercommandhandlers; + +import javolution.text.TextBuilder; + +import com.l2jfrozen.gameserver.handler.IUserCommandHandler; +import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance; +import com.l2jfrozen.gameserver.network.serverpackets.NpcHtmlMessage; + +public class Menu implements IUserCommandHandler +{ + private static final int[] COMMAND_IDS = + { + 114 + }; + + @Override + public boolean useUserCommand(int id, L2PcInstance activeChar) + { + mainHtml(activeChar); + return true; + } + + public static void mainHtml(L2PcInstance activeChar) + { + NpcHtmlMessage nhm = new NpcHtmlMessage(5); + TextBuilder tb = new TextBuilder(""); + + tb.append("<html><head><title>Personal Menu</title></head><body>"); + tb.append("<center>"); + tb.append("<table width=\"250\" cellpadding=\"5\" bgcolor=\"000000\">"); + tb.append("<tr>"); + tb.append("<td width=\"45\" valign=\"top\" align=\"center\"><img src=\"L2ui_ch3.menubutton4\" width=\"38\" height=\"38\"></td>"); + tb.append("<td valign=\"top\"><font color=\"FF6600\">Personal Menu</font>"); + tb.append("<br1><font color=\"00FF00\">"+activeChar.getName()+"</font>, use this menu for everything related to your gameplay.<br1></td>"); + tb.append("</tr>"); + tb.append("</table>"); + tb.append("</center>"); + tb.append("<center>"); + tb.append("<table border=\"1\" width=\"100\" height=\"12\" bgcolor=\"000000\">"); + tb.append("<tr>"); + tb.append("<td width=\"52\">ON</td>"); + tb.append("<td width=\"16\"><button width=16 height=12 back=\"L2UI_CH3.br_bar1_hp\" fore=\"L2UI_CH3.br_bar1_hp\"></td>"); + tb.append("<td><button width=32 height=12 back=\"L2UI_CH3.tutorial_pointer1\" fore=\"L2UI_CH3.tutorial_pointer1\"></td>"); + tb.append("</tr>"); + tb.append("<tr>"); + tb.append("<td width=\"52\">OFF</td>"); + tb.append("<td width=\"16\"><button width=16 height=12 back=\"L2UI_CH3.br_bar1_mp\" fore=\"L2UI_CH3.br_bar1_mp\"></td>"); + tb.append("<td><button width=32 height=12 back=\"L2UI_CH3.tutorial_pointer1\" fore=\"L2UI_CH3.tutorial_pointer1\"></td>"); + tb.append("</tr>"); + tb.append("</table><br>"); + tb.append("<table border=\"1\" width=\"250\" height=\"12\" bgcolor=\"000000\">"); + tb.append("<tr>"); + tb.append("<td align=\"center\" width=\"52\">Buff Protection</td>"); + if(activeChar.isBuffProtected()) + tb.append("<td width=\"16\"><button action=\"bypass -h buffprot\" width=24 height=12 back=\"L2UI_CH3.br_bar1_hp\" fore=\"L2UI_CH3.br_bar1_hp\"></td>"); + if(!activeChar.isBuffProtected()) + tb.append("<td width=\"16\"><button action=\"bypass -h buffprot\" width=24 height=12 back=\"L2UI_CH3.br_bar1_mp\" fore=\"L2UI_CH3.br_bar1_mp\"></td>"); + tb.append("</tr>"); + tb.append("<tr><td width=\"250\"><font color=\"00FF00\">By enabling that you won't be able to recieve ANY buff from another character.</font></td></tr>"); + tb.append("</table>"); + tb.append("<table border=\"1\" width=\"250\" height=\"12\" bgcolor=\"000000\">"); + tb.append("<tr>"); + tb.append("<td align=\"center\" width=\"52\">Personal Message Refusal</td>"); + if(activeChar.isInRefusalMode()) + tb.append("<td width=\"16\"><button action=\"bypass -h pmref\" width=24 height=12 back=\"L2UI_CH3.br_bar1_hp\" fore=\"L2UI_CH3.br_bar1_hp\"></td>"); + if(!activeChar.isInRefusalMode()) + tb.append("<td width=\"16\"><button action=\"bypass -h pmref\" width=24 height=12 back=\"L2UI_CH3.br_bar1_mp\" fore=\"L2UI_CH3.br_bar1_mp\"></td>"); + tb.append("</tr>"); + tb.append("<tr><td width=\"250\"><font color=\"00FF00\">By enabling that you won't be able to recieve ANY pm from another character.</font></td></tr>"); + tb.append("</table>"); + tb.append("<table border=\"1\" width=\"250\" height=\"12\" bgcolor=\"000000\">"); + tb.append("<tr>"); + tb.append("<td align=\"center\" width=\"52\">Trade Request Protection</td>"); + if(activeChar.isInTradeProt()) + tb.append("<td width=\"16\"><button action=\"bypass -h tradeprot\" width=24 height=12 back=\"L2UI_CH3.br_bar1_hp\" fore=\"L2UI_CH3.br_bar1_hp\"></td>"); + if(!activeChar.isInTradeProt()) + tb.append("<td width=\"16\"><button action=\"bypass -h tradeprot\" width=24 height=12 back=\"L2UI_CH3.br_bar1_mp\" fore=\"L2UI_CH3.br_bar1_mp\"></td>"); + tb.append("</tr>"); + tb.append("<tr><td width=\"250\"><font color=\"00FF00\">By enabling that you won't be able to recieve ANY trade request from another character.</font></td></tr>"); + tb.append("</table>"); + tb.append("<table border=\"1\" width=\"250\" height=\"12\" bgcolor=\"000000\">"); + tb.append("<tr>"); + tb.append("<td align=\"center\" width=\"52\">Soulshot/Spiritshot Effect</td>"); + if(activeChar.isSSDisabled()) + tb.append("<td width=\"16\"><button action=\"bypass -h ssprot\" width=24 height=12 back=\"L2UI_CH3.br_bar1_hp\" fore=\"L2UI_CH3.br_bar1_hp\"></td>"); + if(!activeChar.isSSDisabled()) + tb.append("<td width=\"16\"><button action=\"bypass -h ssprot\" width=24 height=12 back=\"L2UI_CH3.br_bar1_mp\" fore=\"L2UI_CH3.br_bar1_mp\"></td>"); + tb.append("</tr>"); + tb.append("<tr><td width=\"250\"><font color=\"00FF00\">By enabling that you will enchance your pc's performance by disabling your ss effects.</font></td><td align=\"center\" valign=\"middle\"><button action=\"bypass -h page2\" width=16 height=16 back=\"L2UI_CH3.next1\" fore=\"L2UI_CH3.next1\"></td></tr>"); + tb.append("</table>"); + + tb.append("</center>"); + tb.append("</body></html>"); + + nhm.setHtml(tb.toString()); + activeChar.sendPacket(nhm); + } + + public static void mainHtml2(L2PcInstance activeChar) + { + NpcHtmlMessage nhm = new NpcHtmlMessage(5); + TextBuilder tb = new TextBuilder(""); + + tb.append("<html><head><title>Personal Menu</title></head><body>"); + tb.append("<center>"); + tb.append("<table width=\"250\" cellpadding=\"5\" bgcolor=\"000000\">"); + tb.append("<tr>"); + tb.append("<td width=\"45\" valign=\"top\" align=\"center\"><img src=\"L2ui_ch3.menubutton4\" width=\"38\" height=\"38\"></td>"); + tb.append("<td valign=\"top\"><font color=\"FF6600\">Personal Menu</font>"); + tb.append("<br1><font color=\"00FF00\">"+activeChar.getName()+"</font>, use this menu for everything related to your gameplay.<br1></td>"); + tb.append("</tr>"); + tb.append("</table>"); + tb.append("</center>"); + tb.append("<center>"); + tb.append("<table border=\"1\" width=\"100\" height=\"12\" bgcolor=\"000000\">"); + tb.append("<tr>"); + tb.append("<td width=\"52\">ON</td>"); + tb.append("<td width=\"16\"><button width=16 height=12 back=\"L2UI_CH3.br_bar1_hp\" fore=\"L2UI_CH3.br_bar1_hp\"></td>"); + tb.append("<td><button width=32 height=12 back=\"L2UI_CH3.tutorial_pointer1\" fore=\"L2UI_CH3.tutorial_pointer1\"></td>"); + tb.append("</tr>"); + tb.append("<tr>"); + tb.append("<td width=\"52\">OFF</td>"); + tb.append("<td width=\"16\"><button width=16 height=12 back=\"L2UI_CH3.br_bar1_mp\" fore=\"L2UI_CH3.br_bar1_mp\"></td>"); + tb.append("<td><button width=32 height=12 back=\"L2UI_CH3.tutorial_pointer1\" fore=\"L2UI_CH3.tutorial_pointer1\"></td>"); + tb.append("</tr>"); + tb.append("</table><br>"); + tb.append("<table border=\"1\" width=\"250\" height=\"12\" bgcolor=\"000000\">"); + tb.append("<tr>"); + tb.append("<td align=\"center\" width=\"52\">Party Invite Protection</td>"); + if(activeChar.isPartyInvProt()) + tb.append("<td width=\"16\"><button action=\"bypass -h partyin\" width=24 height=12 back=\"L2UI_CH3.br_bar1_hp\" fore=\"L2UI_CH3.br_bar1_hp\"></td>"); + if(!activeChar.isPartyInvProt()) + tb.append("<td width=\"16\"><button action=\"bypass -h partyin\" width=24 height=12 back=\"L2UI_CH3.br_bar1_mp\" fore=\"L2UI_CH3.br_bar1_mp\"></td>"); + tb.append("</tr>"); + tb.append("<tr><td width=\"250\"><font color=\"00FF00\">By enabling that you won't be able to recieve ANY party invite from another character.</font></td></tr>"); + tb.append("</table>"); + tb.append("<table border=\"1\" width=\"250\" height=\"12\" bgcolor=\"000000\">"); + tb.append("<tr>"); + tb.append("<td align=\"center\" width=\"52\">Exp Gain Protection</td>"); + if(activeChar.cantGainXP()) + tb.append("<td width=\"16\"><button action=\"bypass -h xpnot\" width=24 height=12 back=\"L2UI_CH3.br_bar1_hp\" fore=\"L2UI_CH3.br_bar1_hp\"></td>"); + if(!activeChar.cantGainXP()) + tb.append("<td width=\"16\"><button action=\"bypass -h xpnot\" width=24 height=12 back=\"L2UI_CH3.br_bar1_mp\" fore=\"L2UI_CH3.br_bar1_mp\"></td>"); + tb.append("</tr>"); + tb.append("<tr><td width=\"250\"><font color=\"00FF00\">By enabling that you won't be able to recieve expirience from killing monsters.</font></td><td align=\"center\" valign=\"middle\"><button action=\"bypass -h page1\" width=16 height=16 back=\"L2UI_CH3.back1\" fore=\"L2UI_CH3.next1\"></td></tr>"); + tb.append("</table>"); + tb.append("</center>"); + tb.append("</body></html>"); + + nhm.setHtml(tb.toString()); + activeChar.sendPacket(nhm); + } + + @Override + public int[] getUserCommandList() + { + return COMMAND_IDS; + } +} \ No newline at end of file Index: head-src/com/l2jfrozen/gameserver/handler/itemhandlers/SpiritShot.java =================================================================== --- head-src/com/l2jfrozen/gameserver/handler/itemhandlers/SpiritShot.java (revision 986) +++ head-src/com/l2jfrozen/gameserver/handler/itemhandlers/SpiritShot.java (working copy) @@ -128,7 +128,8 @@ // Send message to client activeChar.sendPacket(new SystemMessage(SystemMessageId.ENABLED_SPIRITSHOT)); - Broadcast.toSelfAndKnownPlayersInRadius(activeChar, new MagicSkillUser(activeChar, activeChar, SKILL_IDS[weaponGrade], 1, 0, 0), 360000/*600*/); + if (!activeChar.isSSDisabled()) + Broadcast.toSelfAndKnownPlayersInRadius(activeChar, new MagicSkillUser(activeChar, activeChar, SKILL_IDS[weaponGrade], 1, 0, 0), 360000/*600*/); activeChar = null; } Index: head-src/com/l2jfrozen/gameserver/network/clientpackets/TradeRequest.java =================================================================== --- head-src/com/l2jfrozen/gameserver/network/clientpackets/TradeRequest.java (revision 986) +++ head-src/com/l2jfrozen/gameserver/network/clientpackets/TradeRequest.java (working copy) @@ -202,7 +202,13 @@ player.sendPacket(new SystemMessage(SystemMessageId.TARGET_TOO_FAR)); return; } - + + if (partner.isInTradeProt()) + { + player.sendMessage(partner.getName() + " is in Trade Protection Mode"); + return; + } + // Alt game - Karma punishment if(!Config.ALT_GAME_KARMA_PLAYER_CAN_TRADE && (player.getKarma() > 0 || partner.getKarma() > 0)) { Index: head-src/com/l2jfrozen/gameserver/handler/itemhandlers/SoulShots.java =================================================================== --- head-src/com/l2jfrozen/gameserver/handler/itemhandlers/SoulShots.java (revision 986) +++ head-src/com/l2jfrozen/gameserver/handler/itemhandlers/SoulShots.java (working copy) @@ -142,7 +142,8 @@ // Send message to client activeChar.sendPacket(new SystemMessage(SystemMessageId.ENABLED_SOULSHOT)); - Broadcast.toSelfAndKnownPlayersInRadius(activeChar, new MagicSkillUser(activeChar, activeChar, SKILL_IDS[weaponGrade], 1, 0, 0), 360000/*600*/); + if (!activeChar.isSSDisabled()) + Broadcast.toSelfAndKnownPlayersInRadius(activeChar, new MagicSkillUser(activeChar, activeChar, SKILL_IDS[weaponGrade], 1, 0, 0), 360000/*600*/); activeChar = null; } Index: head-src/com/l2jfrozen/gameserver/model/actor/stat/PcStat.java =================================================================== --- head-src/com/l2jfrozen/gameserver/model/actor/stat/PcStat.java (revision 986) +++ head-src/com/l2jfrozen/gameserver/model/actor/stat/PcStat.java (working copy) @@ -58,6 +58,9 @@ //Player is Gm and access level is below or equal to canGainExp and is in party, don't give Xp if(!getActiveChar().getAccessLevel().canGainExp() && getActiveChar().isInParty()) return false; + + if (activeChar.cantGainXP()) + return false; if(!super.addExp(value)) return false; @@ -111,6 +114,9 @@ L2PcInstance activeChar = getActiveChar(); if(!activeChar.getAccessLevel().canGainExp() && activeChar.isInParty()) return false; + + if (activeChar.cantGainXP()) + return false; // if this player has a pet that takes from the owner's Exp, give the pet Exp now Index: head-src/com/l2jfrozen/gameserver/network/clientpackets/RequestBypassToServer.java =================================================================== --- head-src/com/l2jfrozen/gameserver/network/clientpackets/RequestBypassToServer.java (revision 986) +++ head-src/com/l2jfrozen/gameserver/network/clientpackets/RequestBypassToServer.java (working copy) @@ -28,6 +28,7 @@ import com.l2jfrozen.gameserver.handler.AdminCommandHandler; import com.l2jfrozen.gameserver.handler.IAdminCommandHandler; import com.l2jfrozen.gameserver.handler.custom.CustomBypassHandler; +import com.l2jfrozen.gameserver.handler.usercommandhandlers.Menu; import com.l2jfrozen.gameserver.model.L2Object; import com.l2jfrozen.gameserver.model.L2World; import com.l2jfrozen.gameserver.model.actor.instance.L2ClassMasterInstance; @@ -41,8 +42,10 @@ import com.l2jfrozen.gameserver.model.entity.event.TvT; import com.l2jfrozen.gameserver.model.entity.event.VIP; import com.l2jfrozen.gameserver.model.entity.olympiad.Olympiad; +import com.l2jfrozen.gameserver.network.SystemMessageId; import com.l2jfrozen.gameserver.network.serverpackets.ActionFailed; import com.l2jfrozen.gameserver.network.serverpackets.NpcHtmlMessage; +import com.l2jfrozen.gameserver.network.serverpackets.SystemMessage; import com.l2jfrozen.gameserver.util.GMAudit; public final class RequestBypassToServer extends L2GameClientPacket @@ -308,7 +311,90 @@ player.processQuestEvent(p.substring(0, idx), p.substring(idx).trim()); } } - + else if (_command.startsWith("page1")) + Menu.mainHtml(activeChar); + else if (_command.startsWith("buffprot")) + { + if (activeChar.isBuffProtected()) + { + activeChar.setIsBuffProtected(false); + Menu.mainHtml(activeChar); + } + else + { + activeChar.setIsBuffProtected(true); + Menu.mainHtml(activeChar); + } + } + else if (_command.startsWith("tradeprot")) + { + if (activeChar.isInTradeProt()) + { + activeChar.setIsInTradeProt(false); + Menu.mainHtml(activeChar); + } + else + { + activeChar.setIsInTradeProt(true); + Menu.mainHtml(activeChar); + } + } + else if (_command.startsWith("ssprot")) + { + if (activeChar.isSSDisabled()) + { + activeChar.setIsSSDisabled(false); + Menu.mainHtml(activeChar); + } + else + { + activeChar.setIsSSDisabled(true); + Menu.mainHtml(activeChar); + } + } + else if (_command.startsWith("pmref")) + { + if (activeChar.isInRefusalMode()) + { + activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.MESSAGE_ACCEPTANCE_MODE)); + activeChar.getBlockList().setBlockAll(false); + Menu.mainHtml(activeChar); + } + else + { + activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.MESSAGE_REFUSAL_MODE)); + activeChar.getBlockList().setBlockAll(true); + Menu.mainHtml(activeChar); + } + } + else if (_command.startsWith("xpnot")) + { + if (activeChar.cantGainXP()) + { + activeChar.cantGainXP(false); + Menu.mainHtml2(activeChar); + } + else + { + activeChar.cantGainXP(true); + Menu.mainHtml2(activeChar); + } + } + else if (_command.startsWith("partyin")) + { + if (activeChar.isPartyInvProt()) + { + activeChar.setIsPartyInvProt(false); + Menu.mainHtml2(activeChar); + } + else + { + activeChar.setIsPartyInvProt(true); + Menu.mainHtml2(activeChar); + } + } + else if (_command.startsWith("page2")) + Menu.mainHtml2(activeChar); // Jstar's Custom Bypass Caller! else if(_command.startsWith("custom_")) { Index: head-src/com/l2jfrozen/gameserver/handler/itemhandlers/BeastSpiritShot.java =================================================================== --- head-src/com/l2jfrozen/gameserver/handler/itemhandlers/BeastSpiritShot.java (revision 986) +++ head-src/com/l2jfrozen/gameserver/handler/itemhandlers/BeastSpiritShot.java (working copy) @@ -169,7 +169,8 @@ // Pet uses the power of spirit. activeOwner.sendPacket(new SystemMessage(SystemMessageId.PET_USE_THE_POWER_OF_SPIRIT)); - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUser(activePet, activePet, isBlessed ? 2009 : 2008, 1, 0, 0), 360000/*600*/); + if (!activeOwner.isSSDisabled()) + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUser(activePet, activePet, isBlessed ? 2009 : 2008, 1, 0, 0), 360000/*600*/); activeOwner = null; activePet = null; Index: head-src/com/l2jfrozen/gameserver/handler/skillhandlers/Continuous.java =================================================================== --- head-src/com/l2jfrozen/gameserver/handler/skillhandlers/Continuous.java (revision 986) +++ head-src/com/l2jfrozen/gameserver/handler/skillhandlers/Continuous.java (working copy) @@ -143,7 +143,16 @@ || skill.getSkillType() == L2Skill.SkillType.MANAHEAL_PERCENT || skill.getSkillType() == L2Skill.SkillType.COMBATPOINTHEAL || skill.getSkillType() == L2Skill.SkillType.REFLECT)) - continue; + continue; + + if (activeChar instanceof L2PcInstance && target != activeChar && target.isBuffProtected() && !skill.isHeroSkill() + && (skill.getSkillType() == L2Skill.SkillType.BUFF + || skill.getSkillType() == L2Skill.SkillType.HEAL_PERCENT + || skill.getSkillType() == L2Skill.SkillType.FORCE_BUFF + || skill.getSkillType() == L2Skill.SkillType.MANAHEAL_PERCENT + || skill.getSkillType() == L2Skill.SkillType.COMBATPOINTHEAL + || skill.getSkillType() == L2Skill.SkillType.REFLECT)) + continue; // Player holding a cursed weapon can't be buffed and can't buff if(skill.getSkillType() == L2Skill.SkillType.BUFF) 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Saick 46 Опубликовано 22 июня, 2014 Гугл не отменяли, где вы только беретесь такие криворукие и ленивые!!! ### Eclipse Workspace Patch 1.0 #P L2jFrozen_GameServer Index: head-src/com/l2jfrozen/gameserver/handler/itemhandlers/BeastSoulShot.java =================================================================== --- head-src/com/l2jfrozen/gameserver/handler/itemhandlers/BeastSoulShot.java (revision 986) +++ head-src/com/l2jfrozen/gameserver/handler/itemhandlers/BeastSoulShot.java (working copy) @@ -156,7 +156,8 @@ // Pet uses the power of spirit. activeOwner.sendPacket(new SystemMessage(SystemMessageId.PET_USE_THE_POWER_OF_SPIRIT)); - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUser(activePet, activePet, 2033, 1, 0, 0), 360000/*600*/); + if (!activeOwner.isSSDisabled()) + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUser(activePet, activePet, 2033, 1, 0, 0), 360000/*600*/); activeOwner = null; activePet = null; Index: head-src/com/l2jfrozen/gameserver/handler/itemhandlers/FishShots.java =================================================================== --- head-src/com/l2jfrozen/gameserver/handler/itemhandlers/FishShots.java (revision 986) +++ head-src/com/l2jfrozen/gameserver/handler/itemhandlers/FishShots.java (working copy) @@ -92,7 +92,8 @@ //activeChar.sendPacket(new SystemMessage(SystemMessage.ENABLED_SPIRITSHOT)); MagicSkillUser MSU = new MagicSkillUser(activeChar, SKILL_IDS[grade], 1, 0, 0); - Broadcast.toSelfAndKnownPlayers(activeChar, MSU); + if (!activeChar.isSSDisabled()) + Broadcast.toSelfAndKnownPlayers(activeChar, MSU); MSU = null; activeChar.setTarget(oldTarget); Index: head-src/com/l2jfrozen/gameserver/model/actor/instance/L2PcInstance.java =================================================================== --- head-src/com/l2jfrozen/gameserver/model/actor/instance/L2PcInstance.java (revision 986) +++ head-src/com/l2jfrozen/gameserver/model/actor/instance/L2PcInstance.java (working copy) @@ -20222,4 +20222,60 @@ } sendSkillList(); } + + private boolean _cantGainXP = false; + private boolean _isPartyInvProt = false; + private boolean _isInTradeProt = false; + private boolean _isSSDisabled = false; + private boolean _isInRefusal = false; + + public boolean isInTradeProt() + { + return _isInTradeProt; + } + + public void setIsInTradeProt(boolean value) + { + _isInTradeProt = value; + } + + public boolean isSSDisabled() + { + return _isSSDisabled; + } + + public void setIsSSDisabled(boolean value) + { + _isSSDisabled = value; + } + + public boolean isPartyInvProt() + { + return _isPartyInvProt; + } + + public void setIsPartyInvProt(boolean value) + { + _isPartyInvProt = value; + } + + public void cantGainXP(boolean + { + _cantGainXP = b; + } + + public boolean cantGainXP() + { + return _cantGainXP; + } + + public void setInRefusalMode(boolean + { + _isInRefusal = b; + } + + public boolean isInRefusalMode() + { + return _isInRefusal; + } } \ No newline at end of file Index: head-src/com/l2jfrozen/gameserver/network/clientpackets/RequestJoinParty.java =================================================================== --- head-src/com/l2jfrozen/gameserver/network/clientpackets/RequestJoinParty.java (revision 986) +++ head-src/com/l2jfrozen/gameserver/network/clientpackets/RequestJoinParty.java (working copy) @@ -78,6 +78,12 @@ return; } + if (target.isPartyInvProt()) + { + requestor.sendMessage("You can't invite that player because he is in party protection."); + return; + } + if (target.isInParty()) { SystemMessage msg = new SystemMessage(SystemMessageId.S1_IS_ALREADY_IN_PARTY); Index: head-src/com/l2jfrozen/gameserver/handler/itemhandlers/BlessedSpiritShot.java =================================================================== --- head-src/com/l2jfrozen/gameserver/handler/itemhandlers/BlessedSpiritShot.java (revision 986) +++ head-src/com/l2jfrozen/gameserver/handler/itemhandlers/BlessedSpiritShot.java (working copy) @@ -137,7 +137,8 @@ // Send message to client activeChar.sendPacket(new SystemMessage(SystemMessageId.ENABLED_SPIRITSHOT)); - Broadcast.toSelfAndKnownPlayersInRadius(activeChar, new MagicSkillUser(activeChar, activeChar, SKILL_IDS[weaponGrade], 1, 0, 0), 360000/*600*/); + if (!activeChar.isSSDisabled()) + Broadcast.toSelfAndKnownPlayersInRadius(activeChar, new MagicSkillUser(activeChar, activeChar, SKILL_IDS[weaponGrade], 1, 0, 0), 360000/*600*/); activeChar = null; weaponInst = null; Index: head-src/com/l2jfrozen/gameserver/handler/UserCommandHandler.java =================================================================== --- head-src/com/l2jfrozen/gameserver/handler/UserCommandHandler.java (revision 986) +++ head-src/com/l2jfrozen/gameserver/handler/UserCommandHandler.java (working copy) @@ -33,6 +33,7 @@ import com.l2jfrozen.gameserver.handler.usercommandhandlers.DisMount; import com.l2jfrozen.gameserver.handler.usercommandhandlers.Escape; import com.l2jfrozen.gameserver.handler.usercommandhandlers.Loc; +import com.l2jfrozen.gameserver.handler.usercommandhandlers.Menu; import com.l2jfrozen.gameserver.handler.usercommandhandlers.Mount; import com.l2jfrozen.gameserver.handler.usercommandhandlers.OfflineShop; import com.l2jfrozen.gameserver.handler.usercommandhandlers.OlympiadStat; @@ -76,6 +77,7 @@ registerUserCommandHandler(new Loc()); registerUserCommandHandler(new Mount()); registerUserCommandHandler(new PartyInfo()); + registerUserCommandHandler(new Menu()); if (Config.OFFLINE_TRADE_ENABLE && Config.OFFLINE_COMMAND1) registerUserCommandHandler(new OfflineShop()); _log.config("UserCommandHandler: Loaded " + _datatable.size() + " handlers."); Index: head-src/com/l2jfrozen/gameserver/handler/usercommandhandlers/Menu.java =================================================================== --- head-src/com/l2jfrozen/gameserver/handler/usercommandhandlers/Menu.java (revision 0) +++ head-src/com/l2jfrozen/gameserver/handler/usercommandhandlers/Menu.java (revision 0) @@ -0,0 +1,173 @@ +/* + * 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 com.l2jfrozen.gameserver.handler.usercommandhandlers; + +import javolution.text.TextBuilder; + +import com.l2jfrozen.gameserver.handler.IUserCommandHandler; +import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance; +import com.l2jfrozen.gameserver.network.serverpackets.NpcHtmlMessage; + +public class Menu implements IUserCommandHandler +{ + private static final int[] COMMAND_IDS = + { + 114 + }; + + @Override + public boolean useUserCommand(int id, L2PcInstance activeChar) + { + mainHtml(activeChar); + return true; + } + + public static void mainHtml(L2PcInstance activeChar) + { + NpcHtmlMessage nhm = new NpcHtmlMessage(5); + TextBuilder tb = new TextBuilder(""); + + tb.append("<html><head><title>Personal Menu</title></head><body>"); + tb.append("<center>"); + tb.append("<table width=\"250\" cellpadding=\"5\" bgcolor=\"000000\">"); + tb.append("<tr>"); + tb.append("<td width=\"45\" valign=\"top\" align=\"center\"><img src=\"L2ui_ch3.menubutton4\" width=\"38\" height=\"38\"></td>"); + tb.append("<td valign=\"top\"><font color=\"FF6600\">Personal Menu</font>"); + tb.append("<br1><font color=\"00FF00\">"+activeChar.getName()+"</font>, use this menu for everything related to your gameplay.<br1></td>"); + tb.append("</tr>"); + tb.append("</table>"); + tb.append("</center>"); + tb.append("<center>"); + tb.append("<table border=\"1\" width=\"100\" height=\"12\" bgcolor=\"000000\">"); + tb.append("<tr>"); + tb.append("<td width=\"52\">ON</td>"); + tb.append("<td width=\"16\"><button width=16 height=12 back=\"L2UI_CH3.br_bar1_hp\" fore=\"L2UI_CH3.br_bar1_hp\"></td>"); + tb.append("<td><button width=32 height=12 back=\"L2UI_CH3.tutorial_pointer1\" fore=\"L2UI_CH3.tutorial_pointer1\"></td>"); + tb.append("</tr>"); + tb.append("<tr>"); + tb.append("<td width=\"52\">OFF</td>"); + tb.append("<td width=\"16\"><button width=16 height=12 back=\"L2UI_CH3.br_bar1_mp\" fore=\"L2UI_CH3.br_bar1_mp\"></td>"); + tb.append("<td><button width=32 height=12 back=\"L2UI_CH3.tutorial_pointer1\" fore=\"L2UI_CH3.tutorial_pointer1\"></td>"); + tb.append("</tr>"); + tb.append("</table><br>"); + tb.append("<table border=\"1\" width=\"250\" height=\"12\" bgcolor=\"000000\">"); + tb.append("<tr>"); + tb.append("<td align=\"center\" width=\"52\">Buff Protection</td>"); + if(activeChar.isBuffProtected()) + tb.append("<td width=\"16\"><button action=\"bypass -h buffprot\" width=24 height=12 back=\"L2UI_CH3.br_bar1_hp\" fore=\"L2UI_CH3.br_bar1_hp\"></td>"); + if(!activeChar.isBuffProtected()) + tb.append("<td width=\"16\"><button action=\"bypass -h buffprot\" width=24 height=12 back=\"L2UI_CH3.br_bar1_mp\" fore=\"L2UI_CH3.br_bar1_mp\"></td>"); + tb.append("</tr>"); + tb.append("<tr><td width=\"250\"><font color=\"00FF00\">By enabling that you won't be able to recieve ANY buff from another character.</font></td></tr>"); + tb.append("</table>"); + tb.append("<table border=\"1\" width=\"250\" height=\"12\" bgcolor=\"000000\">"); + tb.append("<tr>"); + tb.append("<td align=\"center\" width=\"52\">Personal Message Refusal</td>"); + if(activeChar.isInRefusalMode()) + tb.append("<td width=\"16\"><button action=\"bypass -h pmref\" width=24 height=12 back=\"L2UI_CH3.br_bar1_hp\" fore=\"L2UI_CH3.br_bar1_hp\"></td>"); + if(!activeChar.isInRefusalMode()) + tb.append("<td width=\"16\"><button action=\"bypass -h pmref\" width=24 height=12 back=\"L2UI_CH3.br_bar1_mp\" fore=\"L2UI_CH3.br_bar1_mp\"></td>"); + tb.append("</tr>"); + tb.append("<tr><td width=\"250\"><font color=\"00FF00\">By enabling that you won't be able to recieve ANY pm from another character.</font></td></tr>"); + tb.append("</table>"); + tb.append("<table border=\"1\" width=\"250\" height=\"12\" bgcolor=\"000000\">"); + tb.append("<tr>"); + tb.append("<td align=\"center\" width=\"52\">Trade Request Protection</td>"); + if(activeChar.isInTradeProt()) + tb.append("<td width=\"16\"><button action=\"bypass -h tradeprot\" width=24 height=12 back=\"L2UI_CH3.br_bar1_hp\" fore=\"L2UI_CH3.br_bar1_hp\"></td>"); + if(!activeChar.isInTradeProt()) + tb.append("<td width=\"16\"><button action=\"bypass -h tradeprot\" width=24 height=12 back=\"L2UI_CH3.br_bar1_mp\" fore=\"L2UI_CH3.br_bar1_mp\"></td>"); + tb.append("</tr>"); + tb.append("<tr><td width=\"250\"><font color=\"00FF00\">By enabling that you won't be able to recieve ANY trade request from another character.</font></td></tr>"); + tb.append("</table>"); + tb.append("<table border=\"1\" width=\"250\" height=\"12\" bgcolor=\"000000\">"); + tb.append("<tr>"); + tb.append("<td align=\"center\" width=\"52\">Soulshot/Spiritshot Effect</td>"); + if(activeChar.isSSDisabled()) + tb.append("<td width=\"16\"><button action=\"bypass -h ssprot\" width=24 height=12 back=\"L2UI_CH3.br_bar1_hp\" fore=\"L2UI_CH3.br_bar1_hp\"></td>"); + if(!activeChar.isSSDisabled()) + tb.append("<td width=\"16\"><button action=\"bypass -h ssprot\" width=24 height=12 back=\"L2UI_CH3.br_bar1_mp\" fore=\"L2UI_CH3.br_bar1_mp\"></td>"); + tb.append("</tr>"); + tb.append("<tr><td width=\"250\"><font color=\"00FF00\">By enabling that you will enchance your pc's performance by disabling your ss effects.</font></td><td align=\"center\" valign=\"middle\"><button action=\"bypass -h page2\" width=16 height=16 back=\"L2UI_CH3.next1\" fore=\"L2UI_CH3.next1\"></td></tr>"); + tb.append("</table>"); + + tb.append("</center>"); + tb.append("</body></html>"); + + nhm.setHtml(tb.toString()); + activeChar.sendPacket(nhm); + } + + public static void mainHtml2(L2PcInstance activeChar) + { + NpcHtmlMessage nhm = new NpcHtmlMessage(5); + TextBuilder tb = new TextBuilder(""); + + tb.append("<html><head><title>Personal Menu</title></head><body>"); + tb.append("<center>"); + tb.append("<table width=\"250\" cellpadding=\"5\" bgcolor=\"000000\">"); + tb.append("<tr>"); + tb.append("<td width=\"45\" valign=\"top\" align=\"center\"><img src=\"L2ui_ch3.menubutton4\" width=\"38\" height=\"38\"></td>"); + tb.append("<td valign=\"top\"><font color=\"FF6600\">Personal Menu</font>"); + tb.append("<br1><font color=\"00FF00\">"+activeChar.getName()+"</font>, use this menu for everything related to your gameplay.<br1></td>"); + tb.append("</tr>"); + tb.append("</table>"); + tb.append("</center>"); + tb.append("<center>"); + tb.append("<table border=\"1\" width=\"100\" height=\"12\" bgcolor=\"000000\">"); + tb.append("<tr>"); + tb.append("<td width=\"52\">ON</td>"); + tb.append("<td width=\"16\"><button width=16 height=12 back=\"L2UI_CH3.br_bar1_hp\" fore=\"L2UI_CH3.br_bar1_hp\"></td>"); + tb.append("<td><button width=32 height=12 back=\"L2UI_CH3.tutorial_pointer1\" fore=\"L2UI_CH3.tutorial_pointer1\"></td>"); + tb.append("</tr>"); + tb.append("<tr>"); + tb.append("<td width=\"52\">OFF</td>"); + tb.append("<td width=\"16\"><button width=16 height=12 back=\"L2UI_CH3.br_bar1_mp\" fore=\"L2UI_CH3.br_bar1_mp\"></td>"); + tb.append("<td><button width=32 height=12 back=\"L2UI_CH3.tutorial_pointer1\" fore=\"L2UI_CH3.tutorial_pointer1\"></td>"); + tb.append("</tr>"); + tb.append("</table><br>"); + tb.append("<table border=\"1\" width=\"250\" height=\"12\" bgcolor=\"000000\">"); + tb.append("<tr>"); + tb.append("<td align=\"center\" width=\"52\">Party Invite Protection</td>"); + if(activeChar.isPartyInvProt()) + tb.append("<td width=\"16\"><button action=\"bypass -h partyin\" width=24 height=12 back=\"L2UI_CH3.br_bar1_hp\" fore=\"L2UI_CH3.br_bar1_hp\"></td>"); + if(!activeChar.isPartyInvProt()) + tb.append("<td width=\"16\"><button action=\"bypass -h partyin\" width=24 height=12 back=\"L2UI_CH3.br_bar1_mp\" fore=\"L2UI_CH3.br_bar1_mp\"></td>"); + tb.append("</tr>"); + tb.append("<tr><td width=\"250\"><font color=\"00FF00\">By enabling that you won't be able to recieve ANY party invite from another character.</font></td></tr>"); + tb.append("</table>"); + tb.append("<table border=\"1\" width=\"250\" height=\"12\" bgcolor=\"000000\">"); + tb.append("<tr>"); + tb.append("<td align=\"center\" width=\"52\">Exp Gain Protection</td>"); + if(activeChar.cantGainXP()) + tb.append("<td width=\"16\"><button action=\"bypass -h xpnot\" width=24 height=12 back=\"L2UI_CH3.br_bar1_hp\" fore=\"L2UI_CH3.br_bar1_hp\"></td>"); + if(!activeChar.cantGainXP()) + tb.append("<td width=\"16\"><button action=\"bypass -h xpnot\" width=24 height=12 back=\"L2UI_CH3.br_bar1_mp\" fore=\"L2UI_CH3.br_bar1_mp\"></td>"); + tb.append("</tr>"); + tb.append("<tr><td width=\"250\"><font color=\"00FF00\">By enabling that you won't be able to recieve expirience from killing monsters.</font></td><td align=\"center\" valign=\"middle\"><button action=\"bypass -h page1\" width=16 height=16 back=\"L2UI_CH3.back1\" fore=\"L2UI_CH3.next1\"></td></tr>"); + tb.append("</table>"); + tb.append("</center>"); + tb.append("</body></html>"); + + nhm.setHtml(tb.toString()); + activeChar.sendPacket(nhm); + } + + @Override + public int[] getUserCommandList() + { + return COMMAND_IDS; + } +} \ No newline at end of file Index: head-src/com/l2jfrozen/gameserver/handler/itemhandlers/SpiritShot.java =================================================================== --- head-src/com/l2jfrozen/gameserver/handler/itemhandlers/SpiritShot.java (revision 986) +++ head-src/com/l2jfrozen/gameserver/handler/itemhandlers/SpiritShot.java (working copy) @@ -128,7 +128,8 @@ // Send message to client activeChar.sendPacket(new SystemMessage(SystemMessageId.ENABLED_SPIRITSHOT)); - Broadcast.toSelfAndKnownPlayersInRadius(activeChar, new MagicSkillUser(activeChar, activeChar, SKILL_IDS[weaponGrade], 1, 0, 0), 360000/*600*/); + if (!activeChar.isSSDisabled()) + Broadcast.toSelfAndKnownPlayersInRadius(activeChar, new MagicSkillUser(activeChar, activeChar, SKILL_IDS[weaponGrade], 1, 0, 0), 360000/*600*/); activeChar = null; } Index: head-src/com/l2jfrozen/gameserver/network/clientpackets/TradeRequest.java =================================================================== --- head-src/com/l2jfrozen/gameserver/network/clientpackets/TradeRequest.java (revision 986) +++ head-src/com/l2jfrozen/gameserver/network/clientpackets/TradeRequest.java (working copy) @@ -202,7 +202,13 @@ player.sendPacket(new SystemMessage(SystemMessageId.TARGET_TOO_FAR)); return; } - + + if (partner.isInTradeProt()) + { + player.sendMessage(partner.getName() + " is in Trade Protection Mode"); + return; + } + // Alt game - Karma punishment if(!Config.ALT_GAME_KARMA_PLAYER_CAN_TRADE && (player.getKarma() > 0 || partner.getKarma() > 0)) { Index: head-src/com/l2jfrozen/gameserver/handler/itemhandlers/SoulShots.java =================================================================== --- head-src/com/l2jfrozen/gameserver/handler/itemhandlers/SoulShots.java (revision 986) +++ head-src/com/l2jfrozen/gameserver/handler/itemhandlers/SoulShots.java (working copy) @@ -142,7 +142,8 @@ // Send message to client activeChar.sendPacket(new SystemMessage(SystemMessageId.ENABLED_SOULSHOT)); - Broadcast.toSelfAndKnownPlayersInRadius(activeChar, new MagicSkillUser(activeChar, activeChar, SKILL_IDS[weaponGrade], 1, 0, 0), 360000/*600*/); + if (!activeChar.isSSDisabled()) + Broadcast.toSelfAndKnownPlayersInRadius(activeChar, new MagicSkillUser(activeChar, activeChar, SKILL_IDS[weaponGrade], 1, 0, 0), 360000/*600*/); activeChar = null; } Index: head-src/com/l2jfrozen/gameserver/model/actor/stat/PcStat.java =================================================================== --- head-src/com/l2jfrozen/gameserver/model/actor/stat/PcStat.java (revision 986) +++ head-src/com/l2jfrozen/gameserver/model/actor/stat/PcStat.java (working copy) @@ -58,6 +58,9 @@ //Player is Gm and access level is below or equal to canGainExp and is in party, don't give Xp if(!getActiveChar().getAccessLevel().canGainExp() && getActiveChar().isInParty()) return false; + + if (activeChar.cantGainXP()) + return false; if(!super.addExp(value)) return false; @@ -111,6 +114,9 @@ L2PcInstance activeChar = getActiveChar(); if(!activeChar.getAccessLevel().canGainExp() && activeChar.isInParty()) return false; + + if (activeChar.cantGainXP()) + return false; // if this player has a pet that takes from the owner's Exp, give the pet Exp now Index: head-src/com/l2jfrozen/gameserver/network/clientpackets/RequestBypassToServer.java =================================================================== --- head-src/com/l2jfrozen/gameserver/network/clientpackets/RequestBypassToServer.java (revision 986) +++ head-src/com/l2jfrozen/gameserver/network/clientpackets/RequestBypassToServer.java (working copy) @@ -28,6 +28,7 @@ import com.l2jfrozen.gameserver.handler.AdminCommandHandler; import com.l2jfrozen.gameserver.handler.IAdminCommandHandler; import com.l2jfrozen.gameserver.handler.custom.CustomBypassHandler; +import com.l2jfrozen.gameserver.handler.usercommandhandlers.Menu; import com.l2jfrozen.gameserver.model.L2Object; import com.l2jfrozen.gameserver.model.L2World; import com.l2jfrozen.gameserver.model.actor.instance.L2ClassMasterInstance; @@ -41,8 +42,10 @@ import com.l2jfrozen.gameserver.model.entity.event.TvT; import com.l2jfrozen.gameserver.model.entity.event.VIP; import com.l2jfrozen.gameserver.model.entity.olympiad.Olympiad; +import com.l2jfrozen.gameserver.network.SystemMessageId; import com.l2jfrozen.gameserver.network.serverpackets.ActionFailed; import com.l2jfrozen.gameserver.network.serverpackets.NpcHtmlMessage; +import com.l2jfrozen.gameserver.network.serverpackets.SystemMessage; import com.l2jfrozen.gameserver.util.GMAudit; public final class RequestBypassToServer extends L2GameClientPacket @@ -308,7 +311,90 @@ player.processQuestEvent(p.substring(0, idx), p.substring(idx).trim()); } } - + else if (_command.startsWith("page1")) + Menu.mainHtml(activeChar); + else if (_command.startsWith("buffprot")) + { + if (activeChar.isBuffProtected()) + { + activeChar.setIsBuffProtected(false); + Menu.mainHtml(activeChar); + } + else + { + activeChar.setIsBuffProtected(true); + Menu.mainHtml(activeChar); + } + } + else if (_command.startsWith("tradeprot")) + { + if (activeChar.isInTradeProt()) + { + activeChar.setIsInTradeProt(false); + Menu.mainHtml(activeChar); + } + else + { + activeChar.setIsInTradeProt(true); + Menu.mainHtml(activeChar); + } + } + else if (_command.startsWith("ssprot")) + { + if (activeChar.isSSDisabled()) + { + activeChar.setIsSSDisabled(false); + Menu.mainHtml(activeChar); + } + else + { + activeChar.setIsSSDisabled(true); + Menu.mainHtml(activeChar); + } + } + else if (_command.startsWith("pmref")) + { + if (activeChar.isInRefusalMode()) + { + activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.MESSAGE_ACCEPTANCE_MODE)); + activeChar.getBlockList().setBlockAll(false); + Menu.mainHtml(activeChar); + } + else + { + activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.MESSAGE_REFUSAL_MODE)); + activeChar.getBlockList().setBlockAll(true); + Menu.mainHtml(activeChar); + } + } + else if (_command.startsWith("xpnot")) + { + if (activeChar.cantGainXP()) + { + activeChar.cantGainXP(false); + Menu.mainHtml2(activeChar); + } + else + { + activeChar.cantGainXP(true); + Menu.mainHtml2(activeChar); + } + } + else if (_command.startsWith("partyin")) + { + if (activeChar.isPartyInvProt()) + { + activeChar.setIsPartyInvProt(false); + Menu.mainHtml2(activeChar); + } + else + { + activeChar.setIsPartyInvProt(true); + Menu.mainHtml2(activeChar); + } + } + else if (_command.startsWith("page2")) + Menu.mainHtml2(activeChar); // Jstar's Custom Bypass Caller! else if(_command.startsWith("custom_")) { Index: head-src/com/l2jfrozen/gameserver/handler/itemhandlers/BeastSpiritShot.java =================================================================== --- head-src/com/l2jfrozen/gameserver/handler/itemhandlers/BeastSpiritShot.java (revision 986) +++ head-src/com/l2jfrozen/gameserver/handler/itemhandlers/BeastSpiritShot.java (working copy) @@ -169,7 +169,8 @@ // Pet uses the power of spirit. activeOwner.sendPacket(new SystemMessage(SystemMessageId.PET_USE_THE_POWER_OF_SPIRIT)); - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUser(activePet, activePet, isBlessed ? 2009 : 2008, 1, 0, 0), 360000/*600*/); + if (!activeOwner.isSSDisabled()) + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUser(activePet, activePet, isBlessed ? 2009 : 2008, 1, 0, 0), 360000/*600*/); activeOwner = null; activePet = null; Index: head-src/com/l2jfrozen/gameserver/handler/skillhandlers/Continuous.java =================================================================== --- head-src/com/l2jfrozen/gameserver/handler/skillhandlers/Continuous.java (revision 986) +++ head-src/com/l2jfrozen/gameserver/handler/skillhandlers/Continuous.java (working copy) @@ -143,7 +143,16 @@ || skill.getSkillType() == L2Skill.SkillType.MANAHEAL_PERCENT || skill.getSkillType() == L2Skill.SkillType.COMBATPOINTHEAL || skill.getSkillType() == L2Skill.SkillType.REFLECT)) - continue; + continue; + + if (activeChar instanceof L2PcInstance && target != activeChar && target.isBuffProtected() && !skill.isHeroSkill() + && (skill.getSkillType() == L2Skill.SkillType.BUFF + || skill.getSkillType() == L2Skill.SkillType.HEAL_PERCENT + || skill.getSkillType() == L2Skill.SkillType.FORCE_BUFF + || skill.getSkillType() == L2Skill.SkillType.MANAHEAL_PERCENT + || skill.getSkillType() == L2Skill.SkillType.COMBATPOINTHEAL + || skill.getSkillType() == L2Skill.SkillType.REFLECT)) + continue; // Player holding a cursed weapon can't be buffed and can't buff if(skill.getSkillType() == L2Skill.SkillType.BUFF) убогая реализация менюшки. Кто такое ставить будет? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Saick 46 Опубликовано 22 июня, 2014 (изменено) Не нравится не юзай, умник *мат*. И не юзаю, и другим не советую. Изменено 22 июня, 2014 пользователем AwakenDev Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Boolean 121 Опубликовано 22 июля, 2014 (изменено) И не юзаю, и другим не советую. Правильно! Согласен с Сайком. Изменено 22 июля, 2014 пользователем Boolean Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
METADOH 6 Опубликовано 23 июля, 2014 Если руки не кривые и голова на месте можно переписать. Работы на час максимум. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты