Advertisement
Nik

L2Event rework DP

Nik
May 19th, 2011
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 39.67 KB | None | 0 0
  1. Index: data/html/mods/EventEngine/Participating.htm
  2. ===================================================================
  3. --- data/html/mods/EventEngine/Participating.htm    (revision 0)
  4. +++ data/html/mods/EventEngine/Participating.htm    (revision 0)
  5. @@ -0,0 +1,14 @@
  6. +<html>
  7. +<body>
  8. +   <center>
  9. +       <font color="LEVEL">%eventName%</font> <font color="FF0000"> by %eventCreator%</font>
  10. +   </center>
  11. +<br>
  12. +<br>
  13. +%eventInfo%
  14. +<br>
  15. +   <center>
  16. +       <button value="Unregister" action="bypass -h npc_%objectId%_event_unregister" width=90 height=15 back="L2UI_ct1.button_df" fore="L2UI_ct1.button_df">
  17. +   </center>
  18. +</body>
  19. +</html>
  20. \ No newline at end of file
  21. Index: data/html/mods/EventEngine/Participation.htm
  22. ===================================================================
  23. --- data/html/mods/EventEngine/Participation.htm    (revision 0)
  24. +++ data/html/mods/EventEngine/Participation.htm    (revision 0)
  25. @@ -0,0 +1,14 @@
  26. +<html>
  27. +<body>
  28. +   <center>
  29. +       <font color="LEVEL">%eventName%</font> <font color="FF0000"> by %eventCreator%</font>
  30. +   </center>
  31. +<br>
  32. +<br>
  33. +%eventInfo%
  34. +<br>
  35. +   <center>
  36. +       <button value="Participate" action="bypass -h npc_%objectId%_event_participate" width=90 height=15 back="L2UI_ct1.button_df" fore="L2UI_ct1.button_df">
  37. +   </center>
  38. +</body>
  39. +</html>
  40. \ No newline at end of file
  41. Index: data/scripts/handlers/MasterHandler.java
  42. ===================================================================
  43. --- data/scripts/handlers/MasterHandler.java    (revision 8004)
  44. +++ data/scripts/handlers/MasterHandler.java    (working copy)
  45. @@ -107,6 +107,7 @@
  46.  import handlers.bypasshandlers.ChatLink;
  47.  import handlers.bypasshandlers.ClanWarehouse;
  48.  import handlers.bypasshandlers.DrawHenna;
  49. +import handlers.bypasshandlers.EventEngine;
  50.  import handlers.bypasshandlers.Festival;
  51.  import handlers.bypasshandlers.FishSkillList;
  52.  import handlers.bypasshandlers.FortSiege;
  53. @@ -392,6 +393,7 @@
  54.         BYPASS.registerBypassHandler(new ClanWarehouse());
  55.         BYPASS.registerBypassHandler(new CPRecovery());
  56.         BYPASS.registerBypassHandler(new DrawHenna());
  57. +       BYPASS.registerBypassHandler(new EventEngine());
  58.         BYPASS.registerBypassHandler(new Festival());
  59.         BYPASS.registerBypassHandler(new FishSkillList());
  60.         BYPASS.registerBypassHandler(new FortSiege());
  61. Index: data/scripts/handlers/admincommandhandlers/AdminEventEngine.java
  62. ===================================================================
  63. --- data/scripts/handlers/admincommandhandlers/AdminEventEngine.java    (revision 8004)
  64. +++ data/scripts/handlers/admincommandhandlers/AdminEventEngine.java    (working copy)
  65. @@ -22,18 +22,16 @@
  66.  import java.io.FileOutputStream;
  67.  import java.io.InputStreamReader;
  68.  import java.io.PrintStream;
  69. -import java.util.Collection;
  70. -import java.util.Iterator;
  71. -import java.util.LinkedList;
  72.  import java.util.StringTokenizer;
  73.  
  74. -import com.l2jserver.gameserver.datatables.SpawnTable;
  75. +import com.l2jserver.gameserver.Announcements;
  76. +import com.l2jserver.gameserver.GmListTable;
  77.  import com.l2jserver.gameserver.handler.IAdminCommandHandler;
  78. -import com.l2jserver.gameserver.model.L2Spawn;
  79. +import com.l2jserver.gameserver.instancemanager.TransformationManager;
  80.  import com.l2jserver.gameserver.model.L2World;
  81. -import com.l2jserver.gameserver.model.actor.L2Npc;
  82.  import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
  83.  import com.l2jserver.gameserver.model.entity.L2Event;
  84. +import com.l2jserver.gameserver.model.entity.L2Event.EventState;
  85.  import com.l2jserver.gameserver.network.serverpackets.CharInfo;
  86.  import com.l2jserver.gameserver.network.serverpackets.ExBrExtraUserInfo;
  87.  import com.l2jserver.gameserver.network.serverpackets.ItemList;
  88. @@ -73,8 +71,11 @@
  89.         "admin_event_control_res",
  90.         "admin_event_control_poly",
  91.         "admin_event_control_unpoly",
  92. +       "admin_event_control_transform",
  93. +       "admin_event_control_untransform",
  94.         "admin_event_control_prize",
  95.         "admin_event_control_chatban",
  96. +       "admin_event_control_kick",
  97.         "admin_event_control_finish"
  98.     };
  99.    
  100. @@ -84,304 +85,353 @@
  101.    
  102.     public boolean useAdminCommand(String command, L2PcInstance activeChar)
  103.     {
  104. -       if (command.equals("admin_event"))
  105. -           showMainPage(activeChar);
  106. -      
  107. -       else if (command.equals("admin_event_new"))
  108. +       try
  109.         {
  110. -           showNewEventPage(activeChar);
  111. -       }
  112. -       else if (command.startsWith("admin_add"))
  113. -       {
  114. -           tempBuffer += command.substring(10);
  115. -           showNewEventPage(activeChar);
  116. +           if (command.equals("admin_event"))
  117. +           {
  118. +               if (L2Event.eventState != EventState.OFF)
  119. +                   showEventControl(activeChar);
  120. +               else
  121. +                   showMainPage(activeChar);
  122. +           }
  123.            
  124. -       }
  125. -       else if (command.startsWith("admin_event_see"))
  126. -       {
  127. -           String eventName = command.substring(16);
  128. -           try
  129. +           else if (command.equals("admin_event_new"))
  130.             {
  131. -               NpcHtmlMessage adminReply = new NpcHtmlMessage(5);
  132. -              
  133. -               DataInputStream in = new DataInputStream(new BufferedInputStream(new FileInputStream("data/events/" + eventName)));
  134. -               BufferedReader inbr = new BufferedReader(new InputStreamReader(in));
  135. +               showNewEventPage(activeChar);
  136. +           }
  137. +           else if (command.startsWith("admin_add"))
  138. +           {
  139. +               tempBuffer += command.substring(10);
  140. +               showNewEventPage(activeChar);
  141.                
  142. -               final String replyMSG = StringUtil.concat(
  143. -                       "<html><body>" +
  144. -                       "<center><font color=\"LEVEL\">",
  145. -                       eventName,
  146. -                       "</font><font color=\"FF0000\"> bY ",
  147. -                       inbr.readLine(),
  148. -                       "</font></center><br>" +
  149. -                       "<br>",
  150. -                       inbr.readLine(),
  151. -                       "</body></html>"
  152. -               );
  153. -               adminReply.setHtml(replyMSG);
  154. -               activeChar.sendPacket(adminReply);
  155. -               inbr.close();
  156.             }
  157. -           catch (Exception e)
  158. +           else if (command.startsWith("admin_event_see"))
  159.             {
  160. +               String eventName = command.substring(16);
  161. +               try
  162. +               {
  163. +                   NpcHtmlMessage adminReply = new NpcHtmlMessage(5);
  164. +                  
  165. +                   DataInputStream in = new DataInputStream(new BufferedInputStream(new FileInputStream("data/events/" + eventName)));
  166. +                   BufferedReader inbr = new BufferedReader(new InputStreamReader(in));
  167. +                  
  168. +                   final String replyMSG = StringUtil.concat(
  169. +                           "<html><body>" +
  170. +                           "<center><font color=\"LEVEL\">",
  171. +                           eventName,
  172. +                           "</font><font color=\"FF0000\"> bY ",
  173. +                           inbr.readLine(),
  174. +                           "</font></center><br>" +
  175. +                           "<br>",
  176. +                           inbr.readLine(),
  177. +                           "</body></html>"
  178. +                   );
  179. +                   adminReply.setHtml(replyMSG);
  180. +                   activeChar.sendPacket(adminReply);
  181. +                   inbr.close();
  182. +               }
  183. +               catch (Exception e)
  184. +               {
  185. +                  
  186. +                   e.printStackTrace();
  187. +                  
  188. +               }
  189.                
  190. -               e.printStackTrace();
  191. +           }
  192. +           else if (command.startsWith("admin_event_del"))
  193. +           {
  194. +               String eventName = command.substring(16);
  195. +               File file = new File("data/events/" + eventName);
  196. +               file.delete();
  197. +               showMainPage(activeChar);
  198.                
  199.             }
  200.            
  201. -       }
  202. -       else if (command.startsWith("admin_event_del"))
  203. -       {
  204. -           String eventName = command.substring(16);
  205. -           File file = new File("data/events/" + eventName);
  206. -           file.delete();
  207. -           showMainPage(activeChar);
  208. -          
  209. -       }
  210. -      
  211. -       else if (command.startsWith("admin_event_name"))
  212. -       {
  213. -           tempName += command.substring(17);
  214. -           showNewEventPage(activeChar);
  215. -          
  216. -       }
  217. -      
  218. -       else if (command.equalsIgnoreCase("admin_delete_buffer"))
  219. -       {
  220. -           try
  221. +           else if (command.startsWith("admin_event_name"))
  222.             {
  223. -               tempBuffer += tempBuffer.substring(0, tempBuffer.length() - 10);
  224. +               tempName += command.substring(17);
  225.                 showNewEventPage(activeChar);
  226. +              
  227.             }
  228. -           catch (Exception e)
  229. +          
  230. +           else if (command.equalsIgnoreCase("admin_delete_buffer"))
  231.             {
  232. -               tempBuffer = "";
  233. +               try
  234. +               {
  235. +                   tempBuffer += tempBuffer.substring(0, tempBuffer.length() - 10);
  236. +                   showNewEventPage(activeChar);
  237. +               }
  238. +               catch (Exception e)
  239. +               {
  240. +                   tempBuffer = "";
  241. +               }
  242.             }
  243. -       }
  244. -      
  245. -       else if (command.startsWith("admin_event_store"))
  246. -       {
  247.            
  248. -           try
  249. +           else if (command.startsWith("admin_event_store"))
  250. +           {
  251. +              
  252. +               try
  253. +               {
  254. +                   FileOutputStream file = new FileOutputStream("data/events/" + tempName);
  255. +                   PrintStream p = new PrintStream(file);
  256. +                   p.println(activeChar.getName());
  257. +                   p.println(tempBuffer);
  258. +                   file.close();
  259. +                   p.close();
  260. +               }
  261. +               catch (Exception e)
  262. +               {
  263. +                   e.printStackTrace();
  264. +               }
  265. +              
  266. +               tempBuffer = "";
  267. +               tempName = "";
  268. +               showMainPage(activeChar);
  269. +           }
  270. +           else if (command.startsWith("admin_event_set"))
  271.             {
  272. -               FileOutputStream file = new FileOutputStream("data/events/" + tempName);
  273. -               PrintStream p = new PrintStream(file);
  274. -               p.println(activeChar.getName());
  275. -               p.println(tempBuffer);
  276. -               file.close();
  277. -               p.close();
  278. +               L2Event._eventName = command.substring(16);
  279. +               showEventParameters(activeChar, 2);
  280. +              
  281.             }
  282. -           catch (Exception e)
  283. +           else if (command.startsWith("admin_event_change_teams_number"))
  284.             {
  285. -               e.printStackTrace();
  286. +               showEventParameters(activeChar, Integer.parseInt(command.substring(32)));
  287.             }
  288. -          
  289. -           tempBuffer = "";
  290. -           tempName = "";
  291. -           showMainPage(activeChar);
  292. -       }
  293. -       else if (command.startsWith("admin_event_set"))
  294. -       {
  295. -           L2Event.eventName = command.substring(16);
  296. -           showEventParameters(activeChar, 2);
  297. -          
  298. -       }
  299. -       else if (command.startsWith("admin_event_change_teams_number"))
  300. -       {
  301. -           showEventParameters(activeChar, Integer.parseInt(command.substring(32)));
  302. -       }
  303. -       else if (command.startsWith("admin_event_panel"))
  304. -       {
  305. -           showEventControl(activeChar);
  306. -       }
  307. -       else if (command.startsWith("admin_event_control_begin"))
  308. -       {
  309. -          
  310. -           try
  311. +           else if (command.startsWith("admin_event_panel"))
  312.             {
  313. -              
  314. -               L2Event.active = true;
  315. -               L2Event.players.clear();
  316. -               L2Event.connectionLossData.clear();
  317. -              
  318. -               for (int j = 0; j < L2Event.teamsNumber; j++)
  319. +               showEventControl(activeChar);
  320. +           }
  321. +           else if (command.startsWith("admin_event_announce"))
  322. +           {
  323. +               StringTokenizer st = new StringTokenizer(command.substring(21));
  324. +               L2Event._npcId = Integer.parseInt(st.nextToken());
  325. +               L2Event._teamsNumber = Integer.parseInt(st.nextToken());
  326. +               String temp = " ";
  327. +               String temp2 = "";
  328. +               while (st.hasMoreElements())
  329.                 {
  330. -                   LinkedList<String> link = new LinkedList<String>();
  331. -                   L2Event.players.put(j + 1, link);
  332. -                  
  333. +                   temp += st.nextToken() + " ";
  334.                 }
  335. -               int i = 0;
  336. +              
  337. +               st = new StringTokenizer(temp, "-");
  338. +              
  339. +               Integer i = 1;
  340.                
  341. -               while (!L2Event.participatingPlayers.isEmpty())
  342. +               while (st.hasMoreElements())
  343.                 {
  344. -                   String target = getMaxLeveledPlayer();
  345. -                  
  346. -                   if (!target.isEmpty())
  347. +                   temp2 = st.nextToken();
  348. +                   if (!temp2.equals(" "))
  349.                     {
  350. -                      
  351. -                       L2Event.players.get(i + 1).add(target);
  352. -                       i = (i + 1) % L2Event.teamsNumber;
  353. -                   }
  354. -                   else
  355. -                   {
  356. -                       break;
  357. +                       L2Event._teamNames.put(i++, temp2.substring(1, temp2.length() - 1));
  358.                     }
  359.                 }
  360.                
  361. -               destroyEventNpcs();
  362. -               npcsDeleted = true;
  363. +               activeChar.sendMessage(L2Event.startEventParticipation());
  364. +               Announcements.getInstance().announceToAll(activeChar.getName() + " has started an event. You will find a participation NPC somewhere around you.");
  365.                
  366. +               PlaySound _snd = new PlaySound(1, "B03_F", 0, 0, 0, 0, 0);
  367. +               activeChar.sendPacket(_snd);
  368. +               activeChar.broadcastPacket(_snd);
  369. +              
  370. +               NpcHtmlMessage adminReply = new NpcHtmlMessage(5);
  371. +              
  372. +               final String replyMSG = StringUtil.concat(
  373. +                       "<html><body>" +
  374. +                       "<center><font color=\"LEVEL\">[ L2J EVENT ENGINE</font></center><br>" +
  375. +                       "<center>The event <font color=\"LEVEL\">",
  376. +                       L2Event._eventName,
  377. +                       "</font> has been announced, now you can type //event_panel to see the event panel control</center><br>" +
  378. +                       "</body></html>"
  379. +               );
  380. +               adminReply.setHtml(replyMSG);
  381. +               activeChar.sendPacket(adminReply);
  382.             }
  383. -           catch (Exception e)
  384. +           else if (command.startsWith("admin_event_control_begin"))
  385.             {
  386. -               e.printStackTrace();
  387. +               // Starts the event and sends a message of the result
  388. +               activeChar.sendMessage(L2Event.startEvent());
  389. +               showEventControl(activeChar);
  390.             }
  391. -           showEventControl(activeChar);
  392. -       }
  393. -       else if (command.startsWith("admin_event_control_teleport"))
  394. -       {
  395. -           StringTokenizer st = new StringTokenizer(command.substring(29), "-");
  396. -          
  397. -           while (st.hasMoreElements())
  398. +           else if (command.startsWith("admin_event_control_finish"))
  399.             {
  400. -               teleportTeam(activeChar, Integer.parseInt(st.nextToken()));
  401. +               // Finishes the event and sends a message of the result
  402. +               activeChar.sendMessage(L2Event.finishEvent());
  403.             }
  404. -           showEventControl(activeChar);
  405. -       }
  406. -      
  407. -       else if (command.startsWith("admin_event_control_sit"))
  408. -       {
  409. -           StringTokenizer st = new StringTokenizer(command.substring(24), "-");
  410. -          
  411. -           while (st.hasMoreElements())
  412. +           else if (command.startsWith("admin_event_control_teleport"))
  413.             {
  414. -               sitTeam(Integer.parseInt(st.nextToken()));
  415. +               StringTokenizer st = new StringTokenizer(command.substring(29), "-");
  416. +              
  417. +               while (st.hasMoreElements())
  418. +               {
  419. +                   int teamId = Integer.parseInt(st.nextToken());
  420. +                  
  421. +                   for (L2PcInstance player : L2Event._teams.get(teamId))
  422. +                   {
  423. +                       player.setTitle(L2Event._teamNames.get(teamId));
  424. +                       player.teleToLocation(activeChar.getX(), activeChar.getY(), activeChar.getZ(), true);
  425. +                       player.setInstanceId(activeChar.getInstanceId());
  426. +                   }
  427. +               }
  428. +               showEventControl(activeChar);
  429.             }
  430. -           showEventControl(activeChar);
  431. -       }
  432. -       else if (command.startsWith("admin_event_control_kill"))
  433. -       {
  434. -           StringTokenizer st = new StringTokenizer(command.substring(25), "-");
  435.            
  436. -           while (st.hasMoreElements())
  437. +           else if (command.startsWith("admin_event_control_sit"))
  438.             {
  439. -               killTeam(activeChar, Integer.parseInt(st.nextToken()));
  440. +               StringTokenizer st = new StringTokenizer(command.substring(24), "-");
  441. +              
  442. +               while (st.hasMoreElements())
  443. +               {
  444. +                   // Integer.parseInt(st.nextToken()) == teamId
  445. +                   for (L2PcInstance player : L2Event._teams.get(Integer.parseInt(st.nextToken())))
  446. +                   {
  447. +                       if (player.getEventStatus() == null)
  448. +                           continue;
  449. +                      
  450. +                       player.getEventStatus().eventSitForced = !player.getEventStatus().eventSitForced;
  451. +                       if (player.getEventStatus().eventSitForced)
  452. +                           player.sitDown();
  453. +                       else
  454. +                           player.standUp();
  455. +                   }
  456. +               }
  457. +               showEventControl(activeChar);
  458.             }
  459. -           showEventControl(activeChar);
  460. -       }
  461. -       else if (command.startsWith("admin_event_control_res"))
  462. -       {
  463. -           StringTokenizer st = new StringTokenizer(command.substring(24), "-");
  464. -          
  465. -           while (st.hasMoreElements())
  466. +           else if (command.startsWith("admin_event_control_kill"))
  467.             {
  468. -               resTeam(Integer.parseInt(st.nextToken()));
  469. +               StringTokenizer st = new StringTokenizer(command.substring(25), "-");
  470. +              
  471. +               while (st.hasMoreElements())
  472. +               {
  473. +                   for (L2PcInstance player : L2Event._teams.get(Integer.parseInt(st.nextToken())))
  474. +                       player.reduceCurrentHp(player.getMaxHp() + player.getMaxCp() + 1, activeChar, null);
  475. +               }
  476. +               showEventControl(activeChar);
  477.             }
  478. -           showEventControl(activeChar);
  479. -       }
  480. -       else if (command.startsWith("admin_event_control_poly"))
  481. -       {
  482. -           StringTokenizer st0 = new StringTokenizer(command.substring(25));
  483. -           StringTokenizer st = new StringTokenizer(st0.nextToken(), "-");
  484. -           String id = st0.nextToken();
  485. -           while (st.hasMoreElements())
  486. +           else if (command.startsWith("admin_event_control_res"))
  487.             {
  488. -               polyTeam(Integer.parseInt(st.nextToken()), id);
  489. +               StringTokenizer st = new StringTokenizer(command.substring(24), "-");
  490. +              
  491. +               while (st.hasMoreElements())
  492. +               {
  493. +                   for (L2PcInstance player : L2Event._teams.get(Integer.parseInt(st.nextToken())))
  494. +                   {
  495. +                       if (player == null || !player.isDead())
  496. +                           continue;
  497. +                       player.restoreExp(100.0);
  498. +                       player.doRevive();
  499. +                       player.setCurrentHpMp(player.getMaxHp(), player.getMaxMp());
  500. +                       player.setCurrentCp(player.getMaxCp());
  501. +                   }
  502. +               }
  503. +               showEventControl(activeChar);
  504.             }
  505. -           showEventControl(activeChar);
  506. -       }
  507. -       else if (command.startsWith("admin_event_control_unpoly"))
  508. -       {
  509. -           StringTokenizer st = new StringTokenizer(command.substring(27), "-");
  510. -          
  511. -           while (st.hasMoreElements())
  512. +           else if (command.startsWith("admin_event_control_poly"))
  513.             {
  514. -               unpolyTeam(Integer.parseInt(st.nextToken()));
  515. +               StringTokenizer st0 = new StringTokenizer(command.substring(25));
  516. +               StringTokenizer st = new StringTokenizer(st0.nextToken(), "-");
  517. +               String id = st0.nextToken();
  518. +               while (st.hasMoreElements())
  519. +               {
  520. +                   for (L2PcInstance player : L2Event._teams.get(Integer.parseInt(st.nextToken())))
  521. +                   {
  522. +                       player.getPoly().setPolyInfo("npc", id);
  523. +                       player.teleToLocation(player.getX(), player.getY(), player.getZ(), true);
  524. +                       CharInfo info1 = new CharInfo(player);
  525. +                       player.broadcastPacket(info1);
  526. +                       UserInfo info2 = new UserInfo(player);
  527. +                       player.sendPacket(info2);
  528. +                       player.broadcastPacket(new ExBrExtraUserInfo(player));
  529. +                   }
  530. +               }
  531. +               showEventControl(activeChar);
  532.             }
  533. -           showEventControl(activeChar);
  534. -       }
  535. -       else if (command.startsWith("admin_event_control_prize"))
  536. -       {
  537. -           StringTokenizer st0 = new StringTokenizer(command.substring(26));
  538. -           StringTokenizer st = new StringTokenizer(st0.nextToken(), "-");
  539. -           String n = st0.nextToken();
  540. -           StringTokenizer st1 = new StringTokenizer(n, "*");
  541. -           n = st1.nextToken();
  542. -           String type = "";
  543. -           if (st1.hasMoreElements())
  544. -               type = st1.nextToken();
  545. -          
  546. -           String id = st0.nextToken();
  547. -           while (st.hasMoreElements())
  548. +           else if (command.startsWith("admin_event_control_unpoly"))
  549.             {
  550. -               regardTeam(activeChar, Integer.parseInt(st.nextToken()), Integer.parseInt(n), Integer.parseInt(id), type);
  551. +               StringTokenizer st = new StringTokenizer(command.substring(27), "-");
  552. +              
  553. +               while (st.hasMoreElements())
  554. +               {
  555. +                   for (L2PcInstance player : L2Event._teams.get(Integer.parseInt(st.nextToken())))
  556. +                   {
  557. +                       player.getPoly().setPolyInfo(null, "1");
  558. +                       player.decayMe();
  559. +                       player.spawnMe(player.getX(), player.getY(), player.getZ());
  560. +                       CharInfo info1 = new CharInfo(player);
  561. +                       player.broadcastPacket(info1);
  562. +                       UserInfo info2 = new UserInfo(player);
  563. +                       player.sendPacket(info2);
  564. +                       player.broadcastPacket(new ExBrExtraUserInfo(player));
  565. +                   }
  566. +               }
  567. +               showEventControl(activeChar);
  568.             }
  569. -           showEventControl(activeChar);
  570. -       }
  571. -       else if (command.startsWith("admin_event_control_finish"))
  572. -       {
  573. -           for (int i = 0; i < L2Event.teamsNumber; i++)
  574. +           else if (command.startsWith("admin_event_control_transform"))
  575.             {
  576. -               telePlayersBack(i + 1);
  577. +               StringTokenizer st0 = new StringTokenizer(command.substring(30));
  578. +               StringTokenizer st = new StringTokenizer(st0.nextToken(), "-");
  579. +               while (st.hasMoreElements())
  580. +               {
  581. +                   for (L2PcInstance player : L2Event._teams.get(Integer.parseInt(st.nextToken())))
  582. +                   {
  583. +                       int id = Integer.parseInt(st0.nextToken());
  584. +                       if (!TransformationManager.getInstance().transformPlayer(id, player))
  585. +                           GmListTable.broadcastMessageToGMs("EventEngine: Unknow transformation id: " + id);
  586. +                   }
  587. +               }
  588. +               showEventControl(activeChar);
  589.             }
  590. -          
  591. -           L2Event.eventName = "";
  592. -           L2Event.teamsNumber = 0;
  593. -           L2Event.names.clear();
  594. -           L2Event.participatingPlayers.clear();
  595. -           L2Event.players.clear();
  596. -           L2Event.id = 12760;
  597. -           L2Event.npcs.clear();
  598. -           L2Event.active = false;
  599. -           npcsDeleted = false;
  600. -          
  601. -       }
  602. -      
  603. -       else if (command.startsWith("admin_event_announce"))
  604. -       {
  605. -           StringTokenizer st = new StringTokenizer(command.substring(21));
  606. -           L2Event.id = Integer.parseInt(st.nextToken());
  607. -           L2Event.teamsNumber = Integer.parseInt(st.nextToken());
  608. -           String temp = " ";
  609. -           String temp2 = "";
  610. -           while (st.hasMoreElements())
  611. +           else if (command.startsWith("admin_event_control_untransform"))
  612.             {
  613. -               temp += st.nextToken() + " ";
  614. +               StringTokenizer st = new StringTokenizer(command.substring(32), "-");
  615. +              
  616. +               while (st.hasMoreElements())
  617. +               {
  618. +                   for (L2PcInstance player : L2Event._teams.get(Integer.parseInt(st.nextToken())))
  619. +                       player.stopTransformation(true);
  620. +               }
  621. +               showEventControl(activeChar);
  622.             }
  623. -          
  624. -           st = new StringTokenizer(temp, "-");
  625. -          
  626. -           Integer i = 1;
  627. -          
  628. -           while (st.hasMoreElements())
  629. +           else if (command.startsWith("admin_event_control_kick"))
  630.             {
  631. -               temp2 = st.nextToken();
  632. -               if (!temp2.equals(" "))
  633. +               StringTokenizer st = new StringTokenizer(command.substring(25), "-");
  634. +              
  635. +               if (st.hasMoreElements())
  636.                 {
  637. -                   L2Event.names.put(i++, temp2.substring(1, temp2.length() - 1));
  638. +                   L2PcInstance player = L2World.getInstance().getPlayer(st.nextToken());
  639. +                   if (player != null)
  640. +                       L2Event.removeAndResetPlayer(player);
  641.                 }
  642. +               else
  643. +               {
  644. +                   if (activeChar.getTarget() != null && activeChar.getTarget() instanceof L2PcInstance)
  645. +                       L2Event.removeAndResetPlayer((L2PcInstance) activeChar.getTarget());
  646. +               }
  647. +               showEventControl(activeChar);
  648.             }
  649. -          
  650. -           L2Event.participatingPlayers.clear();
  651. -          
  652. -           muestraNpcConInfoAPlayers(activeChar, L2Event.id);
  653. -          
  654. -           PlaySound _snd = new PlaySound(1, "B03_F", 0, 0, 0, 0, 0);
  655. -           activeChar.sendPacket(_snd);
  656. -           activeChar.broadcastPacket(_snd);
  657. -          
  658. -           NpcHtmlMessage adminReply = new NpcHtmlMessage(5);
  659. -          
  660. -           final String replyMSG = StringUtil.concat(
  661. -                   "<html><body>" +
  662. -                   "<center><font color=\"LEVEL\">[ L2J EVENT ENGINE</font></center><br>" +
  663. -                   "<center>The event <font color=\"LEVEL\">",
  664. -                   L2Event.eventName,
  665. -                   "</font> has been announced, now you can type //event_panel to see the event panel control</center><br>" +
  666. -                   "</body></html>"
  667. -           );
  668. -           adminReply.setHtml(replyMSG);
  669. -           activeChar.sendPacket(adminReply);
  670. +           else if (command.startsWith("admin_event_control_prize"))
  671. +           {
  672. +               StringTokenizer st0 = new StringTokenizer(command.substring(26));
  673. +               StringTokenizer st = new StringTokenizer(st0.nextToken(), "-");
  674. +               String n = st0.nextToken();
  675. +               StringTokenizer st1 = new StringTokenizer(n, "*");
  676. +               n = st1.nextToken();
  677. +               String type = "";
  678. +               if (st1.hasMoreElements())
  679. +                   type = st1.nextToken();
  680. +              
  681. +               String id = st0.nextToken();
  682. +               while (st.hasMoreElements())
  683. +               {
  684. +                   rewardTeam(activeChar, Integer.parseInt(st.nextToken()), Integer.parseInt(n), Integer.parseInt(id), type);
  685. +               }
  686. +               showEventControl(activeChar);
  687. +           }
  688. +       }
  689. +       catch (Exception e)
  690. +       {
  691. +           e.printStackTrace();
  692. +           GmListTable.broadcastMessageToGMs("EventEngine: Error! Possible blank boxes while executing a command which requires a value in the box?");
  693.         }
  694.        
  695.         return true;
  696. @@ -398,7 +448,8 @@
  697.         String[] files = dir.list();
  698.        
  699.         if (files == null) {
  700. -           return "No 'data/events' directory!";
  701. +           return "<font color=\"FF0000\"> No 'data/events' directory! <font> <BR>" +
  702. +                   "<font color=\"FF0000\"> UNABLE TO CREATE AN EVENT!!! Please create this folder. <font>";
  703.         }
  704.        
  705.         final StringBuilder result = new StringBuilder(files.length * 500);
  706. @@ -476,7 +527,7 @@
  707.                 "<html><body>" +
  708.                 "<center><font color=\"LEVEL\">[ L2J EVENT ENGINE ]</font></center><br>" +
  709.                 "<center><font color=\"LEVEL\">",
  710. -               L2Event.eventName,
  711. +               L2Event._eventName,
  712.                 "</font></center><br>" +
  713.                 "<br><center><button value=\"Change number of teams to\" action=\"bypass -h admin_event_change_teams_number $event_teams_number\" width=90 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"> <edit var=\"event_teams_number\" width=100 height=20><br><br>" +
  714.                 "<font color=\"LEVEL\">Team's Names</font><br>"
  715. @@ -508,37 +559,7 @@
  716.         activeChar.sendPacket(adminReply);
  717.     }
  718.    
  719. -   void muestraNpcConInfoAPlayers(L2PcInstance activeChar, int id)
  720. -   {
  721. -       L2Event.npcs.clear();
  722. -       LinkedList<L2PcInstance> temp = new LinkedList<L2PcInstance>();
  723. -       temp.clear();
  724. -       Collection<L2PcInstance> pls = L2World.getInstance().getAllPlayers().values();
  725. -       //synchronized (L2World.getInstance().getAllPlayers())
  726. -       {
  727. -           for (L2PcInstance player : pls)
  728. -           {
  729. -               if (!temp.contains(player))
  730. -               {
  731. -                   L2Event.spawn(player, id);
  732. -                   temp.add(player);
  733. -               }
  734. -               Collection<L2PcInstance> plrs = player.getKnownList().getKnownPlayers().values();
  735. -               //synchronized (player.getKnownList().getKnownPlayers())
  736. -               {
  737. -                   for (L2PcInstance playertemp : plrs)
  738. -                   {
  739. -                       if ((Math.abs(playertemp.getX() - player.getX()) < 500) && (Math.abs(playertemp.getY() - player.getY()) < 500) && (Math.abs(playertemp.getZ() - player.getZ()) < 500))
  740. -                           temp.add(playertemp);
  741. -                   }
  742. -               }
  743. -           }
  744. -          
  745. -       }
  746. -       L2Event.announceAllPlayers(activeChar.getName() + " wants to make an event !!! (you'll find a npc with the details around)");
  747. -   }
  748. -  
  749. -   void showEventControl(L2PcInstance activeChar)
  750. +   private void showEventControl(L2PcInstance activeChar)
  751.     {
  752.        
  753.         NpcHtmlMessage adminReply = new NpcHtmlMessage(5);
  754. @@ -546,7 +567,7 @@
  755.         final StringBuilder replyMSG = StringUtil.startAppend(1000,
  756.                 "<html><body>" +
  757.                 "<center><font color=\"LEVEL\">[ L2J EVENT ENGINE ]</font></center><br><font color=\"LEVEL\">",
  758. -               L2Event.eventName,
  759. +               L2Event._eventName,
  760.                 "</font><br><br><table width=200>" +
  761.                 "<tr><td>Apply this command to teams number </td><td><edit var=\"team_number\" width=100 height=15></td></tr>" +
  762.                 "<tr><td>&nbsp;</td></tr>"
  763. @@ -569,9 +590,15 @@
  764.                 "<tr><td>&nbsp;</td></tr>" +
  765.                 "<tr><td><button value=\"UnPolymorph\" action=\"bypass -h admin_event_control_unpoly $team_number\" width=90 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td><td><font color=\"LEVEL\">Unpolymorph the team</font></td></tr>" +
  766.                 "<tr><td>&nbsp;</td></tr>" +
  767. +               "<tr><td><button value=\"Transform\" action=\"bypass -h admin_event_control_transform $team_number $transf_id\" width=90 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td><td><edit var=\"transf_id\" width=100 height=15><font color=\"LEVEL\">Transforms the team into the transformation with the id specified</font></td></tr>" +
  768. +               "<tr><td>&nbsp;</td></tr>" +
  769. +               "<tr><td><button value=\"UnTransform\" action=\"bypass -h admin_event_control_untransform $team_number\" width=90 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td><td><font color=\"LEVEL\">Untransforms the team</font></td></tr>" +
  770. +               "<tr><td>&nbsp;</td></tr>" +
  771.                 "<tr><td>&nbsp;</td></tr>" +
  772.                 "<tr><td><button value=\"Give Item\" action=\"bypass -h admin_event_control_prize $team_number $n $id\" width=90 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"> number <edit var=\"n\" width=100 height=15> item id <edit var=\"id\" width=100 height=15></td><td><font color=\"LEVEL\">Give the specified item id to every single member of the team, you can put 5*level, 5*kills or 5 in the number field for example</font></td></tr>" +
  773.                 "<tr><td>&nbsp;</td></tr>" +
  774. +               "<tr><td><button value=\"Kick Player\" action=\"bypass -h admin_event_control_kick $player_name\" width=90 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td><td><edit var=\"player_name\" width=100 height=15><font color=\"LEVEL\">Kicks the specified player from the event. Blank field kicks target.</font></td></tr>" +  
  775. +               "<tr><td>&nbsp;</td></tr>" +  
  776.                 "<tr><td><button value=\"End\" action=\"bypass -h admin_event_control_finish\" width=90 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td><td><font color=\"LEVEL\">Will finish the event teleporting back all the players</font></td></tr>" +
  777.         "</table></body></html>");
  778.        
  779. @@ -579,238 +606,29 @@
  780.         activeChar.sendPacket(adminReply);
  781.     }
  782.    
  783. -   String getMaxLeveledPlayer()
  784. -   {
  785. -       L2PcInstance pc = null;
  786. -       int max = 0;
  787. -       String name = "";
  788. -       for (String tempName2: L2Event.participatingPlayers)
  789. -       {
  790. -           try
  791. -           {
  792. -               pc = L2World.getInstance().getPlayer(tempName2);
  793. -               if (max < pc.getLevel())
  794. -               {
  795. -                   max = pc.getLevel();
  796. -                   name = tempName2;
  797. -               }
  798. -           }
  799. -           catch (Exception e)
  800. -           {
  801. -               L2Event.participatingPlayers.remove(tempName2);
  802. -           }
  803. -       }
  804. -       L2Event.participatingPlayers.remove(name);
  805. -       return name;
  806. -   }
  807. -  
  808. -   void destroyEventNpcs()
  809. -   {
  810. -       L2Npc npc;
  811. -       while (!L2Event.npcs.isEmpty())
  812. -       {
  813. -           try
  814. -           {
  815. -               npc = (L2Npc) L2World.getInstance().findObject(Integer.parseInt(L2Event.npcs.getFirst()));
  816. -              
  817. -               L2Spawn spawn = npc.getSpawn();
  818. -              
  819. -               if (spawn != null)
  820. -               {
  821. -                   spawn.stopRespawn();
  822. -                   SpawnTable.getInstance().deleteSpawn(spawn, true);
  823. -               }
  824. -               npc.deleteMe();
  825. -               L2Event.npcs.removeFirst();
  826. -           }
  827. -           catch (Exception e)
  828. -           {
  829. -               L2Event.npcs.removeFirst();
  830. -           }
  831. -       }
  832. -   }
  833. -  
  834. -   void teleportTeam(L2PcInstance activeChar, int team)
  835. +   private void rewardTeam(L2PcInstance activeChar, int team, int n, int id, String type)
  836.     {
  837. -       LinkedList<String> linked = L2Event.players.get(team);
  838. -       Iterator<String> it = linked.iterator();
  839. -       while (it.hasNext())
  840. +       int num = n;
  841. +       for (L2PcInstance player : L2Event._teams.get(team))
  842.         {
  843. -           try
  844. -           {
  845. -               L2PcInstance pc = L2World.getInstance().getPlayer(it.next());
  846. -               pc.setTitle(L2Event.names.get(team));
  847. -               pc.teleToLocation(activeChar.getX(), activeChar.getY(), activeChar.getZ(), true);
  848. -           }
  849. -           catch (Exception e)
  850. +           if (type.equalsIgnoreCase("level"))
  851. +               num = n * player.getLevel();
  852. +           else if (type.equalsIgnoreCase("kills") && player.getEventStatus() != null)
  853.             {
  854. +               num = n * player.getEventStatus().kills.size();
  855.             }
  856. -       }
  857. -   }
  858. -  
  859. -   void sitTeam(int team)
  860. -   {
  861. -       LinkedList<String> linked = L2Event.players.get(team);
  862. -       Iterator<String> it = linked.iterator();
  863. -       while (it.hasNext())
  864. -       {
  865. -           try
  866. -           {
  867. -               L2PcInstance pc = L2World.getInstance().getPlayer(it.next());
  868. -               pc.eventSitForced = !pc.eventSitForced;
  869. -               if (pc.eventSitForced)
  870. -                   pc.sitDown();
  871. -               else
  872. -                   pc.standUp();
  873. -           }
  874. -           catch (Exception e)
  875. -           {
  876. -           }
  877. -       }
  878. -   }
  879. -  
  880. -   void killTeam(L2PcInstance activeChar, int team)
  881. -   {
  882. -       LinkedList<String> linked = L2Event.players.get(team);
  883. -       Iterator<String> it = linked.iterator();
  884. -       while (it.hasNext())
  885. -       {
  886. -           try
  887. -           {
  888. -               L2PcInstance target = L2World.getInstance().getPlayer(it.next());
  889. -               target.reduceCurrentHp(target.getMaxHp() + target.getMaxCp() + 1, activeChar, null);
  890. -           }
  891. -           catch (Exception e)
  892. -           {
  893. -           }
  894. -       }
  895. -   }
  896. -  
  897. -   void resTeam(int team)
  898. -   {
  899. -       LinkedList<String> linked = L2Event.players.get(team);
  900. -       Iterator<String> it = linked.iterator();
  901. -       while (it.hasNext())
  902. -       {
  903. -           L2PcInstance character = L2World.getInstance().getPlayer(it.next());
  904. -           if (character == null || !character.isDead())
  905. -               continue;
  906. -           character.restoreExp(100.0);
  907. -           character.doRevive();
  908. -           character.setCurrentHpMp(character.getMaxHp(), character.getMaxMp());
  909. -           character.setCurrentCp(character.getMaxCp());
  910. -       }
  911. -   }
  912. -  
  913. -   void polyTeam(int team, String id)
  914. -   {
  915. -       LinkedList<String> linked = L2Event.players.get(team);
  916. -       Iterator<String> it = linked.iterator();
  917. -       while (it.hasNext())
  918. -       {
  919. -           try
  920. -           {
  921. -               L2PcInstance target = L2World.getInstance().getPlayer(it.next());
  922. -               target.getPoly().setPolyInfo("npc", id);
  923. -               target.teleToLocation(target.getX(), target.getY(), target.getZ(), true);
  924. -               CharInfo info1 = new CharInfo(target);
  925. -               target.broadcastPacket(info1);
  926. -               UserInfo info2 = new UserInfo(target);
  927. -               target.sendPacket(info2);
  928. -               target.broadcastPacket(new ExBrExtraUserInfo(target));
  929. -           }
  930. -           catch (Exception e)
  931. -           {
  932. -           }
  933. -       }
  934. -   }
  935. -  
  936. -   void unpolyTeam(int team)
  937. -   {
  938. -       LinkedList<String> linked = L2Event.players.get(team);
  939. -       Iterator<String> it = linked.iterator();
  940. -       while (it.hasNext())
  941. -       {
  942. -           try
  943. -           {
  944. -               L2PcInstance target = L2World.getInstance().getPlayer(it.next());
  945. -              
  946. -               target.getPoly().setPolyInfo(null, "1");
  947. -               target.decayMe();
  948. -               target.spawnMe(target.getX(), target.getY(), target.getZ());
  949. -               CharInfo info1 = new CharInfo(target);
  950. -               target.broadcastPacket(info1);
  951. -               UserInfo info2 = new UserInfo(target);
  952. -               target.sendPacket(info2);
  953. -               target.broadcastPacket(new ExBrExtraUserInfo(target));
  954. -           }
  955. -           catch (Exception e)
  956. -           {
  957. -           }
  958. -       }
  959. -   }
  960. -  
  961. -   private void createItem(L2PcInstance activeChar, L2PcInstance player, int id, int num)
  962. -   {
  963. -       player.getInventory().addItem("Event", id, num, player, activeChar);
  964. -       ItemList il = new ItemList(player, true);
  965. -       player.sendPacket(il);
  966. -      
  967. -       NpcHtmlMessage adminReply = new NpcHtmlMessage(5);
  968. -       adminReply.setHtml(
  969. -               "<html><body>" +
  970. -               "CONGRATULATIONS, you should have a present in your inventory" +
  971. -       "</body></html>");
  972. -       player.sendPacket(adminReply);
  973. -   }
  974. -  
  975. -   void regardTeam(L2PcInstance activeChar, int team, int n, int id, String type)
  976. -   {
  977. -       LinkedList<String> linked = L2Event.players.get(team);
  978. -       int temp = n;
  979. -       Iterator<String> it = linked.iterator();
  980. -       while (it.hasNext())
  981. -       {
  982. -           try
  983. -           {
  984. -               L2PcInstance target = L2World.getInstance().getPlayer(it.next());
  985. -               if (type.equalsIgnoreCase("level"))
  986. -                   temp = n * target.getLevel();
  987. -               else if (type.equalsIgnoreCase("kills"))
  988. -                   temp = n * target.kills.size();
  989. -               else
  990. -                   temp = n;
  991. -               createItem(activeChar, target, id, temp);
  992. -           }
  993. -           catch (Exception e)
  994. -           {
  995. -           }
  996. -       }
  997. -   }
  998. -  
  999. -   void telePlayersBack(int team)
  1000. -   {
  1001. -       resTeam(team);
  1002. -       unpolyTeam(team);
  1003. -       LinkedList<String> linked = L2Event.players.get(team);
  1004. -       Iterator<String> it = linked.iterator();
  1005. -       while (it.hasNext())
  1006. -       {
  1007. -           try
  1008. -           {
  1009. -               L2PcInstance target = L2World.getInstance().getPlayer(it.next());
  1010. -               target.setTitle(target.eventTitle);
  1011. -               target.setKarma(target.eventkarma);
  1012. -               target.setPvpKills(target.eventpvpkills);
  1013. -               target.setPkKills(target.eventpkkills);
  1014. -               target.teleToLocation(target.eventX, target.eventY, target.eventZ, true);
  1015. -               target.kills.clear();
  1016. -               target.eventSitForced = false;
  1017. -               target.atEvent = false;
  1018. -           }
  1019. -           catch (Exception e)
  1020. -           {
  1021. -           }
  1022. +           else
  1023. +               num = n;
  1024. +          
  1025. +           player.getInventory().addItem("Event", id, num, player, activeChar);
  1026. +           player.sendPacket(new ItemList(player, true));
  1027. +          
  1028. +           NpcHtmlMessage adminReply = new NpcHtmlMessage(5);
  1029. +           adminReply.setHtml(
  1030. +                   "<html><body>" +
  1031. +                   "CONGRATULATIONS, you should have a present in your inventory" +
  1032. +           "</body></html>");
  1033. +           player.sendPacket(adminReply);
  1034.         }
  1035.     }
  1036.  }
  1037. Index: data/scripts/handlers/bypasshandlers/EventEngine.java
  1038. ===================================================================
  1039. --- data/scripts/handlers/bypasshandlers/EventEngine.java   (revision 0)
  1040. +++ data/scripts/handlers/bypasshandlers/EventEngine.java   (revision 0)
  1041. @@ -0,0 +1,60 @@
  1042. +/*
  1043. + * This program is free software: you can redistribute it and/or modify it under
  1044. + * the terms of the GNU General Public License as published by the Free Software
  1045. + * Foundation, either version 3 of the License, or (at your option) any later
  1046. + * version.
  1047. + *
  1048. + * This program is distributed in the hope that it will be useful, but WITHOUT
  1049. + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
  1050. + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
  1051. + * details.
  1052. + *
  1053. + * You should have received a copy of the GNU General Public License along with
  1054. + * this program. If not, see <http://www.gnu.org/licenses/>.
  1055. + */
  1056. +package handlers.bypasshandlers;
  1057. +
  1058. +import com.l2jserver.gameserver.handler.IBypassHandler;
  1059. +import com.l2jserver.gameserver.model.actor.L2Character;
  1060. +import com.l2jserver.gameserver.model.actor.L2Npc;
  1061. +import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
  1062. +import com.l2jserver.gameserver.model.entity.L2Event;
  1063. +
  1064. +public class EventEngine implements IBypassHandler
  1065. +{
  1066. +   private static final String[] COMMANDS =
  1067. +   {
  1068. +       "event_participate",
  1069. +       "event_unregister"
  1070. +   };
  1071. +  
  1072. +   public boolean useBypass(String command, L2PcInstance activeChar, L2Character target)
  1073. +   {
  1074. +       if (!(target instanceof L2Npc))
  1075. +           return false;
  1076. +      
  1077. +       try
  1078. +       {
  1079. +           if (command.equalsIgnoreCase("event_participate"))
  1080. +           {
  1081. +               L2Event.registerPlayer(activeChar);
  1082. +               return true;
  1083. +           }
  1084. +           else if (command.equalsIgnoreCase("event_unregister"))
  1085. +           {
  1086. +               L2Event.removeAndResetPlayer(activeChar);
  1087. +               return true;
  1088. +           }
  1089. +       }
  1090. +       catch (Exception e)
  1091. +       {
  1092. +           _log.info("Exception in " + getClass().getSimpleName());
  1093. +       }
  1094. +       return false;
  1095. +   }
  1096. +  
  1097. +   public String[] getBypassList()
  1098. +   {
  1099. +       return COMMANDS;
  1100. +   }
  1101. +}
  1102. \ No newline at end of file
  1103. Index: data/scripts/handlers/voicedcommandhandlers/Wedding.java
  1104. ===================================================================
  1105. --- data/scripts/handlers/voicedcommandhandlers/Wedding.java    (revision 8004)
  1106. +++ data/scripts/handlers/voicedcommandhandlers/Wedding.java    (working copy)
  1107. @@ -35,6 +35,7 @@
  1108.  import com.l2jserver.gameserver.model.L2World;
  1109.  import com.l2jserver.gameserver.model.actor.L2Character;
  1110.  import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
  1111. +import com.l2jserver.gameserver.model.entity.L2Event;
  1112.  import com.l2jserver.gameserver.model.entity.TvTEvent;
  1113.  import com.l2jserver.gameserver.network.SystemMessageId;
  1114.  import com.l2jserver.gameserver.network.serverpackets.ActionFailed;
  1115. @@ -293,7 +294,7 @@
  1116.             activeChar.sendMessage("Your partner is in the Olympiad now.");
  1117.             return false;
  1118.         }
  1119. -       else if (partner.atEvent)
  1120. +       else if (L2Event.isParticipant(partner))
  1121.         {
  1122.             activeChar.sendMessage("Your partner is in an event.");
  1123.             return false;
  1124. @@ -366,7 +367,7 @@
  1125.             activeChar.sendMessage("You are in the Olympiad now.");
  1126.             return false;
  1127.         }
  1128. -       else if (activeChar.atEvent)
  1129. +       else if (L2Event.isParticipant(activeChar))
  1130.         {
  1131.             activeChar.sendMessage("You are in an event.");
  1132.             return false;
  1133. @@ -434,11 +435,11 @@
  1134.    
  1135.     static class EscapeFinalizer implements Runnable
  1136.     {
  1137. -       private L2PcInstance _activeChar;
  1138. -       private int _partnerx;
  1139. -       private int _partnery;
  1140. -       private int _partnerz;
  1141. -       private boolean _to7sDungeon;
  1142. +       private final L2PcInstance _activeChar;
  1143. +       private final int _partnerx;
  1144. +       private final int _partnery;
  1145. +       private final int _partnerz;
  1146. +       private final boolean _to7sDungeon;
  1147.        
  1148.         EscapeFinalizer(L2PcInstance activeChar, int x, int y, int z, boolean to7sDungeon)
  1149.         {
  1150. Index: data/scripts/handlers/voicedcommandhandlers/stats.java
  1151. ===================================================================
  1152. --- data/scripts/handlers/voicedcommandhandlers/stats.java  (revision 8004)
  1153. +++ data/scripts/handlers/voicedcommandhandlers/stats.java  (working copy)
  1154. @@ -14,8 +14,6 @@
  1155.   */
  1156.  package handlers.voicedcommandhandlers;
  1157.  
  1158. -import java.util.Iterator;
  1159. -
  1160.  import com.l2jserver.gameserver.handler.IVoicedCommandHandler;
  1161.  import com.l2jserver.gameserver.model.L2World;
  1162.  import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
  1163. @@ -47,25 +45,21 @@
  1164.             {
  1165.                 NpcHtmlMessage adminReply = new NpcHtmlMessage(5);
  1166.                 final StringBuilder replyMSG = StringUtil.startAppend(
  1167. -                       300 + pc.kills.size() * 50,
  1168. +                       300 + pc.getEventStatus().kills.size() * 50,
  1169.                         "<html><body>" +
  1170.                         "<center><font color=\"LEVEL\">[ L2J EVENT ENGINE ]</font></center><br>" +
  1171.                         "<br>Statistics for player <font color=\"LEVEL\">",
  1172.                         pc.getName(),
  1173.                         "</font><br>" +
  1174.                         "Total kills <font color=\"FF0000\">",
  1175. -                       String.valueOf(pc.kills.size()),
  1176. +                       String.valueOf(pc.getEventStatus().kills.size()),
  1177.                         "</font><br>" +
  1178.                         "<br>Detailed list: <br>"
  1179.                 );
  1180. -              
  1181. -               Iterator<String> it = pc.kills.iterator();
  1182. -              
  1183. -               while (it.hasNext()) {
  1184. -                   StringUtil.append(replyMSG,
  1185. -                           "<font color=\"FF0000\">",
  1186. -                           it.next(),
  1187. -                   "</font><br>");
  1188. +
  1189. +               for (L2PcInstance plr : pc.getEventStatus().kills)
  1190. +               {
  1191. +                   StringUtil.append(replyMSG, "<font color=\"FF0000\">", plr.getName(), "</font><br>");
  1192.                 }
  1193.                
  1194.                 replyMSG.append("</body></html>");
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement