使用某个物品到账点卷

var get_rand_int = new NativeFunction(ptr(0x086B1B87), 'int', ['int'], {
    "abi": "sysv"
});


if ((item_id >= 10000113) && (item_id <= 10000114)) //点券充值
{
rechargeCeraBasedOnItemId(user, item_id);
}

// 用户使用次数记录
var userUsageCount = {};

function rechargeCeraBasedOnItemId(user, item_id, charac_no) {
    var itemToCeraMapping = {
        10000113: [100, 1], // 物品ID 10000113 对应 100 点券,可以额外奖励
        10000114: [200, 0]  // 物品ID 10000114 对应 200 点券,不可额外奖励
    };

    if (itemToCeraMapping.hasOwnProperty(item_id)) {
        var [PriceCera, canHaveExtra] = itemToCeraMapping[item_id];
        var extraCera = 0;
        var userKey = charac_no + '_' + item_id;

        // 更新用户使用次数
        userUsageCount[userKey] = (userUsageCount[userKey] || 0) + 1;

        // 计算是否应当提供保底额外奖励
        var isGuaranteedExtra = userUsageCount[userKey] % 10 === 0;

        // 判断是否参与额外奖励
        if (canHaveExtra) {
            var maxExtraCera = Math.floor(PriceCera * 0.3); // 额外充值的最大数量为本体的30%
            if (isGuaranteedExtra) {
                extraCera = maxExtraCera; // 保底触发,获得最大额外充值
                userUsageCount[userKey] = 0; // 清空累计次数
            } else if (get_rand_int(100) < 50) {
                extraCera = Math.min(get_rand_int(PriceCera), maxExtraCera);
                // 如果获得了额外奖励,清空累计次数
                userUsageCount[userKey] = 0;
            }
        }

        api_recharge_cash_cera(user, PriceCera + extraCera);
        api_CUser_SendNotiPacketMessage(user, '成功到账' + (PriceCera + extraCera) + '点券' + (extraCera > 0 ? ',包括额外充值' + extraCera + '点券' : ''), 0);
    }
}
声明:本站文章素材多源于网络,版权归原作者。 声明中文字加粗部分,仅为突出重点信息展示,无其他特殊含义。任何个人或组织,在未经原版权方及本站许可时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

重要限制:本站素材仅供单机学习交流,请在24小时内删除

给TA仙缘
共{{data.count}}人
人已仙缘
DNF插件教程DNF教学资源

指定用户强化增幅必定成功(@超级獭可)

2024-12-28 15:49:11

DNF插件教程DNF教学资源

定时邮件整理(@青梅煮酒)

2024-12-28 15:49:14

动态加载多个广告位

宝子们!这里可是超棒的固定广告位哟!要是你有广告推广的想法,想让更多人看到你的好东西,别犹豫,赶紧联系博主呀,咱们一起把精彩传递出去。

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索