したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | メール | |
レス数が900を超えています。1000を超えると投稿できなくなるよ。

戦国IXA ツールスレPart48

179名無しさん:2023/03/13(月) 07:20:21 ID:iOR7Vu4I
さらにダブルアップを色々動かしていて、ダブルとトリプル〜クインティプルを纏めた方が良いことに気づきました
考慮不足ですみません
>>171はそのままで良くて、>>172>>175)と>>173-174を差し替えです
何回かに分けます

まず>>172から
createTooltip = function(e, data, title, href) {
var $tooltip = display_tooltip(e.pageX, e.pageY, 30).html('<li id="selection_tile">' + title + '</li>');
+ var bonus = getStorage(null, 'ixamoko_userbonus'); // ←ここ1行だけ追加、>>172で追加してたらOK
for (var i = 0; i < data.length; i++) {
<少し略、ダブルアップのidだけ変更>
// ダブルアップ
if (options.facility_tool_mod === '0' && mod != '建設追加不可' && mod != '資源不足' && mod != '蔵の容量不足' && mod != '条件不足') {
html = '';
if (mod == '建設') {
- html += '<li id="exe_double_' + i + '" url="' + data[i].url + '" mod="' + mod + '" ' + 'name="' + data[i].unit + '">建設+レベルアップ</li>';
+ html += '<li id="exemulti_double_' + i + '" url="' + data[i].url + '" mod="' + mod + '" ' + 'name="' + data[i].unit + '">建設+レベルアップ</li>';
$('#exe_normal_' + i).after(html);
} else if (mod != '最大レベルです' && mod != 'この建物は削除中です') {
- html += '<li id="exe_double_' + i + '" url="' + data[i].url + '" mod="' + mod + '" ' + 'name="' + data[i].unit + '">レベルアップ×2</li>';
+ html += '<li id="exemulti_double_' + i + '" url="' + data[i].url + '" mod="' + mod + '" ' + 'name="' + data[i].unit + '">レベルアップ×2</li>';
$tooltip.append(html);
}
}
<ここから追加(+マーク省略)、>>172を追加していたら//トリプルアップ〜//クインティプルアップまでを差し替え、>>175>>172を消していたら>>175の同じ部分を丸ごと差し替え>
// トリプル・クアドラプル・クインティプルアップ
var id_text = ['double', 'triple', 'quadruple', 'quintuple'];
for (var j = 0; j < 3; j++) {
if (bonus.constructreserve > j) {
if (options.facility_tool_mod === '0' && mod != '建設追加不可' && mod != '資源不足' && mod != '蔵の容量不足' && mod != '条件不足') {
html = '';
if (mod == '建設') {
html += '<li id="exemulti_' + id_text[j + 1] + '_' + i + '" url="' + data[i].url + '" mod="' + mod + '" ' + 'name="' + data[i].unit + '">建設+レベルアップ×' + (j + 2) + '</li>';
$('#exemulti_' + id_text[j] + '_' + i).after(html);
} else if (mod != '最大レベルです' && mod != 'この建物は削除中です') {
html += '<li id="exemulti_' + id_text[j + 1] + '_' + i + '" url="' + data[i].url + '" mod="' + mod + '" ' + 'name="' + data[i].unit + '">レベルアップ×' + (j + 3) + '</li>';
$tooltip.append(html);
}
}
}
}
<ここまで追加>
}

180名無しさん:2023/03/13(月) 07:22:32 ID:iOR7Vu4I
次に実行部分です
その①
$('li[id^="exe_double_"]').on('click', function() {
・・・
}); を全部/* 〜 */でコメントアウト

$('li[id^="exemulti_"]').on('click', function() {
・・・
}); も>>173-174で追加してたら全部/* 〜 */でコメントアウト
<コメントアウトの後に追加(+マーク省略)>
// ダブル・トリプル・クアドラプル・クインティプルアップ
$('li[id^="exemulti_"]').on('click', function() {
var mode = $(this).attr('id').split('_')[1],
unit_name = $(this).attr('name'),
search1 = $(this).attr('url'),
search2 = href,
str_1, str_2, str_3, str_4, str_5;
var get_error_reason = function(html) {
var $img = $(html).find('img[src$="btn_lvup2.png"], img[src$="btn_construct.png"], img[src$="btn_lvup.png"]');
var btn_text = $(html).find('div.ig_tilesection_btnarea_left').text();
var pay_text = $(html).find('div.ig_tilesection_pay').text();
var word = $img.length ? $img.attr('alt') : btn_text.replace(pay_text, '').trim();
var err;
if (word.indexOf('次の条件が必要です') != -1) {
err = '条件不足';
} else if (word == '資源が不足しています') {
err = '資源不足';
} else if (word == '蔵の容量が不足しています') {
err = '蔵の容量不足';
} else if (word == 'これ以上、建設準備を追加できません') {
err = '建設追加不可';
} else if (word.indexOf('最大レベルです') != -1) {
err = '最大レベルです';
} else if (word.indexOf('この建物は削除中です') != -1) {
err = 'この建物は削除中です';
} else {
err = '不明なエラー';
}
return err;
},
next_construct = function(unit_name, str_2, str_3, str_4, str_5, url, idx) {
$.ajax({
type: 'post',
url: '/facility/' + url,
beforeSend: xrwStatusText,
}).then(function() {
if ((idx == 2 && mode == 'double') ||
(idx == 3 && mode == 'triple') ||
(idx == 4 && mode == 'quadruple') ||
idx == 5) {
return setTimeout(Info.title, 300, '完了', location.pathname);
}
else {
setTimeout(search_construct, 300, unit_name, str_2, str_3, str_4, str_5, idx + 1);
}
}, null);
},

181名無しさん:2023/03/13(月) 07:23:31 ID:iOR7Vu4I
その②
search_construct = function(unit_name, str_2, str_3, str_4, str_5, idx) {
$.ajax({
type: 'get',
url: search2,
beforeSend: xrwStatusText,
}).then(function(html) {
var url = $(html).find('div.ig_tilesection_btnarea_left > a').attr('href');
if (url) {
switch (idx) {
case 2:
Info.log(unit_name + 'を' + str_2 + '中...');
break;
case 3:
Info.log(unit_name + 'を' + str_3 + '中...');
break;
case 4:
Info.log(unit_name + 'を' + str_4 + '中...');
break;
case 5:
Info.log(unit_name + 'を' + str_5 + '中...');
break;
}
setTimeout(next_construct, 300, unit_name, str_2, str_3, str_4, str_5, url, idx);
return true;
} else {
var err_reason = get_error_reason(html);
var err_word;
switch (idx) {
case 2:
err_word = str_2;
break;
case 3:
err_word = str_3;
break;
case 4:
err_word = str_4;
break;
case 5:
err_word = str_5;
break;
}
Info.ng(unit_name + 'の' + err_word + 'は実行できません 原因:' + err_reason);
setTimeout(Info.title, 300, '異常終了', location.pathname);
return false;
}
}, null);
},
first_construct = function(unit_name, str_1, str_2, str_3, str_4, str_5) {
$.ajax({
type: 'post',
url: search1,
beforeSend: xrwStatusText,
}).then(function() {
Info.log(unit_name + 'を' + str_1 + '中...');
setTimeout(search_construct, 300, unit_name, str_2, str_3, str_4, str_5, 2);
}, null);
};
if ($(this).attr('mod') == '建設') {
str_1 = '建築';
str_2 = 'レベルアップ';
str_3 = 'レベルアップ×2';
str_4 = 'レベルアップ×3';
str_5 = 'レベルアップ×4';
} else {
str_1 = 'レベルアップ';
str_2 = 'レベルアップ×2';
str_3 = 'レベルアップ×3';
str_4 = 'レベルアップ×4';
str_5 = 'レベルアップ×5';
}
nowLoading();
Info.title('IXAmoko ダブルアップ建設');
return first_construct(unit_name, str_1, str_2, str_3, str_4, str_5);
});
<ここまで追加>
return processing_tooltip($tooltip, e);
};

182名無しさん:2023/03/13(月) 15:18:04 ID:B.F7Xd/w
iOR7Vu4Iさん、いつもありがとうございます。

>>167以降の修正、こんな感じですかね?抜け・ミスあったらすみません。
https://writening.net/page?JJkacj
パス:193

余談ですが、トリプルアップ以降の操作をmoko設定→内政→ 右クリックでツールチップを表示する でON・OFF切り替えられたら良いですね。

183名無しさん:2023/03/13(月) 17:06:18 ID:iOR7Vu4I
>>182さん
まとめありがとうございます
見た感じ合ってます
①moko設定の内政のツールチップのところに今回の部分の選択肢を追加しました

