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

戦国IXA ツールスレPart48

864名無しさん:2023/11/20(月) 11:15:34 ID:QMMpXrjU
改修コードいつもありがとうございます。
>>863私も同じエラーがでてましたが、スキルテーブルの途中に変な場所に改行がありそこを修正したらエラーが出なくなりました。
参考になるといいのですが。

865862:2023/11/20(月) 14:19:50 ID:BanRno4w
>>863
同じエラーを経験しましたが
基本的には説明頂いてる手順+>>860の訂正と
【ixa-skill_table.json5】※新規ファイル作成 で表示されました
これの 拡張子がJson5です
https://gyazo.com/a4c99743c633bdf5ab52a11518fc223e
テキストメモで作成し、名前をそのまま拾って最後に.txtを削除すればできます
開く際は、テキストを開いてから同ファイルをドラッグアンドドロップで開いて普段通り追加記述して保存します
一回開けば関連付けで「このファイルを開くプログラムを〜」にメモ帳アプリが追加されるかと

866名無しさん:2023/11/20(月) 15:29:11 ID:YZ8a4u9E
>>864
>>865
ありがとうございます。
単純な自分の知識不足だったようで、「.json5」という拡張子なんですね。
「ixa-skill_table.json5.js」と、勝手にjsの拡張子を追加してました。
おかげさまでスキル表示されました、ありがとうございました。

867名無しさん:2023/11/20(月) 22:39:55 ID:ulM0eGRM
ID:iOR7Vu4I さん。スキルデータ外部ファイル化対応を有り難うございました。安定稼働中です。

868名無しさん:2023/11/21(火) 15:38:56 ID:iOR7Vu4I
説明不足ですみませんでした
すでに解説頂いたように拡張子が「.json5」です

元々はJSON(.json)で作ろうとしていたのですが
manifest.jsonを色々変えてみるとわかる通り
コメントが書けなかったり、カッコ内の最後にカンマが付いていたりすると
エラーになったりするので派生系のJSON5にしました

json5を利用するためのリソースとして
配布元は公式(json5.org)のところから持ってきているので
無くなったりはしないと思いますが、万が一変更になったりしたら
ここのURLを変更になります

var JSON5_LIBRARY = 'https://unpkg.com/json5@2/dist/index.min.js';

869名無しさん:2023/11/21(火) 17:15:16 ID:iOR7Vu4I
>>862
部隊の一括配置を見てみました

ボタンクリック(通常の動作)で実行した時とmokoから配置した時のネットワークを見てみたところ
全く同じリクエストを送信しても本家はリダイレクトされた後にページが読み込まれるのに対し
mokoの方はリダイレクト後のレスポンスOKが返ってきませんでした
(少しmokoを調整して全く同じにしました)

鯖側で弾いている可能性がありますので
この機能は封印した方が良いかもしれません

もし他の結果が得られた方がいらっしゃいましたら教えてください

870名無しさん:2023/11/21(火) 18:50:59 ID:S0zd8pEA
リアルイベントにはP参戦って書いてあったもんだが今回は無いのな
お面作るの忙しいのかもしれん

871名無しさん:2023/11/21(火) 18:51:49 ID:S0zd8pEA
ごめん、スレ違いw

872862:2023/11/21(火) 22:57:30 ID:Ytr6niMw
>>869
ID:iOR7Vu4Iさんありがとうございます
なるほど、鯖側ではじいてる可能性で一括配置は危ないかもなんですね
推移を見守らせて頂きまするm(_ _"m)

873名無しさん:2023/11/22(水) 10:30:15 ID:bl5Bniyg
>>872
私は一括配置、本丸でも所領でも出来るのでたぶん修正が完璧でないのだと思います
ただ私も所領に移植するのに、だいぶ苦労したので何処を直せばいいのかは個所数が
多すぎて分かりません

874名無しさん:2023/11/22(水) 19:13:39 ID:iOR7Vu4I
>>873
function captainRegistration内の$.ajaxの手前までは処理をしており
その後のthenはDeferredのresolveの方ではなくrejectの方にいきます(rejectのfunctionは追加しました)
getAllResponseHeadersでレスポンスの中身をみると空です
画面から武将配置した時とmokoからした時のフォームデータの比較は
上で言いました通り全く同じです

原因が本当に分からないのですが、
873さんはブラウザの起動時オプションでno-corsを設定していたり、
マニフェストのバージョンを3に上げていなくてmokoをinjectしていなかったりしていませんか?

875名無しさん:2023/11/22(水) 21:17:59 ID:bl5Bniyg
>>874
特にこれといって設定はしておりません。
もちろんmanifestもバージョン3です。
基本ここで出てる修正を行っているだけですが一括配置出来ています。
直している最中、部隊長だけセットされる現象があった気がしますが
どこを直して解消したのかわかりません。
>>611の修正がある程度、知識がないと修正出来ないので、その辺が
怪しいとは思います

876名無しさん:2023/11/23(木) 08:04:28 ID:M05M3a5I
>>862 さんへ
>>611 ご参考: 以下の記事は、プログラミングスキルがある方向けのヒントです。
机上デバッグ、ウオークスルーテストができる方向けの内容になります。

それ以降に色々な具体的な改修内容がコメントされていますので、
これらの方を参考にされることを奨めます。

>もい一つブロックを作って少しだけコードを変える。
の意図は、
本丸防御陣形だけを条件にした処理がある場合は、所領防御陣形用の類似の
処理が必要かどうかを判断して、同じでよければ条件を加えて、別処理なら
分けるという意味になります。

877名無しさん:2023/11/23(木) 09:25:50 ID:iOR7Vu4I
>>875
情報ご提供ありがとうございます
確かに862さんのは部隊IDが取得できませんになっていますので
私のとは違う問題ですね
そこの処理を通っているのであればDeferredはresolveのはずなので

もしかしたら私のはブラウザの問題かもしれません

>>862
876さんが言っているのは、例えば
①本丸/所領のどちらでもやっていい処理なら後ろに所領用の条件を追加する
if (location.pathname != '/card/deck.php' && location.pathname != '/card/defense_formation_deck.php') && location.pathname != '/card/ sub_area_defense_formation_deck.php')) {
//見た目を変えているだけなので本丸と所領の区別必要なし
$('ul.pager').css('padding', '6px 0');
$('ul.pager li').css('margin', '0 1px');
}

