Advertisement
warc222

request system

Sep 24th, 2015
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.27 KB | None | 0 0
  1. Index: java/com/l2jserver/gameserver/model/actor/instance/L2RequestsInstance.java
  2. ===================================================================
  3. --- java/com/l2jserver/gameserver/model/actor/instance/L2RequestsInstance.java (revision 0)
  4. +++ java/com/l2jserver/gameserver/model/actor/instance/L2RequestsInstance.java (revision 0)
  5. @@ -0,0 +1,109 @@
  6. +package com.l2jserver.gameserver.model.actor.instance;
  7. +
  8. +import java.sql.Connection;
  9. +import java.sql.PreparedStatement;
  10. +import java.sql.ResultSet;
  11. +
  12. +import javolution.text.TextBuilder;
  13. +import javolution.util.FastList;
  14. +
  15. +import com.l2jserver.L2DatabaseFactory;
  16. +import com.l2jserver.gameserver.model.actor.L2Npc;
  17. +import com.l2jserver.gameserver.model.actor.templates.L2NpcTemplate;
  18. +import com.l2jserver.gameserver.network.serverpackets.NpcHtmlMessage;
  19. +
  20. +/**
  21. + * @author Marwan
  22. + * @version 1.0
  23. + */
  24. +public class L2RequestsInstance extends L2Npc
  25. +{
  26. + public L2RequestsInstance(int objectId, L2NpcTemplate template)
  27. + {
  28. + super(objectId, template);
  29. + }
  30. +
  31. + public static FastList<String> reqs = new FastList<String>();
  32. +
  33. + @Override
  34. + public void onBypassFeedback(L2PcInstance player, String command)
  35. + {
  36. + if ((player == null) || (player.getLastFolkNPC() == null) || (player.getLastFolkNPC().getObjectId() != this.getObjectId()))
  37. + {
  38. + return;
  39. + }
  40. + if (command.startsWith("viewlist"))
  41. + {
  42. + StringBuilder sb = new StringBuilder();
  43. + sb.append("<html><title>Requester NPC</title><body>");
  44. + sb.append("<br><table width=300><tr><td>Title</td><td width=30>Info</td><td>Type</td></tr><br></font>");
  45. + Connection con = null;
  46. + try
  47. + {
  48. + con = L2DatabaseFactory.getInstance().getConnection();
  49. + PreparedStatement statement = con.prepareStatement("SELECT * FROM requests ORDER BY id DESC");
  50. +
  51. + ResultSet result = statement.executeQuery();
  52. +
  53. + String title;
  54. + String desc;
  55. + String type;
  56. + int id;
  57. + int counter = 0;
  58. + while (result.next())
  59. + {
  60. + if (!reqs.contains(result.getString(2)))
  61. + {
  62. + reqs.add(result.getString(2));
  63. + }
  64. + title = result.getString(3);
  65. + type = result.getString(4);
  66. + desc = result.getString(5);
  67. + id = result.getInt(1);
  68. + sb.append("<tr><td>" + title + "</td><td><a action=\"bypass -h showreq " + id + "\" <font color=\"FFFF00\">Info</font></a></td><td>" + type + "</td></tr>");
  69. + }
  70. + statement.close();
  71. + }
  72. + catch (Exception e)
  73. + {
  74. + player.sendMessage(e.getMessage());
  75. + }
  76. + sb.append("</body></html>");
  77. + NpcHtmlMessage msg = new NpcHtmlMessage(this.getObjectId());
  78. + msg.setHtml(sb.toString());
  79. + player.sendPacket(msg);
  80. +
  81. + }
  82. + else if (command.startsWith("post"))
  83. + {
  84. + StringBuilder sb = new StringBuilder();
  85. + sb.append("<html noscrollbar><title>Requester NPC</title><body>");
  86. + sb.append("Title:<edit var=\"title\" width=\"120\" height=\"15\"><br>");
  87. + sb.append("Info: <multiedit var=\"info\" width=\"150\" height=\"120\"><br>");
  88. + sb.append("Type:<combobox var=\"ty\" list=Request;Requester width=\"100\" height=\"150\"><br>");
  89. + sb.append("<br><br><center><button value=\"Post\" action=\"bypass -h addreq $title $ty $info\" width=160 height=32 back=\"L2UI_CT1.Button_DF_Down\" fore=\"L2UI_ct1.button_df\"></center>");
  90. + sb.append("</body></html>");
  91. + NpcHtmlMessage msg = new NpcHtmlMessage(this.getObjectId());
  92. + msg.setHtml(sb.toString());
  93. + player.sendPacket(msg);
  94. +
  95. + }
  96. + }
  97. +
  98. + @Override
  99. + public void showChatWindow(L2PcInstance player, int val)
  100. + {
  101. + TextBuilder tb = new TextBuilder();
  102. + tb.append("<html><title>Requester NPC</title><body><center><br>");
  103. + tb.append("Hello <font color=\"LEVEL\">" + player.getName() + "</font><br>Here you can view all requests<br> and post too.");
  104. + tb.append("<br><img src=\"l2ui.squaregray\" width=\"270\" height=\"1\"><br>");
  105. + tb.append("<button value=\"Request List\" action=\"bypass -h npc_%objectId%_viewlist\" width=160 height=32 back=\"L2UI_CT1.Button_DF_Down\" fore=\"L2UI_ct1.button_df\">");
  106. + tb.append("<button value=\"Post\" action=\"bypass -h npc_%objectId%_post\" width=160 height=32 back=\"L2UI_CT1.Button_DF_Down\" fore=\"L2UI_ct1.button_df\">");
  107. +
  108. + NpcHtmlMessage msg = new NpcHtmlMessage(this.getObjectId());
  109. + msg.setHtml(tb.toString());
  110. + msg.replace("%objectId%", String.valueOf(this.getObjectId()));
  111. +
  112. + player.sendPacket(msg);
  113. + }
  114. +}
  115. \ No newline at end of file
  116. Index: java/com/l2jserver/gameserver/network/clientpackets/RequestBypassToServer.java
  117. ===================================================================
  118. --- java/com/l2jserver/gameserver/network/clientpackets/RequestBypassToServer.java (revision 5667)
  119. +++ java/com/l2jserver/gameserver/network/clientpackets/RequestBypassToServer.java (working copy)
  120. @@ -14,27 +14,37 @@
  121. */
  122. package com.l2jserver.gameserver.network.clientpackets;
  123.  
  124. +import java.sql.Connection;
  125. +import java.sql.PreparedStatement;
  126. +import java.sql.ResultSet;
  127. import java.util.List;
  128. import java.util.StringTokenizer;
  129. import java.util.logging.Level;
  130.  
  131. import javolution.util.FastList;
  132.  
  133. import com.l2jserver.Config;
  134. +import com.l2jserver.L2DatabaseFactory;
  135. import com.l2jserver.gameserver.ai.CtrlIntention;
  136. import com.l2jserver.gameserver.communitybbs.CommunityBoard;
  137. import com.l2jserver.gameserver.datatables.AdminTable;
  138. import com.l2jserver.gameserver.handler.AdminCommandHandler;
  139. import com.l2jserver.gameserver.handler.BypassHandler;
  140. import com.l2jserver.gameserver.handler.IAdminCommandHandler;
  141. import com.l2jserver.gameserver.handler.IBypassHandler;
  142. import com.l2jserver.gameserver.model.L2CharPosition;
  143. import com.l2jserver.gameserver.model.L2Object;
  144. import com.l2jserver.gameserver.model.L2World;
  145. import com.l2jserver.gameserver.model.actor.L2Npc;
  146. import com.l2jserver.gameserver.model.actor.instance.L2MerchantSummonInstance;
  147. import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
  148. import com.l2jserver.gameserver.model.entity.Hero;
  149. import com.l2jserver.gameserver.model.items.instance.L2ItemInstance;
  150. import com.l2jserver.gameserver.network.SystemMessageId;
  151. import com.l2jserver.gameserver.network.communityserver.CommunityServerThread;
  152. @@ -85,7 +97,90 @@
  153. activeChar.logout();
  154. return;
  155. }
  156. -
  157. + if (_command.startsWith("showreq"))
  158. + {
  159. + StringTokenizer st = new StringTokenizer(_command);
  160. +
  161. + st.nextToken();
  162. +
  163. + String id = st.nextToken();
  164. + Connection con = null;
  165. + StringBuilder sb = new StringBuilder();
  166. + sb.append("<html><title>Requester NPC</title><body>");
  167. +
  168. + try
  169. + {
  170. +
  171. + con = L2DatabaseFactory.getInstance().getConnection();
  172. +
  173. + PreparedStatement statement = con.prepareStatement("SELECT * FROM requests where `id`=?");
  174. +
  175. + statement.setString(1, id);
  176. + statement.execute();
  177. + ResultSet result = statement.executeQuery();
  178. + String info;
  179. + String title;
  180. + String name;
  181. + String type;
  182. + while (result.next())
  183. + {
  184. + info = result.getString(5);
  185. + title = result.getString(3);
  186. + name = result.getString(2);
  187. + type = result.getString(4);
  188. + sb.append("<br><br><br><center>Character Name : " + name + "</center>");
  189. + sb.append("<br><br><center>Request Title : " + title + "</center>");
  190. + sb.append("<br><br><center>Reaquest Info : " + info + "</center>");
  191. + sb.append("<br><br><center>Request Type : " + type + "</center>");
  192. + sb.append("</body></html>");
  193. + }
  194. + statement.close();
  195. + }
  196. + catch (Exception e)
  197. + {
  198. + e.printStackTrace();
  199. + _log.log(Level.SEVERE, e.getMessage(), e);
  200. + }
  201. + NpcHtmlMessage msg = new NpcHtmlMessage(6);
  202. + msg.setHtml(sb.toString());
  203. + activeChar.sendPacket(msg);
  204. + }
  205. + if (_command.startsWith("addreq"))
  206. + {
  207. +
  208. + StringTokenizer st = new StringTokenizer(_command);
  209. +
  210. + st.nextToken();
  211. +
  212. + String title = st.nextToken();
  213. + String desc = " ";
  214. + String type = st.nextToken();
  215. + while (st.hasMoreTokens())
  216. + {
  217. + desc = desc + " " + st.nextToken() + " ";
  218. + }
  219. + Connection con = null;
  220. + try
  221. + {
  222. +
  223. + con = L2DatabaseFactory.getInstance().getConnection();
  224. +
  225. + PreparedStatement statement = con.prepareStatement("INSERT INTO requests VALUES ('0',?,?,?,?)");
  226. +
  227. + statement.setString(1, activeChar.getName());
  228. + statement.setString(2, title);
  229. + statement.setString(3, type);
  230. + statement.setString(4, desc);
  231. + statement.execute();
  232. + statement.close();
  233. +
  234. + activeChar.sendMessage("Succesfull");
  235. +
  236. + }
  237. + catch (Exception e){}
  238. + }
  239.  
  240.  
  241.  
  242.  
  243.  
  244. CREATE TABLE `requests` (
  245. `id` int AUTO_INCREMENT,
  246. `name` text,
  247. `title` text,
  248. `type` text,
  249. `desc` text,
  250. PRIMARY KEY (`id`)
  251. ) ENGINE=InnoDB AUTO_INCREMENT=43 DEFAULT CHARSET=latin1;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement