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

【改造・改変】艦これタイマー for Firefox 書き換えスレ

25 名無しさん :2014/07/22(火) 01:18:47
>>22
自分も非表示にしたかったからやってみた

【書き換えファイル】kancolletimer.jar>chrome/overlay/overlaymenu.xul
82-89行目まで削除

アドオン事わからないのに削除しちゃってるけど以前のバージョンでも今のバージョンでも不具合はないよ
これからも色々かわるだろうから <!-- ステータスバー --> から </statusbar> まで消すって覚えとくと良いかも

26 名無しさん :2014/08/09(土) 11:46:24
本家がyoshfuji版をベースにしてるということで、最新のyoshfuji版からマージして、
非表示にされてた艦隊をサイドバーでだけ表示させ、
同じく非表示にされてた艦船をウィンドウでだけ表示するようにしてる。

更新作業めんどいけど、使いやすいので満足w

27 名無しさん :2014/08/11(月) 16:46:41
つぶやく機能を自分なりに改善してみました。
なお、本家ver0.40をいじりました。

[sstweet.js]
data = IO_SERVICE.newURI(data, null, null);
の下に
wbp.progressListener = {
onStateChange: function(aWebProgress, aRequest, aStateFlags, aStatus) {
const STATE_STOP = Components.interfaces.nsIWebProgressListener.STATE_STOP;
if (aStateFlags & STATE_STOP) {
let text = $('text').value;
Twitter.updateStatusWithMedia(text, File(file.path));
}
}
};
を追加。

wbp.saveURI(data, null, null, null, null, file, null);
の下の

setTimeout( function(){
let text = $('text').value;
Twitter.updateStatusWithMedia(text, File(file.path));
//Twitter.updateStatus(text);
setTimeout( function(){ $('send-button').disabled = false; }, 5000 );
}, 2000 );

は削除またはコメントアウト。

[twitter.js]
AlertPrompt( "スクリーンショットのつぶやきに失敗しました。", "艦これタイマー" );
の下に
$('send-button').disabled = false;
を追加。

ボタン有効化はつぶやきに失敗した時だけでいいかなと、そのへんもいじってあります。

28 名無しさん :2014/08/13(水) 17:35:33
本家verのツールバーの数値にカンマを入れたくなったので、いじってみました。

libs.jsのFormatCommas関数をoverlay.js内に移植して、
elem = document.getElementById('kancolletimer-'+resnames[k]);
if( elem ){
elem.value = FormatCommas(v); //←
}
みたいな感じで実装すればおkです。

29 名無しさん :2014/08/17(日) 17:26:45
第1艦隊情報や第2〜4艦隊情報及びコンディションで数値50以上(キラ状態)の場合に数値を光らせる

[libs.js]
762行目辺りを変更
if( data.api_cond<=19 ){
label.setAttribute('cond', 'very-low');
}else if( data.api_cond<=29 ){
label.setAttribute('cond','low');
}

if( data.api_cond<=19 ){
label.setAttribute('cond', 'very-low');
}else if( data.api_cond<=29 ){
label.setAttribute('cond','low');
}else if( data.api_cond>=50 ){
label.setAttribute('cond','kira');
}

852行目辺りを変更
if( data.api_cond<=19 ){
cond.setAttribute('cond','very-low');
}else if( data.api_cond<=29 ){
cond.setAttribute('cond','low');
}

if( data.api_cond<=19 ){
cond.setAttribute('cond','very-low');
}else if( data.api_cond<=29 ){
cond.setAttribute('cond','low');
}else if( data.api_cond>=50 ){
cond.setAttribute('cond','kira');
}

[mainwindow.css]
33行目辺りに追記

label[cond='kira'] {
background-color: #ffd700;
}

30 名無しさん :2014/08/19(火) 03:30:05
開発した装備とそのレシピをログ出力するようにしてみました。

----------------------------------------------------------

[httpobserve.jsm]
.prepare(data);
を含む任意の行の次に↓を挿入。
} else if (url.match(/kcsapi\/api_req_kousyou\/createitem/)) {
this.reqKousyouCreateItem.prepare(data);

----------------------------------------------------------

[libs.js]
末尾に↓を挿入。
function KanColleTimerCreateItemHandler(){
let req = KanColleDatabase.reqKousyouCreateItem.get_req();
let recipe = [ req.api_item1, req.api_item2, req.api_item3, req.api_item4 ];
let data = KanColleDatabase.reqKousyouCreateItem.get();
let result;
if(parseInt(data.api_create_flag,10)){
let itemtype = KanColleDatabase.masterSlotitem.get(data.api_slot_item.api_slotitem_id);
result = itemtype?itemtype.api_name:"?";
} else {
result = "失敗";
}
AddLog(recipe.join("/")+"->"+result+"\n");
}

----------------------------------------------------------

[kancolletimer.js]
init: function(){
・・・
},
の最後に
KanColleDatabase.reqKousyouCreateItem.appendCallback(KanColleTimerCreateItemHandler);
を挿入。
destroy: function(){
の直後に
KanColleDatabase.reqKousyouCreateItem.removeCallback(KanColleTimerCreateItemHandler);
を挿入。

----------------------------------------------------------

たとえば、20/60/10/100で流星改が出た時は、

20/60/10/100->流星改

と出力されます。



# twitterでつぶやく時などに活用できるかなーと。

31 名無しさん :2014/08/20(水) 23:24:33
派生版でイベ海域出撃に対応してみました。
E-6は行ったこと無いので、E-5までの情報を元にしています。
ちと長いので分けて投下します。

----------------------------------------------------------

[httpobserve.jsm]
this.reqSortieBattle.update(data.api_data);
の下に↓を追加。
} else if (url.match(/kcsapi\/api_req_combined_battle\/(air)?battle/)) {
this.reqCombinedBattle.update(data.api_data);
} else if (url.match(/kcsapi\/api_req_combined_battle\/(midnight_battle|sp_midnight)/)) {
this.reqCombinedBattleMidnightBattle.update(data.api_data);

----------------------------------------------------------

this.reqBattleMidnightBattle = new KanColleSimpleDB();
の下に↓を追加。
this.reqCombinedBattle = new KanColleSimpleDB();
this.reqCombinedBattleMidnightBattle = new KanColleSimpleDB();

----------------------------------------------------------

this.reqBattleMidnightBattle = null;
の上に↓を追加。
this.reqCombinedBattleMidnightBattle = null;
this.reqCombinedBattle = null;

続きます。

32 名無しさん :2014/08/20(水) 23:25:54
続き

[libs.js]

_update_battle: function(data, damages) {
の上に↓を追加。
_update_battle_comb: function(data, damages) {
let deckid = data.api_deck_id;
let damage;
let s = '';

if (!deckid && data.api_dock_id)
deckid = data.api_dock_id;

deckid = parseInt(deckid) + 1;

damage = this._reduce_damage.apply(this, damages);

for (let i = 0; i < damage.length; i++) {
let cur;
let ratio;

if (isNaN(damage[i]) || damage[i] < 0 ||
data.api_nowhps_combined[i] === undefined || data.api_nowhps_combined[i] < 0 ||
data.api_maxhps_combined[i] === undefined || data.api_maxhps_combined[i] < 0)
continue;

cur = data.api_nowhps_combined[i] - damage[i];
if (cur < 0)
cur = 0;

ratio = cur / data.api_maxhps_combined[i];

s += '#' + i + ': ' + cur + '/' + data.api_maxhps_combined[i] + ' = ' + (Math.floor(ratio * 10000) / 10000);

if (ratio >= 1) {
s += '';
} else if (ratio > 0.75) {
s += ' [微損]';
} else if (ratio > 0.50) {
s += ' [小破]';
} else if (ratio > 0.25) {
s += ' [中破]';
} else if (ratio > 0) {
s += ' [大破]';
} else {
s += ' [撃沈]';
}
s += '\n';

if (i >= 1 && i <= 6 && damage[i]) {
let hpstyle = this._ship_color(ratio);
if (hpstyle) {
SetStyleProperty($('shipstatus-' + deckid + '-' + (i)), 'text-decoration', 'line-through');
SetStyleProperty($('shipstatus-' + deckid + '-' + (i)), '-moz-text-decoration-style', 'double');
SetStyleProperty($('shipstatus-' + deckid + '-' + (i)), '-moz-text-decoration-color', hpstyle);
} else {
SetStyleProperty($('shipstatus-' + deckid + '-' + (i)), 'text-decoration', null);
SetStyleProperty($('shipstatus-' + deckid + '-' + (i)), '-moz-text-decoration-style', null);
SetStyleProperty($('shipstatus-' + deckid + '-' + (i)), '-moz-text-decoration-color', null);
}
}
}

debugprint(s);
},

続きます。

33 名無しさん :2014/08/20(水) 23:27:18
続き

[libs.js]

},
};
KanColleTimerFleetInfo.__proto__ = __KanColleTimerPanel;
の上に↓を追加。
reqCombinedBattle: function() {
let data = KanColleDatabase.reqCombinedBattle.get();
if (!data) return;

let damages = [], damages_comb = [];

if (data.api_kouku != null && data.api_kouku.api_stage3 != null)
damages.push(this._parse_raibak(data.api_kouku.api_stage3));
if (data.api_kouku != null && data.api_kouku.api_stage3_combined != null)
damages_comb.push(this._parse_raibak(data.api_kouku.api_stage3_combined));

if (data.api_kouku2 != null && data.api_kouku2.api_stage3 != null)
damages.push(this._parse_raibak(data.api_kouku2.api_stage3));
if (data.api_kouku2 != null && data.api_kouku2.api_stage3_combined != null)
damages_comb.push(this._parse_raibak(data.api_kouku2.api_stage3_combined));

if (data.api_opening_atack != null)
damages_comb.push(this._parse_raibak(data.api_opening_atack));

if (data.api_hougeki1 != null)
damages_comb.push(this._parse_hourai(data.api_hougeki1));

if (data.api_raigeki != null)
damages_comb.push(this._parse_raibak(data.api_raigeki));

if (data.api_hougeki2 != null)
damages.push(this._parse_hourai(data.api_hougeki2));

if (data.api_hougeki3 != null)
damages.push(this._parse_hourai(data.api_hougeki3));

this._update_battle(data, damages);
this._update_battle_comb(data, damages_comb);
},
reqCombinedBattleMidnightBattle: function(){
let data = KanColleDatabase.reqCombinedBattleMidnightBattle.get(), damages_comb = [];
if (!data) return;

if (data.api_hougeki != null)
damages_comb.push(this._parse_hourai(data.api_hougeki));

this._update_battle_comb(data, damages_comb);
},

以上、連投失礼しました。

34 名無しさん :2014/08/20(水) 23:50:02
書き忘れ。
コードそのものは長いけど、ほんの少し変えただけのものばかりです。
そういうわけで、煮るなり焼くなり好きなようにどうぞ。

# こういう場に書く以上、全てMITライセンスでいい気がしてます。

35 名無しさん :2014/08/23(土) 21:35:09
ttp://jbbs.shitaraba.net/bbs/read.cgi/netgame/13241/1387467343/468
入渠直後に十字アイコンが表示されない件。

ttps://bitbucket.org/amano_rox/kancolle-timer-for-firefox/src/630e3a1cc760541c8bbf4cb4becba41289dbd7be/chrome/content/libs.js?at=default#cl-1095/
libs.jsの1095行目あたりに
memberNdock: 'deck',
とか入れたら解決っぽい?

36 名無しさん :2014/10/26(日) 07:38:49
本家版0.46の建造・ドロップ艦娘一覧で500件を超える情報がある時に右クリックから削除すると直近500件以外のデータが消える件の修正案です。

droplist.js 84行目あたりから
createTable: function(){
let list = $( 'dropship-list' );
this.clearListBox( list );

let n = this.allships.length;

let no = 0;
for( let i = n - 500 > 0 ? n - 500 : 0; i < n; i++ ){
let ship = this.allships[i];

let elem = CreateElement( 'listitem' );
let style = no != 0 && (no % 10) == 0 ? "border-top: 1px solid gray;" : "";
elem.appendChild( CreateListCell( ship.area == "Created" ? "建造" : ship.area ) );
(略)
list.appendChild( elem );
no++;
}
$('number-of-ships').setAttribute('label', no + '/'+n+'人を表示しています');
},

# プルリクエストってどうやるんだろう?

37 名無しさん :2014/12/07(日) 08:17:54
サイドバーを左側表示から右側表示にする方法はどのようにすればいいのでしょうか。
手順を記述してもらえるとありがたいです。

38 名無しさん :2014/12/10(水) 20:55:29
ttp://jbbs.shitaraba.net/bbs/read.cgi/netgame/13241/1387467343/614
を見て思いついたので、戦闘結果をログ出力させてみました。

[libs.js]

reqSortieBattleResult: function() {
・・・
},

の最後に↓を挿入。

try{
let data = KanColleDatabase.reqSortieBattleResult.get();
let str = '出撃: ' + data.api_quest_name + ' > ' + data.api_enemy_info.api_deck_name + ' 結果: ' + data.api_win_rank + '\n';
AddLog(str);
}catch(e){
debugprint(e);
}

出力例
出撃: 鎮守府正面海域 > 敵偵察艦 結果: S

# 大破艦が出た時に同時に出力させることもできそう。

39 名無しさん :2015/01/17(土) 22:12:41
ver0.50.2の資源グラフでバケツのチェックを外した時に表示がおかしくなる件の修正案です。

ttps://bitbucket.org/amano_rox/kancolle-timer-for-firefox/src/5cdd1ef75772380a9c4fbd3204ae8db05431f8cf/chrome/content/resourcegraph.js?at=default#cl-307
- svg.append( "g" )
+ if( $( "bucket" ).hasAttribute( "checked" ) ) svg.append( "g" )

40 名無しさん :2015/03/03(火) 23:43:11
ver0.52がPalemoonで保存できない件の修正案です。
単純にDownloads.fetchが使えるかどうかで分岐させてるだけですが、とりあえずはこれで動きました。

function SaveUrlToFile( url, file )
{
if( 'function' === typeof Downloads.fetch ){
Task.spawn(function () {
yield Downloads.fetch( url, file );
}).then(null, Components.utils.reportError);
} else {
let wbp = Components.classes['@mozilla.org/embedding/browser/nsWebBrowserPersist;1']
.createInstance(Components.interfaces.nsIWebBrowserPersist);
wbp.saveURI(url, null, null, null, null, file, null);
}
}

41 名無しさん :2015/03/25(水) 12:25:37
索敵値合計を2-5式に変更するにはどの辺りをいじればいいですか?

42 名無しさん :2015/04/01(水) 23:28:49
>>41
えっと、本家版での話ですよね?

めんどいので試してはいませんが、
派生版のlibs.jsのKanColleTimerFleetInfo.update.deckからfleet_searchなんちゃらとか関連する関数とかを引っ張ってきて
本家版のKanColleTimerFleetInfo._setFleetOrganizationにマージさせる感じですかね?

43 名無しさん :2015/04/05(日) 22:45:14
ttp://jbbs.shitaraba.net/bbs/read.cgi/netgame/13241/1387467343/679
の件について、>>40で対応策書いてみましたが、もう少し短くできたので書いておきます。

function SaveUrlToFile( url, file/*, callback*/ )
{
Task.spawn(function () {
let Services = Cu.import("resource://gre/modules/Services.jsm").Services;
if (Services.appinfo.name=="Pale Moon") {
yield Downloads.simpleDownload( url, file );
} else {
yield Downloads.fetch( url, file );
}
//callback();
}).then(null, Components.utils.reportError);
}

ちなみに、コメントアウトさせてあるcallbackは、保存後に実行させたい処理があるので個人的に活用しています。

44 名無しさん :2015/04/29(水) 21:02:37
艦これタイマー0.53.3+Palemoonにて、スクリーンキャプチャが機能しませんでした。
調べてみたところ、
ttps://bitbucket.org/amano_rox/kancolle-timer-for-firefox/commits/d8c7347618d61237326d67547202d9056e553d07#Lchrome/content/framescripts/capture-script.jsT7
「rect.x」「rect.y」ともにundefinedとなっていました。
「rect.x」を「rect.left」に、次の行の「rect.y」を「rect.top」に差し替えたら正常に機能しました。

なお、派生版にも同様の問題がありますので修正が必要かと思われます。

45 名無しさん :2015/08/27(木) 03:07:17
ここに書き込もとしたら文字数多すぎと怒られたのでアプロダに
遠征収支表に北方航路海上護衛を追加するついでに細々変更。
(艦隊これくしょん -艦これ- 攻略 Wiki*の時給理論値早見表を持ってきてるっぽいのでwikiのデータにしました(数値は切り捨てだったり四捨五入だったりしたので四捨五入に統一))
ソースほぼそのままなので一応パスかけました

データ変更.txt
ttp://www1.axfc.net/u/3524405.txt
PASS:Timer

KanColle Timer for Firefox / chrome / content / data.js
126行目から347行目を削除して書き換え

変更内容:
3.警備任務…弾薬収入を変更(54→63)
4.対潜警戒任務…燃料収入を変更(-31→-33)
5.海上護衛任務…燃料収入を変更(111→110)
6.防空射撃演習…弾薬収入を変更(-24→-18)
7.観艦式予行…燃料収入を変更(-42→-45)
9.タンカー護衛任務…燃料収入を変更(79→80)
10.強行偵察任務…燃料収入を変更(-12→-13)
12.資源輸送任務…燃料収入を変更(2→3)
13.鼠輸送作戦…弾薬収入を変更(62→65)
15.囮機動部隊支援作戦…燃料収入を変更(-6→-5)
17.敵地偵察作戦…燃料収入を変更(57→53)、弾薬収入を変更(26→27)
18.航空機輸送作戦…弾薬収入を変更(-7→-6)
19.北号作戦…弾薬収入を変更(-19→-18)
21.北方鼠輸送作戦…弾薬収入を変更(92→93)
22.艦隊演習…燃料収入を変更(0→-33)、弾薬収入を変更(3→-36)
23.航空戦艦運用演習…undefinedだったのでデータを追加
24.北方航路海上護衛…なかったので追加
25.通商破壊作戦…燃料収入を変更(16→21)、鋼材収入を変更(7→13)
35.MO作戦…弾薬収入を変更(-23→-22)
37.東京急行…弾薬収入を変更(111→102)
38.東京急行(弐)…弾薬収入を変更(-32→-33)、鋼材収入を変更(68→69)
39.遠洋潜水艦作戦…燃料収入を変更(4→-2)、鋼材収入を変更(-2→10)、ボーキ収入を変更(10→0)
40.水上機前線輸送…ボーキ収入を変更(14→15)

46 名無しさん :2015/08/28(金) 11:44:16
※45
取り込んでもらえたようなので削除しました。

47 名無しさん :2016/03/07(月) 01:31:44
改修工廠稼働日程のデータを2016/3/6時点の情報に更新してみました。
ttps://docs.google.com/spreadsheets/d/1faF66SMafvSYf37fia4MZICAz3eljxK4sfKpVDh-Fyk/edit?usp=sharing

艦隊これくしょん -艦これ- 攻略Wiki(ttp://wikiwiki.jp/kancolle/) に基き作成しました。

(艦これタイマーへの反映手順)
1. Firefoxを終了する
2. [Firefoxのプロファイルフォルダ]/extensions/kancolletime2@miku39.jp/chrome/kancolletimer.jar を作業用ディレクトリにコピーする
3. コピーしたファイルの拡張子をzipに変更して解凍する
4. 展開されたファイルの中の chrome/content/data/powerup.tsv をUTF-8文字コードに対応したテキストエディタで開く
5. ファイルの内容を上記のリンクの内容で置き換える
6. ファイルを保存して閉じる
7. 作業用ディレクトリに移動し、3.で展開されたファイル(chromeフォルダ)をzip形式で圧縮する
8. ファイル名をkancolletimer.jarに変更する
9. 8.のファイルでコピー元のファイルを置き換える
10. Firefoxを起動する

48 名無しさん :2016/03/27(日) 15:05:29
艦これタイマーからミュート化ができないかなーと色々弄ってたら
gBrowser.visibleTabs で開いてるタブの配列が取れて、その中の要素tabに対して
tab.linkedBrowser.documentURI.specIgnoringRef で URLが取れて
ミュート化する時は
tab.linkedBrowser.mute()
解除時は
tab.linkedBrowser.unmute()

タブのミュートアイコンはtab.mutedで判定して付け外しはtab.setAttribute("muted",true) / tab.removeAttribute("muted")
xul書ける人おらんかな……(チラチラ

49 yoshfuji :2016/03/28(月) 01:10:50
>>48
情報ありがとうございます。参考になります。

50 48 :2016/03/28(月) 01:54:11
やっぱり自分で(超適当に)実装してみた
ttps://gist.github.com/9bb83e26db82f7ee867e

xulよりjsで手間取ってもうたorz

51 名無しさん :2016/04/03(日) 18:52:32
yoshfuji版 通知コードの共通化はポシャったのかな残念
ttps://gist.github.com/cb77c1ef3c926321268b9e0c6087f1d3

ちっと強引だが、タイマー通知をクリックすると艦これタブを開くコード
(ベースはyoshfujiのv0.99-20160118.7)
既知のバグ:最前面にプライベートブラウジングモードのウィンドウを開いておくと、そっちにタブが開かれてしまう

52 名無しさん :2016/06/12(日) 04:24:21
書き換えてファイルからインストールをやろうとしたら、
「このアドオンは壊れているのでインストールできませんでした」って言われるんだがどういうこっちゃい?

書き換えた部分はオリジナル版で書き込みされている部分です。
しっかりzipに戻して拡張子をふたつとも元に戻しました。

53 名無しさん :2016/06/12(日) 15:05:57
>>52
単純に圧縮間違えて、フォルダ階層が一個増えてるんじゃない?
kancolletimer.jarの中がkancolletimerフォルダからになってるか、
2-1.3-fx-windows.xpiの中が2-1.3-fx-windowsフォルダからになってるとか。

54 名無しさん :2016/06/12(日) 19:14:09
>>53
それだ!! ありです。

55 名無しさん :2016/06/12(日) 22:22:53
>>52です。
xpiファイルを置き換えてFirefoxを起動したところ、署名が確認できないため無効となっていますとの表示が出てきました。
AMO審査には時間がかかるため審査を通さず配布している、といった話を聞きますがインストールできるよう署名をつけるにはどうしているのでしょう?
配布するつもりはなくマイナーな改変を自分用に行っているだけなので審査を受ける必要がないならそうしたいのですが……。

56 名無しさん :2016/06/12(日) 23:18:38
>>55
about:config

xpinstall.signatures.required
をfalseする

自己責任でどうぞ。

57 56 :2016/06/12(日) 23:31:32
ちなみに>>56は「署名をつける」じゃなくて、署名なしでもインストールできるようにする、
なので、セキュリティー的には危ないです。
そのうち無効化されると言われていますが、延び延びになってる項目です。
完全にダメに成ったらdeveloper edition入れるとかしないかも?

58 名無しさん :2017/12/11(月) 22:40:52
艦これタイマーfor Firefox[改]にある大破時に警告音を鳴らす機能を
オリジナル版2.1.3に移植する方法ってありますか?

59 名無しさん :2018/02/21(水) 21:32:37
旧艦これタイマー(v1.3)が17秋イベ以降動作しない対策。
既に改が出てて需要があるか分からんが貼っておく。

修正対象:libs.js
修正内容:

for ( let j = 0; j < fi.api_ship.length; j++ ){
を検索して、下記の様に書き換え

let s_cnt = fi.api_ship.length;
if ( s_cnt >= 7 ) {
s_cnt = 6;
}
for ( let j = 0; j < s_cnt; j++ ){


これで18冬イベでの動作確認済み。
但し、第三部隊の7隻目のステータス等は一切表示されないので注意。
あくまでも、v1.3が動作しない状況を是正するだけの対応。

60 名無しさん :2018/02/22(木) 09:57:45
>>59
おお、ありがとうございます

61 <削除> :<削除>
<削除>

62 <削除> :<削除>
<削除>

63 <削除> :<削除>
<削除>


新着レスの表示


名前: E-mail(省略可)

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

■ したらば のおすすめアイテム ■

踏み出せば何かが変わる - 三浦 大輔


この欄のアイテムは掲示板管理メニューから自由に変更可能です。


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