12-14-2016, 04:56 PM
WindowStatistics
วิธีติดตั้ง
1.นำไฟล์ WindowStatistics.js ไปใส่ไว้ใน โฟลเดอร์ js/plugins
2.เปิดใช้งานและตั้งค่า plugin ผ่าน Plugin Manager
คำแนะนำ
วิธีการใส่ Plugin Command
1.สร้าง Event(เหตุการณ์) ขึ้นมา จากนั้นดับเบิ้ลคลิกที่่เหตุการณ์นั้น
2.ใส่คำสั่ง Plugin Command ตามรูปด้านล่าง (อยู่ด้านล่างสุด ของแถบที่ 3 )
*** ใส่ได้ทีละคำสั่งนะครับ***
วิธีหาเลขไอดีของตัวแปร
1.เปิดที่ไหนก็ได้ที่มีหน้าต่างให้เลือกตัวแปร เช่นสร้าง Event ใหม่ แล้วใส่คำสั่ง Control Variables... เลือกตัวแปรจากตรง Single เป็นต้น
2.ที่หน้าต่างเลือกตัวแปรให้ดูหมายเลขตามรูป เอาหมายเลขนั้นมาใช้
วิธีหาเลขไอดีของไอคอน
1.ง่ายที่สุดคือ ไปที่ Database (หรือคลิกที่รูปฟันเฟือง )
2.จากนั้นเลือก Items ดับเบิ้ลคลิกตรงที่ให้เปลี่ยนไอคอนของไอเทม จะขึ้นหน้าต่างเลือกไอคอนมา
3.ที่หน้าต่างเลือกไอคอน ให้คลิกที่ไอคอนที่ต้องการ แล้วดูหมายเลขที่ด้านล่างของหน้าต่างตามรูป เอาหมายเลขนั้นมาใช้
วิธีใช้งาน
1.ตั้งค่าที่ Plugin Manager โดยไปที่ Plugin Manager แล้วเลือกPlugin WIndowStatistics จะมีหน้าต่าง ตามรูปนี้
2.จะเห็นว่า Parameters เป็นภาษาไทยหมดแล้ว ทำให้ง่ายต่อการแก้ไข แต่จะขออธิบายเพิ่มเติมดังนี้
การตั้งค่าใน Plugin Manager
Parameter หลัก
Parameter เสริม
นอกจากแสดงจำนวนเงินและเวลาในการเล่นแล้ว Plugin ตัวนี้ สามารถแสดงค่าตัวแปรเพิ่มได้อีกถึง 7 ตัวด้วยกัน ซึ่งหากนำมาใช้ทั้งหมดจะได้หน้าต่างสถิติประมาณนี้ (ตัวแปรสามารถมีไอคอนได้ แต่ในภาพตั้งเป็นไม่แสดงไอคอนเท่านั้นเอง)
การตั้งค่าผ่าน Plugin Command
ดูวิธีใส่ Plugin Command ที่ คำแนะนำ ดูคำสั่งของ Plugin Command ได้ที่ Help... ใน Plugin Manager
Plugin Command ใช้สำหรับตั้งค่า เปิด/ปิด หน้าต่างสถิติ หรือปรับแก้ค่าที่ต้องการแสดง ในระหว่างที่เกมดำเนินไป ทำให้เราสามารถแสดงหน้าต่างนี้ทุกครั้งที่จบด่านได้ โดยการปิดและเปิดหน้าต่างใหม่ จะทำการอัพเดทค่าตัวแปรต่างๆ (ถ้าเปิดค้างไว้จะไม่มีการอัพเดท)
Plugin Command
Credit:
XthemeCore
เงื่อนไขการใช้งาน:
CC 4.0 - แสดงที่มา
สามารถแก้ไข ดัดแปลง และใช้ในเชิงพาณิชย์ ได้ แต่ต้องให้เครดิต(แสดงที่มา)
CC 4.0 - แสดงที่มา
สามารถแก้ไข ดัดแปลง และใช้ในเชิงพาณิชย์ ได้ แต่ต้องให้เครดิต(แสดงที่มา)
Download:
Code:
//=============================================================================
// Window_Statistics.js
//=============================================================================
/*:
* @plugindesc หน้าต่างแสดงสถิติการเล่น (plugin command ดูที่ Help...)
* @author XthemeCore
*
* @param ชื่อหัวหน้าต่าง
* @desc ชื่อที่แสดงบนส่วนหัวของหน้าต่าง
* @default สถิติหลังจบเกม
*
* @param x
* @desc ตำแหน่งแกน x ของหน้าต่างจากจุดศูนย์กลางของจอ
* @default 0
*
* @param y
* @desc ตำแหน่งแกน y ของหน้าต่างจากจุดศูนย์กลางของจอ
* @default 0
*
* @param ความยาวหน้าต่าง
* @desc ความยาวของหน้าต่าง
* @default 420
*
* @param ตัวคั่น
* @desc ตัวคั่นระหว่างชื่อตัวแปรกับค่าของตัวแปร
* @default :
*
* @param ---------------
* @desc
* @default ---------------------------------
*
* @param แสดงจำนวนเงิน
* @desc ให้แสดงจำนวนเงินในหน้าต่างหรือไม่
* @default false
*
* @param ไอคอนจำนวนเงิน
* @desc ไอคอนที่สื่อถึงจำนวนเงิน (ถ้ามีค่าน้อยกว่า 1 จะไม่ถูกแสดง)
* @default 220
*
* @param แสดงเวลาในการเล่น
* @desc ให้แสดงเวลาที่ใช้ในการเล่นในหน้าต่างหรือไม่
* @default true
*
* @param ไอคอนเวลาในการเล่น
* @desc ไอคอนที่สื่อถึงเวลาในการเล่น (ถ้ามีค่าน้อยกว่า 1 จะไม่ถูกแสดง)
* @default 313
*
* @param ---------------
* @desc
* @default ---------------------------------
*
* @param ตัวแปรที่ 1
* @desc เลขไอดีของตัวแปร ตัวที่ 1 ที่เก็บค่าที่ต้องการแสดง (ถ้ามีค่าน้อยกว่า 1 จะไม่ถูกแสดง)
* @default 1
*
* @param ชื่อตัวแปรที่ 1
* @desc ชื่อที่สื่อถึงตัวแปร ตัวที่ 1
* @default จำนวนการตาย
*
* @param ไอคอนตัวแปรที่ 1
* @desc ไอคอนที่สื่อถึงตัวแปร ตัวที่ 1 (ถ้ามีค่าน้อยกว่า 1 จะไม่ถูกแสดง)
* @default 1
*
* @param ---------------
* @desc
* @default ---------------------------------
*
* @param ตัวแปรที่ 2
* @desc เลขไอดีของตัวแปร ตัวที่ 2 ที่เก็บค่าที่ต้องการแสดง (ถ้ามีค่าน้อยกว่า 1 จะไม่ถูกแสดง)
* @default -1
*
* @param ชื่อตัวแปรที่ 2
* @desc ชื่อที่สื่อถึงตัวแปร ตัวที่ 2
* @default ตัวแปรที่ 2
*
* @param ไอคอนตัวแปรที่ 2
* @desc ไอคอนที่สื่อถึงตัวแปร ตัวที่ 2 (ถ้ามีค่าน้อยกว่า 1 จะไม่ถูกแสดง)
* @default -1
*
* @param ---------------
* @desc
* @default ---------------------------------
*
* @param ตัวแปรที่ 3
* @desc เลขไอดีของตัวแปร ตัวที่ 3 ที่เก็บค่าที่ต้องการแสดง (ถ้ามีค่าน้อยกว่า 1 จะไม่ถูกแสดง)
* @default -1
*
* @param ชื่อตัวแปรที่ 3
* @desc ชื่อที่สื่อถึงตัวแปร ตัวที่ 3
* @default ตัวแปรที่ 3
*
* @param ไอคอนตัวแปรที่ 3
* @desc ไอคอนที่สื่อถึงตัวแปร ตัวที่ 3 (ถ้ามีค่าน้อยกว่า 1 จะไม่ถูกแสดง)
* @default -1
*
* @param ---------------
* @desc
* @default ---------------------------------
*
* @param ตัวแปรที่ 4
* @desc เลขไอดีของตัวแปร ตัวที่ 4 ที่เก็บค่าที่ต้องการแสดง (ถ้ามีค่าน้อยกว่า 1 จะไม่ถูกแสดง)
* @default -1
*
* @param ชื่อตัวแปรที่ 4
* @desc ชื่อที่สื่อถึงตัวแปร ตัวที่ 4
* @default ตัวแปรที่ 4
*
* @param ไอคอนตัวแปรที่ 4
* @desc ไอคอนที่สื่อถึงตัวแปร ตัวที่ 4 (ถ้ามีค่าน้อยกว่า 1 จะไม่ถูกแสดง)
* @default -1
*
* @param ---------------
* @desc
* @default ---------------------------------
*
* @param ตัวแปรที่ 5
* @desc เลขไอดีของตัวแปร ตัวที่ 5 ที่เก็บค่าที่ต้องการแสดง (ถ้ามีค่าน้อยกว่า 1 จะไม่ถูกแสดง)
* @default -1
*
* @param ชื่อตัวแปรที่ 5
* @desc ชื่อที่สื่อถึงตัวแปร ตัวที่ 5
* @default ตัวแปรที่ 5
*
* @param ไอคอนตัวแปรที่ 5
* @desc ไอคอนที่สื่อถึงตัวแปร ตัวที่ 5 (ถ้ามีค่าน้อยกว่า 1 จะไม่ถูกแสดง)
* @default -1
*
* @param ---------------
* @desc
* @default ---------------------------------
*
* @param ตัวแปรที่ 6
* @desc เลขไอดีของตัวแปร ตัวที่ 6 ที่เก็บค่าที่ต้องการแสดง (ถ้ามีค่าน้อยกว่า 1 จะไม่ถูกแสดง)
* @default -1
*
* @param ชื่อตัวแปรที่ 6
* @desc ชื่อที่สื่อถึงตัวแปร ตัวที่ 6
* @default ตัวแปรที่ 6
*
* @param ไอคอนตัวแปรที่ 6
* @desc ไอคอนที่สื่อถึงตัวแปร ตัวที่ 6 (ถ้ามีค่าน้อยกว่า 1 จะไม่ถูกแสดง)
* @default -1
*
* @param ---------------
* @desc
* @default ---------------------------------
*
* @param ตัวแปรที่ 7
* @desc เลขไอดีของตัวแปร ตัวที่ 7 ที่เก็บค่าที่ต้องการแสดง (ถ้ามีค่าน้อยกว่า 1 จะไม่ถูกแสดง)
* @default -1
*
* @param ชื่อตัวแปรที่ 7
* @desc ชื่อที่สื่อถึงตัวแปร ตัวที่ 7
* @default ตัวแปรที่ 7
*
* @param ไอคอนตัวแปรที่ 7
* @desc ไอคอนที่สื่อถึงตัวแปร ตัวที่ 7 (ถ้ามีค่าน้อยกว่า 1 จะไม่ถูกแสดง)
* @default -1
*
* @help
*
* Plugin Command:
* WindowStats open # แสดงหน้าต่างสถิติ
* WindowStats close # ซ่อนหน้าต่างสถิติ
* WindowStats reset # รีเซ็ตค่าพารามิเตอร์ให้กลับเป็นค่าที่ตั้งไว้ใน Plugin Manager
*
* WindowStats set x n # n: ตำแหน่งแกน x ของหน้าต่างจากจุดศูนย์กลางของจอ
* WindowStats set y n # n: ตำแหน่งแกน y ของหน้าต่างจากจุดศูนย์กลางของจอ
* WindowStats set width w # w: ความยาวของหน้าต่าง
* WindowStats set colon c # c: ตัวคั่น
*
* WindowStats set enabled gold bool # bool: true แสดง, false ไม่แสดง
* WindowStats set enabled playtime bool # bool: true แสดง, false ไม่แสดง
*
* WindowStats set icon gold id # id: ไอดีของไอคอน
* WindowStats set icon playtime id # id: ไอดีของไอคอน
*
* WindowStats set id var n i # n: ตัวแปรที่ n, i: ไอดีของตัวแปร
* WindowStats set title var n name # name: ชื่อที่สื่อถึงตัวแปร
* WindowStats set icon var n icon id # id: ไอดีของไอคอน
*/
var WindowStatistics = {};
(function(WindowStatistics) {
var params = PluginManager.parameters('WindowStatistics');
var param_x;
var param_y;
var param_header;
var param_width;
var param_colon;
var param_goldEnabled;
var param_goldIcon;
var param_playtimeEnabled;
var param_playtimeIcon;
var param_var1;
var param_var1Title;
var param_var1Icon;
var param_var2;
var param_var2Title;
var param_var2Icon;
var param_var3;
var param_var3Title;
var param_var3Icon;
var param_var4;
var param_var4Title;
var param_var4Icon;
var param_var5;
var param_var5Title;
var param_var5Icon;
var param_var6;
var param_var6Title;
var param_var6Icon;
var param_var7;
var param_var7Title;
var param_var7Icon;
resetParameters();
function resetParameters(){
param_x = Number(params['x'] || 0);
param_y = Number(params['y'] || 0);
param_header = String(params['ชื่อหัวหน้าต่าง'] || 'สถิติหลังจบเกม');
param_width = Number(params['ความยาวหน้าต่าง'] || 420);
param_colon = String(params['ตัวคั่น'] || ':');
var text_goldEnabled = String(params['แสดงจำนวนเงิน'], 'false');
if(text_goldEnabled.toLowerCase() === 'true'){
param_goldEnabled = true;}
else if(text_goldEnabled.toLowerCase() === 'false'){
param_goldEnabled = false;}
param_goldIcon = Number(params['ไอคอนจำนวนเงิน'] || 220);
var text_playtimeEnabled = String(params['แสดงเวลาในการเล่น'], 'true');
if(text_playtimeEnabled.toLowerCase() === 'true'){
param_playtimeEnabled = true;}
else if(text_playtimeEnabled.toLowerCase() === 'false'){
param_playtimeEnabled = false;}
param_playtimeIcon = Number(params['ไอคอนเวลาในการเล่น'] || 313);
param_var1 = Number(params['ตัวแปรที่ 1'] || 1);
param_var1Title = String(params['ชื่อตัวแปรที่ 1'] || 'จำนวนการตาย');
param_var1Icon = Number(params['ไอคอนตัวแปรที่ 1'] || 1);
param_var2 = Number(params['ตัวแปรที่ 2'] || -1);
param_var2Title = String(params['ชื่อตัวแปรที่ 2'] || 'ตัวแปรที่ 2');
param_var2Icon = Number(params['ไอคอนตัวแปรที่ 2'] || -1);
param_var3 = Number(params['ตัวแปรที่ 3'] || -1);
param_var3Title = String(params['ชื่อตัวแปรที่ 3'] || 'ตัวแปรที่ 3');
param_var3Icon = Number(params['ไอคอนตัวแปรที่ 3'] || -1);
param_var4 = Number(params['ตัวแปรที่ 4'] || -1);
param_var4Title = String(params['ชื่อตัวแปรที่ 4'] || 'ตัวแปรที่ 4');
param_var4Icon = Number(params['ไอคอนตัวแปรที่ 4'] || -1);
param_var5 = Number(params['ตัวแปรที่ 5'] || -1);
param_var5Title = String(params['ชื่อตัวแปรที่ 5'] || 'ตัวแปรที่ 5');
param_var5Icon = Number(params['ไอคอนตัวแปรที่ 5'] || -1);
param_var6 = Number(params['ตัวแปรที่ 6'] || -1);
param_var6Title = String(params['ชื่อตัวแปรที่ 6'] || 'ตัวแปรที่ 6');
param_var6Icon = Number(params['ไอคอนตัวแปรที่ 6'] || -1);
param_var7 = Number(params['ตัวแปรที่ 7'] || -1);
param_var7Title = String(params['ชื่อตัวแปรที่ 7'] || 'ตัวแปรที่ 7');
param_var7Icon = Number(params['ไอคอนตัวแปรที่ 7'] || -1);
}
var _window;
var WindowStatistics_Game_Interpreter_pluginCommand = Game_Interpreter.prototype.pluginCommand;
Game_Interpreter.prototype.pluginCommand = function(command, args) {
if (command.toLowerCase() === "windowstats") {
if (args[0].toLowerCase() === "open") {
if(_window === undefined){
_window = new Window_Statistics(0, 0);
_window.x = ((Graphics.boxWidth - _window.width)/2) + param_x;
_window.y = ((Graphics.boxHeight - _window.height)/2) + param_y;
SceneManager._scene.addChild(_window);
_window.open("gl");
}else{
SceneManager._scene.addChild(_window);
_window.refresh();
_window.open("gl");
}
}
else if (args[0].toLowerCase() === "close") {
if(_window !== undefined){
_window.close();
}
}
else if (args[0].toLowerCase() === "reset") {
resetParameters();
}
else if (args[0].toLowerCase() === "set") {
switch(args[1].toLowerCase()){
case 'x': param_x = Number(args[2]);
break;
case 'y': param_y = Number(args[2]);
break;
case 'width': param_width = Number(args[2]);
break;
case 'colon': param_colon = String(args[2]);
break;
case 'enabled': if(args[2].toLowerCase() === 'gold'){
if(args[3].toLowerCase() === 'true')
param_goldEnabled = true;
else if(args[3].toLowerCase() === 'false')
param_goldEnabled = false;
}else if(args[2].toLowerCase() === 'playtime'){
if(args[3].toLowerCase() === 'true')
param_playtimeEnabled = true;
else if(args[3].toLowerCase() === 'false')
param_playtimeEnabled = false;
}
break;
case 'icon': if(args[2].toLowerCase() === 'gold'){
param_goldIcon = Number(args[3]); }
else if(args[2].toLowerCase() === 'playtime'){
param_playtimeIcon = Number(args[3]); }
else if(args[2].toLowerCase() === 'var'){
switch(Number(args[3])){
case 1: param_var1Icon = Number(args[4]); break;
case 2: param_var2Icon = Number(args[4]); break;
case 3: param_var3Icon = Number(args[4]); break;
case 4: param_var4Icon = Number(args[4]); break;
case 5: param_var5Icon = Number(args[4]); break;
case 6: param_var6Icon = Number(args[4]); break;
case 7: param_var7Icon = Number(args[4]); break;
}
}
break;
case 'id': if(args[2].toLowerCase() === 'var'){
switch(Number(args[3])){
case 1: param_var1 = Number(args[4]); break;
case 2: param_var2 = Number(args[4]); break;
case 3: param_var3 = Number(args[4]); break;
case 4: param_var4 = Number(args[4]); break;
case 5: param_var5 = Number(args[4]); break;
case 6: param_var6 = Number(args[4]); break;
case 7: param_var7 = Number(args[4]); break;
}
}
break;
case 'title': if(args[2].toLowerCase() === 'var'){
switch(Number(args[3])){
case 1: param_var1Title = String(args[4]);
var i = 5;
while(i < args.length){
param_var1Title += ' ' + String(args[i]);
i++;
}
break;
case 2: param_var2Title = String(args[4]);
var i = 5;
while(i < args.length){
param_var2Title += ' ' + String(args[i]);
i++;
}
break;
case 3: param_var3Title = String(args[4]);
var i = 5;
while(i < args.length){
param_var3Title += ' ' + String(args[i]);
i++;
}
break;
case 4: param_var4Title = String(args[4]);
var i = 5;
while(i < args.length){
param_var4Title += ' ' + String(args[i]);
i++;
}
break;
case 5: param_var5Title = String(args[4]);
var i = 5;
while(i < args.length){
param_var5Title += ' ' + String(args[i]);
i++;
}
break;
case 6: param_var6Title = String(args[4]);
var i = 5;
while(i < args.length){
param_var6Title += ' ' + String(args[i]);
i++;
}
break;
case 7: param_var7Title = String(args[4]);
var i = 5;
while(i < args.length){
param_var7Title += ' ' + String(args[i]);
i++;
}
break;
}
}
break;
}
}
}
WindowStatistics_Game_Interpreter_pluginCommand.call(this, command, args);
}
function Window_Statistics() {
this.initialize.apply(this, arguments);
};
Window_Statistics.prototype = Object.create(Window_Base.prototype);
Window_Statistics.prototype.constructor = Window_Statistics;
Window_Statistics.prototype.initialize = function(x, y) {
var width = this.windowWidth();
var height = this.windowHeight();
Window_Base.prototype.initialize.call(this, x, y, width, height);
this.refresh();
};
Window_Statistics.prototype.update = function() {
Window_Base.prototype.update.call(this);
this.redrawContent();
};
Window_Statistics.prototype.windowWidth = function() {
return param_width;
};
Window_Statistics.prototype.windowHeight = function() {
return this.getContentsHeight() + 15;
};
Window_Statistics.prototype.getContentsHeight = function() {
return this.fittingHeight( 1 + this.getItemAmount());
};
Window_Statistics.prototype.getItemAmount = function(){
return Number(param_goldEnabled) + Number(param_playtimeEnabled)
+ ((param_var1 >= 1)? 1:0) + ((param_var2 >= 1)? 1:0) + ((param_var3 >= 1)? 1:0)
+ ((param_var4 >= 1)? 1:0) + ((param_var5 >= 1)? 1:0) + ((param_var6 >= 1)? 1:0)
+ ((param_var7 >= 1)? 1:0);
}
Window_Statistics.prototype.updateWindow = function() {
this.width = this.windowWidth();
this.height = this.windowHeight();
this.x = ((Graphics.boxWidth - this.width)/2) + param_x;
this.y = ((Graphics.boxHeight - this.height)/2) + param_y;
this.createContents();
};
Window_Statistics.prototype.refresh = function() {
this.openness = 0;
this.redrawContent();
};
Window_Statistics.prototype.redrawContent = function() {
this.updateWindow();
var index = 1;
var x = this.textPadding();
var width = this.contents.width - this.textPadding() * 2;
var height = this.getContentsHeight()/(this.getItemAmount() + 1);
this.contents.clear();
//แสดงหัวของหน้าต่าง
var headerWidth = this.textWidth(param_header);
this.drawText(param_header, x, 0, headerWidth, 'right');
//แสดงรายการสถิติ
if(param_goldEnabled){
this.drawCurrencyValue(x, height*index - x*(index - 1), width);
index++;
}
if(param_playtimeEnabled){
this.drawCurrentPlaytimeValue(x, height*index - x*(index - 1), width);
index++;
}
if(param_var1 >= 1){
this.drawValue(param_var1Icon, param_var1Title, param_var1,x, height*index - x*(index - 1), width);
index++;
}
if(param_var2 >= 1){
this.drawValue(param_var2Icon, param_var2Title, param_var2,x, height*index - x*(index - 1), width);
index++;
}
if(param_var3 >= 1){
this.drawValue(param_var3Icon, param_var3Title, param_var3,x, height*index - x*(index - 1), width);
index++;
}
if(param_var4 >= 1){
this.drawValue(param_var4Icon, param_var4Title, param_var4,x, height*index - x*(index - 1), width);
index++;
}
if(param_var5 >= 1){
this.drawValue(param_var5Icon, param_var5Title, param_var5,x, height*index - x*(index - 1), width);
index++;
}
if(param_var6 >= 1){
this.drawValue(param_var6Icon, param_var6Title, param_var6,x, height*index - x*(index - 1), width);
index++;
}
if(param_var7 >= 1){
this.drawValue(param_var7Icon, param_var7Title, param_var7,x, height*index - x*(index - 1), width);
index++;
}
};
Window_Statistics.prototype.drawCurrencyValue = function(x, y, width) {
var unit = TextManager.currencyUnit;
var unitWidth = this.textWidth(unit);
this.drawStatistic(313,'จำนวนเงิน', $gameParty.gold(), x, y, width - unitWidth);
this.changeTextColor(this.systemColor());
this.drawText(TextManager.currencyUnit, x + width - unitWidth, y, unitWidth, 'right');
};
Window_Statistics.prototype.drawValue = function(param_icon,param_title,param_id,x, y, width) {
this.drawStatistic(param_icon,param_title, String($gameVariables.value(param_id)), x, y, width);
};
Window_Statistics.prototype.drawCurrentPlaytimeValue = function(x, y, width) {
this.drawStatistic(220,'เวลาที่ใช้', $gameSystem.playtimeText(), x, y, width);
};
Window_Statistics.prototype.drawStatistic = function(iconIndex,title, value, x, y, width) {
var titleWidth = this.textWidth(title);
var valueWidth = this.textWidth(value);
if(iconIndex >= 0){
this.drawIcon(iconIndex, x, y);
}
this.changeTextColor(this.systemColor());
this.drawText(title, x + ((iconIndex >=0)? Window_Base._iconWidth + 8:0), y, titleWidth, 'right');
this.drawText(param_colon, x + ((iconIndex >=0)? Window_Base._iconWidth + 8:0) + titleWidth,
y, this.textWidth(param_colon), 'right');
this.resetTextColor();
this.drawText(value, width - valueWidth, y, valueWidth, 'right');
};
Window_Statistics.prototype.open = function() {
this.refresh();
Window_Base.prototype.open.call(this);
};
}(WindowStatistics));
อธิบายย่อๆ
Plugin นี้ ใช้ในการแสดงค่าสถิติการเล่นของผู้เล่น เวลาจบด่าน หรือ จบเกม (สามารถปรับแต่ง และใช้งานซ้ำได้)
1.นำไฟล์ WindowStatistics.js ไปใส่ไว้ใน โฟลเดอร์ js/plugins
2.เปิดใช้งานและตั้งค่า plugin ผ่าน Plugin Manager
คำแนะนำ
วิธีการใส่ Plugin Command
1.สร้าง Event(เหตุการณ์) ขึ้นมา จากนั้นดับเบิ้ลคลิกที่่เหตุการณ์นั้น
2.ใส่คำสั่ง Plugin Command ตามรูปด้านล่าง (อยู่ด้านล่างสุด ของแถบที่ 3 )
*** ใส่ได้ทีละคำสั่งนะครับ***
วิธีหาเลขไอดีของตัวแปร
1.เปิดที่ไหนก็ได้ที่มีหน้าต่างให้เลือกตัวแปร เช่นสร้าง Event ใหม่ แล้วใส่คำสั่ง Control Variables... เลือกตัวแปรจากตรง Single เป็นต้น
2.ที่หน้าต่างเลือกตัวแปรให้ดูหมายเลขตามรูป เอาหมายเลขนั้นมาใช้
วิธีหาเลขไอดีของไอคอน
1.ง่ายที่สุดคือ ไปที่ Database (หรือคลิกที่รูปฟันเฟือง )
2.จากนั้นเลือก Items ดับเบิ้ลคลิกตรงที่ให้เปลี่ยนไอคอนของไอเทม จะขึ้นหน้าต่างเลือกไอคอนมา
3.ที่หน้าต่างเลือกไอคอน ให้คลิกที่ไอคอนที่ต้องการ แล้วดูหมายเลขที่ด้านล่างของหน้าต่างตามรูป เอาหมายเลขนั้นมาใช้
วิธีใช้งาน
1.ตั้งค่าที่ Plugin Manager โดยไปที่ Plugin Manager แล้วเลือกPlugin WIndowStatistics จะมีหน้าต่าง ตามรูปนี้
2.จะเห็นว่า Parameters เป็นภาษาไทยหมดแล้ว ทำให้ง่ายต่อการแก้ไข แต่จะขออธิบายเพิ่มเติมดังนี้
การตั้งค่าใน Plugin Manager
Parameter หลัก
- ชื่อหัวหน้าต่าง => ข้อความส่วนหัวที่อยู่ด้านบนสุดหน้าต่าง
- x => ตำแหน่งแกน x ของหน้าต่างจากจุดศูนย์กลางของจอ
- y => ตำแหน่งแกน y ของหน้าต่างจากจุดศูนย์กลางของจอ
- ความยาวหน้าต่าง => ความยาวของหน้าต่าง (width)
- ตัวคั่น => ข้อความที่คั่นระหว่าง ชื่อตัวแปร กับ ค่าของตัวแปร ตามรูปนี้ (สามารถใส่เป็นข้อความ เช่น => ได้)
- แสดงจำนวนเงิน => ใส่เป็น true หรือ false เพื่อกำหนดให้มีการแสดง/ซ่อน จำนวนเงินในหน้าต่าง
- ไอคอนจำนวนเงิน => ใส่เป็นเลขไอคอนของไอคอน(ดูวิธีหาเลขไอดีของไอคอนที่ คำแนะนำ) ที่ต้องการแสดงด้านหน้าคำว่า "จำนวนเงิน"
***ถ้าใส่เป็น -1 จะไม่มีการแสดงไอคอน และข้อความจะชิดขอบด้านซ้าย
ถ้าใส่เป็น 0 จะไม่มีการแสดงไอคอน แต่ข้อความจะอยู่ตำแหน่งเดียวกันกับแบบมีไอคอน***
- แสดงเวลาในการเล่น => ใส่เป็น true หรือ false เพื่อกำหนดให้มีการแสดง/ซ่อน เวลาที่ใช้ในการเล่นในหน้าต่าง
- ไอคอนเวลาในการเล่น => ใส่เป็นเลขไอคอนของไอคอน ที่ต้องการแสดงด้านหน้าคำว่า "เวลาที่ใช้" เหมือนกับการใส่ไอคอนจำนวนเงิน
Parameter เสริม
นอกจากแสดงจำนวนเงินและเวลาในการเล่นแล้ว Plugin ตัวนี้ สามารถแสดงค่าตัวแปรเพิ่มได้อีกถึง 7 ตัวด้วยกัน ซึ่งหากนำมาใช้ทั้งหมดจะได้หน้าต่างสถิติประมาณนี้ (ตัวแปรสามารถมีไอคอนได้ แต่ในภาพตั้งเป็นไม่แสดงไอคอนเท่านั้นเอง)
Parameter ของตัวแปรจะมีลักษณะตามรูปนี้
โดยมีรายละเอียดดังนี้ (n แทนลำดับของตัวแปรที่แสดงได้มีตั้งแต่ 1-7)
- ตัวแปรที่ n => ใส่ไอดีของตัวแปรที่เก็บค่าที่เราต้องการแสดงไว้ (ดูวิธีหาเลขไอดีของตัวแปรที่ คำแนะนำ)
***ถ้าใส่เป็นค่าที่น้อยกว่า 1 ตัวแปรที่ n จะถูกซ่อนแทน
(เหมือนใส่ค่า false ใน แสดงจำนวนเงิน/แสดงเวลาในการเล่น)***
- ชื่อตัวแปรที่ n => ชื่อที่สื่อถึงตัวแปร เช่น หากเก็บจำนวนการตาย ก็ใส่เป็น จำนวนการตาย เป็นต้น
- ไอคอนตัวแปรที่ n => ใส่เป็นเลขไอคอนของไอคอน ที่ต้องการแสดงด้านหน้าชื่อตัวแปร เหมือนกับการใส่ไอคอนจำนวนเงิน
การตั้งค่าผ่าน Plugin Command
ดูวิธีใส่ Plugin Command ที่ คำแนะนำ ดูคำสั่งของ Plugin Command ได้ที่ Help... ใน Plugin Manager
Plugin Command ใช้สำหรับตั้งค่า เปิด/ปิด หน้าต่างสถิติ หรือปรับแก้ค่าที่ต้องการแสดง ในระหว่างที่เกมดำเนินไป ทำให้เราสามารถแสดงหน้าต่างนี้ทุกครั้งที่จบด่านได้ โดยการปิดและเปิดหน้าต่างใหม่ จะทำการอัพเดทค่าตัวแปรต่างๆ (ถ้าเปิดค้างไว้จะไม่มีการอัพเดท)
Plugin Command
- WindowStats open=> เปิดหน้าต่างสถิติ
- WindowStats close=> ปิดหน้าต่างสถิติ
- WindowStats reset=> รีเซ็ตค่าที่แก้ไขให้กลับเป็นค่าตามที่ตั้งไว้ใน Plugin Manager แทน
- WindowStats set x n=> ตั้งตำแหน่งแกน x ของหน้าต่างจากจุดศูนย์กลางจอ n pixel
ตัวอย่าง ทำให้หน้าต่างไปทางซ้าย 20 pixel จากจุดศูนย์กลางจอ WindowStats set x 20
- WindowStats set y n=> ตั้งตำแหน่งแกน y ของหน้าต่างจากจุดศูนย์กลางจอ n pixel
ตัวอย่าง ทำให้หน้าต่างไปด้านล่าง 20 pixel จากจุดศูนย์กลางจอ WindowStats set y 20
- WindowStats set width w=> ตั้งความยาวหน้าต่างให้มีขนาด w
ตัวอย่าง WindowStats set width 560
- WindowStats set colon c=>ตั้งตัวคั่นให้เป็นข้อความ c (ข้อความ c ห้ามมีการเว้นวรรค)
ตัวอย่าง WindowStats set colon =>
- WindowStats set enabled gold b=>ให้มีแสดงจำนวนเงินหรือไม่ (b เป็น true หรือ false)
ตัวอย่าง WindowStats set enabled gold false
- WindowStats set enabled playtime b=> ให้มีแสดงจำนวนเวลาในการเล่นหรือไม่ (b เป็น true หรือ false)
ตัวอย่าง WindowStats set enabled playtime true
- WindowStats set icon gold id=> ตั้งไอคอนแทนของจำนวนเงิน (id เป็นเลขไอดีของไอคอน)
ตัวอย่าง WindowStats set icon gold 220
- WindowStats set icon playtime id=> ตั้งไอคอนแทนของจำนวนเวลาในการเล่น (id เป็นเลขไอดีของไอคอน)
ตัวอย่าง WindowStats set icon playtime 313
- WindowStats set id var n i => ตั้งตัวแปรที่ต้องการแสดงในตัวแปรลำดับที่ n (n เป็นลำดับตัวแปร 1-7, i เป็นเลขไอดีของตัวแปร)
ตัวอย่าง WindowStats set id var 2 26
- WindowStats set title var n name => ตั้งชื่อตัวแปรของตัวแปรลำดับที่ n (n เป็นลำดับตัวแปร 1-7, name เป็นข้อความ สามารถเว้นวรรคได้)
ตัวอย่าง WindowStats set title var 1 จำนวนไม้,สินแร่ และ ดิน
- WindowStats set icon var n idตั้งไอคอนของตัวแปรลำดับที่ n
(n เป็นลำดับตัวแปร 1-7, id เป็นเลขไอดีของไอคอน)
ตัวอย่าง WindowStats set icon var 3 100