猫史档案馆


一只野生的小柒

一只野生的小柒

Lv.1

https://shequ.codemao.cn/community/463495

获赞:50收藏:8浏览:456作品收藏:4
回复帖子评论
上一页1 页 / 共 2下一页

初赛时间到!决赛的主题玩点不一样的~ 中回复

有错字啦!不是12日23日啦!

2021-12-23T10:54:03 点赞:0

谁能得到圣诞礼物?创作节提名名单出炉! 中回复

冲名单失败x3imgsrc="https://static.cod喵/emoji/codemao/%E7%BC%96%E7%A8%8B%E7%8C%AB_%E4%BC%A4%E5%BF%83.gif"alt="emotion_编程猫_伤心"

2021-12-23T11:39:29 点赞:0

皮肤滞销,帮帮阿吉! 中回复

这不叫滞销,这叫返场emotion_doge

2021-12-24T19:09:46 点赞:1

皮肤滞销,帮帮阿吉! 中回复

我仿佛看到了哈哈农场的限定活动emotion_doge

2021-12-24T19:14:58 点赞:0

关于双旦活动的公告 中回复

阿吉做得好!!!!

2021-12-27T21:24:53 点赞:1

up计划第一期创作倒计时两个小时,加油! 中回复

地毯

2022-01-20T10:51:58 点赞:0

关于神岛首页改版的建议征集 中回复

能改回去吗,把贡献图留下来,否则有一些新出的产品玩家看都不看一眼,导致新出的地图一定要上首页才有浏览次数和评论,我就是这样,现在一些地图都要靠拉人来装浏览量了

2022-02-13T15:47:04 点赞:2

元宵节猜谜答案公布! 中回复

1.粽叶精灵

2.姜饼人3

3.冰企鲨1

4.全能怪兽

5.梦叶蝶

6.龙舟

7.恶霸土匪boss

8.山贼猴

2022-02-15T21:29:17 点赞:1

元宵节猜谜答案公布! 中回复

1.算数鸭店员

2.姜饼人

3.冰企鲨1

4.全能怪兽

5.梦叶蝶

6.龙舟

7.恶霸土匪boss

8.华强劈瓜

2022-02-16T14:59:04 点赞:1

【神岛大新闻】《编程猫博物馆》流动招租摊位开业! 中回复

龙椅)

2022-02-28T14:08:06 点赞:0

教程师召唤计划,启动 中回复

a来了

2022-03-09T14:50:53 点赞:0

教程师召唤计划,启动 中回复

狂喜啊我,我有录屏装置哈哈哈

2022-03-09T16:03:34 点赞:0

教程师召唤计划,启动 中回复

b站up来集合!!

2022-03-09T20:04:07 点赞:0

教程师计划第二期:阿吉在召唤! 中回复

阿吉,这次皮肤是和上一次一样的吗

2022-03-16T14:19:31 点赞:0

21天建模打卡大挑战,有手就行! 中回复

来啦来啦

2022-03-18T14:35:52 点赞:0

21天建模打卡大挑战,有手就行! 中回复

阿吉3/30-4/7这段时间,能做自我的拟态嘛?

2022-03-18T14:41:24 点赞:0

21天建模打卡大挑战,有手就行! 中回复

阿吉自由主题是三个都要做吗?

2022-03-18T19:38:01 点赞:0

想要做朴素的门而又不失华丽?你也可以! 中回复

a,没人吗

2022-03-20T23:52:29 点赞:0

21天建模打卡大挑战,有手就行! 中回复

阿吉,模型是要全部做完还是任选

2022-03-21T16:48:16 点赞:1

【3D画板教程】首批优秀建模教程师代表公布 中回复

ohhhhhhh

2022-03-23T16:34:50 点赞:1

【教程】背包教程(自带SQL) 中回复

constInitCap = 10;//这里写背包的初始容量
db.sql`
    CREATE TABLE IF NOT EXISTS bag( 
        id CHAR(16) NOT NULL,--这里存userKey
        record TEXT NOT NULL--这里存背包
    )`//建立sql
