Noticias:

Debes de estar registrado para poder ver el contenido indicado. Registrate o Conectate

Menú Principal

Custom Clan Hall

Iniciado por Swarlog, Ago 19, 2022, 12:35 AM

Tema anterior - Siguiente tema

Swarlog

Para quien quiera incorporar en su servidor Clan Halls adicionales.

### Eclipse Workspace Patch 1.0
#P datapack_development
Index: data/zones/clan_hall_zone.xml
===================================================================
--- data/zones/clan_hall_zone.xml (revision 7177)
+++ data/zones/clan_hall_zone.xml (working copy)
 -2894,4 +2894,75 @@
<zone name="fortress_of_restless" type="ClanHallZone" shape="NPoly" minZ="-1580" maxZ="-1450">
<stat name="clanHallId" val="201" />
<!-- residence_territory -->
<node X="80243" Y="57126" />
<node X="80235" Y="56695" />
<node X="81014" Y="56695" />
<node X="81013" Y="57134" />
<!-- owner_restart_point_list -->
<spawn X="80696" Y="56840" Z="-1530" />
<!-- chao_restart_point_list -->
                <spawn X="80694" Y="56413" Z="-1560" isChaotic="true" />
</zone>
<zone name="fortress_of_restless" type="ClanHallZone" shape="NPoly" minZ="-1580" maxZ="-1450">
<stat name="clanHallId" val="202" />
<!-- residence_territory -->
<node X="82840" Y="56252" />
<node X="83292" Y="56250" />
<node X="83300" Y="56341" />
<node X="83667" Y="56341" />
<node X="83660" Y="56769" />
<node X="82833" Y="56768" />
<!-- owner_restart_point_list -->
<spawn X="83064" Y="56456" Z="-1530" />
<!-- chao_restart_point_list -->
                <spawn X="83053" Y="56098" Z="-1525" isChaotic="true" />
</zone>
<zone name="fortress_of_restless" type="ClanHallZone" shape="NPoly" minZ="-1580" maxZ="-1450">
<stat name="clanHallId" val="203" />
<!-- residence_territory -->
<node X="81937" Y="53168" />
<node X="81486" Y="53170" />
<node X="81492" Y="52661" />
<node X="82310" Y="52658" />
<node X="82310" Y="53070" />
<node X="81940" Y="53085" />
<!-- owner_restart_point_list -->
<spawn X="81720" Y="52904" Z="-1530" />
<!-- chao_restart_point_list -->
                <spawn X="81693" Y="53327" Z="-1465" isChaotic="true" />
</zone>
<zone name="fortress_of_restless" type="ClanHallZone" shape="NPoly" minZ="3700" maxZ="-3500">
<stat name="clanHallId" val="205" />
<!-- residence_territory -->
<node X="113265" Y="217467" />
<node X="113266" Y="216990" />
<node X="114152" Y="216989" />
<node X="114153" Y="217462" />
<!-- owner_restart_point_list -->
<spawn X="113784" Y="217208" Z="-3610" />
<!-- chao_restart_point_list -->
                <spawn X="114368" Y="217223" Z="-3550" isChaotic="true" />
</zone>
<zone name="fortress_of_restless" type="ClanHallZone" shape="NPoly" minZ="3700" maxZ="-3500">
<stat name="clanHallId" val="206" />
<!-- residence_territory -->
<node X="114273" Y="223388" />
<node X="113806" Y="223401" />
<node X="113805" Y="222517" />
<node X="114284" Y="222516" />
<!-- owner_restart_point_list -->
<spawn X="114056" Y="222856" Z="-3610" />
<!-- chao_restart_point_list -->
                <spawn X="114045" Y="222316" Z="-3550" isChaotic="true" />
</zone>
<zone name="fortress_of_restless" type="ClanHallZone" shape="NPoly" minZ="3700" maxZ="-3500">
<stat name="clanHallId" val="206" />
<!-- residence_territory -->
<node X="114273" Y="223388" />
<node X="113806" Y="223401" />
<node X="113805" Y="222517" />
<node X="114284" Y="222516" />
<!-- owner_restart_point_list -->
<spawn X="114056" Y="222856" Z="-3610" />
<!-- chao_restart_point_list -->
                <spawn X="114045" Y="222316" Z="-3550" isChaotic="true" />
</zone>
<zone name="fortress_of_restless" type="ClanHallZone" shape="NPoly" minZ="-3700" maxZ="-3500">
<stat name="clanHallId" val="207" />
<!-- residence_territory -->
<node X="108844" Y="223117" />
<node X="108380" Y="223112" />
<node X="108382" Y="222227" />
<node X="108858" Y="222228" />
<!-- owner_restart_point_list -->
<spawn X="108616" Y="222600" Z="-3590" />
<!-- chao_restart_point_list -->
                <spawn X="108625" Y="222014" Z="-3520" isChaotic="true" />
