Lv.1
在 [box3]背包代码怎么弄(? 中回复
world.onPlayerJoin(({ entity }) => {
entity.enableInteract = true;
entity.item = ['小刀', '弓箭'];
entity.money = 100;
entity.zbgl = '无'
});
world.onPress(async({ entity , button }) => {
if(button == Box3ButtonType.ACTION1) {
c喵t cd = await entity.player.dialog({
type:'select',
title:'你的菜单:',
content:`你有${entity.money}元`,
opti喵:['背包', '装备管理']
})
if(cd) {
if(cd.value == '背包') {
if(entity.item != undefined) {
c喵t itemList = await entity.player.dialog({
type:Box3DialogType.SELECT,
title:'你的背包',
content:`你有以下东西:`,
opti喵:entity.item
})
if(itemList) {
if(itemList.value == '小刀') {
c喵t zb = await entity.player.dialog({
type:Box3DialogType.SELECT,
title:'你的背包',
content:'请选择你对[小刀]的操作:',
opti喵:['装备', '丢弃']
})
if(zb.value == '装备') {
if(entity.zbgl == '无') {
entity.zbgl = '小刀';
entity.item.splice(entity.item.indexOf('小刀'), 1);
entity.player.directMessage('您装备[小刀]一件,可在装备管理处查看哦~')
}else {
entity.item.push(entity.zbgl);
entity.zbgl = '小刀';
entity.item.splice(entity.item.indexOf('小刀'), 1);
entity.player.directMessage('您装备[小刀]一件,可在装备管理处查看哦~')
}
}
if(zb.value == '丢弃') {
entity.item.splice(entity.item.indexOf('小刀'), 1);
entity.player.directMessage('您已丢弃[小刀]一件~')
}
}
if(itemList.value == '弓箭') {
c喵t gongjian = await entity.player.dialog({
type:Box3DialogType.SELECT,
title:'你的背包',
content:'请选择你对[小刀]的操作:',
opti喵:['装备', '丢弃']
})
if(gongjian.value == '装备') {
if(entity.zbgl == '无') {
entity.zbgl = '弓箭';
entity.item.splice(entity.item.indexOf('弓箭'), 1);
entity.player.directMessage('您装备[弓箭]一件,可在装备管理处查看哦~')
}else {
entity.item.push(entity.zbgl);
entity.zbgl = '弓箭';
entity.item.splice(entity.item.indexOf('弓箭'), 1);
entity.player.directMessage('您装备[弓箭]一件,可在装备管理处查看哦~')
}
}
if(gongjian.value == '丢弃') {
entity.item.splice(entity.item.indexOf('弓箭'), 1);
entity.player.directMessage('您已丢弃[弓箭]一件~')
}
}
}
}
}
if(cd.value == '装备管理') {
c喵t zbglz = await entity.player.dialog({
type:Box3DialogType.SELECT,
title:'装备管理',
content:'这是您已装备的武器:',
opti喵:[`${entity.zbgl}`]
})
if(zbglz) {
if(entity.zbgl == '无') {
return
}else {
c喵t xzdq = await entity.player.dialog({
type:Box3DialogType.SELECT,
title:`装备管理`,
content:`请选择你对[${entity.zbgl}]的操作:`,
opti喵:['卸载', '丢弃']
})
if(xzdq.value == '卸载') {
entity.item.push(entity.zbgl);
entity.player.directMessage(`您已卸载[${entity.zbgl}],已为您放入背包中`);
entity.zbgl = '无'
}
if(xzdq.value == '丢弃') {
if(entity.zbgl == '无') {
return;
}else {
entity.player.directMessage(`您已丢弃[${entity.zbgl}]`)
entity.zbgl = '无';
}
}
}
}
}
}
}
});2023-12-09T13:39:32 点赞:0
在 重启代码求助 中回复
sleep(1000*10).then(async()=>{//等待时间,可以修改
/*world.querySelectorAll('player').forEach(async({entity})=>{
await saveUser(entity)
world.say('保存成功')
})*/
//有存档可以保存
world.say(`Warning! Warning! Map server crash returned error: error: Script execution timed out.`)//重启播报
await sleep(500)
for(;;){}//循环重启
})2023-12-11T19:41:20 点赞:0
在 [pro神岛] 意见箱/邮箱/举报箱 代码教程 100行内代码教会你[] 2.1[最终代码] 中回复
let ADMIN = ['Mr-Wolf', '音符魔狼']//可以查看意见的玩家名
let WRITE_LENGTH = 60//可以输入字数
void async function () {
globalThis.Mailbox = storage.getDataStorage('mailBox')//创建云存档
if (!await Mailbox.get('record')) {//是否有创建云表格
await Mailbox.set('record', [])//没有就创建
}
globalThis.record = await Mailbox.get('record')//获取
globalThis.writeData = record.value//这里用了一个本办法[]具体原因看结尾
globalThis.players = []
}()
let NPC = world.querySelector('#邮箱')//互动的模型
NPC.enableInteract = 1//可以互动
NPC.interactRadius = 5//互动空间为5
NPC.interactHint = '邮箱'//互动名称为"邮箱"
NPC.onInteract(async ({ entity: e }) => {//开始互动
if (ADMIN.includes(e.player.name)) {
let sel = await e.dlgSel(null, '邮箱', ['写意见', '查看意见', '清除所有意见'])
if (sel) {
let v = sel.value
if (v === '写意见') {
await write(e, v)
} else if (v === '查看意见') {
if (writeData.length <= 0) return await e.dlgMsg(v, '暂无意见')
let opti喵 = Object.keys(record.value).map(i => { return record.value[i].name })//用map方法获取表格里面的东西
let sel0 = await e.dlgSel(v, '一共' + opti喵.length + '跳意见', opti喵)
if (sel0) {
let title = writeData[sel0.index]//获取
let sel1 = await e.dlgSel(v, `玩家Id: ${title.userId}\n状态: ${world.querySelectorAll('player').find(i => i.player.userId === title.userId) ? '在线' : '离线'}\n` + title.text, ['删除'])//显示内容
if (sel1) {
writeData.remove(title)//删除
await Mailbox.update('record', () => { return writeData })//改变云表格量为表格
await e.dlgMsg(v, '删除成功')
}
}
} else if (v === '清除所有意见') {
if (record.value.length <= 0) return await e.dlgMsg(v, '暂无意见')
let sel0 = await e.dlgSel(v, '确定吗', ['确定', '再想想'])
if (sel0 && sel0.value === '确定') {
let a = record.value
for (let x = 0; x < a.length; x++) {
a.remove(a[x])
}
await Mailbox.update('record', () => { return a })//这里不是作者不知道直接 执行空表格 而是执行后[]他还是显示 需要世界刷新
await e.dlgMsg(v, '清除成功')
}
}
}
} else await write(e, '写意见')
})
globalThis.write = async function (e, v) {
if (players.includes(e.player.userId)) return await e.dlgMsg(v, '你今天上传过了\n请明日再来')
let sel0 = await e.dlgInput(v, '请用简洁的话语概括一下\n字数小于' + WRITE_LENGTH + '字')
if (sel0) {
if (sel0.length > WRITE_LENGTH) return await e.dlgMsg(v, '字数过多')
try {
players.push(e.player.userId)
writeData.unshift({ userId: e.player.userId, name: e.player.name, text: sel0 })//向表格添加参数
await Mailbox.update('record', (preData) => { return writeData })//改变云表格量为表格
await e.dlgMsg(v, '上传成功qwq\n欢迎再次评论')
} catch (qwq) {
c喵ole.log(qwq)
await e.dlgMsg(v, '上传失败/(ㄒoㄒ)/~~\n请稍后重试')//可能会因服务器原因 卡逝
}
}
}
Array.prototype.remove = function (ele) {//这里是定义的一些东西[] 代码师应 该都看的懂
if (!this.includes(ele)) return null;
else return this.splice(this.indexOf(ele), 1)
}
GameEntity.prototype.dlgMsg = async function (title, content, hasArrow) {
let sel = await this.player.dialog({
type: 'text',
title,
content,
hasArrow,
})
return sel
}
GameEntity.prototype.dlgInput = async function (title, content) {
let sel = await this.player.dialog({
type: 'input',
title,
content,
})
return sel
}
GameEntity.prototype.dlgSel = async function (title, content, opti喵) {
let sel = await this.player.dialog({
type: 'select',
title,
content,
opti喵,
})
return sel || ''
}2024-01-01T19:10:21 点赞:1