用户:
抬头就是你查看:6 回复:12 评论:6 创建时间:2022-11-15T14:49:45
大家都知道啊,代码这种东西,写得好,1分钟搞定,那么写不好呢。。。。几个小时(真的会有这样的代码师)、
废话不多说,开始讲解~
第1个呢是大家熟知的switch分支了~~~~
switch这个东东啊,得看你咋用,用不好的话。。。。报错gg,不过呢,在你抬头大屑的“优化”下,变成这样~/* 喵 版权所有 不可侵犯 */
const TEST_PLAYER = ['吉吉喵']
world.onChat(async ({ entity, message }) => {
if (TEST_PLAYER.includes(entity.player.name)) {
if (message == '特权') {
const c = await entity.player.dialog({
type: Box3DialogType.SELECT,
contentTextColor: new Box3RGBAColor(0, 0, 0, 1), // 对话框字体颜色。
contentBackgroundColor: new Box3RGBAColor(1, 1, 1, 1), // 对话框背景颜色。
lookEye: entity.position.add(entity.player.facingDirection.scale(5)), // 调整相机位置,摆在玩家朝向的前方5格距离。
type: Box3DialogType.SELECT,
title: "特权",
titleTextColor: new Box3RGBAColor(0, 0, 0, 1), // 标题字体颜色。
titleBackgroundColor: new Box3RGBAColor(0.968, 0.702, 0.392, 1),
content: `
尊敬的管喵 ${entity.player.name} 请开始执行你的操作吧~
请勿喵哦~
如被举报就撤~~~`,
options: ['飞行','取消飞行','隐身','关闭隐身','加速','减速','变大','变小'],
})
if (!c || c === null) {
return;
}
switch (c.value) {
case '飞行':
entity.player.canFly = true
entity.player.directMessage(`已开启飞行`);
break;
case '取消飞行':
entity.player.canFly = false
entity.player.directMessage(`已关闭飞行`);
break;
case '隐身':
entity.player.invisible = true
entity.player.showName = false
entity.player.directMessage(`已开启隐身`)
break;
case '关闭隐身':
entity.player.invisible = false
entity.player.showName = true
entity.player.directMessage(`已关闭隐身`)
break;
case '加速':
entity.player.directMessage(`加速中……`)
entity.player.walkSpeed *= 3
entity.player.runSpeed *= 3
entity.player.flySpeed *= 3
break;
case '减速':
entity.player.directMessage(`减速中……`)
entity.player.walkSpeed /= 2
entity.player.runSpeed /= 2
entity.player.flySpeed /= 2
break;
case '变大':
entity.player.directMessage(`哇!变大了!`)
entity.player.scale *= 13
break;
case '变小':
entity.player.directMessage(`哇!变小了!`)
entity.player.scale /= 4
break;
default:
}
}
}
})
上面可见啊,喵是我的新坑(dog),拿走不谢~~~~~ 第2个是if语句(第3个也是~) 比如:
let op =['自己想~'] //前面的我没写~,不能直接放地图!!!
const msg = await entity.player.dialog({
type: Box3DialogType.SELECT,
title: '请选择复活方式',
options: op,
});
if (!msg || msg === null) {
for (let t = 1; t <= 120; t++) {
entity.player.directMessage(`倒计时 ${String(120 - t)} 秒后复活`);
await sleep(1000);
}
return
}
/*重点来了!*/
if (msg.index === 1) {
let z = entity.item.indexOf('心脏起搏器')
if (z != -1) {
entity.item.splice(z, 1)
entity.hp = entity.maxHp
}
else {
entity.player.directMessage('你背包里没有心脏起搏器!')
}
}
/*不完整的代码~*/
此代码由妖无奈海代码师提供。。。(看到这里还不给个关注???)
下一个是由我写的代码,还是if语句。。。。基本每位代码师都要会。。。
if (sel.value == '背包'){
await entity.player.dialog({
contentTextColor: new Box3RGBAColor(0, 0, 0, 1), // 对话框字体颜色。
contentBackgroundColor: new Box3RGBAColor(1, 1, 1, 1), // 对话框背景颜色。
lookEye: entity.position.add(entity.player.facingDirection.scale(5)), // 调整相机位置,摆在玩家朝向的前方5格距离。
type: Box3DialogType.SELECT,
title: "背包",
titleTextColor: new Box3RGBAColor(0, 0, 0, 1), // 标题字体颜色。
titleBackgroundColor: new Box3RGBAColor(0.968, 0.702, 0.392, 1),
options: entity.bag
})
//不完整,因为不想写了~~~~
卑微抬头。。。。给个关注呗~~~~~~~