</zone>
<zone name="fortress_of_restless" type="ClanHallZone" shape="NPoly" minZ="-3700" maxZ="-3500">
<stat name="clanHallId" val="208" />
<!-- residence_territory -->
<node X="109285" Y="218503" />
<node X="109294" Y="218950" />
<node X="109160" Y="218950" />
<node X="109163" Y="219090" />
<node X="108851" Y="219077" />
<node X="108836" Y="218298" />
<node X="108716" Y="218295" />
<node X="108721" Y="217948" />
<node X="109128" Y="217953" />
<node X="109161" Y="218500" />
<!-- owner_restart_point_list -->
<spawn X="108965" Y="218310" Z="-3640" />
<!-- chao_restart_point_list -->
                <spawn X="108497" Y="218170" Z="-3676" isChaotic="true" />
</zone>
<zone name="fortress_of_restless" type="ClanHallZone" shape="NPoly" minZ="-3700" maxZ="-3500">
<stat name="clanHallId" val="209" />
<!-- residence_territory -->
<node X="108210" Y="220254" />
<node X="108654" Y="220252" />
<node X="108660" Y="220387" />
<node X="108794" Y="220391" />
<node X="108795" Y="220695" />
<node X="108012" Y="220718" />
<node X="107998" Y="220837" />
<node X="107645" Y="220835" />
<node X="107645" Y="220420" />
<node X="108204" Y="220382" />
<!-- owner_restart_point_list -->
<spawn X="108012" Y="220573" Z="-3580" />
<!-- chao_restart_point_list -->
                <spawn X="107876" Y="221027" Z="-3610" isChaotic="true" />
</zone>
<zone name="fortress_of_restless" type="ClanHallZone" shape="NPoly" minZ="-2200" maxZ="-2000">
<stat name="clanHallId" val="210" />
<!-- residence_territory -->
<node X="108210" Y="220254" />
<node X="108654" Y="220252" />
<node X="108660" Y="220387" />
<node X="108794" Y="220391" />
<node X="108795" Y="220695" />
<node X="108012" Y="220718" />
<node X="107998" Y="220837" />
<node X="107645" Y="220835" />
<node X="107645" Y="220420" />
<node X="108204" Y="220382" />
<!-- owner_restart_point_list -->
<spawn X="108012" Y="220573" Z="-3580" />
<!-- chao_restart_point_list -->
                <spawn X="107876" Y="221027" Z="-3610" isChaotic="true" />
</zone>
<zone name="fortress_of_restless" type="ClanHallZone" shape="NPoly" minZ="-1850" maxZ="-1750">
<stat name="clanHallId" val="211" />
<!-- residence_territory -->
<node X="121213" Y="77231" />
<node X="120433" Y="76996" />
<node X="120577" Y="76546" />
<node X="121332" Y="76768" />
<!-- owner_restart_point_list -->
<spawn X="119994" Y="78511" Z="-1800" />
<!-- chao_restart_point_list -->
                <spawn X="119739" Y="78290" Z="-1820" isChaotic="true" />
</zone>
<zone name="fortress_of_restless" type="ClanHallZone" shape="NPoly" minZ="-1600" maxZ="-1550">
<stat name="clanHallId" val="212" />
<!-- residence_territory -->
<node X="118696" Y="79400" />
<node X="119320" Y="79992" />
<node X="118952" Y="80360" />
<node X="118328" Y="79768" />
<node X="118696" Y="79400" />
<!-- owner_restart_point_list -->
<spawn X="118847" Y="79877" Z="-1590" />
<!-- chao_restart_point_list -->
                <spawn X="118933" Y="79403" Z="-1610" isChaotic="true" />
</zone>
<zone name="fortress_of_restless" type="ClanHallZone" shape="NPoly" minZ="-3550" maxZ="-3450">
<stat name="clanHallId" val="215" />
<!-- residence_territory -->
<node X="17401" Y="169782" />
<node X="16951" Y="169756" />
<node X="16956" Y="169529" />
<node X="17394" Y="169523" />
<!-- owner_restart_point_list -->
<spawn X="17196" Y="169682" Z="-3480" />
<!-- chao_restart_point_list -->
                <spawn X="17181" Y="169958" Z="-3495" isChaotic="true" />