※私は本丸と所領をひっくるめて1つの条件にしています
if (location.pathname != '/card/deck.php' && !location.pathname.endsWith('defense_formation_deck.php')) {

②本丸と所領で違う値をセットしたりする場合はブロックを分ける
if (select_assign_no == 6 || select_assign_no == 7) {
free_deck = $ig_unitchoice_reinforce.find('li:contains("[---新規部隊を作成---]")').length;
start_deck = 8 - free_deck;
use_deck = 2 - free_deck;
} else if (select_assign_no == 8) {
free_deck = $ig_unitchoice_assault.find('li:contains("[---新規部隊を作成---]")').length;
start_deck = 8;
use_deck = 1 - free_deck;
} else if ( location.pathname == '/card/defense_formation_deck.php') ) {
use_deck = html.find('div[data-sort="0"] a').length;
free_deck = 5 - use_deck;
start_deck = 5 - free_deck;
//ここから追加(所領は最大列数が4なので)
} else if ( location.pathname == '/card/sub_area_defense_formation_deck.php') ) {
use_deck = html.find('div[data-sort="0"] a').length;
free_deck = 4 - use_deck;
start_deck = 4 - free_deck;
//ここまで追加
} else {
free_deck = $ig_unitchoice.find('li:contains("[---新規部隊を作成---]")').length;
start_deck = 6 - free_deck;
use_deck = 6 - free_deck;

※私は本丸と所領をひっくるめて1つのブロックにしています
} else if ( location.pathname.endsWith('defense_formation_deck.php') ) {
var max_line = location.pathname.indexOf('sub_area_') == -1 ? 5 : 4; //最大列数
use_deck = html.find('div[data-sort="0"] a').length;
free_deck = max_line - use_deck;
start_deck = max_line - free_deck;

878名無しさん:2023/11/23(木) 15:01:45 ID:M05M3a5I
兵士編成の一括セットで、わんだふる杯(仮)β以降、豪族××という兵種が増えて邪魔なので削ってみた。
副作用があるかかは不明ですが、スッキリした。

// 兵種リスト
function createSoldiersList() {
var type_num, now_num, type,
list1 = '', list2 = '';
$('input[id^="pool_unit_cnt"]').each(function() {
now_num = $(this).val();
type_num = ($(this).attr('id').match(/\d+/g) || [''])[0];
type = $('#unit_name_str_' + type_num).val();
if (!type_num) {
return;
}
// わんだふる杯(仮)β 以降、 豪族〇〇という兵種が増えたが、プレーヤーは使えないのでリストに入れないようにする
// list1 += '<option value="' + type_num + '">' + type + '</option>';
// list2 += '<option value="' + type_num + '">' + type + '(' + now_num + ')</option>';
if(!type.includes('豪族')) {
list1 += '<option value="' + type_num + '">' + type + '</option>';
list2 += '<option value="' + type_num + '">' + type + '(' + now_num + ')</option>';
}
});
return [ list1, list2 ];
}

879名無しさん:2023/11/25(土) 08:37:46 ID:iOR7Vu4I
>>878
私のでは出ないのでなんでだろうと思い調べたら
if (!type_num) {
return;
}

の次に

if (type_num >= 347) {
return true;
}
が入っていました
type_num347以降は訓練兵です
ただイベント兵(過去のサンタやキューピッドなど)が対象外になってしまうので
どのみちその都度対応しないとではありますが

880862:2023/11/26(日) 03:21:28 ID:0tkRQ.9s
>>873
やはり直せてない所があるということなんですね;
>>876 ID:M05M3a5Iさん
情報ありがとうございます。なかなか不出来な私には難しいようで><
>>877 ID:iOR7Vu4Iさん
ありがとうございます
&& のほう(>>611の中段)は①のような記述に
|| のほう(611の上段)は
if (location.pathname == '/card/deck.php' || location.pathname.endsWith('defense_formation_deck.php')) {
としておりました
2つに関しては打ち漏れはなさそうな‥(記述が間違ってる?)

で問題は>>611の下段の
location.pathname == '/card/defense_formation_deck.php'  単体〜というのが
あまりよくわかってなくて検索したところをどう書き換えていいのやらで;
上記が本丸陣形のURLのパス名というのはわかるのですが
ブロックをもう一個作るとは所領のURLのパス名('/card/sub_area_defense_formation)の記述を
&や||でつなぐのか
if ( location.pathname == '/card/defense_formation_deck.php' )
の下に
if ( location.pathname == '/card/sub_area_defense_formation_deck.php )
とか並記で書けばいいのかまったくわからず><

https://gyazo.com/fa87156b509e3ac871cc433df6ff7795
部隊IDが取得できませんで1武将だけ登録して固まる状態のままです

②は
} else if ( location.pathname == '/card/defense_formation_deck.php') ) {
から
//ここまで追加 までの部分を
下に書いていただいてる ※私は本丸と所領を〜
の5行に差し替え頂きました

881名無しさん:2023/11/26(日) 03:58:06 ID:iOR7Vu4I
>>880
長いので最初の説明は
location.pathname → パス
'/card/defense_formation_deck.php' → 本丸
'/card/sub_area_defense_formation_deck.php' → 所領
とします

パス == 本丸 や パス != 本丸 の後ろに
パス == 所領 や パス != 所領 を追加するので基本的にOKです(本丸の前に通常部隊の式があっても同じです)
パスと所領の間の演算子は、本丸の方が==だったら所領も==で、!=だったら所領も!=です
追加する時につなぐ演算子はパスと本丸の間が==だったら||で、!=だったら&&で大丈夫です

例えば実際のif文ですと

[修正前]
if (location.pathname == '/card/defense_formation_deck.php') {

[修正後]
if (location.pathname == '/card/defense_formation_deck.php' || location.pathname == '/card/sub_area_defense_formation_deck.php') {

になりますし、手前に通常部隊の式が入っているバージョンの場合は

[修正前]
if (location.pathname != '/card/deck.php' && location.pathname != '/card/defense_formation_deck.php') {

[修正後]
if (location.pathname != '/card/deck.php' && location.pathname != '/card/defense_formation_deck.php' && location.pathname != '/card/sub_area_defense_formation_deck.php') {

になります

ただし>>877でもある通り、本丸と所領でが仕様が違う等(列の数やコストの表示位置など)の場合は
単純にif文を繋げただけだと正しい動作にならないです

882名無しさん:2023/11/26(日) 04:03:05 ID:iOR7Vu4I
ブロックを作るというのは、>>881の②で言っている本丸と所領で違う記述をする場合です

これは>>877の「//ここから追加(所領は最大列数が4なので)」の部分を参考にしてください

883名無しさん:2023/11/26(日) 05:24:20 ID:M/KZBRAo
お世話になってます。
ふと画面を見たら影城主を表示している状態でセッションタイムアウトしそうだったので[時間リセット]ボタンをクリックしたら「影城主の登録がありません」のエラーダイアログが表示されました。
前提を確認する判定式の追加で対応可能に見受けられますが良き改修案はございますでしょうか。

884名無しさん:2023/11/27(月) 08:58:40 ID:iOR7Vu4I
>>883
そちら恐らく私がだいぶ前に作ったもので、最新版はこちらになります

// セッションタイムアウト更新(影城主登録必須)
function resetSessout() {
var switchUser = function(time) {
var def = new $.Deferred,
flg = false,
sendSwitch = function(time, def) {
Info.log('ユーザー切替中...');
$.ajax({
type: 'post',
url: '/user_change.php',
beforeSend: xrwStatusText,
}).then(function() {
if (flg) {
setTimeout(function(){def.resolve();}, time * 1000);
}
else {
flg = true;
setTimeout(sendSwitch.bind(null, time, def), time * 1000);
}
});
}

sendSwitch(time, def);

return def.promise();
}

$('<input type="button" value="時間リセット" />')
.css({
'border': '.5px #fff solid',
'font-family': '"MS P明朝","細明朝体","ヒラギノ明朝 Pro W3"',
'font-weight': 'bold',
'color': '#f5f5f5',
'background-color': '#9A2B25',
'border-radius': '4px',
'box-shadow': '0 0 1px #000',
'text-shadow': '0 0 2px #000',
'font-size': '8px',
'width': '58px',
'height': '16px',
'margin-left': '6px'
})
.on('click', function() {
if ($('p.profile_head.unregist').length) {
alert('影城主未登録のため城主切替によるセッションタイムアウトの更新ができません');
return false;
}
$(this).prop('disabled', true).css('background-color', 'gray');
nowLoading();
Info.title('セッションタイムアウトを更新中...');
Info.log('更新開始');
var new_time = ~~(new Date() / 1000);
login_data.endtime = new_time;
setStorage('ixamoko_login_data', login_data);
window.document.getElementById('ixamoko_sessout').remove();
timeoutCountdown();
$(this).appendTo('#ixamoko_sessout');
switchUser(1.5).then(function() {
Info.log('完了処理中...');
setTimeout(Info.title, 1500, '完了', location.href.split('#')[0]);
});
})
.appendTo('#ixamoko_sessout');
}

885862:2023/11/27(月) 12:06:50 ID:WC0HTZWc
>>881.882
細かく説明ありがとうございます;
旧来の方式>>611で説明頂いた記述、>>877>>833ひっくるめて1つの条件の記述
どっちの両方法で作成したものの打ち漏れはない気はしているのですが、どこかミスをしたままなのか
部隊長IDが取得できずは直りませんでした;

4武将を1部隊にではなく、「部隊長を一括配置モード」は
https://gyazo.com/dfd267790a81bff1e277db084a7866cd
https://gyazo.com/6b058aa72a4d47ce8810f0c25b3d4406
コスの計算部分が本領と所領が8+0で80/60と21で6021など変な表記はありますが普通に動きます

単体の場合?のif (location.pathname == '/card/defense_formation_deck.php') {
については>>881の例示の記述を頂きました

「本丸と所領でが仕様が違う等(列の数やコストの表示位置など)」に関しては具体的な箇所が
例示の // 「デッキ 使用状態の取得」の箇所以外わからずで、手が出せませんでした;

886862:2023/11/27(月) 12:18:04 ID:WC0HTZWc
else if 本領(本丸)であれば 〜 最大5列なので 5-使用数=FREEDECK 配置開始箇所はそのFREEDECK以降にセットしろ
else if 所領であれば 〜 最大4列なので 〜
というブロックを作るという意味はたぶん理解はできましたが、具体的な科目(箇所)がやはりわかりませんでした_| ̄|○すみません

887862:2023/11/27(月) 14:01:11 ID:WC0HTZWc
たびたびすみません
古いモコの方では部隊長ID取得できないというエラーはでなかったので
記述の差分を少しずつ戻していったところ
>>767 の
+ var idx = 9;
+ var idx = 14;

- $img = $html.find('img[alt="解散"]').eq(start);
+ $img = $html.find('img[alt="解散"]').eq(start - idx);
の三カ所を元に戻すと部隊長ID取得され4武将配置できるようになりました
>>611の修正を取り込んでることを前提に行頭に+-を付けてますが と注記があるのでそもそも失敗してるからこの修正をするとずれたりしてるという事かな)
その再のコストの表示も8/60など正しいコス表記に戻りました
ただ所領の方は未だに一括配置はできないままですが汗

色々漏れがあるというだけなんでしょうね…

888名無しさん:2023/11/27(月) 14:38:08 ID:iOR7Vu4I
>>887
そこのところは私もちょこちょこいじっていて
start - idx
ではなく
start
になってました
get_deck_statusは関連している部分が多いので影響調査が完全に終わっていないです
そして相変わらず私のはレスポンスが返ってこないので動作確認できません・・・

889名無しさん:2023/11/27(月) 14:40:46 ID:iOR7Vu4I
>>883
すみません、>>884を少し編集しました

// セッションタイムアウト更新(影城主登録必須)
function resetSessout() {
var switchUser = function(time) {
var def = new $.Deferred,
flg = false,
user_arr = ['本', '影'];
if (document.body.classList.contains("current_owner_sub")) {
user_arr = user_arr.reverse();
}
var sendSwitch = function(time, def) {
Info.log(user_arr[0] + '城主 ⇒ ' + user_arr[1] + '城主 切替中...');
$.ajax({
type: 'post',
url: '/user_change.php',
beforeSend: xrwStatusText,
}).then(function() {
if (flg) {
setTimeout(()=>def.resolve(), time * 1000);
}
else {
flg = true;
user_arr = user_arr.reverse();
setTimeout(sendSwitch.bind(null, time, def), time * 1000);
}
});
}
sendSwitch(time, def);
return def.promise();
}

$('<input type="button" value="時間リセット" />')
.css({
'border': '.5px #fff solid',
'font-family': '"MS P明朝","細明朝体","ヒラギノ明朝 Pro W3"',
'font-weight': 'bold',
'color': '#f5f5f5',
'background-color': '#9A2B25',
'border-radius': '4px',
'box-shadow': '0 0 1px #000',
'text-shadow': '0 0 2px #000',
'font-size': '8px',
'width': '58px',
'height': '16px',
'margin-left': '6px'
})
.on('click', function() {
if ($('p.profile_head.unregist').length) {
alert('影城主未登録のため城主切替によるセッションタイムアウトの更新ができません');
return false;
}
$(this).prop('disabled', true).css('background-color', 'gray');
nowLoading();
Info.title('セッションタイムアウトを更新中...');
Info.log('更新開始');
var new_time = ~~(new Date() / 1000);
login_data.endtime = new_time;
setStorage('ixamoko_login_data', login_data);
window.document.getElementById('ixamoko_sessout').remove();
timeoutCountdown();
$(this).appendTo('#ixamoko_sessout');
switchUser(1.5).then(function() {
Info.log('完了処理中...');
setTimeout(Info.title, 1500, '完了', location.href.split('#')[0]);
});
})
.appendTo('#ixamoko_sessout');
}

890名無しさん:2023/11/27(月) 14:50:43 ID:iOR7Vu4I
>>487
今更ですがこれ作ってみました

// === 合成・取引・アルバム ===

//ここからまるっと追加(+マーク省略)
function gotoLvUp() {
if (location.pathname != '/union/learn_result.php') {
return;
}
if (!$('img[alt="合成成功"]')) {
return;
}

var $p = $('<p class="union_result_form_btn goto_btn">'),
cid = $('div[id^="cardWindow_"]').attr('id').match(/\d+/);
$('<a>')
.attr('href', 'javascript:void(0);')
.on('click', function() {
if (!cid) {
alert('カードIDが取得できませんでした');
return false;
}
$.ajax({
type: 'post',
url: '/union/levelup.php',
data: {'union_type': 1},
beforeSend: xrwStatusText,
}).then(function(html) {
$.getScript(CACHE_PASS + '/js/union.js', function() {
$(document).find('form').children().unwrap();
var $deck_file = $(html).find('#deck_file');
$('body').append($deck_file.hide());
select_card(cid, 1);
});
});
})
.appendTo($p)
.append('<img src="' + CACHE_PASS + '/img/union/btn_skillup.png" alt="スキル強化">');

$('.back_btn').after($p);
$('.goto_btn').css({
'margin': '10px 0',
'width': '740px',
'height': '40px',
'display': 'block',
});
$('[alt="スキル強化"]').css({
'width': '120px',
'height': '40px',
'opacity': '1',
});
}
//ここまで

// 合成:スキル強化・削除で対象が一つの場合のみ自動チェック
function oneAutoCheck() {
if (!options.one_auto_check) {


かなり下


+ gotoLvUp(); // union
oneAutoCheck(); // union
unionCardCheck(); // union

891862:2023/11/27(月) 21:46:51 ID:WC0HTZWc
>>888
たびたびありがとうございます 
9と14は 有効にし
$img = $html.find('img[alt="解散"]').eq(start); の記述だけそのままにしても
確かに問題なく組めるようです
あいかわらず所領は組もうとすると動くものの本領に組んでしまうので
きっとどこか漏れてるんだろうなあ…
所領さえ諦めれば一先ず問題はなさそうなので様子をみますね
ありがとうございましたm(_ _"m)

892名無しさん:2023/11/27(月) 23:23:15 ID:iOR7Vu4I
>>891
データを送信する時に付与する値にselect_assign_noというパラメータがあり、これが本丸は9で所領は14です

所領の時は14、という処理が抜け落ちているので所領画面でも本丸に組まれてしまうのだとおもいます

893名無しさん:2023/11/28(火) 21:18:23 ID:M/KZBRAo
ID:iOR7Vu4I さん。多忙で返信が遅くなりすみませんでした。
>>889 >>890とも取り込ませていただきました。動作良好かと思います。有り難うございました。

894名無しさん:2023/12/01(金) 16:55:15 ID:M/KZBRAo
>>889 ID:iOR7Vu4I さん。
[時間リセット]ボタンクリック時にもしかして本城主のセッションタイムアウトまでの時間がリセットされてない?
という事象を確認しています(あと数分の表示になる)。
まだメンテが明けていないので前提条件やら操作やら再現性やらのお知らせはのんびりお待ちくださいませ(というかすんげー残業予定有りですw)。

895名無しさん:2023/12/01(金) 17:10:58 ID:M/KZBRAo
>>894 について。
メンテ明けで今すぐ出来る確認をしてみました。本城主でのみの操作です。
1.セッションタイムアウト表示の状態でログイン
2.[時間リセット]をクリック
3.完了処理後、やはりセッションタイムアウト表示のまま
想定した仕様通りという事でしたらその旨ご回答ください。どうぞ宜しくお願い申し上げます。
https://imgur.com/44bWgIT

896名無しさん:2023/12/01(金) 21:11:59 ID:M/KZBRAo
>>895 続いてほったらかしにしていて残り31分48秒の時点で本城主で操作した場合になります。
1.画面を確認して[時間リセット]をクリック
2.セッションタイムアウト更新操作が行われる
3.完了後のセッションタイムアウト残り時間が3時間になっておらず残り31分07秒の状態になっている。
https://imgur.com/9bBLo3j

897名無しさん:2023/12/02(土) 01:06:53 ID:M05M3a5I
>>891
9とか14のマジックナンバーこういうことです。

通常デッキが0から5(6部隊)、加勢が6と7(2部隊)、強襲が8(1部隊)、
本丸が9から13(5部隊)、所領が14から17(4部隊)となります。

このあたりが、サックと見抜けたら改造ポイントも割と早く分かります。

898名無しさん:2023/12/02(土) 01:48:17 ID:iOR7Vu4I
>>896
セッションタイムアウトの状態でログインしている事がおかしいので
まず>>728の暫定対応を導入していたら、前半のelse if全部と後半のelseの暫定対応部分は削除してください
その後>>805を対応してください

899名無しさん:2023/12/02(土) 04:48:55 ID:M/KZBRAo
>>898 ID:iOR7Vu4Iさん。返信を有り難うございます。
ご指示の通りに>>728の改めての適用後に暫定対応箇所を2箇所撤廃し、>>805の対応を全て洗い替えしました。

この状態で本城主で[時間リセット]を行った結果が下図の通りになります。
2時間59分59秒程度にリセットして欲しかった所、期待通りに動作していない模様です。
https://imgur.com/bScqeVy
何か気になる点がありましたらご助言戴けますと幸いです。
ログイン時の挙動については明日にでも確認してみます。

900名無しさん:2023/12/02(土) 08:55:00 ID:iOR7Vu4I
>>899
切替前にリセット処理をしてしまっていたので切替にかかった時間が経過していました
切替後の画面更新前にリセット処理をするようにしました

// セッションタイムアウト更新(影城主登録必須)
function resetSessout() {
if ($('p.profile_head.unregist').length) {
return;
}

function switchUser(time) {
var def = new $.Deferred,
flg = false,
user_arr = ['本城主', '影城主'];
if (document.body.classList.contains("current_owner_sub")) {
user_arr = user_arr.reverse();
}
var sendSwitch = function(time, def) {
Info.log(user_arr[0] + ' ⇒ ' + user_arr[1] + ' 切替中...');
$.ajax({
type: 'post',
url: '/user_change.php',
beforeSend: xrwStatusText,
}).then(function() {
if (flg) {
setTimeout(()=>def.resolve(), time);
}
else {
flg = true;
user_arr = user_arr.reverse();
setTimeout(sendSwitch.bind(null, time, def), time);
}
});
}
sendSwitch(time, def);
return def.promise();
}

$('<input type="button" value="時間リセット" />')
.css({
'border': '.5px #fff solid',
'font-family': '"MS P明朝","細明朝体","ヒラギノ明朝 Pro W3"',
'font-weight': 'bold',
'color': '#f5f5f5',
'background-color': '#9A2B25',
'border-radius': '4px',
'box-shadow': '0 0 1px #000',
'text-shadow': '0 0 2px #000',
'font-size': '8px',
'width': '58px',
'height': '16px',
'margin-left': '6px'
})
.on('click', function() {
$(this).prop('disabled', true).css('background-color', 'gray');
nowLoading();
Info.title('セッションタイムアウト更新 - ixamoko');
Info.log('更新開始');
$(this).appendTo('#ixamoko_sessout');
switchUser(1500).then(function() {
Info.log('完了');
login_data.endtime = ~~(new Date() / 1000);
setStorage('ixamoko_login_data', login_data);
$('#ixamoko_sessout').remove();
timeoutCountdown();
Info.title('完了', location.href.split('#')[0]);
});
})
.appendTo('#ixamoko_sessout');
}

901名無しさん:2023/12/02(土) 09:59:20 ID:4OTXG5yI
//2023.12
"特.転歌.A": ["特.転歌.A", "特.転歌.A", "特.風狂幻術.B", "特.入来神舞.S", "特.入来神舞.S"],
"防.北咲王花.A": ["防.豊家ノ滅塞.B", "防.豊家ノ滅塞.B", "防.龍神ノ加護.A", "防.戦陣 凪.A", "防.戦陣 無縫.A"],
"特.叛虐之貴公子.S": ["特.叛虐之貴公子.S", "特.叛虐之貴公子.S", "攻.開闢ノ逆鉾.SS", "攻.十束ノ神域.SS", "攻.十束ノ神域.SS"],
"防.聖夜ノ慈姫.S": ["防.聖夜ノ慈姫.S", "防.聖夜ノ慈姫.S", "防.禍津日神ノ謀.SS", "防.黄泉醜女ノ屍兵.SS", "防.黄泉醜女ノ屍兵.SS"],

"防.関東代官頭.C": ["防.関東代官頭.C", "防.関東代官頭.C", "防.関東代官頭.C", "防.宇和ノ歌将.C", "防.絶界煉獄.B"],
"防.乱世ノ残響.C": ["防.乱世ノ残響.C", "防.乱世ノ残響.C", "防.乱世ノ残響.C", "防.百万石長壁.B", "防.死出ノ田長.B"],
"攻.強虔ノ使徒.C": ["攻.強虔ノ使徒.C", "攻.強虔ノ使徒.C", "攻.強虔ノ使徒.C", "攻.孤炎.A", "攻.八虐無道.B"],

902名無しさん:2023/12/02(土) 14:55:15 ID:M/KZBRAo
>>900 ID:iOR7Vu4I さん。
色々とご対応くださり有り難うございます。
恐らく私が>>894>>899 で書いた意図が伝わっていないと思い改めて困っている点をお知らせしますね。
1.IXAのセッションタイムアウトしました画面が表示されていて改めてログインし直した時
  →「セッションタイムアウトまで 00:00:00」の赤表示になっている。
2.1.の状態から[時間リセット]をクリックした場合→リセット処理は行われるがタイムアウト時間が2時間59分50ウン秒に直る訳ではなく
  →「セッションタイムアウトまで 00:00:00」の赤表示が引き続き表示される。
3.>>899で示した内容ですがセッションタイムアウトしていない状態で[時間リセット]を行った場合
  →タイムアウト時間が2時間59分50ウン秒に直る訳ではなく、恐らく処理に要した秒数だけ残り時間が減っただけに見受けられる。
という次第です。

もしID:iOR7Vu4Iさんが1.も2.も3.もちゃんとリセットがかかって
タイムアウト時間が2時間59分50ウン秒に直っていますよという事でしたら
こちらのMOKOと大前提が違っていると思われますので改めて相談させて戴けますか。
どうぞ宜しくお願いいたします。

添付画像は >>900 適用後の挙動になります。
https://imgur.com/undefined

903名無しさん:2023/12/02(土) 15:41:57 ID:iOR7Vu4I
>>902
問題の切り分けが必要ですね
開発ツールのアプリケーションタブからローカルストレージを見てみて、
ixamoko_login_dataは正しく入っていますでしょうか?
章、ログイン時間(endtime)、期、ワールドが入っているはずです

ログイン時間は1970/1/1からの経過時間なので
エクセルか何かで計算しないとなので
A1セル→1970/1/1 を入力(固定値)
A2セル→endtimeの数値を入力
A3セル→以下の式を入力
=text(A1+(A2+32400)/86400,"yyyy/mm/dd hh:MM:ss")

これでちゃんとログインした時間が取れているか確認してください

904名無しさん:2023/12/02(土) 16:09:32 ID:iOR7Vu4I
話ぶった切りですが、最近イベントで期間限定で兵士パラメータが変わる事が多いので
実施期間と変更後の兵士パラメータを追記(書き直すのでもOK)すると
その期間だけ兵士パラメータを変更してくれるロジックを組み込みました

ちょっと分かりにくくてすみませんが、
//=== 期間限定の… start ===//から
//=== 期間限定の… end ===//までをまるっと追加です

次のイベントで変更があった時は
/*** 該当の期間と… ここから ***/から
/*** 該当の期間と… ここまで ***/までをコピって下に追記します
(追記でも問題ありませんが、それだけ処理が増えるので書き直しのが良いです)

簡単な英語が分かれば分かると思いますが、開始時刻・終了時刻をいれて
26の部分は章で、兵科名称と攻撃力・防御力・移動速度・破壊力
(今回は上級兵の攻撃と速度だけ)を書けばOKです

var SOLDIER = (function() {
var soldier_data = {
npc: {
"浪人" : { …長いので省略…

},
26: {
"足軽" : { …長いので省略…

},
};

//=== 期間限定の兵士パラメータ対応 start ===//
/*** 該当の期間とパラメータ設定 ここから ***/
var unixTime = new Date(), startTime = [], endTime = [], specialParam = {}; // 変更不要
// 2023.12 夜襲戦
// 期間①
startTime.push('2023/12/16 10:00:00');
endTime.push('2023/12/19 1:00:00');
// 期間②
startTime.push('2023/12/22 10:00:00');
endTime.push('2023/12/25 1:00:00');
// 変更後の兵士パラメータ
specialParam = {
26: {
"武士": {attack: 29, moving: 19},
"弓騎馬": {attack: 31, moving: 23},
"赤備え": {attack: 30, moving: 24}
}
};
/*** 該当の期間とパラメータ設定 ここまで ***/

var len = startTime.length;
if (startTime.length > endTime.length) {
len = endTime.length;
}
for (var i = 0; i < len; i++) {
if (unixTime >= new Date(startTime[i]) && unixTime <= new Date(endTime[i])) {
var keys1 = Object.keys(specialParam);
for (var j = 0; j < keys1.length; j++) {
var key1 = keys1[j];
if (soldier_data[key1]) {
var keys2 = Object.keys(specialParam[key1]);
for (var k = 0; k < keys2.length; k++) {
var key2 = keys2[k];
if (soldier_data[key1][key2]) {
Object.assign(soldier_data[key1][key2], specialParam[key1][key2]);
}
}
}
}
}
}
//=== 期間限定の兵士パラメータ対応 end ===//

function SOLDIER() { return $.extend({}, data); }

$.extend(SOLDIER, {

905名無しさん:2023/12/02(土) 16:10:59 ID:M/KZBRAo
>>903 ID:iOR7Vu4I さん。ご返信を有り難うございます。
ご指示の通りにixamoko_login_dataを取り出し1970/1/1とendtimeを用いて
式に当てはめてみました。結果1959/04/23 14:46:40という想定していなかった値が返ってきました。
PCのシステム日時は手元の電波時計と同じ時刻を指しており、タイムゾーンも「UTC+09:00 大坂、札幌、東京」となっております。
またChromeの優先言語も日本語が1位(英語が2位)となっています。
示している年からしておかしいとは悩ましいです・・・。おま環案件でしょうか。
https://imgur.com/undefined

906名無しさん:2023/12/02(土) 16:13:34 ID:M/KZBRAo
>>905 の画像アドレスはコピペミスです。失礼しました。正しくはこちらです。
https://imgur.com/N3lXp8o

907名無しさん:2023/12/02(土) 17:14:19 ID:iOR7Vu4I
>>905
ログイン時間は鯖選択画面で鯖画像をクリックした時にCookieに現在時刻を保存して
ワールドに入ったらそのCookieから値を取得してixamoko_login_dataに格納しています

Cookieにおかしな値が残っている可能性がありますので
Cookieの全クリアを試してみてください
また、ixamoko_login_dataにtimeという見慣れないキーがありますので、ローカルストレージもクリアしてみてください
やり方はググれば出ると思います
(プラットフォームの再ログインが必要になるかもしれません)

908名無しさん:2023/12/02(土) 18:38:50 ID:M/KZBRAo
>>907 ID:iOR7Vu4Iさん。度々の返信を恐縮です。
キャッシュの削除→IXAへの認証ログオン→ローカルストレージの全クリア→もっかいログオンしてから
検証画面を呼び出してendtimeを取り出して同様の操作をした画像を添付します。
全て本城主での操作です(影城主に切り替えるとそこでセッションタイムアウト値が正しくリセットされる為)。
検証画面を呼び出したのが電波時計で18時31分ジャスト頃だったのですが求められた値は18時28分になっている様ですね。
そして[時刻リセット]をクリックして作業が完了してもやはり赤い「セッションタイムアウトまで云々」の表示が続きます。
IXAタイムが電波時計よりも3分弱遅れている事が何か起因しているのでしょうか。
度々お時間を奪ってしまい恐縮ですが見当がつく範囲で何か気づいた点をお知らせ戴けますと。
https://imgur.com/pydGrdP

909名無しさん:2023/12/02(土) 18:45:28 ID:M/KZBRAo
>>908
補足させていただきますが別のPCでKhronosの本城主版・影城主版が動作しています。
見慣れないという"time"項目はそちらから書き込まれているのかもしれません。

910名無しさん:2023/12/02(土) 19:53:23 ID:iOR7Vu4I
>>908
ixamoko_login_dataに記録されるのはIXAタイムではなくPCの時刻です
IXAタイムは鯖の時刻(マップ画面以外)で、別物です
3分もズレるとは考えづらいので、恐らくそれは前回影城主に切り替えた時にセットされたものと考えられます
(ワールドに入ってからは正常に動作していると想定されます)
なので、ixa-login.user.js側に問題があって、Cookieに正しい値がセットされていないと思います
もう1度ixa-login.user.jsを>>805に全置き換えして拡張機能からmokoを削除して、
再度mokoを拡張機能に追加したらいかがでしょう?

911名無しさん:2023/12/02(土) 20:11:02 ID:M/KZBRAo
>>910 ID:iOR7Vu4Iさん。度々恐縮です。
従来ixa-login.user.jsに記述されていた内容を全て消去して>>805の内容を貼り付けて同様の確認を行いました。
計測タイミング:20時4分53秒に対して割り出された時間は20時4分38秒となりかなり近づきました。
https://imgur.com/7jBxwJR
但し、[時間リセット]クリックによりセッションタイムアウトが伸びる挙動はまだみられません。
リセット作業に要した秒数分だけただ減少している様に見受けられます。
あまりお時間を取らせるのも申し訳ありませんので今日はこの位で失礼します。
色々と有り難うございます。

912名無しさん:2023/12/02(土) 20:18:42 ID:iOR7Vu4I
>>911
そうしましたら、最後に

もう原因はこのどちらかかと思いますので両方ごっそり置き換えてみてください

// === Cookie ===

// クッキーに登録したログイン時間を取得
if (getCookie('im_st')) {
login_data.endtime = getCookie('im_st');
setStorage('ixamoko_login_data', login_data);
document.cookie = 'im_st=0; expires=Fri, 31-Dec-1999 23:59:59 GMT; domain=.sengokuixa.jp; path=/;';
}

// クッキーに登録した 章・期の取得
if (getCookie('chapter')) {
var shred = getCookie('chapter').split('-');
login_data.world = shred[0];
login_data.chapter = shred[1];
login_data.season = shred[2];
setStorage('ixamoko_login_data', login_data);
document.cookie = 'chapter=; expires=Fri, 31-Dec-1999 23:59:59 GMT; domain=.sengokuixa.jp; path=/;';
}

// login_dataがない場合
if (!Object.keys(login_data).length) {
location.href = '/false/login_sessionout.php';
return false;
}

// ^ Cookie



// ログイン・タイムアウトのカウントダウン
function timeoutCountdown() {
if (!options.timeout_countdown) {
return;
}
var totime = 0;
var sec = 0;
if (login_data.endtime) {
totime = parseInt(login_data.endtime, 10) + 3 * 60 * 60;
sec = totime - getUnixTime();
}
var timeText = timeStringConvert(sec),
chapter, season, html;
if (login_data.world) {
chapter = login_data.chapter;
season = login_data.season;
} else {
chapter = ' - ';
season = ' - ';
}
html = '<div id="ixamoko_sessout" style="font-size: 11px;">' + chapter + '章' + season + '期 セッションタイムアウトまで ' + '<span id="ixamoko_countdown" data-totime="' + totime + '">' + timeText + '</span>' + '</div>';
$('#lordSiteArea').hide();
$(html).appendTo('#lordNameBox');
var countdownTimer = 0,
countDown = function() {
$('#ixamoko_countdown').each(function() {
var totime = parseInt($(this).data('totime'), 10),
sec = totime - getUnixTime(),
timeText = timeStringConvert(sec);
$(this).html(timeText);

// 残り時間による色変更
if (sec < 0) {
$('#ixamoko_sessout').css({
'background-color': 'crimson',
'color': 'white'
});
clearTimeout(countdownTimer);
} else if (sec < 600) {
$('#ixamoko_sessout').css({
'background-color': 'crimson',
'color': 'white'
});
} else if (sec < 1800) {
$('#ixamoko_sessout').css('color', 'yellow');
}
});
countdownTimer = setTimeout(countDown, 1000 - new Date().getMilliseconds());
};

countDown();
}

913名無しさん:2023/12/02(土) 20:39:36 ID:M/KZBRAo
>>912 ID:iOR7Vu4Iさん。ドンピシャでした。
残り2時間23分40秒の時点で[時間リセット]をクリックした所、残り2時間59分59秒になってくれました。
// === Cookie ===の処理は今年の9月17日かな?に改修を行っておりますが// ログイン・タイムアウトのカウントダウンは未改修でした。
どこかに対応漏れがあったのではないかと思われます。本当に有り難うございました。

914名無しさん:2023/12/02(土) 23:52:14 ID:iOR7Vu4I
あと、同盟員に好評だったのでこちらも公開します

return dungeon_troops_next(list);
});
}

// 秘境 全部隊最大補充 ここから
function dungeonMaxFillUp() {
if (location.pathname != '/facility/dungeon.php') {
return;
}
if (!$('.table_waigintunit').length) {
return;
}
if (($('.table_waigintunit').map((k,m)=>$(m).find('tr:eq(0) td.radio_frame input').length).get()).every(v=>!v)) {
return;
}

$('<div id="mk_fill_up_command">')
.css('margin-bottom', '5px')
.on('click', function() {
var $on = $('ul.map_detail_mucountry li.on');
if (!$on.length) {
alert('拠点が選択されていません');
return false;
}
var usp = new URLSearchParams();
usp.set('x', $on.data('village_x'));
usp.set('y', $on.data('village_y'));
usp.set('c', $on.data('village_c'));
$('.table_waigintunit').each(function() {
var $input = $(this).find('tr:eq(0) td.radio_frame input');
if ($input.length) {
usp.append('unit_assign_ids[]', $input.val());
}
});
usp.set('all', 1);
usp.set('operation_type', 1);
nowLoading();
Info.title('全部隊最大補充 - ixamoko');
Info.log('全部隊を最大補充中...');
$.ajax({
type: 'post',
url: '/map/unit_operation_if.php?' + usp.toString(),
beforeSend: xrwStatusText,
}).then(function(html) {
var $msg = $(html).find('div[class^="map_detail_info_message_"]');
if (/success/.test($msg.attr('class'))) {
Info.log($msg.text());
}
else {
Info.ng($msg.text());
}
sleep(1).then(function() {
Info.log('完了');
Info.title('全部隊最大補充 - ixamoko', location.pathname);
});
});
})
.append('<img src="' + CACHE_PASS + '/img/map/map_detail/btn_jibutai_all_replenish.png" alt="全員を最大補充">')
.insertBefore('.table_waigintunit:eq(0)');
}
// 秘境 全部隊最大補充 ここまで

// 秘境 部隊の兵種と兵数を表示
function dungeonSoldiers() {
if (location.pathname != '/facility/dungeon.php') {

……
かなり下
……

dungeonCheck(); // facility/dungeon
+ dungeonMaxFillUp(); // facility/dungeon
dungeonSoldiers(); // facility/dungeon

もし↓これがなかったら本影切り替えのfunction userChange()付近にでも追加しておいてください
(過去に公開していたと思います)
// 処理待機
function sleep(time) {
var objDef = new $.Deferred;
setTimeout(function() {
objDef.resolve(time);
}, time * 1000);
return objDef.promise();
}

915名無しさん:2023/12/03(日) 06:20:39 ID:M05M3a5I
>>914 すみません。想像は尽きますが、
ソースを読めない人には何のことやらだと思います。
どうゆう要件(または不具合)で修正したのかは書いておいた方がよいです。
ソースコメントでも構わないと思います。

916名無しさん:2023/12/03(日) 07:34:20 ID:iOR7Vu4I
>>915
すみません、秘境の全部隊最大補充の機能追加です

917名無しさん:2023/12/03(日) 19:26:14 ID:iOR7Vu4I
あと気になっていたのが合成のリンクのidの数字です
ただの連番ではなく意味のある数字なので公式と同じにしています
(私は合成のカテゴリだけで1つにしていますが、カテゴリが「くじ他」になっている人もいると思います)

'<li id="合成" class="mk_sub_menu" style="padding-top:12px;"><a href="/union/index.php"><font color="tomato">合成</font></a>' +
'<div>' +
'<a href="/union/index.php">合成【一覧】</a>' +
'<a href="javascript:void(0);" id="comp_7">レベルアップ</a>' +
'<a href="javascript:void(0);" id="comp_4">ランクアップ</a>' +
'<a href="javascript:void(0);" id="comp_2">スキル追加</a>' +
'<a href="javascript:void(0);" id="comp_1">スキル強化</a>' +
'<a href="javascript:void(0);" id="comp_5">特殊合成</a>' +
'<a href="javascript:void(0);" id="comp_3">スキル削除</a>' +
'<a href="javascript:void(0);" id="comp_12">一気ランクアップ</a>' +
'<a href="javascript:void(0);" id="comp_10">道場-習得編-</a>' +
'<a href="javascript:void(0);" id="comp_11">道場-強化編-</a>' +
'<a href="javascript:void(0);" id="comp_9">カード圧縮</a>' +
'<a href="javascript:void(0);" id="comp_13">Xスキル獲得</a>' +
'<a href="/union/union_history.php">合成履歴</a>' +
'</div>' +
'</li>';

下のSwitch文のところも合わせて修正が必要です

$('a[id^="comp_"]').on('click', function() {
var type = $(this).attr('id').match(/\d+/)[0];
var url;
switch (type) {
case '7': url = '/union/expadd.php';
break;
case '4': url = '/union/rankup.php';
break;
case '2': url = '/union/learn.php';
break;
case '1': url = '/union/levelup.php';
break;
case '5': url = '/union/special.php';
break;
case '3': url = '/union/remove.php';
break;
case '12': url = '/union/bulk_rankup.php';
break;
case '10': url = '/union/dojo_learn.php';
break;
case '11': url = '/union/dojo_lvup.php';
break;
case '9': url = '/union/compression.php';
break;
case '13': url = '/union/learn_xskill.php';
break;
default: url = '/union/index.php';
break;
}
$.form({
type: 'post',
url: url,
data: {
union_type: type
}
});
return false;
});

918名無しさん:2023/12/04(月) 09:13:15 ID:R7G6qT6M
//2023.12
"特.転歌.A":["特.転歌.A","特.転歌.A","特.風狂幻術.B","特.入来神舞.S","特.入来神舞.S"],
"防.北咲王花.A":["防.豊家ノ滅塞.B","防.豊家ノ滅塞.B","防.龍神ノ加護.A","防.戦陣 凪.A","防.戦陣 無縫.A"],
"特.叛虐之貴公子.S":["特.叛虐之貴公子.S","特.叛虐之貴公子.S","攻.開闢ノ逆鉾.SS","攻.十束ノ神域.SS","攻.十束ノ神域.SS"],
"防.聖夜ノ慈姫.S":["防.聖夜ノ慈姫.S","防.聖夜ノ慈姫.S","防.禍津日神ノ謀.SS","防.黄泉醜女ノ屍兵.SS","防.黄泉醜女ノ屍兵.SS"],
"防.関東代官頭.C":["防.関東代官頭.C","防.関東代官頭.C","防.関東代官頭.C","防.宇和ノ歌将.C","防.絶界煉獄.B"],
"防.乱世ノ残響.C":["防.乱世ノ残響.C","防.乱世ノ残響.C","防.乱世ノ残響.C","防.百万石長壁.B","防.死出ノ田長.B"],
"攻.強虔ノ使徒.C":["攻.強虔ノ使徒.C","攻.強虔ノ使徒.C","攻.強虔ノ使徒.C","攻.孤炎.A","攻.八虐無道.B"]

919名無しさん:2023/12/07(木) 21:48:13 ID:Fr4tyMQg
>>912 ID:iOR7Vu4Iさん。いつもお疲れさまです。
まだ>>912より先の改修には手を付けておりませんが時間リセット系で1点質問をお願いします。
>>912を取り込んだ所、単純な本城主→影城主切り替え時、影城主→本城主切り替え時に
セッションタイムアウト時間のリセットがかからない様になった様に見受けられます。
考えられる原因や対策などありましたら教えて戴けますと助かります。

920名無しさん:2023/12/08(金) 17:25:06 ID:iOR7Vu4I
>>919
>>912にする前のソースはとってありますか?
取ってありましたら比較をしてみてください
大抵のテキストエディタにはdiff機能が付いてますのでコピペするだけでできると思います

考えられるとしたら>>912の②だとおもうのですが、
私もそこはmoko入手してから過去スレでの修正以外に手を入れていないので
比較してみないと分からないです

921名無しさん:2023/12/08(金) 17:42:38 ID:Fr4tyMQg
>>920 ID:iOR7Vu4Iさん。WinMerge等で差分比較ですね。判りました。
業務多忙&自宅を空ける予定があるのでゆっくりお待ちくださいませ。

922名無しさん:2023/12/08(金) 18:29:23 ID:Fr4tyMQg
>>920 ID:iOR7Vu4Iさん。
お待たせしました。以下URLにWinMergeから生成したレポートをアップロードしています。
インデントの相違は手操作で解消しています。
https://d.up300.net/61778374b18252a21e694937deb6dd39/
左が改修前、右が>>912適用後です。一見した感じでは暫定対応部分が無くなっている様ですね。

923名無しさん:2023/12/09(土) 00:55:12 ID:iOR7Vu4I
>>922
①の暫定対応の部分はログイン出来ているのであれば要らないです

>>912の②は差分無しでしたでしょうか?
本影切り替えの処理を掻い摘んで説明しますと、
・本影切り替えを鯖に送る(1.5秒待つ)
・本影切り替えを鯖に送る
・ローカルストレージのログイン時間を更新する
・セッションタイムアウト部分を削除して>>912の②を呼び出す(セッションタイムアウトの部分を生成し直す)
・画面更新して終わり
となっています

もし差分無ければ私のものと相違ないと思いますので
もしかしたら通信の問題かもしれません
(鯖側の本影切り替え処理が終わる前に次の送信や画面更新をしているのかもしれません)
switchUser(1500).then(function() {
の1500を2000とか3000に増やすのを試してみてください
2000は2秒待つ、3000は3秒、です

924名無しさん:2023/12/09(土) 05:21:35 ID:Fr4tyMQg
>>923 ID:iOR7Vu4Iさん
失礼しました。私の操作が悪くて本来は暫定対応分がもう無くなっていたにも関わらず
誤った箇所を比較していた様です。>>912①の暫定対応箇所は撤廃済です。ログインも出来ています。

>>912②に関してキャプチャの方が差異が伝わり易いかと思い画像でお知らせします。
ウインドウ左が>>912②の適用前、ウインドウ右が>>912②の適用後になります。
https://imgur.com/dyb9Y4D
以下2点の相違でしょうか。
・参照する時刻がlogin_data.timeからlogin_data.endtimeに変わっている
・font指定が加わっている

また、>>912②を適用したバージョンで待機時間を1000から2000に変更しましたが
効果が見られずセッションタイムアウトまでの時間がリセットされず順調に減り続けている挙動が
みられましたので併せてお知らせいたします。

925名無しさん:2023/12/09(土) 13:00:24 ID:iOR7Vu4I
>>924
私のmokoとはバージョンが違うのでしょうか、私のmokoにはixamoko_login_data(このキーのローカルストレージに読込/書込してlogin_dataという変数に代入してます)にtimeというデータはありません
endtimeならあります

確認してみたら、古いmokoはixamoko_login_dataにtimeというキーを作成していました

login_data.time および
login_data['time']、login_data["time"] で
moko内を検索をしてみて、残っていたら全てendtimeに変更してみてください

また、ローカルストレージは一度クリアしてみてください

余談ですが、timeからendtimeに変わったのは恐らく公式の仕様が起因していると思います

926名無しさん:2023/12/09(土) 20:09:10 ID:OVFZENmA
>>925 ID:iOR7Vu4Iさん。色々と教えてくださり有り難うございます。
出先の為月曜辺りに確認&対応いたします。

927名無しさん:2023/12/09(土) 21:20:21 ID:EnEVKIdQ
同じ現象で悩んでましたが、function changeUser() { の1箇所がtimeになっていたのでendtimeに変えたところ動きました。ありがとうございました。

928名無しさん:2023/12/11(月) 21:23:39 ID:Fr4tyMQg
>>925 ID:iOR7Vu4I
ご指示の置換によりセッションタイムアウトに関してかっちり直りました。大変有り難うございました。
>>914 >>917も取り込ませていただきました。

>>918 いつも有り難うございます。

929名無しさん:2023/12/13(水) 18:53:29 ID:MFBmZZJY
いつも参考にさせて頂いております。ありがとうございます。
いつの頃からか、精鋭部隊の列入れ替えができなくなりました。
ご教授頂ければ幸いです。
宜しくお願いします。

930名無しさん:2023/12/13(水) 19:12:49 ID:iOR7Vu4I
>>929
ちょうど最近自分用にサイレント修正したところでした
ロジックはほぼ変えていないのでもしこれでも動かないのであれば、どう動かないのかを教えてください
ソースはfunction全文です(複数回に分けます)

// 精鋭部隊 並び変え 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,
}).then(function() {
var to_line_num = data.elite_move_order == '1' ? -1 : 1;
Info.log(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;
}
Info.title('精鋭部隊 - ' + butai_name, url);
}
});
}

続く

931名無しさん:2023/12/13(水) 19:14:46 ID:iOR7Vu4I
続き

// 入れ替え処理
var btn_move_elite_line = $('<input type="button" value="移動" id="moveeliteline" />')
.css({'font-size': '11px'})
.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;
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() || '名称未設定',
list = [];
butaicho += ' [' + butaimei + '] ';
nowLoading();
Info.title('精鋭部隊 - ' + butaicho);
for (var i = 0; i < repeat_num; i++) {
var param = {
target_card: '',
select_assign_no: 0,
mode: 'move_elite',
btn_change_flg: '',
set_village_id: '',
set_assign_id: $('#set_assign_id').val(),
set_card_id: '',
p: 0,
myselect_2: $('#myselect_2').val(),
select_card_group: -2,
select_hp_status: 0,
common_filter_change_flg: 0,
set_elite_unit_assign_sort: arr_sort[input_line_from],
elite_move_order,
set_elite_unit_assign_filter_tab: $('#set_elite_unit_assign_filter_tab').val(),
}
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);
});

// 要素配置
var $div = $('<div class="move_elite_line rightF">').css({
'display': 'inline-block',
'margin-right': '18px',
'font-weight': 'normal',
'font-size': '11px',
'color': 'white',
}),
select_1 = $('<select id="input_line_from" name="input_line_from">').css({'width': '80px', 'font-size': '11px'}).appendTo($div),
select_2 = $('<select id="input_line_to" name="input_line_to">').css({'width': '80px', 'font-size': '11px'}).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#deck_bg').after($div);
}
// 精鋭部隊 並び変え 20230322updatedここまで

932名無しさん:2023/12/13(水) 20:22:02 ID:MFBmZZJY
>>929です
早急な回答ありがとうございます。
実施したところ、
https://gyazo.com/ea1db877a3cbe24091db8bdda87f1c3e
で、列入れ替えではないのでは?
と思っています⁉️

933名無しさん:2023/12/13(水) 21:37:27 ID:iOR7Vu4I
>>932
そもそも列入れ替えの為のセレクトボックスやボタンが出てきていないですね
まずはmokoの最後の方の実行用の行がちゃんと記述されているか確認してください
←これ!!の行です(前後は多少違うかもしれません)

deckRecoveryTime(); // card/deck
eliteUnitCheck(); // card/deck & set_unit_list
moveEliteLine(); // card/deck 20221127add ←これ!!
troopsStrengthDisplay(); // card/deck
deckCardFilter(); // card/deck
allDeckSetting(); // card/deck


それから、>>930-931のfunctionが

// 精鋭部隊 データ登録レイアウト
function elite_data_regist() {
if (!options.favorites_troops_regist || !options.elite_troops_regist) {
return;
}
if (location.pathname === '/card/deck.php' && $('#set_elite_unit_assign_filter_tab').val() === '0') {
$('<input type="button" value="仮想配置用データ登録" />').on('click', function() {
return get_elite_data($('#ig_decksection3'));
}).appendTo('div.ig_decksection_top');
}
}

から

// 精鋭部隊 全般
function eliteUnitCheck() {
if (!$('div.elite_busho_info').length) {
return;
}

elite_layout(); // レイアウト
elite_data_regist(); // 精鋭部隊仮想配置登録
bulk_elite_check(); // 精鋭部隊一括セット

の間にあるかどうかも確認してください

934名無しさん:2023/12/14(木) 04:34:11 ID:Fr4tyMQg
>>932 ID:MFBmZZJYさん。横から失礼します。
もしVisual Stdio Codeを使っているのでしたら貼り付け終わった段階で
メニューの[表示] - [問題] (Ctrl + Shift + M)を表示させてコーディングエラーが現れていないかご確認ください。
続いて、>>933 ID:iOR7Vu4Iさんの述べておられる
・「moveEliteLine(); // card/deck 20221127add ←これ!!」は挿入しているか
・function elite_data_regist() と function eliteUnitCheck() の間に貼り付けているか
この2点を確認されたら如何でしょうか。
コーディング時に問題を生じていたのか実行時に問題を生じるのかの切り分けになるかなと思われます。
ID:iOR7Vu4Iさん有り難うございました。秘境に飛ばしていて確認できませんがエラーは生じていません。

935名無しさん:2023/12/14(木) 04:36:31 ID:Fr4tyMQg
>>934 表示上の確認結果を添付します。
https://imgur.com/w8oNbk7

936名無しさん:2023/12/14(木) 19:45:45 ID:MFBmZZJY
https://gyazo.com/73a69e502062605d855c7c4ec46f8ee2

https://gyazo.com/5295545018485c24efa5631ebc873553

同じく・・・変わりません・・・

937名無しさん:2023/12/14(木) 21:44:41 ID:iOR7Vu4I
>>936
mokoは動いているようですので精鋭部隊列入れ替えのfunctionを挿入する位置が間違っているか、
実行用の行が無いかのどちらかだと思います

極端な話、function MokoMain($)の直下にあれば良いので、
一番最初の

// MokoMain
function MokoMain($) {
console.debug('Load... MokoMain');
"use strict";

のfunction MokoMain($) {とconsole.debug('Load... MokoMain');の間に空白行を作って、
>>930-931のfunctionを貼り付けてみてください
(今あるfunction moveEliteLine()はいったん/*〜*/でfunctionごとまるっとコメントアウトしてください)

それで動けば挿入場所の問題ですし、動かなければ実行用の行(>>933の←これ!!)が原因だと思います

938名無しさん:2023/12/15(金) 18:50:15 ID:Fr4tyMQg
>>936 さん。
文法エラーは見受けられない為、もしかして「moveEliteLine()が有効な状態で(コメントアウトされずに)2つも残っちゃってる(1つでいいのに)」等の可能姓はありませんでしょうか。

939名無しさん:2023/12/15(金) 20:54:59 ID:MFBmZZJY
>>937さん >>938さん
お陰さまで、しっかり動作確認できました。本当にありがとうございます。

940名無しさん:2023/12/16(土) 02:30:13 ID:Fr4tyMQg
>>939さん。それは良かったですね。
後学の為に「何がきっかけで直った」のかも添えて戴けますと嬉しいです。
何処かが余計だったのでこれを削ったら直ったですとか。

941名無しさん:2023/12/16(土) 09:33:33 ID:MFBmZZJY
お恥ずかしいですが、
//精鋭部隊 並び変え 20230322update
以下を削除し、貼り付けただけです。
お騒がせしてスミマセン。でもありがとうございました。

942名無しさん:2023/12/16(土) 09:49:54 ID:Fr4tyMQg
>>941さん。成る程有り難うございました。

943名無しさん:2023/12/31(日) 15:57:19 ID:4OTXG5yI
//2023.12 つつみ
"特.無空ノ極剣.S": ["特.活人剣.A", "特.摩利支天ノ法.SSS", "攻.開闢ノ逆鉾.SS", "特.仙剣破斬.SSS", "特.月詠ノ覇威.SS"],
"特.幻渦龍刀.S": ["特.活人剣.A", "攻.遠呂智ノ閃光.SS", "攻.火之迦具土神.SS", "特.幻渦龍刀.S", "特.月詠ノ覇威.SS"],
"特.舞蝶朧月.S": ["特.舞蝶朧月.S", "特.舞蝶朧月.S", "特.傾国ノ艶姫.S", "特.黒飛燕剣.S", "特.黒飛燕剣.S"],

944名無しさん:2024/01/06(土) 13:03:14 ID:cox0sqTE
詳しく分かりませんがおそらく、「武将を部隊に配置したとき」のみ、Mokoが切れている状態になっている模様です
武将を配置するとオートページャーや右クリックが機能していません
同じ症状の方おられませんか?

945名無しさん:2024/01/06(土) 15:27:35 ID:hqxPFgXA
>>944
移動速度などを計算・表示している部分あたりでエラーがあり
mokoがそこで止まってしまってそれ以降反応しなくなっている可能性があります

部隊を配置前にCtrl+Shift+iで開発者ツールを開いておいて
部隊を配置した後に開発者ツールのコンソールタブにmokoのエラーは出ていませんか?

946名無しさん:2024/01/06(土) 17:43:23 ID:cox0sqTE
>>945
Uncaught TypeError: Cannot read properties of undefined (reading 'moving')

というメッセージがでております

947名無しさん:2024/01/06(土) 18:24:01 ID:Fr4tyMQg
>>944 オートページャーが機能しなくなっている時があったのは経験しています(今は大丈夫です)。

948名無しさん:2024/01/06(土) 19:34:13 ID:Kg2PqapE
>>946
movingは移動速度を計算する時に使っている変数ですね
ちょっとこれから出かけますので、また明日みてみます

949名無しさん:2024/01/06(土) 20:24:16 ID:Kg2PqapE
>>946
いったん原因の切り分けをします

// 部隊戦力を表示
function troopsStrengthDisplay() {
の中の
data.move = parseFloat(SOLDIER.mainData[data.type].moving);
が怪しいです

data.typeが取れていないか、SOLDIERに正しいデータが入っていないか、が疑われます

ここ↓の
var SOLDIER = (function() {
var soldier_data = {
npc: {
"浪人" : { ………長いので省略………
………
26: {
"足軽" : { number: 321, attack: 18, ………長いので省略………

26: {がちゃんとあることを確認して、
エラーが出ている兵種のnumberにいったん書き換えてみてください(「''」で括る)
例えば足軽なら↑にあるように321ですし、焙烙火矢なら
data.move = parseFloat(SOLDIER.mainData['345'].moving);
になります

これでも同じエラーが出るのであればSOLDIERに問題があり、
エラーが出なくなったらdata.type⇒つまりfunction get_card_dataに問題があると思われます

950名無しさん:2024/01/07(日) 11:02:46 ID:4OTXG5yI
//2024.01 饗宴
"特.政宗と愛姫.SS": ["特.戦陣 吟詠.A", "特.乱世ノ歸人.A", "特.傾国ノ艶姫.S", "特.思金神ノ深謀.SS", "-"],
"特.伊達のお年玉.SS": ["攻.火之迦具土神.SS", "攻.遠呂智ノ閃光.SS", "攻.遠呂智ノ閃光.SS", "特.仙剣破斬.SSS", "-"],

951名無しさん:2024/01/07(日) 13:43:55 ID:cox0sqTE
>>949
足軽をもたせ
data.move = parseFloat(SOLDIER.mainData['321'].moving);に修正しても同じエラーが出ました

そこでSOLDIER内の値を確認すると19章のままでした
26章の時に変更したはずでしたが…

26に書き換えてエラーが出なくなりました。大変助かりました
ありがとうございます

952名無しさん:2024/01/07(日) 15:37:26 ID:7IJFP/h2
今更manifestを前スレ205を見て3にしたのだけど
moko読み込むときと読み込まないときがあるのはなぜだろ

953名無しさん:2024/01/07(日) 15:55:16 ID:7IJFP/h2
自己解決前スレ234さんの修正で治りました

954名無しさん:2024/01/07(日) 15:56:53 ID:7IJFP/h2
クロノスのmanifestもバージョン3にしないとか

955名無しさん:2024/01/07(日) 17:46:42 ID:CgEf5Fl6
>>954
クロノスはChromeAPIを使っているのでマニフェストだけではなく本体のコードも修正しないとです
私はやり方を知りません

956名無しさん:2024/01/07(日) 18:47:35 ID:7IJFP/h2
>>955
なる程それは大変だ

957名無しさん:2024/01/08(月) 18:15:49 ID:zd.vnSLY
>>943
>>950
いつもありがとうございます。早速反映させて頂きました。

958名無しさん:2024/01/08(月) 19:22:52 ID:M4ky74vk
なぜか最近IDがコロコロ変わるようになってしまいましたが
スキルテーブルの部分を別ファイル化した者です

いちいち下までスクロールするのが面倒なので
上から新⇒旧になるように、スキルテーブルの
塊を並び替えたものを共有します
>>950さんのものまで反映済みです

【ギガファイル便(短縮URL)】
https://xgf.nu/i9gLk
パス:193
保存期間:5日間

なお、vscodeを使用している方はgoogleで「vscode syntax json5」で
検索してインストールすると.json5形式のファイルを
読み込んだ時にコードに色が付きます

959名無しさん:2024/01/08(月) 20:50:45 ID:Gsg2P34c
>>564
ソロでmoko手に入らないので
mera使ってるが少し違うだけで
mokoと変わらんなー

960名無しさん:2024/01/12(金) 20:47:22 ID:ZDznKmUE
IXAmera更新早いな

961名無しさん:2024/01/13(土) 22:38:25 ID:kKKiz2ck
//2024.1
"攻.五常ノ紋章.SSS":["攻.五常ノ紋章.SSS","攻.五常ノ紋章.SSS","特.星神闘覇.SS","特.至天ノ御剣.SSS","攻.十束ノ神域.SS"],
"防.権謀術数射陣.SSS":["防.権謀術数射陣.SSS","防.権謀術数射陣.SSS","防.黄泉醜女ノ屍兵.SS","特.龍驤虎躍.SS","防.幽冥主宰大神.SS"],

"特.迎陽聡姫.A":["特.迎陽聡姫.A","特.迎陽聡姫.A","防.黒鐘天鳴.A","防.聖夜ノ慈姫.S","防.戦陣 無縫.A"],
"防.江虎謀牙.A":["防.江虎謀牙.A","防.江虎謀牙.A","防.不撓ノ仁将.A","防.籠城の妙技.A","防.戦陣 龍馬.A"],
"特.龍栄大使.S":["防.聖ヨハネの導き.A","防.聖ヨハネの導き.A","特.龍栄大使.S","特.龍栄大使.S","攻.十束ノ神域.SS"],
"特.虚松籟.S":["特.摩利支天ノ法.SSS","特.摩利支天ノ法.SSS","特.虚松籟.S","特.虚松籟.S","特.月詠ノ覇威.SS"],
"特.風魔狩.C":["特.風魔狩.C","特.風魔狩.C","特.風魔狩.C","特.都鄙合体.B","攻.鉄騎花麗.C"],
"防.砲神因子.C":["防.砲神因子.C","防.砲神因子.C","防.砲神因子.C","防.流将天願.C","防.紅騎焔貫.B"],
"攻.是絶景哉.C":["攻.是絶景哉.C","攻.是絶景哉.C","攻.是絶景哉.C","攻.三斎流具足.B","攻.不滅ノ鬼美濃.A"],

962名無しさん:2024/01/14(日) 00:10:09 ID:StO/L1co
>>961
迎陽聡姫のS1は薫風甘咲です

963名無しさん:2024/01/14(日) 02:05:31 ID:kKKiz2ck
失礼しました。
修正です
"特.迎陽聡姫.A":["特.迎陽聡姫.A","特.迎陽聡姫.A","防.黒鐘天鳴.A","特.薫風甘咲.S","防.戦陣 無縫.A"],

964名無しさん:2024/01/15(月) 18:48:03 ID:A5Sh646g
特.星神闘覇.SS
これって攻じゃないんですかね

965名無しさん:2024/01/15(月) 21:53:26 ID:LJtw.6sI
確かにw 攻ですねw 各自一斉修正じゃ。

966名無しさん:2024/01/16(火) 10:18:18 ID:Ln2k4FXo
Chromeをアブデ(120.0.6099.217)した辺りから施設を右クリックしたときに施設名とLVだけ表示されてその下のレベルアップや建設追加不可という表示が出なくなりました
Ironブラウザ(115.0.5850.0)だと正常です
改善方法ありましたら教えてください

967名無しさん:2024/01/17(水) 07:34:48 ID:g5czAZOM
>>966
120.0.6099.218だと特に問題ないです

968名無しさん:2024/01/17(水) 07:45:16 ID:g5czAZOM
これで全部正しいですかね?

//2024.01
"攻.五常ノ紋章.SSS": ["攻.五常ノ紋章.SSS", "攻.五常ノ紋章.SSS", "攻.星神闘覇.SS", "特.至天ノ御剣.SSS", "攻.十束ノ神域.SS"],
"防.権謀術数射陣.SSS": ["防.権謀術数射陣.SSS", "防.権謀術数射陣.SSS", "防.黄泉醜女ノ屍兵.SS", "特.龍驤虎躍.SS", "防.幽冥主宰大神.SS"],
"特.迎陽聡姫.A": ["特.迎陽聡姫.A", "特.迎陽聡姫.A", "防.黒鐘天鳴.A", "特.薫風甘咲.S", "防.戦陣 無縫.A"],
"防.江虎謀牙.A": ["防.江虎謀牙.A", "防.江虎謀牙.A", "防.不撓ノ仁将.A", "防.籠城の妙技.A", "防.戦陣 龍馬.A"],
"特.龍栄大使.S": ["防.聖ヨハネの導き.A", "防.聖ヨハネの導き.A", "特.龍栄大使.S", "特.龍栄大使.S", "攻.十束ノ神域.SS"],
"特.虚松籟.S": ["特.摩利支天ノ法.SSS", "特.摩利支天ノ法.SSS", "特.虚松籟.S", "特.虚松籟.S", "特.月詠ノ覇威.SS"],
"攻.是絶景哉.C": ["攻.是絶景哉.C", "攻.是絶景哉.C", "攻.是絶景哉.C", "攻.三斎流具足.B", "攻.不滅ノ鬼美濃.A"],
"防.砲神因子.C": ["防.砲神因子.C", "防.砲神因子.C", "防.砲神因子.C", "防.流将天願.C", "防.紅騎焔貫.B"],
"特.風魔狩.C": ["特.風魔狩.C", "特.風魔狩.C", "特.風魔狩.C", "特.都鄙合体.B", "攻.鉄騎花麗.C"],

969名無しさん:2024/01/19(金) 10:15:38 ID:HZwTqllE
>>967
返信ありがとうございます
今.225へのアプデがあり色々と正常に戻りました
お騒がせしました

970名無しさん:2024/02/02(金) 09:18:59 ID:61WVkuHs
//26章期末報酬
"-.虎王咆哮.F": ["特.戦陣 破軍.A", "特.戦陣 破軍.A", "特.龍驤虎躍.SS", "攻.破軍騎行.SS", "-"],

971名無しさん:2024/02/05(月) 10:23:57 ID:cox0sqTE
武将のレベルアップで小姓選択後、対象武将12枚を一括配置したりできませんでしょうか

972名無しさん:2024/02/05(月) 10:36:25 ID:cox0sqTE
>>971
前スレ361に解決策ありました

973名無しさん:2024/02/09(金) 04:44:58 ID:8/wHKyHI
本スレは無能多いけど某関連スレは本当優秀なの多いな

974名無しさん:2024/02/10(土) 08:21:34 ID:rYjJpeMk
9-16が統合してmokoが効かなくなったときって
どこをいじればいいんでしたっけ・・・

975名無しさん:2024/02/10(土) 10:27:58 ID:s6xVr.Gc
>>974 さん
いつも出現している素人ですがワールド情報は固定値を参照している訳では無いので
別の原因でMOKOが動作しなくなっているのではないでしょうか?
私が今回27章対応で行った事を列挙しますね。素人対応ですのでご容赦を。
■manifest.json
 ①"version":値の変更。例:"10.27.202402.1",等
 ②"description":値の変更。例:"Tool of Sengoku-ixa(2024/02/10)",等
■ixa-login.user.js
 ①// @versionの値を揃えたければご随意に
 ②var chapter = $(this).find('span.otono_sm:first img').attr('src')?.match(/_otono_s(\d+)_\d+\.png/)[1] || '26';
  の末尾の値を'27'に変更して
  var chapter = $(this).find('span.otono_sm:first img').attr('src')?.match(/_otono_s(\d+)_\d+\.png/)[1] || '27';
  にする。
■ixa-training.user.js
 ①// @versionの値を揃えたければご随意に
(続きます)

976名無しさん:2024/02/10(土) 10:29:40 ID:s6xVr.Gc
>>974 さん
続きです。
■ixa-moko.user.js
 ①// @versionの値を揃えたければご随意に
 ②var VERSION_NAME = "ver 10.27.202402.1";
  の値をmanifest.jsonで決めた値に揃える
③var COUNTRY = (function() {
var data = {
  の括弧の中に
  26: { 1: "上杉家", 2: "北条家", 3: "武田家", 4: "蘆名家", 5: "佐竹家", 6: "朝倉家", 7: "浅井家", 8: "里見家", 9: "本願寺家", 10: "立花家", 11: "長野家", 12: "織田家" },
  の行があるので、その下に
  27: { 1: "織田家", 2: "毛利家", 3: "武田家", 4: "北条家", 5: "六角家", 6: "豊臣家", 7: "宇喜多家", 8: "村上家", 9: "相良家", 10: "長宗我部家", 11: "伊達家", 12: "島津家" },
  の行を追加挿入する。
④var SOLDIER = (function() {
var soldier_data = {
npc: {
"浪人" : { number: "" , attack: 0, defense: 12, moving: 0, destroy: 0, tp1: "t1", tp2: "t1", command: "" , skilltype: "", cost: [] },
※途中省略
},
18: {
  の段落を見ていくと
26: {
"足軽" : { number: 321, attack: 18, defense: 18, moving: 15, destroy: 4, tp1: "t1", tp2: "t1", command: "yari1" , skilltype: "槍", cost: [ 8, 10, 6, 6] },
    ※途中省略
"救飛弩" : { number: 702, attack: 32, defense: 32, moving: 22, destroy: 15, tp1: "t3", tp2: "t3", command: "yumi5" , skilltype: "弓", cost: [] }
},
   があるのでこれをコピーしてすぐ下に
27: {
"足軽" : { number: 321, attack: 18, defense: 18, moving: 15, destroy: 4, tp1: "t1", tp2: "t1", command: "yari1" , skilltype: "槍", cost: [ 8, 10, 6, 6] },
    ※途中省略
"救飛弩" : { number: 702, attack: 32, defense: 32, moving: 22, destroy: 15, tp1: "t3", tp2: "t3", command: "yumi5" , skilltype: "弓", cost: [] }
},
   の段落を追加で挿入する。
(続く)

977名無しさん:2024/02/10(土) 10:34:12 ID:s6xVr.Gc
>>974 さん
続きです。
  ⑤// NPC "章_期"
var npc_data = {
   の段落に
"26_26": [{ "star": 1, "value": "1010013", ※以下省略}],
"26_8": [{ "star": 1, "value": "1010013", ※以下省略 }],
"26_3": [{ "star": 1, "value": "1010013", ※以下省略 }],
"26_1": [{ "star": 1, "value": "1010013", ※以下省略 }],
   の4行があるのでこれをコピーしてすぐ下に
"27_27": [{ "star": 1, "value": "1010013", ※以下省略 }],
"27_8": [{ "star": 1, "value": "1010013", ※以下省略 }],
"27_3": [{ "star": 1, "value": "1010013", ※以下省略 }],
"27_1": [{ "star": 1, "value": "1010013", ※以下省略 }],
   の行を追加で挿入する
  ⑥// "章_期"のデータが無ければ過去の同一期データをとりあえず参照
   var npc_data_old = {
   の段落をみていくと
   "26": [], // 26期
   の行があるので(人によって見え方は違うかも?)、そのすぐ下に
   "27": [], // 27期
   の行を挿入する。
(続きます)

978名無しさん:2024/02/10(土) 10:35:15 ID:s6xVr.Gc
>>974 さん
続きです。
  ⑦そのすぐ下に
   npc_data_old["9"] =
   で始まる行があるので
   npc_data_old["26"] = npc_data_old["25"] = npc_data_old["24"] = npc_data_old["23"] = npc_data_old["22"] = npc_data_old["21"] = npc_data_old["20"] = npc_data_old["19"] = npc_data_old["18"] = npc_data_old["17"];
   となっていれば行の先頭に「npc_data_old["27"] = 」を追加して
   npc_data_old["27"] = npc_data_old["26"] = npc_data_old["25"] = npc_data_old["24"] = npc_data_old["23"] = npc_data_old["22"] = npc_data_old["21"] = npc_data_old["20"] = npc_data_old["19"] = npc_data_old["18"] = npc_data_old["17"];
   の形にする(自分はコピーしてすぐ下に追加で挿入しました)。
  ⑧// 章タイトル
   switch (key) {
    case 'chapter_change_mod':
    var stage = {
   を見ていくと
   '26': '虎王咆哮〜已まぬ烈風、消えぬ炎〜',
   が見付かるのですぐ下に
   '27': '流天絶花〜静謐の争奪〜',
   を追加で挿入する。

ここまで対応して拡張機能を読み込み直すか一旦削除してから改めて組み込むと前期と同じ様に動作している模様です。
私は1-8鯖住人のため統合後の9-17鯖については動作出来るのかはよく判りません、ごめんなさい。

979名無しさん:2024/02/10(土) 15:32:29 ID:Jca310GM
//27章新天
"攻.倚天滅陣.SSS": ["特.龍驤虎躍.SS", "攻.破軍騎行.SS", "特.虚空ノ導.SSS", "攻.破邪後輝.SS", "攻.十束ノ神域.SS"],
"攻.西覇冠軍.SSS": ["特.龍驤虎躍.SS", "攻.破軍騎行.SS", "攻.星神闘覇.SS", "攻.破邪後輝.SS", "攻.十束ノ神域.SS"],
"特.龍父絶砲.S": ["特.四天轟雷.SS", "攻.天焉相克.SS", "攻.猛火ノ追撃.SSS", "攻.閃裂討鬼.SS", "攻.覇王征軍.SS"],
"攻.魔弾奏者.S": ["攻.魔弾奏者.S", "攻.魔弾奏者.S", "攻.開闢ノ逆鉾.SS", "攻.星神闘覇.SS", "攻.神光征軍.SS"],
"特.八界経略.S": ["特.八界経略.S", "特.八界経略.S", "特.思金神ノ深謀.SS", "攻.閃裂討鬼.SS", "特.月詠ノ覇威.SS"],
"防.日輪ノ選剣.S": ["防.日輪ノ選剣.S", "防.日輪ノ選剣.S", "特.摩利支天ノ法.SSS", "防.永世ノ天隻.SS", "防.天磐船.SS"],
"攻.陥城騎王.S": ["攻.陥城騎王.S", "攻.陥城騎王.S", "特.四至ノ神域.SSS", "攻.破邪後輝.SS", "特.月詠ノ覇威.SS"],
"防.神将火剣.S": ["防.神将火剣.S", "防.神将火剣.S", "特.八幡神ノ威光.SSS", "防.万里嵐壁.SS", "防.天磐船.SS"],
"攻.義陣響野.S": ["攻.義陣響野.S", "攻.義陣響野.S", "特.龍驤虎躍.SS", "攻.氷塊三連撃.SSS", "特.国堅大神.SS"],
"防.不屈ノ天弓.S": ["防.氷塊ノ障壁.SSS", "防.国津破邪ノ楯.SS", "防.旌旗翳天ノ覇陣.SS", "防.永世ノ天隻.SS", "防.天衣無縫神戒.SS"],
"攻.海王怒涛.S": ["攻.十束ノ神域.SS", "攻.天頂ノ電光.SSS", "攻.海王怒涛.S", "攻.破軍騎行.SS", "特.月詠ノ覇威.SS"],
"防.島穿鬼槍.S": ["防.島穿鬼槍.S", "防.島穿鬼槍.S", "特.天宇受売命.SSS", "防.万里嵐壁.SS", "特.月詠ノ覇威.SS"],
もし間違ってるところあれば是非教えてください。

980名無しさん:2024/02/10(土) 19:32:18 ID:V4s67UIM
内政において右クリック建設メニューの表示が平地選択時だけ
崩れているのですが直せますでしょうか?

981名無しさん:2024/02/11(日) 08:52:43 ID:mxNSx/es
>>975さん
アドバイスありがとうございます
古いmokoをずっと使っていてほったらかしだったもので
過去ログを見直してきます・・・

982名無しさん:2024/02/11(日) 16:38:14 ID:t1/wZkXs
>>977
⑤の章_期の期の部分は鯖選択時の何期目かの数字なんで
"27_27":
"27_10":
"27_3":
"27_2":
"27_1":
ですね
上から1-8、9-17、18、19、20鯖です

983名無しさん:2024/02/11(日) 16:53:42 ID:s6xVr.Gc
>>982 有り難うございます。対応します。

984名無しさん:2024/02/12(月) 01:33:31 ID:wtRyXn5U
968,979を張るとMOKOが動かなくなるのはなぜでしょう?

985名無しさん:2024/02/12(月) 02:19:23 ID:s6xVr.Gc
>>984 拡張機能のMOKOにエラーが現れていると思うのですがどの様なエラーが出ていますか?

986名無しさん:2024/02/12(月) 02:32:28 ID:wtRyXn5U
なんか黄色で塗られてるのが出てくるんですが

987sage:2024/02/12(月) 02:52:44 ID:wtRyXn5U
すません解決しました ありがとうございました

988名無しさん:2024/02/12(月) 08:59:23 ID:MFBmZZJY
昨夜まで順調に上記取り込んで動いていましたが、

今朝は・・・

https://gyazo.com/9585205cf5fe396277133a3f0a494efa

なぜなのでしょう???

989名無しさん:2024/02/12(月) 09:32:21 ID:s6xVr.Gc
>>988 VS CODEからフォルダ読み込みを行うと[表示] - [問題]ウインドウ(ショートカット[Ctrl] + [Shift] + [m])に何かの文法エラーが表示されませんか?

990名無しさん:2024/02/12(月) 09:41:53 ID:MFBmZZJY
早速ありがとうございます。

https://gyazo.com/f1bbc03e635c902fdfd84233328daa9d

特にエラーはないようですが・・・

991名無しさん:2024/02/12(月) 09:55:20 ID:s6xVr.Gc
>>991
有り難うございます。エラーメッセージから察するに'version'の値の書き方が宜しくなくてエラーを吐いている様に見受けられます。

小文字'version'が現れる処でパッと思いつくのがmanifest.jsonですがどの様な記述をされていますか?
私はこう記述しています。
"version": "10.27.202402.3",
確かゼロ埋め記述("version": "10.27.202402.03",等)はNGだったと記憶しています。

念の為、ixa-moko.user.js内の
var VERSION_NAME = "ver 10.27.202402.3";
も同様に確認してみてくださいね。

992名無しさん:2024/02/12(月) 10:03:11 ID:MFBmZZJY
早速ありがとうございます。

https://gyazo.com/f1bbc03e635c902fdfd84233328daa9d

特にエラーはないようですが・・・

993名無しさん:2024/02/12(月) 10:05:06 ID:MFBmZZJY
>>991さん、ありがとうございます!

しっかり認識し、動きました。
(前回のを送信してしまいました)

994名無しさん:2024/02/12(月) 10:12:27 ID:s6xVr.Gc
>>992
有り難うございます。念の為manifest.json内の'version'記述のキャプチャを見せてもらってもいいでしょうか?
こんな感じで。https://imgur.com/P0CJbQt
「マニフェストを読み込めませんでした」のエラーとなっているので十中八九manifest.jsonの書き方に起因するエラーかと。
英語力に自信はありませんが以下の記事を日本語に翻訳して目を通すと解決が近いかもしれません。
https://stackoverflow.com/questions/32928473/chrome-required-value-version-is-missing-or-invalid-it-must-be-between-1-4-do

995名無しさん:2024/02/12(月) 10:17:42 ID:s6xVr.Gc
>>993 確認の上書き方が良く無い事に気づいて直したらエラーが出なくなったという事でしょうか?であれば良かったです。

996名無しさん:2024/02/12(月) 10:43:09 ID:MFBmZZJY
この記載で、動くようになりました。

https://gyazo.com/8836422bba202d1090e00e6bbbf88d76

ありがとうございます!

(若干記載が違いますが)

997名無しさん:2024/02/13(火) 19:32:10 ID:guo7Kikc
次スレ
https://jbbs.shitaraba.net/bbs/read.cgi/netgame/15829/1707820254/


新着レスの表示


名前: E-mail(省略可)

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

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

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

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