用户:
治愈绾兮查看:21 回复:8 评论:21 创建时间:2021-07-31T14:12:27
由于喵战士现在也不火了,所以我决定把代码公开,如果你要复制到你地图里,记得分几次,不然会卡喵的。以下是代码:
(async () => {
while (true) {
let hongdui = 0;
let landui = 0;
for (let i = 1; i <= 127; i++) {
for (let j = 1; j <= 127; j++) {
if (voxels.getVoxelId(i, 8, j) == 105) {
hongdui += 1;
} else if (voxels.getVoxelId(i, 8, j) == 363) {
landui += 1;
}
}
}
if (hongdui > landui) {
world.say("时间到,红队胜利,红队:" + hongdui + "分,蓝队:" + landui + "分")
} else if (landui > hongdui) {
world.say("时间到,蓝队胜利,红队:" + hongdui + "分,蓝队:" + landui + "分")
} else {
world.say("时间到,平局,红队:" + hongdui + "分,蓝队:" + landui + "分")
}
world.say("3秒后开启新的一局")
await sleep(1000)
world.say("2秒后开启新的一局")
await sleep(1000)
world.say("1秒后开启新的一局")
for (y = 8; y < 128; y++) {
for (x = 0; x < 128; x++) {
for (z = 0; z < 128; z++) {
if (voxels.getVoxel(x, y, z) == voxels.id("red") || voxels.getVoxel(x, y, z) == voxels.id("blue") || voxels.getVoxel(x, y, z) == voxels.id("black_glass")) {
voxels.setVoxel(x, y, z, voxels.id("stainless_steel"))
}
}
}
}
world.addZone({
selector: "entity",
bounds: {
lo: [0, 8, 0],
hi: [128, 60, 128],
},
fogEnabled: true,
fogColor: new Box3RGBColor(255, 255, 255),
fogDensity: 0,
})
world.querySelectorAll("player").forEach((x) => {
hongduirenshu = 0;
landuirenshu = 0;
x.player.jinbi = 50;
x.player.zhushou = 1;
x.player.zidan = 0;
x.player.youqitong = 0;
x.player.yanwudan = 0;
x.player.huojianpao = 0;
x.player.shunyiqi = 0;
x.player.dilei = 0;
x.player.jujiqiangzidan = 0;
x.player.sanchajishiyongcishu = 0;
x.player.zidongtiaoyue = 0;
x.player.keyi = 1;
x.player.shiyong = 0;
x.player.jisha = 0;
x.player.siwang = 0;
if (x.player.duiwu == 1) {
hongduirenshu += 1;
world.say(x.player.name + "加入了红队")
x.position.set(124, 10, 124)
x.player.backupplayermesh = x.mesh;
x.player.spawnPoint.set(124, 10, 124)
x.player.color = new Box3RGBColor(1000, 0, 0);
} else {
landuirenshu += 1;
world.say(x.player.name + "加入了蓝队")
x.position.set(3, 10, 3)
x.player.backupplayermesh = x.mesh;
x.player.spawnPoint.set(3, 10, 3)
x.player.color = new Box3RGBColor(0, 0, 1000);
}
})
await sleep(1000)
world.say("初始化成功,新的一局现在开始")
await sleep(600000);
}
})()
//地图初始化
const TEST_PLAYER = ["尹氏集团CEO", "机器人5号", "小斌js", "没名某人", "MX的一只萌新"]
const DASHEN1 = ["尹氏集团CEO", "机器人5号", "小斌js", "MX的一只萌新", "史诗喵", "没名某人", "追梦喵aowC"]
const DASHEN2 = ["尹氏集团CEO", "机器人5号", "小斌js", "MX的一只萌新", "史诗喵", "没名某人"]
const DASHEN3 = ["尹氏集团CEO", "机器人5号", "小斌js", "MX的一只萌新", "没名某人"]
var BOOM = []
var messages = [];
var pointer = 0;
hongduirenshu = 0;
landuirenshu = 0;
world.addCollisionFilter("player", "player");
console.clear();
//玩家初始化
world.onPlayerJoin(async ({ entity }) => {
entity.player.directMessage("输入操作说明查看操作说明,输入武器说明查看武器说明,输入大神说明查看大神说明")
entity.player.cameraMode = "fps";
entity.player.enable3DCursor = true;
entity.player.jinbi = 50;
entity.player.zhushou = 1;
entity.player.zidan = 0;
entity.player.youqitong = 0;
entity.player.yanwudan = 0;
entity.player.huojianpao = 0;
entity.player.shunyiqi = 0;
entity.player.dilei = 0;
entity.player.jujiqiangzidan = 0;
entity.player.sanchajishiyongcishu = 0;
entity.player.zidongtiaoyue = 0;
entity.player.keyi = 1;
entity.player.shiyong = 0;
entity.player.jisha = 0;
entity.player.siwang = 0;
if (TEST_PLAYER.includes(entity.player.name)) {
world.say("欢迎作者 " + entity.player.name + " 进入地图!");
}
if (DASHEN1.includes(entity.player.name)) {
world.say("欢迎1级大神 " + entity.player.name + " 进入地图!")
}
if (DASHEN2.includes(entity.player.name)) {
world.say("欢迎2级大神 " + entity.player.name + " 进入地图! ")
}
if (DASHEN3.includes(entity.player.name)) {
world.say("欢迎3级大神 " + entity.player.name + " 进入地图! ")
}
if (hongduirenshu < landuirenshu) {
entity.player.duiwu = 1;
} else if (hongduirenshu > landuirenshu) {
entity.player.duiwu = 2;
} else {
entity.player.duiwu = 1 + Math.round(Math.random() * 1)
}
if (entity.player.duiwu == 1) {
hongduirenshu += 1;
world.say(entity.player.name + "加入了红队")
entity.position.set(124, 10, 124)
entity.player.backupplayermesh = entity.mesh;
entity.player.spawnPoint.set(124, 10, 124)
entity.player.color = new Box3RGBColor(1000, 0, 0);
} else {
landuirenshu += 1;
world.say(entity.player.name + "加入了蓝队")
entity.position.set(3, 10, 3)
entity.player.backupplayermesh = entity.mesh;
entity.player.spawnPoint.set(3, 10, 3)
entity.player.color = new Box3RGBColor(0, 0, 1000);
}
})
//退出
world.onPlayerLeave(async ({ entity }) => {
if (entity.player.duiwu == 1) {
hongduirenshu -= 1;
} else {
landuirenshu -= 1;
}
if (entity.player.shiyong == 1) {
world.addZone({
selector: "entity",
bounds: {
lo: [0, 8, 0],
hi: [128, 60, 128],
},
fogEnabled: true,
fogColor: new Box3RGBColor(255, 255, 255),
fogDensity: 0,
})
}
});
//语言
world.onChat(async ({ entity, message }) => {
if (message === "挂机") {
entity.position.set(63, 4, 63)
entity.player.color = new Box3RGBColor(1000, 1000, 1000);
entity.player.jinbi = 0;
entity.player.zidan = 0;
entity.player.youqitong = 0;
entity.player.yanwudan = 0;
entity.player.huojianpao = 0;
entity.player.jujiqiangzidan = 0;
entity.player.sanchajishiyongcishu = 0;
} else if (message === "操作说明") {
entity.player.directMessage("你的初始金币为50,可在基地旁边的自助商店购买武器和消耗品,左键使用武器,右键切换主手,比赛后看哪队在地上铺的格子数多哪队就胜利")
} else if (message === "武器说明") {
entity.player.directMessage("子弹:用来喵,喵有10第伤害和击退,打在地上可生成1*1的色块;油漆桶:用来喷漆,倒在地上可生成5*5的色块;喵:用来生成烟雾,使用1次可生成烟雾15秒;火箭炮:用来喷漆,发射在地上可生成15*15的色块;瞬移器:用来移动,左键点击一个位置可瞬移到那里;喵:伤害50,换弹较慢;三叉戟:上古神器,伤害100000")
} else if (message === "大神说明") {
entity.player.directMessage("击杀>30且喵<10可申请1级大神,击杀>50且喵<20可申请2级大神,击杀>100且喵<40可申请3级大神;一级大神增加无限子弹特权,2级大神增加无限油漆桶特权,3级大神增加无限瞬移器特权;申请途径:https://shequ.codemao.cn/community/367907,帖子名称:【喵战士】大神申请区!")
}
})
world.onChat(async ({ entity, message }) => {
if (entity.player) {
if (TEST_PLAYER.includes(entity.player.name)) {
entity.player.mess = message;
var name = entity.player.mess.slice(3);
world.querySelectorAll("player").forEach((x) => {
if (x.player.name == name) {
x.position.x = 63;
x.position.y = 4;
x.position.z = 63;
world.say("作者把" + x.player.name + "关进了监狱")
x.player.directMessage("你被作者关进了监狱")
}
})
}
}
})
//得金币
world.onVoxelContact(async ({ voxel, entity }) => {
const block = voxels.id("white");
if (voxel === block && entity.player.keyi == 1) {
entity.player.directMessage("获得1金币");
entity.player.jinbi += 1;
entity.player.keyi = 0;
await sleep(500)
entity.player.keyi = 1;
}
})
//自动跳跃
world.onVoxelContact(async ({ entity, axis, x, y, z }) => {
if (entity.isPlayer && entity.player.zidongtiaoyue == 1) {
if (axis.y < 1 && axis.y > -1) {
if (voxels.getVoxelId(x, y + 1, z) == voxels.id("air")) {
entity.velocity.y = 1.25;
}
}
}
});
//三叉戟代码
world.onPlayerJoin(async ({ entity }) => {
entity.enableDamage = true;
entity.player.onPress(async ({ button, raycast: { hitEntity, direction } }) => {
if (button !== "action0" || !hitEntity || entity.player.zhushou != 8 || entity.player.sanchajishiyongcishu <= 0) {
return;
}
if (entity.player.duiwu == hitEntity.player.duiwu) {
entity.player.directMessage("禁止打队友")
} else {
if (TEST_PLAYER.includes(entity.player.name)) {
hitEntity.hurt(100, {
attacker: entity,
});
} else {
if (TEST_PLAYER.includes(hitEntity.player.name)) {
entity.player.directMessage("禁止打作者")
} else {
hitEntity.hurt(1000000, {
attacker: entity,
});
}
}
await sleep(500)
}
});
});
//喵代码
world.onPlayerJoin(async ({ entity }) => {
entity.enableDamage = true;
entity.player.onPress(async ({ button, raycast: { hitEntity, direction } }) => {
if (button !== "action0" || !hitEntity || entity.player.zhushou != 7 || entity.player.jujiqiangzidan <= 0) {
return;
}
if (entity.player.duiwu == hitEntity.player.duiwu) {
entity.player.directMessage("禁止打队友")
} else {
if (TEST_PLAYER.includes(entity.player.name)) {
hitEntity.hurt(100, {
attacker: entity,
});
} else {
if (TEST_PLAYER.includes(hitEntity.player.name)) {
entity.player.directMessage("禁止打作者")
} else {
hitEntity.hurt(99, {
attacker: entity,
});
}
}
await sleep(500)
}
});
});
//射击
world.onPlayerJoin(async ({ entity }) => {
entity.enableDamage = true;
entity.player.onPress(async ({ button, raycast: { hitEntity, direction } }) => {
if (button !== "action0" || !hitEntity || entity.player.zhushou != 1 || entity.player.zidan <= 0) {
return;
}
if (entity.player.duiwu == hitEntity.player.duiwu) {
entity.player.directMessage("禁止打队友")
} else {
if (TEST_PLAYER.includes(entity.player.name)) {
hitEntity.hurt(100, {
attacker: entity,
});
} else {
if (TEST_PLAYER.includes(hitEntity.player.name)) {
entity.player.directMessage("禁止打作者")
} else {
hitEntity.hurt(10, {
attacker: entity,
});
}
}
await sleep(500)
}
});
});
world.onTakeDamage(async ({ entity, attacker, damage }) => {
entity.player.directMessage("[剩余HP: " + entity.hp + "]: 你受到了 " + damage + " 点伤害");
});
world.onDie(async ({ entity, attacker }) => {
entity.player.dilei = 0;
entity.player.jinbi = 50;
entity.player.zidan = 0;
entity.player.youqitong = 0;
entity.player.yanwudan = 0;
entity.player.huojianpao = 0;
entity.player.shunyiqi = 0;
entity.player.siwang += 1;
entity.player.jujiqiangzidan = 0;
entity.player.sanchajishiyongcishu = 0;
if (!attacker || attacker == null) { entity.player.forceRespawn(); entity.player.directMessage("击杀:" + entity.player.jisha + " 喵:" + entity.player.siwang) }
try {
world.say(attacker.player.name + "击杀了" + entity.player.name + ",获得金币:" + entity.player.jinbi)
attacker.player.jisha += 1;
attacker.player.jinbi += entity.player.jinbi;
entity.player.siwang += 1;
attacker.player.directMessage("击杀:" + attacker.player.jisha + " 喵:" + attacker.player.siwang)
entity.player.directMessage("击杀:" + entity.player.jisha + " 喵:" + entity.player.siwang)
entity.player.forceRespawn();
} catch (e) {
return
}
});
//喷漆
world.onPress(async ({ button, entity, raycast }) => {
if (button == "action0" && entity.player.zhushou == 1) {
if (entity.player.zidan <= 0) {
entity.player.directMessage("你没子弹了!")
return;
}
entity.player.zidan -= 1;
entity.player.directMessage("当前剩余子弹:" + entity.player.zidan)
const pos = raycast.voxelIndex;
if (entity.player.duiwu == 1) {
if (voxels.getVoxelId(pos.x, pos.y, pos.z) == 247 || voxels.getVoxelId(pos.x, pos.y, pos.z) == 363) {
voxels.setVoxel(pos.x, pos.y, pos.z, "red")
}
} else {
if (voxels.getVoxelId(pos.x, pos.y, pos.z) == 247 || voxels.getVoxelId(pos.x, pos.y, pos.z) == 105) {
voxels.setVoxel(pos.x, pos.y, pos.z, "blue")
}
}
}
})
world.onPress(async ({ button, entity, raycast }) => {
if (button == "action0" && entity.player.zhushou == 7) {
if (entity.player.jujiqiangzidan <= 0) {
entity.player.directMessage("你没子弹了!")
return;
}
entity.player.jujiqiangzidan -= 1;
entity.player.directMessage("当前剩余喵子弹:" + entity.player.jujiqiangzidan)
}
})
world.onPress(async ({ button, entity, raycast }) => {
if (button == "action0" && entity.player.zhushou == 8) {
if (entity.player.sanchajishiyongcishu <= 0) {
entity.player.directMessage("你没有使用次数了!!")
return;
}
entity.player.sanchajishiyongcishu -= 1;
entity.player.directMessage("当前剩余三叉戟使用次数:" + entity.player.sanchajishiyongcishu)
}
})
world.onPress(async ({ button, entity, raycast }) => {
if (button == "action0" && entity.player.zhushou == 2) {
if (entity.player.youqitong <= 0) {
entity.player.directMessage("你没有油漆桶了")
return;
}
entity.player.youqitong -= 1;
entity.player.directMessage("当前油漆桶:" + entity.player.youqitong)
const pos = raycast.voxelIndex;
if (entity.player.duiwu == 1) {
for (let a = -2; a <= 2; a++) {
for (let b = -2; b <= 2; b++) {
if (voxels.getVoxelId(pos.x + a, pos.y, pos.z + b) == 247 || voxels.getVoxelId(pos.x + a, pos.y, pos.z + b) == 363) {
voxels.setVoxel(pos.x + a, pos.y, pos.z + b, "red")
}
}
}
} else {
for (let c = -2; c <= 2; c++) {
for (let d = -2; d <= 2; d++) {
if (voxels.getVoxelId(pos.x + c, pos.y, pos.z + d) == 247 || voxels.getVoxelId(pos.x + c, pos.y, pos.z + d) == 105) {
voxels.setVoxel(pos.x + c, pos.y, pos.z + d, "blue")
}
}
}
}
}
})
world.onPress(async ({ button, entity, raycast }) => {
if (button == "action0" && entity.player.zhushou == 4) {
if (entity.player.huojianpao <= 0) {
entity.player.directMessage("你没有火箭炮了")
return;
}
entity.player.huojianpao -= 1;
entity.player.directMessage("当前火箭炮:" + entity.player.huojianpao)
await sleep(5000)
const pos = raycast.voxelIndex;
if (entity.player.duiwu == 1) {
for (let a = -7; a <= 7; a++) {
for (let b = -7; b <= 7; b++) {
if (voxels.getVoxelId(pos.x + a, pos.y, pos.z + b) == 247 || voxels.getVoxelId(pos.x + a, pos.y, pos.z + b) == 363) {
voxels.setVoxel(pos.x + a, pos.y, pos.z + b, "red")
}
}
}
} else {
for (let c = -7; c <= 7; c++) {
for (let d = -7; d <= 7; d++) {
if (voxels.getVoxelId(pos.x + c, pos.y, pos.z + d) == 247 || voxels.getVoxelId(pos.x + c, pos.y, pos.z + d) == 105) {
voxels.setVoxel(pos.x + c, pos.y, pos.z + d, "blue")
}
}
}
}
}
})
//喵
world.onPress(async ({ entity, button, raycast: { hitPosition } }) => {
if (button == "action0" && entity.player.zhushou == 3) {
if (entity.player.yanwudan <= 0) {
entity.player.directMessage("你没有喵了")
return;
}
if (entity.player.shiyong == 0) {
entity.player.yanwudan -= 1;
entity.player.directMessage("当前喵:" + entity.player.yanwudan)
world.say("有人使用了喵,15秒后消散")
entity.player.shiyong = 1;
world.addZone({
selector: "entity",
bounds: {
lo: [0, 8, 0],
hi: [128, 60, 128],
},
fogEnabled: true,
fogColor: new Box3RGBColor(255, 255, 255),
fogDensity: 0.2,
})
await sleep(15000)
world.addZone({
selector: "entity",
bounds: {
lo: [0, 8, 0],
hi: [128, 60, 128],
},
fogEnabled: true,
fogColor: new Box3RGBColor(255, 255, 255),
fogDensity: 0,
})
entity.player.shiyong = 0;
} else {
entity.player.directMessage("已有喵!")
}
}
})
//火箭炮
const Quat = new Box3Quaternion(0, 1, 0, 0)
const Quat2 = new Box3Quaternion(0, 1, 0, 0)
var roc = world.querySelector(".炮弹")
roc.meshOrientation.set(0, 1, -1, 0)
var flyTime = 5;
world.onPress(async ({ entity, button, raycast: { hitPosition } }) => {
if (button == "action0" && entity.player.zhushou == 4) {
world.querySelectorAll(".火箭炮").forEach(async (e) => {
var direction = hitPosition.sub(e.position);
var orientation = Quat.rotateY(Math.atan2(direction.z, direction.x))
var orientation2 = Quat2.rotateY(Math.atan2(direction.z, direction.x))
e.meshOrientation.copy(orientation)
var crted = world.createEntity();
crted.ctrl = false;
crted.meshOrientation.copy(orientation2);
crted.position.set(e.position.x, e.position.y, e.position.z);
crted.mesh = roc.mesh;
crted.meshScale = roc.meshScale;
crted.gravity = true; crted.fixed = false;
crted.launcher = e;
crted.addTag("lchr");
crted.mass = 1;
crted.particleLimit = 1000;
crted.particleRate = 1000;
crted.particleColor = [new Box3RGBColor(1, 1, 0), new Box3RGBColor(1, 0, 0)]
crted.particleSize = [5, 4]
crted.particleAcceleration.set(0, -5, 0)
crted.particleVelocitySpread.set(5, 1, 5);
crted.particleLifetime = 2;
crted.gravity = false;
crted.velocity.y = 2;
for (let i = 0; i < 10; i++) {
crted.velocity.x += direction.x / 200;
crted.velocity.z += direction.z / 200;
await sleep(30);
}
crted.tar = hitPosition;
crted.ctrl = true;
setTimeout(() => { crted.destroy() }, flyTime * 1000)
})
}
})
world.onVoxelContact(async ({ entity, x, y, z }) => {
if (entity.hasTag("lchr")) {
entity.particleVelocity.set(0, 30, 0);
await sleep(500);
entity.destroy()
}
})
world.onTick(async () => {
world.querySelectorAll(".lchr").forEach((e) => {
var orientation2 = Quat2.rotateY(Math.atan2(e.velocity.z, e.velocity.x))
e.meshOrientation.copy(orientation2);
e.meshOrientation.y = -Math.atan2(e.velocity.y, Math.sqrt(e.velocity.x * e.velocity.x + e.velocity.z * e.velocity.z))
e.particleVelocity.set(-e.velocity.x, -e.velocity.y, -e.velocity.z);
if (e.ctrl) {
var direction = e.tar.sub(e.position);
e.velocity.x = (direction.x + direction.x / 2) / 20;
e.velocity.y -= 0.1;
e.velocity.z = (direction.z + direction.z / 2) / 20;
}
})
})
//瞬移器
world.onPress(async ({ entity, button, raycast: {
voxelIndex, normal, distance } }) => {
if (button == "action0" && entity.player.zhushou == 5) {
if (entity.player.shunyiqi <= 0) {
entity.player.directMessage("你没有瞬移器了")
return;
}
let v = voxelIndex.add(normal);
if (distance == "Infinity") {
entity.player.directMessage("这里是虚空")
return;
}
entity.hurt(distance / 5, {
attacker: entity,
});
entity.player.shunyiqi -= 1;
entity.player.directMessage("当前瞬移器:" + entity.player.shunyiqi)
entity.position.set(v.x, v.y + 2, v.z)
}
});
//地雷
function boom(x, y, z) {
world.createEntity({
mesh: 'mesh/方块.vb',
id: 'boom',
position: new Box3Vector3(x, y, z),
collides: false,
fixed: true,
gravity: false,
})
world.querySelectorAll('#boom').forEach(async (x) => {
x.meshInvisible = true
Object.assign(x, {
particleLimit: 100,
particleLifetime: 1,
particleRate: 400,
particleRateSpread: 200,
particleSize: [7, 7, 7, 7, 7],
particleColor: [
new Box3RGBColor(1, 1, 0),
new Box3RGBColor(1, 0.75, 0),
new Box3RGBColor(1, 0.5, 0),
new Box3RGBColor(1, 0.25, 0),
new Box3RGBColor(1, 0, 0),
],
particleVelocitySpread: new Box3Vector3(10, 10, 10),
particleNoise: 6,
});
await sleep(1000 * 2)
x.destroy()
})
}
world.onPress(async ({ button, entity, raycast: { voxelIndex, normal } }) => {
if (button == Box3ButtonType.ACTION0 && entity.player.zhushou == 6) {
if (entity.player.dilei <= 0) {
entity.player.directMessage("你没有地雷了")
return;
}
if (voxels.name(voxels.getVoxelId(voxelIndex.x, voxelIndex.y, voxelIndex.z)) != 'stainless_steel') {
entity.player.directMessage("此位置无法放置")
return;
}
entity.player.dilei -= 1;
entity.player.directMessage("当前地雷:" + entity.player.dilei)
voxels.setVoxel(voxelIndex.x, voxelIndex.y, voxelIndex.z, 'black_glass')
BOOM.push([voxelIndex.x, voxelIndex.y - 1, voxelIndex.z, entity.player.name])
entity.player.directMessage("放置成功")
}
})
world.onPlayerJoin(({ entity }) => {
entity.onVoxelContact(({ x, y, z, voxel }) => {
const block = voxels.id("black_glass");
if (voxel === block && entity.player.keyi == 1) {
entity.hurt(50)
boom(x, y, z)
voxels.setVoxel(x, y, z, 247);
}
});
});
//雷达
const npc = world.querySelector('#雷达');
npc.enableInteract = true;
npc.interactRadius = 5;
npc.interactHint = npc.id;
npc.onInteract(async ({ entity }) => {
entity.player.enable3DCursor = false;
entity.position.set(63, 128, 66)
await entity.player.dialog({
type: Box3DialogType.TEXT,
title: "雷达",
lookEye: entity,
lookTarget: npc,
content: "地面实时监控",
});
entity.player.enable3DCursor = true;
entity.position.set(60, 13, 66)
});
//主手
world.onPress(async ({ button, entity }) => {
if (button == "action1") {
try {
const result = await entity.player.dialog({
type: Box3DialogType.SELECT,
title: "切换主手",
content: "你要切换什么?",
options: ["喵", "油漆桶", "喵", "火箭炮", "瞬移器", "地雷", "喵", "三叉戟", "开启自动跳跃", "关闭自动跳跃", "大神特权"],
});
if (result.index === 0) {
if (entity.player.zidan > 0) {
entity.player.zhushou = 1;
entity.player.directMessage("切换成功")
} else {
entity.player.directMessage("你没有此物品")
}
} else if (result.index === 1) {
if (entity.player.youqitong > 0) {
entity.player.zhushou = 2;
entity.player.directMessage("切换成功")
} else {
entity.player.directMessage("你没有此物品")
}
} else if (result.index === 2) {
if (entity.player.yanwudan > 0) {
entity.player.zhushou = 3;
entity.player.directMessage("切换成功")
} else {
entity.player.directMessage("你没有此物品")
}
} else if (result.index == 3) {
if (entity.player.huojianpao > 0) {
entity.player.zhushou = 4;
entity.player.directMessage("切换成功")
} else {
entity.player.directMessage("你没有此物品")
}
} else if (result.index === 4) {
if (entity.player.shunyiqi > 0) {
entity.player.zhushou = 5;
entity.player.directMessage("切换成功")
} else {
entity.player.directMessage("你没有此物品")
}
} else if (result.index === 5) {
if (entity.player.dilei > 0) {
entity.player.zhushou = 6;
entity.player.directMessage("切换成功")
} else {
entity.player.directMessage("你没有此物品")
}
} else if (result.index === 6) {
if (entity.player.jujiqiangzidan > 0) {
entity.player.zhushou = 7;
entity.player.directMessage("切换成功")
} else {
entity.player.directMessage("你没有此物品")
}
} else if (result.index === 7) {
if (entity.player.sanchajishiyongcishu > 0) {
entity.player.zhushou = 8;
entity.player.directMessage("切换成功")
} else {
entity.player.directMessage("你没有此物品")
}
} else if (result.index === 8) {
entity.player.zidongtiaoyue = 1;
entity.player.directMessage("开启成功")
} else if (result.index === 9) {
entity.player.zidongtiaoyue = 0;
entity.player.directMessage("关闭成功")
} else if (result.index === 10) {
DASHEN3.push('MX的一只萌新')
if (DASHEN3.includes(entity.player.name)) {
entity.player.zidan = 喵;
entity.player.youqitong = 100000000;
entity.player.shunyiqi = 100000000;
entity.player.directMessage("3级大神特权使用成功")
} else if (DASHEN2.includes(entity.player.name)) {
entity.player.zidan = 10000;
entity.player.youqitong = 10000;
entity.player.directMessage("2级大神特权使用成功")
} else if (DASHEN1.includes(entity.player.name)) {
entity.player.zidan = 10000;
entity.player.directMessage("1级大神特权使用成功")
} else {
entity.player.directMessage("你不是大神")
}
}
} catch (err) {
return;
}
}
})
//商店
world.onPlayerJoin(async ({ entity }) => { entity.addTag(entity.player.name) })
world.querySelectorAll(".自助商店").forEach((finder) => {
finder.enableInteract = true;
finder.interactRadius = 4;
finder.interactHint = "自助商店";
finder.interactColor = new Box3RGBColor(1, 1, 1);
finder.onInteract(async ({ entity }) => {
try {
const result = await entity.player.dialog({
type: Box3DialogType.SELECT,
title: "自助商店",
content: "你喵 + entity.player.jinbi + "个金币,想买什么?",
options: ["子弹*50(50金币)", "油漆桶*20(50金币)", "喵*5(100金币)", "火箭炮*5(150金币)", "瞬移器*3(200金币)", "地雷*5(250金币)", "喵子弹*20(500金币)", "三叉戟使用次数*20(5555金币)"]
});
if (result.index === 0) {
if (entity.player.jinbi >= 50) {
entity.player.zidan += 50;
entity.player.jinbi -= 50;
entity.player.directMessage("成功购买50发子弹")
} else {
entity.player.directMessage("你的钱不够")
}
} else if (result.index === 1) {
if (entity.player.jinbi >= 50) {
entity.player.youqitong += 20;
entity.player.jinbi -= 50;
entity.player.directMessage("成功购买20个油漆桶")
} else {
entity.player.directMessage("你的钱不够")
}
} else if (result.index === 2) {
if (entity.player.jinbi >= 100) {
entity.player.yanwudan += 5;
entity.player.jinbi -= 100;
entity.player.directMessage("成功购买5个喵")
} else {
entity.player.directMessage("你的钱不够")
}
} else if (result.index === 3) {
if (entity.player.jinbi >= 150) {
entity.player.huojianpao += 5;
entity.player.jinbi -= 150;
entity.player.directMessage("成功购买5个火箭炮")
} else {
entity.player.directMessage("你的钱不够")
}
} else if (result.index === 4) {
if (entity.player.jinbi >= 200) {
entity.player.shunyiqi += 5;
entity.player.jinbi -= 200;
entity.player.directMessage("成功购买5个瞬移器")
} else {
entity.player.directMessage("你的钱不够")
}
} else if (result.index === 5) {
if (entity.player.jinbi >= 250) {
entity.player.dilei += 5;
entity.player.jinbi -= 250;
entity.player.directMessage("成功购买5个地雷")
} else {
entity.player.directMessage("你的钱不够")
}
} else if (result.index === 6) {
if (entity.player.jinbi >= 500) {
entity.player.jujiqiangzidan += 20
entity.player.jinbi -= 20;
entity.player.directMessage("成功购买20个喵子弹")
} else {
entity.player.directMessage("你的钱不够")
}
} else if (result.index === 7) {
if (entity.player.jinbi >= 5555) {
entity.player.sanchajishiyongcishu += 20;
entity.player.jinbi -= 5555;
entity.player.directMessage("成功购买20次三叉戟使用次数")
} else {
entity.player.directMessage("你的钱不够")
}
}
} catch (err) {
return;
}
})
})
//管喵
world.onChat(async ({ entity, message }) => {
if (entity && entity.isPlayer) {
if (message[0] === "$") {
if (TEST_PLAYER.includes(entity.player.name)) {
try {
world.say("<~" + eval(message.slice(1, message.length)))
} catch (error) {
world.say("Error:" + error);
};
}
};
}
});