Advertisement
Guest User

TheEnd

a guest
Sep 1st, 2009
1,586
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 17.30 KB | None | 0 0
  1. Index: data/scripts/handlers/skillhandlers/Recall.java
  2. ===================================================================
  3. --- data/scripts/handlers/skillhandlers/Recall.java (revision 6529)
  4. +++ data/scripts/handlers/skillhandlers/Recall.java (working copy)
  5.  -80,6 +80,12 @@
  6.                         continue;
  7.                     }
  8.                    
  9. +                                       if (targetChar._inEventDM)
  10. +                                       {
  11. +                                           targetChar.sendMessage("You may not use an escape skill in a Event.");
  12. +                                           continue;
  13. +                                       }
  14. +                  
  15.                     // Check to see if player is in jail
  16.                     if (targetChar.isInJail())
  17.                     {
  18. Index: data/scripts/handlers/skillhandlers/SummonFriend.java
  19. ===================================================================
  20. --- data/scripts/handlers/skillhandlers/SummonFriend.java   (revision 6529)
  21. +++ data/scripts/handlers/skillhandlers/SummonFriend.java   (working copy)
  22.  -115,7 +115,12 @@
  23.             summonerChar.sendPacket(new SystemMessage(SystemMessageId.YOUR_TARGET_IS_IN_AN_AREA_WHICH_BLOCKS_SUMMONING));
  24.             return false;
  25.         }
  26. -
  27. +       if (summonerChar._inEventDM || targetChar._inEventDM)
  28. +                   {
  29. +                       summonerChar.sendMessage("You cannot summon your friend due to events restrictions.");
  30. +                       targetChar.sendMessage("You cannot be summoned due to events restriction.");
  31. +                       return false;
  32. +                   }
  33.         if (targetChar.inObserverMode())
  34.         {
  35.             summonerChar.sendPacket(new SystemMessage(SystemMessageId.YOUR_TARGET_IS_IN_AN_AREA_WHICH_BLOCKS_SUMMONING));
  36. Index: data/scripts/handlers/itemhandlers/Potions.java
  37. ===================================================================
  38. --- data/scripts/handlers/itemhandlers/Potions.java (revision 6529)
  39. +++ data/scripts/handlers/itemhandlers/Potions.java (working copy)
  40.  -24,6 +24,7 @@
  41.  import net.sf.l2j.gameserver.model.actor.L2Summon;
  42.  import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
  43.  import net.sf.l2j.gameserver.model.actor.instance.L2PetInstance;
  44. +import net.sf.l2j.gameserver.model.entity.DM;
  45.  import net.sf.l2j.gameserver.model.entity.TvTEvent;
  46.  import net.sf.l2j.gameserver.network.SystemMessageId;
  47.  import net.sf.l2j.gameserver.network.serverpackets.ActionFailed;
  48.  -59,7 +60,11 @@
  49.             playable.sendPacket(ActionFailed.STATIC_PACKET);
  50.             return;
  51.         }
  52. -
  53. +       if (activeChar._inEventDM && DM._started && !Config.DM_ALLOW_POTIONS)
  54. +                   {
  55. +                       activeChar.sendPacket(ActionFailed.STATIC_PACKET);
  56. +                       return;
  57. +                   }
  58.         if (activeChar.isInOlympiadMode())
  59.         {
  60.             activeChar.sendPacket(new SystemMessage(SystemMessageId.THIS_ITEM_IS_NOT_AVAILABLE_FOR_THE_OLYMPIAD_EVENT));
  61. Index: data/scripts/handlers/MasterHandler.java
  62. ===================================================================
  63. --- data/scripts/handlers/MasterHandler.java    (revision 6529)
  64. +++ data/scripts/handlers/MasterHandler.java    (working copy)
  65.  -49,6 +49,7 @@
  66.         AdminCommandHandler.getInstance().registerAdminCommandHandler(new AdminCache());
  67.         AdminCommandHandler.getInstance().registerAdminCommandHandler(new AdminChangeAccessLevel());
  68.         AdminCommandHandler.getInstance().registerAdminCommandHandler(new AdminCreateItem());
  69. +       AdminCommandHandler.getInstance().registerAdminCommandHandler(new AdminDMEngine());
  70.         AdminCommandHandler.getInstance().registerAdminCommandHandler(new AdminCursedWeapons());
  71.         AdminCommandHandler.getInstance().registerAdminCommandHandler(new AdminDelete());
  72.         AdminCommandHandler.getInstance().registerAdminCommandHandler(new AdminDisconnect());
  73. Index: data/scripts/handlers/admincommandhandlers/AdminDMEngine.java
  74. ===================================================================
  75. --- data/scripts/handlers/admincommandhandlers/AdminDMEngine.java   (revision 0)
  76. +++ data/scripts/handlers/admincommandhandlers/AdminDMEngine.java   (revision 0)
  77.  -0,0 +1,294 @@
  78. +/*
  79. + * This program is free software: you can redistribute it and/or modify it under
  80. + * the terms of the GNU General Public License as published by the Free Software
  81. + * Foundation, either version 3 of the License, or (at your option) any later
  82. + * version.
  83. + *
  84. + * This program is distributed in the hope that it will be useful, but WITHOUT
  85. + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
  86. + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
  87. + * details.
  88. + *
  89. + * You should have received a copy of the GNU General Public License along with
  90. + * this program. If not, see <http://www.gnu.org/licenses/>.
  91. + */
  92. +package handlers.admincommandhandlers;
  93. +
  94. +/**
  95. + *
  96. + * @author TheEnd
  97. + *
  98. + */
  99. +
  100. +import net.sf.l2j.gameserver.handler.IAdminCommandHandler;
  101. +import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
  102. +import net.sf.l2j.gameserver.model.entity.DM;
  103. +import net.sf.l2j.gameserver.network.serverpackets.NpcHtmlMessage;
  104. +import net.sf.l2j.util.Util;
  105. +
  106. +import javolution.text.TextBuilder;
  107. +
  108. +public class AdminDMEngine implements IAdminCommandHandler
  109. +{
  110. +   private static final String[]   ADMIN_COMMANDS  =
  111. +                                                   {
  112. +           "admin_dmevent",
  113. +           "admin_dmevent_name",
  114. +           "admin_dmevent_desc",
  115. +           "admin_dmevent_join_loc",
  116. +           "admin_dmevent_minlvl",
  117. +           "admin_dmevent_maxlvl",
  118. +           "admin_dmevent_npc",
  119. +           "admin_dmevent_npc_pos",
  120. +           "admin_dmevent_reward",
  121. +           "admin_dmevent_reward_amount",
  122. +           "admin_dmevent_spawnpos",
  123. +           "admin_dmevent_color",
  124. +           "admin_dmevent_join",
  125. +           "admin_dmevent_teleport",
  126. +           "admin_dmevent_start",
  127. +           "admin_dmevent_abort",
  128. +           "admin_dmevent_finish",
  129. +           "admin_dmevent_sit",
  130. +           "admin_dmevent_dump",
  131. +           "admin_dmevent_save",
  132. +           "admin_dmevent_load"                    };
  133. +
  134. +
  135. +  
  136. +   public boolean useAdminCommand(String command, L2PcInstance activeChar)
  137. +   {
  138. +      
  139. +       try
  140. +       {
  141. +
  142. +       if (command.equals("admin_dmevent"))
  143. +           showMainPage(activeChar);
  144. +       else if (command.startsWith("admin_dmevent_name "))
  145. +       {
  146. +           DM._eventName = command.substring(19);
  147. +           showMainPage(activeChar);
  148. +       }
  149. +       else if (command.startsWith("admin_dmevent_desc "))
  150. +       {
  151. +           DM._eventDesc = command.substring(19);
  152. +           showMainPage(activeChar);
  153. +       }
  154. +       else if (command.startsWith("admin_dmevent_minlvl "))
  155. +       {
  156. +           if (!DM.checkMinLevel(Integer.valueOf(command.substring(21))))
  157. +               return false;
  158. +           DM._minlvl = Integer.valueOf(command.substring(21));
  159. +           showMainPage(activeChar);
  160. +       }
  161. +       else if (command.startsWith("admin_dmevent_maxlvl "))
  162. +       {
  163. +           if (!DM.checkMaxLevel(Integer.valueOf(command.substring(21))))
  164. +               return false;
  165. +           DM._maxlvl = Integer.valueOf(command.substring(21));
  166. +           showMainPage(activeChar);
  167. +       }
  168. +       else if (command.startsWith("admin_dmevent_join_loc "))
  169. +       {
  170. +           DM._joiningLocationName = command.substring(23);
  171. +           showMainPage(activeChar);
  172. +       }
  173. +       else if (command.startsWith("admin_dmevent_npc "))
  174. +       {
  175. +           DM._npcId = Integer.valueOf(command.substring(18));
  176. +           showMainPage(activeChar);
  177. +       }
  178. +       else if (command.equals("admin_dmevent_npc_pos"))
  179. +       {
  180. +           DM.setNpcPos(activeChar);
  181. +           showMainPage(activeChar);
  182. +       }
  183. +       else if (command.startsWith("admin_dmevent_reward "))
  184. +       {
  185. +           DM._rewardId = Integer.valueOf(command.substring(21));
  186. +           showMainPage(activeChar);
  187. +       }
  188. +       else if (command.startsWith("admin_dmevent_reward_amount "))
  189. +       {
  190. +           DM._rewardAmount = Integer.valueOf(command.substring(28));
  191. +           showMainPage(activeChar);
  192. +       }
  193. +       else if (command.equals("admin_dmevent_spawnpos"))
  194. +       {
  195. +           DM.setPlayersPos(activeChar);
  196. +           showMainPage(activeChar);
  197. +       }
  198. +       else if (command.startsWith("admin_dmevent_color "))
  199. +       {
  200. +           String[] params;
  201. +          
  202. +                           params = command.split(" ");
  203. +          
  204. +                           if (params.length != 3)
  205. +                           {
  206. +                               activeChar.sendMessage("Wrong usege: //admin_dmevent_color <colorHex> <teamName>");
  207. +                               return false;
  208. +                           }
  209. +                           DM._playerColors = Integer.decode("0x" + Util.reverseColor(command.substring(20))); // name/title color in client is BGR, not RGB
  210. +                           showMainPage(activeChar);
  211. +                           // name/title color in client is BGR, not RGB
  212. +          
  213. +                          
  214. +       }
  215. +       else if (command.equals("admin_dmevent_join"))
  216. +       {
  217. +           DM.startJoin(activeChar);
  218. +           showMainPage(activeChar);
  219. +       }
  220. +       else if (command.equals("admin_dmevent_teleport"))
  221. +       {
  222. +           DM.teleportStart();
  223. +           showMainPage(activeChar);
  224. +       }
  225. +       else if (command.equals("admin_dmevent_start"))
  226. +       {
  227. +           DM.startEvent(activeChar);
  228. +           showMainPage(activeChar);
  229. +       }
  230. +       else if (command.equals("admin_dmevent_abort"))
  231. +       {
  232. +           activeChar.sendMessage("Aborting event");
  233. +           DM.abortEvent();
  234. +           showMainPage(activeChar);
  235. +       }
  236. +       else if (command.equals("admin_dmevent_finish"))
  237. +       {
  238. +           DM.finishEvent(activeChar);
  239. +           showMainPage(activeChar);
  240. +       }
  241. +       else if (command.equals("admin_dmevent_sit"))
  242. +       {
  243. +           DM.sit();
  244. +           showMainPage(activeChar);
  245. +       }
  246. +       else if (command.equals("admin_dmevent_load"))
  247. +       {
  248. +           DM.loadData();
  249. +           showMainPage(activeChar);
  250. +       }
  251. +       else if (command.equals("admin_dmevent_save"))
  252. +       {
  253. +           DM.saveData();
  254. +           showMainPage(activeChar);
  255. +       }
  256. +       else if (command.equals("admin_dmevent_dump"))
  257. +           DM.dumpData();
  258. +
  259. +       return true;
  260. +
  261. +  
  262. +}
  263. +catch (Exception e)
  264. +       {
  265. +           activeChar.sendMessage("The command was not used correctly");
  266. +           return false;
  267. +       }
  268. +   }
  269. +  
  270. +
  271. +   public String[] getAdminCommandList()
  272. +   {
  273. +       return ADMIN_COMMANDS;
  274. +   }
  275. +
  276. +
  277. +   public void showMainPage(L2PcInstance activeChar)
  278. +   {
  279. +       NpcHtmlMessage adminReply = new NpcHtmlMessage(5);
  280. +       TextBuilder replyMSG = new TextBuilder("<html><body>");
  281. +
  282. +       replyMSG.append("<center><font color=\"LEVEL\">[dm Engine - by SqueezeD]</font></center><br><br><br>");
  283. +       replyMSG.append("<table><tr><td><edit var=\"input1\" width=\"125\"></td><td><edit var=\"input2\" width=\"125\"></td></tr></table>");
  284. +       replyMSG.append("<table border=\"0\"><tr>");
  285. +       replyMSG
  286. +               .append("<td width=\"100\"><button value=\"Name\" action=\"bypass -h admin_dmevent_name $input1\" width=90 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td>");
  287. +       replyMSG
  288. +               .append("<td width=\"100\"><button value=\"Description\" action=\"bypass -h admin_dmevent_desc $input1\" width=90 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td>");
  289. +       replyMSG
  290. +               .append("<td width=\"100\"><button value=\"Join Location\" action=\"bypass -h admin_dmevent_join_loc $input1\" width=90 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td>");
  291. +       replyMSG.append("</tr></table><br><table><tr>");
  292. +       replyMSG.append("</tr></table><br><table><tr>");
  293. +       replyMSG
  294. +               .append("<td width=\"100\"><button value=\"Max lvl\" action=\"bypass -h admin_dmevent_maxlvl $input1\" width=90 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td>");
  295. +       replyMSG
  296. +               .append("<td width=\"100\"><button value=\"Min lvl\" action=\"bypass -h admin_dmevent_minlvl $input1\" width=90 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td>");
  297. +       replyMSG.append("</tr></table><br><table><tr>");
  298. +       replyMSG
  299. +               .append("<td width=\"100\"><button value=\"NPC\" action=\"bypass -h admin_dmevent_npc $input1\" width=90 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td>");
  300. +       replyMSG
  301. +               .append("<td width=\"100\"><button value=\"NPC Pos\" action=\"bypass -h admin_dmevent_npc_pos\" width=90 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td>");
  302. +       replyMSG.append("</tr></table><br><table><tr>");
  303. +       replyMSG
  304. +               .append("<td width=\"100\"><button value=\"Reward\" action=\"bypass -h admin_dmevent_reward $input1\" width=90 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td>");
  305. +       replyMSG
  306. +               .append("<td width=\"100\"><button value=\"Reward Amount\" action=\"bypass -h admin_dmevent_reward_amount $input1\" width=90 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td>");
  307. +       replyMSG.append("</tr></table><br><table><tr>");
  308. +       replyMSG
  309. +               .append("<td width=\"100\"><button value=\"DM Color\" action=\"bypass -h admin_dmevent_color $input1\" width=90 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td>");
  310. +       replyMSG
  311. +               .append("<td width=\"100\"><button value=\"DM SpawnPos\" action=\"bypass -h admin_dmevent_spawnpos\" width=90 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td>");
  312. +       replyMSG.append("</tr></table><table><br><br><tr>");
  313. +       replyMSG
  314. +               .append("<td width=\"100\"><button value=\"Join\" action=\"bypass -h admin_dmevent_join\" width=90 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td>");
  315. +       replyMSG
  316. +               .append("<td width=\"100\"><button value=\"Teleport\" action=\"bypass -h admin_dmevent_teleport\" width=90 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td>");
  317. +       replyMSG
  318. +               .append("<td width=\"100\"><button value=\"Start\" action=\"bypass -h admin_dmevent_start\" width=90 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td>");
  319. +       replyMSG.append("</tr></table><table><tr>");
  320. +       replyMSG
  321. +               .append("<td width=\"100\"><button value=\"Abort\" action=\"bypass -h admin_dmevent_abort\" width=90 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td>");
  322. +       replyMSG
  323. +               .append("<td width=\"100\"><button value=\"Finish\" action=\"bypass -h admin_dmevent_finish\" width=90 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td>");
  324. +       replyMSG.append("</tr></table><br><table><tr>");
  325. +       replyMSG
  326. +               .append("<td width=\"100\"><button value=\"Sit Force\" action=\"bypass -h admin_dmevent_sit\" width=90 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td>");
  327. +       replyMSG
  328. +               .append("<td width=\"100\"><button value=\"Dump\" action=\"bypass -h admin_dmevent_dump\" width=90 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td>");
  329. +       replyMSG.append("</tr></table><br><br><table><tr>");
  330. +       replyMSG
  331. +               .append("<td width=\"100\"><button value=\"Save\" action=\"bypass -h admin_dmevent_save\" width=90 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td>");
  332. +       replyMSG
  333. +               .append("<td width=\"100\"><button value=\"Load\" action=\"bypass -h admin_dmevent_load\" width=90 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td>");
  334. +       replyMSG.append("</tr></table><br><br>");
  335. +       replyMSG.append("Current event...<br1>");
  336. +       replyMSG.append("    ... name:&nbsp;<font color=\"00FF00\">" + DM._eventName + "</font><br1>");
  337. +       replyMSG.append("    ... description:&nbsp;<font color=\"00FF00\">" + DM._eventDesc + "</font><br1>");
  338. +       replyMSG.append("    ... joining location name:&nbsp;<font color=\"00FF00\">" + DM._joiningLocationName + "</font><br1>");
  339. +       replyMSG.append("    ... joining NPC ID:&nbsp;<font color=\"00FF00\">" + DM._npcId + " on pos " + DM._npcX + "," + DM._npcY + "," + DM._npcZ
  340. +               + "</font><br1>");
  341. +       replyMSG.append("    ... reward ID:&nbsp;<font color=\"00FF00\">" + DM._rewardId + "</font><br1>");
  342. +       replyMSG.append("    ... reward Amount:&nbsp;<font color=\"00FF00\">" + DM._rewardAmount + "</font><br><br>");
  343. +       replyMSG.append("    ... Min lvl:&nbsp;<font color=\"00FF00\">" + DM._minlvl + "</font><br>");
  344. +       replyMSG.append("    ... Max lvl:&nbsp;<font color=\"00FF00\">" + DM._maxlvl + "</font><br><br>");
  345. +       replyMSG.append("    ... Death Match Color:&nbsp;<font color=\"00FF00\">" + DM._playerColors + "</font><br>");
  346. +       replyMSG
  347. +               .append("    ... Death Match Spawn Pos:&nbsp;<font color=\"00FF00\">" + DM._playerX + "," + DM._playerY + "," + DM._playerZ + "</font><br><br>");
  348. +       replyMSG.append("Current players:<br1>");
  349. +
  350. +       if (!DM._started)
  351. +       {
  352. +           replyMSG.append("<br1>");
  353. +           replyMSG.append(DM._players.size() + " players participating.");
  354. +           replyMSG.append("<br><br>");
  355. +       }
  356. +       else if (DM._started)
  357. +       {
  358. +           replyMSG.append("<br1>");
  359. +           replyMSG.append(DM._players.size() + " players in fighting event.");
  360. +           replyMSG.append("<br><br>");
  361. +       }
  362. +
  363. +       replyMSG.append("</body></html>");
  364. +       adminReply.setHtml(replyMSG.toString());
  365. +       activeChar.sendPacket(adminReply);
  366. +   }
  367. +}
  368. Index: data/scripts/handlers/itemhandlers/SummonItems.java
  369. ===================================================================
  370. --- data/scripts/handlers/itemhandlers/SummonItems.java (revision 6529)
  371. +++ data/scripts/handlers/itemhandlers/SummonItems.java (working copy)
  372.  -23,6 +23,7 @@
  373.  
  374.  import java.util.logging.Level;
  375.  
  376. +import net.sf.l2j.Config;
  377.  import net.sf.l2j.gameserver.ThreadPoolManager;
  378.  import net.sf.l2j.gameserver.datatables.NpcTable;
  379.  import net.sf.l2j.gameserver.datatables.SummonItemsData;
  380.  -36,8 +37,10 @@
  381.  import net.sf.l2j.gameserver.model.actor.L2Playable;
  382.  import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
  383.  import net.sf.l2j.gameserver.model.actor.instance.L2PetInstance;
  384. +import net.sf.l2j.gameserver.model.entity.DM;
  385.  import net.sf.l2j.gameserver.model.entity.TvTEvent;
  386.  import net.sf.l2j.gameserver.network.SystemMessageId;
  387. +import net.sf.l2j.gameserver.network.serverpackets.ActionFailed;
  388.  import net.sf.l2j.gameserver.network.serverpackets.MagicSkillLaunched;
  389.  import net.sf.l2j.gameserver.network.serverpackets.MagicSkillUse;
  390.  import net.sf.l2j.gameserver.network.serverpackets.PetItemList;
  391.  -76,7 +79,11 @@
  392.  
  393.         if (activeChar.inObserverMode())
  394.             return;
  395. -
  396. +       if (activeChar._inEventDM && DM._started && !Config.DM_ALLOW_SUMMON)
  397. +                   {
  398. +                       activeChar.sendPacket(ActionFailed.STATIC_PACKET);
  399. +                       return;
  400. +                   }
  401.         if (activeChar.isInOlympiadMode())
  402.         {
  403.             activeChar.sendPacket(new SystemMessage(SystemMessageId.THIS_ITEM_IS_NOT_AVAILABLE_FOR_THE_OLYMPIAD_EVENT));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement