したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | メール | |

戦国IXA ツールスレPart49

1名無しさん:2024/02/13(火) 19:30:54 ID:guo7Kikc
■前スレ
戦国IXA ツールスレPart48
https://jbbs.shitaraba.net/bbs/read.cgi/netgame/15829/1674020414/l50
荒らしは管理人が即出禁にするので注意

2名無しさん:2024/02/13(火) 22:23:51 ID:AMW9diso
予備用
https://ux.getuploader.com/1031m/

歴史を感じる用
https://ux.getuploader.com/ixa_kaizou/

3名無しさん:2024/02/19(月) 19:11:45 ID:HZcUXXB.
//合成専用
"特.虚空ノ導.SSS": ["..","..","..","特.虚空ノ導.SSS",".."],
"攻.破邪後輝.SS": ["..","..","..","攻.飛龍衝天.SS",".."],
"攻.飛龍衝天.SS": ["..","..","..","攻.飛龍衝天.SS",".."],
"攻.閃裂討鬼.SS": ["..","..","..","攻.閃裂討鬼.SS",".."],
"防.永世ノ天隻.SS": ["..","..","..","防.永世ノ天隻.SS",".."],
"防.万里嵐壁.SS": ["..","..","..","防.万里嵐壁.SS",".."],

//2024.2
"特.霊妙秘剣.A":["特.霊妙秘剣.A","特.霊妙秘剣.A","特.終幕ノ断刀.A","特.戦陣 剣舞.A","攻.鬼神ノ戦域.A"],
"防.凜武艶姫.A":["防.凜武艶姫.A","防.凜武艶姫.A","防.凜武艶姫.A","防.戦陣 無縫.A","防.天弓星宿陣.SS"],
"特.絶技兵術.S":["特.絶技兵術.S","特.絶技兵術.S","特.活人剣.A","特.月詠ノ覇威.SS","特.戦陣 吟詠.A"],
"特.炎城士魂.S":["防.三千世界神将.SS","特.国堅大神.SS","特.建御雷神ノ閃光.SS","特.四天轟雷.SS","防.黄泉醜女ノ屍兵.SS"],
"攻.八虎筆頭.C":["攻.八虎筆頭.C","攻.八虎筆頭.C","攻.八虎筆頭.C","攻.一千烈刃.C","攻.失意ノ千羽鶴.C"],
"防.廻将一夢.C":["防.廻将一夢.C","防.廻将一夢.C","防.廻将一夢.C","防.不屈ノ絆.C","防.閻魔ノ副将.C"],
"攻.貴門ノ加護.C":["攻.貴門ノ加護.C","攻.貴門ノ加護.C","攻.貴門ノ加護.C","攻.荒波独行.C","攻.班寅集.B"],

4名無しさん:2024/02/20(火) 08:26:34 ID:WETUeVh2
ありがとうございますありがとうございます

5名無しさん:2024/02/20(火) 15:32:21 ID:4SYpZ3E6
>>3 有り難うございます。

前スレ>>863-864のエラーが私も出ており
「スキルテーブルの途中に変な場所に改行がありそこを修正したらエラーが出なくなりました。」
の箇所がどこだろう?と思ってずっと悩んでおります。
とりあえずオブジェクトキーの重複は見つけました。2024年2月分を取り込んだ後の1895〜1896行目辺り
"防.讃歌航路.D":["防.兵器布陣.E","防.蒼刃ノ輔曳.D","防.讃歌航路.D","防.不退ノ防戦.B","防.常勝の采配.B"],
"防.讃歌航路.D":["防.兵器布陣.E","防.蒼刃ノ輔曳.D","防.讃歌航路.D","防.不退ノ防戦.B","防.常勝の采配.B"],
参考までに私はコメントが有効だと有り難いのでスキルテーブルファイルは「JSON with Comments(.jsonc)」に変更してmanifest.json内のファイル名も切り替えています。

6名無しさん:2024/02/20(火) 15:44:36 ID:4SYpZ3E6
エラーが解消されましたので手順をお知らせします。
1.>>5で示したオブエクトキーの重複を無くす(片方の行を削除する)。
2.ixa-skill_table.jsonc上でウインドウ右下の言語モードのプルダウンで
 「JSON with Comments」を選び、ファイルの拡張子も.json5から.jsoncに変更する。
3.manifest.json内の
  "contents/ixa-skill_table.json5",
  を
  "contents/ixa-skill_table.jsonc",
  に変更する。
4.inject_moko.js内の
  injectionJSON(chrome.runtime.getURL('/contents/ixa-skill_table.json5'), 'mokoSkillCandidateData');
  を
  injectionJSON(chrome.runtime.getURL('/contents/ixa-skill_table.jsonc'), 'mokoSkillCandidateData');
  に変更する。
コメント有効なJSON形式に切り替えるかどうかはお好みですのでそうしたい方はどうぞ的な話題です。

7名無しさん:2024/02/20(火) 19:46:43 ID:o0bxJOiU
>>6
json5もコメント有効ですよ

8名無しさん:2024/02/20(火) 20:04:46 ID:o0bxJOiU
追記:
もしjson5のコードハイライトを入れてないなら
vscodeでCtrl+Shift+xでマーケットプレイス開いて
「json5 syntax」で検索して上の方に出てきたやつを入れれば良いです

9名無しさん:2024/02/21(水) 11:21:50 ID:HZcUXXB.
//Drifters 漂流合戦記コラボ
"攻.命だけ置いてけ.A":["攻.命だけ置いてけ.A","攻.命だけ置いてけ.A","攻.戦陣 召雷.A","攻.戦陣 召雷.A","特.戦陣 破軍.A"],
"防.負けてらんない.A":["防.負けてらんない.A","防.負けてらんない.A","防.戦陣 凪.A","防.戦陣 凪.A","特.戦陣 破軍.A"],
"特.我こそ絶対悪よ.A":["..","..","..","..",".."],
"攻.ワレ突撃ス.C":["攻.ワレ突撃ス.C","攻.ワレ突撃ス.C","攻.ワレ突撃ス.C","攻.風将飛剣.C","攻.鉄騎花麗.C"],
"攻.みんな灰になれ.C":["攻.みんな灰になれ.C","攻.みんな灰になれ.C","攻.みんな灰になれ.C","攻.清貧ノ悪源太.B","攻.孤炎.A"],
"防.甘っちょろいなぁ.C":["防.甘っちょろいなぁ.C","防.甘っちょろいなぁ.C","防.甘っちょろいなぁ.C","防.虎眼慧明.C","防.護城ノ義士.C"],
"攻.ただただ死ね.C":["攻.ただただ死ね.C","攻.ただただ死ね.C","攻.ただただ死ね.C","攻.強虔ノ使徒.C","攻.戦鬼侵軍.B"],
"特.あの虚気を殺す.C":["特.あの虚気を殺す.C","特.あの虚気を殺す.C","特.あの虚気を殺す.C","特.虎切刀.C","特.争鶴ノ囀り.C"],

10名無しさん:2024/02/21(水) 11:45:20 ID:4SYpZ3E6
>>7
すみません着色してくれてハイライトしてくれて有り難いので、の意味でjsoncに切り替えさせていただきました。
表現が足らず失礼しました。

11名無しさん:2024/02/21(水) 23:53:58 ID:o0bxJOiU
>>10
はい、なのでjson5もvscodeの拡張を入れれば着色するという意味です

12名無しさん:2024/02/22(木) 17:28:35 ID:cox0sqTE
市の取引相場についての質問です

施設:市の取引相場75%+4%(4%は位階分なのかな?)と表示されているのですが兵士一括訓練ボタンをクリック後、兵人数が赤字になる数(取引が必要になる数)まで入力し【取引後に訓練開始】ボタンを押した次の画面で市取引相場が75%表示のままになっています。位階分の4%を反映させるにはどのように修正したらよろしいでしょうか

13名無しさん:2024/02/22(木) 22:56:28 ID:o0bxJOiU
>>12
まずixa-moko.user.jsに前スレの位階情報取得Functionが入ってることが前提です
ちょっと変えているかもしれないので一応載せておきます

// 位階の情報を取得
function userBonus() {
$.ajax({
type: 'get',
url: '/user/',
beforeSend: xrwStatusText,
}).then(function(html) {
var bonus = {
loginmoney: 0,
constructtime: 0,
resourcebonus: 0,
createunit: 0,
hprecover: 0,
dungeon: 0,
commission: 0,
possesscard: 0,
deckcost: 0,
selfconfcost: 0,
assaultcost: 0,
constructreserve: 0,
fame: 0,
directdeploy: 0,
defformcost: 0,
resourcecount: 0,
marketprice: 0,
addcardtrade: 0,
autoreplenish: false,
unionrankup: 0,
unionaddskill: 0,
unionexp: 0,
lotteryright: 0,
autorevive: false,
}
var $ul = $(html).find('ul#current_bonus_texts');
if ($(html).find('div.time').text().indexOf('まで有効') != -1) {
bonus.loginmoney = parseInt($ul.find('li:contains("毎日ログイン")').text().match(/\d+/));
bonus.constructtime = parseInt($ul.find('li:contains("建設時間")').text().match(/\d+/));
bonus.resourcebonus = parseInt($ul.find('li:contains("資源生産量")').text().match(/\d+/));
bonus.createunit = parseInt($ul.find('li:contains("訓練時間")').text().match(/\d+/));
bonus.hprecover = parseInt($ul.find('li:contains("HP回復時間")').text().match(/\d+/));
bonus.dungeon = parseInt($ul.find('li:contains("秘境探索時間")').text().match(/\d+/));
bonus.commission = parseInt($ul.find('li:contains("取引手数料")').text().match(/\d+/));
bonus.possesscard = parseInt($ul.find('li:contains("カード所持枚数")').text().match(/\d+/));
bonus.deckcost = parseFloat($ul.find('li:contains("デッキコスト上限")').text().match(/\d+\.?\d?/));
bonus.selfconfcost = parseFloat($ul.find('li:contains("自部隊同時攻撃最大コスト")').text().match(/\d+\.?\d?/));
bonus.assaultcost = parseFloat($ul.find('li:contains("強襲専用部隊コスト上限")').text().match(/\d+\.?\d?/));
bonus.constructreserve = parseInt($ul.find('li:contains("建設予約数")').text().match(/\d+/));
bonus.fame = parseInt($ul.find('li:contains("名声上限値")').text().match(/\d+/));
bonus.directdeploy = parseFloat($ul.find('li:contains("城配置部隊コスト")').text().match(/\d+\.?\d?/));
bonus.defformcost = parseFloat($ul.find('li:contains("本丸防御陣形編成コスト")').text().match(/\d+\.?\d?/));
bonus.resourcecount = parseInt($ul.find('li:contains("蔵容量")').text().match(/\d+/));
bonus.marketprice = parseInt($ul.find('li:contains("市での取引相場")').text().match(/\d+/));
bonus.addcardtrade = parseInt($ul.find('li:contains("カード取引可能枚数")').text().match(/\d+/));
bonus.autoreplenish = true;
bonus.unionrankup = parseFloat($ul.find('li:contains("ランクアップ合成成功確率")').text().match(/\d+\.?\d?/));
bonus.unionaddskill = parseFloat($ul.find('li:contains("スキル追加合成成功確率")').text().match(/\d+\.?\d?/));
bonus.unionexp = parseFloat($ul.find('li:contains("経験値付与合成効果")').text().match(/\d+\.?\d?/));
bonus.lotteryright = parseInt($ul.find('li:contains("取引落札抽選権利の増加")').text().match(/\d+/));
bonus.autorevive = true;
}
setStorage('ixamoko_userbonus', bonus);
}, null);
}

(続く 1/2)

14名無しさん:2024/02/22(木) 22:57:36 ID:o0bxJOiU
それでixa-training.user.jsの以下を変更です

// . getMarket
getMarket: function () {
var rates = [0, 0.40, 0.43, 0.46, 0.49, 0.52, 0.55, 0.60, 0.65, 0.70, 0.75],
list = Util.getFacility('市'),
market;
if (list.length === 0) {
return null;
}
list.sort(function (a, b) {
return (b.lv > a.lv);
});
+ var sKey = ownerMode ? 'zs_' : '',
+ bonus = JSON.parse(localStorage.getItem(sKey + 'ixamoko_userbonus')) || {};
- list[0].rate = rates[list[0].lv];
+ list[0].rate = rates[list[0].lv] + ((bonus.marketprice || 0) / 100);
return list[0];
},

(終わり 2/2)

15名無しさん:2024/02/22(木) 23:03:37 ID:o0bxJOiU
>>14
あ、一行{}の位置を間違えたかもです
位階が取得できてたら関係ない部分ですが
(誤) bonus = JSON.parse(localStorage.getItem(sKey + 'ixamoko_userbonus')) || {};
(正) bonus = JSON.parse(localStorage.getItem(sKey + 'ixamoko_userbonus') || {});

16名無しさん:2024/02/23(金) 12:03:40 ID:cox0sqTE
>>15
o0bxJOiU さん
位階が反映されるようになりました。ありがとうございます。

17名無しさん:2024/02/23(金) 16:16:27 ID:m7mm72pw
moko設定→全般1で舞台が26章にログインしている状況なのですが、同じ症状の方いますか?改善方法教えて頂けると助かります。
26章のデータを取得しているせいで地図画面で〇〇家領内をクリックしても26章の大殿が表示されてしまいます。
ひと通り27章対応にして、忘れがちな前スレ975の下記修正も済。前スレ805を前のやつに戻しても改善せずです。
※ちなみにmeraでも同じ症状出ています。

■ixa-login.user.js
 ②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';
  にする。

18名無しさん:2024/02/23(金) 16:41:04 ID:c4MPCvWs
いつもありがとうございます。いつからか分かりませんが、本城主、影城主を切り替えても、時間リセットボタンの左、セッションタイムアウトまでが03:00:00にならなくなりました。
どこかおかしなところ触ったのでしょうか?

19名無しさん:2024/02/23(金) 17:56:35 ID:o0bxJOiU
>>17
いったんローカルストレージを全クリアしてみてはどうでしょうか?
一部クリアだとログインデータはクリアされないので、全クリアしないとだと思います

20名無しさん:2024/02/23(金) 18:00:49 ID:o0bxJOiU
>>18
前スレ>>925は試しましたか?

21名無しさん:2024/02/23(金) 20:29:41 ID:MFBmZZJY
>>20さん
ありがとうございます。

22名無しさん:2024/02/24(土) 00:27:27 ID:m7mm72pw
>>19 書き忘れましたが、全クリアーでもだめで困ってます。合戦後にでも見直してみます。

23名無しさん:2024/02/24(土) 01:39:29 ID:o0bxJOiU
>>22
前スレ>>805は試しましたか?

24名無しさん:2024/02/24(土) 20:37:14 ID:HZcUXXB.
//Drifters 漂流合戦記コラボ
"攻.命だけ置いてけ.A":["攻.命だけ置いてけ.A","攻.命だけ置いてけ.A","攻.戦陣 召雷.A","攻.戦陣 召雷.A","特.戦陣 破軍.A"],
"防.負けてらんない.A":["防.負けてらんない.A","防.負けてらんない.A","防.戦陣 凪.A","防.戦陣 凪.A","特.戦陣 破軍.A"],
"特.我こそ絶対悪よ.A":["特.我こそ絶対悪よ.A","特.我こそ絶対悪よ.A","防.戦陣 無縫.A","防.戦陣 無縫.A","特.戦陣 破軍.A"],
"攻.ワレ突撃ス.C":["攻.ワレ突撃ス.C","攻.ワレ突撃ス.C","攻.ワレ突撃ス.C","攻.風将飛剣.C","攻.鉄騎花麗.C"],
"攻.みんな灰になれ.C":["攻.みんな灰になれ.C","攻.みんな灰になれ.C","攻.みんな灰になれ.C","攻.清貧ノ悪源太.B","攻.孤炎.A"],
"防.甘っちょろいなぁ.C":["防.甘っちょろいなぁ.C","防.甘っちょろいなぁ.C","防.甘っちょろいなぁ.C","防.虎眼慧明.C","防.護城ノ義士.C"],
"攻.ただただ死ね.C":["攻.ただただ死ね.C","攻.ただただ死ね.C","攻.ただただ死ね.C","攻.強虔ノ使徒.C","攻.戦鬼侵軍.B"],
"特.あの虚気を殺す.C":["特.あの虚気を殺す.C","特.あの虚気を殺す.C","特.あの虚気を殺す.C","特.虎切刀.C","特.争鶴ノ囀り.C"],

