fix:debug模式调整
This commit is contained in:
parent
c5b22a798b
commit
0f1673a944
@ -3179,6 +3179,9 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
||||
/** 按下此按钮后是否重绘所在Menu */
|
||||
this.redraw = true;
|
||||
|
||||
/** 所在的Menu,用于触发重绘等事件 */
|
||||
this.menu;
|
||||
|
||||
this.draw = (ctx) => { };
|
||||
this.event = (x, y, px, py) => { };
|
||||
this.status;
|
||||
@ -3203,8 +3206,17 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
||||
}
|
||||
}
|
||||
|
||||
initBtnList(arr) {
|
||||
this.btnList = new Map(arr);
|
||||
this.btnList.forEach((button) => {
|
||||
button.menu = this;
|
||||
})
|
||||
}
|
||||
|
||||
drawButtonContent() {
|
||||
this.btnList.forEach((button) => { if (!button.disable) button.draw(this.name); })
|
||||
this.btnList.forEach((button) => {
|
||||
if (!button.disable) button.draw(this.name);
|
||||
})
|
||||
}
|
||||
|
||||
drawContent() {
|
||||
@ -3602,6 +3614,196 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
||||
'增大音量',
|
||||
false,
|
||||
)],
|
||||
['wallHacking', new Setting(
|
||||
() => ' 穿墙:' + (core.hasFlag('debug_wallHacking') ? '开' : '关'),
|
||||
() => {
|
||||
core.setFlag('debug', true);
|
||||
invertFlag('debug_wallHacking');
|
||||
},
|
||||
'开启时将始终穿墙并无视各种事件,无论是否按下Ctrl。',
|
||||
false,
|
||||
)],
|
||||
['debug_statusName', new Setting(
|
||||
() => core.getFlag('debug_statusName', '??'),
|
||||
function () {
|
||||
const dictionary = {
|
||||
'体力': 'hp', '血量': 'hp', '生命': 'hp', '血': 'hp',
|
||||
'体力上限': 'hpmax', '血量上限': 'hpmax', '生命上限': 'hpmax', '血限': 'hpmax',
|
||||
'攻击': 'atk', '攻': 'atk', '防御': 'def', '防': 'def',
|
||||
'魔防': 'mdef', '护盾': 'mdef', 'mf': 'mdef',
|
||||
'金币': 'money', '钱': 'money', '经验': 'exp',
|
||||
'魔力': 'mana', '蓝': 'mana',
|
||||
}
|
||||
core.utils.myprompt('输入要修改的属性名称', null, (value) => {
|
||||
const heroStatus = core.status.hero;
|
||||
if (dictionary.hasOwnProperty(value)) {
|
||||
value = dictionary[value];
|
||||
}
|
||||
if (heroStatus && heroStatus.hasOwnProperty(value)
|
||||
&& ['hp', 'hpmax', 'atk', 'def', 'mdef', 'money', 'exp', 'mana', 'max'].includes(value)) {
|
||||
core.setFlag('debug_statusName', value);
|
||||
this.menu.drawContent();
|
||||
}
|
||||
else {
|
||||
core.drawTip('错误:不合法的名称!');
|
||||
core.playSound('error.mp3');
|
||||
}
|
||||
});
|
||||
},
|
||||
'',
|
||||
false,
|
||||
function (ctx, x, y, w, h) {
|
||||
core.strokeRect(ctx, x, y, w, h, ' #708090');
|
||||
},
|
||||
)],
|
||||
['debug_statusValue', new Setting(
|
||||
() => {
|
||||
let value = core.getFlag('debug_statusValue', '??');
|
||||
if (typeof value === 'number') return core.formatBigNumber(value, 5);
|
||||
else return value;
|
||||
},
|
||||
function () {
|
||||
core.utils.myprompt('输入要修改到的值', null, (value) => {
|
||||
value = parseInt(value);
|
||||
if (!Number.isNaN(value)) {
|
||||
core.setFlag('debug_statusValue', value);
|
||||
this.menu.drawContent();
|
||||
}
|
||||
else {
|
||||
core.drawFailTip('错误:不合法的值!');
|
||||
}
|
||||
});
|
||||
},
|
||||
'',
|
||||
false,
|
||||
function (ctx, x, y, w, h) {
|
||||
core.strokeRect(ctx, x, y, w, h, ' #708090');
|
||||
},
|
||||
)],
|
||||
['debug_setStatus', new Setting(
|
||||
() => '',
|
||||
() => {
|
||||
core.setFlag('debug', true);
|
||||
const name = core.getFlag('debug_statusName'),
|
||||
value = core.getFlag('debug_statusValue');
|
||||
if (!(name && core.status.hero && core.status.hero.hasOwnProperty(name))) {
|
||||
core.drawFailTip('错误:不合法的名称!');
|
||||
return;
|
||||
}
|
||||
if (!Number.isInteger(value)) {
|
||||
core.drawFailTip('错误:不合法的值!');
|
||||
return;
|
||||
}
|
||||
core.setFlag(name, value);
|
||||
core.drawTip('设置成功!');
|
||||
},
|
||||
'',
|
||||
false,
|
||||
)],
|
||||
['debug_itemName', new Setting(
|
||||
() => core.getFlag('debug_itemName', '??'),
|
||||
function () {
|
||||
core.setFlag('debug', true);
|
||||
core.utils.myprompt('输入要修改的物品名称', null, (value) => {
|
||||
const itemInfo = core.material.items;
|
||||
if (itemInfo) {
|
||||
const aimItem = Object.values(itemInfo).find((item) => item.name === value || item.id === value);
|
||||
if (aimItem) {
|
||||
core.setFlag('debug_itemName', aimItem.id);
|
||||
this.menu.drawContent();
|
||||
return;
|
||||
}
|
||||
}
|
||||
core.drawTip('错误:不合法的名称!');
|
||||
core.playSound('error.mp3');
|
||||
});
|
||||
},
|
||||
'',
|
||||
false,
|
||||
function (ctx, x, y, w, h) {
|
||||
core.strokeRect(ctx, x, y, w, h, ' #708090');
|
||||
},
|
||||
)],
|
||||
['debug_itemValue', new Setting(
|
||||
() => core.getFlag('debug_itemValue', '??'),
|
||||
function () {
|
||||
core.setFlag('debug', true);
|
||||
core.utils.myprompt('输入要修改到的值', null, (value) => {
|
||||
value = parseInt(value);
|
||||
if (!Number.isNaN(value)) {
|
||||
core.setFlag('debug_itemValue', value);
|
||||
this.menu.drawContent();
|
||||
}
|
||||
else {
|
||||
core.drawTip('错误:不合法的值!');
|
||||
core.playSound('error.mp3');
|
||||
}
|
||||
});
|
||||
},
|
||||
'',
|
||||
false,
|
||||
function (ctx, x, y, w, h) {
|
||||
core.strokeRect(ctx, x, y, w, h, ' #708090');
|
||||
},
|
||||
)],
|
||||
['debug_setItem', new Setting(
|
||||
() => '111',
|
||||
() => {
|
||||
core.setFlag('debug', true);
|
||||
if (core.hasFlag('debug_itemName')) {
|
||||
core.setStatus(core.getFlag('debug_itemName'), core.getFlag('debug_itemValue'))
|
||||
}
|
||||
},
|
||||
'',
|
||||
false,
|
||||
)],
|
||||
['debug_flagName', new Setting(
|
||||
() => core.getFlag('debug_flagName', '??'),
|
||||
function () {
|
||||
core.setFlag('debug', true);
|
||||
core.utils.myprompt('输入要修改的变量名。注意:如果您不了解修改变量的后果,请勿尝试。', null, (value) => {
|
||||
if (!value.startsWith('debug')) {
|
||||
core.setFlag('debug_flagName', value);
|
||||
this.menu.drawContent();
|
||||
}
|
||||
else {
|
||||
core.drawTip('错误:不合法的名称!');
|
||||
core.playSound('error.mp3');
|
||||
}
|
||||
});
|
||||
},
|
||||
'',
|
||||
false,
|
||||
function (ctx, x, y, w, h) {
|
||||
core.strokeRect(ctx, x, y, w, h, ' #708090');
|
||||
},
|
||||
)],
|
||||
['debug_flagValue', new Setting(
|
||||
() => core.getFlag('debug_flagValue', '-'),
|
||||
function () {
|
||||
core.setFlag('debug', true);
|
||||
core.utils.myprompt('输入要修改到的值。注意:如果您不了解修改变量的后果,请勿尝试。', null, (value) => {
|
||||
core.setFlag('debug_flagValue', value); // todo:似乎值不止可能是字符串 待尝试
|
||||
this.menu.drawContent();
|
||||
});
|
||||
},
|
||||
'',
|
||||
false,
|
||||
function (ctx, x, y, w, h) {
|
||||
core.strokeRect(ctx, x, y, w, h, ' #708090');
|
||||
},
|
||||
)],
|
||||
['debug_setFlag', new Setting(
|
||||
() => '111',
|
||||
() => {
|
||||
core.setFlag('debug', true);
|
||||
if (core.hasFlag('debug_flagName')) {
|
||||
core.setStatus(core.getFlag('debug_flagName'), core.getFlag('debug_flagValue'))
|
||||
}
|
||||
},
|
||||
'',
|
||||
false,
|
||||
)],
|
||||
])
|
||||
|
||||
class SettingButton extends ButtonBase {
|
||||
@ -3617,11 +3819,13 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
||||
//core.strokeRect(ctx, this.x, this.y, this.w, this.h, 'yellow');
|
||||
core.ui.fillText(ctx, this.setting.getName(),
|
||||
this.x , this.y + this.h / 2 + 5, 'white', '16px Verdana');
|
||||
|
||||
const drawFunc = this.setting.draw;
|
||||
if (drawFunc) drawFunc.apply(this, [ctx, this.x, this.y, this.w, this.h]);
|
||||
}
|
||||
this.event = () => {
|
||||
if (this.disable) return;
|
||||
this.setting.effect();
|
||||
this.setting.effect.apply(this, []);
|
||||
this.menu.drawContent();
|
||||
if (this.setting.replay) core.status.route.push('cSet:' + name);
|
||||
}
|
||||
}
|
||||
@ -3684,7 +3888,6 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
||||
this.btnList.forEach((btn) => {
|
||||
if (btn.disable) return;
|
||||
if (px >= btn.x && px <= btn.x + btn.w && py > btn.y && py <= btn.y + btn.h) {
|
||||
hasClick = true;
|
||||
if (this.selectedBtn === btn) btn.event(x, y, px, py);
|
||||
else {
|
||||
this.selectedBtn = btn;
|
||||
@ -3692,9 +3895,6 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
||||
}
|
||||
}
|
||||
});
|
||||
if (hasClick) {
|
||||
this.drawContent();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -3719,6 +3919,26 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
||||
core.fillText(this.name, '-- 显示 --', 40, 175, ' #FFE4B5', '18px Verdana');
|
||||
core.fillText(this.name, '-- 音效 --', 40, 295, ' #FFE4B5', '18px Verdana');
|
||||
break;
|
||||
case 'console':
|
||||
const consoleWarnText =
|
||||
"本页面的功能仅供调试用。使用后相应存档将变红,录像不能通过,且无法提交。请读档到普通存档后正常游玩方可提交。";
|
||||
core.ui.drawTextContent(this.name, consoleWarnText, {
|
||||
left: 30, top: 158, bold: false, color: " #FFC0CB",
|
||||
align: "left", fontSize: 14, maxWidth: 350
|
||||
});
|
||||
core.fillText(this.name, "属性", 45, 264, 'white', '16px Verdana');
|
||||
core.fillText(this.name, "设为", 170, 264, 'white', '16px Verdana');
|
||||
core.fillText(this.name, "物品", 45, 290, 'white', '16px Verdana');
|
||||
core.fillText(this.name, "数量设为", 170, 290, 'white', '16px Verdana');
|
||||
core.fillText(this.name, "变量", 45, 316, 'white', '16px Verdana');
|
||||
core.fillText(this.name, "设为", 170, 316, 'white', '16px Verdana');
|
||||
// core.fillText(this.name, "变量", 45, 264, 'white', '16px Verdana');
|
||||
// core.fillText(this.name, "设为", 170, 264, 'white', '16px Verdana');
|
||||
// core.ui.drawTextContent(this.name, "属性 设为", {
|
||||
// left: 40, top: 250, bold: false, color: "white",
|
||||
// align: "left", fontSize: 16, maxWidth: 350
|
||||
// });
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -3759,14 +3979,14 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
||||
|
||||
// 每个页面的按钮
|
||||
const gamePlayMenu = new SettingOnePage('gamePlay');
|
||||
gamePlayMenu.btnList = new Map([
|
||||
gamePlayMenu.initBtnList([
|
||||
['autoGet', new SettingButton(40, 180, 150, 30, 'autoGet')],
|
||||
['autoBattle', new SettingButton(220, 180, 150, 30, 'autoBattle')],
|
||||
['clickMove', new SettingButton(40, 230, 150, 30, 'clickMove')]
|
||||
]);
|
||||
|
||||
const gameViewMenu = new SettingOnePage('gameView');
|
||||
gameViewMenu.btnList = new Map([
|
||||
gameViewMenu.initBtnList([
|
||||
['itemDetail', new SettingButton(40, 180, 150, 25, 'itemDetail')],
|
||||
['HDCanvas', new SettingButton(40, 205, 150, 25, 'HDCanvas')],
|
||||
['displayEnemyDamage', new SettingButton(40, 230, 150, 25, 'displayEnemyDamage')],
|
||||
@ -3783,10 +4003,18 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
||||
]);
|
||||
|
||||
const keyMenu = new SettingOnePage('key');
|
||||
keyMenu.btnList = new Map();
|
||||
|
||||
|
||||
const consoleMenu = new SettingOnePage('console');
|
||||
consoleMenu.btnList = new Map();
|
||||
consoleMenu.initBtnList([
|
||||
['wallHacking', new SettingButton(40, 220, 150, 25, 'wallHacking')],
|
||||
['debug_statusName', new SettingButton(80, 250, 80, 20, 'debug_statusName')],
|
||||
['debug_statusValue', new SettingButton(210, 250, 80, 20, 'debug_statusValue')],
|
||||
['debug_itemName', new SettingButton(80, 276, 80, 20, 'debug_itemName')],
|
||||
['debug_itemValue', new SettingButton(240, 276, 80, 20, 'debug_itemValue')],
|
||||
['debug_flagName', new SettingButton(80, 302, 80, 20, 'debug_flagName')],
|
||||
['debug_flagValue', new SettingButton(210, 302, 80, 20, 'debug_flagValue')],
|
||||
]);
|
||||
|
||||
// 在此处添加新的菜单页面
|
||||
const settingMenu = new SettingMenu([gamePlayMenu, gameViewMenu, keyMenu, consoleMenu], 0, ctx);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user