diff --git a/src/client/MapleCharacter.java b/src/client/MapleCharacter.java index 79c7713..977fd37 100644 --- a/src/client/MapleCharacter.java +++ b/src/client/MapleCharacter.java @@ -5345,15 +5345,15 @@ public class MapleCharacter extends AbstractAnimatedMapleMapObject implements Se } BigInteger qgjs = this.getQGjs(); if (qgjs!=null) { - Num = Num.add(qgjs.divide(BigInteger.valueOf(100))); + Num = Num.add(qgjs.multiply(BigInteger.valueOf(100))); } BigInteger dd = this.getDD(); if (dd!=null) { - Num = Num.add(dd.divide(BigInteger.valueOf(666))); + Num = Num.add(dd.multiply(BigInteger.valueOf(666))); } BigInteger db = this.getDB(); if (db!=null) { - Num = Num.add(this.getDB().divide(BigInteger.valueOf(1000))); + Num = Num.add(this.getDB().multiply(BigInteger.valueOf(1000))); } diff --git a/src/client/PlayerStats.java b/src/client/PlayerStats.java index 5e29ada..b788d14 100644 --- a/src/client/PlayerStats.java +++ b/src/client/PlayerStats.java @@ -30,6 +30,7 @@ import constants.GameConstants; import server.MapleItemInformationProvider; import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.locks.ReentrantLock; import client.inventory.Equip; @@ -292,7 +293,7 @@ public class PlayerStats implements Serializable { public void recalcLocalStats() { this.recalcLocalStats(false); } - int dsbbh =1; + private final AtomicInteger dsbbh = new AtomicInteger(0); // 替代 int dsbbh public void recalcLocalStats(final boolean first_login) { final MapleCharacter chra = (MapleCharacter) this.chr.get(); if (chra == null) { @@ -636,10 +637,11 @@ public class PlayerStats implements Serializable { // if (!first_login) { // chra.jqxsrw(); // } - dsbbh++; + if (!first_login) { + int currentDsbbh = dsbbh.incrementAndGet(); // 原子自增并获取最新值 for (AotuNpc npc : Start.aotuNpcs) { - Start.executor.schedule(() -> dsnpcfw(chra, npc,dsbbh), npc.getTime(), TimeUnit.MILLISECONDS); + Start.executor.schedule(() -> dsnpcfw(chra, npc, currentDsbbh), npc.getTime(), TimeUnit.MILLISECONDS); } } @@ -981,10 +983,10 @@ public class PlayerStats implements Serializable { this.isRecalc = false; } - private void dsnpcfw(MapleCharacter chra, AotuNpc aotuNpc,int dsbbh2) { - if (dsbbh2!=this.dsbbh)return; - if ((aotuNpc.getMapId() == chra.getMapId()||aotuNpc.getMapId()==0)) { - if ((aotuNpc.getItemId() == 0 || chra.getItemNum(aotuNpc.getItemId())>=aotuNpc.getItemNum()) && (aotuNpc.getEquId() == 0 || chra.hasEquipped(aotuNpc.getEquId()))){ + private synchronized void dsnpcfw(MapleCharacter chra, AotuNpc aotuNpc,int dsbbh2) { + if (dsbbh2 != dsbbh.get()) return; // 使用 get() 获取当前值 + if ((aotuNpc.isAutoMap(chra.getMapId()))) { + if ((aotuNpc.getItemId() == 0 || chra.getItemNum(aotuNpc.getItemId())>=aotuNpc.getItemNum()) && (aotuNpc.getEquId() == 0 || chra.hasEquipped(aotuNpc.getEquId())) &&chra.getLevel()>= aotuNpc.getLv()){ final NPCConversationManager cm = NPCScriptManager.getInstance().getCM(chra.getClient()); if (cm == null || chra.getConversation() == 0 || cm.getLastMsg() != 4) { NPCScriptManager.getInstance().startds(chra.getClient(), aotuNpc.getNpcId(),0,aotuNpc.getScriptsName()); diff --git a/src/client/messages/commands/PlayerCommand.java b/src/client/messages/commands/PlayerCommand.java index 2388b98..f3b1cc6 100644 --- a/src/client/messages/commands/PlayerCommand.java +++ b/src/client/messages/commands/PlayerCommand.java @@ -208,8 +208,10 @@ public class PlayerCommand { @Override public boolean execute(final MapleClient c, final String[] splitted) { if (c.getPlayer().getBossLog("刷钱模式介绍") == 0) { - c.getPlayer().dropMessage(6, "刷钱模式总共2种模式通过 @刷钱模式 进行切换"); - c.getPlayer().dropMessage(6, "1.全部材料和装备都会自动帮你售卖为金币 2.只会自动帮你售卖掉落的装备、子弹、标"); + c.getPlayer().dropMessage(6, "刷钱模式总共3种模式通过发送聊天信息 @刷钱模式 进行切换"); + c.getPlayer().dropMessage(6, "刷钱模式①全部材料和装备都会自动帮你售卖为金币"); + c.getPlayer().dropMessage(6, "刷钱模式②只会自动帮你售卖掉落的装备、子弹、标"); + c.getPlayer().dropMessage(6, "刷钱模式③关闭刷钱模式"); c.getPlayer().setBossLog("刷钱模式介绍"); } // if (c.getPlayer().getItemQuantity(((Integer) Start.ConfigValuesMap.get("自动刷钱道具")).intValue(), true) < 1) { @@ -218,27 +220,28 @@ public class PlayerCommand { final MapleCharacter player = c.getPlayer(); if (player.get刷钱模式() == 0) { player.set刷钱模式(1); - String aa = "┌──────────────────────┐\r\n"; - String bb = " #r刷钱模式已经开启1模式#k\r\n"; - String dd = "└──────────────────────┘\r\n"; - String ee = " 全部材料和装备都会自动帮你售卖为金币 "; + String aa = "┌—————————————————┐\r\n"; + String bb = "|  #r#e刷钱模式已经开启①模式#n#k |\r\n"; + String dd = "└─────────────────┘\r\n\r\n"; + String ee = " #b全部材料和装备都会自动帮你售卖为金币#k"; player.showInstruction(aa+bb+dd+ee, 300, 10); // player.dropMessage(6, "刷钱模式已经开启 - 全部材料和装备都会自动帮你售卖为金币"); } else if (player.get刷钱模式() == 1) { player.set刷钱模式(2); - String aa = "┌──────────────────────┐\r\n"; - String bb = " #r刷钱模式已经开启2模式#k\r\n"; - String dd = "└──────────────────────┘\r\n"; - String ee = " 只会自动帮你售卖掉落的装备、子弹、标、药剂"; + String aa = "┌─────────────────┐\r\n"; + String bb = "|  #r#e刷钱模式已经开启②模式#n#k |\r\n"; + String dd = "└─────────────────┘\r\n\r\n"; + String ee = " #b只会自动帮你售卖掉落的装备、子弹、标、药剂#k"; player.showInstruction(aa+bb+dd+ee, 300, 10); // player.dropMessage(6, "刷钱模式已经开启 - 只会自动帮你售卖掉落的装备、子弹、标"); } else { player.set刷钱模式(0); - String aa = "┌──────────────────────┐\r\n"; - String bb = " #r刷钱模式已关闭#k\r\n"; - String dd = "└──────────────────────┘\r\n"; - player.showInstruction(aa+bb+dd, 300, 10); + String aa = "┌─────────────────┐\r\n"; + String bb = "| #r#e刷钱模式已关闭#n#k |\r\n"; + String dd = "└─────────────────┘\r\n\r\n"; + String ee = " #b恢复到正常模式,可再次@刷钱模式开启功能#k"; + player.showInstruction(aa+bb+dd+ee, 300, 10); // player.dropMessage(6, "刷钱模式已经关闭."); } return true; diff --git a/src/gui/UI_LenheartUI/AutoScriptNpc.java b/src/gui/UI_LenheartUI/AutoScriptNpc.java index ab3c10d..c9ab75e 100644 --- a/src/gui/UI_LenheartUI/AutoScriptNpc.java +++ b/src/gui/UI_LenheartUI/AutoScriptNpc.java @@ -46,7 +46,7 @@ public class AutoScriptNpc extends JPanel { for (int i = 0; i < tableModel.getRowCount(); i++) { AotuNpc aotuNpc = new AotuNpc(); // 从表格中获取数据并设置到对象中 - aotuNpc.setMapId(Integer.parseInt(tableModel.getValueAt(i, 0).toString())); + aotuNpc.setMapId(tableModel.getValueAt(i, 0).toString()); aotuNpc.setNpcId(Integer.parseInt(tableModel.getValueAt(i, 1).toString())); aotuNpc.setScriptsName(tableModel.getValueAt(i, 2).toString()); aotuNpc.setItemId(Integer.parseInt(tableModel.getValueAt(i, 3).toString())); diff --git a/src/gui/UI_LenheartUI/DropTips.java b/src/gui/UI_LenheartUI/DropTips.java index 4fbd292..dfa01d6 100644 --- a/src/gui/UI_LenheartUI/DropTips.java +++ b/src/gui/UI_LenheartUI/DropTips.java @@ -156,26 +156,26 @@ public class DropTips extends JPanel { button1.setText("\u65b0\u589e"); button1.addActionListener(e -> 新增(e)); add(button1); - button1.setBounds(225, 465, 95, 35); + button1.setBounds(275, 465, 95, 35); add(textField1); - textField1.setBounds(115, 465, 110, 35); + textField1.setBounds(75, 465, 110, 35); //---- label1 ---- label1.setText("\u9053\u5177ID"); add(label1); - label1.setBounds(45, 465, 110, 35); + label1.setBounds(25, 465, 110, 35); //---- button2 ---- button2.setText("\u5220\u9664"); button2.addActionListener(e -> 删除(e)); add(button2); - button2.setBounds(350, 465, 95, 35); + button2.setBounds(385, 465, 95, 35); //---- button3 ---- button3.setText("\u4fdd\u5b58\u914d\u7f6e"); button3.addActionListener(e -> 保存配置(e)); add(button3); - button3.setBounds(335, 505, 130, 55); + button3.setBounds(350, 520, 130, 35); add(textField2); textField2.setBounds(505, 55, 575, 160); @@ -214,12 +214,12 @@ public class DropTips extends JPanel { add(button8); button8.setBounds(990, 225, 85, 34); add(textField3); - textField3.setBounds(95, 510, 240, 70); + textField3.setBounds(80, 520, 240, 35); //---- label3 ---- label3.setText("\u64ad\u62a5\u5185\u5bb9"); add(label3); - label3.setBounds(new Rectangle(new Point(45, 530), label3.getPreferredSize())); + label3.setBounds(new Rectangle(new Point(25, 530), label3.getPreferredSize())); { // compute preferred size diff --git a/src/gui/UI_LenheartUI/DropTips.jfd b/src/gui/UI_LenheartUI/DropTips.jfd index 1c8a4b5..418d37e 100644 --- a/src/gui/UI_LenheartUI/DropTips.jfd +++ b/src/gui/UI_LenheartUI/DropTips.jfd @@ -47,7 +47,7 @@ new FormModel { "text": "新增" addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "新增", true ) ) }, new FormLayoutConstraints( class com.jformdesigner.runtime.NullConstraints ) { - "x": 225 + "x": 275 "y": 465 "width": 95 "height": 35 @@ -55,7 +55,7 @@ new FormModel { add( new FormComponent( "javax.swing.JTextField" ) { name: "textField1" }, new FormLayoutConstraints( class com.jformdesigner.runtime.NullConstraints ) { - "x": 115 + "x": 75 "y": 465 "width": 110 "height": 35 @@ -64,7 +64,7 @@ new FormModel { name: "label1" "text": "道具ID" }, new FormLayoutConstraints( class com.jformdesigner.runtime.NullConstraints ) { - "x": 45 + "x": 25 "y": 465 "width": 110 "height": 35 @@ -74,7 +74,7 @@ new FormModel { "text": "删除" addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "删除", true ) ) }, new FormLayoutConstraints( class com.jformdesigner.runtime.NullConstraints ) { - "x": 350 + "x": 385 "y": 465 "width": 95 "height": 35 @@ -84,10 +84,10 @@ new FormModel { "text": "保存配置" addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "保存配置", true ) ) }, new FormLayoutConstraints( class com.jformdesigner.runtime.NullConstraints ) { - "x": 335 - "y": 505 + "x": 350 + "y": 520 "width": 130 - "height": 55 + "height": 35 } ) add( new FormComponent( "javax.swing.JTextField" ) { name: "textField2" @@ -158,16 +158,16 @@ new FormModel { add( new FormComponent( "javax.swing.JTextField" ) { name: "textField3" }, new FormLayoutConstraints( class com.jformdesigner.runtime.NullConstraints ) { - "x": 95 - "y": 510 + "x": 80 + "y": 520 "width": 240 - "height": 70 + "height": 35 } ) add( new FormComponent( "javax.swing.JLabel" ) { name: "label3" "text": "播报内容" }, new FormLayoutConstraints( class com.jformdesigner.runtime.NullConstraints ) { - "x": 45 + "x": 25 "y": 530 } ) }, new FormLayoutConstraints( null ) { diff --git a/src/gui/UI_LenheartUI/ExplosiveControl.java b/src/gui/UI_LenheartUI/ExplosiveControl.java index 2c0b11b..9cb9fad 100644 --- a/src/gui/UI_LenheartUI/ExplosiveControl.java +++ b/src/gui/UI_LenheartUI/ExplosiveControl.java @@ -450,7 +450,7 @@ public class ExplosiveControl extends JPanel { button9.setText("\u4e00\u952e\u6e05\u7a7a\u72ec\u7acb\u7206\u7387\u8868"); button9.addActionListener(e -> 一键清空独立爆率表(e)); panel1.add(button9); - button9.setBounds(5, 30, 190, button9.getPreferredSize().height); + button9.setBounds(5, 20, 190, button9.getPreferredSize().height); button10.setText("\u4e00\u952e\u6e05\u7a7a\u5168\u5c40\u7206\u7387\u8868"); diff --git a/src/gui/UI_LenheartUI/ItemRecovery.java b/src/gui/UI_LenheartUI/ItemRecovery.java index b903c67..e603f02 100644 --- a/src/gui/UI_LenheartUI/ItemRecovery.java +++ b/src/gui/UI_LenheartUI/ItemRecovery.java @@ -105,21 +105,21 @@ public class ItemRecovery extends JPanel { 删除按钮.setText("\u5220\u9664"); 删除按钮.addActionListener(e -> 删除按钮(e)); add(删除按钮); - 删除按钮.setBounds(485, 35, 115, 删除按钮.getPreferredSize().height); + 删除按钮.setBounds(485, 55, 115, 删除按钮.getPreferredSize().height); //---- 保存配置 ---- 保存配置.setText("\u4fdd\u5b58\u914d\u7f6e"); 保存配置.setActionCommand("\u4fdd\u5b58\u914d\u7f6e"); 保存配置.addActionListener(e -> 保存配置(e)); add(保存配置); - 保存配置.setBounds(485, 125, 115, 34); + 保存配置.setBounds(485, 100, 115, 34); //---- 新增按钮 ---- 新增按钮.setText("\u65b0\u589e"); 新增按钮.setActionCommand("\u65b0\u589e\u6309\u94ae"); 新增按钮.addActionListener(e -> 新增按钮(e)); add(新增按钮); - 新增按钮.setBounds(485, 80, 115, 34); + 新增按钮.setBounds(485, 10, 115, 34); setPreferredSize(new Dimension(1640, 695)); // JFormDesigner - End of component initialization //GEN-END:initComponents @formatter:on diff --git a/src/gui/UI_LenheartUI/UI_LenheartUI.java b/src/gui/UI_LenheartUI/UI_LenheartUI.java index 3661e2d..bf09693 100644 --- a/src/gui/UI_LenheartUI/UI_LenheartUI.java +++ b/src/gui/UI_LenheartUI/UI_LenheartUI.java @@ -32,15 +32,15 @@ public class UI_LenheartUI { 专用功能页面 = new zygn(); // mainComponent.addTab("专用功能", 专用功能页面); - mainComponent.addTab("掉落捡取提示 & 通知", 掉落捡取提示); - mainComponent.addTab("物品回收设置", 物品回收页面); - mainComponent.addTab("伤害控制设置", 伤害控制页面); - mainComponent.addTab("爆率 & 鞭尸控制设置", 爆率控制页面); - mainComponent.addTab("战力控制设置", 战力控制页面); - mainComponent.addTab("爆物管理设置", 爆物管理页面); - mainComponent.addTab("钓鱼管理设置", 钓鱼管理页面); + mainComponent.addTab("多倍爆率经验 & 鞭尸设置", 爆率控制页面); + mainComponent.addTab("掉落捡取提示 & 公告通知", 掉落捡取提示); + mainComponent.addTab("转生战力 & 伤害显示设置", 战力控制页面); + mainComponent.addTab("物品自动回收设置", 物品回收页面); mainComponent.addTab("自动访问NPC设置", 自动访问NPC页面); - mainComponent.addTab("杀怪统计", 杀怪统计页面); - mainComponent.addTab("野外BOSS", 野外BOSS页面); + mainComponent.addTab("特殊属性伤害设置", 伤害控制页面); + mainComponent.addTab("钓鱼管理设置", 钓鱼管理页面); + mainComponent.addTab("怪物爆率设置", 爆物管理页面); + mainComponent.addTab("野外BOSS刷新设置", 野外BOSS页面); + mainComponent.addTab("杀怪统计查看", 杀怪统计页面); } } diff --git a/src/gui/UI_LenheartUI/WorldBoss.java b/src/gui/UI_LenheartUI/WorldBoss.java index 1ef3c1a..2280612 100644 --- a/src/gui/UI_LenheartUI/WorldBoss.java +++ b/src/gui/UI_LenheartUI/WorldBoss.java @@ -46,12 +46,12 @@ public class WorldBoss extends JPanel { int rowCount = tableModel.getRowCount(); Start.野外boss刷新.clear(); for (int i = 0; i < rowCount; i++) { - BossInMap bossInMap = new BossInMap((int) tableModel.getValueAt(i, 0), - (int) tableModel.getValueAt(i, 2), - (int) tableModel.getValueAt(i, 3), - (int) tableModel.getValueAt(i, 4), + BossInMap bossInMap = new BossInMap(Integer.parseInt(tableModel.getValueAt(i, 0).toString()), + Integer.parseInt(tableModel.getValueAt(i, 2).toString()), + Integer.parseInt(tableModel.getValueAt(i, 3).toString()), + Integer.parseInt(tableModel.getValueAt(i, 4).toString()), tableModel.getValueAt(i, 5).toString(), - (int) tableModel.getValueAt(i, 6)); + Integer.parseInt(tableModel.getValueAt(i, 6).toString())); bossInMap.setBosshp(tableModel.getValueAt(i, 1).toString()); Start.野外boss刷新.add(bossInMap); } @@ -79,7 +79,7 @@ public class WorldBoss extends JPanel { {null, null, null, null, null, null, null}, }, new String[] { - "\u91ce\u5916BOSS", "\u8840\u91cf(\u4ebf)", "\u5730\u56fe\u4ee3\u7801", "X\u5750\u6807", "Y\u5750\u6807", "\u8bf4\u660e", "\u5237\u65b0\u95f4\u9694/\u5206" + "\u91ce\u5916BOSS", "\u8840\u91cf(\u767e\u4e07)", "\u5730\u56fe\u4ee3\u7801", "X\u5750\u6807", "Y\u5750\u6807", "\u8bf4\u660e", "\u5237\u65b0\u95f4\u9694/\u5206" } )); scrollPane1.setViewportView(table1); diff --git a/src/gui/ppms.java b/src/gui/ppms.java index 107fa64..5cebfe7 100644 --- a/src/gui/ppms.java +++ b/src/gui/ppms.java @@ -1,6 +1,6 @@ package gui; /* -QQ116711496 +QQ634322220 */ import java.lang.management.ManagementFactory; @@ -879,7 +879,7 @@ public class ppms extends JFrame { @Override public void run() { new ppms().setVisible(true); - System.out.println("[正在启动贪玩冒险岛服务端]"); + System.out.println("[准备启动服务端]"); } }); @@ -895,7 +895,9 @@ public class ppms extends JFrame { this.商店物品序号 = -1; this.读取装备 = null; this.minutesLeft = 0; - this.setTitle("【" + Game.服务端名称 + "控制台】 -2024完事大吉!"); + //this.setTitle( Game.服务端名称 + " - 贪玩"); + this.setTitle("贪玩专属服务端 - QQ634322220"); + //this.setTitle("Max44服务端"); this.initComponents(); final ppStream mps = new ppStream((OutputStream) System.out, ppms.outSee); System.setOut((PrintStream) mps); @@ -1627,10 +1629,10 @@ public class ppms extends JFrame { ppms.outSee.setEditable(false); ppms.outSee.setBackground(new Color(25, 25, 25)); ppms.outSee.setColumns(20); - ppms.outSee.setForeground(new Color(10, 255, 221)); + ppms.outSee.setForeground(new Color(50, 205, 50)); ppms.outSee.setRows(5); this.jScrollPane1.setViewportView((Component) ppms.outSee); - ppms.主界面菜单.addTab("日志记录", (Icon) new ImageIcon(this.getClass().getResource("/image/日志.png")), (Component) this.jScrollPane1); + ppms.主界面菜单.addTab("日志输出", (Icon) new ImageIcon(this.getClass().getResource("/image/成长日志.png")), (Component) this.jScrollPane1); ppms.jPanel44.setBorder((Border) BorderFactory.createTitledBorder("数据库设置[一般无需调整]")); this.jLabel16.setText("数据库名称"); this.jLabel17.setText("IP地址"); @@ -4704,7 +4706,7 @@ public class ppms extends JFrame { jPanel24Layout.setVerticalGroup((Group) jPanel24Layout.createParallelGroup(Alignment.LEADING).addGroup((Group) jPanel24Layout.createSequentialGroup().addContainerGap().addGroup((Group) jPanel24Layout.createParallelGroup(Alignment.LEADING, false).addComponent((Component) this.jPanel31, -1, -1, 32767).addComponent((Component) this.jPanel29, -1, -1, 32767)).addContainerGap(51, 32767))); this.宠吸功能面板.addTab("多倍怪物", (Component) this.jPanel24); this.jPanel34.setBorder((Border) BorderFactory.createTitledBorder("野外BOSS刷新")); - ppms.野外BOSS刷新时间.setModel((TableModel) new DefaultTableModel(new Object[0][], new String[]{"野外BOSS", "血量(亿)", "地图代码", "横坐标", "纵坐标", "说明", "刷新间隔/分"}) { + ppms.野外BOSS刷新时间.setModel((TableModel) new DefaultTableModel(new Object[0][], new String[]{"野外BOSS", "血量(百万)", "地图代码", "横坐标", "纵坐标", "说明", "刷新间隔/分"}) { boolean[] canEdit = {false,false, false, false, false, false, false}; @Override @@ -5478,7 +5480,7 @@ public class ppms extends JFrame { this.jPanel90.setLayout((LayoutManager) jPanel90Layout); jPanel90Layout.setHorizontalGroup((Group) jPanel90Layout.createParallelGroup(Alignment.LEADING).addGroup((Group) jPanel90Layout.createSequentialGroup().addContainerGap().addComponent((Component) this.jPanel91, -2, -1, -2).addPreferredGap(ComponentPlacement.UNRELATED).addComponent((Component) this.jPanel92, -2, -1, -2).addContainerGap(296, 32767))); jPanel90Layout.setVerticalGroup((Group) jPanel90Layout.createParallelGroup(Alignment.LEADING).addGroup((Group) jPanel90Layout.createSequentialGroup().addContainerGap().addGroup((Group) jPanel90Layout.createParallelGroup(Alignment.LEADING, false).addComponent((Component) this.jPanel91, -1, -1, 32767).addComponent((Component) this.jPanel92, -1, -1, 32767)).addContainerGap(88, 32767))); - this.宠吸功能面板.addTab("套装属性", (Component) this.jPanel90); + //this.宠吸功能面板.addTab("套装属性", (Component) this.jPanel90); this.jPanel59.setBorder((Border) BorderFactory.createTitledBorder("重载功能")); this.重载副本.setText("重载副本"); this.重载副本.addActionListener((ActionListener) new ActionListener() { @@ -5589,19 +5591,19 @@ public class ppms extends JFrame { this.jPanel2.setLayout((LayoutManager) jPanel2Layout); jPanel2Layout.setHorizontalGroup((Group) jPanel2Layout.createParallelGroup(Alignment.LEADING).addGroup((Group) jPanel2Layout.createSequentialGroup().addComponent((Component) this.宠吸功能面板, -2, 1495, 32767).addContainerGap())); jPanel2Layout.setVerticalGroup((Group) jPanel2Layout.createParallelGroup(Alignment.LEADING).addGroup((Group) jPanel2Layout.createSequentialGroup().addComponent((Component) this.宠吸功能面板, -2, 723, -2).addGap(0, 19, 32767))); - ppms.主界面菜单.addTab("游戏设置", (Icon) new ImageIcon(this.getClass().getResource("/image/设置.png")), (Component) this.jPanel2); + ppms.主界面菜单.addTab("游戏设置", (Icon) new ImageIcon(this.getClass().getResource("/image/管理.png")), (Component) this.jPanel2); this.jPanel38.setBorder((Border) BorderFactory.createTitledBorder("经验金币爆率活动")); this.jPanel40.setBorder((Border) BorderFactory.createTitledBorder("")); this.jLabel87.setText("倍率设置"); - this.倍率设置.setText("输入数字"); + this.倍率设置.setText(""); this.倍率设置.addActionListener((ActionListener) new ActionListener() { @Override public void actionPerformed(final ActionEvent evt) { ppms.this.倍率设置ActionPerformed(evt); } }); - this.持续时间时.setText("输入数字"); + this.持续时间时.setText(""); this.持续时间时.addActionListener((ActionListener) new ActionListener() { @Override public void actionPerformed(final ActionEvent evt) { @@ -5610,8 +5612,8 @@ public class ppms extends JFrame { }); this.jLabel95.setText("持续时间:/时"); this.jLabel144.setText("持续时间:/分"); - this.持续时间分.setText("输入数字"); - this.jLabel98.setText("启动按钮"); + this.持续时间分.setText(""); + this.jLabel98.setText(""); this.开启倍率活动.setText("开启倍率活动"); this.开启倍率活动.addActionListener((ActionListener) new ActionListener() { @Override @@ -5639,14 +5641,14 @@ public class ppms extends JFrame { ppms.this.发放道具代码ActionPerformed(evt); } }); - this.jLabel150.setText("输入数量"); - this.发放道具数量.setText("输入数字"); + this.jLabel150.setText("道具数量"); + this.发放道具数量.setText("输入数量"); this.jLabel151.setText("发放范围"); this.发放道具发放范围.setModel(new DefaultComboBoxModel(new String[]{"发放全服", "发放个人"})); this.jLabel152.setText("玩家名字"); - this.发放个人玩家名字.setText("输入玩家名字"); + this.发放个人玩家名字.setText("请输入玩家名字"); this.发放个人玩家名字.setEnabled(false); - this.jLabel153.setText("点击发放"); + this.jLabel153.setText(""); this.发放道具.setText("发放道具"); this.发放道具.addActionListener((ActionListener) new ActionListener() { @Override @@ -5665,15 +5667,15 @@ public class ppms extends JFrame { this.jPanel43.setBorder((Border) BorderFactory.createTitledBorder("发放点券抵用金币")); this.jPanel45.setBorder((Border) BorderFactory.createTitledBorder("")); this.jLabel154.setText("发放数量"); - this.发放其他数量.setText("输入数字"); + this.发放其他数量.setText("输入数量"); this.jLabel155.setText("发放范围"); this.发放其他范围.setModel(new DefaultComboBoxModel(new String[]{"发放全服", "发放个人"})); this.jLabel156.setText("玩家名字"); this.jLabel158.setText("选择类型"); this.发放其他类型.setModel(new DefaultComboBoxModel(new String[]{"发放点券", "发放抵用", "发放金币"})); - this.发放其他玩家.setText("输入玩家名字"); + this.发放其他玩家.setText("请输入玩家名字"); this.发放其他玩家.setEnabled(false); - this.jLabel159.setText("点击发放"); + this.jLabel159.setText(""); this.发放其他内容.setText("发放内容"); this.发放其他内容.addActionListener((ActionListener) new ActionListener() { @Override @@ -5695,7 +5697,7 @@ public class ppms extends JFrame { jPanel5Layout.setVerticalGroup((Group) jPanel5Layout.createParallelGroup(Alignment.LEADING).addGroup((Group) jPanel5Layout.createSequentialGroup().addContainerGap().addGroup((Group) jPanel5Layout.createParallelGroup(Alignment.LEADING).addComponent((Component) this.jPanel43, -2, -1, -2).addGroup((Group) jPanel5Layout.createParallelGroup(Alignment.LEADING, false).addComponent((Component) this.jPanel41, -1, -1, 32767).addComponent((Component) this.jPanel38, -1, -1, 32767))).addContainerGap(579, 32767))); // ppms.主界面菜单.addTab("专用功能", (Icon) new ImageIcon(this.getClass().getResource("/image/问题.png")), (Component) this.jPanel5); this.jPanel78.setBorder((Border) BorderFactory.createTitledBorder("充值赞助")); - this.充值赞助列表.setModel((TableModel) new DefaultTableModel(new Object[0][], new String[]{"角色ID", "玩家名字", "每日充值", "累计充值", "剩余积分", "可用点券"}) { + this.充值赞助列表.setModel((TableModel) new DefaultTableModel(new Object[0][], new String[]{"角色ID", "玩家名字", "每日充值", "累计充值", "元宝", "积分"}) { boolean[] canEdit = {false, false, false, false, false, false}; @Override @@ -5717,7 +5719,7 @@ public class ppms extends JFrame { this.jLabel176.setText("角色ID:"); this.jLabel177.setText("每日充值:"); this.jLabel178.setText("累计充值:"); - this.jLabel179.setText("剩余积分:"); + this.jLabel179.setText("元宝:"); this.充值角色ID.setText(" "); this.充值角色ID.setEnabled(false); this.充值角色ID.addActionListener((ActionListener) new ActionListener() { @@ -5734,7 +5736,7 @@ public class ppms extends JFrame { this.现有累计充值.setEnabled(false); this.现有剩余积分.setText(" "); this.现有剩余积分.setEnabled(false); - this.jLabel183.setText("可用点券:"); + this.jLabel183.setText("积分:"); this.现有可用点券.setText(" "); this.现有可用点券.setEnabled(false); this.现有可用点券.addActionListener((ActionListener) new ActionListener() { @@ -5745,9 +5747,9 @@ public class ppms extends JFrame { }); this.jLabel166.setText("每日充值"); this.jLabel168.setText("累计充值"); - this.jLabel170.setText("剩余积分"); - this.jLabel171.setText("可用点券"); - this.jLabel105.setText("点券比例"); + this.jLabel170.setText("元宝"); + this.jLabel171.setText("积分"); + this.jLabel105.setText("积分比例"); ppms.点券比例.addFocusListener((FocusListener) new FocusAdapter() { @Override public void focusLost(final FocusEvent evt) { @@ -5760,15 +5762,15 @@ public class ppms extends JFrame { ppms.this.点券比例ActionPerformed(evt); } }); - this.jLabel115.setText("发放金额:"); - this.发放充值数量.setText("输入数字"); + this.jLabel115.setText("充值金额:"); + this.发放充值数量.setText(""); this.发放充值数量.addActionListener((ActionListener) new ActionListener() { @Override public void actionPerformed(final ActionEvent evt) { ppms.this.发放充值数量ActionPerformed(evt); } }); - this.发放氪金充值.setText("发放内容"); + this.发放氪金充值.setText("进行充值"); this.发放氪金充值.addActionListener((ActionListener) new ActionListener() { @Override public void actionPerformed(final ActionEvent evt) { @@ -5785,7 +5787,7 @@ public class ppms extends JFrame { jPanel86Layout.setVerticalGroup((Group) jPanel86Layout.createParallelGroup(Alignment.LEADING).addGroup((Group) jPanel86Layout.createSequentialGroup().addContainerGap().addComponent((Component) this.jButton1).addPreferredGap(ComponentPlacement.UNRELATED).addComponent((Component) this.jPanel87, -1, -1, 32767).addContainerGap())); this.jPanel96.setBorder((Border) BorderFactory.createTitledBorder("搜索功能")); this.jLabel213.setText("通过ID查询"); - this.氪金ID输入.setText("输入数字"); + this.氪金ID输入.setText(""); this.氪金ID输入.addActionListener((ActionListener) new ActionListener() { @Override public void actionPerformed(final ActionEvent evt) { @@ -5800,7 +5802,7 @@ public class ppms extends JFrame { } }); this.jLabel214.setText("通过名字查询"); - this.氪金名字输入.setText("输入名字"); + this.氪金名字输入.setText(""); this.氪金名字输入.addActionListener((ActionListener) new ActionListener() { @Override public void actionPerformed(final ActionEvent evt) { @@ -5821,7 +5823,7 @@ public class ppms extends JFrame { ppms.this.氪金机器码查询ActionPerformed(evt); } }); - this.氪金机器码输入.setText("输入机器码"); + this.氪金机器码输入.setText(""); this.氪金机器码输入.addActionListener((ActionListener) new ActionListener() { @Override public void actionPerformed(final ActionEvent evt) { @@ -5834,7 +5836,7 @@ public class ppms extends JFrame { jPanel96Layout.setHorizontalGroup((Group) jPanel96Layout.createParallelGroup(Alignment.LEADING).addGroup((Group) jPanel96Layout.createSequentialGroup().addContainerGap().addGroup((Group) jPanel96Layout.createParallelGroup(Alignment.LEADING).addGroup((Group) jPanel96Layout.createSequentialGroup().addGroup((Group) jPanel96Layout.createParallelGroup(Alignment.LEADING).addComponent((Component) this.jLabel213).addComponent((Component) this.jLabel214).addComponent((Component) this.jLabel215)).addContainerGap(-1, 32767)).addGroup(Alignment.TRAILING, (Group) jPanel96Layout.createSequentialGroup().addGroup((Group) jPanel96Layout.createParallelGroup(Alignment.TRAILING).addGroup((Group) jPanel96Layout.createSequentialGroup().addComponent((Component) this.氪金机器码输入, -2, 118, -2).addPreferredGap(ComponentPlacement.RELATED, -1, 32767).addComponent((Component) this.氪金机器码查询, -2, 178, -2)).addGroup(Alignment.LEADING, (Group) jPanel96Layout.createSequentialGroup().addComponent((Component) this.氪金ID输入, -2, 118, -2).addPreferredGap(ComponentPlacement.RELATED, -1, 32767).addComponent((Component) this.氪金ID查询, -2, 178, -2)).addGroup(Alignment.LEADING, (Group) jPanel96Layout.createSequentialGroup().addComponent((Component) this.氪金名字输入, -2, 118, -2).addPreferredGap(ComponentPlacement.RELATED, -1, 32767).addComponent((Component) this.氪金名字查询, -2, 178, -2))).addGap(28, 28, 28))))); jPanel96Layout.setVerticalGroup((Group) jPanel96Layout.createParallelGroup(Alignment.LEADING).addGroup((Group) jPanel96Layout.createSequentialGroup().addContainerGap().addComponent((Component) this.jLabel213).addGap(10, 10, 10).addGroup((Group) jPanel96Layout.createParallelGroup(Alignment.BASELINE).addComponent((Component) this.氪金ID输入, -2, -1, -2).addComponent((Component) this.氪金ID查询)).addGap(10, 10, 10).addComponent((Component) this.jLabel214).addGap(10, 10, 10).addGroup((Group) jPanel96Layout.createParallelGroup(Alignment.BASELINE).addComponent((Component) this.氪金名字输入, -2, -1, -2).addComponent((Component) this.氪金名字查询)).addGap(10, 10, 10).addComponent((Component) this.jLabel215).addGap(10, 10, 10).addGroup((Group) jPanel96Layout.createParallelGroup(Alignment.BASELINE).addComponent((Component) this.氪金机器码输入, -2, -1, -2).addComponent((Component) this.氪金机器码查询)).addContainerGap(-1, 32767))); this.jPanel97.setBorder((Border) BorderFactory.createTitledBorder("同账号下其他角色信息")); - this.充值赞助列表1.setModel((TableModel) new DefaultTableModel(new Object[0][], new String[]{"角色ID", "玩家名字", "每日充值", "累计充值", "剩余积分", "可用点券"}) { + this.充值赞助列表1.setModel((TableModel) new DefaultTableModel(new Object[0][], new String[]{"角色ID", "玩家名字", "每日充值", "累计充值", "元宝", "积分"}) { boolean[] canEdit = {false, false, false, false, false, false}; @Override @@ -5855,7 +5857,7 @@ public class ppms extends JFrame { this.jPanel9.setLayout((LayoutManager) jPanel9Layout); jPanel9Layout.setHorizontalGroup((Group) jPanel9Layout.createParallelGroup(Alignment.LEADING).addGroup((Group) jPanel9Layout.createSequentialGroup().addContainerGap().addComponent((Component) this.jPanel78, -2, -1, -2).addContainerGap(130, 32767))); jPanel9Layout.setVerticalGroup((Group) jPanel9Layout.createParallelGroup(Alignment.LEADING).addGroup((Group) jPanel9Layout.createSequentialGroup().addComponent((Component) this.jPanel78, -2, -1, -2).addGap(0, 30, 32767))); - ppms.主界面菜单.addTab("充值功能", (Icon) new ImageIcon(this.getClass().getResource("/image/管理自定义掉落.png")), (Component) this.jPanel9); + ppms.主界面菜单.addTab("充值赞助", (Icon) new ImageIcon(this.getClass().getResource("/image/大金条.png")), (Component) this.jPanel9); this.jScrollPane20.setCursor(new Cursor(0)); this.jTextArea1.setColumns(20); this.jTextArea1.setRows(5); @@ -5866,17 +5868,17 @@ public class ppms extends JFrame { this.jPanel60.setLayout((LayoutManager) jPanel60Layout); jPanel60Layout.setHorizontalGroup((Group) jPanel60Layout.createParallelGroup(Alignment.LEADING).addGroup((Group) jPanel60Layout.createSequentialGroup().addContainerGap().addComponent((Component) this.jScrollPane20, -1, 1485, 32767).addContainerGap())); jPanel60Layout.setVerticalGroup((Group) jPanel60Layout.createParallelGroup(Alignment.LEADING).addComponent((Component) this.jScrollPane20, -1, 742, 32767)); - ppms.主界面菜单.addTab("通知内容", (Icon) new ImageIcon(this.getClass().getResource("/image/GM工具.png")), (Component) this.jPanel60); + //ppms.主界面菜单.addTab("通知内容", (Icon) new ImageIcon(this.getClass().getResource("/image/GM工具.png")), (Component) this.jPanel60); final GroupLayout LenheartUILayout = new GroupLayout((Container) this.LenheartUI); this.LenheartUI.setLayout((LayoutManager) LenheartUILayout); LenheartUILayout.setHorizontalGroup((Group) LenheartUILayout.createParallelGroup(Alignment.LEADING).addGroup((Group) LenheartUILayout.createSequentialGroup().addComponent((Component) this.贪玩功能面板, -2, 1495, 32767).addContainerGap())); LenheartUILayout.setVerticalGroup((Group) LenheartUILayout.createParallelGroup(Alignment.LEADING).addGroup((Group) LenheartUILayout.createSequentialGroup().addComponent((Component) this.贪玩功能面板, -2, 723, -2).addGap(0, 19, 32767))); - ppms.主界面菜单.addTab("贪玩定制", (Icon) new ImageIcon(this.getClass().getResource("/image/至尊版工具.png")), (Component) this.LenheartUI); + ppms.主界面菜单.addTab("贪玩新增", (Icon) new ImageIcon(this.getClass().getResource("/image/tw.png")), (Component) this.LenheartUI); this.LenheartUI.setPreferredSize(new Dimension(LenheartUI.getPreferredSize().width + 10, LenheartUI.getPreferredSize().height)); this.UI_Control = new UI_LenheartUI(this.贪玩功能面板); // this.贪玩功能面板.addTab("专用功能",this.jPanel5); - this.贪玩功能面板.insertTab("专用功能", null, jPanel5, null, 0); + this.贪玩功能面板.insertTab("活动 & 发放", null, jPanel5, null, 0); this.贪玩功能面板.setSelectedIndex(0); @@ -8208,10 +8210,10 @@ public class ppms extends JFrame { 发放类型名2 = "累计充值"; } if (this.剩余余额.getState()) { - 发放类型名3 = "剩余余额"; + 发放类型名3 = "元宝"; } if (this.可用点券.getState()) { - 发放类型名4 = "可用点券"; + 发放类型名4 = "积分"; } final int answer = JOptionPane.showConfirmDialog((Component) this, "当前选择的类型是:" + 发放类型名 + " " + 发放类型名2 + " " + 发放类型名3 + " " + 发放类型名4 + "\r\n当前输入数量设置是:" + 道具数量 + "个\r\n当前发放范围设置是:" + 名字 + "\r\n当前你选择的角色名字是:" + 玩家的名字 + "\r\n请问您是否要发放呢?\r\n", "发放点卷抵用金币", 0); if (answer != 0) { @@ -8231,7 +8233,7 @@ public class ppms extends JFrame { setKYDJ(玩家ID, 道具数量 * Integer.parseInt(ppms.点券比例.getText())); } this.初始化充值列表(); - JOptionPane.showMessageDialog(null, "处理完毕!", "充值赞助提示", 1); + //JOptionPane.showMessageDialog(null, "处理完毕!", "充值赞助提示", 1); } public void 修改技能() { diff --git a/src/gui/tw/AotuNpc.java b/src/gui/tw/AotuNpc.java index 1071153..a78faac 100644 --- a/src/gui/tw/AotuNpc.java +++ b/src/gui/tw/AotuNpc.java @@ -1,13 +1,23 @@ package gui.tw; +import java.util.ArrayList; +import java.util.List; + public class AotuNpc { - int mapId; + int npcId; String scriptsName; + int lv; + + String mapId; + + String noMapId; + + int itemId; int itemNum; @@ -15,6 +25,11 @@ public class AotuNpc { int time; + List mapIdList; + List nomapIdList; + + + public int getItemNum() { return itemNum; } @@ -23,13 +38,27 @@ public class AotuNpc { this.itemNum = itemNum; } + public int getLv() { + return lv; + } + public void setLv(int lv) { + this.lv = lv; + } - public int getMapId() { + public String getNoMapId() { + return noMapId; + } + + public void setNoMapId(String noMapId) { + this.noMapId = noMapId; + } + + public String getMapId() { return mapId; } - public void setMapId(int mapId) { + public void setMapId(String mapId) { this.mapId = mapId; } @@ -72,4 +101,32 @@ public class AotuNpc { public void setTime(int time) { this.time = time; } + + + public boolean isAutoMap(int mapId){ + if (mapIdList ==null ){ + mapIdList =new ArrayList<>(); + nomapIdList =new ArrayList<>(); + String[] split = this.mapId.split(","); + for (String s : split) { + mapIdList.add(Integer.parseInt(s)); + } + String[] split1 = this.noMapId.split(","); + for (String s : split1) { + nomapIdList.add(Integer.parseInt(s)); + } + } + for (Integer i : mapIdList) { + if (i == mapId){ + return false; + } + } + for (Integer i : nomapIdList) { + if (i == mapId){ + return true; + } + } + return false; + } + } diff --git a/src/handling/channel/handler/DamageParse.java b/src/handling/channel/handler/DamageParse.java index 5afc94e..1758289 100644 --- a/src/handling/channel/handler/DamageParse.java +++ b/src/handling/channel/handler/DamageParse.java @@ -679,25 +679,25 @@ public class DamageParse { if (ewbl!=null) { BigInteger damageIncrease = newtotDamage.multiply((ewbl[0].multiply(ewbl[1]))).divide(BigInteger.valueOf(100)); newtotDamage = newtotDamage.add(damageIncrease); - a = "伤害加成 #b" + process(ewbl[0].toString()) + "%#k"; + a = "伤害加成 #b#e" + process(ewbl[0].toString()) + "%#n#k"; } if (ewds != null) { - b = "额外段伤 #b" + process(ewds[0].toString()) + "段#k"; + b = "技能段数 #b#e" + process(ewds[0].toString()) + "段#n#k"; String s = process(v.toString()); - c = "段伤伤害 #b" + s + "#k"; + c = "段数伤害 #b#e" + s + "#n#k"; } if (ewzs != null) { String s = process(ewzs.toString()); - d = "切割伤害 #b" + s + "#k"; + d = "切割伤害 #b#e" + s + "#n#k"; newtotDamage = newtotDamage.add(ewzs); } String s2 = process(newtotDamage.toString()); - e = "伤害统计 #r" + s2 + "#k"; + e = "伤害总计 #r#e" + s2 + "#n#k"; int length = e.length(); @@ -1781,7 +1781,9 @@ public class DamageParse { BigInteger qgxsBigInt = new BigInteger(qgxs); BigInteger qGjs = play.getQGjs(); if (qGjs == null){ - qGjs = BigInteger.valueOf(100); + qGjs = BigInteger.valueOf(100);// + }else{ + qGjs = qGjs.add(BigInteger.valueOf(100));// } BigInteger result = Magnification.multiply(qgxsBigInt).multiply(qGjs).divide(BigInteger.valueOf(10000)); diff --git a/src/handling/channel/handler/PlayersHandler.java b/src/handling/channel/handler/PlayersHandler.java index 1d776af..c354ecf 100644 --- a/src/handling/channel/handler/PlayersHandler.java +++ b/src/handling/channel/handler/PlayersHandler.java @@ -138,44 +138,67 @@ public class PlayersHandler { } NPCScriptManager.getInstance().dispose(c); c.getSession().write(MaplePacketCreator.enableActions()); - String string = "#d解卡完毕\r\n\r\n"; + String string = "#d#e★★★ 解卡完毕 ★★★#n#k\r\n\r\n"; MapleCharacter player = c.getPlayer(); //string += "时间 "+ FileoutputUtil.CurrentReadable_Time() + "\r\n"; - string += "#d贪玩冒险岛\r\n"; - string += "经验 " + Math.round((float) 人物经验) * MapleParty.活动经验倍率 + "倍,物品 " + Math.round((float) 人物物品爆率) + "倍, 金币 " + Math.round((float) 人物金币爆率) + "倍,\r\n\r\n"; - string += "#b个人倍率\r\n"; - string += "经验 " + (long) (Math.round((float) c.getPlayer().getEXPMod()) * 100) * Math.round(c.getPlayer().getStat().expBuff / 100.0) + "%, 爆率 " + (long) (Math.round((float) c.getPlayer().getDropMod()) * 100) * Math.round(c.getPlayer().getStat().dropBuff / 100.0) + "%, 金币 " +(long) (Math.round((float) c.getPlayer().getCashMod()) * 100) * Math.round(c.getPlayer().getStat().mesoBuff / 100.0) + "%\r\n"; - - if (Start.ConfigValuesJson.getInteger("isdb") ==1 &&player.getDB()!=null){ - string += "伤害加成 "+DamageParse.process(player.getDB().toString())+"% " ; - } - - if (Start.ConfigValuesJson.getInteger("isdd") ==1 &&player.getDD()!=null){ - string += "多段次数 " +DamageParse.process(player.getDD().toString()) + "次\r\n" ; - }else { - string += "\r\n" ; - } - - if (Start.ConfigValuesJson.getInteger("isqg") ==1 &&player.getQG()!=null ){ - string += "切割伤害 "+DamageParse.process(player.getQG().toString())+" "; - } - if (Start.ConfigValuesJson.getInteger("isqgjs") ==1 &&player.getQGjs()!=null){ - string += "切割伤害加深 "+DamageParse.process(player.getQGjs().toString())+"%\r\n"; - }else { - string += "\r\n" ; - } + string += "#b#e服务器倍率信息#n#k\r\n"; + string += "#g#e↓↓↓#n#k\r\n"; + string += "经验#r#e" + Math.round((float) 人物经验) * MapleParty.活动经验倍率 + "#n#k倍 物品#r#e" + Math.round((float) 人物物品爆率) + "#n#k倍 金币#r#e" + Math.round((float) 人物金币爆率) + "#n#k倍\r\n\r\n"; + string += "#b#e角色倍率信息#n#k\r\n"; + string += "#g#e↓↓↓#n#k\r\n"; + string += "经验#r#e" + (long) (Math.round((float) c.getPlayer().getEXPMod()) * 100) * Math.round(c.getPlayer().getStat().expBuff / 100.0) + "#n#k% 物品#r#e" + (long) (Math.round((float) c.getPlayer().getDropMod()) * 100) * Math.round(c.getPlayer().getStat().dropBuff / 100.0) + "#n#k% 金币#r#e" +(long) (Math.round((float) c.getPlayer().getCashMod()) * 100) * Math.round(c.getPlayer().getStat().mesoBuff / 100.0) + "#n#k%\r\n\r\n"; if (Start.bskg == 1) { double v = player.getBSJL() / 100.0; DecimalFormat df = new DecimalFormat("#.##"); - string += "鞭尸几率 " + df.format(v) + "%\r\n"; + string += "#b#e特殊属性信息#n#k\r\n"; + string += "#g#e↓↓↓#n#k\r\n"; + string += "鞭尸几率#r#e" + df.format(v) + "#n#k%\r\n"; + }else { + string += "\r\n" ; + } + + if (Start.ConfigValuesJson.getInteger("isqg") ==1 &&player.getQG()!=null ){ + string += "固定切割#r#e"+DamageParse.process(player.getQG().toString())+"#n#kHP "; + } + + if (Start.ConfigValuesJson.getInteger("isqgjs") ==1 &&player.getQGjs()!=null){ + string += "切割加深#r#e"+DamageParse.process(player.getQGjs().toString())+"#n#k%\r\n"; }else { string += "\r\n" ; } - string += "#r个人资产\r\n"; - string += "拥有:" + c.getPlayer().getCSPoints(1) + " 点劵\r\n\r\n"; - string += "延迟 " + c.getPlayer().getClient().getLatency() + " 毫秒\r\n"; + + if (Start.ConfigValuesJson.getInteger("isdd") ==1 &&player.getDD()!=null){ + string += "技能段数#r#e" +DamageParse.process(player.getDD().toString()) + "#n#k段 " ; + } + + if (Start.ConfigValuesJson.getInteger("isdb") ==1 &&player.getDB()!=null){ + string += "伤害加成#r#e"+DamageParse.process(player.getDB().toString())+"#n#k%\r\n" ; + }else { + string += "\r\n" ; + } + + + DecimalFormat df = new DecimalFormat("#.##"); + string += "\r\n#b#e个人资产信息#n#k\r\n"; + string += "#g#e↓↓↓#n#k\r\n"; + + string += "累计充值#r#e"+player.getLJJF(player.getId())+"#n#k大米\r\n"; + + string += "积分#r#e" +player.getKYDJ(player.getId())+"#n#k分 "; + + string += "元宝#r#e"+player.getSYJF(player.getId())+"#n#k个\r\n" ; + + string += "抵用券#r#e"+player.getCSPoints(2)+"#n#k点 "; + + string += "点券#r#e"+player.getCSPoints(1)+"#n#k点\r\n"; + + + + //string += "#r个人资产\r\n"; + //string += "拥有:" + c.getPlayer().getCSPoints(1) + " 点劵\r\n\r\n"; + //string += "延迟 " + c.getPlayer().getClient().getLatency() + " 毫秒\r\n"; c.getPlayer().showInstruction(string, 240, 10); } diff --git a/src/image/tw.png b/src/image/tw.png new file mode 100644 index 0000000..a4ef670 Binary files /dev/null and b/src/image/tw.png differ diff --git a/src/image/大金条.png b/src/image/大金条.png new file mode 100644 index 0000000..4259f2d Binary files /dev/null and b/src/image/大金条.png differ diff --git a/src/image/成长日志.png b/src/image/成长日志.png new file mode 100644 index 0000000..d164fdb Binary files /dev/null and b/src/image/成长日志.png differ diff --git a/src/image/枫叶.png b/src/image/枫叶.png new file mode 100644 index 0000000..cdbd710 Binary files /dev/null and b/src/image/枫叶.png differ diff --git a/src/scripting/NPCConversationManager.java b/src/scripting/NPCConversationManager.java index 0af7601..6fd1fb0 100644 --- a/src/scripting/NPCConversationManager.java +++ b/src/scripting/NPCConversationManager.java @@ -4519,7 +4519,7 @@ public class NPCConversationManager extends AbstractPlayerInteraction { } else { map.setMobMoveChrId(c.getPlayer().getId()); map.setChrPos(c.getPlayer().getOldPosition()); - //map.set吸怪Res(c.getPlayer().getLastRes()); + map.set吸怪Res(c.getPlayer().getLastRes()); map.newStartMobMove(); c.getPlayer().set吸怪状态(true); } diff --git a/src/server/MapleInventoryManipulator.java b/src/server/MapleInventoryManipulator.java index 278cd2a..f622b66 100644 --- a/src/server/MapleInventoryManipulator.java +++ b/src/server/MapleInventoryManipulator.java @@ -1132,7 +1132,7 @@ public class MapleInventoryManipulator { c.sendPacket(MaplePacketCreator.enableActions()); return false; } - if (quantity >= 9999 || quantity < 1) { + if (quantity >= 30001 || quantity < 1) { c.getSession().write(MaplePacketCreator.enableActions()); return false; } diff --git a/src/server/maps/MapleMap.java b/src/server/maps/MapleMap.java index c1109fa..d2a6fab 100644 --- a/src/server/maps/MapleMap.java +++ b/src/server/maps/MapleMap.java @@ -3737,7 +3737,17 @@ public final class MapleMap { if (numShouldSpawn > 0) { int spawned = 0; for (final Spawns spawnPoint : this.monsterSpawn) { - spawnPoint.spawnMonster(this); + MapleMonster mapleMonster = spawnPoint.spawnMonster(this); + if (mobMoveChrId!=-1) { + if (!mapleMonster.getStats().isBoss()) { + mapleMonster.setPosition(getChrPos()); + try { + broadcastMessage(MobPacket.moveMonster(false, 0, 0, mapleMonster.getObjectId(), getChrPos(), mapleMonster.getPosition(), get吸怪Res()), mapleMonster.getPosition()); + }catch (Exception e){ + + } + } + } if (++spawned >= numShouldSpawn) { break; } @@ -3752,7 +3762,17 @@ public final class MapleMap { for (final Spawns spawnPoint2 : randomSpawn) { if (spawnPoint2.shouldSpawn() || MapConstants.isForceRespawn(this.mapid)) { for (int i = 0; i < monmun * numm; ++i) { - spawnPoint2.spawnMonster(this); + MapleMonster mapleMonster = spawnPoint2.spawnMonster(this); + if (mobMoveChrId!=-1) { + if (!mapleMonster.getStats().isBoss()) { + mapleMonster.setPosition(getChrPos()); + try { + broadcastMessage(MobPacket.moveMonster(false, 0, 0, mapleMonster.getObjectId(), getChrPos(), mapleMonster.getPosition(), get吸怪Res()), mapleMonster.getPosition()); + }catch (Exception e){ + + } + } + } ++spawned; } } @@ -3760,6 +3780,7 @@ public final class MapleMap { break; } } + } } } diff --git a/src/server/maps/MapleMapFactory.java b/src/server/maps/MapleMapFactory.java index 62a39dd..081fa94 100644 --- a/src/server/maps/MapleMapFactory.java +++ b/src/server/maps/MapleMapFactory.java @@ -509,7 +509,7 @@ public class MapleMapFactory { if (monsterid > 0) { MapleMonster monster = MapleLifeFactory.getMonster(monsterid); if (!hp.equals("0")) { - map.addAreaMonsterSpawn(monster, pos1, pos2, pos3, mobtime, msg, hp+"00000000"); + map.addAreaMonsterSpawn(monster, pos1, pos2, pos3, mobtime, msg, hp+"000000");//野外BOSS血量 }else { map.addAreaMonsterSpawn(monster, pos1, pos2, pos3, mobtime, msg,"0"); }