`Rοmeο Posted December 12, 2012 Posted December 12, 2012 Hello! I found this code in my pc & I decided to share this. Description : You can enter this zone ONLY if you are clan member, else you will be teleported at the nearest town. For every kill that you take from an enemy clan, your clan gets as reward X reputation points. ### Eclipse Workspace Patch 1.0 #P L2jFrozen_GameServer Index: head-src/com/l2jfrozen/gameserver/model/zone/type/L2ClanWarZone.java =================================================================== --- head-src/com/l2jfrozen/gameserver/model/zone/type/L2ClanWarZone.java (revision 0) +++ head-src/com/l2jfrozen/gameserver/model/zone/type/L2ClanWarZone.java (working copy) @@ -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 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.model.zone.type; + +import com.l2jfrozen.gameserver.datatables.csv.MapRegionTable; +import com.l2jfrozen.gameserver.model.L2Character; +import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance; +import com.l2jfrozen.gameserver.model.zone.L2ZoneType; + +public class L2ClanWarZone extends L2ZoneType +{ + + /** + * @param id + */ + public L2ClanWarZone(int id) + { + super(id); + } + + + @Override + protected void onEnter(L2Character character) + { + if (character instanceof L2PcInstance) + { + if(((L2PcInstance) character).getClan() != null) + { + ((L2PcInstance) character).setIsInsideClanwarZone(true); + ((L2PcInstance) character).sendMessage("You have entered a Clan War Zone. Prepare for fight."); + } + else + { + ((L2PcInstance) character).sendMessage("This is strict area for clan members ONLY. You will be teleported at the nearest town."); + ((L2PcInstance) character).teleToLocation(MapRegionTable.TeleportWhereType.Town); + } + } + } + + @Override + protected void onExit(L2Character character) + { + if (character instanceof L2PcInstance) + { + ((L2PcInstance) character).setIsInsideClanwarZone(false); + } + } + + + @Override + public void onDieInside(L2Character character) + { + + } + + @Override + public void onReviveInside(L2Character character) + { + onEnter(character); + } +} \ No newline at end of file Index: head-src/com/l2jfrozen/gameserver/model/L2Character.java =================================================================== --- head-src/com/l2jfrozen/gameserver/model/L2Character.java (revision 949) +++ head-src/com/l2jfrozen/gameserver/model/L2Character.java (working copy) @@ -175,6 +175,8 @@ /** The _is buff protected. */ private boolean _isBuffProtected = false; //Protect From Debuffs + private boolean _isInsideClanwarZone = false; + /** The _is afraid. */ private boolean _isAfraid = false; // Flee in a random direction @@ -11241,4 +11243,20 @@ { return _triggeredSkills; } + + /** + * @return the _isInsideClanwarZone + */ + public boolean isInsideClanwarZone() + { + return _isInsideClanwarZone; + } + + /** + * @param _isInsideClanwarZone the _isInsideClanwarZone to set + */ + public void setIsInsideClanwarZone(boolean _isInsideClanwarZone) + { + this._isInsideClanwarZone = _isInsideClanwarZone; + } } Index: head-src/com/l2jfrozen/gameserver/datatables/xml/ZoneData.java =================================================================== --- head-src/com/l2jfrozen/gameserver/datatables/xml/ZoneData.java (revision 949) +++ head-src/com/l2jfrozen/gameserver/datatables/xml/ZoneData.java (working copy) @@ -50,6 +50,7 @@ import com.l2jfrozen.gameserver.model.zone.type.L2CastleTeleportZone; import com.l2jfrozen.gameserver.model.zone.type.L2CastleZone; import com.l2jfrozen.gameserver.model.zone.type.L2ClanHallZone; +import com.l2jfrozen.gameserver.model.zone.type.L2ClanWarZone; import com.l2jfrozen.gameserver.model.zone.type.L2CustomZone; import com.l2jfrozen.gameserver.model.zone.type.L2DamageZone; import com.l2jfrozen.gameserver.model.zone.type.L2DerbyTrackZone; @@ -278,6 +279,10 @@ { temp = new L2SwampZone(zoneId); } + else if(zoneType.equals("FlagZone")) + { + temp = new L2ClanWarZone(zoneId); + } // Check for unknown type if(temp == null) Index: head-src/com/l2jfrozen/gameserver/model/actor/instance/L2PcInstance.java =================================================================== --- head-src/com/l2jfrozen/gameserver/model/actor/instance/L2PcInstance.java (revision 949) +++ head-src/com/l2jfrozen/gameserver/model/actor/instance/L2PcInstance.java (working copy) @@ -7715,6 +7716,12 @@ if(!checkAntiFarm(targetPlayer)) return; + if(isInsideClanwarZone() && targetPlayer.isInsideClanwarZone() && (getClan() != null) && (targetPlayer.getClan() != null) && (getClanId() != targetPlayer.getClanId())) + { + getClan().setReputationScore(getClan().getReputationScore() + 100, true); + sendMessage("You killed someone from an enemy clan. Your clan gets rewarded with 100 rep points!"); + } + // Check if it's pvp if(checkIfPvP(target) && targetPlayer.getPvpFlag() != 0 || isInsideZone(ZONE_PVP) && targetPlayer.isInsideZone(ZONE_PVP)) { Have fun, `Romeo Credits: Thanks Elfocrash for the code! :)
Napster321 Posted December 12, 2012 Posted December 12, 2012 thanks a lot romeo :) im gonna use it for sure
`Rοmeο Posted December 12, 2012 Author Posted December 12, 2012 thanks a lot romeo :) im gonna use it for sure np man ;)
Guest Elfocrash Posted December 12, 2012 Posted December 12, 2012 Right. So this is not a code i wrote for Crystalia some weeks ago and he just gave it to you in order to share it without adding credits? ^^
`Rοmeο Posted December 12, 2012 Author Posted December 12, 2012 Right. So this is not a code i wrote for Crystalia some weeks ago and he just gave it to you in order to share it without adding credits? ^^ Ops Sory my Friend Credits Added Sory.
`Rοmeο Posted December 14, 2012 Author Posted December 14, 2012 has to be adapted... if someone can? Client? for adaption..
pkmicrochip Posted December 14, 2012 Posted December 14, 2012 one question where i can place the ID from Zone?
`Rοmeο Posted December 14, 2012 Author Posted December 14, 2012 one question where i can place the ID from Zone? You just add the type.
pkmicrochip Posted December 14, 2012 Posted December 14, 2012 You just add the type. because i am newbie how i add the type? can u explane me ? or show me
-[ByKaZ]- Posted March 30, 2013 Posted March 30, 2013 very good job and very useful.. thanks for sharing!
Kolibri Posted July 9, 2013 Posted July 9, 2013 Where i can change the zone place ? (im newbie on codes and i dont know how to change the zone)
Kolibri Posted July 15, 2013 Posted July 15, 2013 when im adding the zone type, in console shows that this type is unknown :/ what can i do?
Red-Hair-Shanks Posted August 2, 2013 Posted August 2, 2013 also you can add ,one time per month/week/day all clan's wll teleported at one area and PVP.......!! ;)
Recommended Posts