25名無しさん:2024/02/24(土) 22:02:10 ID:m7mm72pw
>>23 済です。とりあえず、おま環ぽいので前述の通り合戦後に見直します。

26名無しさん:2024/02/25(日) 06:48:11 ID:LPJn7z7g
>>22
同じような症状でしたが前スレ912でなおりました

27名無しさん:2024/02/25(日) 12:10:40 ID:M05M3a5I
>>17 期の取得方法だけど、毎期書き換えたくないのなら
現時点では
var chapter = $(this).find('span.otono_sm:first img').attr('src')?.match(/_otono_s(\d+)_\d+\.png/)[1];
後ろの || '27'は保険なので画像から期が取れていれば不要。

毎期修正するのであれば、var chapter = ’27'; で十分。
または、
定数で2期またぎたいなら
var chapter = ((new Date()).toISOString().substr(0,10) < "2024-02-09")? '26': '27';

結局毎期色々直すのだからどれでも同じだと思います。

28名無しさん:2024/02/25(日) 12:18:41 ID:M05M3a5I
>>27 期じゃなくて章だね。間違えた。

29名無しさん:2024/02/25(日) 14:20:20 ID:o0bxJOiU
>>25
ひとまず、原因の切り分けをします
最初に取れているかを確認するため、以下の1文を追加してみて鯖選んでみてください
これで26になっていたらixa-login.user.js側に問題があります
27が取れていたらixa-moko.user.jsでcookieから取得する方に何か間違いがあります

var title = $(this).parent().attr('title') || $(this).find('a').attr('title');
var season_num = $(this).find('span[class^="flag_"] img').attr('src').match(/flag_.(\d+)\.gif/)[1];
var world = title.replace('ワールド', '');
var chapter = $(this).find('span.otono_sm:first img').attr('src')?.match(/_otono_s(\d+)_\d+\.png/)[1] || '27';

var season = Number(season_num).toString(10);
+ alert('world = ' + world + ', chapter = ' + chapter + ', season = ' + season);
if (!chapter) {
alert('【sengokuixa-moko】\n\nこのワールドの舞台には対応していません');
return false;
}

30名無しさん:2024/02/25(日) 19:51:31 ID:o0bxJOiU
>>25
詳しく見てみました
色々いじっていて元のソースを取っておかなかったのでfunction全文載せておきます

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

// ログイン時間
var time = ~~(new Date() / 1000);
document.cookie = 'im_st=' + time + '; max-age=10800; domain=.sengokuixa.jp; path=/;';
$('div.infoTable').css({
'margin-left': '0',
'padding': '0'
}).insertBefore('div.back');
$('div[class*="subserver_s"], div[class*="mainserver_s"]').bind('mousedown', function() {
if (MokoLogin.flag) {
location.href = $('div.back a').attr('href');
return false;
}

var title = $(this).parent().attr('title') || $(this).find('a').attr('title');
var season_num = $(this).find('span[class^="flag_"] img').attr('src').match(/flag_.(\d+)\.gif/)[1];
var world = title.replace('ワールド', '');
var chapter = ($(this).find('span.otono_sm:first img').attr('src').match(/_otono_s(\d+)_\d+\.png/) || ['','27'])[1];
var season = Number(season_num).toString(10);
if (!chapter) {
alert('【sengokuixa-moko】\n\nこのワールドの舞台には対応していません');
return false;
}

// ワールド・章・期 クッキー登録
document.cookie = 'chapter=' + world + '-' + chapter + '-' + season + '; max-age=10800; domain=.sengokuixa.jp; path=/;';
MokoLogin.flag = true;
});
}

31名無しさん:2024/02/25(日) 21:24:10 ID:m7mm72pw
各位

貴重な時間を割かせてしまい大変申し訳ございません。>>26 前スレ912も改修済みです。
>>30も取り込みましたが26章◯期のままです。(>>27でも変わらず)もちろん、ローカルストレージの全クリアーもしています。

念のために現在の【ixa-login.user.js】です。(途中までですが差分なし)
https://writening.net/page?j2p3uy

あとは【ixa-moko.user.js】側の問題でしょうから、やはり合戦後に前スレも含めて見直します。これまでの刷新時にはなかったんだけどなぁ〜。

32名無しさん:2024/02/25(日) 21:33:54 ID:o0bxJOiU
>>31
マウスダウンが効いていてCookieにちゃんと27と書き込まれているかを
切り分けないと分からないですね

>>29のアラートを入れてみて、アラートでますか?

33名無しさん:2024/02/26(月) 10:29:04 ID:cox0sqTE
部隊出陣時、部隊を選択する箇所にチェックを入れて、「最大指揮兵数を指揮して出陣」の箇所にチェックを入れて・・・と4合流可能となった今期は8回チェックをいれないといけません
一発で部隊選択、「最大指揮兵数を指揮して出陣」にチェックをいれるなんて事はできないでしょうか

34名無しさん:2024/02/26(月) 17:54:20 ID:o0bxJOiU
>>33
meraにチェックしたものを記憶する機能があったので
見よう見まねで昔作ったのがありました
ちゃんと動くかは各自確認してください
ここから〜ここまでをごっそり追加で+マーク付けていません


$(this).closest('td').find('input[name="unit_select[]"]').prop('checked', true);
$('#' + $(this).attr('type')).trigger('click');
$('img[alt="選択した部隊で出陣"]').trigger('click');
});

//最大兵数のチェックボックスを記憶 ここから
var max_checkbox = getStorage({}, 'ixamoko_send_troop_max');
$('input[name^="max_unit_assign"], input[name^="elite_max_unit_sort"]').each(function() {
var card_ids = $(this).closest('table').find('.busho_name a').map(function(idx,elm) {
return elm.getAttribute('data-card_id');
}).get();
card_ids = card_ids.sort((a, b) => a > b).join('');
if (card_ids in max_checkbox) {
$(this).prop('checked', max_checkbox[card_ids]);
}
});
$('label.send_troop_max_unit').on('click', function() {
var tmpdata = {};
$('input[name^="max_unit_assign"], input[name^="elite_max_unit_sort"]').each(function() {
var card_ids = $(this).closest('table').find('.busho_name a').map(function(idx,elm) {
return elm.getAttribute('data-card_id');
}).get();
card_ids = card_ids.sort((a, b) => a > b).join('');
if (card_ids in tmpdata) {
return true;
}
tmpdata[card_ids] = $(this).prop('checked');
});
setStorage('ixamoko_send_troop_max', tmpdata);
});
//最大兵数のチェックボックスを記憶 ここまで

