Innos Posted March 23, 2015 Posted March 23, 2015 Hello, I have 2 questions I can't find any answer: -How can I enable teleport with flag or pk? Now players cannot -How can I set clans to level without any players requirements? Btw it's not on character.properties I am using l2j gracia final pack here http://www.maxcheaters.com/topic/70522-%CF%80%CF%89%CF%82-%CE%B8%CE%B1-%CE%B1%CE%BD%CE%BF%CE%AF%CE%BE%CE%B5%CF%84%CE%B5-%CE%AD%CE%BD%CE%B1%CE%BD-l2j-gracia-final-server%CE%BA%CE%B1%CE%B9-%CF%80%CF%89%CF%82-%CE%BA%CE%AC%CE%BD%CE%BF%CF%85%CE%BC%CE%B5-compile/ Thanks a lot!
0 SweeTs Posted March 26, 2015 Posted March 26, 2015 (edited) else if (player.getPvpFlag() >= 0) // flag { player.sendMessage("Go away, flagged players is not welcome here."); return; } You failed hard, brah.. If you know what I mean :D if (player.getPvpFlag() != 0) { player.sendMessage("Get lost"); return; } Edited March 26, 2015 by SweeTs
0 Gries Posted March 23, 2015 Posted March 23, 2015 (edited) -How can I set clans to level without any players requirements? Btw it's not on character.properties Check if you have a config in the Features.properties file. If you don't have that file check inside L2Clan.java for levelUpClan method, there you can change anything regarding clan upgrade requirements. How can I enable teleport with flag or pk? Now players cannot Check inside L2TeleporterInstance.java, doTeleport method. Edited March 23, 2015 by Gries
0 Innos Posted March 23, 2015 Author Posted March 23, 2015 Thanks a lot!Where can I find L2TeleporterInstance.java?
0 Gries Posted March 23, 2015 Posted March 23, 2015 Thanks a lot! Where can I find L2TeleporterInstance.java? gameserver/model/actor/instance
0 Gries Posted March 23, 2015 Posted March 23, 2015 I found for karma, but not for flag :/ Maybe you have some custom code added?
0 Innos Posted March 23, 2015 Author Posted March 23, 2015 Nop, no custom code. Here is the code /* * This program is free software: you can redistribute it and/or modify it under * the terms of the GNU General Public License as published by the Free Software * Foundation, either version 3 of the License, or (at your option) any later * version. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more * details. * * You should have received a copy of the GNU General Public License along with * this program. If not, see <http://www.gnu.org/licenses/>. */ package net.sf.l2j.gameserver.model.actor.instance; import java.util.StringTokenizer; import net.sf.l2j.Config; import net.sf.l2j.gameserver.cache.HtmCache; import net.sf.l2j.gameserver.datatables.TeleportLocationTable; import net.sf.l2j.gameserver.instancemanager.CastleManager; import net.sf.l2j.gameserver.instancemanager.SiegeManager; import net.sf.l2j.gameserver.instancemanager.TownManager; import net.sf.l2j.gameserver.model.L2TeleportLocation; import net.sf.l2j.gameserver.model.actor.L2Character; import net.sf.l2j.gameserver.model.actor.L2Npc; import net.sf.l2j.gameserver.network.SystemMessageId; import net.sf.l2j.gameserver.network.serverpackets.ActionFailed; import net.sf.l2j.gameserver.network.serverpackets.NpcHtmlMessage; import net.sf.l2j.gameserver.network.serverpackets.SystemMessage; import net.sf.l2j.gameserver.templates.chars.L2NpcTemplate; /** * @author NightMarez * @version $Revision: 1.3.2.2.2.5 $ $Date: 2005/03/27 15:29:32 $ * */ public final class L2TeleporterInstance extends L2Npc { //private static Logger _log = Logger.getLogger(L2TeleporterInstance.class.getName()); private static final int COND_ALL_FALSE = 0; private static final int COND_BUSY_BECAUSE_OF_SIEGE = 1; private static final int COND_OWNER = 2; private static final int COND_REGULAR = 3; /** * @param template */ public L2TeleporterInstance(int objectId, L2NpcTemplate template) { super(objectId, template); } @Override public void onBypassFeedback(L2PcInstance player, String command) { player.sendPacket(ActionFailed.STATIC_PACKET); int condition = validateCondition(player); StringTokenizer st = new StringTokenizer(command, " "); String actualCommand = st.nextToken(); // Get actual command if (actualCommand.equalsIgnoreCase("goto")) { int npcId = getTemplate().npcId; switch (npcId) { case 31095: // case 31096: // case 31097: // case 31098: // Enter Necropolises case 31099: // case 31100: // case 31101: // case 31102: // case 31114: // case 31115: // case 31116: // Enter Catacombs case 31117: // case 31118: // case 31119: // player.setIsIn7sDungeon(true); break; case 31103: // case 31104: // case 31105: // case 31106: // Exit Necropolises case 31107: // case 31108: // case 31109: // case 31110: // case 31120: // case 31121: // case 31122: // Exit Catacombs case 31123: // case 31124: // case 31125: // player.setIsIn7sDungeon(false); break; } if (st.countTokens() <= 0) { return; } int whereTo = Integer.parseInt(st.nextToken()); if (condition == COND_REGULAR) { doTeleport(player, whereTo); return; } else if (condition == COND_OWNER) { int minPrivilegeLevel = 0; // NOTE: Replace 0 with highest level when privilege level is implemented if (st.countTokens() >= 1) { minPrivilegeLevel = Integer.parseInt(st.nextToken()); } if (10 >= minPrivilegeLevel) // NOTE: Replace 10 with privilege level of player doTeleport(player, whereTo); else player.sendMessage("You don't have the sufficient access level to teleport there."); return; } } else if (command.startsWith("Chat")) { int val = 0; try { val = Integer.parseInt(command.substring(5)); } catch (IndexOutOfBoundsException ioobe) {} catch (NumberFormatException nfe) {} if (val == 1 && player.getLevel() < 41) { showNewbieHtml(player); return; } showChatWindow(player, val); } super.onBypassFeedback(player, command); } @Override public String getHtmlPath(int npcId, int val) { String pom = ""; if (val == 0) { pom = "" + npcId; } else { pom = npcId + "-" + val; } return "data/html/teleporter/" + pom + ".htm"; } private void showNewbieHtml(L2PcInstance player) { if (player == null) return; NpcHtmlMessage html = new NpcHtmlMessage(getObjectId()); String filename = "data/html/teleporter/free/" + getTemplate().npcId + ".htm"; if (!HtmCache.getInstance().isLoadable(filename)) filename = "data/html/teleporter/" + getTemplate().npcId + "-1.htm"; html.setFile(filename); html.replace("%objectId%", String.valueOf(getObjectId())); html.replace("%npcname%", getName()); player.sendPacket(html); } @Override public void showChatWindow(L2PcInstance player) { String filename = "data/html/teleporter/castleteleporter-no.htm"; int condition = validateCondition(player); if (condition == COND_REGULAR) { super.showChatWindow(player); return; } else if (condition > COND_ALL_FALSE) { if (condition == COND_BUSY_BECAUSE_OF_SIEGE) filename = "data/html/teleporter/castleteleporter-busy.htm"; // Busy because of siege else if (condition == COND_OWNER) // Clan owns castle { if (player.getLevel()<40) filename = getHtmlPath(getNpcId(), 0); // Owner message window } } NpcHtmlMessage html = new NpcHtmlMessage(getObjectId()); html.setFile(filename); html.replace("%objectId%", String.valueOf(getObjectId())); html.replace("%npcname%", getName()); player.sendPacket(html); } private void doTeleport(L2PcInstance player, int val) { L2TeleportLocation list = TeleportLocationTable.getInstance().getTemplate(val); if (list != null) { //you cannot teleport to village that is in siege if (SiegeManager.getInstance().getSiege(list.getLocX(), list.getLocY(), list.getLocZ()) != null) { player.sendPacket(new SystemMessage(SystemMessageId.NO_PORT_THAT_IS_IN_SIGE)); return; } else if (TownManager.townHasCastleInSiege(list.getLocX(), list.getLocY()) && isInsideZone(L2Character.ZONE_TOWN)) { player.sendPacket(new SystemMessage(SystemMessageId.NO_PORT_THAT_IS_IN_SIGE)); return; } else if (!Config.ALT_GAME_KARMA_PLAYER_CAN_USE_GK && player.getKarma() > 0) //karma { player.sendMessage("Go away, you're not welcome here."); return; } else if (list.getIsForNoble() && !player.isNoble()) { String filename = "data/html/teleporter/nobleteleporter-no.htm"; NpcHtmlMessage html = new NpcHtmlMessage(getObjectId()); html.setFile(filename); html.replace("%objectId%", String.valueOf(getObjectId())); html.replace("%npcname%", getName()); player.sendPacket(html); return; } else if (player.isAlikeDead()) { return; } else if (!list.getIsForNoble() && (Config.ALT_GAME_FREE_TELEPORT || player.getLevel() < 41 || player.reduceAdena("Teleport", list.getPrice(), this, true))) { if (Config.DEBUG) _log.fine("Teleporting player " + player.getName() + " to new location: " + list.getLocX() + ":" + list.getLocY() + ":" + list.getLocZ()); player.teleToLocation(list.getLocX(), list.getLocY(), list.getLocZ(), true); } else if (list.getIsForNoble() && (Config.ALT_GAME_FREE_TELEPORT || player.destroyItemByItemId("Noble Teleport", 13722, list.getPrice(), this, true))) { if (Config.DEBUG) _log.fine("Teleporting player " + player.getName() + " to new location: " + list.getLocX() + ":" + list.getLocY() + ":" + list.getLocZ()); player.teleToLocation(list.getLocX(), list.getLocY(), list.getLocZ(), true); } } else { _log.warning("No teleport destination with id:" + val); } player.sendPacket(ActionFailed.STATIC_PACKET); } private int validateCondition(L2PcInstance player) { if (CastleManager.getInstance().getCastleIndex(this) < 0) // Teleporter isn't on castle ground return COND_REGULAR; // Regular access else if (getCastle().getSiege().getIsInProgress()) // Teleporter is on castle ground and siege is in progress return COND_BUSY_BECAUSE_OF_SIEGE; // Busy because of siege else if (player.getClan() != null) // Teleporter is on castle ground and player is in a clan { if (getCastle().getOwnerId() == player.getClanId()) // Clan owns castle return COND_OWNER; // Owner } return COND_ALL_FALSE; } }
0 LightFusion Posted March 25, 2015 Posted March 25, 2015 else if (!Config.ALT_GAME_KARMA_PLAYER_CAN_USE_GK && player.getKarma() > 0) //karma { player.sendMessage("Go away, you're not welcome here."); return; } my guess is to compleatly delete this check method, as for ALT_GAME_KARMA it may refer to a flaged player.
0 LightFusion Posted March 25, 2015 Posted March 25, 2015 (edited) But I want to keep this :/ then change it to false in config Edited March 25, 2015 by LightFusion
0 Innos Posted March 25, 2015 Author Posted March 25, 2015 ALT_GAME_KARMA_PLAYER_CAN_USE_GK = flag player.getKarma() = pk? IS that right?
0 Klay Posted March 25, 2015 Posted March 25, 2015 ALT_GAME_KARMA_PLAYER_CAN_USE_GK = flag player.getKarma() = pk? IS that right? what is that ? :p
0 LightFusion Posted March 25, 2015 Posted March 25, 2015 what is that ? :P good question =D ALT_GAME_KARMA_PLAYER_CAN_USE_GK = flag player.getKarma() = pk? IS that right? just find your config folder in gameserver dif folder, and look for - alt game karma, if you cant find it, open config.java, or press Ctrl+click on ALT_GAME_KARMA_PLAYER_CAN_USE_GK, and you gonna jump in refiring class - config, and then press ALT+F and find ALT_GAME_KARMA_PLAYER_CAN_USE_GK use, you should see its reffering name that acctualy creates in properties, so after you find it just change it to false.
0 SweeTs Posted March 25, 2015 Posted March 25, 2015 (edited) ALT_GAME_KARMA_PLAYER_CAN_USE_GK set it to true from config folder, npc or players.prop Check L2Clan.java you should find something. Edited March 25, 2015 by SweeTs
Question
Innos
Hello,
I have 2 questions I can't find any answer:
-How can I enable teleport with flag or pk? Now players cannot
-How can I set clans to level without any players requirements? Btw it's not on character.properties
I am using l2j gracia final
pack here http://www.maxcheaters.com/topic/70522-%CF%80%CF%89%CF%82-%CE%B8%CE%B1-%CE%B1%CE%BD%CE%BF%CE%AF%CE%BE%CE%B5%CF%84%CE%B5-%CE%AD%CE%BD%CE%B1%CE%BD-l2j-gracia-final-server%CE%BA%CE%B1%CE%B9-%CF%80%CF%89%CF%82-%CE%BA%CE%AC%CE%BD%CE%BF%CF%85%CE%BC%CE%B5-compile/
Thanks a lot!
22 answers to this question
Recommended Posts