用户:
肥宅快乐水hhh查看:5 回复:12 评论:5 创建时间:2021-07-31T18:12:39
hi我是宅宅,距离碰碰车地图已经过去半年了,现在也成功的下架了潜力新作(早就下架了))
所以,宅宅要开始整活了()()()()

碰碰车地图代码公开!你想进行怎样的再次创作呢?发挥你的创意,进行再次创作吧!
以下为碰碰车代码:(地图大小必须为32*32,如果要变大或变小请自行)
let end_game;//https://box3.codemao.cn/e/44989231ffeced29d575
var gamewj = world.querySelectorAll('player').length;
var winner2 = '';
var yx = 0;
var mutelist = [];
var start111 = false;
(async function () {
for (; ; await sleep(500)) {
if (!world.start) {
// 检测人数
if (world.querySelectorAll('player').length < 2) {
world.say(`当前人数不够${2}人, 再等等吧!`);
continue;
}
if (winner != '') {
world.say('本局游戏' + winner + '获胜!大家恭喜!')
world.say('下局Ta将获得超帅定制版跑车以及红色用户名效果!')
}
start111 = false;
gamewj = world.querySelectorAll('player').length;
world.say('当前还有' + gamewj + '名玩家正在参赛')
for (let i = 10; i > 0; i--) {
await sleep(1000);
world.say(`倒计时:${i}...`);
}
gamewj = world.querySelectorAll('player').length;
if (gamewj <= 1) {
world.say(`当前人数不够${2}人, 再等等吧!`);
continue;
}
start111 = true;
await start();
}
}
}())
world.querySelectorAll('player').forEach((e) => {//选中标签为‘打飞’的模型
e.onEntityContact(({ entity, other }) => {//设置目标模型的碰撞事件.
if (!other.isPlayer) { return } //防止非玩家实体参与检测.(这三句话是不是似曾相识啊(*^▽^*))
other.velocity.y += 5;//然后将玩家以正Y轴甩飞出去
})//万能框架
})//万能框架
var winner = '';
world.onPlayerJoin(async ({ entity }) => {
await sleep(500)
entity.player.scale = 0.5;
entity.collides = true;
entity.player.runSpeed = 0.4;
entity.player.runAcceleration = 0.2;
entity.player.jumpPower = 0.9;
entity.player.doubleJumpPower = false;
})
const cars = ['这里你要放汽车模型的名字(可以放很多模型)','汽车2']
world.onPlayerJoin(async ({ entity }) => {
entity.meshScale = new Box3Vector3(1 / 16, 1 / 16, 1 / 16);
entity.meshOrientation = new Box3Quaternion(0, 1, 0, 0)
entity.player.invisible = true;
});
world.onVoxelContact(({ x, y, z, voxel }) => {
const voxelName = voxels.name(voxel); // 将方块id转换名称
if (voxelName === 'glass') { // 如果方块名称是冰块
voxels.setVoxel(x, y, z, 0); // 将方块变成空气
}
});
world.start = false
world.onPlayerJoin(({ entity }) => {
entity.ks == false; //
});
world.onTick(async ({ }) => {
world.querySelectorAll('player').forEach((e) => {
if (e.position.y <= 0 && !e.player.spectator && yx == 1) {//
e.player.spectator = true
e.player.invisible = true
e.mesh = 0
world.say(e.player.name + ' 掉下去了')
e.player.directMessage('你失败了')
gamewj -= 1;
if (gamewj <= 1) {
end_game();
}
e.player.game = 'over';
e.player.showName = false
}
if (e.player.game != 'over' && gamewj == 1) {
winner = e.player.name;
}
})
});
world.onPlayerLeave(({ entity }) => { //当玩家离开地图时
gamewj -= 1;
})
world.onPlayerJoin(async({ entity }) => {
entity.restitution = 10
entity.player.game = 'over';
})
world.onEntityContact(({ force, axis, entity, other }) => {
if (!entity.isPlayer || !other.isPlayer) { return }
entity.velocity.set(axis.x * 1+Math.random()*0.4, axis.y * 1+Math.random()*0.4, axis.z * 1+Math.random()*0.4)
entity.velocity.set(axis.x *1+Math.random()*0.4, axis.y * 1+Math.random()*0.4, axis.z * 1+Math.random()*0.4)
})
async function start() {
gamewj = world.querySelectorAll('player').length;
for (let x = 0; x < 31; x++) {
for (let y = 9; y < 14; y++) {
voxels.setVoxel(x, y, 31, 'glass');
}
}
for (let x = 0; x < 31; x++) {
for (let y = 9; y < 14; y++) {
voxels.setVoxel(x, y, 0, 'glass');
}
}
for (let z = 0; z < 31; z++) {
for (let y = 9; y < 14; y++) {
voxels.setVoxel(0, y, z, 'glass');
}
}
for (let z = 0; z < 31; z++) {
for (let y = 9; y < 14; y++) {
voxels.setVoxel(31, y, z, 'glass');
}
}
//for(let w=0;w<12;w++)
//{
// voxels.setVoxel(2+w, 8, 29-w, 'pink_light')
// }
for(let w=0;w<12;w++)//神奇的追梦写的神奇的代码
{
//这里是还原赛场四边的四条中心线
world.say('正在还原赛场中...')
voxels.setVoxel(2+w, 8, 29-w, 'white')
voxels.setVoxel(2+w, 8, 2+w, 'white')
voxels.setVoxel(29-w, 8, 2+w, 'white')
voxels.setVoxel(29-w, 8, 29-w, 'white')
//此代码用于游戏前赛场线条还原
//这里是还原赛场四周的紫色线条
voxels.setVoxel(4+w, 8, 29, 'white')
voxels.setVoxel(27-w, 8, 29, 'white')
voxels.setVoxel(29, 8, 27-w, 'white')
voxels.setVoxel(29, 8, 4+w, 'white')
voxels.setVoxel(27-w, 8, 2, 'white')
voxels.setVoxel(4+w, 8, 2, 'white')
voxels.setVoxel(2, 8, 4+w, 'white')
voxels.setVoxel(2, 8, 27-w, 'white')
//这里是还原中心线旁边的黄线
voxels.setVoxel(3+w,8,29-w,'white')
voxels.setVoxel(2+w,8,28-w,'white')
voxels.setVoxel(2+w,8,3+w,'white')
voxels.setVoxel(3+w,8,2+w,'white')
voxels.setVoxel(28-w,8,2+w,'white')
voxels.setVoxel(29-w,8,3+w,'white')
voxels.setVoxel(29-w,8,28-w,'white')
voxels.setVoxel(28-w,8,29-w,'white')
await sleep(50)
}
for(let w=0;w<12;w++)
{
world.say('正在重置赛场中...')
voxels.setVoxel(2+w, 8, 29-w, 'blue_light')
voxels.setVoxel(2+w, 8, 2+w, 'blue_light')
voxels.setVoxel(29-w, 8, 2+w, 'blue_light')
voxels.setVoxel(29-w, 8, 29-w, 'blue_light')
await sleep(300)
//
}
for(let w=0;w<12;w++)
{
voxels.setVoxel(3+w,8,29-w,'warm_yellow_light')
voxels.setVoxel(2+w,8,28-w,'warm_yellow_light')
voxels.setVoxel(2+w,8,3+w,'warm_yellow_light')
voxels.setVoxel(3+w,8,2+w,'warm_yellow_light')
voxels.setVoxel(28-w,8,2+w,'warm_yellow_light')
voxels.setVoxel(29-w,8,3+w,'warm_yellow_light')
voxels.setVoxel(29-w,8,28-w,'warm_yellow_light')
voxels.setVoxel(28-w,8,29-w,'warm_yellow_light')
await sleep(100)
}
for(let w=0;w<10;w++)
{
world.say('边线绘制...')
voxels.setVoxel(4+w, 8, 29, 'purple')
voxels.setVoxel(27-w, 8, 29, 'purple')
voxels.setVoxel(29, 8, 27-w, 'purple')
voxels.setVoxel(29, 8, 4+w, 'purple')
voxels.setVoxel(27-w, 8, 2, 'purple')
voxels.setVoxel(4+w, 8, 2, 'purple')
voxels.setVoxel(2, 8, 4+w, 'purple')
voxels.setVoxel(2, 8, 27-w, 'purple')
// voxels.setVoxel(2+w, 8, 2+w, 'blue_light')
// voxels.setVoxel(29-w, 8, 2+w, 'blue_light')
//voxels.setVoxel(29-w, 8, 29-w, 'blue_light')
await sleep(50)
//
}//pink_light||mint_green_light
await sleep(1000)
world.say('赛场重置成功!')
await sleep(500)
world.say('本局游戏开始!')
await sleep(400)
world.say('大家快来争取限定胜利者皮肤吧!')
world.querySelectorAll('player').forEach((e) => {//快点aa
yx = 1;
Object.assign(e, {
particleRate: 20,
particleSize: [4, 8, 16, 8, 20],
particleColor: [
new Box3RGBColor(10, 9, 2),
new Box3RGBColor(5, 0.25, 0.1),
new Box3RGBColor(3, 0.05, 0.05),
new Box3RGBColor(0, 0, 0),
new Box3RGBColor(0, 0, 0),
],
particleLifetime: 1,
particleVelocitySpread: new Box3Vector3(2, 2, 2),
});
e.position.set(Math.random(6, 27), 10, Math.random(6, 27))
e.mesh = world.querySelector(cars[Math.floor(Math.random() * cars.length)]).mesh
e.player.game = 'start'
e.position.set(15 - Math.random() * 6, 10 + Math.random() * 6, 16 - Math.random() * 6)
e.player.spectator = false;
e.player.game = ''
if (e.player.name == winner) {
e.player.color.set(1, 0, 0);
e.mesh = world.querySelector('#跑车22').mesh
e.meshOrientation = new Box3Quaternion(0, 1, 0, 0)
e.player.directMessage('你是上局的获胜者,恭喜你获得定制版跑车使用一局!')
}
else {
e.player.color.set(1, 1, 1);
e.player.showName = true;
e.meshOrientation = new Box3Quaternion(0, 1, 0, 0)
}
if (e.player.name == '宅宅梦想家' || e.player.name == '追梦喵aowC' || e.player.name == '残孤之音' || e.player.name == 'BCX编程中手~' || e.player.name == '神兽喵' || e.player.name == '皮卡丘→'|| e.player.name == '岛3协会会长') {
world.say('欢迎创作者' + e.player.name + '参与游戏!')
world.say('Ta获得了创作者专属黑色至尊跑车!')
e.mesh = world.querySelector('#跑车-1').mesh
e.meshOrientation = new Box3Quaternion(0, 1, 0, -1)
}
})
await new Promise(async (resolve) => {//把他复制到游戏里
end_game = resolve; // 设置游戏结束函数 自爆系统
await sleep(900 * 1000); // 等待15分钟
world.say('游戏超时,地图开始重启')
resolve(); // 如果游戏没有提前结束, 就会由于到时间而结束
});
end_game = undefined
world.querySelectorAll('player').forEach((e) => {
Object.assign(e, {
particleRate: 0,
});
})
}