Skip to content

Instantly share code, notes, and snippets.

@amuhororo
Last active September 3, 2020 10:42
Show Gist options
  • Save amuhororo/167bd25d2e7c4abf42c3f54a0ffd440b to your computer and use it in GitHub Desktop.
Save amuhororo/167bd25d2e7c4abf42c3f54a0ffd440b to your computer and use it in GitHub Desktop.
ノベコレバッジ画面をフレキシブルに
;エンブレム取得。
[macro name="give_emblem"]
[iscript]
//--- ▼ ここから追記 -------------------------
var width = parseInt(TG.config.scWidth);
var height = parseInt(TG.config.scHeight);
//--- ▲ ここまで追記 -------------------------
function give_emb(url,emb_id,pid){
//配置する場所を設定。
//--- ▼ ここから変更 -------------------------
//if(!mp.width){mp.width=500};
//if(!mp.height){mp.height=400};
//if(!mp.left){mp.left=200};
//if(!mp.top){mp.top=100};
if(!mp.width){
if(width<530) mp.width=width-30;
else mp.width=500;
};
if(!mp.height){
if(height<430) mp.height=height-30;
else mp.height=400
};
if(!mp.left){mp.left=(width-mp.width)/2};
if(!mp.top){mp.top=(height-mp.height)/2};
//--- ▲ ここまで変更 -------------------------
var html = '<div style="z-index:999999999999;position:absolute;width:100%;height:100%;background:rgba(45,45,45, 0.5);">';
html +='<div style="position:absolute;" class="inner_frame">';
html +='<a class="emblem_close_button" style="z:index:999999;cursor:pointer;color:#777; font-size:36px;position:absolute;right:5px;text-decoration: none;text-shadow: 0 1px 0 #fff;top:5px;">✖</a>';
html +='<iframe name="emb_frame" style="width:100%;height:100%;" src="" frameborder="0" scrolling="no" ></iframe>';
html +='</div>';
html +='</div>';
var j_emb = $(html);
j_emb.find(".inner_frame").css({
width:mp.width,
height:mp.height,
left:mp.left,
top:mp.top
});
j_emb.find(".emblem_close_button").click(function(){
j_emb.remove();
});
$("#tyrano_base").prepend(j_emb);
var j_form = $('<form method="post" action="'+url+'" target="emb_frame" ></form>');
j_form.append('<input type="hidden" name="emb_id" value="'+emb_id+'" />');
j_form.append('<input type="hidden" name="pid" value="'+pid+'" />');
j_form.append('<input type="hidden" name="pjid" value="'+TG.config.projectID+'" />');
$("body").append(j_form);
j_form.submit();
j_form.remove();
} // end function
//非ログイン時
function give_emb_window(url,emb_id,pid){
if($.isNWJS()){
url = url+"?emb_id="+emb_id+"&pid="+pid+"&pjid="+TG.config.projectID;
var gui = require('nw.gui');
gui.Shell.openExternal(url);
}else{
window.open("","emb_frame");
var j_form = $('<form method="post" action="'+url+'" target="emb_frame" ></form>');
j_form.append('<input type="hidden" name="emb_id" value="'+emb_id+'" />');
j_form.append('<input type="hidden" name="pid" value="'+pid+'" />');
j_form.append('<input type="hidden" name="pjid" value="'+TG.config.projectID+'" />');
$("body").append(j_form);
j_form.submit();
j_form.remove();
}
}
var url = 'https://novelgame.jp/emb/give';
var emb_id = mp.id;
var pid = mp.pid;
//V4.x
if($.isNWJS()){
url = url+"?emb_id="+emb_id+"&pid="+pid+"&pjid="+TG.config.projectID;
var gui = require('nw.gui');
gui.Shell.openExternal(url);
//V5.x
}else if(navigator.userAgent.indexOf("TyranoErectron")!=-1){
url = url+"?emb_id="+emb_id+"&pid="+pid+"&pjid="+TG.config.projectID;
var shell = require("electron").shell;
shell.openExternal(url);
}else{
$.ajax({
type: 'GET',
url: 'https://novelgame.jp/emb/check_login',
dataType: 'jsonp',
jsonpCallback: 'novecole',
success: function(json){
if(json.status !="success"){
return;
}
var is_login = json.data.is_login;
if(is_login=="true"){
give_emb(url,mp.id,mp.pid);
}else{
$.alert("エンブレムを見つけました!",function(){
//ログインしていない場合
give_emb_window(url,mp.id,mp.pid);
});
}
},
error:function(){
return false;
}
});
}
[endscript]
[endmacro]
@amuhororo
Copy link
Author

SSL対応Ver に対応

@amuhororo
Copy link
Author

novecole_v2(v5対応版)に対応

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment