nortim Posted March 17, 2017 Posted March 17, 2017 Hellow guys! I'am from brasil, but sorry my very english bad .. I need code to block bs in flagzone, can someone help me? ::) ::) ::) ::) :okey: I need a code to block the bs in flagzone
0 Solomun Posted March 17, 2017 Posted March 17, 2017 On 3/17/2017 at 3:11 PM, nortim said: I have erro: Sorry i forget about that... Do it like +if (character instanceof L2PcInstance) +{ + _player = (L2PcInstance)character; + final int[] supporters = {15,16,29,30,42,43,97,105,112,115,136,116}; // support classes ID's + for (int act : supporters) + if (_player.getActiveClass() == act) + { + _player.sendMessage("You can't enter in flag zone with a support class."); + _player.teleToLocation(83417 + Rnd.get(101) - 50, 149028 + Rnd.get(101) - 50, -3408); + } +}
0 Solomun Posted March 17, 2017 Posted March 17, 2017 What the "bs" standing for? The only that makes sense, is backstab...but wtf, you dont want backstab in your flag zone? :P
0 nortim Posted March 17, 2017 Author Posted March 17, 2017 (edited) On 3/17/2017 at 2:48 PM, Solomun said: What the "bs" standing for? The only that makes sense, is backstab...but wtf, you dont want backstab in your flag zone? :P Sorry man.. Bs = Bishop/Cardinal .. You can help me? Edited March 17, 2017 by nortim
0 Solomun Posted March 17, 2017 Posted March 17, 2017 (edited) On 3/17/2017 at 2:49 PM, nortim said: Sorry man.. Bs = Bishop/Cardinal .. You could make the following: onEnter method: + final int[] supporters = {15,16,29,30,42,43,97,105,112,115,136,116}; // support classes ID's + for (int act : supporters) + if (_player.getActiveClass() == act) + { + _player.sendMessage("You can't enter in flag zone with a support class."); + _player.teleToLocation(83417 + Rnd.get(101) - 50, 149028 + Rnd.get(101) - 50, -3408); + } supporters array has all supporters id (bishop,cardinal,evas saint etc etc). If you want to restrict only bishop keep id 15 and 97. Edit: Whenever a supporter enters the zone, he gets teleport to Giran (with some random offset, which you can remove). Edited March 17, 2017 by Solomun
0 tazerman2 Posted March 17, 2017 Posted March 17, 2017 in heal.java change id with your zone id and here use class bishop player.getClassId().getId() == 12 if(activeChar.isInsideZone(12345) && player.getClassId().getId() == 12) { activeChar.getActingPlayer().sendMessage("You can't heal in this zone.."); continue; }
0 Solomun Posted March 17, 2017 Posted March 17, 2017 On 3/17/2017 at 2:59 PM, tazerman2 said: in heal.java change id with your zone id and here use class bishop player.getClassId().getId() == 12 if(activeChar.isInsideZone(12345) && player.getClassId().getId() == 12) { activeChar.getActingPlayer().sendMessage("You can't heal in this zone.."); continue; } This way, he could use cleanse and such skills right?
0 tazerman2 Posted March 17, 2017 Posted March 17, 2017 is bad can't enter to pvp zone if bishop have augment skill and need play pvp ? how to play ?
0 Solomun Posted March 17, 2017 Posted March 17, 2017 On 3/17/2017 at 3:00 PM, tazerman2 said: is bad can't enter to pvp zone if bishop have augment skill and need play pvp ? how to play ? He said to block bishop, not his heal. This restricted bishop could get a subclass and play.
0 Reborn12 Posted March 17, 2017 Posted March 17, 2017 On 3/17/2017 at 3:00 PM, tazerman2 said: is bad can't enter to pvp zone if bishop have augment skill and need play pvp ? how to play ? with buffed players bp have no chance
0 nortim Posted March 17, 2017 Author Posted March 17, 2017 OMG! THX , YOU IS GOOOD ! Do I add these codes in flagzone.java? Do I add these codes in flagzone.java?
0 Solomun Posted March 17, 2017 Posted March 17, 2017 On 3/17/2017 at 3:04 PM, nortim said: OMG! THX , YOU IS GOOOD ! Do I add these codes in flagzone.java? Do I add these codes in flagzone.java? Yes...onEnter method.
0 nortim Posted March 17, 2017 Author Posted March 17, 2017 On 3/17/2017 at 3:04 PM, Solomun said: Yes...onEnter method. Could you tell me a baseline?
0 Solomun Posted March 17, 2017 Posted March 17, 2017 On 3/17/2017 at 3:05 PM, nortim said: Could you tell me a baseline? What FlagZone code are you using?
0 nortim Posted March 17, 2017 Author Posted March 17, 2017 On 3/17/2017 at 3:06 PM, Solomun said: What FlagZone code are you using? Reveal hidden contents package net.l2jpx.gameserver.model.zone.type; import java.util.List; import org.w3c.dom.Node; import javolution.util.FastList; import net.l2jpx.Config; import net.l2jpx.gameserver.datatables.SkillTable; import net.l2jpx.gameserver.model.L2Character; import net.l2jpx.gameserver.model.L2Skill; import net.l2jpx.gameserver.model.actor.instance.L2PcInstance; import net.l2jpx.gameserver.model.zone.L2ZoneType; import net.l2jpx.gameserver.network.serverpackets.ActionFailed; import net.l2jpx.gameserver.network.serverpackets.NpcHtmlMessage; import net.l2jpx.util.random.Rnd; public class L2FlagZone extends L2ZoneType { private String _townName; private int _townId; private int _redirectTownId; private int _taxById; private boolean _FlagZone; private FastList<int[]> _spawnLoc; public L2FlagZone(int id) { super(id); _taxById = 0; _spawnLoc = new FastList<>(); // Default to Giran _redirectTownId = 1; // Default peace zone _FlagZone = false; } @Override public void setParameter(String name, String value) { if(name.equals("name")) { _townName = value; } else if(name.equals("townId")) { _townId = Integer.parseInt(value); } else if(name.equals("redirectTownId")) { _redirectTownId = Integer.parseInt(value); } else if(name.equals("taxById")) { _taxById = Integer.parseInt(value); } else if(name.equals("PvpZone")) { _FlagZone = Boolean.parseBoolean(value); } else { super.setParameter(name, value); } } @Override public void setSpawnLocs(Node node) { int ai[] = new int[3]; Node node1 = node.getAttributes().getNamedItem("X"); if(node1 != null) { ai[0] = Integer.parseInt(node1.getNodeValue()); } node1 = node.getAttributes().getNamedItem("Y"); if(node1 != null) { ai[1] = Integer.parseInt(node1.getNodeValue()); } node1 = node.getAttributes().getNamedItem("Z"); if(node1 != null) { ai[2] = Integer.parseInt(node1.getNodeValue()); } _spawnLoc.add(ai); } L2Skill noblesse = SkillTable.getInstance().getInfo(1323, 1); @Override protected void onEnter(L2Character character) { if ((character instanceof L2PcInstance)) { if(character.getLevel() >= Config.ALLOW_FLAG_ZONE_MINILVL && character.getLevel() <= Config.ALLOW_FLAG_ZONE_MAXLVL) { ((L2PcInstance)character).teleToLocation(Config.ALLOW_FLAGl_ZONE_X, Config.ALLOW_FLAGl_ZONE_Y, Config.ALLOW_FLAGl_ZONE_Z); showHtmlLevel((L2PcInstance)character); return; } if (Config.RECEIVE_NOBLESSE) { this.noblesse.getEffects(character, character); } ((L2PcInstance)character).stopPvPFlag(); ((L2PcInstance)character).updatePvPFlag(1); if (Config.MSG_ON_ENTER_FLAG) { ((L2PcInstance)character).sendMessage("[Wizard Zone]: " + Config.MESSAGE_ON_ENTER + "."); } if (Config.ALLOW_FLAG_ZONE_TITLE) { ((L2PcInstance)character).getAppearance().setTitleColor(Config.FLAG_ZONE_TITLE_COLOR); } if (Config.ALLOW_FLAG_ZONE_NAME) { ((L2PcInstance)character).getAppearance().setNameColor(Config.FLAG_ZONE_NAME_COLOR); } if(!_FlagZone && Config.ZONE_TOWN != 2) { character.setInsideZone(L2Character.ZONE_FLAGZONE, true); } } } @Override protected void onExit(L2Character character) { if ((character instanceof L2PcInstance)) { ((L2PcInstance)character).updatePvPFlag(0); if (Config.MSG_ON_ENTER_FLAG) { ((L2PcInstance)character).sendMessage("[Wizard Zone]: " + Config.MESSAGE_ON_EXIT + "."); } if (Config.ALLOW_FLAG_ZONE_TITLE) { ((L2PcInstance)character).getAppearance().setTitleColor(Config.NAME_COLOR); } if (Config.ALLOW_FLAG_ZONE_NAME) { ((L2PcInstance)character).getAppearance().setNameColor(Config.TITLE_COLOR); } if(!_FlagZone) { character.setInsideZone(L2Character.ZONE_FLAGZONE, false); } } } @Override public void onDieInside(L2Character character) {} @Override public void onReviveInside(L2Character character) { onEnter(character); if (Config.RECEIVE_NOBLESSE) { this.noblesse.getEffects(character, character); } } /** * Returns this town zones name * * @return */ @Deprecated public String getName() { return _townName; } /** * Returns this zones town id (if any) * * @return */ public int getTownId() { return _townId; } /** * Gets the id for this town zones redir town * * @return */ @Deprecated public int getRedirectTownId() { return _redirectTownId; } /** * Returns this zones spawn location * * @return */ public final int[] getSpawnLoc() { int ai[] = new int[3]; ai = _spawnLoc.get(Rnd.get(_spawnLoc.size())); return ai; } private void showHtmlLevel(L2PcInstance activeChar) { NpcHtmlMessage msg = new NpcHtmlMessage(5); msg.setFile("data/html/mods/level.htm"); activeChar.sendPacket(msg); activeChar.sendPacket(new ActionFailed()); } /** * Returns this town zones castle id * * @return */ public final int getTaxById() { return _taxById; } }
Question
nortim
Hellow guys! I'am from brasil, but sorry my very english bad ..
I need code to block bs in flagzone, can someone help me?
::) ::) ::) ::) :okey:
I need a code to block the bs in flagzone
27 answers to this question
Recommended Posts