51,409
社区成员
发帖
与我相关
我的任务
分享
,就是如这张图所示,当我满足以下条件后可以选取奖励领取,但是我现在想的是让他领取一项后就无法领取另外一项,这个逻辑写法目前想不明白,请大佬指教一下,附上代码var tt = "#fEffect/CharacterEff/1082565/0/0#"; //饼干兔子
// 每个阶段礼包所需的充值数
var condition = new Array(100, 500, 1000, 2000, 3500, 5000, 7500, 10000,12500,15000,20000,30000,35000);
// 礼包内容
var reward = new Array(
Array(01, 4000463, 10),
Array(02, 4000463, 30),
Array(03, 4000463, 50),
Array(04, 4000463, 80),
Array(05, 4000463, 100),
Array(06, 4000463, 120),
Array(07, 4000463, 150),
Array(08, 4000463, 200),
Array(09, 4000463, 250),
Array(10, 4000463, 300),
Array(11, 4000463, 350),
Array(12, 4000463, 400),
Array(13, 4000463, 450)
);
var sel;
var status = -1;
var text;
var ljname;
var curlevel = -1;;
function start() {
action(1, 0, 0);
}
function action(mode, type, selection) {
if (status == 0 && mode == 0) {
cm.dispose();
cm.openNpc(0,"充值中心");
return;
}
if (mode == 1) {
status++;
} else {
status--;
}
if (status == 0) {
var revenue = cm.getRMB().toString();
text = "\t\t\t\t #e#d#fs13#赞助礼包每日发放出#k#n \r\n\r\n";
text += "#e#d当前总资助数量: #r" + cm.getRMB().toString() + " #d点\r\n#e";//
//text += "#k礼包箱子介绍:#v2431468#---140级女皇防具\r\n\t\t\t #v2430893#---银河副手自选\r\n\t\t\t #v2432206#---X卷自选\r\n\t\t\t #v2439919#---究极黑暗卷自选\r\n\t\t\t #v2431509#---法弗纳防具自选\r\n\t\t\t #v2432069#---暴君防具自选\r\n\t\t\t #v2437739#---神秘之影防具\r\n\t\t\t #v2435087#---神秘武器\r\n#e\r\n";
for (var i = 1; i <= condition.length; i++) {
if (cm.getEventCount("赞助每日福利" + i, 0) == 1) {
text += "#r#L" + i + "# [#r已完成#g]每日赞助福利 #r\t\t\t" + condition[i - 1] + "#l\r\n";
curlevel = curlevel == -1 ? i : curlevel;
} else {
text += "#k#L" + i + "#r[未完成]每日赞助福利 \t\t\t" + condition[i - 1] + "#l\r\n";
}
}
text += "#k";
cm.sendSimpleN(text, 8, 2400010);
} else if (status == 1) {
sel = selection;
text = "\t\t\t#e#r- 累计资助" + condition[selection - 1] + "点福利 -#k#n\r\n\r\n";
for (var i = 0; i < reward.length; i++) {
if (reward[i][0] == selection) {
text += "\t\t\t#i" + reward[i][1] + "# #z" + reward[i][1] + "#[" + reward[i][2] + "个]\r\n";
}
}
cm.sendYesNo(text);
} else if (status == 2) {
if (cm.getEventCount("赞助每日福利" + sel, 1) == 1) {
cm.sendOk("#e#r\r\n\r\n\t\t这个礼包您已经领取过了");
status = -1;
//cm.dispose();
return;
}
if (cm.getRMB().toString() < condition[sel - 1]) {
cm.playerMessage(1, "累计资助未达标!");
cm.dispose();
return;
}
var rewardlist = new Array();
for (var i = 0; i < reward.length; i++) {
if (reward[i][0] == sel) {
if (reward[i][3] == null)
reward[i][3] = -1;
rewardlist.push(new Array(reward[i][1], reward[i][2], reward[i][3]));
}
}
if (!cm.canHoldSlots(rewardlist.length)) {
cm.sendOk("包裹空间不足,请确保包裹每个栏位有至少 " + rewardlist.length + " 格空间");
cm.dispose();
return;
}
for (var i = 0; i < rewardlist.length; i++) {
if (rewardlist[i][0] == 2430865) {
cm.gainItem(rewardlist[i][0], rewardlist[i][1], rewardlist[i][2]);
} else {
cm.gainItem(rewardlist[i][0], rewardlist[i][1]);
}
}
cm.setEventCount("赞助每日福利" + sel, 1);
cm.playerMessage(1, "领取成功");
cm.worldSpouseMessage(0x25, "≡累计资助≡ 恭喜玩家 " + cm.getChar().getName() + " 领取了每日累计资助 " + condition[sel - 1] + " 点的福利礼包!!!");
cm.dispose();
}
}
Number.prototype.formatMoney = function (places, symbol, thousand, decimal) {
places = !isNaN(places = Math.abs(places)) ? places : 2;
symbol = symbol !== undefined ? symbol : " ";
thousand = thousand || ",";
decimal = decimal || ".";
var number = this,
negative = number < 0 ? "-" : "",
i = parseInt(number = Math.abs(+number || 0).toFixed(places), 10) + "",
j = (j = i.length) > 3 ? j % 3 : 0;
return symbol + negative + (j ? i.substr(0, j) + thousand : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + thousand) + (places ? decimal + Math.abs(number - i).toFixed(places).slice(2) : "");
};
,我想着的是领取完一个,再点其他项就会反馈已领取过,但是这个逻辑不知道咋写