用户:
黑色中王牌查看:6 回复:5 评论:6 创建时间:2022-07-05T16:43:43
async function savePlayer(entity) {
if (entity.player.userKey) {
await db.sql`
INSERT INTO player (
userName,
hp,
dengji,
dianshu,
beibaorongliang,
beibao,
xianzaichuandezhuanbie,
xianzaitonglongshulian,
xianzaiyoudetonglong,
fuzhong,
shitou,
maocao,
mutou,
xianwei,
tiekuang,
shoupi,
datuirou,
mifeng,
shuzhi,
heizhenzhu,
quhewu,
qiyouhuaguo,
baizhenzhu,
shiyou,
shuijin,
qiyou,
shuini,
shuishi,
heiyaoshi,
youjijuhewu,
jiatushu,
mutan,
chongwushiyao,
xiyoumodu,
ankangyuyou,
maopi,
yinghuofen,
jiaozhi,
xiaoxiaohuichen,
jinshuding,
userKey
)
VALUES(
${entity.player.name},
${entity.hp},
${entity.dengji},
${entity.dianshu},
${entity.beibaorongliang},
${JSON.stringify(entity.beibao)},
${JSON.stringify(entity.xianzaichuandezhuanbie)},
${entity.xianzaitonglongshulian},
${JSON.stringify(entity.xianzaiyoudetonglong)},
${entity.fuzhong},
${entity.shitou},
${entity.maocao},
${entity.mutou},
${entity.xianwei},
${entity.tiekuang},
${entity.shoupi},
${entity.datuirou},
${entity.mifeng},
${entity.shuzhi},
${entity.heizhenzhu},
${entity.quhewu},
${entity.qiyouhuaguo},
${entity.baizhenzh},
${entity.shiyou},
${entity.shuijin}
${entity.qiyou},
${entity.shuini},
${entity.shuishi},
${entity.heiyaoshi},
${entity.youjijuhewu},
${entity.jiatushu},
${entity.mutan},
${entity.chongwushiyao},
${entity.xiyoumodu},
${entity.ankangyuyou},
${entity.maopi},
${entity.yinghuofen},
${entity.jiaozhi},
${entity.xiaoxiaohuichen},
${entity.jinshuding},
${entity.player.userKey}
)
ON CONFLICT(userKey)
DO UPDATE SET
userName=${entity.player.name},
hp=${entity.hp},
dengji=${entity.dengji},
dianshu=${entity.dianshu},
beibaorongliang=${entity.beibaorongliang},
beibao=${JSON.stringify(entity.beibao)},
xianzaichuandezhuanbie=${JSON.stringify(entity.xianzaichuandezhuanbie)},
xianzaitonglongshulian=${entity.xianzaitonglongshulian},
xianzaiyoudetonglong=${JSON.stringify(entity.xianzaiyoudetonglong)},
fuzhong=${entity.fuzhong},
shitou=${entity.shitou},
maocao=${entity.maocao},
mutou=${entity.mutou},
xianwei=${entity.xianwei},
tiekuang=${entity.tiekuang},
shoupi=${entity.shoupi},
datuirou=${entity.datuirou},
mifeng=${entity.mifeng},
shuzhi=${entity.shuzhi},
heizhenzhu=${entity.heizhenzhu},
quhewu=${entity.quhewu},
qiyouhuaguo=${entity.qiyouhuaguo},
baizhenzhu=${entity.baizhenzhu},
shiyou=${entity.shiyou},
shuijin=${entity.shuijin},
qiyou=${entity.qiyou},
shuini=${entity.shuini},
shuishi=${entity.shuishi},
heiyaoshi=${entity.heiyaoshi},
youjijuhewu=${entity.youjijuhewu},
jiatushu=${entity.jiatushu},
mutan=${entity.mutan},
chongwushiyao=${entity.chongwushiyao},
xiyoumodu=${entity.xiyoumodu},
ankangyuyou=${entity.ankangyuyou},
maopi=${entity.maopi},
yinghuofen=${entity.yinghuofen},
jiaozhi=${entity.jiaozhi},
xiaoxiaohuichen=${entity.xiaoxiaohuichen},
jinshuding=${entity.jinshuding}
`
} else {
entity.player.directMessage('你需要先登录。')
}
}
async function loadPlayer(entity) {
const data = await db.sql`SELECT * FROM player WHERE userKey=${entity.player.userKey} limit 1`[0]
if (data) {
entity.hp = data.hp
entity.dengji = data.dengji
entity.dianshu = data.dianshu
entity.beibaorongliang = data.beibaorongliang
entity.beibao = JSON.parse(data.beibao)
entity.xianzaichuandezhuanbie = JSON.parse(data.xianzaichuandezhuanbie)
entity.beibaorongliang = data.beibaorongliang
entity.xianzaiyoudetonglong = JSON.parse(data.xianzaiyoudetonglong)
entity.fuzhong = data.fuzhong
entity.shitou = data.shitou
entity.maocao = data.maocao
entity.mutou = data.mutou
entity.xianwei = data.xianwei
entity.tiekuang = data.tiekuang
entity.shoupi = data.shoupi
entity.datuirou = data.datuirou
entity.mifeng = data.mifeng
entity.shuzhi = data.shuzhi
entity.heizhenzhu = data.heizhenzhu
entity.quhewu = data.quhewu
entity.qiyouhuaguo = data.qiyouhuaguo
entity.baizhenzhu = data.baizhenzhu
entity.shiyou = data.shiyou
entity.shuijin = data.shuijin
entity.qiyou = data.qiyou
entity.shuini = data.shuini
entity.shuishi = data.shuishi
entity.heiyaoshi = data.heiyaoshi
entity.youjijuhewu = data.youjijuhewu
entity.jiatushu = data.jiatushu
entity.mutan = data.mutan
entity.chongwushiyao = data.chongwushiyao
entity.xiyoumodu = data.xiyoumodu
entity.ankangyuyou = data.ankangyuyou
entity.maopi = data.maopi
entity.yinghuofen = data.yinghuofen
entity.jiaozhi = data.jiaozhi
entity.xiaoxiaohuichen = data.xiaoxiaohuichen
entity.jinshuding = data.jinshuding
}
}
async function showPlayers() {
console.clear()
const playerList = await db.sql`SELECT * FROM player`
for (const p of playerList) {
console.log(JSON.stringify(p))
}
}
async function createTable() {
await db.sql`CREATE TABLE IF NOT EXISTS player (
userName TEXT DEFAULT '',
hp INTEGER DEFAULT 100,
dengji INTEGER DEFAULT 0,
dianshu INTEGER DEFAULT 0,
beibaorongliang INTEGER DEFAULT 0,
beibao TEXT DEFAULT '',
xianzaichuandezhuanbie TEXT DEFAULT '',
xianzaitonglongshulian INTEGER DEFAULT 0,
xianzaiyoudetonglong TEXT DEFAULT '',
fuzhong INTEGER DEFAULT 0,
shitou INTEGER DEFAULT 0,
maocao INTEGER DEFAULT 0,
mutou INTEGER DEFAULT 0,
xianwei INTEGER DEFAULT 0,
tiekuang INTEGER DEFAULT 0,
shoupi INTEGER DEFAULT 0,
datuirou INTEGER DEFAULT 0,
mifeng INTEGER DEFAULT 0,
shuzhi INTEGER DEFAULT 0,
heizhenzhu INTEGER DEFAULT 0,
quhewu INTEGER DEFAULT 0,
qiyouhuaguo INTEGER DEFAULT 0,
baizhenzhu INTEGER DEFAULT 0,
shiyou INTEGER DEFAULT 0,
shuijin INTEGER DEFAULT 0,
qiyou INTEGER DEFAULT 0,
shuini INTEGER DEFAULT 0,
shuishi INTEGER DEFAULT 0,
heiyaoshi INTEGER DEFAULT 0,
youjijuhewu INTEGER DEFAULT 0,
jiatushu INTEGER DEFAULT 0,
mutan INTEGER DEFAULT 0,
chongwushiyao INTEGER DEFAULT 0,
xiyoumodu INTEGER DEFAULT 0,
ankangyuyou INTEGER DEFAULT 0,
maopi INTEGER DEFAULT 0,
yinghuofen INTEGER DEFAULT 0,
jiaozhi INTEGER DEFAULT 0,
xiaoxiaohuichen INTEGER DEFAULT 0,
jinshuding INTEGER DEFAULT 0,
userKey TEXT PRIMARY KEY UNIQUE DEFAULT ''--玩家的识别码
)`
showPlayers()
}
createTable()
require('./武器.js')
world.onPlayerJoin(async ({ entity }) => {
entity.hp = 100
entity.dengji = 0
entity.dianshu = 0
entity.beibaorongliang = 100
entity.beibao = []
entity.xianzaichuandezhuanbie = []
entity.xianzaitonglongshulian = 0
entity.xianzaiyoudetonglong = []
entity.fuzhong = 0
entity.shitou = 0
entity.maocao = 0
entity.mutou = 0
entity.xianwei = 0
entity.tiekuang = 0
entity.shoupi = 0
entity.datuirou = 0
entity.mifeng = 0
entity.shuzhi = 0
entity.heizhenzhu = 0
entity.quhewu = 0
entity.qiyouhuaguo = 0
entity.baizhenzhu = 0
entity.shiyou = 0
entity.shuijin = 0
entity.qiyou = 0
entity.shuini = 0
entity.shuishi = 0
entity.heiyaoshi = 0
entity.youjijuhewu = 0
entity.jiatushu = 0
entity.mutan = 0
entity.chongwushiyao = 0
entity.xiyoumodu = 0
entity.ankangyuyou = 0
entity.maopi = 0
entity.yinghuofen = 0
entity.jiaozhi = 0
entity.xiaoxiaohuichen = 0
entity.jinshuding = 0
loadPlayer(entity)
entity.player.onPress(async ({ entity, button }) => {
if (button == Box3ButtonType.ACTION1) {
const result = await entity.player.dialog({
type: Box3DialogType.SELECT,
title: entity.player.name,
content: `
血量:${entity.hp}
等级:${entity.dengji}
点数:${entity.dianshu}
背包容量:${entity.beibaorongliang}
现在穿戴的装备:[${entity.xianzaichuandezhuanbie}]
现在的驯服只数:${entity.xianzaiyoudetonglong}
现在你有的恐龙:[${entity.xianzaiyoudetonglong}]
负重:${entity.fuzhong}`,
options: ['生存指南', '保存', '背包', '制作台'],
})
if (!result || result === null) return;
if (result.value == '生存指南') {
entity.player.dialog({
type: 'text',
content: `
——————什么东西可以爆出什么东西?——————
1.树可以爆树皮,如果运气好,可以获得木头
2.喵可以爆石头,如果运气好,可以获得铁矿
3.鲨鱼可以爆鱼肉,如果运气好,可以爆出优质鱼肉
`,
});
}
if (result.value == '保存') {
await savePlayer(entity)
entity.player.directMessage('保存成功')
}
if (result.value == '背包') {
const result = await entity.player.dialog({
type: Box3DialogType.SELECT,
content: `
石头:${entity.shitou}
茅喵:${entity.maocao}
木头:${entity.mutou}
纤维:${entity.xianwei}
铁矿:${entity.tiekuang}
兽皮:${entity.shoupi}
大腿肉:${entity.datuirou}
蜂蜜:${entity.mifeng}
树脂:${entity.shuzhi}
黑珍珠:${entity.heizhenzhu}
聚合物:${entity.quhewu}
稀有花朵:${entity.qiyouhuaguo}
白珍珠:${entity.baizhenzhu}
石油:${entity.shiyou}
水晶:${entity.shuijin}
汽油:${entity.qiyou}
水泥:${entity.shuini}
燧石:${entity.shuishi}
黑曜石:${entity.heiyaoshi}
有机聚合物:${entity.youjijuhewu}
甲壳素:${entity.jiatushu}
木炭:${entity.mutan}
宠物饲料:${entity.chongwushiyao}
稀有蘑菇:${entity.xiyoumodu}
安康鱼油:${entity.ankangyuyou}
毛皮:${entity.maopi}
引火粉:${entity.yinghuofen}
角质:${entity.jiaozhi}
强效灰尘:${entity.xiaoxiaohuichen}
金属锭:${entity.jinshuding}
`,
});
}
//if (result.value == '')
}
})
})
呜呜呜这个报错太难改了