レス数が1スレッドの最大レス数(1000件)を超えています。残念ながら投稿することができません。
戦国IXA ツールスレPart47
■前スレ
戦国IXA ツールスレPart46
https://jbbs.shitaraba.net/bbs/read.cgi/netgame/15829/1601556843/l50
荒らしは管理人が即出禁にするので注意
クロノスのマニフェストが2だとエラーになるの修正できませんか?
どなたか、AutoSynthesisを白くじ10枚連引き対応とかされてる方いませんか?
mokoの修正真似してやってみましたが、詰まりました
運営が銅銭で直接スキルLV上げさせてくれれば解決なのですが
>>771
真壁引けたので少し更新です。
目標Lvまでは上がるものの最後の目標Lvになった後にどうしてもエラーになる・・・なぜか鬼旋風 破陣だけ。
どうやら目標レベルに達すると合成成功画面に飛ばずにカード合成のメニューの画面に飛んでしまうようです。
直したのは以下
// 合成結果スキル毎確認
$(html).find('div.new_union_result_detail > div.skill_result').each(function () {
let $title = $(this).find('p.title'),
- name = $title.text().match(/([^LV\s]+)LV/)[1],
+ name = $title.text().match(/([^LV\s]+)LV/),
lv = 0,
exp_info = 0,
exp_bar_width = "0%";
+ if (name) {
+ name = name[1];
+ }
+ else {
+ name = $title.text().match(/([^LV\s]+)\sLV/)[1];
+ }
$(html).find('span.ig_skill_name').each(function () {
(〜中略〜)
let matches = $(this).text().match(/(\S+)LV(\d+)/);
の下に
if (!matches) matches = $(this).text().match(/(\S+)\sLV(\d+)/);
の一文を追加する。2か所あると思う。
さらに
let matches = $(this).find('td.name').text().match(/(\S+)LV(\d+)/);
の下にも
if (!matches) matches = $(this).find('td.name').text().match(/(\S+)\sLV(\d+)/);
の一文を追加(上の2か所と微妙に違う)
最後に前回直した
let matches = $(this).parent().next().text().match(/(\S+)LV(\d+)/);
を元に戻して(元のをコメント解除して、768で追加した文は削除)
if (!matches) matches = $(this).parent().next().text().match(/(\S+)\sLV(\d+)/);
の一文を追加
>>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();
}
あっすまぬ
count++;
+ })
+ t = '0';
の})の後ろに;必要だった。
(正)
count++;
+ });
+ t = '0';
たびたびすみません、最後の方に追加した6行は'0'は引数で渡してるから
else文いらないです。(あっても悪さはしません)
(誤)
+ if (n >= 10) {
+ t = '1320';
+ }
+ else {
+ t = '0';
+ }
(正)
+ if (n >= 10) t = '1320';
>>780 , >>781
ご教示いただきありがとうございます
10連対応、今のところ順調です
10枚合成で大分高速化できました
真壁、目標をLV10でやれば実害なさそうですね
検証目的でLVちまちま設定してやっていたので、
エラーは再現しましたが、修正しきれぬうちにLV10に
またどっかで引いたらがんばってみます
>>784
返信ありがとうございます。
10連の修正すると、除外しないなら12枚引きではなく
10枚に設定した方が圧倒的に速いですね。
今は銅銭もかかりませんし。
ただ1点だけ、これ除外が10枚以上あっても
1回合成するまではもう10連引かないので
そこだけは注意です。
まぁ12枚中10枚除外とかそもそもかなりの除外条件を
入れないと発生しないとは思いますが…。
//指定枚数に達していないならもう一度 の手前の所で
cardInfoListが10未満だったら10以上になるまで
tを1320のままcastを実行すれば出来そうですが
あまりに不毛なので気が向いたら実装します…。
むしろ10連を使うかのチェックボックスはあっても
良いかなと思ってます。その辺はまた後で見てみます。
真壁の方は進捗無いです…。
合成候補にセットしておいて他セッションで
その武将溶かして消費してからレベル上げようとすると
メニューに戻るのでおそらくそういった類の
なにかしらエラーが出ているはずなんですが。
>>785
>ただ1点だけ、これ除外が10枚以上あっても
>1回合成するまではもう10連引かないので
ソース確認させていただいたので、その点認識済みです
自分の手持ちは、kujiNumが10の時は数枚が除外あっても
そのまま合成してしまう仕様にしました
(1枚1枚クジ引き直す方が実時間のコストかかるので)
後はロジックとしては、除外しすぎた場合で、cardInfoList.lengthが0になった時を
考慮する程度ですかね
私と一部同盟員くらいしか使わないので、そんな感じですが
ホントに速くて助かってます
>>786
あーたしかに!10の時に引き直ししないって手が
ありましたね!ちょっと手を加えてみます。
>>780 , >>781
https://writening.net/page?JE7Wxg
パス:193
どこか間違えてますかね?
>>788
まとめありがとうございます!
見た限り合ってます!
真壁のスキルだけ、レベルが目標レベルに
達した時の最後の合成だけエラーになりますが
実際はスキル経験値加算されてます。
(結果を取得できてないだけ)
あと、>>786 さんのアイデアを拝借して、
1回の合成枚数が10の時だけ除外を無視できる
チェックボックスを作ってみました。
11と12は10連引いた後に除外を考慮して
足りない分を引きます。
10もチェックを外せば除外を考慮して
足りない分を引きます。
10以外はチェックボックスを操作出来ませんが、
不活性状態のチェックボックスは効かないので
10以外は必ず除外を考慮します。
ロジックは殆どいじってないのですが、
細々とした修正箇所が多くて長くなりそうなので
何回かに分けるかもです。
これは781の修正が加わってる前提です。
その①
localStorage.setItem('AutoSynthesis_ExcludeSkills', $('#ExcludeSkills').val());
+ localStorage.setItem('AutoSynthesis_TenShots', $('#TenShots').prop('checked'));
(〜中略〜)
excludeNames = [],
+ tenShots = false,
(〜中略〜)
count++;
});
+ if (!tenShots) {
t = '0';
// 指定枚数に達してないならもう一度
if (cardInfoList.length < kujiNum) {
(〜中略〜)
+ else {
+ log(`素材 10 枚取得完了 : 除外を無視`);
+ deferred.resolve();
+ }
}, function () {
exit('通信エラー:くじ引き失敗');
(〜中略〜)
excludeRarity.push('toku')
+ if (eval($('#TenShots').prop('checked')))
+ tenShots = true;
(〜中略〜)
その②
- ".AS_inputBoxContainer { width: 400px; margin-right: 5px; background-color: rgb(43,41,37); }",
+ ".AS_inputBoxContainer { width: 430px; margin-right: 5px; background-color: rgb(43,41,37); }",
(〜中略〜)
- let $head = $('<div>').addClass('AS_header').text('自動レベルアップ').appendTo($menu);
+ let $head = $('<div>').addClass('AS_header').text('自動レベルアップ with ').appendTo($menu);
+ $('<img src = "../img/lot/lot_tab_title_white10.png">').css({ 'display': 'inline', 'vertical-align': 'middle', 'width': '57px', 'height': '20px' }).appendTo($head);
(〜中略〜)
$('<input id="ExcludeToku" type="checkbox">').appendTo($inputs);
+ let labelstr = '除外を無視' + '\n' + '(10連のみ)';
+ $('<label>').css({ 'margin-left': '5px', 'padding': '0px 2px 0px 5px', 'text-align': 'right', 'font-size': '6px', 'width': '50px', }).html(labelstr.replace(/\n/g, '<br>')).appendTo($inputs);
+ $('<input id="TenShots" type="checkbox">').appendTo($inputs);
(〜中略〜)
if (eval(localStorage.getItem('AutoSynthesis_ExcludeToku'))) $('#ExcludeToku').prop('checked', true);
+ if (localStorage.getItem('AutoSynthesis_TenShots')) $('#TenShots').prop('checked', true);
+ if (Number($('#SenKujiNum').val()) == 10) {
+ $('#TenShots').prop('disabled', false);
+ }
+ else {
+ $('#TenShots').prop('disabled', true);
+ }
}
+ $('#SenKujiNum').change(function() {
+ let num = $(this).val();
+ if ($.isNumeric(num)) {
+ if (Number(num) == 10) {
+ $('#TenShots').prop('disabled', false);
+ }
+ else {
+ $('#TenShots').prop('disabled', true);
+ }
+ }
+ });
}
①と②で終わりです。バグあったら教えてください。
>>793 下記の2つを入れるとエラーが出ますが、おま環?
count++;
});
+ if (!tenShots) {
t = '0';
// 指定枚数に達してないならもう一度
if (cardInfoList.length < kujiNum) {
+ else {
+ log(`素材 10 枚取得完了 : 除外を無視`);
+ deferred.resolve();
+ }
}, function () {
exit('通信エラー:くじ引き失敗');
あ!ごめんなさい!
コピペ忘れでelse {の前にifを}で閉じないとです!
(誤)
+ else {
+ log(`素材 10 枚取得完了 : 除外を無視`);
+ deferred.resolve();
+ }
}, function () {
exit('通信エラー:くじ引き失敗');
(正)
+ } //これ追加
+ else {
+ log(`素材 10 枚取得完了 : 除外を無視`);
+ deferred.resolve();
+ }
}, function () {
exit('通信エラー:くじ引き失敗');
秘境画面がおかしくなった人いますか ノ
秘境探索は>>571 こんな感じでしたね
今は 兵種:人数 が2段になってダブってます
あと待機中の時に各部隊の右上の
兵士編成|デッキへ
のボタンが見にくいです
>>797
こんな感じでどうでしょう?
その①
var $table, unit_name, unit_id, html;
$('th[class^="waitingunittitle"]:not(:has(.mk_organize_link))').each(function() {
$table = $(this).closest('table');
unit_name = $(this).text().match(/\[.+\]/)[0].replace(/\u0020|\u00A0/g, '');
unit_id = $table.find('input[name^="unit_select"]').val();
if (unit_id) {
html = '' +
'<span class="mk_organize_link">' +
'<a href="javascript:void(0);" class="mk_move_unit" unit_name="' + unit_name + '" id="' + unit_id + '">兵士編成</a>|'+
'<a href="javascript:void(0);" class="mk_move_deck" unit_name="' + unit_name + '">デッキへ</a>' +
'</span>';
- $(this).append(html); //20221023 delete
+ $(this).find('div').before(html); //20221023 add
}
});
(〜中略〜)
// 兵士編成|デッキへのリンクを追加
unitMoveLink();
//20221023 add ここから
+ // 兵士編成ボタン非表示
+ $('img.dungeon_unit_edit_btn_img').each(function() {
+ $(this).hide();
+ });
//20221023 add ここまで
その②
var $table = $('table.table_waigintunit');
$table.find('tr:eq(0) td:eq(0)').attr('rowspan','4');
$table.find('tr:eq(1) td:eq(0)').attr('rowspan','3');
var html = '<tr><th class="subhead"><img src="/img/unit_list/bt_th_txt_01.png" alt="兵種:人数" /></th>';
var counter = 0;
// 20221023 delete ここから
+ /*
$('div[id^="cardWindow_"]').each(function() {
var data = get_card_data($(this));
var idx = counter % 4;
html += '<td class="param_left_value"><img src="/img/card/icon/icon_' + data.type_str + '.png" height="13" /></td>' +
'<td class="param_right_value command"><span>' + data.num + '人</span></td>';
if (idx < 3) {
var $tr = $table.eq(Math.floor(counter / 4)).find('tr').eq(1);
var busho_name = $tr.find('td').eq(idx + 2).text();
if (busho_name.search(/-/) != -1) {
for (var i = counter%4; i < 3; i++) {
html += '<td class="param_left_value"> - </td><td class="param_right_value command"> - </td>';
}
html += '</tr>';
$table.eq(Math.floor(counter / 4)).find('tr:last').after(html);
html = '<tr><th class="subhead"><img src="/img/unit_list/bt_th_txt_01.png" alt="兵種:人数" /></th>';
counter += (3 - idx);
}
} else {
html += '</tr>';
$table.eq((counter + 1) / 4 - 1).find('tr:last').after(html);
html = '<tr><th class="subhead"><img src="/img/unit_list/bt_th_txt_01.png" alt="兵種:人数" /></th>';
}
counter++;
});
+ */
// 20221023 delete ここまで
>>798
スッキリしました
ありがとうございます
あ、571見たら前はHP表示してたのね。
前は2段目にあったHPを兵種人数の下の3段目に
表示できますけど需要あります?
>>801
よろしくお願いします
>>802
もう日付変わって25日になってるけど気にしないで下さい。
下の方のがっつり追加した部分は実は昨日コメントアウトした部分を
コピペしてちょこっといじっただけなので、わかる人は昨日の
コメントアウトを外して変更点だけいじっても大丈夫です。
var $table = $('table.table_waigintunit');
$table.find('tr:eq(0) td:eq(0)').attr('rowspan','4');
$table.find('tr:eq(1) td:eq(0)').attr('rowspan','3');
- var html = '<tr><th class="subhead"><img src="/img/unit_list/bt_th_txt_01.png" alt="兵種:人数" /></th>'; //20221024 delete
+ var html = '<tr><th class="subhead"><img src="/img/unit_list/bt_th_txt_02.png" alt="HP" /></th>'; //20221024 add
var counter = 0;
//20221023 delete ここから
/*
$('div[id^="cardWindow_"]').each(function() {
var data = get_card_data($(this));
var idx = counter % 4;
html += '<td class="param_left_value"><img src="/img/card/icon/icon_' + data.type_str + '.png" height="13" /></td>' +
'<td class="param_right_value command"><span>' + data.num + '人</span></td>';
if (idx < 3) {
var $tr = $table.eq(Math.floor(counter / 4)).find('tr').eq(1);
var busho_name = $tr.find('td').eq(idx + 2).text();
if (busho_name.search(/-/) != -1) {
for (var i = counter%4; i < 3; i++) {
html += '<td class="param_left_value"> - </td><td class="param_right_value command"> - </td>';
}
html += '</tr>';
$table.eq(Math.floor(counter / 4)).find('tr:last').after(html);
html = '<tr><th class="subhead"><img src="/img/unit_list/bt_th_txt_01.png" alt="兵種:人数" /></th>';
counter += (3 - idx);
}
} else {
html += '</tr>';
$table.eq((counter + 1) / 4 - 1).find('tr:last').after(html);
html = '<tr><th class="subhead"><img src="/img/unit_list/bt_th_txt_01.png" alt="兵種:人数" /></th>';
}
counter++;
});
*/
//20221023 delete ここまで
//20221024 add ここから
+ $('div[id^="cardWindow_"]').each(function() {
+ var data = get_card_data($(this));
+ var idx = counter % 4;
+ html += '<td class="param_right_value" colspan="2"><span>' + data.hp + '</span></td>';
+ if (idx < 3) {
+ var $tr = $table.eq(Math.floor(counter / 4)).find('tr').eq(1);
+ var busho_name = $tr.find('td').eq(idx + 2).text();
+ if (busho_name.search(/-/) != -1) {
+ for (var i = counter%4; i < 3; i++) {
+ html += '<td class="param_left_value" colspan="2"> - </td>';
+ }
+ html += '</tr>';
+ $table.eq(Math.floor(counter / 4)).find('tr:last').after(html);
+ html = '<tr><th class="subhead"><img src="/img/unit_list/bt_th_txt_02.png" alt="HP" /></th>';
+ counter += (3 - idx);
+ }
+ } else {
+ html += '</tr>';
+ $table.eq((counter + 1) / 4 - 1).find('tr:last').after(html);
+ html = '<tr><th class="subhead"><img src="/img/unit_list/bt_th_txt_02.png" alt="HP" /></th>';
+ }
+ counter++;
+ });
//20221024 add ここまで
>>803
下段にHPが表示されました
ありがとうございます
802の後に803をやってみたのですが、兵種・人数の下段の表示がHPになりませんでした。
何処かで間違ってるのですが、何処を修正していいのかが分かりませんでした。
宜しくお願いします。
https://gyazo.com/1b25878be37a2f26d834a903b5899aff
>>805
>>803 の上段の修正を取りこぼしてるのでは?
- var html = '<tr><th class="subhead"><img src="/img/unit_list/bt_th_txt_01.png" alt="兵種:人数" /></th>'; //20221024 delete
+ var html = '<tr><th class="subhead"><img src="/img/unit_list/bt_th_txt_02.png" alt="HP" /></th>'; //20221024 add
>>806 さん
上段の修正を見落としていました。ありがとうございました><
連投になり申し訳ありませんが、同国の他の城主や対戦国の相手の城などをクリックした際に
城主情報とうい項目が4つ程出てくるのですが、同じ症状の方いらっしゃいますか?
修正出来るのなら何処を修正したら良いのか教えて頂けたら有難いです。宜しくお願いします。
>>807
mokoにはそのような項目はありません。
PIXIE MK3の方ではないでしょうか?
moko以外の拡張を入れてる場合はmoko以外の拡張をOFFにして
mokoかどうか判断した方が宜しいかと思います。
またここはmokoのスレですのでPIXIE MK3の場合はそちらに
問い合わせして下さい。
>>808 さん
PIXIE MK3の方でした。皆様失礼しました。
みなさん取引のオートページャーで銀銭のとき2ページ目以降も
ちゃんと銀銭で取得してます?私の2ページ目以降が問答無用で
銅銭になってたんで以下を修正しました。私が過去の修正を
漏らしていただけならスルーして下さい。
var t = $('#t').val(),
k = encodeURIComponent($('#k').val()),
s = $('#s').val(),
o = $('#o').val();
+ var search_param = new URLSearchParams(location.search); // 20221026 add
+ var m = search_param.get('m'); // 20221026 add
+ if (!m) m = location.search.slice(1).split('&')[0].replace('m=', ''); // 20221026 add
- var href = '/card/trade.php?t=' + t + '&k=' + k + '&s=' + s + '&o=' + o + '&p=' + page; //20221026 delete
+ var href = '/card/trade.php?m=' + m + '&t=' + t + '&k=' + k + '&s=' + s + '&o=' + o + '&p=' + page; //20221026 add
$.ajax({
type: 'post',
url: href,
beforeSend: xrwStatusText,
}).then(function(html) {
810さん、ありがとうございます!自分も過去スレの見落としだったのかもですが
困っていたので・・・
ちなみに、同様の症状が以下の場合でも出るのですが直せますでしょうか?
カードNo降順・銅銭検索にて、序・上にフィルターを掛けて特・極・天だけを検索させると
2ページ目で強制的に序が出て来てしまいます。
>>811
あぁーそうですね!レアリティのフィルターも考慮しないとですね。
ちょっと消したり足したりややこしいのですが、昨日のから更新してるので、
昨日のを見てない人は行の後ろに日付を付けているのでそこで判断してください。
(昨日の追加した分には今日は+つけていないので)
あと、基本的にURLSearchParamsを使っているので、メジャーどころの
ブラウザなら動くと思いますが、対応してないのもあるかもなのはご容赦。
var t = $('#t').val(),
k = encodeURIComponent($('#k').val()),
s = $('#s').val(),
o = $('#o').val();
var search_param = new URLSearchParams(location.search); // 20221026 add
var m = search_param.get('m'); // 20221026 add
- if (!m) m = location.search.slice(1).split('&')[0].replace('m=', ''); // 20221026 add //20221027 delete
// 20221027 add ここから
+ if (!m) m = 'd';
+ var href;
+ if (location.search.length != 0) {
+ href = '/card/trade.php?' + search_param.toString();
+ }
+ else {
+ href = '/card/trade.php?m=' + m + '&t=' + t + '&k=' + k + '&s=' + s + '&o=' + o + '&p=' + page;
+ }
// 20221027 add ここまで
//var href = '/card/trade.php?t=' + t + '&k=' + k + '&s=' + s + '&o=' + o + '&p=' + page; //20221026 delete
- var href = '/card/trade.php?m=' + m + '&t=' + t + '&k=' + k + '&s=' + s + '&o=' + o + '&p=' + page; //20221026 add //20221027 delete
$.ajax({
type: 'post',
url: href,
beforeSend: xrwStatusText,
}).then(function(html) {
あ、すみません。
if (!m) m = 'd';
は
if (!m) m = $('input[name="m"]').val();
に変えてください。
取引関連
取引タブのリンク先が保存データになっていない不具合。
if (options.trade_auxiliary) {
+ setTimeout(function() {
var change_href = (function() {
var each_setting = getStorage({}, 'ixamoko_each_setting'),
(〜中略〜)
if (change_href) {
$('#戦国くじ a[href$="/trade.php"]').attr('href', change_href);
$('ul.sidebar_btn_card a[href="/card/trade.php"]').attr('href', change_href);
- $('#ig_trademenu a[href="./trade.php"]').attr('href', change_href);
+ $('#ig_trademenu a[href="/card/trade.php"]').attr('href', change_href);
}
+ }, 200);
}
取引関連オートページャー修正ありがとうございました。
おかげさまで快適になりましたーm(_ _)m
>>812 さんのを入れましたが…1ページ目の繰り返しになってしまう…私だけでしょうか?(Chrome)
気づかなかったですが確かに1Pの繰り返しですね
ちゃんと確認してなくてすみません。。。
812はこれも追加してください。
var t = $('#t').val(),
k = encodeURIComponent($('#k').val()),
s = $('#s').val(),
o = $('#o').val();
var search_param = new URLSearchParams(location.search); // 20221026 add
var m = search_param.get('m'); // 20221026 add
+ search_param.set('p', page); //20221028 add
>>818
修正ありがとうございます。
正常動作確認いたしました。
>>818 さん 本当にありがとうございます
陣と同盟陣の破棄中や出城のレベルアップ中に
サイドボックスの『同盟戦略拠点(緑字)』と『戦略拠点(緑字)』に表示される拠点の破棄までの残り時間が
他の拠点を選択すると表示されなくなってしまいます
自国の一番下に表示される陣や出城の残り時間は表示されています
(こちらは破棄を中止しても何故かカウント表示し続けます)
同盟戦略拠点と戦略拠点の拠点にも残り時間を表示できないでしょうか
>>821
これでいけないかな?
ちょっと試してみてください。
build_time_view = function(build_time) {
var target = $('#sideboxBottom div.basename > ul > li:not(.head)'),
text, tmpl;
for (var key in build_time) {
for (var i = 0, len = target.length; i < len; i++) {
text = target.eq(i).children().not(".sidebox_badge_icon").eq(0).text();
//20221029add&deleteここから
+ var text_trim = text
+ .replace(/\t/g, '')
+ .replace(/\n/g, '');
- if (text != build_time[key].base) {
+ if (text_trim != build_time[key].base) {
//20221029add&deleteここまで
continue;
}
tmpl = $('<div class="timeLeft">' + build_time[key].name +
'(<span id="' + key + '">' + build_time[key].text + '</span>) </div>').css('color', build_time[key].color);
target.eq(i).append(tmpl);
}
}
return start_build_time();
},
あっ書き込んでから気づいた・・・
別変数作らなくていいので1行で済みます。
さっきと同じ場所で↓こちらで
for (var key in build_time) {
for (var i = 0, len = target.length; i < len; i++) {
- text = target.eq(i).children().not(".sidebox_badge_icon").eq(0).text(); //20221029delete
+ text = target.eq(i).children().not(".sidebox_badge_icon").eq(0).text().replace(/\t/g, '').replace(/\n/g, ''); //20221029add
if (text != build_time[key].base) {
continue;
}
tmpl = $('<div class="timeLeft">' + build_time[key].name +
'(<span id="' + key + '">' + build_time[key].text + '</span>) </div>').css('color', build_time[key].color);
target.eq(i).append(tmpl);
}
}
>>823
ありがとうございます
陣の方はあらゆる状況でも表示されるようになりました
同盟陣の方が城や村などの内政を選択すると消えてしまいます
>>824
こっちも変えないとダメでしたね。
さっきのとこのちょっと下です。
$sideboxBottom.find('div.basename li:not(.head)').each(function () {
- names.push($(this).children().not(".sidebox_badge_icon").eq(0).text()); //20221029delete
+ names.push($(this).children().not(".sidebox_badge_icon").eq(0).text().replace(/\n/g, '').replace(/\t/g, '')); //20221029add
});
>>825
ありがとうございます
表示するようになりました
助かりました
>>793
改造コードありがとうございます
12枚を指定したのですが、10枚引きをしてすぐ合成をしてしまい
残りの2枚は引かないようなのですが何か足りてないのでしょうか?;
>>827
大変申し訳ございません…
今日鬼旋風破陣関係で色々いじっていたら
10枚引きにも挙動おかしいことがあることに
気付いたんですが直すための時間をもう少し
ください。。。
>>828
お忙しいところすみません、気長にお待ちしていますのでよろしくお願いします
>>829
これでいけるはず、、、です。
count++;
});
//20221030addここから
+ tenShots = false;
+ if (!($('#TenShots').prop('disabled'))) {
+ if ($('#TenShots').prop('checked')) {
+ tenShots = true;
+ }
+ }
//20221030addここまで
if (!tenShots) {
t = '0';
(〜中略〜)
if (eval($('#ExcludeToku').prop('checked')))
excludeRarity.push('toku')
- if (eval($('#TenShots').prop('checked'))) //20221030delete
- tenShots = true; //20221030delete
}
(〜中略〜)
if (eval(localStorage.getItem('AutoSynthesis_ExcludeToku'))) $('#ExcludeToku').prop('checked', true);
- if (eval(localStorage.getItem('AutoSynthesis_TenShots'))) $('#TenShots').prop('checked', true); //20221030delete
+ if (localStorage.getItem('AutoSynthesis_TenShots')) $('#TenShots').prop('checked', true); //20221030add
if (Number($('#SenKujiNum').val()) == 10) {
自動強化でひと通り真壁対応の修正したが、ゲージが動かない・2回目の強化でエラー:合成失敗が出る。
どこで間違えたかな・・・。
>>831
真壁はちょっとまだ動かなくて、たぶんこれで
いけるだろうという修正はしたのですが
志半ばでLv10になってしまい確認できてないです…
2つずついきます。取引関連の機能追加です。
①取引ソートの前回の値を保存する機能に銅銭・銀銭とレアリティ除外条件も追加
②取引お気に入り検索でレアリティ除外条件も保存する機能を追加
③現在表示している銭種(銅銭/銀銭)と別の銭種を下に追加で表示するボタン追加
①の方は元々LocalStorageを使っているので一度本影切り替えたり
ログアウトしないと機能しないかもです。
②の方はあえて銅銭・銀銭を保存してないです。今開いてる銭種の
該当条件で検索します。
③の別銭種は2ページ以上ある場合は最初の1ページ目だけ持ってきます。
全ページを一気に読み込むと条件によっては鯖に高負荷になるからです。
プログラミングは本職じゃないのでバグ等あったら教えてください。
合戦ほぼ参加してないな・・・
①ー1
if (value) {
if (!value[1]) {
k_value = '';
} else {
k_value = '&k=' + value[1];
}
href = '/card/trade.php?t=' + value[0] + k_value + '&s=' + value[2] + '&o=' + value[3];
//20221030addここから
+ if (value.length > 4) {
+ var r5 = '', r4 = '', r3 = '', r2 = '', r1 = '';
+ if (value[5]) r5 = '&r' + encodeURIComponent('[5]') + '=5';
+ if (value[6]) r4 = '&r' + encodeURIComponent('[4]') + '=4';
+ if (value[7]) r3 = '&r' + encodeURIComponent('[3]') + '=3';
+ if (value[8]) r2 = '&r' + encodeURIComponent('[2]') + '=2';
+ if (value[9]) r1 = '&r' + encodeURIComponent('[1]') + '=1';
+ href = '/card/trade.php?m=' + value[4] + '&t=' + value[0] + k_value + '&s=' + value[2] + '&o=' + value[3] + r5 + r4 + r3 + r2 + r1;
+ }
//20221030addここまで
}
return href;
})();
①ー2
//取引 sortを保存
var tradeSortSave = function() {
$('#t').each(function() {
var t = $(this).val(),
k = $('#k').val(),
s = $('#s').val(),
o = $('#o').val();
//20221030add&deleteここから
+ var m = $('input[name="m"]').val();
+ var r = [];
+ for (var i = 1; i < 6; i++) {
+ r.push($('#rare' + i).prop('checked'));
+ }
- each_setting.card_trade_val = [t, k, s, o];
+ each_setting.card_trade_val = [t, k, s, o, m, r[0], r[1], r[2], r[3], r[4]];
//20221030add&deleteここまで
setStorage('ixamoko_each_setting', each_setting);
②ー1
function dealFavoriteSave() {
var s = [], v = [], key;
$('#t, #k, #s, #o').each(function(i) {
s[i] = $(this).children('option:selected').text() || $(this).val();
v[i] = $(this).val();
});
//20221030add&deleteここから
+ var m = $('input[name="m"]').val();
+ v.push(m);
+ if (m == 's') {
+ m = '銀銭';
+ }
+ else {
+ m = '銅銭';
+ }
+ s.push(m);
+ var array_rare = ['', '[序]', '[上]', '[特]', '[極]', '[天]'];
+ for (var i = 1; i < 6; i++){
+ var id_rare = '#rare' + i;
+ if ($(id_rare).prop('checked')) {
+ s.push(array_rare[i]);
+ v.push('rare' + i);
+ }
+ else {
+ s.push(array_rare[0]);
+ v.push(array_rare[0]);
+ }
+ }
- key = s[0] + ':' + s[1] + ' ' + s[2] + ':' + s[3]; //20221030delete
+ key = s[0] + ':' + s[1] + ' ' + s[2] + ':' + s[3] + ' 除外レア:' + s[5] + s[6] + s[7] + s[8] + s[9];
//20221030add&deleteここまで
favorites_trade[key] = v.join('/');
②ー2
function dealFavoriteUpdate() {
var value = $select.val().split('/');
- if (value.length !== 4) { //20221030delete
+ if (value.length !== 4 && value.length !== 10) { //20221030add
return;
}
$('#t, #k, #s, #o').each(function(i) {
$(this).val(value[i]);
});
//20221030addここから
+ if (value.length > 4) {
+ for (var i = 1; i < 6; i++) {
+ var id_rare = '#rare' + i;
+ if (value[i + 4]) {
+ $(id_rare).prop('checked', true);
+ }
+ }
+ }
//20221030addここまで
$('#button').trigger('click');
}
③ー1
'<input type="button" value="削除" id="deal_favoritedelete" style="margin-left: 5px;" />' +
+ '<input type="button" value="別銭" id="deal_favoriteanother" style="margin-left: 5px;" />' + //20221030add
'</div>'
(〜中略〜)
$('#deal_favoriteupdate').on('click', dealFavoriteUpdate);
+ $('#deal_favoriteanother').on('click', dealFavoriteAnother); //20221030add
dealFavoriteView();
③ー2
function dealFavoriteUpdate() {
(〜function内中略〜)
$('#button').trigger('click');
}
//別銭種を表示 20221030add
+ function dealFavoriteAnother() {
+ var m, t = '', k = '', s = '', o = '';
+ if($('input[name="m"]').val()) m = $('input[name="m"]').val();
+ if (m == 's') {
+ m = 'd';
+ }
+ else if (m == 'd') {
+ m = 's';
+ }
+ else {
+ m = '';
+ }
+ if($('#t').val()) t = $('#t').val();
+ if($('#k').val()) k = $('#k').val();
+ if($('#s').val()) s = $('#s').val();
+ if($('#o').val()) o = $('#o').val();
+ var data = {
+ m: m,
+ t: t,
+ k: k,
+ s: s,
+ o: o
+ };
+ $.ajax({
+ type: 'post',
+ url: '/card/trade.php',
+ data: data,
+ beforeSend: xrwStatusText,
+ }).then(function(html) {
+ $(html).find('tr.fs12').each(function() {
+ $(this).find('td').eq(4).html($(this).find('td').eq(4).html().replace(/銀銭/g, '<span style="color:#557799;">★銀銭</span>'));
+ $(this).find('td').eq(4).html($(this).find('td').eq(4).html().replace(/銅銭/g, '<span style="color:#885533;">銅銭</span>'));
+ $('table.common_table1').append($(this));
+ });
+ }, null);
+ }
//20221030ここまで
}
すみません、③ー2の
o: o
の後ろにカンマ「,」つけないと、動くけどmokoがエラー吐きますね…
+ o: o,
あと、AutoSynthesisの真壁対応たぶんこれでできたと思います。
lv = 0,
exp_info = 0,
exp_bar_width = "0%";
//20221030addここから
+ let title_text = $title.text().match(/\s/g);
+ if (title_text !== null) {
+ if (title_text.length >= 2) {
+ title_text = $title.text().replace(/(.*)LV\d+/, '');
+ name = title_text.match(/([^LV\s]+)LV/);
+ }
+ }
//20221030addここまで
https://i.gyazo.com/df5562ada0f7e5bb3ad2f8978dc45431.png
改修者様
このような自分の陣が探しやすくする機能をmokoで再現できませんでしょうか?
宜しくお願いしますm(._.)m
>>841
課金すればよろし
>>842
課金したら出る機能かと思ってたけどコード調べたら
mokoの機能だったみたいです。
地図画面で左上にある自分の名前クリックしたら拠点にマークが
出ると思います。
>>839 の③ー2で別銭種の出品が無い場合何も出ない(正常動作)ので
出品がなかった場合メッセージが出るようにしました。お好みで追加ください。
//別銭種を表示 20221030add
function dealFavoriteAnother() {
- var m, t = '', k = '', s = '', o = ''; //20221101delete
+ var m, m_text, t = '', k = '', s = '', o = ''; //20221101add
if($('input[name="m"]').val()) m = $('input[name="m"]').val();
if (m == 's') {
m = 'd';
+ m_text = '銅銭'; //20221101add
}
else if (m == 'd') {
m = 's';
+ m_text = '銀銭'; //20221101add
}
else {
m = '';
+ m_text = '別銭種'; //20221101add
}
if($('#t').val()) t = $('#t').val();
if($('#k').val()) k = $('#k').val();
if($('#s').val()) s = $('#s').val();
if($('#o').val()) o = $('#o').val();
var data = {
m: m,
t: t,
k: k,
s: s,
o: o,
};
$.ajax({
type: 'post',
url: '/card/trade.php',
data: data,
beforeSend: xrwStatusText,
}).then(function(html) {
+ if ($(html).find('tr.fs12').length) { //20221101add
$(html).find('tr.fs12').each(function() {
$(this).find('td').eq(4).html($(this).find('td').eq(4).html().replace(/銀銭/g, '<span style="color:#557799;">★銀銭</span>'));
$(this).find('td').eq(4).html($(this).find('td').eq(4).html().replace(/銅銭/g, '<span style="color:#885533;">銅銭</span>'));
$('table.common_table1').append($(this));
});
+ } //20221101add
+ else { //20221101add
+ moko_alert(m_text + 'の出品はありません'); //20221101add
+ } //20221101add
}, null);
}
//20221030ここまで
}
>>829
合戦と仕事でお返事遅れてすみません
無事できました!ありがとうございます!
>>842 はピクシーの画面だな
常時自分の陣が目立つようになってて便利だけど
mokoでは難しいかもな
何度もすみません、使ってる方居たらですが、
取引で別銭を表示する機能でdataの書き方が
イケてなかったみたいなので直しました。
あと現銭種で出品無いけど別の方は有る場合が
動かなかったのでそこも直しました。
色々直して+と-で書いてたらぐちゃぐちゃに
なってきたので完成品だけ置いておきます。
この部分↓から
//別銭種を表示 20221030add
function dealFavoriteAnother() {
〜〜〜
}, null);
}
}
この部分↑までのfunctionをそっくり削除して
下記新しいので上書いてください。
//別銭種を表示 20221030add
function dealFavoriteAnother() {
var m_id, m = [], t = '', k = '', s = '', o = '',
m_text = ['銅銭の', '銀銭の', '別銭種の'];
if($('input[name="m"]').val()) m_id = $('input[name="m"]').val();
if (m_id == 's') {
m = ['d', m_text[0], m_text[1]];
}
else if (m_id == 'd') {
m = ['s', m_text[1], m_text[0]];
}
else {
m = ['', m_text[2], m_text[2]];
}
if($('#t').val()) t = $('#t').val();
if($('#k').val()) k = $('#k').val();
if($('#s').val()) s = $('#s').val();
if($('#o').val()) o = $('#o').val();
var data = { m: m[0], t, k, s, o }
$.ajax({
type: 'post',
url: '/card/trade.php',
data: data,
beforeSend: xrwStatusText,
}).then(function(html) {
if ($(html).find('tr.fs12').length) {
$(html).find('tr.fs12').each(function(i) {
$(this).find('td').eq(4).html($(this).find('td').eq(4).html().replace(/銀銭/g, '<span style="color:#557799;">★銀銭</span>')
.replace(/銅銭/g, '<span style="color:#885533;">銅銭</span>'));
if (!($('table.common_table1').length)) {
if (i == 0) {
var $p_nothing = $('div.ig_decksection_innermid').find('p.red:last');
$p_nothing.text(m[2] + $p_nothing.text().replace(/現在入札可能な/, ''));
$('div.ig_decksection_innermid').append('<table class="common_table1 center mt10 tarade_table">');
$('table.common_table1').append($(this).parents().find('tr.fs10'));
}
}
$('table.common_table1').append($(this));
});
}
else {
moko_alert(m[1] + '出品はありません');
}
}, null);
}
}
//2022.11
"防.和戦方略.A": ["防.和戦方略.A","防.和戦方略.A","特.朧雲ノ蓮撃.S","防.戦陣 凪.A","防.戦陣 凪.A"],
"攻.孤炎.A": ["特.戦陣 破軍.A","攻.孤炎.A","攻.孤炎.A","特.覚悟十躰.A","攻.騎聖.A"],
"防.聖光ノ遊星.S": ["防.三千世界神将.SS","特.八重言代主神.SS","特.神屋楯比売命.SS","特.高津姫神.SS","防.錘焔ノ空帯.S"],
"攻.麗将車懸.S": ["攻.救天慈愛.S","攻.救天慈愛.S","攻.麗将車懸.S","攻.麗将車懸.S","攻.天津甕星ノ雷.SS"],
"特.南竜咆哮.C": ["特.南竜咆哮.C","特.南竜咆哮.C","妙眼剛力","虎切刀","覇・一期一振"],
"攻.虎将ノ朱翼.C": ["攻.虎将ノ朱翼.C","攻.虎将ノ朱翼.C","攻.土佐ノ英知.C","攻.騎迅強襲.B","攻.騎迅強襲.B"],
"防.忠義ノ銃壁.C": ["防.忠義ノ銃壁.C","防.忠義ノ銃壁.C","防.千年鳳凰.B","防.武勇鬼神ノ如し.A","防.愛染王法.B"],
//合成専用
"防.戦陣 凪.A": ["..","..","..","防.海神ノ浮船.SS",".."],
すまぬ、これ間違い
(誤)
"特.南竜咆哮.C": ["特.南竜咆哮.C","特.南竜咆哮.C","妙眼剛力","虎切刀","覇・一期一振"],
(正)
"特.南竜咆哮.C": ["特.南竜咆哮.C","特.南竜咆哮.C","特.妙眼剛力.C","特.虎切刀.C","特.覇・一期一振.A"],
これも合成専用に追加
"特.天宇受売命.SSS": ["..","..","..","特.天宇受売命.SSS",".."],
また一括兵士訓練が出来なくなってる
本領空き地右クリックで建設する施設の候補も出なくなってる
果心異境時の「地図」がクルクル回るのも鬱陶しかったな
>>851
統一戦中はサイドメニューが変わるので動かなくなってるみたいです。
手抜きで申し訳ないけど、以下の感じで動くと思います。
getCapital: function () {
let vid = $('#sideboxBottom').find('div.my_capital').find('li:first').attr('data-village_id');
if ( ! vid ) {
vid = $('#sideboxBottom').find('div.my_country').find('li:first').attr('data-village_id');
}
return Util.getVillageById(vid);
},
>>840
ありがとうございます
真壁スキルエラーなく強化できました
試した限り、他スキルも問題なしでした
スキルテーブルも助かります
>>853
一括練兵復活しました、ありがとうございます
>>852
クロノスが一度やられた、9月上旬のメンテからその状態だったと思われます
私は手出せてない状況です
https://gyazo.com/6a0c341a884a811d9ac9f450c1325c77
https://gyazo.com/78f4bbd681872d652b024619e6a9352f
こんな状態、改善策を教えてください。
>>855 の上の方は >>719 と同じじゃないかな?
答えはその下何個か読めば分かると思いますが...
下の方は、チャットの拡大をやめればとりあえず見切れしない。
敵襲表示もしない人なのでやる気なしですまん。
地図はmarginで調整と719辺りでありましたけどmarginだと
どうもうまくいかなくてpaddingの上下を0にしてとりあえず
おさめました。
'#moko_map_control_box { position: relative; float: left; width: 748px; margin: -26px 0 6px 10px; padding: 0 10px 0 10px; background-color: 〜〜〜
ヘッダーはそもそも#header.with_face_profileのcss設定が無かったので
チャット欄拡大してるなら高さだけでも追加しないとですね。
/* Header */
'#open_setting { 〜〜〜
'#header.with_face_profile { height: 112px}' +
ちなみにchromeならCtrl+Shift+iでデベロッパーツール開いて
左上のマウスポインタアイコンから調べたい所をクリックすると
要素の情報が視覚的に見れたり実際に高さとか変えたら
どんな風に見えるかまで試せるのであとはmokoで
要素名で検索して中身変えるか、無かったら追加ですね。
修正いつもありがとうございます!
一括訓練ですが本城主では動くようになりましたが、影城主では止まってしまいます。
自分だけでしょうか?
>>847
試しに取り込ませていただきましたが、別銭で表示した後は武将名の画像へのリンクと
mokoの右クリック検索が効かなくなりますね
取り込みミスあったらすいません
>>859 ですが、すみません。。。
本影でブラウザ変えてやってるんですが、本で使ってる方で影に切り替えたら動きました。
何が悪さしてるかわかんないですが、こんなこともあるんですねー。
すみませんでしたー
>>861
全般2 サイドボックスの拠点をソート のチェック外したらいいかも
すみません仕事してました。
ソースとコンソールみてたらmoko設定の兵舎>デフォルト兵種に最大訓練可能数リンクを設置する に
チェックしてるとエラーになりますね。n番目の要素を拾ってくるってロジックなんですが
これにチェックしてると(ちゃんと数えてないですが)要素数が増えて値が取れず
その後の文字列match処理で落ちてます。
mokoの設定はブラウザごとなので、ブラウザなり端末なり変えて動いたのはそのせいではないでしょうか?
>>860
ああっ!そうですね、別銭ページを裏で取ってきて
それをそのまま下に挿入してるのでmokoで追加された機能は
付加されてないですね…。
ちょっと改修しますのでしばらくお待ち下さい。。。
>>863 は>>861 さんへです。
要はボタンの上のテーブルの列が増えてるのでn番目の位置が変わってるんだと推測してます。
ちゃんと見てなくてすみませんが多分最大訓練可能数の数値を取ってくるところです。
恒久対応はチェック有り無しで参照してる要素の部分を条件分岐するくらいですが
直ったらまた書き込みます。
一括兵士訓練のデフォルト兵種に〜〜のチェック有無どちらでも
動くようにしました。これでも動かないなら他に原因あると思うので
また教えてください。
function getBarracksState(event) {
nowLoading();
Info.title('情報を取得中...');
var target = $(event.target).closest('div');
//var source = target.find('span').eq(2).attr('onClick');
- var source = target.find('span').eq(target.find('span').length - 1).attr('onClick');
+ var len = 1;
+ if (options.facility_maxsoldier) len = 4;
+ var source = target.find('span').eq(target.find('span').length - len).attr('onClick');
var quantity = parseInt(target.find('input[id^="unit_value"]').val()) || null;
var str = sQuotesMatch(source, 0);
>>840
うちでも真壁のスキル強化が
エラーなくできました
ありがとうございます。
>>848
スキルテーブル
ありがとうございます
>>840
ありがとうございます。
スキル除外欄のテキストが
保存されず
ページ更新や次のスキル強化をしたときに
元に戻るようになったのは
うちの環境だけでしょうか?
>>868
スキル除外欄は私のは大丈夫ですね。
ローカルストレージに保管しているので
そのあたりかもです。
デベロッパーツールの上のタブの
アプリケーション→ローカルストレージで
中身見ながらやってみるといいかもです。
>>866
>>563 の修正はどうするの?
var source = target.find('span[onClick^="setObjectValue"]').attr('onClick');
>>837 の除外チェックの
$(id_rare).prop('checked', true);
別除外のソートに切り替えるとどんどん増えない?
あ、すみません563見逃してました。
563でいいです。
別除外のソートに切替えるとどんどん増えるとは
どういうことでしょうか?
条件が違えば表示される結果は違いますし
そのままの動きしてると思いますが…
どういう使い方をしてるか分かりませんが、
例えば
武将名無し入札件数降順天のみと
武将名無し入札件数降順極のみは
分けて保存されるようになってます。
あ、checkedを外した時の動きのことですかね?
ご指摘の通りです、ありがとうございます。これ追加です。
if (value[i + 4]) {
$(id_rare).prop('checked', true);
}
+ else {
+ $(id_rare).prop('checked', false);
+ }
>>853
これを何処かに付け加えれば良いのでしょうか?ちょっとわからなくて教えて頂きたいです。
宜しくお願いします。
>>873
ixa-training.user.jsにあります。私はgetVillageCurrent:の上あたりに
入れてます。
ちなみにif文足さなくても.find('div.my_capital, div.my_country')で
いけると思います。
>>874 さん
出来ました。本当にありがとうございました。
これは統一戦が終わると元に戻す感じでしょうか?それとも通常戦でもこのままで大丈夫なのでしょうか?
>>875
現状は通常戦統一戦両方網羅してるので終わってもそのままで大丈夫です。
アプデとかで変な変更あったらまたここで話題になると思います。
>>860
別銭の右クリックは
beforeSend: xrwStatusText,
の下に
complete: cardTool
を一行追加するだけでたぶん動くはずです。
武将名のリンクで画像が出るはず方は今日ずっと頑張ってたのですが
そもそも銅銭と銀銭でURLが違う(?の後のm=dとかsのところ)ので、
簡単ではなさそうです。データとしては持ってきているので
どうにか表示する方法はありそうなんですが、、、
スマートフォン版
掲示板管理者へ連絡
無料レンタル掲示板