• 周年纪念勋章活动已圆满结束,如有已购买但仍未申请的用户,可以通过对应勋章的下载链接申请~
资源图标

LSE 去中心化、玩家版经济系统 2.2.4

sqlite3数据库用不了,放弃了,之后我会用MySQL数据库做一个的
玩家打开个人钱包时可以操作名下银行
连接数据库:
JavaScript:
/***************************************初始化 *******************************************************/
var sqlite = null;
async function yoyoSqlite() {
    let sqlitePath = '.\\plugins\\lib\\Yoyo\\yoyoSqlite-2.0.2.js';//位置希望不要更改,这样方便其它插件复用
    if (!File.exists(sqlitePath)) {
        logger.warn('检查到本地lib下无yoyoSqlite库,正在从从仓库获取!');
        await (() => {
            return new Promise(resolve => {
                network.httpGet('https://gitee.com/Y_oyo/yoyo-mcbe-lite-xloader-item/raw/master/sql/yoyoSqlite-2.0.2.js', (status, result) => {
                    if (status == 200) {
                        File.writeTo(sqlitePath, result);
                        logger.warn('yoyoSqlite库,已获取!');
                        resolve();
                    }
                });
            });
        })();
    }
    return require(sqlitePath).sqlite;
}
mc.listen('onServerStarted', async () => {

    sqlite = await yoyoSqlite();//等待导入完成(不存在会自动获取仓库)
    // sqlite.isShowSql = true;
    //sqlite不要修改它或者重新定义它
    /* 多个参数的时候你可以传对象 */
    let isDB = sqlite.connectDb({
        path: '.\\plugins\\sql\\yoyo.db',
        create: true,/* 不存在是否自动创建 */
    });
    if (isDB) {
        // log('数据库连接成功');
        colorLog("green", "[SLS] 玩家自定义经济系统加载完毕");
    } else {
        log('数据库连接失败');
    }
    }
使用api:
JavaScript:
// plmoney_name(pl))   获取玩家绑定的经济系统名字,如果没有就返回null
    // (plmoney_number(pl))  获取玩家绑定的经济系统内的经济数量,如果没有就返回0

function plmoney_name(pl) {
    try {
        var result = sqlite.table("plmoney")//需要操作的完整表名
        let pldatas = result.where("xuid", pl.xuid).find();
        if (pldatas.get(0, 'moneyname') != null && pldatas.get(0, 'moneyname') != '') {
            return pldatas.get(0, 'moneyname')
        } else {
            return null;
        }
    } catch {
        return null;
    }
}
//获取玩家使用的经济内的数量
function plmoney_number(pl) {
    try {
        if (plmoney_name(pl) != null) {
            var result = sqlite.table(plmoney_name(pl))//需要操作的完整表名
            let pldatas = result.where("xuid", pl.xuid).find();
            return Number(pldatas.get(0, 'money'))
        } else {
            return 0;
        }
    } catch {
        return 0;
    }
}
玩家输入/plmoney进行绑定银行货币以及查询余额转账
后退
顶部 底部