From 6a33d1fae1de9ee0eddfeb6d5541d31aa31dbfc0 Mon Sep 17 00:00:00 2001 From: Zoey76 <zoey_76@msn.com> Date: Fri, 11 Dec 2015 00:00:28 -0200 Subject: [PATCH] New parameters for instances --- .../OracleTeleport/OracleTeleport.java | 8 +++---- .../admincommandhandlers/AdminShowQuests.java | 21 ++++++++++++------- .../handlers/bypasshandlers/QuestLink.java | 3 ++- dist/game/data/xsd/instance.xsd | 2 ++ 4 files changed, 22 insertions(+), 12 deletions(-) diff --git a/dist/game/data/scripts/ai/npc/Teleports/OracleTeleport/OracleTeleport.java b/dist/game/data/scripts/ai/npc/Teleports/OracleTeleport/OracleTeleport.java index c6fcf9b939..a63a82ccc0 100644 --- a/dist/game/data/scripts/ai/npc/Teleports/OracleTeleport/OracleTeleport.java +++ b/dist/game/data/scripts/ai/npc/Teleports/OracleTeleport/OracleTeleport.java @@ -18,8 +18,6 @@ */ package ai.npc.Teleports.OracleTeleport; -import ai.npc.AbstractNpcAI; - import com.l2jserver.gameserver.enums.QuestSound; import com.l2jserver.gameserver.model.Location; import com.l2jserver.gameserver.model.actor.L2Npc; @@ -30,6 +28,8 @@ import com.l2jserver.gameserver.model.quest.State; import com.l2jserver.gameserver.network.SystemMessageId; import com.l2jserver.gameserver.util.Util; +import ai.npc.AbstractNpcAI; + /** * Oracle teleport AI. * @author Charus @@ -322,7 +322,7 @@ public final class OracleTeleport extends AbstractNpcAI htmltext = "1.htm"; st.exitQuest(true); } - else if (player.getAllActiveQuests().length > 23) + else if (player.getAllActiveQuests().size() > 23) { htmltext = "1a.htm"; st.exitQuest(true); @@ -345,7 +345,7 @@ public final class OracleTeleport extends AbstractNpcAI htmltext = "ziggurat_lowlevel.htm"; st.exitQuest(true); } - else if (player.getAllActiveQuests().length > 40) + else if (player.getAllActiveQuests().size() > 40) { player.sendPacket(SystemMessageId.TOO_MANY_QUESTS); st.exitQuest(true); diff --git a/dist/game/data/scripts/handlers/admincommandhandlers/AdminShowQuests.java b/dist/game/data/scripts/handlers/admincommandhandlers/AdminShowQuests.java index 8b2a3991f5..8fb376f603 100644 --- a/dist/game/data/scripts/handlers/admincommandhandlers/AdminShowQuests.java +++ b/dist/game/data/scripts/handlers/admincommandhandlers/AdminShowQuests.java @@ -156,7 +156,8 @@ public class AdminShowQuests implements IAdminCommandHandler private static void showFirstQuestMenu(L2PcInstance target, L2PcInstance actor) { - StringBuilder replyMSG = new StringBuilder("<html><body><table width=270><tr><td width=45><button value=\"Main\" action=\"bypass -h admin_admin\" width=45 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td><td width=180><center>Player: " + target.getName() + "</center></td><td width=45><button value=\"Back\" action=\"bypass -h admin_admin6\" width=45 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr></table>"); + StringBuilder replyMSG = new StringBuilder("<html><body><table width=270><tr><td width=45><button value=\"Main\" action=\"bypass -h admin_admin\" width=45 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td><td width=180><center>Player: " + target.getName() + + "</center></td><td width=45><button value=\"Back\" action=\"bypass -h admin_admin6\" width=45 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr></table>"); final NpcHtmlMessage adminReply = new NpcHtmlMessage(); int ID = target.getObjectId(); @@ -215,12 +216,15 @@ public class AdminShowQuests implements IAdminCommandHandler { continue; } - replyMSG.append("<tr><td>" + var_name + "</td><td>" + rs.getString(2) + "</td><td><edit var=\"var" + var_name + "\" width=80 height=15></td><td><button value=\"Set\" action=\"bypass -h admin_setcharquest " + target.getName() + " " + val[1] + " " + var_name + " $var" + var_name + "\" width=30 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td><td><button value=\"Del\" action=\"bypass -h admin_setcharquest " + target.getName() + " " + val[1] + " " + var_name + " delete\" width=30 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr>"); + replyMSG.append("<tr><td>" + var_name + "</td><td>" + rs.getString(2) + "</td><td><edit var=\"var" + var_name + "\" width=80 height=15></td><td><button value=\"Set\" action=\"bypass -h admin_setcharquest " + target.getName() + " " + val[1] + " " + var_name + " $var" + + var_name + "\" width=30 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td><td><button value=\"Del\" action=\"bypass -h admin_setcharquest " + target.getName() + " " + val[1] + " " + var_name + + " delete\" width=30 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr>"); } replyMSG.append("</table><br><br><table width=250><tr><td>Repeatable quest:</td><td>Unrepeatable quest:</td></tr>"); replyMSG.append("<tr><td><button value=\"Quest Complete\" action=\"bypass -h admin_setcharquest " + target.getName() + " " + val[1] + " state COMPLETED 1\" width=120 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td>"); replyMSG.append("<td><button value=\"Quest Complete\" action=\"bypass -h admin_setcharquest " + target.getName() + " " + val[1] + " state COMPLETED 0\" width=120 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr>"); - replyMSG.append("</table><br><br><font color=\"ff0000\">Delete Quest from DB:</font><br><button value=\"Quest Delete\" action=\"bypass -h admin_setcharquest " + target.getName() + " " + val[1] + " state DELETE\" width=120 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">"); + replyMSG.append("</table><br><br><font color=\"ff0000\">Delete Quest from DB:</font><br><button value=\"Quest Delete\" action=\"bypass -h admin_setcharquest " + target.getName() + " " + val[1] + + " state DELETE\" width=120 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">"); replyMSG.append("</center></body></html>"); break; } @@ -284,12 +288,15 @@ public class AdminShowQuests implements IAdminCommandHandler { continue; } - replyMSG.append("<tr><td>" + var_name + "</td><td>" + rs.getString(2) + "</td><td><edit var=\"var" + var_name + "\" width=80 height=15></td><td><button value=\"Set\" action=\"bypass -h admin_setcharquest " + target.getName() + " " + qname + " " + var_name + " $var" + var_name + "\" width=30 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td><td><button value=\"Del\" action=\"bypass -h admin_setcharquest " + target.getName() + " " + qname + " " + var_name + " delete\" width=30 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr>"); + replyMSG.append("<tr><td>" + var_name + "</td><td>" + rs.getString(2) + "</td><td><edit var=\"var" + var_name + "\" width=80 height=15></td><td><button value=\"Set\" action=\"bypass -h admin_setcharquest " + target.getName() + " " + qname + " " + var_name + " $var" + + var_name + "\" width=30 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td><td><button value=\"Del\" action=\"bypass -h admin_setcharquest " + target.getName() + " " + qname + " " + var_name + + " delete\" width=30 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr>"); } replyMSG.append("</table><br><br><table width=250><tr><td>Repeatable quest:</td><td>Unrepeatable quest:</td></tr>"); replyMSG.append("<tr><td><button value=\"Quest Complete\" action=\"bypass -h admin_setcharquest " + target.getName() + " " + qname + " state COMPLETED 1\" width=100 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td>"); replyMSG.append("<td><button value=\"Quest Complete\" action=\"bypass -h admin_setcharquest " + target.getName() + " " + qname + " state COMPLETED 0\" width=100 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr>"); - replyMSG.append("</table><br><br><font color=\"ff0000\">Delete Quest from DB:</font><br><button value=\"Quest Delete\" action=\"bypass -h admin_setcharquest " + target.getName() + " " + qname + " state DELETE\" width=100 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">"); + replyMSG.append("</table><br><br><font color=\"ff0000\">Delete Quest from DB:</font><br><button value=\"Quest Delete\" action=\"bypass -h admin_setcharquest " + target.getName() + " " + qname + + " state DELETE\" width=100 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">"); replyMSG.append("</center></body></html>"); } else @@ -324,13 +331,13 @@ public class AdminShowQuests implements IAdminCommandHandler QuestState qs = target.getQuestState(val[0]); String[] outval = new String[3]; - if (val[1].equals("state")) + if ("state".equals(val[1])) { switch (val[2]) { case "COMPLETED": { - qs.exitQuest((val[3].equals("1")) ? true : false); + qs.exitQuest("1".equals(val[3])); break; } case "DELETE": diff --git a/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java b/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java index d0159d3a6c..4b90e9cbd7 100644 --- a/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java +++ b/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java @@ -43,6 +43,7 @@ import com.l2jserver.util.StringUtil; public class QuestLink implements IBypassHandler { + private static final int MAX_QUEST_COUNT = 40; private static final int TO_LEAD_AND_BE_LED = 118; private static final int THE_LEADER_AND_THE_FOLLOWER = 123; private static final String[] COMMANDS = @@ -199,7 +200,7 @@ public class QuestLink implements IBypassHandler if ((q.getId() >= 1) && (q.getId() < 20000)) { // Too many ongoing quests. - if (player.getAllActiveQuests().length > 40) + if (player.getAllActiveQuests().size() >= MAX_QUEST_COUNT) { final NpcHtmlMessage html = new NpcHtmlMessage(npc.getObjectId()); html.setFile(player.getHtmlPrefix(), "data/html/fullquest.html"); diff --git a/dist/game/data/xsd/instance.xsd b/dist/game/data/xsd/instance.xsd index e66672854e..2b2b1b3eca 100644 --- a/dist/game/data/xsd/instance.xsd +++ b/dist/game/data/xsd/instance.xsd @@ -165,6 +165,8 @@ <xs:attribute name="x" type="xs:integer" use="required" /> <xs:attribute name="y" type="xs:integer" use="required" /> <xs:attribute name="z" type="xs:integer" use="required" /> + <xs:attribute name="areaName" type="xs:normalizedString" /> + <xs:attribute name="globalMapId" type="xs:positiveInteger" /> </xs:complexType> </xs:element> </xs:sequence> -- GitLab