猫史档案馆


【神岛干货】【新手向】如何向所有玩家发送一条消息

用户:CenCen查看: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 页 / 共 1下一页
无敌版滑稽战神无敌版滑稽战神

???

点赞0


评论


灵清帝王吃爆一切厕所灵清帝王吃爆一切厕所

我似乎并没有看懂代码()

有几个小小的问题想请问一下()

1.你是搜索所有玩家实体,那么为什么还要确保实体.isPlayer呢()

2.可以把

e.player.name != ''

e.player.boxId != ''

直接缩成e.player.name != '' &&  e.player.boxId != ''()为啥不缩呢()()

3.为什么还要random一下()这是在整活吗())(

4.world.say和这个效果好像并没有区别()

综上所述,这是在整活(确信emotion_doge

点赞3


评论


37303730

home特有的十比九大(恼)

点赞1


评论


145a145a

? ? ?

点赞0


评论


145a145a

/**

 * @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


评论