This commit is contained in:
Lenheart 2025-05-27 21:37:57 +08:00
commit bba9675add
21 changed files with 233 additions and 120 deletions

View File

@ -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)));
}

View File

@ -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());

View File

@ -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;

View File

@ -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()));

View File

@ -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");

View File

@ -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

View File

@ -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("杀怪统计查看", 杀怪统计页面);
}
}

View File

@ -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);

View File

@ -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 修改技能() {

View File

@ -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<Integer> mapIdList;
List<Integer> 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;
}
}

View File

@ -128,6 +128,9 @@ public class DiaoyuConfig {
baodi.clear();
baodi2.clear();
All.clear();
count = 0;
count2 = 0;
for (DiaoyuItem diaoyuItem : all) {
add(diaoyuItem);
}

View File

@ -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));

View File

@ -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);
}

BIN
src/image/tw.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 731 B

BIN
src/image/大金条.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 517 B

BIN
src/image/成长日志.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 757 B

BIN
src/image/枫叶.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 585 B

View File

@ -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);
}

View File

@ -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;
}

View File

@ -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;
}
}
}
}
}

View File

@ -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");
}