レス数が1スレッドの最大レス数(1000件)を超えています。残念ながら投稿することができません。
戦国IXA ツールスレPart47
-
>>779
あんまりテストしてないのでちゃんと動かなかったらごめんなさい。
変なとこあったら教えてください。一応除外とかが動くのは確認済み。
// 指定枚数まで一枚ずつくじ引き
function castSenKuji(t, n, token) {
let deferred = new $.Deferred;
let count = 0;
function cast(t, n, token, deferred) {
$.ajax({
type: 'post',
url: '/senkuji/play_senkuji.php',
data: { send: 'send', got_type: t, senkuji_token: token },
beforeSend: xrwStatusText
}).then(function (html) {
+ $(html).find('div.cardstatus').each( function(index, element) {
- let cardId = $(html).find('span.commandsol_').attr('id').match(/card_commandsol_(\d+)/)[1];
- let $cardstatus = $(html).find('div.cardstatus'),
- card_name = $cardstatus.find('span.ig_card_name').text(),
- rarity = $cardstatus.find('span[class^="rarity_"]').attr('class').match(/rarity_([a-z]+)/)[1],
- skill_name = $cardstatus.find('span.ig_skill_name').text().match(/(\S+)LV/)[1];
+ let $card = $(this).find('div.parameta_area');
+ let cardId = $card.find('span.commandsol_').attr('id').match(/card_commandsol_(\d+)/)[1];
+ let card_name = $(this).find('span.ig_card_name').text(),
+ rarity = $(this).find('span[class^="rarity_"]').attr('class').match(/rarity_([a-z]+)/)[1],
+ skill_name = $(this).find('span.ig_skill_name').text().match(/(\S+)LV/)[1];
s = " [" + RarityName[rarity] + "] " + card_name + " (" + skill_name + ")";
// 指定された条件で除外
if (excludeRarity.indexOf(rarity) == -1 && excludeNames.indexOf(card_name) == -1 && excludeSkills.indexOf(skill_name) == -1) {
log(s);
cardInfoList.push(new CardInfo(cardId, card_name, rarity, skill_name));
}
else {
log(`${s} : 除外`);
}
count++;
+ })
+ t = '0';
// 指定枚数に達してないならもう一度
if (cardInfoList.length < kujiNum) {
//log(`${count} < ${kujiNum}`);
if (count < n) {
setTimeout(cast.bind(null, t, n, token, deferred), WaitTime);
}
else {
// 再度所持枠・銅銭確認
let m = kujiNum - cardInfoList.length;
count = 0;
log(`${m} 枚不足`);
getKujiToken(m).then(function () {
setTimeout(cast.bind(null, t, m, token, deferred), WaitTime);
}, function () {
exit('---合成終了---');
deferred.reject();
});
}
}
else {
log(`素材 ${cardInfoList.length} 枚取得完了`);
deferred.resolve();
}
}, function () {
exit('通信エラー:くじ引き失敗');
deferred.reject();
});
}
+ if (n >= 10) {
+ t = '1320';
+ }
+ else {
+ t = '0';
+ }
log(`白くじ ${n} 枚引き中...`);
cast(t, n, token, deferred);
return deferred.promise();
}
|
|
掲示板管理者へ連絡
無料レンタル掲示板