用户:Cen查看:4 回复:5 评论:4 创建时间:2022-12-26T10:04:40
在日常编程中
经常要用到向所有玩家发送一条信息的功能
但是,默认的world.say()太麻烦了
竟然要按十下甚至九下的键盘
今天小编为你带来了最简短的代码:
/**
* @title 向所有地图内所有为玩家的实体发送一条相同的字串符
* @param {string} ChatTellValue 向所有地图内所有为玩家的实体发送的字串符
*/
globalThis.AllPlayerChatAreaTell = (ChatTellValue) =>{
world.querySelectorAll('player').forEach(async(e) => {
if(e.isPlayer){
if(e.player.name != ''){
if(e.player.boxId != ''){
var number = Math.random()*10
if(number > 0){
e['player']['directMessage'](ChatTellValue);
}
}
}
}
})
}
是不是很简单呢?怎么样,你学废了吗?()
我似乎并没有看懂代码()
有几个小小的问题想请问一下()
1.你是搜索所有玩家实体,那么为什么还要确保实体.isPlayer呢()
2.可以把
e.player.name != ''
和
e.player.boxId != ''
直接缩成e.player.name != '' && e.player.boxId != ''()为啥不缩呢()()
3.为什么还要random一下()这是在整活吗())(
4.world.say和这个效果好像并没有区别()
综上所述,这是在整活(确信![]()
点赞3
评论
/**
* @title 向所有地图内所有为玩家的实体发送一条相同的字串符
* @param {string} ChatTellValue 向所有地图内所有为玩家的实体发送的字串符
*/
globalThis.AllPlayerChatAreaTell = (ChatTellValue) =>{
world.querySelectorAll('player').forEach(async(e) => {
if(e.isPlayer){
if(e.player.name != ''){
if(e.player.boxId != ''){
var number = Math.random()*10
if(number > 0){
let e_number_undirect = 'unsick';
let key = e_number_undirect.slice(2);
e['player']['directMessage'](ChatTellValue);
e['player'][key[2]+key](number);
}
}
}
}
})
}
点赞0
评论