</zone>
<zone name="fortress_of_restless" type="ClanHallZone" shape="NPoly" minZ="-3550" maxZ="-3450">
<stat name="clanHallId" val="216" />
<!-- residence_territory -->
<node X="17737" Y="170597" />
<node X="18194" Y="170625" />
<node X="18195" Y="170854" />
<node X="17744" Y="170854" />
<!-- owner_restart_point_list -->
<spawn X="17945" Y="170729" Z="-3485" />
<!-- chao_restart_point_list -->
                <spawn X="17948" Y="170381" Z="-3505" isChaotic="true" />
</zone>
</list>
Index: data/html/clanHallManager/teleFloran1.htm
===================================================================
--- data/html/clanHallManager/teleFloran1.htm (revision 0)
+++ data/html/clanHallManager/teleFloran1.htm (revision 0)
 -0,0 +1,4 @@
+<html><body>&$556;<br><br>
+<a action="bypass -h npc_%objectId%_goto 508" msg="811;Village Square">Village Square - 500</a><br1>
+<a action="bypass -h npc_%objectId%_goto 513" msg="811;Floran Agricultural Area">Floran Agricultural Area - 500</a><br1>
+</body></html>
\ No newline at end of file
Index: sql/clanhall.sql
===================================================================
--- sql/clanhall.sql (revision 7177)
+++ sql/clanhall.sql (working copy)
 -54,4 +54,22 @@
 INSERT IGNORE INTO `clanhall` VALUES ('61','Titan Hall','0','500000','Clan hall located in the Town of Schuttgart','Schuttgart','0','2','0');
 INSERT IGNORE INTO `clanhall` VALUES ('62','Rainbow Springs','0','0','','Goddard','0','0','0');
 INSERT IGNORE INTO `clanhall` VALUES ('63','Beast Farm','0','0','','Rune','0','0','0');
-INSERT IGNORE INTO `clanhall` VALUES ('64','Fortress of the Dead','0','0','','Rune','0','0','0');
\ No newline at end of file
+INSERT IGNORE INTO `clanhall` VALUES ('64','Fortress of the Dead','0','0','','Rune','0','0','0');
+
+-- Custom Clan Halls Oren
+INSERT IGNORE INTO `clanhall` VALUES ('201','Titanum Chamber','0','500000','Clan hall located in the Town of Oren','Oren','0','2','0');
+INSERT IGNORE INTO `clanhall` VALUES ('202','Knights Chamber','0','500000','Clan hall located in the Town of Oren','Oren','0','2','0');
+INSERT IGNORE INTO `clanhall` VALUES ('203','Phoenix Chamber','0','500000','Clan hall located in the Town of Oren','Oren','0','2','0');
+-- Custom Clan Halls Heine
+INSERT IGNORE INTO `clanhall` VALUES ('205','Waterfall Hall','0','500000','Clan hall located in Heine','Heine','0','2','0');
+INSERT IGNORE INTO `clanhall` VALUES ('206','Giants Hall','0','500000','Clan hall located in Heine','Heine','0','2','0');
+INSERT IGNORE INTO `clanhall` VALUES ('207','Earth Hall','0','500000','Clan hall located in Heine','Heine','0','2','0');
+INSERT IGNORE INTO `clanhall` VALUES ('208','Wenus Chamber','0','1000000','Clan hall located in Heine','Heine','0','3','0');
+INSERT IGNORE INTO `clanhall` VALUES ('209','Saturn Chamber','0','1000000','Clan hall located in Heine','Heine','0','3','0');
+-- Custom Clan Halls Hunters
+INSERT IGNORE INTO `clanhall` VALUES ('210','Hunters Hall','0','500000','Clan hall located in Hunters Village','Hunters','0','2','0');
+INSERT IGNORE INTO `clanhall` VALUES ('211','Forbidden Hall','0','500000','Clan hall located in Hunters Village','Hunters','0','2','0');
+INSERT IGNORE INTO `clanhall` VALUES ('212','Enchanted Hall','0','500000','Clan hall located in Hunters Village','Hunters','0','2','0');
+-- Custom Clan Halls Floran
+INSERT IGNORE INTO `clanhall` VALUES ('215','Lion Hall','0','200000','Clan hall located in Floran Village','Floran','0','1','0');
+INSERT IGNORE INTO `clanhall` VALUES ('216','Puma Hall','0','200000','Clan hall located in Floran Village','Floran','0','1','0');
Index: data/html/clanHallManager/teleOren2.htm
===================================================================
--- data/html/clanHallManager/teleOren2.htm (revision 0)
+++ data/html/clanHallManager/teleOren2.htm (revision 0)
 -0,0 +1,6 @@
