java改端技术

079结婚修复法

时间:2023-05-09 13:52:31   作者:ZeroMS   来源:冒险岛攻略网   阅读:155   评论:0
内容摘要:首先,找到NPCConversationManager.java在合适的位置上插入以下代码(请直接复制,本人亲自测试,无错..所有端均可通过):publicbooleancreateMarriage(Stringpartner_){//声明变量MapleCharacterpartner=getCharByName(pa...
  1. 首先,找到NPCConversationManager.java
  2. 在合适的位置上插入以下代码(请直接复制,本人亲自测试,无错..所有端均可通过):
  3.         public boolean createMarriage(String partner_) {      //声明变量
  4.         MapleCharacter partner = getCharByName(partner_);  //名字
  5.         if (partner == null) {
  6.             return false;
  7.         }
  8.         partner.setMarried(true);
  9.         getPlayer().setMarried(true);
  10.         partner.setPartnerId(getPlayer().getId());
  11.         getPlayer().setPartnerId(partner.getId());
  12.         if (partner.getGender() > 0) {
  13.             Marriage.createMarriage(getPlayer(), partner);
  14.         } else {
  15.             Marriage.createMarriage(partner, getPlayer());
  16.         }
  17.         return true;
  18.     }
  19.     public boolean createEngagement(String partner_) {
  20.         MapleCharacter partner = getCharByName(partner_);
  21.         if (partner == null) {
  22.             return false;
  23.         }
  24.         if (partner.getGender() > 0) {
  25.             Marriage.createEngagement(getPlayer(), partner);
  26.         } else {
  27.             Marriage.createEngagement(partner, getPlayer());
  28.         }
  29.         return true;
  30.     }
  31.     public void divorceMarriage() {      //增加至XXXX
  32.         getPlayer().setPartnerId(0);
  33.         getPlayer().setMarried(false);
  34.         Marriage.divorceMarriage(getPlayer());  ///结束至XXXX
  35.     }
  36.                         先别着急这编译..请继续看下去
  37.                             打开 src\net\sf\odinms\scripting\npc  这个文件夹新建--文本文档--复制以下代码进去:
  38.   /*
  39. * @丶小_路.
  40. */
  41. package net.sf.odinms.scripting.npc;
  42. import java.sql.Connection;
  43. import java.sql.PreparedStatement;
  44. import java.sql.ResultSet;
  45. import java.sql.SQLException;
  46. import net.sf.odinms.client.MapleCharacter;
  47. import net.sf.odinms.database.DatabaseConnection;
  48. public class Marriage {
  49.         private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(Marriage.class);
  50.         public static void createMarriage(MapleCharacter player, MapleCharacter partner) {
  51.                 try {
  52.                         Connection con = DatabaseConnection.getConnection();
  53.                         PreparedStatement ps = con.prepareStatement("INSERT INTO marriages (husbandid, wifeid) VALUES (?, ?)");
  54.                         ps.setInt(1, player.getId());
  55.                         ps.setInt(2, partner.getId());
  56.                         ps.executeUpdate();
  57.                         ps.close();
  58.                 } catch (SQLException ex) {
  59.                         log.warn("结婚: " + player.getName() + " 和 " + partner.getName(), ex);
  60.                 }
  61.         }
  62.         public static void createEngagement(MapleCharacter player, MapleCharacter partner) {
  63.                 try {
  64.                         Connection con = DatabaseConnection.getConnection();
  65.                         PreparedStatement ps = con.prepareStatement("INSERT INTO engagements (husbandid, wifeid) VALUES (?, ?)");
  66.                         ps.setInt(1, player.getId());
  67.                         ps.setInt(2, partner.getId());
  68.                         ps.executeUpdate();
  69.                 } catch (SQLException ex) {
  70.                         log.warn("宣布与参与 " + player.getName() + " 和" + partner.getName(), ex);
  71.                 }
  72.         }
  73.         public static void divorceEngagement(MapleCharacter player, MapleCharacter partner) {
  74.                 try {
  75.                         Connection con = DatabaseConnection.getConnection();
  76.                         int pid = 0;
  77.                         if (player.getGender() == 0) {
  78.                                 pid = player.getId();
  79.                         } else {
  80.                                 pid = partner.getId();
  81.                         }
  82.                         PreparedStatement get = con.prepareStatement("SELECT FROM engagements WHERE husbandid = ?");
  83.                         get.setInt(1, pid);
  84.                         ResultSet rs = get.executeQuery();
  85.                         PreparedStatement ps = con.prepareStatement("DELETE FROM engagements WHERE husbandid = ?");
  86.                         if (rs.next()) {
  87.                                 ps.setInt(1, pid);
  88.                         } else {
  89.                                 return;
  90.                         }
  91.                         ps.executeUpdate();
  92.                         PreparedStatement ps1 = con.prepareStatement("UPDATE characters SET marriagequest = 0 WHERE id = ?, and WHERE id = ?");
  93.                         ps1.setInt(1, player.getId());
  94.                         ps1.setInt(2, partner.getId());
  95.                         ps1.executeUpdate();
  96.                 } catch (SQLException ex) {
  97.                         log.warn("宣布与参与 " + player.getName() + " 和 " + partner.getName(), ex);
  98.                 }
  99.         }
  100.         public static void divorceMarriage(MapleCharacter player, MapleCharacter partner) {
  101.                 try {
  102.                         Connection con = DatabaseConnection.getConnection();
  103.                         int pid = 0;
  104.                         if (player.getGender() == 0) {
  105.                                 pid = player.getId();
  106.                         } else {
  107.                                 pid = partner.getId();
  108.                         }
  109.                         PreparedStatement get = con.prepareStatement("SELECT partnerid FROM characters WHERE id = ?");
  110.                         get.setInt(1, player.getId());
  111.                         ResultSet rs = get.executeQuery();
  112.                         if (rs.next()) {
  113.                                 PreparedStatement ps = con.prepareStatement("DELETE FROM marriages WHERE husbandid = ?");
  114.                                 ps.setInt(1, pid);
  115.                                 ps.executeUpdate();
  116.                                 PreparedStatement ps1 = con.prepareStatement("UPDATE characters SET married = 0 WHERE id = ?, and WHERE id = ?");
  117.                                 ps1.setInt(1, player.getId());
  118.                                 ps1.setInt(2, partner.getId());
  119.                                 ps1.executeUpdate();
  120.                                 ps.close();
  121.                                 ps1.close();
  122.                         } else {
  123.                                 return;
  124.                         }
  125.                         get.close();
  126.                 } catch (SQLException ex) {
  127.                         log.warn("离婚:" + player.getName() + " 和 " + partner.getName(), ex);
  128.                 }
  129.         }
  130. }
  131.             复制完毕后关闭并保存把文件命名为: Marriage.java   保存文件.必须在这个文件夹
  132. src\net\sf\odinms\scripting\npc
  133.                 复制以下NPC脚本.结婚的教堂里的哪位人物都行.复制如下代码加入NPC脚本中!!!
  134.     /*
  135. *@丶小_路.
  136. */
  137. var status = 0;
  138. var otherChar;
  139. var Char;
  140. importPackage(net.sf.odinms.client);
  141. importPackage(net.sf.odinms.server);
  142. function start(character3) {
  143.         status = -1;
  144.         action(1, 0, 0);
  145.         otherChar = character3;
  146. }
  147. function action(mode, type, selection) {
  148.         if (mode == -1) {
  149.                 otherChar.getClient().getSession().write
  150. (net.sf.odinms.tools.MaplePacketCreator.serverNotice(1, "您的伴侣拒绝您的请求!"));
  151.                 cm.dispose();
  152.         } else {
  153.                 if (mode == 0 && status == 0) {
  154.                         otherChar.getClient().getSession().write
  155. (net.sf.odinms.tools.MaplePacketCreator.serverNotice(1, "您的伴侣拒绝您的请求.."));
  156.                         cm.dispose();
  157.                         return;
  158.                 }
  159.                 if (mode == 1) {
  160.                         status++;
  161.                 } else {
  162.                         status--;
  163.                 }
  164.                 if (status == 0) {
  165.                         cm.sendNext("有人想向您发送内容!.");
  166.                 } else if (status == 1) {
  167.                         var t = otherChar.getName();
  168.                         cm.sendYesNo("你想不想参与 " + t + "的婚礼?") ;
  169.                 } else if (status == 2) {
  170.                         otherChar.getClient().getSession().write
  171. (net.sf.odinms.tools.MaplePacketCreator.serverNotice(1, "您的伴侣接受了您的请求!"));
  172.                         otherChar.setMarriageQuestLevel(50);
  173.                         cm.getPlayer().setMarriageQuestLevel(50);
  174.                         cm.createEngagement(cm.getPlayer().getId(), otherChar.getId());
  175.                         if (otherChar.countItem(2240000) > 0) {
  176.                                 MapleInventoryManipulator.removeById(otherChar.getClient(),
  177. MapleInventoryType.USE, 2240000, 1, false, false);
  178.                                 MapleInventoryManipulator.addById(otherChar.getClient(), 4031358, 1, "shit!");
  179.                                 MapleInventoryManipulator.addById(cm.getPlayer().getClient(), 4031358,
  180. 1, "shit!");
  181.                                 MapleInventoryManipulator.addById(otherChar.getClient(), 4031357, 1, "shit!");
  182.                         } else if (otherChar.countItem(2240001) > 0) {
  183.                                 MapleInventoryManipulator.removeById(otherChar.getClient(),
  184. MapleInventoryType.USE, 2240001, 1, false, false);
  185.                                 MapleInventoryManipulator.addById(otherChar.getClient(), 4031360, 1, "shit!");
  186.                                 MapleInventoryManipulator.addById(cm.getPlayer().getClient(), 4031360,
  187. 1, "shit!");
  188.                                 MapleInventoryManipulator.addById(otherChar.getClient(), 4031359,
  189. 1, "shit!");                        
  190.                         } else if (otherChar.countItem(2240002) > 0) {
  191.                                 MapleInventoryManipulator.removeById(otherChar.getClient(), MapleInventoryType.USE, 2240002, 1, false, false);
  192.                                 MapleInventoryManipulator.addById(otherChar.getClient(), 4031362, 1, "shit!");
  193.                                 MapleInventoryManipulator.addById(cm.getPlayer(), 4031362, 1, "shit!");
  194.                                 MapleInventoryManipulator.addById(otherChar.getClient(), 4031361, 1, "shit!");
  195.                         } else if (otherChar.countItem(2240003) > 0) {
  196.                                 MapleInventoryManipulator.removeById(otherChar.getClient(),
  197. MapleInventoryType.USE, 2240003, 1, false, false);
  198.                                 MapleInventoryManipulator.addById(otherChar.getClient(), 4031364, 1, "shit!");
  199.                                 MapleInventoryManipulator.addById(cm.getPlayer(), 4031364, 1, "shit!");
  200.                                 MapleInventoryManipulator.addById(otherChar.getClient(), 4031363,
  201. 1, "shit!");                        
  202.                         }
  203.                         cm.dispose();
  204.                 }
  205.         }
  206. }

标签:结婚  修复  
相关评论

欢迎加入全国最大的冒险岛攻略交流社区,在这里你可以找到丰富的冒险资源,同时更有众多群友和你一起交流分享心得

《冒险岛Online》是一款超人气家庭休闲网游。整个游戏画面以2D平面展开,采用了与其他Q版2D游戏不同的横向卷轴的移动方式。
游戏场景高低落差的设计,整个画面分前景、静止背景、活动景物3个层次的设计,既别出心裁又给人一种很真实的感受。

声明:本站文章均来此网络,如有侵权请来信告知!我们将在24小时内删除!本站为冒险岛交流区,请支持冒险岛官方,官方网站:mxd.sdo.com

Copyright © 2008 - 2025 盗贼冒险岛. All Rights Reserved