/* ############################################ 作者: COBRA 改造や配布好き勝手にしても大丈夫だよ 寧ろ積極的に配布して皆のゲーム開発を快適にしてあげて http://cobrara.blogspot.jp/ ############################################ */ // Version 1.1.5 // 2021/8/25 なんかセーブ?this.availablePage.lengthがおかしかったらしい // 2021/5/20 ページ切り替える時←も→も同じ挙動になってました // 2020/4/23 \C[0]に対応してませんでした // 2018/4/26 ロードした際ステータスの変更もロードされるよう修正 // 2017/12/13 最新のバージョン(1.5)でデプロイメントすると1回目だけ画像が表示されない問題を修正 // 2017/8/27 1.1.0 ページの表示・非表示機能を追加しました // 2017/7/30 1.0.4 最新のコアスクリプト(ver1.2c)にも対応しました // 2017/5/4 1.0.3 エロステータス画面を開いてる最中NPCが動いてしまう問題を修正しました // 2017/1/31 1.0.2 changeにおいて最後の項目に「@@,@_,@=」が含まれている場合エスケープされない問題を修正しました // 2017/1/30 1.0.1 ピクチャ名に変数が反映されないバグを修正しました // 2017/1/24 1.0.0 /*: * @plugindesc エロステータス作れちゃうプラグイン(本体) * @author COBRA * @help Version 1.1.3 * 自由にいじれちゃうエロステータス画面 * * 画像はimg/picturesにpngで保存してください * * 0pxの画像を表示しようとするとバグります * * * 詳しくはこちらで * http://cobrara.blogspot.jp/2017/01/blog-post_24.html * * 横幅:816 縦幅:624 * @param eroStaName * @desc メニューに表示される名前だよ * Default: エロステータス * @default エロステータス * * * @param * * * @param commonEvent * @desc エロステ画面を開く直前に実行されるコモンイベント、数値 * Default: * @default */ var CBR_eroStatus = []; var CBR_eroStatusState = {}; //表示するページ変える Game_System.prototype.CBR_eroSta_page = function(list){ this.availablePage = list; CBR_eroStatusState.num = this.availablePage; }; //起動・ロード・ニューゲーム時 var _CBR_Game_System_initialize = Game_System.prototype.initialize; Game_System.prototype.initialize = function(){ _CBR_Game_System_initialize.call(this); //初期値 CBR_eroStatus = []; CBR_eroStatusState.num = []; CBR_eroStatusState.numOrigin = []; CBR_eroStatusState.now = null; CBR_eroStatusState.name = null; CBR_eroStatusState.event = null; this.availablePage = []; //ページ数取得 //こっちがあったら for(var i=0,len=$plugins.length; i/g,function(a,b,c,d,e,f){//汚いけどこれは毎回やらないとね if(b){//\\ return '\\'; }else if(c){//[VNP] d = Number(d); switch(c){ case 'V': return $gameVariables.value(d); break; case 'N': return $gameActors._data[d]._name; break; case 'P': return $dataActors[$gameParty._actors[d-1]].name; break; } }else{//script return eval(f); } }); if(ary[i].var){//変数があったら入れる var v = ''+$gameVariables.value(ary[i].var); if(ary[i].varDigit){//2ケタの時は2まで if(v.length >= ary[i].varDigit){ name += v.substr(-1*ary[i].varDigit,1); }else{ name = false; } }else{ name += v; } } if(name){ var temp = ImageManager.loadPicture(name);//初回読み込み if(temp){ //if(temp._isLoading || temp._loadingState == 'requesting'){//前者は古いver用 ロード中ならアウト if(!temp.width){//前者は古いver用 ロード中ならアウト flag = true; break; } }else{//その名前の画像が無かったら flag = true; this._CBR_complete = true; break; } p_data[i] = { 'w':temp.width, 'h':temp.height, } } } if(!flag){//全ロードが終わってたら this.contents.clear(); //ピクチャの表示 var ary = CBR_eroStatus[page].p; for(var i=0,len=ary.length; i/g,function(a,b,c,d,e,f){ if(b){//\\ return '\\'; }else if(c){//[VNP] d = Number(d); switch(c){ case 'V': return $gameVariables.value(d); break; case 'N': return $gameActors._data[d]._name; break; case 'P': return $dataActors[$gameParty._actors[d-1]].name; break; } }else{//script return eval(f); } }); if(name){ this.changePaintOpacity(ary[i].opacity); var x = ary[i].x; var y = ary[i].y; if(ary[i].origin == 'center'){ x -= p_data[i].w * ary[i].zoom / 2; y -= p_data[i].h * ary[i].zoom / 2; } this.drawPicture('pictures',name, 0,0,x,y,0,0,ary[i].zoom,0); } } //テキストの表示 this.resetTextColor(); var ary = CBR_eroStatus[page].t; for(var i=0,len=ary.length; i/g,function(a,b,c,d,e,f,g){ if(b){//\\ return '\\'; }else if(c){//[VNP] d = Number(d); switch(c){ case 'V': return $gameVariables.value(d); break; case 'N': return $gameActors._data[d]._name; break; case 'P': return $dataActors[$gameParty._actors[d-1]].name; break; } }else if(e){//G return $dataSystem.currencyUnit; }else{//script return eval(g); } }); //自身の前に区切りマッチがあったら if(0 < k){ var temp = opAry[k-1].split('\\');//\\{\\}を分割する for(var m=1,len3=temp.length; m