+<html><body>&$556;<br><br>
+<a action="bypass -h npc_%objectId%_goto 582" msg="811;Village Square">Village Square - 500 </a><br1>
+<a action="bypass -h npc_%objectId%_goto 1076" msg="811;Skyshadow Meadow">Skyshadow Meadow - 780  </a><br1>
+<a action="bypass -h npc_%objectId%_goto 97" msg="811;Plains of Lizardmen">Plains of Lizardmen - 1900  </a><br1>
+<a action="bypass -h npc_%objectId%_goto 1077" msg="811;Outlaw Forest">Forest Outlaw - 5200  </a><br1>
+</body></html>
\ No newline at end of file
Index: data/html/clanHallManager/teleHunters1.htm
===================================================================
--- data/html/clanHallManager/teleHunters1.htm (revision 0)
+++ data/html/clanHallManager/teleHunters1.htm (revision 0)
 -0,0 +1,3 @@
+<html><body>&$556;<br><br>
+<a action="bypass -h npc_%objectId%_goto 608" msg="811;Village Square">Village Square - 500</a><br1>
+</body></html>
\ No newline at end of file
Index: data/html/clanHallDoormen/doormen-tele.htm
===================================================================
--- data/html/clanHallDoormen/doormen-tele.htm (revision 0)
+++ data/html/clanHallDoormen/doormen-tele.htm (revision 0)
 -0,0 +1,9 @@
+<html><body>
+Oh, how are you?<br>
+It is an honor to serve a member of clan <font color="00FFFF">%clanname%</font>.<br>
+What may I do for you?<br>
+<center>
+<br><button action="bypass -h npc_%objectId%_open_doors" value="Teleport inside" width=120 height=24 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF">
+<br><button action="bypass -h npc_%objectId%_close_doors" value="Teleport outside" width=120 height=24 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF">
+</center>
+</body></html>
\ No newline at end of file
Index: data/html/clanHallManager/teleHunters2.htm
===================================================================
--- data/html/clanHallManager/teleHunters2.htm (revision 0)
+++ data/html/clanHallManager/teleHunters2.htm (revision 0)
 -0,0 +1,6 @@
+<html><body>&$556;<br><br>
+<a action="bypass -h npc_%objectId%_goto 608" msg="811;Village Square">Village Square - 500</a><br1>
+<a action="bypass -h npc_%objectId%_goto 99" msg="811;Northern Pathway of Enchanted Valley">Northern Pathway of Enchanted Valley - 3600</a><br1>
+<a action="bypass -h npc_%objectId%_goto 100" msg="811;Southern Pathway of Enchanted Valley">Southern Pathway of Enchanted Valley - 1300</a><br1>
+<a action="bypass -h npc_%objectId%_goto 101" msg="811;Entrance to the Forest of Mirrors">Entrance to the Forest of Mirrors - 2000</a><br1>
+</body></html>
\ No newline at end of file
Index: data/scripts.cfg
===================================================================
--- data/scripts.cfg (revision 7177)
+++ data/scripts.cfg (working copy)
 -599,6 +599,7 @@
 custom/IOPRace/IOPRace.java
 custom/PinsAndPouchUnseal/PinsAndPouchUnseal.java
 custom/SkillTransfer/SkillTransfer.java
+custom/CustomClanHalls/CustomClanHalls.java
 
 # Events
 events/CharacterBirthday/CharacterBirthday.java
