CommunityBoard teleport protection system.
This commit is contained in:
parent
4e648532ab
commit
50cf2ca0e4
@ -65,3 +65,29 @@ CommunityPremiumPricePerDay = 1000000
|
||||
# List of available buffs to avoid exploits.
|
||||
# Usage: SkillId1,SkillId2...
|
||||
CommunityAvailableBuffs = 11517,11522,11519,11520,11521,11518,11565,11824,11567,11615,11616,11529,11530,11532,11523,11524,11525,1259,982,5987,5988,1323
|
||||
|
||||
# List of available teleports to avoid exploits.
|
||||
# Usage: TeleportName1,X1,Y1,Z1;TeleportName2,X2,Y2,Z2...
|
||||
# the "\" indicates a new line
|
||||
CommunityTeleportList = \
|
||||
Giran,82698,148638,-3473;\
|
||||
Aden,147450,27064,-2208;\
|
||||
Goddard,147725,-56517,-2780;\
|
||||
Rune,44070,-50243,-796;\
|
||||
Dion,18748,145437,-3132;\
|
||||
Oren,82321,55139,-1529;\
|
||||
Gludio,-14225,123540,-3121;\
|
||||
Schuttgart,87358,-141982,-1341;\
|
||||
Heine,111115,219017,-3547;\
|
||||
Gludin,-83063,150791,-3133;\
|
||||
Hunters,116589,76268,-2734;\
|
||||
Arcan,207320,87617,-1112;\
|
||||
TalkingIsland,-114351,255286,-1520;\
|
||||
Dwarven,116551,-182493,-1525;\
|
||||
Orc,-44211,-113521,-241;\
|
||||
DarkElven,12428,16551,-4588;\
|
||||
Elven,45873,49288,-3064;\
|
||||
Kamael,-116934,46616,368;\
|
||||
Ertheia,-80353,247981,-3507;\
|
||||
Floran,17144,170156,-3502;\
|
||||
Gainak,16358,-114071,-229;
|
||||
|
@ -49,24 +49,24 @@
|
||||
<td align="center">
|
||||
<table align=center border="0" height=45>
|
||||
<tr>
|
||||
<td><button value="Giran" action="bypass _bbsteleport;82698,148638,-3473" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Aden" action="bypass _bbsteleport;147450,27064,-2208" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Goddard" action="bypass _bbsteleport;147725,-56517,-2780" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Giran" action="bypass _bbsteleport;Giran" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Aden" action="bypass _bbsteleport;Aden" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Goddard" action="bypass _bbsteleport;Goddard" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><button value="Rune" action="bypass _bbsteleport;44070,-50243,-796" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Dion" action="bypass _bbsteleport;18748,145437,-3132" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Oren" action="bypass _bbsteleport;82321,55139,-1529" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Rune" action="bypass _bbsteleport;Rune" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Dion" action="bypass _bbsteleport;Dion" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Oren" action="bypass _bbsteleport;Oren" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><button value="Gludio" action="bypass _bbsteleport;-14225,123540,-3121" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Schuttgart" action="bypass _bbsteleport;87358,-141982,-1341" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Heine" action="bypass _bbsteleport;111115,219017,-3547" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Gludio" action="bypass _bbsteleport;Gludio" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Schuttgart" action="bypass _bbsteleport;Schuttgart" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Heine" action="bypass _bbsteleport;Heine" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><button value="Gludin" action="bypass _bbsteleport;-83063,150791,-3133" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Hunters" action="bypass _bbsteleport;116589,76268,-2734" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Arcan" action="bypass _bbsteleport;207320,87617,-1112" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Gludin" action="bypass _bbsteleport;Gludin" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Hunters" action="bypass _bbsteleport;Hunters" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Arcan" action="bypass _bbsteleport;Arcan" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
</tr>
|
||||
</table>
|
||||
<table align=center border="0">
|
||||
@ -84,19 +84,19 @@
|
||||
</table>
|
||||
<table align=center border="0" height=45>
|
||||
<tr>
|
||||
<td><button value="Talking Island" action="bypass _bbsteleport;-114351,255286,-1520" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Dwarven" action="bypass _bbsteleport;116551,-182493,-1525" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Orc" action="bypass _bbsteleport;-44211,-113521,-241" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Talking Island" action="bypass _bbsteleport;TalkingIsland" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Dwarven" action="bypass _bbsteleport;Dwarven" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Orc" action="bypass _bbsteleport;Orc" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><button value="Dark Elven" action="bypass _bbsteleport;12428,16551,-4588" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Elven" action="bypass _bbsteleport;45873,49288,-3064" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Kamael" action="bypass _bbsteleport;-116934,46616,368" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Dark Elven" action="bypass _bbsteleport;DarkElven" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Elven" action="bypass _bbsteleport;Elven" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Kamael" action="bypass _bbsteleport;Kamael" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><button value="Ertheia" action="bypass _bbsteleport;-80353,247981,-3507" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Floran" action="bypass _bbsteleport;17144,170156,-3502" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Gainak" action="bypass _bbsteleport;16358,-114071,-229" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Ertheia" action="bypass _bbsteleport;Ertheia" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Floran" action="bypass _bbsteleport;Floran" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Gainak" action="bypass _bbsteleport;Gainak" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
|
@ -159,20 +159,16 @@ public final class HomeBoard implements IParseBoardHandler
|
||||
}
|
||||
else if (command.startsWith("_bbsteleport"))
|
||||
{
|
||||
final String fullBypass = command.replace("_bbsteleport;", "");
|
||||
final String[] buypassOptions = fullBypass.split(",");
|
||||
final int x = Integer.parseInt(buypassOptions[0]);
|
||||
final int y = Integer.parseInt(buypassOptions[1]);
|
||||
final int z = Integer.parseInt(buypassOptions[2]);
|
||||
final String teleBuypass = command.replace("_bbsteleport;", "");
|
||||
if (activeChar.getInventory().getInventoryItemCount(Config.COMMUNITYBOARD_CURRENCY, -1) < Config.COMMUNITYBOARD_TELEPORT_PRICE)
|
||||
{
|
||||
activeChar.sendMessage("Not enough currency!");
|
||||
}
|
||||
else
|
||||
else if (Config.COMMUNITY_AVAILABLE_TELEPORTS.get(teleBuypass) != null)
|
||||
{
|
||||
activeChar.sendPacket(new ShowBoard());
|
||||
activeChar.destroyItemByItemId("CB_Teleport", Config.COMMUNITYBOARD_CURRENCY, Config.COMMUNITYBOARD_TELEPORT_PRICE, activeChar, true);
|
||||
activeChar.teleToLocation(x, y, z, 0);
|
||||
activeChar.teleToLocation(Config.COMMUNITY_AVAILABLE_TELEPORTS.get(teleBuypass), 0);
|
||||
}
|
||||
}
|
||||
else if (command.startsWith("_bbsbuff"))
|
||||
|
@ -1074,6 +1074,7 @@ public final class Config
|
||||
public static int COMMUNITY_PREMIUM_COIN_ID;
|
||||
public static int COMMUNITY_PREMIUM_PRICE_PER_DAY;
|
||||
public static List<Integer> COMMUNITY_AVAILABLE_BUFFS;
|
||||
public static Map<String, Location> COMMUNITY_AVAILABLE_TELEPORTS;
|
||||
public static boolean FACTION_SYSTEM_ENABLED;
|
||||
public static Location FACTION_STARTING_LOCATION;
|
||||
public static int FACTION_MANAGER_NPCID;
|
||||
@ -2368,6 +2369,13 @@ public final class Config
|
||||
{
|
||||
COMMUNITY_AVAILABLE_BUFFS.add(Integer.parseInt(s));
|
||||
}
|
||||
final String[] availableTeleports = CommunityBoard.getString("CommunityTeleportList", "").split(";");
|
||||
COMMUNITY_AVAILABLE_TELEPORTS = new HashMap<>(availableTeleports.length);
|
||||
for (String s : availableTeleports)
|
||||
{
|
||||
final String splitInfo[] = s.split(",");
|
||||
COMMUNITY_AVAILABLE_TELEPORTS.put(splitInfo[0], new Location(Integer.parseInt(splitInfo[1]), Integer.parseInt(splitInfo[2]), Integer.parseInt(splitInfo[3])));
|
||||
}
|
||||
|
||||
// Load DebugVoiceCommand config file (if exists)
|
||||
final PropertiesParser DebugVoiceCommand = new PropertiesParser(CUSTOM_DEBUG_VOICE_COMMAND_CONFIG_FILE);
|
||||
|
@ -65,3 +65,29 @@ CommunityPremiumPricePerDay = 1000000
|
||||
# List of available buffs to avoid exploits.
|
||||
# Usage: SkillId1,SkillId2...
|
||||
CommunityAvailableBuffs = 11517,11522,11519,11520,11521,11518,11565,11824,11567,11615,11616,11529,11530,11532,11523,11524,11525,1259,982,5987,5988,1323
|
||||
|
||||
# List of available teleports to avoid exploits.
|
||||
# Usage: TeleportName1,X1,Y1,Z1;TeleportName2,X2,Y2,Z2...
|
||||
# the "\" indicates a new line
|
||||
CommunityTeleportList = \
|
||||
Giran,82698,148638,-3473;\
|
||||
Aden,147450,27064,-2208;\
|
||||
Goddard,147725,-56517,-2780;\
|
||||
Rune,44070,-50243,-796;\
|
||||
Dion,18748,145437,-3132;\
|
||||
Oren,82321,55139,-1529;\
|
||||
Gludio,-14225,123540,-3121;\
|
||||
Schuttgart,87358,-141982,-1341;\
|
||||
Heine,111115,219017,-3547;\
|
||||
Gludin,-83063,150791,-3133;\
|
||||
Hunters,116589,76268,-2734;\
|
||||
Arcan,207320,87617,-1112;\
|
||||
TalkingIsland,-114351,255286,-1520;\
|
||||
Dwarven,116551,-182493,-1525;\
|
||||
Orc,-44211,-113521,-241;\
|
||||
DarkElven,12428,16551,-4588;\
|
||||
Elven,45873,49288,-3064;\
|
||||
Kamael,-116934,46616,368;\
|
||||
Ertheia,-80353,247981,-3507;\
|
||||
Floran,17144,170156,-3502;\
|
||||
Gainak,16358,-114071,-229;
|
||||
|
@ -49,24 +49,24 @@
|
||||
<td align="center">
|
||||
<table align=center border="0" height=45>
|
||||
<tr>
|
||||
<td><button value="Giran" action="bypass _bbsteleport;82698,148638,-3473" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Aden" action="bypass _bbsteleport;147450,27064,-2208" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Goddard" action="bypass _bbsteleport;147725,-56517,-2780" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Giran" action="bypass _bbsteleport;Giran" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Aden" action="bypass _bbsteleport;Aden" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Goddard" action="bypass _bbsteleport;Goddard" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><button value="Rune" action="bypass _bbsteleport;44070,-50243,-796" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Dion" action="bypass _bbsteleport;18748,145437,-3132" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Oren" action="bypass _bbsteleport;82321,55139,-1529" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Rune" action="bypass _bbsteleport;Rune" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Dion" action="bypass _bbsteleport;Dion" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Oren" action="bypass _bbsteleport;Oren" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><button value="Gludio" action="bypass _bbsteleport;-14225,123540,-3121" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Schuttgart" action="bypass _bbsteleport;87358,-141982,-1341" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Heine" action="bypass _bbsteleport;111115,219017,-3547" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Gludio" action="bypass _bbsteleport;Gludio" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Schuttgart" action="bypass _bbsteleport;Schuttgart" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Heine" action="bypass _bbsteleport;Heine" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><button value="Gludin" action="bypass _bbsteleport;-83063,150791,-3133" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Hunters" action="bypass _bbsteleport;116589,76268,-2734" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Arcan" action="bypass _bbsteleport;207320,87617,-1112" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Gludin" action="bypass _bbsteleport;Gludin" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Hunters" action="bypass _bbsteleport;Hunters" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Arcan" action="bypass _bbsteleport;Arcan" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
</tr>
|
||||
</table>
|
||||
<table align=center border="0">
|
||||
@ -84,19 +84,19 @@
|
||||
</table>
|
||||
<table align=center border="0" height=45>
|
||||
<tr>
|
||||
<td><button value="Talking Island" action="bypass _bbsteleport;-114351,255286,-1520" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Dwarven" action="bypass _bbsteleport;116551,-182493,-1525" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Orc" action="bypass _bbsteleport;-44211,-113521,-241" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Talking Island" action="bypass _bbsteleport;TalkingIsland" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Dwarven" action="bypass _bbsteleport;Dwarven" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Orc" action="bypass _bbsteleport;Orc" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><button value="Dark Elven" action="bypass _bbsteleport;12428,16551,-4588" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Elven" action="bypass _bbsteleport;45873,49288,-3064" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Kamael" action="bypass _bbsteleport;-116934,46616,368" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Dark Elven" action="bypass _bbsteleport;DarkElven" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Elven" action="bypass _bbsteleport;Elven" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Kamael" action="bypass _bbsteleport;Kamael" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><button value="Ertheia" action="bypass _bbsteleport;-80353,247981,-3507" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Floran" action="bypass _bbsteleport;17144,170156,-3502" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Gainak" action="bypass _bbsteleport;16358,-114071,-229" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Ertheia" action="bypass _bbsteleport;Ertheia" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Floran" action="bypass _bbsteleport;Floran" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Gainak" action="bypass _bbsteleport;Gainak" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
|
@ -159,20 +159,16 @@ public final class HomeBoard implements IParseBoardHandler
|
||||
}
|
||||
else if (command.startsWith("_bbsteleport"))
|
||||
{
|
||||
final String fullBypass = command.replace("_bbsteleport;", "");
|
||||
final String[] buypassOptions = fullBypass.split(",");
|
||||
final int x = Integer.parseInt(buypassOptions[0]);
|
||||
final int y = Integer.parseInt(buypassOptions[1]);
|
||||
final int z = Integer.parseInt(buypassOptions[2]);
|
||||
final String teleBuypass = command.replace("_bbsteleport;", "");
|
||||
if (activeChar.getInventory().getInventoryItemCount(Config.COMMUNITYBOARD_CURRENCY, -1) < Config.COMMUNITYBOARD_TELEPORT_PRICE)
|
||||
{
|
||||
activeChar.sendMessage("Not enough currency!");
|
||||
}
|
||||
else
|
||||
else if (Config.COMMUNITY_AVAILABLE_TELEPORTS.get(teleBuypass) != null)
|
||||
{
|
||||
activeChar.sendPacket(new ShowBoard());
|
||||
activeChar.destroyItemByItemId("CB_Teleport", Config.COMMUNITYBOARD_CURRENCY, Config.COMMUNITYBOARD_TELEPORT_PRICE, activeChar, true);
|
||||
activeChar.teleToLocation(x, y, z, 0);
|
||||
activeChar.teleToLocation(Config.COMMUNITY_AVAILABLE_TELEPORTS.get(teleBuypass), 0);
|
||||
}
|
||||
}
|
||||
else if (command.startsWith("_bbsbuff"))
|
||||
|
@ -1076,6 +1076,7 @@ public final class Config
|
||||
public static int COMMUNITY_PREMIUM_COIN_ID;
|
||||
public static int COMMUNITY_PREMIUM_PRICE_PER_DAY;
|
||||
public static List<Integer> COMMUNITY_AVAILABLE_BUFFS;
|
||||
public static Map<String, Location> COMMUNITY_AVAILABLE_TELEPORTS;
|
||||
public static boolean FACTION_SYSTEM_ENABLED;
|
||||
public static Location FACTION_STARTING_LOCATION;
|
||||
public static int FACTION_MANAGER_NPCID;
|
||||
@ -2372,6 +2373,13 @@ public final class Config
|
||||
{
|
||||
COMMUNITY_AVAILABLE_BUFFS.add(Integer.parseInt(s));
|
||||
}
|
||||
final String[] availableTeleports = CommunityBoard.getString("CommunityTeleportList", "").split(";");
|
||||
COMMUNITY_AVAILABLE_TELEPORTS = new HashMap<>(availableTeleports.length);
|
||||
for (String s : availableTeleports)
|
||||
{
|
||||
final String splitInfo[] = s.split(",");
|
||||
COMMUNITY_AVAILABLE_TELEPORTS.put(splitInfo[0], new Location(Integer.parseInt(splitInfo[1]), Integer.parseInt(splitInfo[2]), Integer.parseInt(splitInfo[3])));
|
||||
}
|
||||
|
||||
// Load DebugVoiceCommand config file (if exists)
|
||||
final PropertiesParser DebugVoiceCommand = new PropertiesParser(CUSTOM_DEBUG_VOICE_COMMAND_CONFIG_FILE);
|
||||
|
@ -65,3 +65,29 @@ CommunityPremiumPricePerDay = 1000000
|
||||
# List of available buffs to avoid exploits.
|
||||
# Usage: SkillId1,SkillId2...
|
||||
CommunityAvailableBuffs = 11517,11522,11519,11520,11521,11518,11565,11824,11567,11615,11616,11529,11530,11532,11523,11524,11525,1259,982,5987,5988,1323
|
||||
|
||||
# List of available teleports to avoid exploits.
|
||||
# Usage: TeleportName1,X1,Y1,Z1;TeleportName2,X2,Y2,Z2...
|
||||
# the "\" indicates a new line
|
||||
CommunityTeleportList = \
|
||||
Giran,82698,148638,-3473;\
|
||||
Aden,147450,27064,-2208;\
|
||||
Goddard,147725,-56517,-2780;\
|
||||
Rune,44070,-50243,-796;\
|
||||
Dion,18748,145437,-3132;\
|
||||
Oren,82321,55139,-1529;\
|
||||
Gludio,-14225,123540,-3121;\
|
||||
Schuttgart,87358,-141982,-1341;\
|
||||
Heine,111115,219017,-3547;\
|
||||
Gludin,-83063,150791,-3133;\
|
||||
Hunters,116589,76268,-2734;\
|
||||
Arcan,207320,87617,-1112;\
|
||||
TalkingIsland,-114351,255286,-1520;\
|
||||
Dwarven,116551,-182493,-1525;\
|
||||
Orc,-44211,-113521,-241;\
|
||||
DarkElven,12428,16551,-4588;\
|
||||
Elven,45873,49288,-3064;\
|
||||
Kamael,-116934,46616,368;\
|
||||
Ertheia,-80353,247981,-3507;\
|
||||
Floran,17144,170156,-3502;\
|
||||
Gainak,16358,-114071,-229;
|
||||
|
@ -49,24 +49,24 @@
|
||||
<td align="center">
|
||||
<table align=center border="0" height=45>
|
||||
<tr>
|
||||
<td><button value="Giran" action="bypass _bbsteleport;82698,148638,-3473" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Aden" action="bypass _bbsteleport;147450,27064,-2208" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Goddard" action="bypass _bbsteleport;147725,-56517,-2780" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Giran" action="bypass _bbsteleport;Giran" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Aden" action="bypass _bbsteleport;Aden" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Goddard" action="bypass _bbsteleport;Goddard" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><button value="Rune" action="bypass _bbsteleport;44070,-50243,-796" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Dion" action="bypass _bbsteleport;18748,145437,-3132" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Oren" action="bypass _bbsteleport;82321,55139,-1529" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Rune" action="bypass _bbsteleport;Rune" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Dion" action="bypass _bbsteleport;Dion" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Oren" action="bypass _bbsteleport;Oren" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><button value="Gludio" action="bypass _bbsteleport;-14225,123540,-3121" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Schuttgart" action="bypass _bbsteleport;87358,-141982,-1341" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Heine" action="bypass _bbsteleport;111115,219017,-3547" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Gludio" action="bypass _bbsteleport;Gludio" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Schuttgart" action="bypass _bbsteleport;Schuttgart" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Heine" action="bypass _bbsteleport;Heine" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><button value="Gludin" action="bypass _bbsteleport;-83063,150791,-3133" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Hunters" action="bypass _bbsteleport;116589,76268,-2734" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Arcan" action="bypass _bbsteleport;207320,87617,-1112" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Gludin" action="bypass _bbsteleport;Gludin" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Hunters" action="bypass _bbsteleport;Hunters" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Arcan" action="bypass _bbsteleport;Arcan" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
</tr>
|
||||
</table>
|
||||
<table align=center border="0">
|
||||
@ -84,19 +84,19 @@
|
||||
</table>
|
||||
<table align=center border="0" height=45>
|
||||
<tr>
|
||||
<td><button value="Talking Island" action="bypass _bbsteleport;-114351,255286,-1520" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Dwarven" action="bypass _bbsteleport;116551,-182493,-1525" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Orc" action="bypass _bbsteleport;-44211,-113521,-241" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Talking Island" action="bypass _bbsteleport;TalkingIsland" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Dwarven" action="bypass _bbsteleport;Dwarven" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Orc" action="bypass _bbsteleport;Orc" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><button value="Dark Elven" action="bypass _bbsteleport;12428,16551,-4588" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Elven" action="bypass _bbsteleport;45873,49288,-3064" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Kamael" action="bypass _bbsteleport;-116934,46616,368" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Dark Elven" action="bypass _bbsteleport;DarkElven" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Elven" action="bypass _bbsteleport;Elven" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Kamael" action="bypass _bbsteleport;Kamael" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><button value="Ertheia" action="bypass _bbsteleport;-80353,247981,-3507" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Floran" action="bypass _bbsteleport;17144,170156,-3502" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Gainak" action="bypass _bbsteleport;16358,-114071,-229" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Ertheia" action="bypass _bbsteleport;Ertheia" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Floran" action="bypass _bbsteleport;Floran" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Gainak" action="bypass _bbsteleport;Gainak" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
|
@ -159,20 +159,16 @@ public final class HomeBoard implements IParseBoardHandler
|
||||
}
|
||||
else if (command.startsWith("_bbsteleport"))
|
||||
{
|
||||
final String fullBypass = command.replace("_bbsteleport;", "");
|
||||
final String[] buypassOptions = fullBypass.split(",");
|
||||
final int x = Integer.parseInt(buypassOptions[0]);
|
||||
final int y = Integer.parseInt(buypassOptions[1]);
|
||||
final int z = Integer.parseInt(buypassOptions[2]);
|
||||
final String teleBuypass = command.replace("_bbsteleport;", "");
|
||||
if (activeChar.getInventory().getInventoryItemCount(Config.COMMUNITYBOARD_CURRENCY, -1) < Config.COMMUNITYBOARD_TELEPORT_PRICE)
|
||||
{
|
||||
activeChar.sendMessage("Not enough currency!");
|
||||
}
|
||||
else
|
||||
else if (Config.COMMUNITY_AVAILABLE_TELEPORTS.get(teleBuypass) != null)
|
||||
{
|
||||
activeChar.sendPacket(new ShowBoard());
|
||||
activeChar.destroyItemByItemId("CB_Teleport", Config.COMMUNITYBOARD_CURRENCY, Config.COMMUNITYBOARD_TELEPORT_PRICE, activeChar, true);
|
||||
activeChar.teleToLocation(x, y, z, 0);
|
||||
activeChar.teleToLocation(Config.COMMUNITY_AVAILABLE_TELEPORTS.get(teleBuypass), 0);
|
||||
}
|
||||
}
|
||||
else if (command.startsWith("_bbsbuff"))
|
||||
|
@ -1076,6 +1076,7 @@ public final class Config
|
||||
public static int COMMUNITY_PREMIUM_COIN_ID;
|
||||
public static int COMMUNITY_PREMIUM_PRICE_PER_DAY;
|
||||
public static List<Integer> COMMUNITY_AVAILABLE_BUFFS;
|
||||
public static Map<String, Location> COMMUNITY_AVAILABLE_TELEPORTS;
|
||||
public static boolean FACTION_SYSTEM_ENABLED;
|
||||
public static Location FACTION_STARTING_LOCATION;
|
||||
public static int FACTION_MANAGER_NPCID;
|
||||
@ -2372,6 +2373,13 @@ public final class Config
|
||||
{
|
||||
COMMUNITY_AVAILABLE_BUFFS.add(Integer.parseInt(s));
|
||||
}
|
||||
final String[] availableTeleports = CommunityBoard.getString("CommunityTeleportList", "").split(";");
|
||||
COMMUNITY_AVAILABLE_TELEPORTS = new HashMap<>(availableTeleports.length);
|
||||
for (String s : availableTeleports)
|
||||
{
|
||||
final String splitInfo[] = s.split(",");
|
||||
COMMUNITY_AVAILABLE_TELEPORTS.put(splitInfo[0], new Location(Integer.parseInt(splitInfo[1]), Integer.parseInt(splitInfo[2]), Integer.parseInt(splitInfo[3])));
|
||||
}
|
||||
|
||||
// Load DebugVoiceCommand config file (if exists)
|
||||
final PropertiesParser DebugVoiceCommand = new PropertiesParser(CUSTOM_DEBUG_VOICE_COMMAND_CONFIG_FILE);
|
||||
|
@ -637,6 +637,28 @@ CommunityPremiumPricePerDay = 1000000
|
||||
# Usage: SkillId1,SkillId2...
|
||||
CommunityAvailableBuffs = 1077,1240,1086,1032,1073,1036,1035,1068,1040,1044,1182,1191,1033,1189,1392,1393,1303,1059,1242,1268
|
||||
|
||||
# List of available teleports to avoid exploits.
|
||||
# Usage: TeleportName1,X1,Y1,Z1;TeleportName2,X2,Y2,Z2...
|
||||
# the "\" indicates a new line
|
||||
CommunityTeleportList = \
|
||||
Giran,82698,148638,-3473;\
|
||||
Aden,147450,27064,-2208;\
|
||||
Goddard,147725,-56517,-2780;\
|
||||
Rune,44070,-50243,-796;\
|
||||
Dion,18748,145437,-3132;\
|
||||
Oren,82321,55139,-1529;\
|
||||
Gludio,-14225,123540,-3121;\
|
||||
Schuttgart,87358,-141982,-1341;\
|
||||
Heine,111115,219017,-3547;\
|
||||
Gludin,-83063,150791,-3133;\
|
||||
Hunters,116589,76268,-2734;\
|
||||
TalkingIsland,-82687,243157,-3734;\
|
||||
Dwarven,116551,-182493,-1525;\
|
||||
Orc,-44211,-113521,-241;\
|
||||
DarkElven,12428,16551,-4588;\
|
||||
Elven,45873,49288,-3064;\
|
||||
Kamael,-116934,46616,368;
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Premium System (VIP)
|
||||
|
@ -49,23 +49,23 @@
|
||||
<td align="center">
|
||||
<table align=center border="0" height=45>
|
||||
<tr>
|
||||
<td><button value="Giran" action="bypass _bbsteleport;82698,148638,-3473" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Aden" action="bypass _bbsteleport;147450,27064,-2208" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Goddard" action="bypass _bbsteleport;147725,-56517,-2780" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Giran" action="bypass _bbsteleport;Giran" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Aden" action="bypass _bbsteleport;Aden" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Goddard" action="bypass _bbsteleport;Goddard" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><button value="Rune" action="bypass _bbsteleport;44070,-50243,-796" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Dion" action="bypass _bbsteleport;18748,145437,-3132" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Oren" action="bypass _bbsteleport;82321,55139,-1529" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Rune" action="bypass _bbsteleport;Rune" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Dion" action="bypass _bbsteleport;Dion" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Oren" action="bypass _bbsteleport;Oren" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><button value="Gludio" action="bypass _bbsteleport;-14225,123540,-3121" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Schuttgart" action="bypass _bbsteleport;87358,-141982,-1341" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Heine" action="bypass _bbsteleport;111115,219017,-3547" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Gludio" action="bypass _bbsteleport;Gludio" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Schuttgart" action="bypass _bbsteleport;Schuttgart" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Heine" action="bypass _bbsteleport;Heine" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><button value="Gludin" action="bypass _bbsteleport;-83063,150791,-3133" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Hunters" action="bypass _bbsteleport;116589,76268,-2734" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Gludin" action="bypass _bbsteleport;Gludin" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Hunters" action="bypass _bbsteleport;Hunters" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
</tr>
|
||||
</table>
|
||||
<table align=center border="0">
|
||||
@ -83,14 +83,14 @@
|
||||
</table>
|
||||
<table align=center border="0" height=45>
|
||||
<tr>
|
||||
<td><button value="Talking Island" action="bypass _bbsteleport;-82687,243157,-3734" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Dwarven" action="bypass _bbsteleport;116551,-182493,-1525" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Orc" action="bypass _bbsteleport;-44211,-113521,-241" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Talking Island" action="bypass _bbsteleport;TalkingIsland" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Dwarven" action="bypass _bbsteleport;Dwarven" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Orc" action="bypass _bbsteleport;Orc" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><button value="Dark Elven" action="bypass _bbsteleport;12428,16551,-4588" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Elven" action="bypass _bbsteleport;45873,49288,-3064" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Kamael" action="bypass _bbsteleport;-116934,46616,368" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Dark Elven" action="bypass _bbsteleport;DarkElven" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Elven" action="bypass _bbsteleport;Elven" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Kamael" action="bypass _bbsteleport;Kamael" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
|
@ -158,20 +158,16 @@ public final class HomeBoard implements IParseBoardHandler
|
||||
}
|
||||
else if (command.startsWith("_bbsteleport"))
|
||||
{
|
||||
final String fullBypass = command.replace("_bbsteleport;", "");
|
||||
final String[] buypassOptions = fullBypass.split(",");
|
||||
final int x = Integer.parseInt(buypassOptions[0]);
|
||||
final int y = Integer.parseInt(buypassOptions[1]);
|
||||
final int z = Integer.parseInt(buypassOptions[2]);
|
||||
final String teleBuypass = command.replace("_bbsteleport;", "");
|
||||
if (activeChar.getInventory().getInventoryItemCount(Config.COMMUNITYBOARD_CURRENCY, -1) < Config.COMMUNITYBOARD_TELEPORT_PRICE)
|
||||
{
|
||||
activeChar.sendMessage("Not enough currency!");
|
||||
}
|
||||
else
|
||||
else if (Config.COMMUNITY_AVAILABLE_TELEPORTS.get(teleBuypass) != null)
|
||||
{
|
||||
activeChar.sendPacket(new ShowBoard());
|
||||
activeChar.destroyItemByItemId("CB_Teleport", Config.COMMUNITYBOARD_CURRENCY, Config.COMMUNITYBOARD_TELEPORT_PRICE, activeChar, true);
|
||||
activeChar.teleToLocation(x, y, z, 0);
|
||||
activeChar.teleToLocation(Config.COMMUNITY_AVAILABLE_TELEPORTS.get(teleBuypass), 0);
|
||||
}
|
||||
}
|
||||
else if (command.startsWith("_bbsbuff"))
|
||||
|
@ -55,6 +55,7 @@ import org.w3c.dom.Node;
|
||||
import com.l2jmobius.gameserver.GameServer;
|
||||
import com.l2jmobius.gameserver.enums.ChatType;
|
||||
import com.l2jmobius.gameserver.enums.IllegalActionPunishmentType;
|
||||
import com.l2jmobius.gameserver.model.Location;
|
||||
import com.l2jmobius.gameserver.model.holders.ItemHolder;
|
||||
import com.l2jmobius.gameserver.util.FloodProtectorConfig;
|
||||
import com.l2jmobius.gameserver.util.Util;
|
||||
@ -809,6 +810,7 @@ public final class Config
|
||||
public static int COMMUNITY_PREMIUM_COIN_ID;
|
||||
public static int COMMUNITY_PREMIUM_PRICE_PER_DAY;
|
||||
public static List<Integer> COMMUNITY_AVAILABLE_BUFFS;
|
||||
public static Map<String, Location> COMMUNITY_AVAILABLE_TELEPORTS;
|
||||
public static boolean PREMIUM_SYSTEM_ENABLED;
|
||||
public static float PREMIUM_RATE_XP;
|
||||
public static float PREMIUM_RATE_SP;
|
||||
@ -2617,6 +2619,13 @@ public final class Config
|
||||
{
|
||||
COMMUNITY_AVAILABLE_BUFFS.add(Integer.parseInt(s));
|
||||
}
|
||||
final String[] availableTeleports = CustomSettings.getString("CommunityTeleportList", "").split(";");
|
||||
COMMUNITY_AVAILABLE_TELEPORTS = new HashMap<>(availableTeleports.length);
|
||||
for (String s : availableTeleports)
|
||||
{
|
||||
final String splitInfo[] = s.split(",");
|
||||
COMMUNITY_AVAILABLE_TELEPORTS.put(splitInfo[0], new Location(Integer.parseInt(splitInfo[1]), Integer.parseInt(splitInfo[2]), Integer.parseInt(splitInfo[3])));
|
||||
}
|
||||
|
||||
PREMIUM_SYSTEM_ENABLED = CustomSettings.getBoolean("EnablePremiumSystem", false);
|
||||
PREMIUM_RATE_XP = CustomSettings.getFloat("PremiumRateXp", 2);
|
||||
|
@ -65,3 +65,20 @@ CommunityPremiumPricePerDay = 1000000
|
||||
# List of available buffs to avoid exploits.
|
||||
# Usage: SkillId1,SkillId2...
|
||||
CommunityAvailableBuffs = 1077,1240,1086,1032,1073,1036,1035,1068,1040,1044,1182,1191,1033,1189,1392,1393,1303,1059,1242,1268
|
||||
|
||||
# List of available teleports to avoid exploits.
|
||||
# Usage: TeleportName1,X1,Y1,Z1;TeleportName2,X2,Y2,Z2...
|
||||
# the "\" indicates a new line
|
||||
CommunityTeleportList = \
|
||||
Gludio,-14225,123540,-3121;\
|
||||
Gludin,-83063,150791,-3133;\
|
||||
Giran,82698,148638,-3473;\
|
||||
Dion,18748,145437,-3132;\
|
||||
Hunters,116589,76268,-2734;\
|
||||
Oren,82321,55139,-1529;\
|
||||
Aden,147450,27064,-2208;\
|
||||
TalkingIsland,-82687,243157,-3734;\
|
||||
Dwarven,116551,-182493,-1525;\
|
||||
Orc,-44211,-113521,-241;\
|
||||
DarkElven,12428,16551,-4588;\
|
||||
Elven,45873,49288,-3064;
|
||||
|
@ -49,17 +49,17 @@
|
||||
<td align="center">
|
||||
<table align=center border="0" height=45>
|
||||
<tr>
|
||||
<td><button value="Gludio" action="bypass _bbsteleport;-14225,123540,-3121" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Gludin" action="bypass _bbsteleport;-83063,150791,-3133" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Giran" action="bypass _bbsteleport;82698,148638,-3473" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Gludio" action="bypass _bbsteleport;Gludio" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Gludin" action="bypass _bbsteleport;Gludin" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Giran" action="bypass _bbsteleport;Giran" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><button value="Dion" action="bypass _bbsteleport;18748,145437,-3132" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Hunters" action="bypass _bbsteleport;116589,76268,-2734" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Oren" action="bypass _bbsteleport;82321,55139,-1529" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Dion" action="bypass _bbsteleport;Dion" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Hunters" action="bypass _bbsteleport;Hunters" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Oren" action="bypass _bbsteleport;Oren" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><button value="Aden" action="bypass _bbsteleport;147450,27064,-2208" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Aden" action="bypass _bbsteleport;Aden" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
</tr>
|
||||
</table>
|
||||
<table align=center border="0">
|
||||
@ -77,13 +77,13 @@
|
||||
</table>
|
||||
<table align=center border="0" height=45>
|
||||
<tr>
|
||||
<td><button value="Talking Island" action="bypass _bbsteleport;-82687,243157,-3734" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Dwarven" action="bypass _bbsteleport;116551,-182493,-1525" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Orc" action="bypass _bbsteleport;-44211,-113521,-241" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Talking Island" action="bypass _bbsteleport;TalkingIsland" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Dwarven" action="bypass _bbsteleport;Dwarven" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Orc" action="bypass _bbsteleport;Orc" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><button value="Dark Elven" action="bypass _bbsteleport;12428,16551,-4588" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Elven" action="bypass _bbsteleport;45873,49288,-3064" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Dark Elven" action="bypass _bbsteleport;DarkElven" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
<td><button value="Elven" action="bypass _bbsteleport;Elven" width=140 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
|
@ -159,20 +159,16 @@ public final class HomeBoard implements IParseBoardHandler
|
||||
}
|
||||
else if (command.startsWith("_bbsteleport"))
|
||||
{
|
||||
final String fullBypass = command.replace("_bbsteleport;", "");
|
||||
final String[] buypassOptions = fullBypass.split(",");
|
||||
final int x = Integer.parseInt(buypassOptions[0]);
|
||||
final int y = Integer.parseInt(buypassOptions[1]);
|
||||
final int z = Integer.parseInt(buypassOptions[2]);
|
||||
final String teleBuypass = command.replace("_bbsteleport;", "");
|
||||
if (activeChar.getInventory().getInventoryItemCount(Config.COMMUNITYBOARD_CURRENCY, -1) < Config.COMMUNITYBOARD_TELEPORT_PRICE)
|
||||
{
|
||||
activeChar.sendMessage("Not enough currency!");
|
||||
}
|
||||
else
|
||||
else if (Config.COMMUNITY_AVAILABLE_TELEPORTS.get(teleBuypass) != null)
|
||||
{
|
||||
activeChar.sendPacket(new ShowBoard());
|
||||
activeChar.destroyItemByItemId("CB_Teleport", Config.COMMUNITYBOARD_CURRENCY, Config.COMMUNITYBOARD_TELEPORT_PRICE, activeChar, true);
|
||||
activeChar.teleToLocation(x, y, z, 0);
|
||||
activeChar.teleToLocation(Config.COMMUNITY_AVAILABLE_TELEPORTS.get(teleBuypass), 0);
|
||||
}
|
||||
}
|
||||
else if (command.startsWith("_bbsbuff"))
|
||||
|
@ -1027,6 +1027,7 @@ public final class Config
|
||||
public static int COMMUNITY_PREMIUM_COIN_ID;
|
||||
public static int COMMUNITY_PREMIUM_PRICE_PER_DAY;
|
||||
public static List<Integer> COMMUNITY_AVAILABLE_BUFFS;
|
||||
public static Map<String, Location> COMMUNITY_AVAILABLE_TELEPORTS;
|
||||
public static boolean FACTION_SYSTEM_ENABLED;
|
||||
public static Location FACTION_STARTING_LOCATION;
|
||||
public static int FACTION_MANAGER_NPCID;
|
||||
@ -2285,6 +2286,13 @@ public final class Config
|
||||
{
|
||||
COMMUNITY_AVAILABLE_BUFFS.add(Integer.parseInt(s));
|
||||
}
|
||||
final String[] availableTeleports = CommunityBoard.getString("CommunityTeleportList", "").split(";");
|
||||
COMMUNITY_AVAILABLE_TELEPORTS = new HashMap<>(availableTeleports.length);
|
||||
for (String s : availableTeleports)
|
||||
{
|
||||
final String splitInfo[] = s.split(",");
|
||||
COMMUNITY_AVAILABLE_TELEPORTS.put(splitInfo[0], new Location(Integer.parseInt(splitInfo[1]), Integer.parseInt(splitInfo[2]), Integer.parseInt(splitInfo[3])));
|
||||
}
|
||||
|
||||
// Load DebugVoiceCommand config file (if exists)
|
||||
final PropertiesParser DebugVoiceCommand = new PropertiesParser(CUSTOM_DEBUG_VOICE_COMMAND_CONFIG_FILE);
|
||||
|
Loading…
Reference in New Issue
Block a user