world.onPlayerJoin(async ({ entity }) => {//当玩家进入地图
    function init() {//建立初始背包
        entity.bag = new Bag(entity,
            {/*如果有初始物品在这里写*/ },
            InitCap
        );//初始背包的构造
    }
    if (entity.player.userKey) {//如果玩家非游客 
        const rows = await db.sql`SELECT*FROM bag WHERE id=${entity.player.userKey}`;//获取玩家数据的那一行
        if (rows && !rows.length) {//如果这一行不存在
            init();
            //那么建立初始背包
            db.sql`INSERT IN TO bag VALUES(
            ${JSON.stringify(entity.bag.saveObject)}
            ${entity.player.userKey},
            )
            `;//将初始背包插入sql
        } else {//如果玩家有数据
            constnow = JSON.parse(rows[0].record);//将读取到的数据临时存放在now 
            entity.bag = new Bag(entity, now.thing, now.capacity);//
        }
    }
    else {
        init();//游客玩家直接建立新背包 
    }

})

2022-06-14T09:53:05 点赞:0

【教程】背包教程(自带SQL) 中回复

world.onPlayerLeave(({ entity }) => {
    entity.bag.save();//玩家离开时保存 
})
class Bag {//创建背包类
    constructor(owner = new Box3Entity, thing = {}, capacity = 0) {
        //构造函数
        this.owner = owner;
        this.thing = thing;
        this.capacity = capacity;
        this.now = 0;
        for (const i of Object.keys(this.thing)) {
            this.now += this.thing[i];
        }//now是物品数量
        this.saveObject = {
            thing: this.thing, capacity: this.capacity
        }//sql存档的时候存这个 
    }

2022-06-14T09:54:52 点赞:0

【教程】背包教程(自带SQL) 中回复

save() {//保存
        if (!this.owner.player.userKey) return;//如果游客账号就不保存
        db.sql`UPDATE bag SET record=${JSON.stringify(this.saveObject)} WHEREid = ${this.owner.player.userKey}`;//保存
        if (this.now + num > this.capacity) return undefined;//如果数量数量超过了就返回
        if (!!this.thing[item]) {//如果此物品存过
            this.thing[item] += num;//增加num
            this.saveObject.thing[item] += num;//保存对象也要同步
        } else {//如果没存过

2022-06-14T09:57:02 点赞:0

【教程】背包教程(自带SQL) 中回复

this.thing[item] = num;//直接赋值 
            this.saveObject.thing[item] = num;//直接赋值
        } this.now += num;//物品的数量也要加
        return this.thing[item];//返回物品数量
    } del(item = '', num = 1) {//删除物品,默认减少一个 

2022-06-14T09:58:46 点赞:0

【教程】背包教程(自带SQL) 中回复

if (!this.thing[item]) return NaN;//如果此物品不存在直接返回
        if (this.thing[item] < num) return undefined;//如果不够减就返undefuned 
        this.thing[item] -= num;//减去相应的量
        this.saveObject.thing[item] -= num;//同步保存对象
        this.now -= num;//当前物品数也要减
        return this.thing[item];//返回数量
    } setCap(cap = 0) {//设置容量
        if (cap < this.now) return undefined;//如果背包里的物品比目标容量多则返 
        this.capacity = cap;//直接设置容量
        return this.capacity;//返回值
    } async show() {//对玩家展示背包

2022-06-14T09:59:12 点赞:0

【教程】背包教程(自带SQL) 中回复

varop = [];
        for (const i of Object.keys(this.thing)) {
            op.push(`${i}×${this.thing[i]}`);
        }//将物品×数量放进选项列表
        const p = await this.owner.player.dialog({//建立对话框 
            type: Box3DialogType.SELECT, title: '背包',//具体细节如标题,        
            content: '以下是你的背包', options: op,
        });
        return this.thing[Object.keys(this.thing)[op.indexOf(p)]];//返回选择了的物品
    }
}

2022-06-14T09:59:38 点赞:1

【教程】背包教程(自带SQL) 中回复

啊作者,我刚刚测试有一个bug

2022-06-14T10:05:43 点赞:1

【编创协赛事平台】注册准考证身份识别贴 中回复

092443

2022-06-23T21:39:26 点赞:0

【编创协赛事平台】注册准考证身份识别贴 中回复

009353

2022-06-23T21:40:02 点赞:0

【编创协赛事平台】注册准考证身份识别贴 中回复

205970

2022-06-23T21:40:26 点赞:0