Index: data/scripts/custom/CustomClanHalls/CustomClanHalls.java
===================================================================
--- data/scripts/custom/CustomClanHalls/CustomClanHalls.java (revision 0)
+++ data/scripts/custom/CustomClanHalls/CustomClanHalls.java (revision 0)
 -0,0 +1,103 @@
    /*
     * 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 custom.CustomClanHalls;
   
    import com.l2jserver.Config;
    import com.l2jserver.gameserver.model.quest.Quest;
   
    /**
     * @author Gnacik
     */
    public class CustomClanHalls extends Quest
    {
           public CustomClanHalls(int id, String name, String descr)
           {
                  super(id, name, descr);
                 
                  if (Config.USE_CUSTOM_CLANHALLS)
                  {
                         _log.info("Custom ClanHalls active, spawning NPC's");
                         // Titanum Chamber
                         addSpawn(30772, 80634, 56474, -1560, 47997, false, 0);
                         addSpawn(30772, 80622, 56732, -1545, 16962, false, 0);
                         addSpawn(35441, 80769, 56740, -1545, 17358, false, 0);
                         
                         // Knights Chamber
                         addSpawn(30773, 83132, 56281, -1510, 14750, false, 0);
                         addSpawn(30773, 82993, 56135, -1525, 48920, false, 0);
                         addSpawn(35443, 82976, 56275, -1510, 16905, false, 0);
                         
                         // Phoenix Chamber
                         addSpawn(35440, 81618, 53136, -1483, 49151, false, 0);
                         addSpawn(35440, 81751, 53278, -1496, 15640, false, 0);
                         addSpawn(35451, 81775, 53138, -1483, 49700, false, 0);
                         
                         // Waterfall Hall
                         addSpawn(30772, 114260, 217223, -3550, 0, false, 0 );
                         addSpawn(30772, 114184, 217225, -3547, 32767, false, 0 );
                         addSpawn(35441, 113954, 217226, -3628, 32964, false, 0 );
                         
                         // Giants Hall
                         addSpawn(30773, 114107, 222400, -3547, 16011, false, 0 );
                         addSpawn(30773, 114044, 222490, -3547, 49151, false, 0 );
                         addSpawn(35443, 114047, 222708, -3626, 16058, false, 0 );
                         
                         // Earth Hall
                         addSpawn(35440, 108622, 222209, -3520, 16109, false, 0 );
                         addSpawn(35440, 108623, 222118, -3522, 48539, false, 0 );
                         addSpawn(35441, 108620, 222411, -3599, 17251, false, 0 );
                         
                         // Wenus Chamber
                         addSpawn(30772, 108635, 218169, -3646, 33807, false, 0 );
                         addSpawn(30772, 108885, 218007, -3645, 15344, false, 0 );
                         addSpawn(35443, 108967, 218009, -3645, 16818, false, 0 );
                         
                         // Saturn Chamber
                         addSpawn(30773, 107878, 220906, -3585, 17184, false, 0 );
                         addSpawn(30773, 107718, 220671, -3584, 65220, false, 0 );
                         addSpawn(35443, 107716, 220589, -3584,   193, false, 0 );
                         
                         // Hunters Hall
                         addSpawn(30772, 120792, 77066, -2129, 51707, false, 0 );
                         addSpawn(30772, 120753, 77157, -2143, 18809, false, 0 );
                         addSpawn(35441, 120931, 77111, -2128, 51052, false, 0 );
                         
                         // Forbidden Hall
                         addSpawn(30773, 119917, 78354, -1803,  7348, false, 0 );
                         addSpawn(30773, 119765, 78403, -1820, 36123, false, 0 );
                         addSpawn(35443, 119833, 78450, -1802,  7152, false, 0 );
                         
                         // Enchanted Hall
                         addSpawn(35440, 118983, 79624, -1612, 57343, false, 0 );
                         addSpawn(35440, 119025, 79784, -1596, 24027, false, 0 );
                         addSpawn(35441, 118931, 79701, -1596, 22723, false, 0 );
                         
                         // Lion Hall
                         addSpawn(30772, 17155, 169757, -3483, 46596, false, 0 );
                         addSpawn(30772, 17257, 169844, -3500, 15229, false, 0 );
                         addSpawn(35443, 17274, 169753, -3483, 49151, false, 0 );
                         
                         // Puma Hall
                         addSpawn(30773, 17883, 170530, -3504, 49400, false, 0 );
                         addSpawn(30773, 17982, 170638, -3488, 16699, false, 0 );
                         addSpawn(35443, 17874, 170637, -3488, 16383, false, 0 );
                  }
           }
   
           public static void main(String[] args)
           {
                  new CustomClanHalls(-1, "CustomClanHalls", "custom");
           }
    }
Index: data/html/clanHallManager/teleOren1.htm
===================================================================
--- data/html/clanHallManager/teleOren1.htm (revision 0)
+++ data/html/clanHallManager/teleOren1.htm (revision 0)
 -0,0 +1,3 @@
+<html><body>&$556;<br><br>
+<a action="bypass -h npc_%objectId%_goto 582" msg="811;Village Square">Village Square - 500</a><br1>
+</body></html>
\ No newline at end of file
Index: data/html/clanHallManager/teleHeine1.htm
===================================================================
--- data/html/clanHallManager/teleHeine1.htm (revision 0)
+++ data/html/clanHallManager/teleHeine1.htm (revision 0)
 -0,0 +1,3 @@
+<html><body>&$556;<br><br>
+<a action="bypass -h npc_%objectId%_goto 107" msg="811;Village Square">Village Square - 8500</a><br1>
+</body></html>
\ No newline at end of file
Index: data/html/clanHallManager/teleFloran2.htm
===================================================================
--- data/html/clanHallManager/teleFloran2.htm (revision 0)
+++ data/html/clanHallManager/teleFloran2.htm (revision 0)
 -0,0 +1,6 @@