if (options.all_send_troop && !$('#mk-all-submit_btn').length) {
var $normal_attack_img = $img.filter(function() {
return (j$(this).parents('ul').prevAll('h3.in_send_troop_base').eq(0).text().indexOf("に所属する部隊") !== -1);
});

35名無しさん:2024/02/26(月) 20:38:51 ID:FC8eUOQQ
前期まで使えていた同盟員情報での変動値って上手く取得できなくなってます?
もし復活できそうならお願いしたいのですが。m(_ _)m

36名無しさん:2024/02/26(月) 21:48:42 ID:o0bxJOiU
>>35
恐らく青いカッコの数字が追加されたからですね

37名無しさん:2024/02/26(月) 22:54:57 ID:o0bxJOiU
>>35
ちょうど直そうと思っていたので改修しました
あまり動作確認していないのでバグありましたらおしえてください
// === 同盟 === 〜 // ^ 同盟の間の最後のfunctionで
結構前に合戦と内政のポイントにも対応してどこ直したか覚えていないので全文載せます
何回かに分けます

// 同盟ポイント比較機能
function alliancePointComparison() {
if (!options.ar_point_cmp) {
return;
}
var $tr = $('table.common_table1 tr').not('.sub'),
$tr_sub = $('table.common_table1 tr.sub'),
disp_apc = function() {
var data = getStorage({}, 'ixamoko_ar_point');
$('#ar_update').html('( 更新:' + data.date + ' )');
$tr.slice(1).each(function(idx, elm) {
var now_ar_member = $(this).find('td').eq(2).find('a').text().trim();
var now_ar_point = ($(this).find('td').eq(3).text().split('(')[0] || '').replace(/\,|\s|\n/g, '');
var now_ar_point_fight = ($tr_sub.slice(1).eq(idx).find('td').eq(0).text().split('(')[0] || '').replace(/\,|\s|\n/g, '');
var now_ar_point_village = ($tr_sub.slice(1).eq(idx).find('td').eq(1).text().split('(')[0] || '').replace(/\,|\s|\n/g, '');
var recorded = data.point[now_ar_member][0];
var recorded_fight = data.point[now_ar_member][1];
var recorded_village = data.point[now_ar_member][2];
if (!recorded) {
recorded = now_ar_point;
}
var cmpd_value = now_ar_point - recorded;
if (cmpd_value > 999) {
cmpd_value = cmpd_value + '';
while (cmpd_value != (cmpd_value = cmpd_value.replace(/^(-?\d+)(\d{3})/, '$1,$2')));
}
if (!recorded_fight) {
recorded_fight = now_ar_point_fight;
}
var cmpd_value_fight = now_ar_point_fight - recorded_fight;
if (cmpd_value_fight > 999) {
cmpd_value_fight = cmpd_value_fight + '';
while (cmpd_value_fight != (cmpd_value_fight = cmpd_value_fight.replace(/^(-?\d+)(\d{3})/, '$1,$2')));
}
if (!recorded_village) {
recorded_village = now_ar_point_village;
}
var cmpd_value_village = now_ar_point_village - recorded_village;
if (cmpd_value_village > 999) {
cmpd_value_village = cmpd_value_village + '';
while (cmpd_value_village != (cmpd_value_village = cmpd_value_village.replace(/^(-?\d+)(\d{3})/, '$1,$2')));
}
var $td = $(this).find('td.cmpd_value');
if ($td.length) {
$td.remove();
}
var $td_sub = $tr_sub.slice(1).eq(idx).find('td.cmpd_value');
if ($td_sub.length) {
$td_sub.remove();
}
$(this).find('td').eq(3).after('<td colspan="2" class="cmpd_value" style="color:maroon;">' + cmpd_value + '</td>');
$tr_sub.slice(1).eq(idx).append('<td class="cmpd_value" style="color:maroon; white-space:nowrap; padding-left:5px; padding-right:5px;">' + cmpd_value_fight +
'</td><td class="cmpd_value" style="color:maroon; white-space:nowrap; padding-left:5px; padding-right:5px;">' + cmpd_value_village + '</td>')
});
},

38名無しさん:2024/02/26(月) 22:56:51 ID:o0bxJOiU
update_flag = function() {
var flag = false;
var data = getStorage({}, 'ixamoko_ar_point');
if (data.id && location.search.replace('?id=', '') == data.id) {
flag = true;
}
$('#apc').val(flag ? '更新する' : '記録する');
return flag;
};

$('div.alliance_member_control:first').append('<span id="section_inner">同盟ポイント比較: <span id="ar_update">( 更新 --/-- --:--:-- ) </span></span>');
$('#ar_update')
.after('<input type="button" id="apc" name="apc" value="" />');
$tr.eq(0).find('th:eq(2)')
.after('<th colspan="2">変動値</th>');
$tr_sub.eq(0).find('th:eq(1)')
.after('<th style="width:35.75px;">合戦ポイント</th><th style="width:35.75px;">内政ポイント</th>');
$tr.slice(1).find('td:eq(3)')
.after('<td colspan="2" class="cmpd_value">-</td>');
$tr_sub.slice(1).find('td:last')
.after('<td class="cmpd_value">-</td><td class="cmpd_value">-</td>');
$('table.common_table1').css('transform', 'rotateX(180deg)').wrapAll($('<div id="moko_alliance_box">').css({'overflow-x': 'scroll', 'width': '683px', 'transform': 'rotateX(180deg)'}));
if (update_flag()) {
disp_apc();
}

$('#apc').on('click', function() {
var data = getStorage({}, 'ixamoko_ar_point');
var str;
if (!update_flag()) {
str = '現在の同盟ポイントを記録をします。\nよろしいですか?';
} else {
str = data.date + 'のデータが消去されます。\nよろしいですか?';
}
if (!confirm(str)) {
return;
}
var point_array = {};
$tr.slice(1).each(function (idx, elm) {
var $td = $(this).find('td');
var ar_member = $td.eq(2).find('a').text();
var ar_point = ($td.eq(3).text().split('(')[0] || '').replace(/\,|\s|\n/g, '');
var ar_point_fight = ($tr_sub.slice(1).eq(idx).find('td').eq(0).text().split('(')[0] || '').replace(/\,|\s|\n/g, '');
var ar_point_village = ($tr_sub.slice(1).eq(idx).find('td').eq(1).text().split('(')[0] || '').replace(/\,|\s|\n/g, '');
point_array[ar_member] = [ar_point, ar_point_fight, ar_point_village];
});
var now = new Date();
var ar_date = now.getMonth() + 1 + '/' + now.getDate() + ' ' + now.getHours() + ':' +
(now.getMinutes() < 10 ? '0' : '') + now.getMinutes() + ':' +
(now.getSeconds() < 10 ? '0' : '') + now.getSeconds();
data.name = $('div.alliance_title').text().trim();
data.id = location.search.replace('?id=', '');
data.date = ar_date;
data.point = point_array;
setStorage('ixamoko_ar_point', data);
return disp_apc();
});
}

// ^ 同盟

以上です

39名無しさん:2024/02/26(月) 23:24:00 ID:FC8eUOQQ
さっそく入れてみました!ありがとうございます^^
合戦で試してみますね。

40名無しさん:2024/02/27(火) 13:08:08 ID:o0bxJOiU
ID変わってますが前スレiOR7Vu4Iです
私が対応した機能であれば今後も対応可能です

41名無しさん:2024/02/28(水) 09:20:15 ID:cox0sqTE
>>34
導入してみましたがチェックされる時とされない時がランダムに起こります
合戦始まったら再度確認してみます
ご教授ありがとうございました

42名無しさん:2024/02/28(水) 10:35:54 ID:o0bxJOiU
>>41
あ、わかりました
攻撃と加勢で出てくる精鋭一覧が違うのにチェックボックスをチェックした時に
毎回チェック状態を上書き保存していたからだと想定されます
(攻撃出陣でチェックを保存した後に加勢出陣でチェックを保存すると攻撃のチェックの記録が消える)
時間あるときに直しておきます

43名無しさん:2024/02/28(水) 11:14:46 ID:o0bxJOiU
>>41
上の>>34を修正しましたが+-の記号だと元を取っていないので行末に
//add ⇒ 追加
//mod ⇒ 変更
にしました
なお、精鋭部隊をデッキや加勢専用部隊に配置している状態で
同じ武将の組み合わせの列が画面上に2行ある場合は
上側の列のチェックボックスが優先されます

//最大兵数のチェックボックスを記憶
var att_flg = $('h3.in_send_troop_base:not(.with_send_troop_btn)').text().indexOf('攻撃') != -1 ? 'att' : 'def'; //add
var max_checkbox = getStorage({}, 'ixamoko_send_troop_max_' + att_flg); //mod
$('input[name^="max_unit_assign"], input[name^="elite_max_unit_sort"]').each(function() {
var card_ids = $(this).closest('table').find('.busho_name a').map(function(idx,elm) {
return elm.getAttribute('data-card_id');
}).get();
card_ids = card_ids.sort((a, b) => a > b).join('');
if (card_ids in max_checkbox) {
$(this).prop('checked', max_checkbox[card_ids]);
}
});
$('label.send_troop_max_unit').on('click', function() {
var tmpdata = {};
$('input[name^="max_unit_assign"], input[name^="elite_max_unit_sort"]').each(function() {
var card_ids = $(this).closest('table').find('.busho_name a').map(function(idx,elm) {
return elm.getAttribute('data-card_id');
}).get();
card_ids = card_ids.sort((a, b) => a > b).join('');
if (card_ids in tmpdata) {
if ($(this).prop('checked') != tmpdata[card_ids]) { //add
return true;
} //add
}
tmpdata[card_ids] = $(this).prop('checked');
});
setStorage('ixamoko_send_troop_max_' + att_flg, tmpdata); //mod
});

44名無しさん:2024/03/01(金) 08:08:51 ID:cox0sqTE
>>43
毎回チェックされるようになりました
大変たすかりました ありがとうございます

45名無しさん:2024/03/03(日) 18:53:11 ID:S01RiUeQ
26章と表示される件ずっと悩んでいましたが、Part48の728のところで直った
ーーーー
私も8月頃になりまして完全に暫定対応ですがログインはできるようになりました(一部機能が正常に動作しない可能性があります)
チャプターはハードコーディングしていますので来期は'27'に変えないとですし20鯖がオープンしたらその分も追加しないとです
原型を記録していなかったので完成形になります
}
else {
//暫定対応
login_data.world = location.hostname.split('.')[0];
login_data.chapter = '26';  ← ここ
switch (login_data.world.substring(1, 4)) {
case '001':
login_data.season = login_data.chapter;

46名無しさん:2024/03/03(日) 18:57:40 ID:S01RiUeQ
多分この当たり書き込み多かったので修正が全部出来ていないだけではないかと考えております。

47名無しさん:2024/03/03(日) 19:12:41 ID:S01RiUeQ
多分Part48の912を修正してなかったからだと思います。

48名無しさん:2024/03/04(月) 14:15:31 ID:fk/lLthg
27章対応の為に追記したり書き替えたりした箇所全てに"27章対応"等の文字列をコメントで入れておきますと
次の刷新で28章対応を行う時に対応が楽になると思います。
https://imgur.com/nzyHJfY

49名無しさん:2024/03/04(月) 19:34:22 ID:HZcUXXB.
//2024.3
"防.鬼十河.A":["防.鬼十河.A","防.鬼十河.A","防.鬼十河.A","防.朝曇ノ明麗.S","特.戦陣 神屋.A"],
"特.日輪ノ守護者.A":["特.日輪ノ守護者.A","特.日輪ノ守護者.A","特.木遁封魔.S","特.戦陣 吟詠.A","特.戦陣 吟詠.A"],
"攻.黄鬼ノ辣腕.S":["攻.月読ノ冥将.S","攻.黄鬼ノ辣腕.S","攻.黄鬼ノ辣腕.S","攻.朧雲ノ閃撃.SSS","攻.十束ノ神域.SS"],
"攻.天麟ノ灼煌.S":["攻.天麟ノ灼煌.S","特.四天轟雷.SS","特.月詠ノ覇威.SS","攻.星神闘覇.SS","特.月詠ノ覇威.SS"],
"防.苛砲.C":["防.苛砲.C","防.苛砲.C","防.苛砲.C","防.花菱ノ礎.C","防.越州僧君.C"],
"攻.清将哀諫.C":["攻.清将哀諫.C","攻.清将哀諫.C","攻.清将哀諫.C","攻.土佐ノ英知.C","攻.片手千人斬り.C"],
"防.獅子姫ノ衷情.C":["防.獅子姫ノ衷情.C","防.獅子姫ノ衷情.C","防.獅子姫ノ衷情.C","防.涼下宿志.C","防.安息ノ導手.C"],

//合成専用
"攻.戦陣 疾駆.A": ["..","..","..","攻.十束ノ神域.SS",".."],

50名無しさん:2024/03/08(金) 11:48:40 ID:41q3ACVg
兵士一括受取禁止にチェックして、兵士のタブに最初に持って来た時は一括受取は非表示なのですが
2ページ以降に遷移を一度でもするとぼたんが復活してしまいます
対策はありますでしょうか

51名無しさん:2024/03/09(土) 02:10:27 ID:gP.Mv2OE
>>50
meraの話じゃないですかね?

52名無しさん:2024/03/10(日) 08:09:59 ID:JqV30KRI
>>51
モコの話で、兵士だけでなく一括受け取り(すべて)の禁止をチェック入れてて
最初のページは一括受取ボタンがHIDEになっているのですが2ページ目以降に遷移すると
すべて、武将カード、兵士 の三つのタブでも一括受取ボタンが蘇ってしまうのですが、おま環っぽいですか?

53名無しさん:2024/03/10(日) 20:57:53 ID:DkZlTK52
ページ切り替え時はajax通信の終了で非表示にする処理すれば直るんじゃない

54名無しさん:2024/03/10(日) 21:00:19 ID:DkZlTK52
ページ切り替え時はajax通信の終了でボタンを非表示にする処理にすれば直るんじゃない

55名無しさん:2024/03/11(月) 13:47:12 ID:gP.Mv2OE
>>52
数スレ遡ったのですが、プレゼント一括受取禁止のソースが無く
私のmokoにも一括受取禁止の機能が無いので
元々のmokoのバージョンが違うのですかね?

そちらがどういうソースか分かりませんが
onのclickで発火させるイベントをfunctionでラップして
その中でlocation.searchで判定してヒットしたら
preventDefaultすれば良いのではないですかね
ページに関係なく動くと思います
プレゼントが「すべて」の場合はtype=がないので
そのあたりの判定も必要です

オートページャーも入れているならページ追加後にも
このfunctionを走らせます

56名無しさん:2024/03/11(月) 21:22:20 ID:ZYq2t43U
自分は考えられるような力はないのでREADMEなどを遡ってみたのですが2023の1月29日頃に刷新寸前で直してて
その元の記述が全然見当たらず、掲示板を探してみたところ前スレの503あたりのを上書きして
https://jbbs.shitaraba.net/bbs/read.cgi/netgame/15829/1674020414/503
604のレスに同様に外れる症状はでてたようです
594でページ切替のリンクを上に下あたりから色々

57名無しさん:2024/03/12(火) 00:56:28 ID:gP.Mv2OE
>>56
前スレ503〜を書き込んだのはID違いますが私ですね
私のmokoには一括受取禁止機能が無かったので
604のレスもそもそも理解していませんでした

無いものは修正できないのでどうしようもないですが
新しく作ることはできます
というかもう作りまして、既存のものと競合してしまうと思いますが
需要ありますか?

58名無しさん:2024/03/12(火) 02:47:33 ID:ZYq2t43U
>>57
お手数をおかけしますが是非よろしくお願いします
気を付けてるつもりが兵士一括受取をしてしまって兵を作れない子(自分もたまに)が多くて汗

59名無しさん:2024/03/12(火) 09:44:09 ID:gP.Mv2OE
>>58
ボタン押しても無効化している機能なので、既存機能と競合していたら既存の方をコメントアウトしてください
moko設定はとりあえず全般2に入れていますがどこでも大丈夫です
//ここから〜//ここまでには行頭に+マーク付けていません
行単位で追加する部分は行頭に+マーク付けています

GROUPS_MENU = [
["-2","【精鋭部隊】"], ["0","【全武将】"], ["1","【第一組】"], ["2","【第二組】"],
["3","【第三組】"], ["4","【第四組】"], ["5","【第五組】"], ["6","【第六組】"],
["-1","【未設定】"]
],

// プレゼント一括受取禁止ここから
PRESENT_TYPE = {
'すべて': [true, 'all'],
'武将カード': [true, 'card'],
'金/銀/銅銭': [true, 'coin'],
'チケット/経験値': [true, 'ticket'],
'資源': [true, 'material'],
'兵士': [true, 'unit'],
},
// プレゼント一括受取禁止ここまで

DEFAULT_SET_NUM = {
100: '100',
500: '500',

(・・・省略・・・)

ixa_time_mod: {tag: 'all2', caption: 'IXAタイムの表示位置'},
no_other_name: {tag: 'all2', caption: '異名ポップアップを非表示にする'},
+ deny_bulk_present: {tag: 'all2', caption: 'プレゼントの一括受取を禁止する'}, // プレゼント一括受取禁止
+ deny_bulk_present_mod: {tag: 'all2', caption: 'プレゼント一括受取禁止'}, // プレゼント一括受取禁止
sidebox_change: {tag: 'all2', caption: 'サイドボックスを合戦向け表示にする'},

60名無しさん:2024/03/12(火) 09:47:27 ID:gP.Mv2OE
case 'ixa_time':
mod = options.ixa_time_mod;
list = {
0: 'サイドバー上段',
1: 'サイドバー上段/中段'
};
setting_list += this.createList(key, '', list, mod);
break;
// プレゼント一括受取禁止ここから
case 'deny_bulk_present':
setting_list += '<dl id="hide_present_list">' +
'<dt style="margin-bottom: 5px;">' + this.optionsKeys[key].caption + '</dt>' +
'<dd class="ixamoko_setting" style="width: 245px; height:75px; margin-bottom: 5px; padding: 5px 15px; border-radius: 4px; box-shadow: inset 0px 1px 3px rgba(0, 0, 0, 0.3),inset 0px 0px 3px rgba(0, 0, 0, 0.3);" key="' + key + '">';
var presernt_list = options[key];
if (!presernt_list || $.isEmptyObject(presernt_list)) {
presernt_list = PRESENT_TYPE;
}
for (i in presernt_list) {
setting_list += '<label style="float: left; line-height: 2em; width: 120px;"><input type="checkbox"' + (presernt_list[i][0] ? ' checked' : '') + ' value="' + i + '"/>' + i + '</label>';
}
setting_list += '</dd></dl>';
break;
case 'deny_bulk_present_mod':
setting_list += '<li><label>' + this.optionsKeys[key].caption + ':</label>&nbsp;' +
'<select class="ixamoko_setting" key="' + key + '">' +
'<option value="0">「このページ内を一括受取」は許可</option>' +
'<option value="1">「このページ内を一括受取」も禁止</option>' +
'</select>' +
'</li>';
break;
// プレゼント一括受取禁止ここまで
case 'sort_village':
mod = options.sort_village_mod;
list = {
0: '名前降順',
1: '名前昇順'
};
setting_list += this.createList(key, '', list, mod);
break;


(・・・省略・・・)

// 保存
$('#save_settings').on('click', function() {
var $setting = $('#moko_setting_dialog').find('.ixamoko_setting');
$setting.each(function() {
var key = $(this).attr('key');
if (key == 'def_kind_soldier') {
options[key] = {};
var $input = $(this).find('input[type="checkbox"]');
for (var i = 0, len = $input.length; i < len; i++) {
options[key][$input.eq(i).val()] = $input.eq(i).prop('checked');
}
// プレゼント一括受取禁止ここから
} else if (key == 'deny_bulk_present') {
options[key] = {};
var $input = $(this).find('input[type="checkbox"]');
for (var i = 0, len = $input.length; i < len; i++) {
options[key][$input.eq(i).val()] = [$input.eq(i).prop('checked'), PRESENT_TYPE[$input.eq(i).val()][1]];
}
// プレゼント一括受取禁止ここまで
} else if (key.indexOf('_mod') != -1) {
options[key] = $(this).val();
} else {
options[key] = $(this).prop('checked');
}
});

61名無しさん:2024/03/12(火) 09:49:36 ID:gP.Mv2OE
// プレゼント
function presentCheck() {
if (!location.pathname.match(/\/user\/present/)) {
return;
}

// プレゼント一括受取禁止ここから
function prohibit_bulk_present() {
var mod_type = options.deny_bulk_present_mod ? '$' : '';
$(document).find('input[alt' + mod_type + '="一括受け取り"]').on('click', function(e) {
var setting_present = options.deny_bulk_present,
search = location.search;
if (!setting_present || $.isEmptyObject(setting_present)) {
setting_present = PRESENT_TYPE;
}
if (search.indexOf('type=') == -1) {
search += '&type=all';
}
for (var key in setting_present) {
if (search.indexOf(PRESENT_TYPE[key][1]) != -1 && setting_present[key][0]) {
e.preventDefault();
var setting_category = Setting.optionsClass[Setting.optionsKeys['deny_bulk_present'].tag];
moko_alert('この操作はmoko設定[' + setting_category + ']で禁止されています');
sleep(1).then(() => location.reload());
return false;
}
}
});
};
prohibit_bulk_present();
// プレゼント一括受取禁止ここまで

// すべてのプレゼントを受け取りにconfirmを追加
$('div.ig_decksection_mid div:contains("ボックス内のアイテムは刷新後に引き継ぐことはできません")').css({
'left': '415px',
'width': '340px'
});

(・・・省略・・・)

// プレゼント オートページャー
var page = $pager.find('span').text();
$pager.data('add_page', parseInt(page) + 1);
(===中略===)
// 変更点(プレゼントボックス修正06)
$('#sidebar').before($modal);
tb_init('a.thickbox');
add_next_page.flag = false;
add_page++;
+ prohibit_bulk_present(); // プレゼント一括受取禁止
if (add_page > max_page) {
add_next_page.flag = true;
return moko_notice('全ページ読み込み完了', true);
} else {
$pager.data('add_page', add_page);
}
}, null);
},

62名無しさん:2024/03/12(火) 09:51:50 ID:gP.Mv2OE
以上です
バグあったらおしえてください

63名無しさん:2024/03/12(火) 10:35:38 ID:gP.Mv2OE
あ、すみません
>>61のここはこうの方が良いかもしれません
もし動作おかしかったら修正してください

(誤)
var mod_type = options.deny_bulk_present_mod ? '$' : '';

(正)
var mod_type = options.deny_bulk_present_mod == '1' ? '$' : '';

64名無しさん:2024/03/13(水) 16:03:08 ID:yibPJVrg
>>59 ID:gP.Mv2OEさま
コードありがとうございました
無事機能確認できました、これで兵士を受取事故が減りそうで助かります

65名無しさん:2024/03/13(水) 18:17:22 ID:rmVp7LGM
ホームセンターコーナン生野店の駐車場で、12時頃〜16時頃に来ては鳩に餌を与えている『なにわ 581 く 29-54』のキャップ帽クソハゲジジイが究極的にうざいし腹立つから誰かなんとかしてくれ。

66名無しさん:2024/03/15(金) 00:51:59 ID:fk/lLthg
>63 ID:gP.Mv2OE さん
動作良好の模様です。全般2でチェックしている限りプレゼントの一括受け取り時にピロリン音と共に警告が現れます。
改修時に気になりましたが >>60
case 'ixa_time':
mod = options.ixa_time_mod;
list = {
0: 'サイドバー上段',
1: 'サイドバー上段/中段'
};
の段落が私にはそもそも存在しなかったりcase分岐の並び順が私と違っていたりしました。
サイドバーのcase分岐は増やせばいいと思って増やし、並び順の相違は機能に影響しない考えて
近づけるだけに留めました。IXAをしていない期間があった為私が取りこぼしたのだと思います。
ご対応を有り難うございました。

67名無しさん:2024/03/15(金) 01:12:48 ID:FC8eUOQQ
ID:gP.Mv2OE さん、いつもありがとうございます。
動作自体は問題なさそうなのですが警告音は鳴るのですが、
('この操作はmoko設定[' + setting_category + ']で禁止されています');
こちらのアラートが出て来ないのはどの辺に問題があるんでしょうか?

68名無しさん:2024/03/15(金) 14:40:34 ID:gP.Mv2OE
>>67
私もブラウザによっては警告音だけ鳴って警告文字列はでないものがあります
ブラウザの種類やブラウザのバージョンに寄るかと思います

69名無しさん:2024/03/15(金) 19:28:57 ID:fk/lLthg
>>67 >>68さん
私はID:gP.Mv2OE さんご本人ではありませんが状況をもう少し詳しく
お知らせ戴けるとお詳しい方からコメントが出るかもです。
下図は私の環境でのキャプチャです。
https://imgur.com/983Iyjh

お使いの環境で黄色のメッセージ枠すら表示されませんか?
或いは黄色のメッセージ枠は表示されますがメッセージが表示されませんか?

70名無しさん:2024/03/16(土) 08:11:16 ID:FC8eUOQQ
ありがとうございます。
判明したことを報告いたします。
 PIXIEを使用していると音だけ鳴るものの、文字の表示がされないようです。
拡張機能をOFFにすると表示されました。
PIXIEの設定を色々触ってみて、全部OFFにしてみましたが表示はされないままでしたので
拡張機能そのものが共存できないようです。

71名無しさん:2024/03/16(土) 09:40:25 ID:gP.Mv2OE
>>70
そうでした
今はもうピクシーは使っていませんが
昔その症状が確かに出ていました

ピクシーと言えば私がよく使っていたのが
S1合わせと全自動ランクアップだったんですが
ピクシーは危険なので使うのやめました

見様見真似で
・道場習得編を使っての待機武将右クリックからのFスキル付与機能
・一気ランクアップ後レベル20にする機能
を作ったんですが需要あります?
ピクシーほど全自動では無いですが公式の機能を連続で使っているだけなので
危険性は低いと思います

72名無しさん:2024/03/16(土) 09:54:22 ID:FC8eUOQQ
・道場習得編を使っての待機武将右クリックからのFスキル付与機能
>待機武将画面から、その武将を道場習得させられるって感じですか?
公式の習得は武将を選ぶのが面倒だなぁと思ってたので、それは便利そうですね!
・一気ランクアップ後のレベル20は、レベル20にする・しない、を選べるとありがたいかもです。
PIXIEは
 私も危険そうなのは現在は使っておらず、出陣時に兵士編成ができるやつだけしかほぼ使ってませんね。
これが便利でして・・・
https://gyazo.com/e71b5a5877163c2434ab625e7f87d7e5
似たようなことをMOKOでも出来るとありがたいのですが。
(最大補充機能とは違って、兵種も指揮数も任意で変更できるので)

73名無しさん:2024/03/16(土) 13:47:42 ID:gP.Mv2OE
>>72
道場
https://gyazo.com/7415da17636b9112a338ab7747ba0c5d

一気ランクアップ
https://gyazo.com/373175dc7d6a38ea6c9c93ce6113e390

こんな感じです
道場はB以上と茶人スキルを上書きする時は警告を出すようにしています
結構共通functionをいじっているので修正箇所を確認して後でソース投稿します

出陣時の兵編成は出陣ボタンの1つ前の部隊を選択する画面で
兵の編成できませんか?

74名無しさん:2024/03/16(土) 14:48:55 ID:pscKePZ2
出陣時に兵の編成ボタンは標準でありますね
ただそこからだと同兵数セットのプルダウンが無く兵100とかで揃えるときに不便なので使ってないです

75名無しさん:2024/03/16(土) 18:36:22 ID:FC8eUOQQ
>>73
すばらしいです!
道場も画面遷移なしで行けちゃうんですねー
需要あると思います。というか私は欲しいです^^
1つ気になるのは回数制限なんですが、5回終えるとどうなるのでしょうか?

出陣前の画面での兵編成はとにかくボタンを押す回数が多すぎて不便だと思ってましたが
はじめてPIXIEを使ったときに大変感動したのですよね。

76名無しさん:2024/03/16(土) 20:15:29 ID:gP.Mv2OE
>>75
5回が終わっているとそこで処理を止めてログに回数が残っていないことが出ます
公式の機能のボタンを画面遷移なしに押していっているイメージなので
公式の機能以上のことはできないです
後でソースをアップします

兵士編成については私は困ったことは無いのですが
要望あるなら時間ある時に作っておきます

77名無しさん:2024/03/16(土) 21:55:41 ID:gP.Mv2OE
①定数(+マーク省略)
CONSTANT_VALUE = [2, 10, 20, 30, 100, 128, 200, 250, 500, 1000, 2000],

//道場スキル追加(常設のみ)ここから
DOJO_SKILL = {
Da0389: '槍隊堅守',
Aa0599: '槍隊襲撃',
Aa0559: '槍隊進撃',
Da0009: '槍隊備え',
Da0409: '騎馬隊堅守',
Aa0619: '騎馬隊襲撃',
Aa0579: '騎馬隊進撃',
Da0029: '騎馬隊備え',
Da0399: '弓隊堅守',
Aa0609: '弓隊襲撃',
Aa0569: '弓隊進撃',
Da0019: '弓隊備え',
};
//道場スキル追加(常設のみ)ここまで

var SUB_FILTER_MENU = (function() {
var org = (function() {

②共通function(+マークの行のみ追加)
// カード Window
function get_card_data(target) {
(===中略===)
// 出品中フラグ
var exhibit = $('#btn_gounit_' +card_id).length;
var $div = target.find('div.parameta_area_back div.ig_skill_box'),
+ skill_index = [],
name_list = [],
lv_list = [],
+ rank_list = [],
str;
for (var i = 0, len = $div.length; i < len; i++) {
str = $div.eq(i).find('span.ig_skill_name').text().trim();
if (!str) {
continue;
}
+ skill_index.push(i);
name_list.push(str.split('LV')[0].replace(' ', ' '));
lv_list.push(parseInt(str.split('LV')[1]));
+ rank_list.push(($div.eq(i).find('span.ig_skill_name.skill_rare').attr('class') || 'ig_skill_name skill_rare dummy').split(' ')[2]);
}
(===中略===)
return {
card_id: card_id,
card_no: card_no,
grp: category,
card_name: card_name,
rare: rare,
cost: card_cost,
rank: rank,
level: level,
hp: hp,
hp_max: hp_max,
t1: yari,
t2: kiba,
t3: yumi,
t4: heiki,
att: attack,
def: defense,
int: int,
num: command_num,
max: command_max,
type_str: command_type_str,
type: command_type,
+ sidx: skill_index,
sname: name_list,
slv: lv_list,
+ srank: rank_list,
sEffect: o,
card_img: card_img,
exhibit: exhibit
};

78名無しさん:2024/03/16(土) 21:57:24 ID:gP.Mv2OE
③右クリックメニューの部分(+マーク省略)
function createCardTooltip(e, target, $tooltip, data) {
(===中略===)
if (!data.sname[i]) {
toolMenu += '<li id="skill_additional_synthetic_' + sort + '">【新規】未設定</li>';
} else {
toolMenu += '<li id="skill_additional_synthetic_' + sort + '">【入替】' + data.sname[i] + 'LV' + data.slv[i] + '</li>';
}
}
toolMenu += '</ul></li>';
}

//道場スキル追加(常設のみ)ここから
if (data.rare.indexOf('warabe') == -1 && data.rare.indexOf('ketsu') == -1 && data.rare.indexOf('miyabi') == -1 && data.rare.indexOf('bake') == -1) {
for (var i = 1; i < 3; i++) {
var skillName = data.sname[i], cnt = 0, flg = 9;
if (data.sidx[i] == 3) {
skillName = null;
}
if (data.sname[1]) {
flg = i + 1;
}
toolMenu += '<li class="sub_root">【道場】' + (skillName || '新規追加') + '<span class="tree">►</span>' +
'<ul class="sub_list">';
for (var key in DOJO_SKILL) {
if (data.sname.includes(DOJO_SKILL[key])) {
++cnt;
continue;
}
toolMenu += '<li id="skill_additional_dojo_' + key + '_' + flg + '">' + DOJO_SKILL[key] + '</li>';
if (cnt != (Object.keys(DOJO_SKILL).length - 1)) {
toolMenu += '<hr class="separator" />';
}
++cnt;
}
toolMenu += '</ul>';
if (!data.sname[1]) {
break;
}
}
toolMenu += '</li><hr class="separator" />';
}
//道場スキル追加(常設のみ)ここまで

if (data.level == 20) {
toolMenu += '<li id="rank_up_synthesis">ランクアップ合成</li>';
}
(===中略===)
// 追加
$('li[id^="skill_additional_synthetic"').on('click', function() {
send_data = PostData.union(data.card_id, '2');
send_data.target_sort = $(this).attr('id').match(/\d+/g)[0];
return $.form({
type: 'post',
url: '/union/learn.php',
data: send_data
});
});

//道場スキル追加(常設のみ)ここから
$('li[id^="skill_additional_dojo"').on('click', function() {
var learn_skill_id = $(this).attr('id').split('_')[3],
target_sort = $(this).attr('id').split('_')[4],
chajin_skill = new RegExp(/一期一会|天の福音|茶人の教え/),
confirm_rank = new RegExp(/x|s+|a|b/),
idx = parseInt(target_sort) - 1;
if (target_sort != '9') {
if (chajin_skill.test(data.sname[idx]) || confirm_rank.test(data.srank[idx])) {
if (!confirm(data.sname[idx] + 'LV' + data.slv[idx] + 'を' + DOJO_SKILL[learn_skill_id] + 'LV10に入れ替えますか?')) {
return false;
}
}
}
else {
target_sort = '';
}

(このまま続く)

79名無しさん:2024/03/16(土) 21:59:29 ID:gP.Mv2OE
(続き)
nowLoading();
Info.title('スキル道場 習得編 - IxaMoko');
var target_skill = !data.slv[idx] ? 'スキル空' : data.sname[idx] + 'LV' + data.slv[idx];
Info.log(data.card_name + ' の ' + target_skill + ' に ' + DOJO_SKILL[learn_skill_id] + 'LV10 をスキル追加合成をします');
sleep(1).then(function() {
Info.log('道場画面に遷移しています...');
$.ajax({
type: 'post',
url: '/union/dojo_learn.php',
data: {union_type: 10},
beforeSend: xrwStatusText,
}).then(function(html) {
var target_link = $(html).find('a[data-skill_id="' + learn_skill_id + '"]');
if (!target_link.length) {
Info.ng('道場画面に遷移できませんでした[不明なエラー]');
Info.title('異常終了');
sleep(1).then(() => location.reload(false));
return false;
}
if (target_link.attr('data-today_remain_count') == '0') {
Info.ng($(html).find('div.union_dojo_learn_count p').text() + ' です');
Info.title('異常終了');
sleep(1).then(() => location.reload(false));
return false;
}
Info.log('対象カードを選択しています...');
$.ajax({
type: 'post',
url: '/union/dojo_learn_select_card.php',
data: {
lineup_id: 4,
learn_skill_id,
},
beforeSend: xrwStatusText,
}).then(function(html) {
if (($(html).find('td.skill_name.skill_rare.f').text() || '').trim().split('LV')[0] != DOJO_SKILL[learn_skill_id]) {
Info.ng('対象カードを選択できませんでした[不明なエラー]');
Info.title('異常終了');
sleep(1).then(() => location.reload(false));
return false;
}
Info.log('習得確認画面に遷移しています...');
var obj_1 = PostData.learn(html),
obj_2 = {
base_cid: data.card_id,
target_sort,
union_type_dojo_learn_flg: 1,
lineup_id: 4,
learn_skill_id,
};
Object.assign(obj_1, obj_2);
(このまま続く)

80名無しさん:2024/03/16(土) 22:00:48 ID:gP.Mv2OE
(続き)
$.ajax({
type: 'post',
url: '/union/dojo_learn_confirm.php',
data: obj_1,
beforeSend: xrwStatusText,
}).then(function(html) {
if (!$(html).find('img[alt="習得実行"]').attr('alt')) {
Info.ng('習得確認画面に遷移できませんでした[不明なエラー]');
Info.title('異常終了');
sleep(1).then(() => location.reload(false));
return false;
}
var user_point = parseInt($(html).find('span.money_b').text().trim().replace(/,|万/g, '')),
user_coin = parseInt($(html).find('span.money_c').text().trim().replace(/,|万/g, '')),
point = $(html).find('input[name="RadioGroup1"]:checked').attr('data-point'),
probability_type = $(html).find('input[name="RadioGroup1"]:checked').val();
if (user_point < point) {
Info.ng('銅銭がたりません');
Info.title('異常終了');
sleep(1).then(() => location.reload(false));
return false;
}
$.ajax({
type: 'post',
url: '/union/dojo_learn_execute.php',
data: {
lineup_id: 4,
learn_skill_id,
base_cid: data.card_id,
target_sort,
probability_type,
point,
user_point,
user_coin,
item_confirm_text: '',
},
beforeSend: xrwStatusText,
}).then(function(html) {
var result = $(html).find('img[alt^="習得"]').attr('alt');
if (result) {
Info.log(result + '!');
Info.log($(html).find('p.new_union_result_para').text().replace(/\n|\s|。/g, ''));
Info.title('終了');
}
else {
Info.ng('スキルを習得できませんでした[不明なエラー]');
Info.title('異常終了');
}
sleep(1).then(() => location.reload(false));
});
});
});
});
});
});
//道場スキル追加(常設のみ)ここまで

// 削除
$('#delete_synthesis_skill').on('click', function() {

81名無しさん:2024/03/16(土) 22:04:14 ID:gP.Mv2OE
道場スキル右クリック追加は以上です
バグあったら教えてください

82名無しさん:2024/03/16(土) 22:10:30 ID:gP.Mv2OE
あ、いつも投稿してから気付いてすみません
>>79は一か所こう直してください
(誤)
Info.ng($(html).find('div.union_dojo_learn_count p').text() + ' です');


(正)
Info.ng($(html).find('div.union_dojo_learn_count p:eq(0)').text() + ' です');

83名無しさん:2024/03/17(日) 17:09:22 ID:fk/lLthg
>>82 ID:gP.Mv2OE さん。
お陰様で動作良好の様です。有り難うございました。
1点質問ですが付与し終えたスキルをLv10にするのに小姓の応援/隠し玉系の
カードを使用してているのでしょうか?。その場合既存のソート順は影響ありますか?
※秘境に序とかを送る関係で常にカードNo降順, ランク昇順, レベル昇順にソートしておりまして、
 もしも貴重な小姓の応援/隠し玉から使用されたら痛いなと思った次第です。

>組み込もうとしている方へ
 私の読解力不足で悩んだ点を参考までに情報連携します。
 >>77 は見たまんまで理解出来るかと思いますが、>>78-80 は既存の
 function createCardTooltip()関数の「if (data.level == 20) {」の手前」と
 「// 追加の段落と// 削除の段落の間」の2箇所に「//道場スキル追加(常設のみ)」で
 示されている処理を追加で挿入します。(+マーク省略)となっているので悩むかも。

84名無しさん:2024/03/18(月) 05:38:16 ID:hdXmxehU
>>83
道場で付けたスキルは付与した時点でLv10ですよ

85名無しさん:2024/03/18(月) 06:44:24 ID:fk/lLthg
>>84 そうでしたか!。勉強不足でお恥ずかしいです・・・。>>83の質問部分は取り下げます!

86名無しさん:2024/03/20(水) 07:33:25 ID:M05M3a5I
>>85 かなり損してない?
白くじ2枚分の銅線でLv10のFスキルが付くので、
それを目当てのスキルに入れかえてもLv8のスキルになります。
つまりスキルレベルアップは半分の費用でLv10にできるので、
できるだけ道場を使うべきです。

87名無しさん:2024/03/20(水) 09:37:50 ID:fk/lLthg
>>86 さん ふぇぇ・・・、仰る通りです(><。チェックが甘かったです。

88名無しさん:2024/03/21(木) 21:32:05 ID:MFBmZZJY
ん?
メンテの影響!?
https://gyazo.com/1208081d3f4b84e5701586d54ede9b4e
下に追加スキル出なくなってませんか???

89名無しさん:2024/03/21(木) 23:19:14 ID:fk/lLthg
[ローカルストレージの全クリア]は行っておりませんがこちらでは見えている様です。
何がトリガーなのでしょう。https://imgur.com/mnmNwbM

90名無しさん:2024/03/22(金) 10:13:17 ID:gP.Mv2OE
>>88
私もたまにあります
ファイルを分けてheadタグの中にスキルデータを読み込んでいますが
mokoを読み込む時にまだそのDOMが読み込まれていないのか、
読み込むところで何かしら問題があるのか、特定できてないないです
分かったら共有します

91名無しさん:2024/03/22(金) 10:14:51 ID:gP.Mv2OE
同盟ポイント比較が少しおかしかったので直しました
2つの連続したfunctionを全文載せます
いくつかに分けて投稿します

// 同盟スコア計算追加
function doumeiScore() {
var createScore = function() {
var result = parseFloat($('div.alliance_points dt:contains("総同盟ポイント")').closest('dl').find('dd:eq(0)').text().replace(/\,/g, ''));
var value = addFigure(Math.floor(result / 500));
var $deck = $('div.alliance_member_control:first');
$('#doumei_score').remove();
$deck.append('<span id="doumei_score">同盟スコア: (' + value + ')</span>');

// execute 同盟ポイント比較機能
alliancePointComparison();
$(document).off('ajaxStop', createScore);
};

if (location.pathname.indexOf('/alliance/') != -1) {
$(document).on('click', 'img[src$="btn_alliance_menber_ranking.png"]', function() {
$(document).on('ajaxStop', createScore);
});
if ($('img[src$="btn_alliance_menber_ranking_on.png"]').length) {
createScore();
}
}
}

// 同盟ポイント比較機能
function alliancePointComparison() {
if (!options.ar_point_cmp) {
return;
}
var $tr = $('table.common_table1 tr').not('.sub'),
$tr_sub = $('table.common_table1 tr.sub'),
disp_apc = function() {
var data = getStorage({}, 'ixamoko_ar_point');
$('#ar_update').html('( 更新:' + data.date + ' )');
$tr.slice(1).each(function(idx) {
var now_ar_member = $(this).find('td').eq(2).find('a').text().trim();
var now_ar_point = parseInt(($(this).find('td').eq(3).text().split('(')[0] || '0').replace(/\,|\s|\n/g, ''));
var now_ar_point_origin = parseInt(($(this).find('td').eq(3).text().split('(')[1] || '0').replace(/\,|\s|\n|\)/g, ''));
var now_ar_point_fight = parseInt(($tr_sub.slice(1).eq(idx).find('td').eq(0).text().split('(')[0] || '0').replace(/\,|\s|\n/g, ''));
var now_ar_point_fight_origin = parseInt(($tr_sub.slice(1).eq(idx).find('td').eq(0).text().split('(')[1] || '0').replace(/\,|\s|\n|\)/g, ''));
var now_ar_point_village = parseInt(($tr_sub.slice(1).eq(idx).find('td').eq(1).text().split('(')[0] || '0').replace(/\,|\s|\n/g, '') || '0');
var now_ar_point_village_origin = parseInt(($tr_sub.slice(1).eq(idx).find('td').eq(1).text().split('(')[1] || '0').replace(/\,|\s|\n|\)/g, ''));
var recorded = data.point[now_ar_member].length > 0 ? data.point[now_ar_member][0] : now_ar_point;
var recorded_fight = data.point[now_ar_member].length > 1 ? data.point[now_ar_member][1] : now_ar_point_fight;
var recorded_village = data.point[now_ar_member].length > 2 ? data.point[now_ar_member][2] : now_ar_point_village;
var recorded_origin = data.point[now_ar_member].length > 3 ? data.point[now_ar_member][3] : now_ar_point;
var recorded_fight_origin = data.point[now_ar_member].length > 4 ? data.point[now_ar_member][4] : now_ar_point_fight;
var recorded_village_origin = data.point[now_ar_member].length > 5 ? data.point[now_ar_member][5] : now_ar_point_village;
var cmpd_value = now_ar_point - recorded;
var cmpd_value_fight = now_ar_point_fight - recorded_fight;
var cmpd_value_village = now_ar_point_village - recorded_village;
var cmpd_value_origin = now_ar_point_origin - recorded_origin;
var cmpd_value_fight_origin = now_ar_point_fight_origin - recorded_fight_origin;
var cmpd_value_village_origin = now_ar_point_village_origin - recorded_village_origin;
var $td = $(this).find('td.cmpd_value');

92名無しさん:2024/03/22(金) 10:17:02 ID:gP.Mv2OE
var $td = $(this).find('td.cmpd_value');
if ($td.length) {
$td.remove();
}
var $td_sub = $tr_sub.slice(1).eq(idx).find('td.cmpd_value');
if ($td_sub.length) {
$td_sub.remove();
}
$(this).find('td').eq(3).after('<td colspan="2" class="cmpd_value" style="color:maroon;">' +
'<p>' + cmpd_value.toLocaleString() + '</p>' +
'<p style="color:#0066CC;">(' + cmpd_value_origin.toLocaleString() + ')</p>' +
'</td>');
$tr_sub.slice(1).eq(idx)
.append('<td class="cmpd_value" style="color:maroon; white-space:nowrap; padding-left:5px; padding-right:5px;">' +
'<p>' + cmpd_value_fight.toLocaleString() + '</p>' +
'<p style="color:#0066CC;">(' + cmpd_value_fight_origin.toLocaleString() + ')</p>' +
'</td>' +
'<td class="cmpd_value" style="color:maroon; white-space:nowrap; padding-left:5px; padding-right:5px;">' +
'<p>' + cmpd_value_village.toLocaleString() + '</p>' +
'<p style="color:#0066CC;">(' + cmpd_value_village_origin.toLocaleString() + ')</p>' +
'</td>');
});
},
update_flag = function() {
var flag = false;
var data = getStorage({}, 'ixamoko_ar_point');
if (data.id && location.search.replace('?id=', '') == data.id) {
flag = true;
}
$('#apc').val(flag ? '更新する' : '記録する');
return flag;
};

$('div.alliance_member_control:first').append('<span id="section_inner">同盟ポイント比較: <span id="ar_update">( 更新 --/-- --:--:-- ) </span></span>');
$('#ar_update')
.after('<input type="button" id="apc" name="apc" value="" />');
$tr.eq(0).find('th:eq(2)')
.after('<th colspan="2">変動値</th>');
$tr_sub.eq(0).find('th:eq(1)')
.after('<th style="width:35.75px;">合戦ポイント</th><th style="width:35.75px;">内政ポイント</th>');
$tr.slice(1).find('td:eq(3)')
.after('<td colspan="2" class="cmpd_value">-</td>');
$tr_sub.slice(1).find('td:last')
.after('<td class="cmpd_value">-</td><td class="cmpd_value">-</td>');
$('table.common_table1').css('transform', 'rotateX(180deg)').wrapAll($('<div id="moko_alliance_box">').css({'overflow-x': 'scroll', 'width': '683px', 'transform': 'rotateX(180deg)'}));
if (update_flag()) {
disp_apc();
}

93名無しさん:2024/03/22(金) 10:18:08 ID:gP.Mv2OE
$('#apc').on('click', function() {
var data = getStorage({}, 'ixamoko_ar_point');
var str;
if (!update_flag()) {
str = '現在の同盟ポイントを記録をします。\nよろしいですか?';
} else {
str = data.date + 'のデータが消去されます。\nよろしいですか?';
}
if (!confirm(str)) {
return;
}
var point_array = {};
$tr.slice(1).each(function (idx) {
var $td = $(this).find('td');
var ar_member = $td.eq(2).find('a').text();
var ar_point = parseInt(($td.eq(3).text().split('(')[0] || '0').replace(/\,|\s|\n/g, ''));
var ar_point_fight = parseInt(($tr_sub.slice(1).eq(idx).find('td').eq(0).text().split('(')[0] || '0').replace(/\,|\s|\n/g, ''));
var ar_point_village = parseInt(($tr_sub.slice(1).eq(idx).find('td').eq(1).text().split('(')[0] || '0').replace(/\,|\s|\n/g, ''));
var ar_point_origin = parseInt(($td.eq(3).text().split('(')[1] || '0').replace(/\,|\s|\n|\)/g, ''));
var ar_point_fight_origin = parseInt(($tr_sub.slice(1).eq(idx).find('td').eq(0).text().split('(')[1] || '0').replace(/\,|\s|\n|\)/g, ''));
var ar_point_village_origin = parseInt(($tr_sub.slice(1).eq(idx).find('td').eq(1).text().split('(')[1] || '0').replace(/\,|\s|\n|\)/g, ''));
point_array[ar_member] = [ar_point, ar_point_fight, ar_point_village, ar_point_origin, ar_point_fight_origin, ar_point_village_origin];
});
var now = new Date();
var ar_date = now.getMonth() + 1 + '/' + now.getDate() + ' ' + now.getHours() + ':' +
(now.getMinutes() < 10 ? '0' : '') + now.getMinutes() + ':' +
(now.getSeconds() < 10 ? '0' : '') + now.getSeconds();
data.name = $('div.alliance_title').text().trim();
data.id = location.search.replace('?id=', '');
data.date = ar_date;
data.point = point_array;
setStorage('ixamoko_ar_point', data);
return disp_apc();
});
}

// ^ 同盟

94名無しさん:2024/03/23(土) 00:48:33 ID:fk/lLthg
>>91 ID:gP.Mv2OE さん。動作良好の模様です。有り難うございました。

95名無しさん:2024/03/23(土) 08:02:23 ID:FC8eUOQQ
ID:gP.Mv2OE さん、いつもありがとうございます。
自分も>>88さんの症状、一度なったことがありますが拡張機能入れ直したり
何か色々やったら治りましたw
それと同じ原因なのかわかりませんが、たまにログイン情報の章期がズレることがあります。
これも入れ直したりすると治ります。(これはおま環?)

96名無しさん:2024/03/23(土) 08:53:35 ID:fk/lLthg
>>95
章・期はソースの中にべた書きしているか取得して求めているはず(どっちか自信無し)なので
「たまに発生」するのでしたらブラウザのキャッシュとMOKOのストレージクリア(一部か全部かは判らない)で直るのはないでしょうか?

97名無しさん:2024/03/23(土) 20:47:13 ID:5nzJMMgU
スキル候補ですが、2023.12までは、うまく表示されていました。
新天及び2024.1以降のスキルテーブルをコピペするとmokoが作動しません。
どうしたら表示されるのか、どなたか教えていただけませんでしょうか?

98名無しさん:2024/03/23(土) 22:48:50 ID:fk/lLthg
>>97
コピペした途端に表示されなくなるのでしたら、コピペ操作時にどこかでカンマ抜けとかありませんか?
VS CODE上で追記した時にメニューの[表示] - [問題]([Ctrl] + [Shift] + [M])で何か言ってきていませんか?
あとエラー箇所にエラー文を見せてくれる「Error Lens」拡張機能のインストールもお勧めします。

99名無しさん:2024/03/23(土) 23:20:15 ID:fk/lLthg
スキルテーブル追加時の注意事項を図にしてみました。
伝わりやすさを心掛けたつもりですが伝わりにくかったらすみません。

「"skill_candidate_1"」や「"skill_candidate_2"」という集まりの中では
次の要素があるのなら末尾に必ずカンマが無いといけません。
■先頭に新しいスキルテーブルを追加するとき
 https://imgur.com/YKJhasS
■末尾に新しいスキルテーブルを追加するとき
 https://imgur.com/qjmDdmp

100名無しさん:2024/03/24(日) 01:55:23 ID:t0qi27mE
>>73
・道場習得編を使っての待機武将右クリックからのFスキル付与機能
このような右クリックの画面にはいかずにブラウザの右クリックでの挙動にしか
ならないのですが原因になりそうなところはどこかありますでしょうか?

栞/取引検索/合成のツールチップを使用するにはチェックは入っています
取引所でのスキル欄で右クリックを押すと取引検索メニューは表示されます

101名無しさん:2024/03/24(日) 02:04:29 ID:fk/lLthg
>>100
通常部隊側ではブラウザの右クリックメニューが表示されますよ。待機武将欄で試してみてくださいね。
両方で行った結果をキャプチャした画像を貼っておきますね。少し見づらいですが。
https://imgur.com/hmrXB6U

102名無しさん:2024/03/24(日) 02:42:21 ID:t0qi27mE
>>101
それですそれ
ブラウザのメニューで戻る、進む、新しいタブを開くなど箇所によって項目は少し変わりますが
通常部隊のデッキ側でも待機武将欄でも結果が同じなのです
うまく栞/合成機能などが取りこめてないだけなのでしょうか

103名無しさん:2024/03/24(日) 02:59:58 ID:fk/lLthg
>>102
確かにMOKO設定の[取引/合成/くじ]設定ダイアログで[栞/取引検索/合成のツールチップを使用する]の
チェックを外すと待機武将欄でもFスキル付与が出来なくなりブラウザの右クリックメニューが表示される様になりますね。

私はコードを書いた人ではないのでこれ位しか今は返信できませんが何かのヒントになりますか?
ちなみに出来ないカードに対して右クリックを行おうとすると例のピロリン音で警告メッセージが出ますので
他の拡張機能が干渉している可能姓もあるのでは?と推測しています。

104名無しさん:2024/03/24(日) 03:38:27 ID:t0qi27mE
>>103
ありがとうございます
やはり機能自体を取りこめてないだけぽいですね
取引の方は動いてるのでその改造はちゃんとできているようですが
栞関連の全体の記述が間違ってるということなのでしょう;(今回の記述を加える以前に右クリックで「栞」の字を見た記憶もないので)

if (i == 1) {
toolMenu += '<hr class="separator" />';
}
など上では出てこなかった記述も各所にあるのでそこで干渉してるのかな、どこか取りこぼしてるのか・・・

105名無しさん:2024/03/24(日) 13:33:14 ID:QwxDUdv.
③右クリックメニューの部分の記述付近のをコピペしてみたのですが
何か右クリックメニューが出なくなる間違った記述ございますでしょうか?
(ここじゃないとかでも)
https://writening.net/page?DpNPDC

106名無しさん:2024/03/24(日) 15:51:43 ID:fk/lLthg
>>105 さん。
リンク先のお使いのcreateCardTooltip()関数ですが、
・拡張子.jsのテキストファイル(文字コードはUTF-8)として保存して
 VS CODEから開いた時に文法エラーが2箇所に現れています。
 ※152行目, 176行目
 https://imgur.com/kAFYIvm
・私のcreateCardTooltip()関数と行数がまるで異なっています。
 スキルF付与対応で差し込む位置もしくはwritening.netに貼り付ける範囲を
 誤っていませんか?。>>77-82 までもう一度注意深く読み返してみてくださいね。
 ID:gP.Mv2OE さんが>>77-82からで書いている事は、
// 特殊 経験値一括
$('#experience_value_batch').on('click', function() {
return getCardId({ sumire: [], koshou: [] }, data.rank, data.card_id, 1);
});

return processing_tooltip($tooltip, e);
}
で終わるreateCardTooltip()関数をスキルF付与対応を組み込んだ新しいバージョンにして
「組み込む箇所だけ」示しています。関数の最期まで貼り付けていません。
>>80 の書き込みは
// 削除
$('#delete_synthesis_skill').on('click', function() {
で終わっていますけどcreateCardTooltip()関数自身はまだまだ続きます。

私の手元バージョンでよければ同じサイトに貼り付けました。
https://writening.net/page?LFtyx8

こちらのコードに貼り直してみて動いたやったーおしまいにするのではなくて、
できればこの機会にVS CODEを導入していただけますと大変嬉しいです。

プログラマー向けに機能十分な、でもやっぱりテキストエディタだと思ってください。
[フォルダーを開く]からMOKOのフォルダを示して開けば見て判ると思います。
文法エラーは勿論、関数の始まりと終わりも目視ですぐ分かります。

ID:gP.Mv2OE さん。フォロー出来る処があれば宜しくお願いします。

107名無しさん:2024/03/24(日) 15:53:40 ID:fk/lLthg
>>196 閲覧用パスワード:193 です。書き漏れ失礼しました。

108名無しさん:2024/03/25(月) 00:17:22 ID:QwxDUdv.
>>106
ご丁寧にありがとうございます
VSCODEをダウンロードして導入して
頂いたコードの部分全て上書きしてみたのですが、やはり右クリックではクロームのブラウザの普通の右クリック扱いで
メニューがでませんでした><ここ以外の右クリックメニューに関するどこかが記述エラーなのでしょうね

select_card_group != -2) が差があったので直したりも色々してみましたが
影響はなさそうです(-2が精鋭部隊で 6が第六組?)

ご指摘の※152行目などは どうやらコピペした時に ifの iが削れてただけで
手元のファイルの方は問題なくifと記載があり間違いでした;

行数のずれは掲示板でコードを頂いた際に//でコメントアウトして
古いモノを残すようにしているのがかなり積みあがっているのと
視認性をあげるために改行を少し多めにするくせのせいで大分変ってしまったのはありそうです

109名無しさん:2024/03/25(月) 00:39:12 ID:QwxDUdv.
取引検索での右クリックメニューだけはしっかり動いていて
https://jbbs.shitaraba.net/bbs/read.cgi/netgame/15829/1674020414/713
前スレの713の記述を頂き
https://gyazo.com/c45ed87c00f98bbde465515a5ccea3dd
古い記述は//で消しています

110名無しさん:2024/03/25(月) 02:20:56 ID:fk/lLthg
>>108-109 さん
ご丁寧に有り難うございます。VS CODEも使い出して戴いて感謝です。
明日の仕事の為にもう寝ないといけないので簡単で恐縮ですが以下書きます。

>やはり右クリックではクロームのブラウザの普通の右クリック扱いでメニューがでませんでした><
これは待機武将欄でもやっぱりFスキル付与のコンテキストメニューが現れないという事なのですね?う〜ん。

>ご指摘の※152行目などは(以下省略)
はい分かりました。現時点でVS CODEの[問題]表示で文法エラーが出ていなければ大丈夫です。

>select_card_group != -2) が差があったので直したりも色々してみましたが影響はなさそうです(-2が精鋭部隊で 6が第六組?)
こちらは「select_card_group !」でコード内を検索して私が手元で残しているコメントによると、
2023年2月5日にPart47スレの>>995まで取り込んだ時点で一律で修正をかけているみたいです。宜しければご確認ください。
ネーミングから待機武将欄の[第一組]〜[第6組]を指しているのかも?とも思われます。
どうもselect_card_groupは上部の資源メニューの処の[編成]メニューの[【第一組】編制]〜[【第六組】編制]を
構築する時にも使用されているのでそうかもです。

>行数のずれは掲示板でコードを頂いた際に//でコメントアウトして古いモノを残すようにしているのがかなり積みあがっているのと
修正した履歴を残されるのは大変良い事と思います。更に修正を開始する前に現在のバージョンをフォルダ毎コピペでバックアップしておくと
修正ミスでわかんない状態にまでぶっ壊してしまった時にやり直せるかと思います。

余り直球ではお役に立てない事ばかりですみませんが以上です。

111名無しさん:2024/03/25(月) 05:37:16 ID:gP.Mv2OE
>>100
そもそもの右クリックがmokoのものにならないとしたら1つ前のfunctionのこちらが原因ではないでしょうか?

function cardTool() {
if (!options.card_tool) {
return;
}

var target = null,
select_card_group = $('#select_card_group').val();
if (location.pathname == '/card/deck.php' || location.pathname.endsWith('defense_formation_deck.php')) {
if (select_card_group != -2) {
target = $('div.ig_deck_smallcardarea');
} else {
target = $('#deck_file').find('tr.tr_gradient:gt(0)');
}
} else if (location.pathname == '/facility/set_unit_list.php' || location.pathname == '/union/levelup.php' || location.pathname == '/union/additional.php' || location.pathname == '/union/learn.php') {
target = $('#deck_file').find('tr.tr_gradient:gt(0)');
} else if (location.pathname == '/card/trade_card.php') {
target = $('div.ig_deck_subcardarea');
} else if (location.pathname == '/card/trade.php' || location.pathname == '/card/exhibit_list.php') {
target = $('table.common_table1').find('tr.fs12');
} else if (location.pathname == '/user/present.php') {
target = $('div.family_name:has(a.thickbox)');
}

if (!target) {
return;
}

$('body').on('contextmenu', target.selector, function(e) {
if (e.target.tagName == 'A') {
return;
}
e.preventDefault();
var search, data, $tooltip;
if (location.pathname == '/card/trade_card.php' && select_card_group != -2) {
search = $(this);
} else {
var card_id = $(this).find('a.thickbox').attr('href').match(/\d+/g)[2];
search = $('div[id="cardWindow_' + card_id + '"]');
}
data = get_card_data(search);
$tooltip = display_tooltip(e.pageX, e.pageY, 20).empty();
return createCardTooltip(e, $(this), $tooltip, data);
});
}

こちらfunction cardTool()の全文です
条件に合致した場合、e.preventDefault();でブラウザ本来の
右クリック動作を無効にしています。

112名無しさん:2024/03/25(月) 09:44:08 ID:fk/lLthg
>>111 ID:gP.Mv2OE さん。返信有り難うございます。

ご提示のcardTool()ですが私の手元Verともまるで異なっておりました。
貼り替えて動作確認しました所状況変わらずでした。
※通常部隊・加勢部隊・強襲部隊欄では右クリックメニューが出ず、待機武将では現れる

MOKO以外の拡張機能も殺せるだけ殺したのですが、ここまでの確認が精一杯でした。
Chromeの更新がきていたのでバージョンアップさせてもいます。
仕事中なので取り急ぎお知らせします。

113名無しさん:2024/03/25(月) 10:26:23 ID:gP.Mv2OE
>>112
良く読んでいなくてすみません
待機武将ではなく部隊配置中の武将の右クリックの話だったのですね
それは元々入っていないです

この場合は待機中以外はスキル追加等が出来ない公式仕様なので、
待機中かどうかの判断も必要になります

幸い画面上に部隊の状態という欄がありますので、
通信を行わなくても出来そうではあります
また時間のある時に見てみます

114名無しさん:2024/03/25(月) 11:23:45 ID:fk/lLthg
>>113 ID:gP.Mv2OE さん
成る程仕様を教えて戴きまして有り難うございます。
「部隊配置中の武将にはFスキル付与機能が働かない(とりあえず現状では)」という事で
よく判りました。脳内がスッキリしました有り難うございます。

115名無しさん:2024/03/25(月) 11:25:08 ID:QwxDUdv.
おはようございます
>> 110 >>112 ID:fk/lLthg さん
お手間かけて申し訳ありません
まだまだ使いこなせてませんが慣れるようにします
バックアップもしっかりとるようにしますね

>>111 ID:gP.Mv2OE さん 
もろにこれでした; どうやら本丸陣形と所領陣形の改修の際に
location.pathname.endsWithと直してるなかで一個下の/union/levelup.php' |
付近も間違えて記述を変えたり//コメントアウトしたりで
右クリックメニューを沈めていたようで、修正をしたところ表示され
道場の挙動なども確認することが出来ました

お二方ありがとうございました

116名無しさん:2024/03/25(月) 11:43:22 ID:fk/lLthg
>>115 さん。良かったですね!( ´∀`)b

117名無しさん:2024/03/25(月) 12:13:46 ID:QwxDUdv.
>>116
感謝です(´;ω;`)

118名無しさん:2024/03/25(月) 14:12:41 ID:fk/lLthg
>>117
ちな上でちょっと触れましたがWinMergeというフリーウェアでテキストファイルの中身や文字列同士の比較ができます。
要するに間違い探しツールですね。2つを比較してこの行が抜けてる!とかこの記述が合ってない!とかパッと確認できますよ。

119名無しさん:2024/03/25(月) 18:54:03 ID:5nzJMMgU
解決しました。ありがとうございます。

120名無しさん:2024/03/25(月) 18:57:35 ID:5nzJMMgU
>>99
わかりやすくご説明いただき、ありがとうございました!
問題なく作動するようになりました

121名無しさん:2024/03/25(月) 19:03:27 ID:fk/lLthg
>>120 さん。お役に立てて何よりです〜。

122名無しさん:2024/03/26(火) 11:45:20 ID:gP.Mv2OE
>>114
デッキ配置中(待機中のみ)と本丸/所領配置中も右クリックできようにしてみました
道場スキルの部分しか検証していないので、他の右クリックメニューにもし
おかしな動きがありましたら教えてください

①共通function(+ーマークありの行のみ変更)
function get_card_data(target) {
if (!target.length) {
return;
}
var category = target.find('input[id^="now_card_group_"]').val() || '',
- card_img = target.find('div[id^="id_deck_card"]').find('img.ig_card_back').attr('src').split('/').pop(),
+ card_img = (target.find('div[id^="id_deck_card"]').find('img.ig_card_back').attr('src') || target.find('img.ig_card_chara').attr('src')).split('/').pop(), // ツールチップ デッキ武将対応 20240325
$parameta = target.find('div.parameta_area'),
- card_id = target.attr('id').match(/\d+/g)[0],
+ card_id = (target.attr('id') || target.find('[id^="card_commandsol_"]').attr('id')).match(/\d+/g)[0], // ツールチップ デッキ武将対応 20240325
rare = $parameta.find('span[class^="rarity_"]').attr('class');
var $ig_card_cost = $parameta.find('span[class^="ig_card_cost"]');

②function cardTool()の最後尾にごっそり追加(+マーク省略)
// カード ツールチップ
function cardTool() {
if (!options.card_tool) {
(===中略===)
$tooltip = display_tooltip(e.pageX, e.pageY, 20).empty();
return createCardTooltip(e, $(this), $tooltip, data);
});

// ツールチップ デッキ武将対応 20240325追加 ここから
var target_deck = null;
if (location.pathname == '/card/deck.php') {
target_deck = $('div[id^="id_deck_card"].ig_deck_maincardarea, div[id^="id_deck_card"].ig_deck_subcardarea');
}
else if (location.pathname.endsWith('defense_formation_deck.php')) {
target_deck = $('#deck_bg .home_defense_formation_card_space_target');
}

if (!target_deck) {
return;
}

$('body').on('contextmenu', target_deck.selector, function(e) {
if (e.target.tagName == 'A') {
return;
}
var unit_status = $('#deck_info_tbl td:contains("待機")').length;
if (location.pathname == '/card/deck.php' && $('#howto_butai_hensei').length) {
return;
}
else if (location.pathname == '/card/deck.php' && !unit_status) {
e.preventDefault();
moko_alert('部隊が待機中ではないため右クリックメニューは使用できません');
return;
}
else if (location.pathname == '/card/deck.php' && !$(this).find('.cardflipPreview').length) {
return;
}
else if (location.pathname.endsWith('defense_formation_deck.php') && !$(this).find('.ig_deck_smallcardimage').length) {
return;
}
e.preventDefault();
var search, data, $tooltip;
if (location.pathname == '/card/deck.php') {
search = $(this);
}
else {
var cardId = $(this).find('.ig_deck_smallcardimage').attr('data-card_id');
search = $($('script[id="card_window_' + cardId + '"]:first').text());
}
data = get_card_data(search);
if (location.pathname == '/card/deck.php') {
data['card_id'] = $(this).find('[id^="card_commandsol_"]').attr('id').split('_')[2];
}
data['exhibit'] = 1;
$tooltip = display_tooltip(e.pageX, e.pageY, 20).empty();
return createCardTooltip(e, $(this), $tooltip, data);
});
// ツールチップ デッキ武将対応 20240325追加 ここまで
}

function createCardTooltip(e, target, $tooltip, data) {
var select_card_group = $('#select_card_group').val(),

123名無しさん:2024/03/26(火) 12:37:26 ID:gP.Mv2OE
追記です
デッキの武将は、攻撃中や帰還中などは合成自体できないはずなので待機のみに限定して右クリックを許可しています
ブラウザ本来の右クリックを止めた上でmokoのメッセージをだしていますので、
ブラウザ本来の右クリックは許可したい(画像の保存など)の場合は
それっぽいエラーメッセージの1行手前のe.prevendDefault();をコメントアウトしてください

共通ファンクションは、本丸/所領の配置中の場合だけ微妙に値が取れない(DOMが違う)公式仕様になっているので
既存の取得で値が取れなかったら本丸の方の形式で取ってみる、のように変えたイメージですので
既存のものには影響ないと思います

124名無しさん:2024/03/26(火) 23:22:07 ID:fk/lLthg
>>122 ID:gP.Mv2OE さん。
ご対応を有り難うございます。簡単ですが動作を確認してみました。
こちらは意図通りの動作になっておりますでしょうか?
https://imgur.com/hERXRRh

125名無しさん:2024/03/27(水) 08:21:57 ID:gP.Mv2OE
>>124
本丸がmoko右クリックが動いていなくて、所領はmoko右クリックは動作しているものの項目が出ていませんね
本来どちらも1番左や待機武将のようになるはずです
後ほど共通functionを全文載せますね

126名無しさん:2024/03/27(水) 11:46:55 ID:gP.Mv2OE
>>124
右クリックで改修した共通functionです

https://writening.net/page?PtXuKN
pass:193

127名無しさん:2024/03/27(水) 12:06:29 ID:fk/lLthg
>>126 ID:gP.Mv2OE さん。ご対応を有り難うございます。
いま秘境に出しているので通常部隊の確認は出来ませんが、
加勢専用部隊及び強襲部隊はローカルストレージの全クリアにより
コンテキストメニューが現れる様になりました。

しかしながら本丸防御陣形及び所領防御陣形では>>124の状況に変わりありません。
取り急ぎお知らせいたします。

128名無しさん:2024/03/27(水) 13:02:50 ID:gP.Mv2OE
>>127
ツールチップの本体部分のfunctionも載せておきますね

https://writening.net/page?AwcbTV
pass:193

129名無しさん:2024/03/27(水) 13:45:22 ID:fk/lLthg
>>128 ID:gP.Mv2OE さん。ご対応有り難うございます。
ローカルストレージの全クリア後、以下状況となりましたのでお知らせします。
通常部隊:秘境中の為確認不可
加勢専用部隊:引き続きOK
強襲専用部隊:引き続きOK
本丸防御陣形:引き続きコンテキストメニューが現れず(Chromeの右クリックメニューが現れる)
所領防御陣形:OKに変化

130名無しさん:2024/03/27(水) 16:59:29 ID:gP.Mv2OE
>>129
このツールチップのfunctionで本丸と所領で処理を分ける分岐は無いので
本丸周りの処理しているfunctionの方で悪さしていそうです

本丸のページでコンソールにエラーは出ませんか?

131名無しさん:2024/03/27(水) 17:11:33 ID:fk/lLthg
>>130

返信有り難うございます。
ひとまず>>129で投稿した現状を画像でお知らせいたします。
https://imgur.com/h8lECln
続いて本丸防御陣形で右クリック操作を行った直後の拡張機能にエラーが見えてきていない画面をお知らせします。
https://imgur.com/IUg1VBT

尚、Chromeでの検証操作にはめちゃ不慣れであります。

132名無しさん:2024/03/27(水) 18:51:21 ID:gP.Mv2OE
>>131
2枚目はそこではなくて、Ctrl+Shift+iでコンソールを開きます

133名無しさん:2024/03/27(水) 19:05:08 ID:fk/lLthg
>>132 ID:gP.Mv2OE さん
そうでしたか失礼しました。
本丸防御陣形で右クリックを行った瞬間にはコンソールにおかしな表示は
見当たらないのですが、そもそも本丸防御陣形に遷移した時に
"Uncaught RangeError: Maximum call stack size exceeded"が現れている様に見受けられます。
https://imgur.com/VsasPZZ

元々私の環境は本丸防御陣形に遷移した際にぐっと待たされてから再描画されるのですが、
もしかしてID:gP.Mv2OE さんはじめ皆さんの挙動は違っているのでしょうか。
そのレベルで異なっていたらソースがまるで違いそうですね。

134名無しさん:2024/03/27(水) 20:21:03 ID:gP.Mv2OE
>>133
userscriptフォルダの下のdefense_formation_info.jsが怪しいですね

そんなに長くないと思うので全文貼り付けてください

135名無しさん:2024/03/27(水) 20:22:47 ID:gP.Mv2OE
あ、やっぱり私が貼り付けます

// JQuery、DefenseFormationInfo()の組込
function loadDFI() {
var scriptElement = document.createElement('script');
scriptElement.setAttribute('type','text/javascript');
scriptElement.textContent = '(' + DefenseFormationInfo.toString() + ')(j213$);';
document.body.appendChild(scriptElement);
}

// 拡張のメイン処理
function DefenseFormationInfo($){
console.debug('Chrome拡張 UserJs start');
console.debug('現在のページのURL=' + location.pathname);

var xrwStatusText = function(xhr) {
return xhr.setRequestHeader('X-Requested-With', 'statusText');
};

// 待機部隊を読込む
$.ajax({
type: 'post',
url: '/facility/unit_status.php?dmo=wait',
beforeSend: xrwStatusText,
}).then(function (html) {
// 部隊名を抽出
var h = $(html).find('.ig_fight_statusarea.home_defense_formation').find('h3'),
s = $(html).find('.ig_fight_statusarea.sub_area_defense_formation').find('h3'),
h_html = '';
if (h.length) {
h_html += '<div class="mt_defense_formation" style="background-color:rgba(0,50,100,0.5);margin-top:5px;padding:3px 0 5px;">' +
'<div class="mt_troops" style="width:95%;padding:2px 0px 0px 0px;">' +
'<a href="/facility/set_unit_list.php?ano=9">' +
'<span style="color:red;">本丸兵士編成</span></a>' +
'<span style="display:inline-block;border-radius:50%;line-height:12px;width:12px;height:12px;text-align:center;background-color:#359;margin-left:5px;">' +h.length + '</span>' +
'<button id="honmaru_close_btn" style="font-size:6px;border:none;margin-left:10px;">▲▼</button>' +
'</div>' +
'<div id="honmaru_butai_ichiran" style="display:none;">';
for (var n = 0; n < h.length; n++) {
// 部隊名
var h_butai = h[n].textContent.replace(/\[|\]|\s|(|部隊|スキルあり)/g,'');
h_html += '<div class="mt_troops">' +
'<div class="mt_unit" style="background-color:#359;color:whitesmoke;">' +
h_butai.substring(0, 6) +
'</div></div>';
}
h_html += '</div></div>';
}
if (s.length) {
h_html += '<div class="mt_defense_formation" style="background-color:rgba(0,50,100,0.5);margin-top:5px;padding:3px 0 5px;">' +
'<div class="mt_troops" style="width:95%;padding:2px 0px 0px 0px;">' +
'<a href="/facility/set_unit_list.php?ano=14">' +
'<span style="color:blue;">所領兵士編成</span></a>' +
'<span style="display:inline-block;border-radius:50%;line-height:12px;width:12px;height:12px;text-align:center;background-color:#359;margin-left:5px;">' + s.length + '</span>' +
'<button id="shoryo_close_btn" style="font-size:6px;border:none;margin-left:10px;">▲▼</button>' +
'</div>' +
'<div id="shoryo_butai_ichiran" style="display:none;">';
for (var n = 0; n < s.length; n++) {
// 部隊名
var s_butai = s[n].textContent.replace(/\[|\]|\s|(|部隊|スキルあり)/g,'');
h_html += '<div class="mt_troops">' +
'<div class="mt_unit" style="background-color:#359;color:whitesmoke;">' +
s_butai.substring(0, 6) +
'</div></div>';
}
h_html += '</div></div>';
}
if (h.length || s.length) {
$(document).find('#mt_butai').append(h_html);

// 部隊名表示・非表示切り替え
$(document).on('click', '[id$="_close_btn"]', function() {
$(this).closest('.mt_defense_formation').find('[id$="_butai_ichiran"]').slideToggle();
});
}
});
return;
}

if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', loadDFI);
} else {
loadDFI();
}

136名無しさん:2024/03/27(水) 21:04:26 ID:fk/lLthg
>>134 ID:gP.Mv2OE さん
userscriptフォルダの下のdefense_formation_info.jsを全面的に>>135の内容で貼り替えて、
更にローカルストレージの全クリアを行いましたが状況は>>131の1枚目画像
https://imgur.com/h8lECln
と状況は変わり有りませんでした。

参考までにChromeの更新が来ており、バージョン: 123.0.6312.86(Official Build) (64 ビット)になっています。
色々お手を煩わせてしまい申し訳ないので優先度低でどうぞ宜しくお願いします。

137名無しさん:2024/03/27(水) 22:16:29 ID:gP.Mv2OE
>>136
このエラー(>>133)はどこかで再帰関数が無限ループしてそうです
自分自身を呼び出している関数を1つずつ見ていくしか無さそうです

あとは本丸周りの処理の部分を見ていくしかなさそうです

138名無しさん:2024/03/27(水) 22:46:08 ID:fk/lLthg
>>137 成る程有り難うございます。根が深そうですね。

139名無しさん:2024/03/28(木) 08:33:34 ID:fk/lLthg
>>137 ID:gP.Mv2OE さん
まずは本丸防御陣形が実装された頃まで遡ってこれまでに皆さんから提示されたソースを
順序よく適用していきたいと思います。
相当時間はかかると思いますがこれしかないと思います。

140名無しさん:2024/03/28(木) 09:05:17 ID:A0YgvJFE
>>139
ポイントとしては、
・所領は動くのに本丸は動かない
にあり、本丸のページのみで走っている処理が原因という訳で、

つまりif文で
location.pathname.endsWith('defense_formation_deck.php')
ではなく
location.pathname == '/card/defense_formation_deck.php'
の条件(==は!=かもしれません)の中にある処理が怪しいということです
(上は本丸と所領だったら次以降の処理、下は本丸だったら次以降の処理、の意味です)

要はほぼ同じような本丸と所領のページの中で、
本丸にしかない画面項目を対象にした処理している時が原因 or
一段落前の、本丸のみのif文で実行している処理
のどちらかが濃厚ということです

これである程度絞れると思います

141名無しさん:2024/03/28(木) 10:08:19 ID:fk/lLthg
>>140 具体的に有り難うございます!お知らせの箇所をまずは重点的にみてみます。業務中なので簡単で失礼します。

142名無しさん:2024/03/29(金) 16:41:35 ID:5ZmSzZrs
本丸防御陣営でFスキル付与が出来ない事象について色々と試行錯誤をしましたが逆に悪化しております。
ixa-moko.user.js の全量をzipでいただけますと非常に助かります。
尚、日曜の夜まで家を空けますのでしばらくリアクションできません、すみません。

143名無しさん:2024/03/30(土) 12:18:35 ID:M05M3a5I
何故、元のZIPを消すんだろう?
それを取っておけばバックアップなんかいらんけどね!

144名無しさん:2024/03/31(日) 21:54:50 ID:5ZmSzZrs
>>143 ID:M05M3a5I さん
いいえ、改修をかける都度以前のバージョンのバックアップを取っています。
改修箇所も年月日付きでコメントを挿入してから追記しています。

今回>>142を投稿したのは、そもそも大前提として本丸とそれ以外の判定、
もしくは本丸防御陣形に於いておかしい事象が恐らくおま環で出ており
解消出来る見込みがかなり薄い為ixa-moko.user.jsの全量を戴ければとお願いした次第です。
我が儘なのは百も承知の上で恥ずかしながらお願いしてみました。
そうでなければ初めて本丸防御陣形の話題が出た時点まで遡って順に適用するしかないと
考えております。

145名無しさん:2024/04/01(月) 07:30:02 ID:J.Bo/ZdI
なんと言うか、暗黙のルールのようなものでmoko丸ごとはNGみたいなところありますよね

すみませんが私も独自機能が入っていたりするので丸ごとは出せません

146名無しさん:2024/04/01(月) 09:52:56 ID:5ZmSzZrs
>>145
はい。お断りされるのも想定の内ですので恐縮なさらないでください。
>>144の通り、一つバージョンを戻してから本丸防御陣形実装時の話題まで遡って一つずつ適用していきます。
時間のある時にですが。

147名無しさん:2024/04/03(水) 07:43:00 ID:M05M3a5I
>>本丸防御陣形実装時の話題まで遡って一つずつ適用
これが不味いのでは?
自分が納得するロジック以外は入れちゃだめよ。
わざとそんなことする人は、ここにはいないと思うけど悪意のコードがあったとしたら
それもコピーしちゃうよ。
本当はツールなんてない方がいいんだ。(それが趣味なら仕方がないけど)
一番賢明な方法は、「こうであれいいのに」をゲーム運営に訴えて実装してもらうことだよ。

148名無しさん:2024/04/03(水) 08:15:37 ID:5ZmSzZrs
ID:M05M3a5I さん。古くからこのスレで貢献なされていて感謝しています。
JavaScriptに疎くてもさすがに仰っている事はべき論ではないでしょうか。
悪意あるコードが潜んでいるとも思えないですが出来れば面倒くさい事は私もしたくないです。
となると本丸の栞?機能だけおかしいバージョンで我慢して使い続けるしかなさそうですね・・・。

149名無しさん:2024/04/03(水) 11:16:04 ID:5parJnjQ
道場スキル追加

lineup_id: 4, 3箇所

変化するみたい?現状12かな。

150名無しさん:2024/04/03(水) 21:06:33 ID:XArWPmN2
>>149
確かに現在はスキル道場-習得編-のソース上だと
lineup_id: 12
で12に変更すれば稼働はするけど育成期間中は変わるんだろうね
前スレでいうAutoSynthesisやPIXIEのスキル合わせの決め打ちルート同様手動操作で作り出せないデータ送信になっちゃってるね
なかなか面倒くさいな

151名無しさん:2024/04/04(木) 19:46:33 ID:4brkfESk
$('input[name="lineup_id"]')
で取得できると思います

152名無しさん:2024/04/04(木) 22:29:23 ID:XArWPmN2
>>151
ID:gP.Mv2OE氏じゃないし変数名は適当なので適宜実装したい人が自己判断で行うべきだけど
これならイベント毎に値を可変されても対応できそう(こんなこと書くとメンテで丸々変更される可能性もありそうで怖い)
この場合valが無いと値は取れないから
+var lid = $(html).find('input[name="lineup_id"]').val();
Info.log('対象カードを選択しています...');
と3か所の
-lineup_id: 4,
+lineup_id: lid,

153名無しさん:2024/04/04(木) 22:46:39 ID:4brkfESk
3か所
lineup_id: $(html).find('input[name="lineup_id"]').val(),

1か所
union_type_dojo_learn_flg: $(html).find('input[name="union_type_dojo_learn_flg"]').val(),

ですね
これで固定値なくなるのでキャンペーン等で値が変わっても大丈夫だと思います
Formで送る項目が増えたらそこは増やさないといけませんが・・・

154名無しさん:2024/04/06(土) 15:28:26 ID:4brkfESk
>>152
ちなみに、変数使うなら変数名をlineup_idにしておくと
クエリで送っているオブジェクト内の記述が
{キー: 値}
ではなく
{変数名}
だけで済みますよ
すぐ下のlearn_skill_idなんかはそうなっていますね

155名無しさん:2024/04/07(日) 06:57:48 ID:M05M3a5I
//2024年4月
"防.天望照星.S":["防.国津破邪ノ楯.SS","防.旌旗翳天ノ覇陣.SS","防.万里嵐壁.SS","防.天望照星.S","防.黄泉醜女ノ屍兵.SS"],
"特.虚実ノ理合.S":["攻.十束ノ神域.SS","特.思金神ノ深謀.SS","攻.破邪後輝.SS","特.虚実ノ理合.S","攻.月詠ノ覇威.SS"],
"攻.王導剣影.S":["攻.朧雲ノ閃撃.SSS","攻.王導剣影.S","攻.王導剣影.S","特.虚空ノ導.SSS","攻.星神闘覇.SS"],
"攻.叛逆近景.S":["攻.青葉ノ仁王.A","攻.叛逆近景.S","攻.叛逆近景.S","攻.開闢ノ逆鉾.SS","攻.遠呂智ノ閃光.SS"],
"防.覇争眼識.S":["防.黒衣ノ軍師.S","防.黒衣ノ元師.S","特.四天轟雷.SS","特.神屋楯比売命.SS","防.幽冥主宰大神.SS"],
"特.瞬刻無影.SS":["特.木遁封魔.SS","特.瞬刻無影.SS","特.瞬刻無影.SS","特.朧雲ノ閃撃.SSS","特.刹那無影.SS"],
"特.炎牛武陣.A":["攻.湖裂騎刃.A","攻.騎聖.A","攻.騎聖.A","攻.不滅ノ鬼神.S","攻.不滅ノ鬼神.S"],
"防.宝珠盛山.A":["防.宝珠盛山.A","防.宝珠盛山.A","防.宝珠盛山.A","防.朝曇ノ明麗.S","防.戦陣 無縫.A"],
"攻.飛幻忍術.S":["攻.絡繰傀儡.A","攻.飛幻忍術.S","攻.飛幻忍術.S","特.煙霞迷霧.S","特.刹那無影.SS"],
"攻.終曲ノ結姫.S":["特.乱世ノ歸人.A","特.月詠ノ覇威.SS","特.外道煉獄.S","攻.破軍騎行.S","特.月詠ノ覇威.SS"],
"特.不朽ノ野心.C":["特.不朽ノ野心.C","特.不朽ノ野心.C","特.不朽ノ野心.C","特.名人ノ系譜.C","特.争鶴ノ囀り.C"],
"防.煽風.C":["防.煽風.C","防.煽風.C","防.煽風.C","防.籠城の妙技.A","防.黒井ノ孤鬼.C"],
"特.覇国ノ嗣子.C":["特.覇国ノ嗣子.C","特.覇国ノ嗣子.C","特.覇国ノ嗣子.C","特.名人ノ系譜.C","特.争鶴ノ囀り.C"],

//合成専用(S1)
"攻.月詠ノ覇威.SS":["-","-","-","攻.月詠ノ覇威.SS","-"],
"攻.星神闘覇.SS":["-","-","-","攻.星神闘覇.SS","-"],

156名無しさん:2024/04/09(火) 00:42:47 ID:zd.vnSLY
>>155
いつもありがとうございます

157名無しさん:2024/04/09(火) 12:36:44 ID:tXSTZHSE
道場スキル右クリック付与機能で、追加スキル2つとも空&極限スキルだけ
何か付いているの場合の挙動がおかしかったので修正です

>>78のfunction createCardTooltip(e, target, $tooltip, data)内の
if (data.sname[1]) {

if (!data.sname[1]) {

をそれぞれ

if (data.sname[1] && data.sidx[i] != 3) {

if (!data.sname[1] || data.sidx[i] == 3) {

に修正です

158名無しさん:2024/04/10(水) 13:24:13 ID:T.TTE2AA
>>157
追加スキル1つ空&極限スキルだけの場合だとエラーが出ます。

159名無しさん:2024/04/10(水) 13:33:28 ID:WDOtJk12
>>158
あ、そのパターンに影響でますね
後で根本的に直しておきます

160名無しさん:2024/04/10(水) 18:56:22 ID:/V0azlDo
>>155
ありがとうございました
しかし、間違いが多く 色々直してどこを直したかわからなくなったので一式書かせてもらいます

//2024年4月
"防.天望照星.S":["防.国津破邪ノ楯.SS","防.旌旗翳天ノ覇陣.SS","防.万里嵐壁.SS","防.天望照星.S","防.黄泉醜女ノ屍兵.SS"],
"特.虚実ノ理合.S":["攻.十束ノ神域.SS","特.思金神ノ深謀.SS","攻.破邪後輝.SS","特.虚実ノ理合.S","攻.月詠ノ覇威.SS"],
"攻.王導剣影.S":["攻.朧雲ノ閃撃.SSS","攻.王導剣影.S","攻.王導剣影.S","特.虚空ノ導.SSS","攻.星神闘覇.SS"],
"攻.叛逆近景.S":["攻.青葉ノ仁王.A","攻.叛逆近景.S","攻.叛逆近景.S","攻.開闢ノ逆鉾.SS","攻.遠呂智ノ閃光.SS"],
"防.覇争眼識.S":["防.黒衣ノ軍師.S","防.黒衣ノ元帥.S","特.四天轟雷.SS","特.神屋楯比売命.SS","防.幽冥主宰大神.SS"],
"特.瞬刻無影.SS":["特.木遁封魔.S","特.瞬刻無影.SS","特.瞬刻無影.SS","攻.朧雲ノ閃撃.SSS","特.刹那無影.SS"],
"特.炎牛武陣.A":["攻.湖裂騎刃.A","攻.騎聖.A","攻.騎聖.A","攻.不滅ノ鬼神.S","攻.不滅ノ鬼神.S"],
"防.宝珠盛山.A":["防.宝珠盛山.A","防.宝珠盛山.A","防.宝珠盛山.A","防.朝曇ノ明麗.S","防.戦陣 無縫.A"],
"攻.飛幻忍術.S":["攻.絡繰傀儡.A","攻.飛幻忍術.S","攻.飛幻忍術.S","特.煙霞迷霧.S","特.刹那無影.SS"],
"攻.終曲ノ結姫.S":["特.乱世ノ歸人.A","特.月詠ノ覇威.SS","特.外道煉獄.S","攻.破軍騎行.SS","特.月詠ノ覇威.SS"],
"特.不朽ノ野心.C":["特.不朽ノ野心.C","特.不朽ノ野心.C","特.不朽ノ野心.C","特.名人ノ系譜.C","特.争鶴ノ囀り.C"],
"防.煽風.C":["防.煽風.C","防.煽風.C","防.煽風.C","防.籠城の妙技.A","防.黒井ノ孤鬼.C"],
"特.覇国ノ嗣子.C":["特.覇国ノ嗣子.C","特.覇国ノ嗣子.C","特.覇国ノ嗣子.C","特.名人ノ系譜.C","特.争鶴ノ囀り.C"],

//合成専用
"攻.月詠ノ覇威.SS":["-","-","-","攻.月詠ノ覇威.SS","-"],
"攻.星神闘覇.SS":["-","-","-","攻.星神闘覇.SS","-"],
"特.刹那無影.SS":["-","-","-","特.刹那無影.SS","-"],

161名無しさん:2024/04/11(木) 00:06:21 ID:tXSTZHSE
>>78の前半部分の//ここから〜//ここまでをごっそり書き換えました

//道場スキル追加(常設のみ) ここから
if (data.rare.indexOf('warabe') == -1 && data.rare.indexOf('ketsu') == -1 && data.rare.indexOf('miyabi') == -1 && data.rare.indexOf('bake') == -1) {
var createDojoList = function(skillName, targetSort) {
var cnt = 0;
toolMenu += '<li class="sub_root">【道場】' + skillName + '<span class="tree">►</span>' +
'<ul class="sub_list">';
for (var key in DOJO_SKILL) {
if (data.sname.includes(DOJO_SKILL[key])) {
++cnt;
continue;
}
toolMenu += '<li id="skill_additional_dojo_' + key + '_' + targetSort + '">' + DOJO_SKILL[key] + '</li>';
if (cnt != (Object.keys(DOJO_SKILL).length - 1)) {
toolMenu += '<hr class="separator" />';
}
++cnt;
}
toolMenu += '</ul>';
},
addSkillPat = 0;
for (var i = 0; i < data.sidx.length; i++) {
if ([1, 2].indexOf(data.sidx[i]) != -1) {
addSkillPat++;
}
}
switch (addSkillPat) {
case 0:
createDojoList('新規追加', 9);
break;
case 1:
createDojoList(data.sname[1], 2);
createDojoList('新規追加', 3);
break;
case 2:
for (var i = 1; i < 3; i++) {
createDojoList(data.sname[i], i + 1);
}
break;
}
toolMenu += '</li><hr class="separator" />';
}
//道場スキル追加(常設のみ) ここまで

162名無しさん:2024/04/11(木) 23:45:44 ID:M05M3a5I
>>160 サンキュー
大きな間違いと不足はこれだね。
木遁封魔.S
破軍騎行.SS
"特.刹那無影.SS":["-","-","-","特.刹那無影.SS","-"],

それと、空白が混ざってるのがここでは見えないけど違うところがありました。
なので160で貼りなおした方がいいよ!

くじのカードからコピペしてるから紛れ込むんだろうな。
エディタで空白をマーク表示すれば防げるかなぁ。

163名無しさん:2024/04/12(金) 21:46:22 ID:ZaKNQ/UM
https://gyazo.com/02af4540e1fbfd8b4780ce6c8b9d9c91
また出なくなってる

164名無しさん:2024/04/12(金) 22:06:04 ID:MFBmZZJY
あっ、出た。お騒がせしました。

165名無しさん:2024/04/13(土) 11:57:36 ID:tXSTZHSE
>>161
あっすみません
最後<li>を閉め忘れてますね、今のままでも一応問題なく動きますが

真ん中よりちょい上の
(誤)
toolMenu += '</ul>';

(正)
toolMenu += '</ul></li>';

166名無しさん:2024/04/13(土) 13:10:59 ID:cP6MzUH6
本丸防御陣形の兵士自動補充が失くなってませんか?

167名無しさん:2024/04/13(土) 13:15:35 ID:XArWPmN2
>>166
なくなってないしボタンが消えたのなら位階の期限が切れただけでスレ違い

168名無しさん:2024/04/14(日) 09:58:31 ID:VjpDxPVQ
IxaMeraPack11.27.202404.0を使わせてもらっているのですが、ワールド9-17は設定が出て使えるのですが、
他のワールドは設定も出ず使えません。どこを修正すればいいか教えて下さい。

169名無しさん:2024/04/14(日) 13:13:44 ID:tXSTZHSE
>>168
Meraの質問はMeraの作者さんに聞いた方がよさそうです
ここはMokoやスキル自動上げツールなどのみんなで作り上げていくツールのスレだと思ってます

170名無しさん:2024/04/23(火) 09:47:28 ID:cox0sqTE
時々固まったり挙動がおかしかったので「localstorageの全クリア」をしたところ下記画像のように兵士一括訓練ができなくなってしましました。
症状としては
・兵種の画像がでない
・作成可能兵数(ボタン表記は人数)が「0」しか表示されない
・兵士作成数プルダウンが「0」のみ

https://d.kuku.lu/zrzc7wj47

改善方法分かりますか?

171名無しさん:2024/04/23(火) 09:51:34 ID:4oN89by2
>>170 映っていない左の方に小さく配置してある[リセット]のリンクをクリックしてからもっかい兵士一括訓練を起動してみてください。

172名無しさん:2024/04/23(火) 10:27:39 ID:cox0sqTE
>>171
「リセット」ボタンを押してみましたが改善なかったです

173名無しさん:2024/04/23(火) 13:45:03 ID:4oN89by2
>>172 各所領を一度一通り巡回して(画面に表示させて)から改めて>>171を試してみてください。

174名無しさん:2024/04/23(火) 16:48:53 ID:cox0sqTE
>>173
各所領を巡回後、リセットボタンを押しても改善されませんでした

気になる点がございまして・・・
一括訓練の画面を表示した後、「閉じる」ボタンで閉じたら

「足軽兵舎」の訓練時間を取得中...
「弓兵舎」の訓練時間を取得中...
「厩舎」の訓練時間を取得中...
「兵器鍛冶」の訓練時間を取得中...
総合情報取得中...

という画面が残っています
一括訓練の画面を2回開いているという状態なのでしょうか

175名無しさん:2024/04/23(火) 17:18:24 ID:4oN89by2
>>174 失礼しました。逆の操作かもしれません。
[リセット]クリック後に各所領を巡回の上改めて一括訓練画面を呼び出しては如何でしょうか?
それで駄目でしたらMOKOに何らかの問題が潜んでいるかもしれません。

176名無しさん:2024/04/23(火) 17:26:22 ID:cox0sqTE
>>175
逆の手順で何度やってもダメでした・・・

PART47の一括訓練関連から修正しても元にもどりません・・・

177名無しさん:2024/04/25(木) 07:12:40 ID:M05M3a5I
>>176 挙動がおかしい時点でコンソールを見るべきでした。
今からでもコンソールに何か出ていないか見るべきでしょう。

178名無しさん:2024/04/25(木) 17:12:12 ID:cox0sqTE
>>177


Failed to load resource: the server responded with a status of 404 ()
85Blocked third-party cookie. Learn more in the Issues tab.
cmt.js:10 Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'indexOf')
at cmt.js:10:188
at prototype.js:1:11095
at prototype.js:1:10358
at Array.forEach (<anonymous>)
at Array.each (prototype.js:1:10340)
at Array.findAll (prototype.js:1:11073)
at c (cmt.js:10:156)
at k.i (cmt.js:10:277)
at k.l (cmt.js:10:344)
at e.mb (cmt.js:29:260)
village.php:1 Uncaught SyntaxError: "[object Object]" is not valid JSON
at JSON.parse (<anonymous>)
at Object.getMarket (<anonymous>:925:14)
at HTMLSelectElement.<anonymous> (<anonymous>:1861:29)
at HTMLDivElement.dispatch (jquery-2.1.3.js:3:6444)
at r.handle (jquery-2.1.3.js:3:3219)
at Object.trigger (jquery-2.1.3.js:3:5552)
at HTMLSelectElement.<anonymous> (jquery-2.1.3.js:3:11520)
at Function.each (jquery-2.1.3.js:2:2882)
at n.fn.init.each (jquery-2.1.3.js:2:847)
at n.fn.init.trigger (jquery-2.1.3.js:3:11496)

コンソールにたくさんエラーでていました・・・
Part47より一個一個直していったのですがダメでした・・・

179名無しさん:2024/04/25(木) 21:28:52 ID:M05M3a5I
沢山?
85Blocked third-party cookie. Learn more in the Issues tab.を除けば3つしかでてないです。
最後のスタックトレースは問題ありそうですね。
getMarket は ixa-training.user.js のそれじゃないかな?
そこのところで文法ミスしていない?

180名無しさん:2024/04/26(金) 00:11:44 ID:qPb0G9Lo
もし位階を考慮する修正を入れているなら城主プロフィール画面を1度開かないとだと思います
あとJSON.parseじゃなくてtoJSONを使わないとでしたね

181名無しさん:2024/04/26(金) 00:13:32 ID:qPb0G9Lo
あ、後半は勘違いです
プロフ開けば行けると思います

182名無しさん:2024/04/26(金) 13:51:42 ID:cox0sqTE
>>179

ixa-training.user.js内の修正 >>14 を元に戻したら一括訓練可能になりました
大変助かりました ありがとうございます

183名無しさん:2024/04/26(金) 15:11:16 ID:qPb0G9Lo
>>182
>>14>>15にしてなかったのでは?

ローカルストレージのgetItemで位階のキーが見つからなくてundefinedを返して文字列になって
それをJSONにparseしようとしてエラーになってると思うので
>>14を適用してから>>15にすれば解決すると思いますよ

184名無しさん:2024/04/26(金) 15:20:59 ID:qPb0G9Lo
あと>>180でも言ってますけど城主プロフを1回開けば位階のキーがローカルストレージに保存されるので>>14のままでもエラーは解決すると思います
ローカルストレージを全クリアして城主プロフ開いてなくて>>14しか適用してないとそのエラーになりますね

185名無しさん:2024/05/16(木) 13:11:29 ID:WsAyTkM.
すみません、MOKOを有効にしながら派閥関係のボタンも使用可能に・・・、というのは欲ばり過ぎな要望でしょうか。

186名無しさん:2024/05/16(木) 16:19:12 ID:XArWPmN2
自分が使用している範囲では派閥関係のボタンは使用できるがON/OFFで何がどのように使えないのか
挙動がおかしいのかの違いも示せないのに欲張りすぎな要望とか言われても…
自らデバッガ開いてコンソールや要素見て悪さしてるところ探って直してもいいんですよ

187名無しさん:2024/05/16(木) 17:14:42 ID:WsAyTkM.
>>186 色々と申し訳ありませんでした。
MOKO有効ですと全般2の[サイドボックスを合戦向け表示にする]がONでもOFFでも
サイドボックスの派閥関係の表示(以下リンク先画像)が見えてこないというものです。
添付画像は拡張機能からMOKOを向こうにしている場合です。
スキル的・時間的制約で原因特定と対応が難しい状況です。
https://imgur.com/88DjLYR

188名無しさん:2024/05/16(木) 18:30:11 ID:XArWPmN2
サイドボックスのカードを非表示にするをONにしてると表示がされないからOFFにしてあげれば
サイドボックスを合戦向け表示をONにしても順序は変わるけど全て表示されるよ
理由は派閥申請/勧誘にsidebar_btn_cardという名称のclassを持ってると消す処理になってるから
なのでやるならそこを手入れれば済む(すぐ出来る話だがβなので対策する必要はない)

189名無しさん:2024/05/16(木) 19:05:44 ID:WsAyTkM.
>>188 成る程ご丁寧に有り難うございました。お陰様でMOKO有効でも派閥関連の情報欄が見える様になりました。

現状の設定は以下の通りです。他の方の参考になりましたら。
・[サイドボックスを合戦向け表示にする]:オン
・[サイドボックスのカードを非表示にする]:オフ

190名無しさん:2024/05/22(水) 08:55:16 ID:hSV9C68g
サイドバーのおすすめを消したのと本丸と所領の兵編成のリンクをわんだふる時だけ変更するくらいは対応しました

次回があれば公開します

191名無しさん:2024/05/22(水) 16:58:20 ID:XArWPmN2
わんだふる判定の合戦時固有アイコンが無かったが備忘録として>>190のano=11
に加えて
・固有MAP国番号=111
・地図上にmoko_panel表示は
$('div[class^="battle_royale_map_box"]').after(html);
に切り替え
こんなものが実装されないことを願っているがツールと関係ない話なのでこのくらいで…

192名無しさん:2024/05/22(水) 21:06:28 ID:4ioy8FfM
>>190ですけど出し惜しみするようなものでもないので

おすすめはピンポイントでおすすめだけ消したのでサイドバー関連のところに1行追加しただけです
$('img[alt^="おすすめ"]').closest('div.sideBoxInner').hide();

本丸と所領のページ内の兵編成ボタンは"派閥"っていう画像があればというif文を追加しました
//兵士編成・本丸防御陣形リンク
var hon_sho_flg = location.pathname == '/card/defense_formation_deck.php' ? 9 : 14;
if ($(document).find('img[alt="派閥"]').length != 0) {
hon_sho_flg += 2;
}
if ( !$deck.find('img[alt="兵編成"]').length ) {
$deck.find('div.deck_btns').prepend(
'<a href="/facility/set_unit_list.php?ano=' + hon_sho_flg + '">' +
'<img src="../img/deck/elite/btn_soldier_edit.png" alt="兵編成"></a>');
}

上のmokoメニューからのリンクも同じです
'<li id="本丸防御陣形" class="mk_sub_menu" style="padding-top:12px;"><a href="/card/defense_formation_deck.php"><font color="red">本丸</a>' +
'<div>' +
'<a href="/card/defense_formation_deck.php">本丸防御陣形</a>' +
'<a href="/facility/set_unit_list.php?ano=' + ($(document).find('[alt="派閥"]').length == 0 ? 9 : 11) + '&p=1">本丸兵士編成</a>' +
'<a href="/card/sub_area_defense_formation_deck.php">所領防御陣形</a>' +
'<a href="/facility/set_unit_list.php?ano=' + ($(document).find('[alt="派閥"]').length == 0 ? 14 : 16) + '&p=1">所領兵士編成</a>' +
'</div>' +
'</li>'+


新着レスの表示


名前: E-mail(省略可)

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

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

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

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