Lv.1
在 BOX3代码岛 求随机出生点代码 中回复
world.onPlayerJoin(({entity})=>{//当玩家进入地图
entity.player.spawnPoint.set(Math.round(Math.random()*100+1),13,Math.round(Math.random()*100+1));//设置重生点
entity.player.forceRespawn();//强制玩家重生
})2022-05-11T18:21:23 点赞:0
在 实体方向如何设置 中回复
代码如下:
const QUAT = new Box3Quaternion(0,0,0,1) //实体专用初始四元数, 被所有实体共同使用
world.querySelectorAll('*').forEach((entity)=>{
entity.meshOrientation = QUAT.rotateY(Math.PI/2) //实体Y轴旋转90度这里是
//最常用的Y轴,要是旋转其他轴,只需要将Y改成XZ即可*注:角度/180*MATH.PI即可
})2022-05-12T20:13:14 点赞:1
在 岛3代码师的代码教程 中回复
代码还行,就是每个玩家进入游戏都开一个on Tick ,就是耗费亿点资源
本人觉得代码这样写更好:
//挂机检测(大约4分钟)
world.onPlayerJoin(({entity})=>{//当玩家进入地图
entity.time1=0;//初始化玩家私有属性time1
r.resume();//开启Tick循环
})
const r= world.onTick(()=>{
world.querySelectorAll('player').forEach((entity)=>{
if(entity.player.walkState==''){//判断玩家行走状态,无行走为""也就是挂机
entity.time1++;
}
else{
entity.time1=0;
}
if(entity.time1 >= 3000){//当挂机时间超过3000Tick
world.say(`玩家${entity.player.name}因为挂机过久被系统送入挂机房!`)
entity.player.dialog({
type: Box3DialogType.TEXT,
title: `系统`,
content: '你因为挂机太久被系统送入挂机房!'
})
entity.position.set(喵,121,喵)//传送玩家
r.cancel();//关闭Tick循环
}
})
})
//注意: 借鉴使用需得到作者许嘉茗本人同意,否则默认成抄袭!!!
world.onPlayerLeave(({entity})=>{//当玩家离开地图
r.cancel();//关闭Tick循环
})
2022-05-12T21:07:01 点赞:0
在 喵的一个问题 中回复
你可以先保存一下世界的模板(图纸),就像下面这样
var a=[[0,0,0,0]];//这个图纸记录了整个世界中的一个方块记录格式:[[X坐标,Y坐标,Z
//坐标,方块ID]]
接着用 on Tick事件每过5000Tick就遍历一遍图纸,接着再用放置方块API全部放置出来,就行了
2022-05-12T21:35:18 点赞:0
在 怎么做传送门 中回复
//先在地图放一个名为“门”的模型 //玩家跟“门"点击互动按钮,就会弹出一个传送门,进入哈哈农场地图 constdoor=world.querySelector('#门'); door.enableInteract=true; door.interactHint=`转去哈哈农场`; door.interactRadius=3; door.onInteract(async({entity})=>{ entity.player.link('https://box3.codemao.cn/p/0df19bb54f0527d04dae')//将玩家传送到此地图链接 });
2022-05-20T17:10:00 点赞:0
在 代码师教程1 中回复
太草率了吧!hp直接赋值就行了。
world.querySelectorAll('player').forEach((x) => {
if (x.player.name == message.slice(4)) {
x.player.directMessage("击杀");
world.say(`玩家${x.player.name}被作者${entity.player.name}击杀了`);
x.hp=0;
}
})
还有,字符串不能用中文输入法!!!!!
2022-05-24T12:06:08 点赞:0
在 神奇代码岛收徒 中回复
async function init(){
while(true){
world.say('居然还会有人教策划的!!!!!!!!!');
await sleep(64);
}
}
init();2022-06-04T18:01:47 点赞:0
在 求代码!!!!! 中回复
代码如下:
world.onClick(async ({ entity, clicker, distance }) => {/*当有玩家点击实体时,entity是被点击的实体,clicker是发动点击事件的玩家,distance是点击实体到被点击实体的距离*/
if (entity.isPlayer && clicker.isPlayer && distance <= 5) {/*如果点击实体是玩家且被点击实体也是玩家且距离<=5 */
await sleep(1000);/*等待1秒await只能在async中运行 */
entity.hurt(10);/*用实体的hurt方法对被点击的实体伤害10点血 */
}
})
world.onPlayerJoin(({ entity }) => {/*当有玩家进入地图,entity是进入地图的玩家 */
entity.enableDamage = true;/*开启伤害,在没开启伤害之前所有的对生命值的操作都不会执行!!!!!!!! */
})
2022-06-04T19:02:20 点赞:0
在 build在6月5号下午2:00永远的离开了我们…… 中回复
https://box3.codemao.cn/e/786011419009c98e5喵6
2022-06-05T14:26:21 点赞:0