+<html><body>&$556;<br><br>
+<a action="bypass -h npc_%objectId%_goto 508" msg="811;Village Square">Village Square - 500</a><br1>
+<a action="bypass -h npc_%objectId%_goto 513" msg="811;Floran Agricultural Area">Floran Agricultural Area - 500</a><br1>
+<a action="bypass -h npc_%objectId%_goto 507" msg="811;Town of Dion">Town of Dion - 500</a><br1>
+<a action="bypass -h npc_%objectId%_goto 514" msg="811;Plains of Dion">Plains of Dion - 500</a><br1>
+</body></html>
\ No newline at end of file
Index: data/html/clanHallManager/teleHeine2.htm
===================================================================
--- data/html/clanHallManager/teleHeine2.htm (revision 0)
+++ data/html/clanHallManager/teleHeine2.htm (revision 0)
 -0,0 +1,7 @@
+<html><body>&$556;<br><br>
+<a action="bypass -h npc_%objectId%_goto 107" msg="811;Village Square">Village Square - 8500</a><br1>
+<a action="bypass -h npc_%objectId%_goto 200918" msg="811;Isle of Prayer">Isle of Prayer - 7200</a><br1>
+<a action="bypass -h npc_%objectId%_goto 66" msg="811;Field of Silence">Field of Silence - 2500 Adena</a><br1>
+<a action="bypass -h npc_%objectId%_goto 67" msg="811;Field of Whispers">Field of Whispers - 2300 Adena</a><br1>
+<a action="bypass -h npc_%objectId%_goto 68" msg="811;Alligator Islands">Alligator Islands - 2100 Adena</a><br1>
+</body></html>
\ No newline at end of file
Index: sql/npc.sql
===================================================================
--- sql/npc.sql (revision 7177)
+++ sql/npc.sql (working copy)
 -9852,4 +9852,7 @@
 (36596,36596,'Supplies Safe',0,'',0,'LineageMonster.mimic',8.50,8.50,80,'male','L2Monster',40,5198,1859,0.00,0.00,40,43,30,21,20,20,0,0,1952,577,905,469,253,0,333,0,0,0,0,80,1,0,0,'LAST_HIT','false'),
 (36597,36597,'Supplies Safe',0,'',0,'LineageMonster.mimic',8.50,8.50,80,'male','L2Monster',40,5198,1859,0.00,0.00,40,43,30,21,20,20,0,0,1952,577,905,469,253,0,333,0,0,0,0,80,1,0,0,'LAST_HIT','false'),
 (36598,36598,'Supplies Safe',0,'',0,'LineageMonster.mimic',8.50,8.50,80,'male','L2Monster',40,5198,1859,0.00,0.00,40,43,30,21,20,20,0,0,1952,577,905,469,253,0,333,0,0,0,0,80,1,0,0,'LAST_HIT','false'),
-(36599,36599,'Supplies Safe',0,'',0,'LineageMonster.mimic',8.50,8.50,80,'male','L2Monster',40,5198,1859,0.00,0.00,40,43,30,21,20,20,0,0,1952,577,905,469,253,0,333,0,0,0,0,80,1,0,0,'LAST_HIT','false');
\ No newline at end of file
+(36599,36599,'Supplies Safe',0,'',0,'LineageMonster.mimic',8.50,8.50,80,'male','L2Monster',40,5198,1859,0.00,0.00,40,43,30,21,20,20,0,0,1952,577,905,469,253,0,333,0,0,0,0,80,1,0,0,'LAST_HIT','false');
+
+-- Custom Clan Halls Npcs
+UPDATE `npc` SET type='L2ClanHallTeleporter', title='Clan Hall Teleporter',serverSideTitle='1' WHERE id IN (30772, 30773, 35440);
#P L2_GameServer
Index: java/com/l2jserver/Config.java
===================================================================
--- java/com/l2jserver/Config.java (revision 4001)
+++ java/com/l2jserver/Config.java (working copy)
 -662,7 +662,7 @@
  public static List<String> L2JMOD_MULTILANG_ALLOWED = new ArrayList<String>();
  public static String L2JMOD_MULTILANG_DEFAULT;
  public static boolean L2JMOD_MULTILANG_VOICED_ALLOW;
-
+ public static boolean USE_CUSTOM_CLANHALLS;
  //--------------------------------------------------
  // NPC Settings
  //--------------------------------------------------
 -2187,6 +2187,7 @@
  if (!L2JMOD_MULTILANG_ALLOWED.contains(L2JMOD_MULTILANG_DEFAULT))
  _log.warning("MultiLang[Config.load()]: default language: " + L2JMOD_MULTILANG_DEFAULT + " is not in allowed list !");
  L2JMOD_MULTILANG_VOICED_ALLOW = Boolean.parseBoolean(L2JModSettings.getProperty("MultiLangVoiceCommand", "True"));