case 'facility_tool':
mod = options.facility_tool_mod;
list = {
0: 'ダブルアップ操作を追加',
- 1: '通常操作'
+ 1: 'トリプルアップ以上の操作も追加',
+ 2: '通常操作'
};
setting_list += this.createList(key, '', list, mod);
break;
case 'def_num_of_soldier':
<〜中略、createTooltip = function(e, data, title, href) {内〜>
// ダブルアップ
- if (options.facility_tool_mod === '0' && mod != '建設追加不可' && mod != '資源不足' && mod != '蔵の容量不足' && mod != '条件不足') {
+ if ((options.facility_tool_mod === '0' || options.facility_tool_mod === '1') && mod != '建設追加不可' && mod != '資源不足' && mod != '蔵の容量不足' && mod != '条件不足') {
html = '';
if (mod == '建設') {
<〜少し略〜>
// トリプル・クアドラプル・クインティプルアップ
var id_text = ['double', 'triple', 'quadruple', 'quintuple'];
for (var j = 0; j < 3; j++) {
if (bonus.constructreserve > j) {
- if (options.facility_tool_mod === '0' && mod != '建設追加不可' && mod != '資源不足' && mod != '蔵の容量不足' && mod != '条件不足') {
+ if (options.facility_tool_mod === '1' && mod != '建設追加不可' && mod != '資源不足' && mod != '蔵の容量不足' && mod != '条件不足') {
html = '';
if (mod == '建設') {

184名無しさん:2023/03/13(月) 17:07:06 ID:iOR7Vu4I
②実行部分でswitchしているところが1行でできてました
$('li[id^="exemulti_"]').on('click', function() {内です

search_construct = function(unit_name, str_2, str_3, str_4, str_5, idx) {
$.ajax({
type: 'get',
url: search2,
beforeSend: xrwStatusText,
}).then(function(html) {
var url = $(html).find('div.ig_tilesection_btnarea_left > a').attr('href');
if (url) {
- switch (idx) {
- case 2:
- Info.log(unit_name + 'を' + str_2 + '中...');
- break;
- case 3:
- Info.log(unit_name + 'を' + str_3 + '中...');
- break;
- case 4:
- Info.log(unit_name + 'を' + str_4 + '中...');
- break;
- case 5:
- Info.log(unit_name + 'を' + str_5 + '中...');
- break;
- }
+ Info.log(unit_name + 'を' + eval('str_' + idx) + '中...');
setTimeout(next_construct, 300, unit_name, str_2, str_3, str_4, str_5, url, idx);
return true;
} else {
var err_reason = get_error_reason(html);
- var err_word;
- switch (idx) {
- case 2:
- err_word = str_2;
- break;
- case 3:
- err_word = str_3;
- break;
- case 4:
- err_word = str_4;
- break;
- case 5:
- err_word = str_5;
- break;
- }
- Info.ng(unit_name + 'の' + err_word + 'は実行できません 原因:' + err_reason);
+ Info.ng(unit_name + 'の' + eval('str_' + idx) + 'は実行できません 原因:' + err_reason);
setTimeout(Info.title, 300, '異常終了', location.pathname);
return false;
}
}, null);
},

185名無しさん:2023/03/14(火) 00:15:31 ID:xr9cUW3.
ID:iOR7Vu4Iさん、ID:B.F7Xd/wさん有り難うございます。
帰宅、今状態ですので週末にでも組み込ませていただきます。感謝ですっ。

186名無しさん:2023/03/14(火) 13:56:27 ID:xr9cUW3.
公式の提供するミニマップ機能めっちゃ使いにくいですね。
盟主座標の確認も出来ませんし。
mokoのミニマップ機能と何とか切り替えできないものでしょうか。
見識のある方いらっしゃいましたら何卒ご助言の程お願いいたします。

187名無しさん:2023/03/16(木) 16:24:37 ID:nG3yw0ZE
質問です、よろしくお願いいたします。
ワールド9-15鯖だけ右横に部隊行動状態(秘境とか待機とか時間が出るもの)がありません。
見える(出す)にはどうすればよいでしょうか、教えてください。

188名無しさん:2023/03/16(木) 16:56:57 ID:iOR7Vu4I
// 戦国のホワイトデー作戦2023
"防.重めな正室.S": ["防.重めな正室.S", "防.重めな正室.S", "特.戦陣 破軍.A", "防.戦陣 凪.A", "防.籠城の妙技.A"],

189名無しさん:2023/03/16(木) 19:33:16 ID:iOR7Vu4I
合戦格付表のカンマ区切りが効いてないのがあったのと同盟総武功の同盟名と盟主のリンクで飛べないものがあったので修正

if (location.pathname === '/war/war_alliance_ranking.php' || location.pathname === '/war/war_ranking.php') {
var $td = ($('#ig_battle_report_top').text().indexOf('天下統一戦') === -1)
+ ? (location.pathname === '/war/war_alliance_ranking.php'
+ ? (location.search.indexOf('total_bukou') === -1
? $('#ig_battle_table td:nth-child(n+4)')
+ : $('#ig_battle_table td:nth-child(n+5)'))
+ : $('.ig_battle_table td:nth-child(n+4), .war_ranking_special_table tr:nth-child(2n+1)>td:nth-child(5)'))
: $('.ig_battle_table tr:nth-child(2n+4)>td:nth-child(n+5), .ig_battle_table tr:nth-child(2n+5)>td');
$td.each(function(){$(this).html($(this).html().replace( /(\d)(?=(\d\d\d)+(?!\d))/g, '$1,'));});
}

190名無しさん:2023/03/16(木) 20:01:29 ID:iOR7Vu4I
すみません、どうせなら国別と天下の格付もカンマあった方がいいですよね
>>189はこれに差し替えさせてください

- if (location.pathname === '/war/war_alliance_ranking.php' || location.pathname === '/war/war_ranking.php') {
+ if (location.pathname === '/war/war_alliance_ranking.php' || location.pathname === '/war/war_ranking.php' || location.pathname === '/user/ranking.php') {
var $td = ($('#ig_battle_report_top').text().indexOf('天下統一戦') === -1)
+ ? (location.pathname === '/war/war_alliance_ranking.php'
+ ? (location.search.indexOf('total_bukou') === -1
? $('#ig_battle_table td:nth-child(n+4)')
+ : $('#ig_battle_table td:nth-child(n+5)'))
+ : (location.search.indexOf('c=0') === -1
+ ? $('.ig_battle_table td:nth-child(n+4), #ranking_table td:nth-child(n+4), .war_ranking_special_table tr:nth-child(2n+1)>td:nth-child(5)')
+ : $('.ig_battle_table td:nth-child(n+4), #ranking_table td:nth-child(n+5), .war_ranking_special_table tr:nth-child(2n+1)>td:nth-child(6)')))
: $('.ig_battle_table tr:nth-child(2n+4)>td:nth-child(n+5), .ig_battle_table tr:nth-child(2n+5)>td');
$td.each(function(){$(this).html($(this).html().replace( /(\d)(?=(\d\d\d)+(?!\d))/g, '$1,'));});
}

191名無しさん:2023/03/16(木) 20:16:56 ID:iOR7Vu4I
なお、if文のところに|| location.pathname === '/alliance/list.php'を入れれば同盟総合とかにもカンマ入りますがテーブルのレイアウトが結構崩れるのでオススメしません
お好みで試しに入れてみて嫌だったら外してください

192名無しさん:2023/03/17(金) 02:39:32 ID:xr9cUW3.
>>190まで取り込ませていただき安定稼働している模様です。皆様有り難うございました。

193名無しさん:2023/03/17(金) 18:39:34 ID:iOR7Vu4I
>>122
遅くなりましたが、合成確率アップのページャーは諦めました
2ページ目以降を取得するためにリクエストの値を設定したのですが、ポップアップを開く時と全く同じリクエストを送っても公式の方はokとdataが返ってくるのに自作の方はngが返ってきます
alertみたいな通信も発生していたので怖くなってやめました
実現できずすみません

194名無しさん:2023/03/17(金) 21:57:39 ID:1VX6W3Wo
>>193さん
とんでもございません。本当にありがとうございました。
お忙しい中、無理難題を言いまして申し訳ございませんでした。

195名無しさん:2023/03/18(土) 10:38:29 ID:iOR7Vu4I
>>187
mokoには鯖によって挙動が変わるところはほとんどないです(少しあるにはあります)
部隊状況は鯖によって変わるところではないので、mokoそのものが動作してるか確認する、ブラウザを変える等の別の切り口で原因を探すのが良いのではないでしょうか

196名無しさん:2023/03/18(土) 17:17:54 ID:iOR7Vu4I
蔵、陣屋で金を使ってレベルを上げる時に404エラーが出ていたので修正しました
ついでにその場合は右クリックメニューも出なくしました

$('#mapOverlayMap > area').contextmenu(function(e) {
e.preventDefault();
if ($(this).attr('href') == '#') {
return;
}
+ if (/蔵|陣屋/.test($(this).attr('title')) && parseInt($(this).attr('title').slice(-1)) > 7) {
+ return;
+ }
var href = (login_data.chapter < 20)
? '/' + $(this).attr('href')
: $(this).attr('href') ? '/' + $(this).attr('href') : '/' + $(this).attr('onclick').toString().split(',')[7].replace(/'/g, "").trim(),
title = $(this).attr('title'),
data = getFacilityStatus(href);
return createTooltip(e, data, title, href);
});
}
// 内政 操作方法
function operationMethod() {
if (!options.operation_method_19 || location.pathname != '/village.php') {
return;
}
$('#mapOverlayMap area[onclick]').each(function(){
+ if (/蔵|陣屋/.test($(this).attr('title')) && parseInt($(this).attr('title').slice(-1)) > 7) {
+ return true;
+ }
$(this)
.attr('href', $(this).attr('onclick').toString().split(',')[7].replace(/'/g, "").trim())
.removeAttr('onclick');
});
}

197名無しさん:2023/03/18(土) 17:33:25 ID:iOR7Vu4I
>>187
moko設定の地図>部隊行動状況を表示する にチェックは入ってますか?

198名無しさん:2023/03/18(土) 20:50:09 ID:xr9cUW3.
>>196 ID:iOR7Vu4I さん。ご提示有り難うございました。無事動作しています。

199名無しさん:2023/03/19(日) 00:54:05 ID:nG3yw0ZE
187です。
195さん197さんありがとうございます!
ブラウザを更新して部隊行動状況を表示するにチェックを入れたら直りました!
感謝感謝です…!ありがとうございました!

200名無しさん:2023/03/19(日) 13:59:07 ID:iOR7Vu4I
みなさん合戦時の地図画面のmokoのマップコントロールボックス出てます?
私が取り入れそびれてるだけかもしれませんが以下で出すようにしました
陣破壊で戦功50とかのテーブルは要らないので消しました
既に見えてる方は以下は不要です

+ if ($('div.war_handicap_meterarea').length) {
+ $('table#act_battle_data').before(html);
+ $('table#act_battle_data').hide();
+ }
+ else {
$('div[class^="new_worldmap_block"]').after(html);
+ }
$('#map_textarea, #map_statusbox').css('margin-top', '0px');

var $moko_map_menu = $('#moko_map_menu');

201名無しさん:2023/03/19(日) 15:44:19 ID:xr9cUW3.
>>200 ID:iOR7Vu4I さん
ご対応を有り難うございます。私が>>186で相談させて戴いた内容がこの改修で完璧に解消されました。
感謝しております。

202名無しさん:2023/03/19(日) 19:54:26 ID:1VX6W3Wo
>>200さん、ありがとうございます。
マップのコントロールボックスとはどの部分になるのでしょうか?
採用させて頂いたのですが、何処の部分の改修になるのかが分かりませんでした><

203名無しさん:2023/03/19(日) 20:06:28 ID:1VX6W3Wo
>>202確認不足でした。
強襲専用の部分が表示されるようになっていました。お騒がせしました。

204名無しさん:2023/03/20(月) 01:27:48 ID:iOR7Vu4I
>>203
「地図」で開いた全体マップの下に出てくる黒くて横に長いやつです
価値 ★1 資源 ・・・
ってのが表示されているところです

205名無しさん:2023/03/20(月) 19:34:41 ID:1VX6W3Wo
>>204さん
あ、そこの部分なのですね。ありがとうございます。

206名無しさん:2023/03/20(月) 20:51:35 ID:xr9cUW3.
今晩は。
上手く説明出来ないのですが、地図画面で任意のポイントに出撃させようとすると「ずるっと」という感じで地図画面がズレるというか描画し直す様な状況がたまに発生します。
この話題昔も出た様な気がしますが良き改善案はございませんでしょうか。
どうぞ宜しくお願いいたします。

207名無しさん:2023/03/20(月) 21:53:01 ID:xr9cUW3.
>>206 事象の発生方法がおおよそ判りました。地図画面でマウスで地図をドラッグした場合に発生します。

208名無しさん:2023/03/20(月) 22:07:05 ID:xr9cUW3.
敵襲表示時に[この敵襲をチャットへ入力]にマウスオーバーさせると[異名未設定]が表示され(自分は異名を設定しています)、
かつ他の画面に遷移させないとこの[異名未設定]が消えてくれない模様です。
https://imgur.com/kZTasnf
どなたか解消方法をご存じでしたらご教授戴けませんでしょうか。宜しくお願いいたします。

209名無しさん:2023/03/21(火) 01:29:56 ID:iOR7Vu4I
>>206
過去スレPart45の507あたりに同じような書き込みがあったのでその周辺を見てみてはいかがでしょうか

もしくはうろ覚えですが画面上部分の高さを変えていてもなっていたような記憶があります
mokoの1番最後の方のcssを設定している部分で#headerや#status、#status_leftあたりのheightを疑ってみるのもいいかもしれません

お持ちのソースがどうなっているか分からないため具体策出せずにすみません

210名無しさん:2023/03/21(火) 04:49:21 ID:xr9cUW3.
>>209 ID:iOR7Vu4I さん。貴重なご助言を有り難うございます。あたってみます。

211名無しさん:2023/03/21(火) 05:54:24 ID:iOR7Vu4I
>>208
異名は城主名のリンクのマウスオーバーで出ているのだと思います
なぜ消えないのかは分かりませんが確実に消すなら
function allPageCheck()内のremoveBushodrama();の下あたりに
$('a.other_name_popup_link').on('mouseout', function() {$('div.hover_other_name_div').remove();});
を入れてあげれば多分消えてくれます
普通の画面だとこれ入れなくても消えちゃうので敵襲画面で試せていないですが・・・

そもそも異名を出さないのであれば
$(document).on('load ajaxStop', function() {$('.other_name_popup_link').each(function() {$(this).prop('outerHTML', $(this).prop('outerHTML').replace('other_name_popup_link', ''));});});
にすれば出なくなると思いますが全ページをチェックはしてないです
removeClassで消していないのは今後何か重要なclassがこのclassと共に追加されたときにそれも同時に消してしまうからです
特定のページだけ出したくないとかでしたらそのページの処理が走っているところにこれを入れてあげれば良いと思います

212名無しさん:2023/03/22(水) 00:28:03 ID:iOR7Vu4I
すみません、211の上の方はこの方がいいかもしれません
$('a.other_name_popup_link').on('mouseout', function() {$('div.hover_other_name_div').remove();});

$(document).on('mouseout', 'a.other_name_popup_link', function() {$('div.hover_other_name_div').remove();});

213名無しさん:2023/03/22(水) 01:17:10 ID:xr9cUW3.
ID:iOR7Vu4I さん
>>209 から >>212にかけて具体的に有り難うございます!
帰宅が遅くなりました為じっくりと取り組ませていただきます。

214名無しさん:2023/03/22(水) 14:22:55 ID:xr9cUW3.
>>162 の件ですが「練兵中は支城の破棄が行えない様だ。練兵していない時は[破棄]が見えている」と報告者より連絡がありました。そりゃそうですね。お騒がせしました。

215名無しさん:2023/03/22(水) 19:28:48 ID:xr9cUW3.
>>209 ID:iOR7Vu4I さん
ご提示戴いたpart45の507から始まる地図のモヤッとしたズレの件の話題を追ってみました。
毎日スレを眺めていた時期です。
結論としては「498丸ごとなしにするだけok」、つまり
/* 資源バー */
の段落で差し込んでいた
'#status { height: 50px; }' +
を無くす対応になるかと思いますが、事象変わらずでした。

具体的な事象発生イメージですが、例えばマウスのドラッグ操作で地図を北西にずらした場合に
新しく見えてくる部分はすんなり表示されるのですが、それまで見えていた部分が一瞬再描画されて南西?真下?方向にストンと落ちる感じでしょうか。

>> mokoの1番最後の方のcssを設定している部分で#headerや#status、#status_leftあたりのheightを疑ってみる
ここにつきましては素人が最大限努力して追い切れるかどうかの部分となりますので余力のある時に確認いたします。
>>211-212 の異名対応は取り込ませて頂きました。次回合戦時に敵襲があった時に確認します。有り難うございました。

216名無しさん:2023/03/23(木) 03:16:16 ID:iOR7Vu4I
精鋭部隊にアプデが入ったので列入れ替えを更新しました
色々改修したので完成品だけ置いておきます
何回かに分けます

その①
// 精鋭部隊 並び変え 20230322updated
function moveEliteLine() {
// 精鋭部隊数を取得
var line_num = $('div.elite_busho_info.elite_busho_info_margin_to_deck').length;
if (line_num < 2) {
return;
}

// 定義
var url = '/card/deck.php',
ELITE_SUFFIX = '番隊',
UNDER_SUFFIX = 'の下',
ELITE_LINE = [
'壱','弐','参','肆','伍','陸','漆','捌','玖','拾',
'拾壱','拾弐','拾参','拾肆','拾伍','拾陸','拾漆','拾捌','拾玖','弐拾',
'弐拾壱','弐拾弐','弐拾参','弐拾肆','弐拾伍','弐拾陸','弐拾漆','弐拾捌','弐拾玖','参拾',
'参拾壱','参拾弐','参拾参','参拾肆','参拾伍','参拾陸','参拾漆','参拾捌','参拾玖','肆拾',
'肆拾壱','肆拾弐','肆拾参','肆拾肆','肆拾伍','肆拾陸','肆拾漆','肆拾捌','肆拾玖','伍拾',
],
arr_sort = [];
$('input.sort').each(function() {arr_sort.push($(this).val());});

// データ送信処理
var post_data = function(obj, from_line_num, butai_name) {
var data = obj.shift();
$.ajax({
type: 'post',
url: url,
data: data,
beforeSend: xrwStatusText,
});
var to_line_num = data.elite_move_order == '1' ? -1 : 1;
Info.log(
butai_name + 'を' +
from_line_num + '→' +
(from_line_num + to_line_num) +
'列目に移動中...'
);
if (obj.length) {
setTimeout(post_data, 500, obj, from_line_num + to_line_num, butai_name);
}
else {
setTimeout(Info.log, 500, '終了中...');
if (location.pathname != url) {
url = location.pathname;
}
setTimeout(Info.title, 1000, '完了', url);
}
}

217名無しさん:2023/03/23(木) 03:17:15 ID:iOR7Vu4I
その②
// 入れ替え処理
var btn_move_elite_line = $('<input type="button" value="移動" id="moveeliteline" />')
.on('click', function() {
$(this).prop('disabled', true);
var input_line_from = parseInt($('#input_line_from').val()),
input_line_to = parseInt($('#input_line_to').val());
if (input_line_from == input_line_to || (input_line_from - input_line_to) == 1) {
alert('移動が発生しません');
$(this).prop('disabled', false);
return false;
}
var repeat_num = input_line_to - input_line_from,
elite_move_order = '2';
if (repeat_num < 0) {
repeat_num = repeat_num * -1 - 1;
elite_move_order = '1';
}
var butaicho = $('table.elite_busho_info_tbl:eq(' + input_line_from + ') a.busho_name:first').text() + '部隊',
butaimei = $('input.elite_squad_name:eq(' + input_line_from + ')').val() || '名称未設定',
set_elite_unit_assign_filter_tab = $('#set_elite_unit_assign_filter_tab').val(),
elite_layout_mode =$('input[name="elite_layout_mode"]:checked').val(),
list = [];
butaicho = butaicho + ' [' + butaimei + '] ';
nowLoading();
Info.title('精鋭部隊 - 列入れ替え');
for (var i = 0; i < repeat_num; i++) {
var param = {
p: 0,
mode: 'move_elite',
set_elite_unit_assign_sort: arr_sort[input_line_from],
set_elite_unit_assign_filter_tab,
elite_move_order,
elite_layout_mode,
line_from: 0,
line_to: -1,
}
list.push(param);
if (elite_move_order == '1') {
input_line_from--;
}
else {
input_line_from++;
}
}
post_data(list, parseInt($('#input_line_from').val()) + 1, butaicho);
});

218名無しさん:2023/03/23(木) 03:18:21 ID:iOR7Vu4I
その③
// 要素配置
var div = $('<div class="move_elite_line rightF">').css({
'display': 'inline-block',
'margin-right': '18px',
'font-weight': 'normal',
'font-size': '11px',
}),
select_1 = $('<select id="input_line_from" name="input_line_from">').css('width', '120px').appendTo(div),
select_2 = $('<select id="input_line_to" name="input_line_to">').css('width', '120px').appendTo(div);
select_1.after('<label> を </label>');
select_2.after('<label> へ </label>');
select_2.append('<option value="-1">一番上</option>');
for (var i = 0; i < line_num; i++){
select_1.append($('<option value="' + i + '">' + ELITE_LINE[i] +
'[' + (i + 1) + ']' + ELITE_SUFFIX + '</option>'));
select_2.append($('<option value="' + i + '">' + ELITE_LINE[i] +
'[' + (i + 1) + ']' + ELITE_SUFFIX + UNDER_SUFFIX + '</option>'));
}
div.append(btn_move_elite_line);
$('div.ig_decksection_top').append(div);
}
// 精鋭部隊 並び変え 20230322updatedここまで

219名無しさん:2023/03/23(木) 09:04:13 ID:vx.CFrJA
精鋭登録関連ありがとうございます。
それの関連で、本丸防御陣形画面での「精鋭部隊登録」が効かなくなってしまったのはどうすれば直りますかね?

それと別件なんですが、スキル追加で餌になる武将をスクロール(オートページャー)させてると
読み込みで固まる(重くなる?)んですが直す方法はないでしょうか?
 ※ ▷ を使えば良いんでしょうけど、どうしてもオートページャーで探すのが楽なもので^^;

220名無しさん:2023/03/23(木) 20:46:03 ID:1VX6W3Wo
>>216さん、いつもありがとうございます。
>>81-82を修正したのですが、その部分を>>216-218に変更するという認識で良かったのでしょうか?

影の方で確認すると修正前は本丸防御陣形を押した画面で兵編成というボタンがあったのですが何処かを間違ったようで・・。
https://gyazo.com/4927b00d5d318b9a9cfa1982c82742b4
そもそも違う部分を修正している可能性もあるので。ご教授宜しくお願いします。

221名無しさん:2023/03/23(木) 23:17:04 ID:iOR7Vu4I
>>219
精鋭登録は出来るようになったのですが、登録ボタンの表示、非表示は待機武将一覧の精鋭部隊を選んだ時に出てくる一覧と比較して存在すればボタン非表示、存在しなければボタン表示にしてます
今回、精鋭部隊が「全部隊」が無くなって4つに分かれたため、存在チェックをするには4ページ分読み込まないといけません
そうするとかなり読み込み処理が重くなるんですが、そもそも存在チェック要りますかね?
既に精鋭登録あるやつを登録しようとすると、以前までは鯖側で弾かれてただ登録出来なかっただけで、ボタンの表示非表示はパッと見て既に精鋭登録されているかが分かるだけのただの親切機能でした

222名無しさん:2023/03/23(木) 23:23:54 ID:iOR7Vu4I
>>220
>>81-82>>216-218は別物です

>>216-218は前スレPart47の946からの更新です
そちらを導入していなかったらまずは導入してから>>216-218の更新を当ててください

946から少し下にも修正が入っていますのでご注意ください

223名無しさん:2023/03/23(木) 23:27:58 ID:iOR7Vu4I
>>219
餌のオートページャーとは、スキル合成確率アップの特以上を1つにつき5枚まで入れられる画面のことですか?
私はその画面のJSONデータがうまく取得できずにオートページャーは諦めたので、すみませんがお力になれません
その部分のソースを頂ければ改善はできるかもしれません

224名無しさん:2023/03/23(木) 23:56:55 ID:1VX6W3Wo
>>216さん
>>222の返信ありがとうございます。
別物だったのですね・・・。Part47の部分から修正していきます。
丁寧に教えて頂きありがとうございました。

225名無しさん:2023/03/24(金) 08:23:25 ID:bl5Bniyg
>>221
本丸防衛陣形の精鋭登録は精鋭部隊の防御部隊に登録するのみで
よさそうですがどうでしょうか?
たぶん登録先はそれ以外はないと思います。
存在チェックが必要ならそれも防御部隊のみで問題ないかと思います。

226名無しさん:2023/03/24(金) 08:29:24 ID:vx.CFrJA
219です。説明不足ですいません。
>>221
https://gyazo.com/f3e6cf1aeb41343905308a8374d6ae17
本丸防御陣形の1列目に表示されてる精鋭登録ボタンなのですが、こちらは表示だけの機能ということでしたっけ?
今回のメンテ前までは、このボタンで精鋭登録できてたような・・・(勘違いだったらすいません)
2列目に精鋭登録ボタンが表示されていないのは、すでに登録済だからだというのは理解しております。

本丸防御陣形の精鋭登録ボタンからこちらの登録画面に飛べたら良いのでしょうけど、やり方がわからずでして。
https://gyazo.com/a646e82ef041be49c16fa77b06e1985d

>>223
スキル追加とは、この画面でのことで
https://gyazo.com/2ebd335dd840fbe0f7a796d3bbd7c60b
追加する武将を探して何ページかオートページャーさせてると読み込みが遅くなって、しばらく固まってしまうのです。

227名無しさん:2023/03/24(金) 09:08:44 ID:iOR7Vu4I
>>225
たしかにそうですね、ご提案ありがとうございます
ただし一部公式の機能を使って精鋭登録しようとしているので、登録しようと思えば本丸の部隊を攻撃とかに登録出来ちゃいます
と言っても鯖側に
①武将が1人
②登録済み
③登録数MAX
を弾く処理が入っているっぽいのでチェックは要らなそうですね
すみません、手が空いたら取り掛かるので少し時間かかるかもしれません

228名無しさん:2023/03/24(金) 09:10:28 ID:iOR7Vu4I
>>226
本丸の精鋭登録は今改修しています
もう少々お待ちください

ページャーの部分は後で見てみますね

229名無しさん:2023/03/24(金) 19:56:26 ID:iOR7Vu4I
本丸防御陣形の精鋭登録、一通り動かしてみましたが問題ありましたら教えてください
登録ボタンは必ず出すようにして登録失敗して鯖からエラーのテキストがあればそれをアラートで返すようにしました
一括兵士訓練で支城を1回開かないといけないのと同じように最初に1回待機武将を精鋭登録で開かないと
最後に開いた精鋭の種類が保存されなくてあらぬ種類に表示が切り替わったりしますが
1回でも開けばログアウトしようが何しようが保存されています(本城主と影城主でそれぞれ別に保存してます)
と言っても表示が勝手に切り替わるだけで登録は正常に行われます

その①
// デッキ総合
function deckCheck() {
if (location.pathname != '/card/deck.php' && location.pathname != '/card/defense_formation_deck.php') {
return;
}

// 最後に開いた精鋭部隊の種類を保存 20230324added
+ var filter_tab = $('#deck_file #set_elite_unit_assign_filter_tab').val();
+ if (filter_tab) {
+ setStorage('ixamoko_filter_tab', filter_tab);
+ }

// スクロールボタン
if (options.deck_scroll) {

230名無しさん:2023/03/24(金) 19:58:50 ID:iOR7Vu4I
その②(少し下に飛びます、完成品だけ置きます、行頭の+マーク省略)
function elite_category() {
var url = '/card/defense_formation_deck.php';
if (location.pathname == url) {
if ( !$('#breakup_all_command').length ) { return; }
var filter_tab = getStorage(null, 'ixamoko_filter_tab') || 1;
$.ajax({
type: 'post',
url: '/card/deck.php',
data: {
ano: 9,
select_card_group: 6,
set_elite_unit_assign_filter_tab: filter_tab,
},
beforeSend: xrwStatusText,
}).then(function (html) {
$('body').find('#elitePopupDialogContent').remove();
$('body').append($(html).find('#elitePopupDialogContent').prop('outerHTML'));
}, null);
$('.deck_btns').find('img').css({'width': '96%', 'height': '96%'});
var $deck = $('#deck_bg');
if (!$deck.find('a.elite_category').length ) {
var img = '<img src="' + CACHE_PASS + '/img/deck/elite/add_elite.png" alt="精鋭部隊登録" style="width: 70px; height: 24px;">';
$deck.find('td.home_defense_formation_data_btn_wrap_cell').each(function(idx){
$(this).find('a img').css({'width': '70px', 'height': '24px'});
$(this).find('div.formation_line_move').css({'margin-right': 'auto', 'width': '22px', 'height': '24px', 'display': 'block'});
$(this).find('div.formation_line_move').children().css('font-size', '9px');
$(this).find('div.formation_line_move a:first').after('<br />');
var add_elite = '<a href="javascript:void(0);" class="elite_category" onclick="registElite(' +
$(this).find('a.unit_edit').attr('data-unit_assign_id') + ')">' + img + '</a>';
$(this).find('a.unit_edit').before(add_elite);
});
$deck.find('td.home_defense_formation_data_btn_wrap').find('a.elite_category').css({ 'float': 'left', 'margin': '9px 0px 0px 12px' });
}

// 精鋭登録ボタン押下処理
$(document).on('mousedown', 'img[alt="精鋭部隊登録"]', function() {
$(document).find('#set_assign_id').val($(this).parent().attr('onclick').match(/\d+/));
var new_script = $($('script[id="elitePopupDialogContent"]').text());
new_script.find('.elite_popup_dialog_save').attr('class', 'elite_popup_dialog_save_2');
new_script.find('.elite_popup_dialog_save').removeClass('elite_popup_dialog_save');
$('script[id="elitePopupDialogContent"]').empty();
$('script[id="elitePopupDialogContent"]').text(new_script.prop('outerHTML'));
});

231名無しさん:2023/03/24(金) 20:00:43 ID:iOR7Vu4I
その③(完成品だけ置きます、行頭の+マーク省略)
// 精鋭登録処理
$(document).on('click', 'img.elite_popup_dialog_save_2', function() {
var set_elite_unit_assign_sort = '';
$(document).find('.elite_popup_squad_category_btn').each(function(idx) {
if (!$(this).hasClass('off')) {
switch (idx) {
case 0:
set_elite_unit_assign_sort = 1;
break;
case 1:
set_elite_unit_assign_sort = 2;
break;
case 2:
set_elite_unit_assign_sort = 4;
break;
case 3:
set_elite_unit_assign_sort = 5;
break;
}
return false;
}
});
var data = {
elite_squad_name: $(document).find('#ixa_popup_elite_popup_dialog input.elite_squad_name').val(),
elite_move_order: $(document).find('.elite_popup_squad_number_check input').prop("checked") ? 1 : 0,
set_assign_id: $(document).find('#set_assign_id').val(),
set_elite_unit_assign_sort,
mode: 'set_elite',
}
$.ajax({
type: 'post',
url: '/card/deck.php',
data: data,
beforeSend: xrwStatusText,
}).then(function(html) {
var $div = $(html).find('div.common_box1');
if ($div.length) {
window.alert($div.find('p').text().replace(/\n|\t|\s/g, ''));
}
$(document).find('#set_assign_id').val('');
location.href = '/card/defense_formation_deck.php';
}, null);
});
<ここまで更新、以下変更なし>

$('body').on('dragend', '#deck_bg div.home_defense_formation_card_space_target a', function() {

232名無しさん:2023/03/24(金) 20:01:38 ID:iOR7Vu4I
あとすみません、>>217はこの2行要りません
- line_from: 0,
- line_to: -1,

233名無しさん:2023/03/24(金) 20:36:21 ID:vx.CFrJA
いつもありがとうございます!
ちなみに導入したところエラーを吐いてしまったのですが、最後の部分をいじったら動作いたしました。

 }, null);
 }); ←ここを削除
<ここまで更新、以下変更なし>

これで合ってますでしょうか?

234名無しさん:2023/03/24(金) 20:42:22 ID:vx.CFrJA
すいません!合ってないかもでした><
登録はできたのですが下の部分が増殖しているようです
https://gyazo.com/6c5b87667389b0deccfa571c8ec6b622

235名無しさん:2023/03/24(金) 20:53:38 ID:vx.CFrJA
ここかもです。
<ここまで更新、以下変更なし> から下
//本丸防御陣形デッキの兵法表示 の部分
tactics = tactics_calculation(data_list).toFixed(1);
var $td = $(this).find('table.home_defense_formation_data_table').find('tr:eq(1) td');
$td.append('<span class="deck_info_out">' +
'<span class="deck_info_in" style="padding:4px 10px 3px 11px;">兵法</span>+'
+ tactics + '%</span>');
}
//}); ここ削除
}, null);
}
}
//   ここまで

function ajaxStopDefenseFormation() {

板汚してしまい、申し訳ありませんでした><

236名無しさん:2023/03/24(金) 21:11:15 ID:iOR7Vu4I
すみません長くなるので省略しちゃいましたが、functionの終わりまでと次のfunctionの始まりまで載せますね
その③の最後あたりから
location.href = '/card/defense_formation_deck.php';
}, null);
});
<ここまで更新、以下変更なし>

$('body').on('dragend', '#deck_bg div.home_defense_formation_card_space_target a', function() {
var draw = function() {
elite_category();
return $(document).off('ajaxStop', draw);
};
return $(document).on('ajaxStop', draw);
});

//兵士編成・本丸防御陣形リンク
if ( !$deck.find('img[alt="兵編成"]').length ) {
$deck.find('div.deck_btns').prepend(
'<a href="/facility/set_unit_list.php?ano=9">' +
'<img src="../img/deck/elite/btn_soldier_edit.png" alt="兵編成"></a>');
}

if ( !options.troops_strength_display ) { return; }

//本丸防御陣形デッキの兵法表示
var $div = $deck.find('div.home_defense_formation_line_wrap');
if ( $div.find('span.deck_info_out').length ) { return; }

$div.each( function() {
if ( $(this).find('img[alt="解散"]').length ) {
var data_list = [], tactics = 0;

$(this).find('div.ig_deck_smallcardimage').each(function(){
var card_id = $(this).attr('data-card_id');
var target = $('#card_window_' + card_id),
data = {};
if (target.text().split('ig_card_status_int')[1]) {
data.int = parseInt(target.text().split('ig_card_status_int')[1].match(/\d+/g)[0]);
}
else {
var int_arr = target.text().split('ketsu_card_status int')[1].match(/ketsu_card_status_num\snum\d/g);
data.int = parseInt(int_arr.map(function(v) {
return v.slice(-1);
}).join(''));
}
data_list.push( data );
});

tactics = tactics_calculation(data_list).toFixed(1);
var $td = $(this).find('table.home_defense_formation_data_table').find('tr:eq(1) td');
$td.append('<span class="deck_info_out">' +
'<span class="deck_info_in" style="padding:4px 10px 3px 11px;">兵法</span>+'
+ tactics + '%</span>');
}
});
}
}

function ajaxStopDefenseFormation() {

237名無しさん:2023/03/24(金) 22:45:31 ID:xr9cUW3.
ID:iOR7Vu4I さん。いつも有り難うございます。
恐らく動作していると思われます。攻撃・防御・加勢・強襲のタブ切り替えがこれ恐らくmokoを切っていてもモッサリしてますね。

>組み込む方向け
>>236 内の
+ tactics + '%</span>');
は「そのまま記述」です(ですね?)。プラス記号は取らないでくださいませ。

238名無しさん:2023/03/24(金) 23:55:38 ID:iOR7Vu4I
>>237
補足ありがとうございます
おっしゃる通りそこは最初からソースの頭に+が付いていて変えていないのでそのままにしてください

なお武将1人と登録済みのパターンは検証済みで、ちゃんとアラートが出て登録も出来ません
50部隊は面倒なのでやってません・・・

239名無しさん:2023/03/25(土) 12:43:19 ID:1VX6W3Wo
>>216さんありがとうございます。>>222までは完了しました。

>>229>>232
やってみたのですがエラーになってしまって・・・。
これをやると何処が改善されるのかもわからずに・・。
自身の中でごちゃごちゃになって混乱気味です><
この部分の改修は>>〇〇の部分の更新になるのでしょうか?

240名無しさん:2023/03/25(土) 15:47:43 ID:iOR7Vu4I
>>239
本丸防御陣形の精鋭登録がアプデで動かなくなっていたので更新です

まず>>229の①は追加する4行の行頭に+マークを付けているので+を消して追加してください

その後の>>230-231の②と③は+マークを付けていません
function elite_category()内の$('body').on('dragend', 〜〜〜より上(<ここまで更新、以下変更なし>より上)の完成版を載せていますのでその部分をごっそり書き換えてください
分かりにくかったら>>236にさらにfunction elite_category()の最後まで載せていますのでご参考に(231の最後と236の最初は少しダブっていますので比較してダブっている部分はダブらないようにしてください)
<ここまで更新、以下変更なし>はスレへの書き込み用コメントなので<>も含めて消してください

241名無しさん:2023/03/25(土) 16:16:20 ID:Mk4nSJRA
iOR7Vu4Iさん、いつもありがとうございます。

本丸防御陣形からの精鋭部隊登録に関する修正、こんな感じでしょうか?
修正の修正などもあるので、そっくりコピペ出来る様に簡素化しています。
ミスがあったらすみません。

https://writening.net/page?bnnMAC
パス:193

242名無しさん:2023/03/25(土) 17:22:48 ID:iOR7Vu4I
>>241
まとめありがとうございます
見た感じ間違いなさそうです

243名無しさん:2023/03/25(土) 19:48:18 ID:1VX6W3Wo
>>216(iOR7Vu4I)さんいつもありがとうございます。
>>240の返信ありがとうございました。やってみたのですが色々失敗等繰り返して
何処がどうなった分からなくなったので>>241さんの部分でそっくりコピペでやったら多分出来ました。
>>241さんも簡素化して頂き本当にありがとうございました。

修正最後の部分の
//ここまで
の下の部分が↓このようになってるのに対して
function ajaxStopDefenseFormation() {
if ( location.pathname != '/card/defense_formation_deck.php' ) {

私のは↓になっていました。
(何処の部分までコピペするのか探す際見当たらず、ここまでかなと思ってやったらできたって感じでした)
//ここまで
function getUnitAtt() {
return parseFloat($('#deck_info_tbl td').eq(4).text().replace(/,/g, '').match(/\d+/g) || ['0']);
このようになっています。

今の所エラーも無く問題は無さそうなのですが?、この部分は何処かの改修をやっていないのでしょうか?
わかる範囲で教えて頂けると助かります。そのままでOKなら良しなのですけど。

244名無しさん:2023/03/25(土) 20:00:01 ID:Mk4nSJRA
>>241
多分ですけど、>>148だと思います。

245244:2023/03/25(土) 20:02:27 ID:Mk4nSJRA
アンカミスった・・・。>>243さん

246名無しさん:2023/03/25(土) 22:56:02 ID:1VX6W3Wo
>>244さん
>>148やってなかったので修正しました。ありがとうございます。

247名無しさん:2023/03/26(日) 02:26:43 ID:iOR7Vu4I
>>219
ページャーを使ってみましたが私は何ページ読み込ませても遅くなったりましてや固まることはありませんでした
それはスキル追加合成のページだけで起こりますか?
それとも、たとえば他の部隊編成のページ等でも起きますか?

248名無しさん:2023/03/26(日) 11:50:17 ID:vx.CFrJA
>>247
そうなんですね。調べていただきましてありがとうございます。
他には下の兵士編成画面で、兵士をいじる(兵種・兵数を変更する)と見てのとおり
兵種の色も変わらず固まります。
https://gyazo.com/3b7eec441ff0ab66037d6330f668b907
さらには下の部分のIXAタイムも止まってます。(こちらは見てもわからないでしょうけど^^;)
https://gyazo.com/71b32f8042be7899eeff923adef03518

ちなみに兵士編成画面もスキル追加画面もページ数(武将数)が少ないとこの現象は発生しません。
なので前期までは組分けして組ごとに編成したりスキル追加はしてたんですが、今期からカード所持数が増えたのもあって
数の多い組でも発生してしまい困っていたのです。

249名無しさん:2023/03/26(日) 15:14:12 ID:iOR7Vu4I
>>248
同じ処理なのにできる時とできない時があり、色々な処理で発生し、それが量によって変わるとなるとPCのスペックが原因の可能性があります
ただ、どちらもそんなに重い処理ではないのが気になりますが・・・

固まる処理をやる前にEdgeやChromeならCtrl+Shift+iキーを押してコンソールを表示して、固まる処理を実行した時に赤文字のエラーが発生していなかったら処理に時間がかかっていて固まってます
赤文字が出たらプログラムに誤りがあるので赤文字の部分をコピペしてエラーを教えてください

250名無しさん:2023/03/27(月) 00:56:16 ID:1VX6W3Wo
兵士編成の時に表示がずれます。
https://gyazo.com/974dad6e14189ac32acbe7b03f529bd6

出品などの時はずれません。
https://gyazo.com/ea8e92294a27542ff877bb06bcc80147

以前聞いたのですがわからなくて、放置していました。
実害はないのですが、教えて頂けると助かります。宜しくお願いします。

251名無しさん:2023/03/27(月) 01:32:40 ID:LJtw.6sI
キーバインドの[N]と[B]なのですが、
砦の表示をスキップできないのが原因で
陣移動ができないようです><
この辺うまく直せたりは出来ませんでしょうか?

252名無しさん:2023/03/27(月) 10:05:59 ID:bl5Bniyg
>>229
iOR7Vu4Iさん 遅くなりましたが修正ありがとうございました。

253名無しさん:2023/03/28(火) 15:31:47 ID:iOR7Vu4I
>>250
私のは表示ズレてないんですがfunction unitListCheck()内の最後のとこに
$('div.select_filter ul').css('white-space', 'nowrap');
これ1行足せばいけませんかね?

254名無しさん:2023/03/28(火) 16:34:54 ID:1VX6W3Wo
>>250
iOR7Vu4Iさん、出来ました。いつも色々な改修助かっています。
本当にありがとうございます。

255名無しさん:2023/03/29(水) 07:57:28 ID:iOR7Vu4I
>>251
私はキーバインドは使ってないんですが、具体的に現状どういう挙動で、どうなるのが正しいんですかね?
ソースを見る限りだとサイドボックスに表示されている拠点を降順か昇順で移動するようにみえます

256名無しさん:2023/03/29(水) 10:36:48 ID:xr9cUW3.
[N]は恐らくNextで上から昇順に移動、[B]は恐らくBackで下から降順に上に移動ですね。
戦間期なので砦や陣が加わると挙動が分からないのですが本領と支城・村落に限定すれば正常動作している様ですね。

257名無しさん:2023/03/29(水) 11:44:52 ID:vx.CFrJA
>>251
ヴァージョン自体が違うのかも知れませんが一応動くコード上げておきます。
確か大分昔にここに上がってたものを取り入れた気がしますw(うろ覚えです^^;)
ちなみに戦略拠点に登録されている拠点が挟まると自領の上の部分に移動してしまうので、そこは要修正なのかもですね。

// 拠点移動のURLの取得・移動
function moveExecution(f) {
(中略)
var url = 0 > f && obj.prev ? obj.prev : 0 < f && obj.next ? obj.next : null;
url ? location.href = url : void 0;
}

上記部分を下記と差し替え

// 拠点移動のURLの取得・移動
function moveExecution(f) {
let $list = $('#sideboxBottom div:first li').filter(function(){return $(this).hasClass('on') || $(this).children('a').length;});
let i = $list.index($('#sideboxBottom li.on'));
let prev = $list.eq(i-1).length ? $list.eq(i-1).children('a').attr('href') : $list.eq($list.length - 1).children('a').attr('href');
let next = $list.eq(i+1).length ? $list.eq(i+1).children('a').attr('href') : $list.eq(0).children('a').attr('href');

if ($('#repair_central_form').length) {
prev = prev.replace('map', 'village');
next = next.replace('map', 'village');
}
var url = 0 > f && prev ? prev : 0 < f && next ? next : null;
if (url) {
location.href = url;
}
}

258名無しさん:2023/03/29(水) 15:16:56 ID:LJtw.6sI
>>251です。
皆さん気に留めて頂きありがとうございます。

>>255
いつも改修して下さっている方だと存じております^^
ありがた過ぎて申し訳ないとすら感じております^^;
>>256さんの書き込み通り通常時は問題ありません。
合戦中も同一砦内の陣だけならちゃんと機能します。
合戦中にお試し頂ければ分かりやすいのですが、
メニューの【拠点】、特に【地図】の時に次の砦の陣に
移動できないという症状でした。

>>257
ありがとうございます!
早速取り込ませて頂いた後、陣触で試せるかもですが、
合戦で運用させて頂きたいと思います。

259名無しさん:2023/03/29(水) 16:18:47 ID:xr9cUW3.
>>257 ID:vx.CFrJA さん
取り込ませていただいた所、[N]及び[B]キーによる拠点移動が出来なくなりました。
ローカルストレージの全クリアから確認しました。
[MOKO設定]では「キーバインドを使用する」にチェックを入れ他はデフォルトのままです。
https://imgur.com/IMNFvcq
function moveExecution(f)をまるっと入れ替えで認識相違は無いですよね。

当方のmokoとお使いのmokoで大前提が異なっているかもですね。

260名無しさん:2023/03/29(水) 17:17:24 ID:Mk4nSJRA
それこそ元が違ってたらアレですが、こんな感じの修正で動いている様です。
(正確には、普段使っていないので分かりませんが、パッと見動いていそう。)

https://writening.net/page?g22DUT
パス:193

そっくり入れ替えると後で面倒なことになりかねないので、今回は、/*と*/を追加して元の部分を無効に。
それから、>>257の差し替え部分を追加した感じです。

261名無しさん:2023/03/29(水) 18:16:17 ID:xr9cUW3.
>>260 ID:Mk4nSJRA さん
補足を有り難うございます。私は改修する時はいつも以前のコードをコメントアウトしてから行っています。
コードを拝見しましたが >>257 さんと変わり無い様に見受けられます。
実際に >>260 のコードを貼り直しましたが挙動変わらずです。
https://imgur.com/undefined
キーバインドを使用出来る様になる何かトリガーや前提ってありましたでしょうか。
普段使用していないものでちんぷんかんぷんでして・・・。

262名無しさん:2023/03/29(水) 18:21:21 ID:xr9cUW3.
>>261 で貼ろうとしていたキャプチャはこちらです。失礼しました。
https://imgur.com/nMiPVmK

263名無しさん:2023/03/29(水) 20:29:30 ID:vx.CFrJA
>>261
普段使用していないとのことですが、「N」や「B」を押しても所領移動してないのですか?
ちなみに、内政画面で「M」押すとマップ画面に移動しますか?逆にマップ画面で「V」押すと内政画面に移動しますか?
しないようなら、MOKOの設定の全般1の「キーバインドを使用する」にチェック入れて試してみてください。

264名無しさん:2023/03/29(水) 21:23:33 ID:LJtw.6sI
>>251 >>258です。

>>257
取り込ませて頂き、陣触で試してみたところ、おっしゃる通り

「戦略拠点に登録されている拠点が挟まると自領の上の部分に移動してしまう」

の症状は出るものの、このくらいは受け入れていこうと思います。
少なくともこれで[N](Next)と[B](Back)が生き返りました。
積年のクリックストレスから解放され、ありがたい限りです。
改めて、ありがとうございました!


※mokoの奥深さの片鱗として、拾えてる範囲ですが
以下、貼り付けておきます。

"e"敵襲画面へ遷移
"c"受信書状一覧画面へ遷移
"g"報告書一覧画面へ遷移
"h"秘境画面へ遷移
"k"くじ画面へ遷移
"m"地図画面へ遷移
"d""a""s""w"地図画面で東西南北移動
"q"クエスト画面へ遷移
"r"合戦報告書画面へ遷移
"t"取引画面へ遷移
"u"秘境部隊自動配置機能(部隊全解散→秘境部隊全配置)
"v"拠点内政画面へ遷移
"x"出陣部隊一覧画面へ遷移
"z"ランクアップ合成

"0"本丸防御陣形
"1"部隊編成画面(1部隊目)
"2"部隊編成画面(2部隊目)
"3"部隊編成画面(3部隊目)
"4"部隊編成画面(4部隊目)
"5"部隊編成画面(5部隊目)
"6"部隊編成画面(6部隊目)
"7"部隊編成画面(加勢専用1部隊目)
"8"部隊編成画面(加勢専用2部隊目)
"9"部隊編成画面(強襲部隊)
"Alt+0"未配置のスロットへ「全武将」で編成画面
"Alt+1"未配置のスロットへ「第一組」で編成画面
"Alt+2"未配置のスロットへ「第二組」で編成画面
"Alt+3"未配置のスロットへ「第三組」で編成画面
"Alt+4"未配置のスロットへ「第四組」で編成画面
"Alt+5"未配置のスロットへ「未設定」で編成画面

特殊合成1枚目のカード選択後'Enter'→一番最初のカード選択
特殊合成確認画面'Enter'→合成実行ボタンクリック
特殊合成結果画面'Enter'→2画面ヒストリーバック

265名無しさん:2023/03/29(水) 21:26:36 ID:xr9cUW3.
>>263 さん 有り難うございます。
・内政画面で「M」押すとマップ画面に移動
・マップ画面で「V」押すと内政画面に移動
この2つは機能しています。[N]と[B]が現状有効でないみたいですね。

>> MOKOの設定の全般1の「キーバインドを使用する」にチェック
>>259で提示した様に普段はチェック済です。今外して[設定]、チェックし直して[設定]しても[N]と[B]キーでの動作はしてもらえていないです。

266名無しさん:2023/03/29(水) 21:34:10 ID:xr9cUW3.
>>264 さんの情報を拝借してその他のキーバインドが有効か確認した結果をお知らせします。
[N]と[B]だけ有効出ないという事はどこかでコードの重複が発生している可能姓はありませんでしょうか。
その確認方法だけでもご教授戴けますと助かります。皆様どうぞ宜しくお願いいたします。

○:"e"敵襲画面へ遷移
○:"c"受信書状一覧画面へ遷移
○:"g"報告書一覧画面へ遷移
○:"h"秘境画面へ遷移
○:"k"くじ画面へ遷移
○:"m"地図画面へ遷移
○:"d""a""s""w"地図画面で東西南北移動
○:"q"クエスト画面へ遷移
○:"r"合戦報告書画面へ遷移
○:"t"取引画面へ遷移
○?:"u"秘境部隊自動配置機能(部隊全解散→秘境部隊全配置) ※ダイアログの表示までは確認
○:"v"拠点内政画面へ遷移
○:"x"出陣部隊一覧画面へ遷移
○:"z"ランクアップ合成

○:"0"本丸防御陣形
○:"1"部隊編成画面(1部隊目)
○:"2"部隊編成画面(2部隊目)
○:"3"部隊編成画面(3部隊目)
○:"4"部隊編成画面(4部隊目)
○:"5"部隊編成画面(5部隊目)
○:"6"部隊編成画面(6部隊目)
○:"7"部隊編成画面(加勢専用1部隊目)
○:"8"部隊編成画面(加勢専用2部隊目)
○:"9"部隊編成画面(強襲部隊)
○:"Alt+0"未配置のスロットへ「全武将」で編成画面
○:"Alt+1"未配置のスロットへ「第一組」で編成画面
○:"Alt+2"未配置のスロットへ「第二組」で編成画面
○:"Alt+3"未配置のスロットへ「第三組」で編成画面
○:"Alt+4"未配置のスロットへ「第四組」で編成画面
○:"Alt+5"未配置のスロットへ「未設定」で編成画面

267名無しさん:2023/03/29(水) 21:58:45 ID:LJtw.6sI
>>257さんのアドバイス通りに”丸々”入れ替えるだけでokでしたので、
ただの貼り付けミスとしか思えませんが。。。

268名無しさん:2023/03/30(木) 04:36:39 ID:iOR7Vu4I
>>264
まとめありがとうございます

気になってザッと見てみたのですがwasdは合成画面やページャーのある画面でも使えるようです
合戦報告書・報告書・書状で未読を読んだり最初の1行を読むのにfもあるようです
あとデッキや地図でEscもあるみたいです

すみません、どの画面でどのキーが割り当てられてるかくらいしか見ていなくてどんな処理になるのかまで追えてないのですが、特に悪さはしないと思うのでお試しになって使えるようでしたらご利用ください

269名無しさん:2023/03/30(木) 09:17:51 ID:xr9cUW3.
>>267さん。
JavaScriptは専門ではありませんが一応業務でスクリプト系言語を触っておりますので三度(今も貼り替えました)変えて三度動かないのは流石におかしいかなと。
最新の改修コードのせいと申しているのではなく、当方の大前提がどこかおかしいのではと。
// キーバインド
function keyBindings() {
の関数内か
https://imgur.com/Ud5IC5k
この辺りの実装が私が関知しない間に変わってらっしゃるのかなー等と思案しております。

270名無しさん:2023/03/30(木) 09:18:16 ID:bl5Bniyg
>>257
いつも修正ありがとうございます。
257の修正ですがIXA設定の全般2>IXAタイムを表示するを上中段に
設定すると無効になります。
上段表示にすると正常に機能いたします。
この辺の不都合直りますでしょうか?

271名無しさん:2023/03/30(木) 13:26:13 ID:iOR7Vu4I
>>270
sideboxBottomって色々いじってるとdivの位置が変わったりしてfirstだと取れない時があるので、li.onのclosestのdivを取らないとなのだと思います
ちょっと今PC触れないのであとで見てみます

272名無しさん:2023/03/30(木) 14:55:29 ID:xr9cUW3.
すみません[N][B]のお問い合わせの続きをさせてください。
>>257 さんが挙げてくださった「大分昔にここに上がってたものを取り入れた」コードの先頭4行の出典はpart38スレの以下コードかと思います。
改行を直してWinMergeで差分比較したところ完全一致しました。

256名無しさん@お腹いっぱい。 (ワッチョイ 3d3e-3Ttg)2018/01/18(木) 17:43:47.03ID:hIUiSCVa0>>257
>>236
合戦で陣をNキー巡回させたいけど
そこまで含めるとどういう構文になるんでしょう?

257名無しさん@お腹いっぱい。 (ワッチョイ 231d-pQa0)2018/01/18(木) 18:39:14.33ID:Ds8/BQUe0>>258
>>256
含めると、と言うか単純にカテゴリ(自国、他国、南西etc.)を跨いで移動したいなら、
moveExecution(f)内の最初の四行目を↓に置き換えるといける

let $list = $('#sideboxBottom div:first li').filter(function(){
return $(this).hasClass('on') || $(this).children('a').length;
});
let i = $list.index($('#sideboxBottom li.on'));
let prev = $list.eq(i-1).length ? $list.eq(i-1).children('a').attr('href') : $list.eq($list.length - 1).children('a').attr('href');
let next = $list.eq(i+1).length ? $list.eq(i+1).children('a').attr('href') : $list.eq(0).children('a').attr('href');

となりますと、>>257>>260で示してくださったコード内でその後に現れる
if ($('#repair_central_form').length) {
の「repair_central_form」の値がおかしい為に判定結果が皆さんと異なるのでは?と少し思ったのですがソース内を検索しても地図に関わる所にしか現れず。
Chromeのショートカットキーが悪さをしていないか、拡張機能が悪さをしていないか(一つ一つ外しながら動作確認をしました)、
結構お手上げに近い状態です(泣。
>>257(>>260)の取り込みを諦めればそれで済む話なのかもしれませんがキーバインド活用されてる方に悪いし何だか悔しいし・・・w

273名無しさん:2023/03/30(木) 15:28:59 ID:lqoCmW9U
>>272

>>270と同じような理由かも。
とりあえず以下を試して。

- let $list = $('#sideboxBottom div:first li').filter(function(){return $(this).hasClass('on') || $(this).children('a').length;});
+ let $div = $('#sideboxBottom li.on').closest('div.sideBox');
+ let $list = $div.find('li').filter(function(){return $(this).hasClass('on') || $(this).children('a').length;});

274名無しさん:2023/03/30(木) 16:11:01 ID:iOR7Vu4I
>>272
moveExecution(f)は>>260で問題ないように見えます
[N][B]だけ動作しないというのならまずこちらを疑ってみてはどうですか?
shortcut.add('b', function() { return moveExecution(-1); }, { 'disable_in_input': true, 'keycode': 66 });
shortcut.add('n', function() { return moveExecution(1); }, { 'disable_in_input': true, 'keycode': 78 });

私がよくやる手法ですが、console.logをいたるところに差し込んで確認する方法があります
たとえば、まず[N]が効いてないというならまず
shortcut.add('n', function() { console.log('aaa'); return moveExecution(1); }, { 'disable_in_input': true, 'keycode': 78 });
のようにして、コンソールにaaaが出るか、つまりそもそもキーバインドを認識しているかを確認します(コンソールは設定で[preserve log]をONにしてください)
aaaが出るようならmoveExecution(f)内のド頭var $on =の前にconsole.log('bbb')を入れて、さらに各条件分岐にccc、ddd、・・・を入れていきます
これでどこのロジックを通っているのか、どこで止まっているのかがある程度絞れるので解決の糸口になるかと思います
repair_central_formは地図にしか出てこないと思います
詳しく追ってはいないのですが、'map'を'village'に置き換えているので恐らくmap.phpをvillage.phpにして、x=とかy=とかを流用しているのだと思います

275名無しさん:2023/03/30(木) 16:35:44 ID:bl5Bniyg
>>271
気にかけて頂きありがとうございます。
>>273で動くようになりました。

>>273
無事動くようになりました。
ありがとうございます。

276名無しさん:2023/03/30(木) 17:51:25 ID:xr9cUW3.
すみません休んでおりリアクションが遅れました。
>>273 ID:lqoCmW9U さん。ご提案の内容で[N][B]及びその他キーバインド(全ては確認しておりませんが)が動作する様になりました。
有り難うございました。

>>274 ID:iOR7Vu4I さん。
アドバイスを有り難うございました。デバッグ出力を差し込む確認方法は業務でも行っているのですが、
「JavaScriptだからブラウザで値や遷移を確認しないといけないのでは」、という頭に囚われておりました。
今後似た様な事例に遭遇したらconsoleオブジェクトを使う様にします。ご助言感謝です。

277名無しさん:2023/03/30(木) 20:13:46 ID:iOR7Vu4I
キーバインドはみなさん動くようになったようで良かったです
ただ戦略拠点が挟まるとうまく動かないとのことなので合戦始まったらみてみます

ちなみにもう動いているなら余計なことかもしれませんが>>273の最後の行のfilterは効いてないのでlet $list = $div.find('li');でいいと思います
さらに上のlet $div = $('#sideboxBottom li.on').closest('div.sideBox');と繋げられるので、結論として
- let $list = $('#sideboxBottom div:first li').filter(function () { return $(this).hasClass('on') || $(this).children('a').length; });
>>273の2行も消して)
+ let $list = $('#sideboxBottom li.on').closest('div.sideBox').find('li');
でいいと思います

278名無しさん:2023/03/31(金) 18:49:40 ID:iOR7Vu4I
キーバインドにヘルプ(一覧)が無かったので作ってみました
今のところShift+F1で開くようにしてます

これは私のソースから動作を拾ったので、もし動作が違ったり他に動作するキーがあったら
該当する場所を各自で修正または追加してください

修正箇所は2か所でヘルプの一覧を生成している部分はまるっと追加なので
いつものように行頭の+マーク省略してます

長いのでテキスト共有サービスを利用しました

https://writening.net/page?bUBSJH
パス:193


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板