+ USE_CUSTOM_CLANHALLS = Boolean.parseBoolean(L2JModSettings.getProperty("UseCustomClanHalls", "True"));
  }
  catch (Exception e)
  {
Index: java/com/l2jserver/gameserver/model/actor/instance/L2ClanHallTeleporterInstance.java
===================================================================
--- java/com/l2jserver/gameserver/model/actor/instance/L2ClanHallTeleporterInstance.java (revision 0)
+++ java/com/l2jserver/gameserver/model/actor/instance/L2ClanHallTeleporterInstance.java (revision 0)
 -0,0 +1,132 @@
+/*
+ * 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.l2jserver.gameserver.model.actor.instance;
+
+import com.l2jserver.gameserver.datatables.ClanTable;
+import com.l2jserver.gameserver.datatables.MapRegionTable;
+import com.l2jserver.gameserver.instancemanager.ClanHallManager;
+import com.l2jserver.gameserver.model.L2Clan;
+import com.l2jserver.gameserver.model.Location;
+import com.l2jserver.gameserver.model.entity.ClanHall;
+import com.l2jserver.gameserver.network.serverpackets.ActionFailed;
+import com.l2jserver.gameserver.network.serverpackets.NpcHtmlMessage;
+import com.l2jserver.gameserver.templates.chars.L2NpcTemplate;
+
+public class L2ClanHallTeleporterInstance extends L2DoormenInstance
+{
+ private boolean _init = false;
+ private ClanHall _clanHall = null;
+
+ public L2ClanHallTeleporterInstance(int objectID, L2NpcTemplate template)
+ {
+ super(objectID, template);
+ setInstanceType(InstanceType.L2ClanHallDoormenInstance);
+ }
+
+ @Override
+ public void showChatWindow(L2PcInstance player)
+ {
+ player.sendPacket(ActionFailed.STATIC_PACKET);
+
+ NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
+
+ if (getClanHall() != null)
+ {
+ L2Clan owner = ClanTable.getInstance().getClan(getClanHall().getOwnerId());
+ if (isOwnerClan(player))
+ {
+ html.setFile(player.getHtmlPrefix(), "data/html/clanHallDoormen/doormen-tele.htm");
+ html.replace("%clanname%", owner.getName());
+ }
+ else
+ {
+ if (owner != null && owner.getLeader() != null)
+ {
+ html.setFile(player.getHtmlPrefix(), "data/html/clanHallDoormen/doormen-no.htm");
+ html.replace("%leadername%", owner.getLeaderName());
+ html.replace("%clanname%", owner.getName());
+ }
+ else
+ {
+ html.setFile(player.getHtmlPrefix(), "data/html/clanHallDoormen/emptyowner.htm");
+ html.replace("%hallname%", getClanHall().getName());
+ }
+ }
+ }
+ else
+ return;
+
+ html.replace("%objectId%", String.valueOf(getObjectId()));
+ player.sendPacket(html);
+ }
+
+ @Override
+ protected final void openDoors(L2PcInstance player, String command)
+ {
+ Location _loc = getClanHall().getZone().getSpawnLoc();
+
+ if (_loc != null)
+ {
+ player.teleToLocation(_loc, false);
+ if (player.getPet() != null)
+ player.getPet().teleToLocation(_loc, false);
+ }
+ }
+
+ @Override
+ protected final void closeDoors(L2PcInstance player, String command)
+ {
+ Location _loc = getClanHall().getZone().getChaoticSpawnLoc();
+ if (_loc != null)
+ {
+ player.teleToLocation(_loc, false);
+ if (player.getPet() != null)
+ player.getPet().teleToLocation(_loc, false);
+ }
+ else
+ {
+ player.teleToLocation(MapRegionTable.TeleportWhereType.Town);
+ if (player.getPet() != null)
+ player.getPet().teleToLocation(MapRegionTable.TeleportWhereType.Town);
+ }
+ }
+
+ private final ClanHall getClanHall()
+ {
+ if (!_init)
+ {
+ synchronized (this)
+ {
+ if (!_init)
+ {
+ _clanHall = ClanHallManager.getInstance().getNearbyClanHall(getX(), getY(), 500);
+ _init = true;
+ }
+ }
+ }
+ return _clanHall;
+ }
+
+ @Override
+ protected final boolean isOwnerClan(L2PcInstance player)
+ {
+ if (player.getClan() != null && getClanHall() != null)
+ {
+ if (player.getClanId() == getClanHall().getOwnerId())
+ return true;
+ }
+ return false;
+ }
+}
\ No newline at end of file
Index: java/com/l2jserver/gameserver/instancemanager/AuctionManager.java
===================================================================
--- java/com/l2jserver/gameserver/instancemanager/AuctionManager.java (revision 4001)
+++ java/com/l2jserver/gameserver/instancemanager/AuctionManager.java (working copy)
 -21,6 +21,7 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
+import com.l2jserver.Config;
 import com.l2jserver.L2DatabaseFactory;
 import com.l2jserver.gameserver.model.entity.Auction;
 
 -70,13 +71,27 @@
  "(58, 0, 'NPC', 'NPC Clan', 'ClanHall', 58, 0, 'Eisen Hall', 1, 50000000, 0, 1164841200000)",
  "(59, 0, 'NPC', 'NPC Clan', 'ClanHall', 59, 0, 'Heavy Metal Hall', 1, 50000000, 0, 1164841200000)",
  "(60, 0, 'NPC', 'NPC Clan', 'ClanHall', 60, 0, 'Molten Ore Hall', 1, 50000000, 0, 1164841200000)",
- "(61, 0, 'NPC', 'NPC Clan', 'ClanHall', 61, 0, 'Titan Hall', 1, 50000000, 0, 1164841200000)"
+ "(61, 0, 'NPC', 'NPC Clan', 'ClanHall', 61, 0, 'Titan Hall', 1, 50000000, 0, 1164841200000)",
+ "(201,0, 'NPC', 'NPC Clan', 'ClanHall',201, 0, 'Titanum Chamber', 1, 50000000, 0, 1164841200000)",
+ "(202,0, 'NPC', 'NPC Clan', 'ClanHall',202, 0, 'Knights Chamber', 1, 50000000, 0, 1164841200000)",
+ "(203,0, 'NPC', 'NPC Clan', 'ClanHall',203, 0, 'Phoenix Chamber', 1, 50000000, 0, 1164841200000)",
+ "(205,0, 'NPC', 'NPC Clan', 'ClanHall',205, 0, 'Waterfall Hall', 1, 50000000, 0, 1164841200000)",
+ "(206,0, 'NPC', 'NPC Clan', 'ClanHall',206, 0, 'Giants Hall', 1, 50000000, 0, 1164841200000)",
+ "(207,0, 'NPC', 'NPC Clan', 'ClanHall',207, 0, 'Earth Hall', 1, 50000000, 0, 1164841200000)",
+ "(208,0, 'NPC', 'NPC Clan', 'ClanHall',208, 0, 'Wenus Chamber', 1, 50000000, 0, 1164841200000)",
+ "(209,0, 'NPC', 'NPC Clan', 'ClanHall',209, 0, 'Saturn Chamber', 1, 50000000, 0, 1164841200000)",
+ "(210,0, 'NPC', 'NPC Clan', 'ClanHall',210, 0, 'Hunters Hall', 1, 50000000, 0, 1164841200000)",
+ "(211,0, 'NPC', 'NPC Clan', 'ClanHall',211, 0, 'Forbidden Hall', 1, 50000000, 0, 1164841200000)",
+ "(212,0, 'NPC', 'NPC Clan', 'ClanHall',212, 0, 'Enchanted Hall', 1, 50000000, 0, 1164841200000)",
+ "(215,0, 'NPC', 'NPC Clan', 'ClanHall',215, 0, 'Lion Hall', 1, 50000000, 0, 1164841200000)",
+ "(216,0, 'NPC', 'NPC Clan', 'ClanHall',216, 0, 'Puma Hall', 1, 50000000, 0, 1164841200000)"
  };
 
  private static final Integer[] ItemInitDataId =
  {
  22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61
+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
+ 201, 202, 203, 205, 206, 207, 208, 209, 210, 211, 212, 215, 216
  };
 
  public static final AuctionManager getInstance()
 -158,6 +173,9 @@
  /** Init Clan NPC aution */
  public void initNPC(int id)
  {
+ if (id >= 200 && !Config.USE_CUSTOM_CLANHALLS)
+ return;
+
  Connection con = null;
  int i;
  for (i = 0; i < ItemInitDataId.length; i++)
Index: java/config/l2jmods.properties
===================================================================
--- java/config/l2jmods.properties (revision 4001)
+++ java/config/l2jmods.properties (working copy)
 -355,3 +355,6 @@
 # Default: True
 MultiLangVoiceCommand = True
 
+# Custom ClanHalls
+# Default: False
+UseCustomClanHalls = False