irpg Community
หน้าต่าง สถิติ การเล่น Window Statistics - Printable Version

+- irpg Community (https://irpg.in.th)
+-- Forum: irpg Fabella RPG Maker Academia (https://irpg.in.th/forum-4.html)
+--- Forum: RGSS and JS Showcase (https://irpg.in.th/forum-26.html)
+--- Thread: หน้าต่าง สถิติ การเล่น Window Statistics (/thread-3019.html)



หน้าต่าง สถิติ การเล่น Window Statistics - XthemeCore - 12-14-2016

WindowStatistics
Credit:
XthemeCore
เงื่อนไขการใช้งาน:
[Image: 88x31.png]
CC 4.0 - แสดงที่มา
สามารถแก้ไข ดัดแปลง และใช้ในเชิงพาณิชย์ ได้ แต่ต้องให้เครดิต(แสดงที่มา)

Download:
https://drive.google.com/open?id=1Pfk1bWoYgyLeqtVJUMC3GIRn4yaKVCDF
Code สำรองกรณีโหลดด้านบนไม่ได้[JS]:
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 นี้ ใช้ในการแสดงค่าสถิติการเล่นของผู้เล่น เวลาจบด่าน หรือ จบเกม (สามารถปรับแต่ง และใช้งานซ้ำได้)
[Image: 00.png?raw=1]
วิธีติดตั้ง
1.นำไฟล์ WindowStatistics.js ไปใส่ไว้ใน โฟลเดอร์ js/plugins
2.เปิดใช้งานและตั้งค่า plugin ผ่าน Plugin Manager



คำแนะนำ

วิธีการใส่ Plugin Command

1.สร้าง Event(เหตุการณ์) ขึ้นมา จากนั้นดับเบิ้ลคลิกที่่เหตุการณ์นั้น
2.ใส่คำสั่ง Plugin Command ตามรูปด้านล่าง (อยู่ด้านล่างสุด ของแถบที่ 3 )
[Image: image-036A_584940DB.jpg]
*** ใส่ได้ทีละคำสั่งนะครับ***

วิธีหาเลขไอดีของตัวแปร
1.เปิดที่ไหนก็ได้ที่มีหน้าต่างให้เลือกตัวแปร เช่นสร้าง Event ใหม่ แล้วใส่คำสั่ง Control Variables... เลือกตัวแปรจากตรง Single เป็นต้น
2.ที่หน้าต่างเลือกตัวแปรให้ดูหมายเลขตามรูป เอาหมายเลขนั้นมาใช้
[Image: 01.png?raw=1]

วิธีหาเลขไอดีของไอคอน
1.ง่ายที่สุดคือ ไปที่ Database (หรือคลิกที่รูปฟันเฟือง [Image: icon.png?raw=1] )
2.จากนั้นเลือก Items ดับเบิ้ลคลิกตรงที่ให้เปลี่ยนไอคอนของไอเทม จะขึ้นหน้าต่างเลือกไอคอนมา
3.ที่หน้าต่างเลือกไอคอน ให้คลิกที่ไอคอนที่ต้องการ แล้วดูหมายเลขที่ด้านล่างของหน้าต่างตามรูป เอาหมายเลขนั้นมาใช้
[Image: 02.png?raw=1]



วิธีใช้งาน
1.ตั้งค่าที่ Plugin Manager โดยไปที่ Plugin Manager แล้วเลือกPlugin WIndowStatistics จะมีหน้าต่าง ตามรูปนี้
[Image: 03.png?raw=1]


2.จะเห็นว่า Parameters เป็นภาษาไทยหมดแล้ว ทำให้ง่ายต่อการแก้ไข แต่จะขออธิบายเพิ่มเติมดังนี้


 การตั้งค่าใน Plugin Manager
  Parameter หลัก
  1.    ชื่อหัวหน้าต่าง => ข้อความส่วนหัวที่อยู่ด้านบนสุดหน้าต่าง
  2.    x => ตำแหน่งแกน x ของหน้าต่างจากจุดศูนย์กลางของจอ
  3.    y => ตำแหน่งแกน y ของหน้าต่างจากจุดศูนย์กลางของจอ
  4.    ความยาวหน้าต่าง => ความยาวของหน้าต่าง (width)
  5.    ตัวคั่น => ข้อความที่คั่นระหว่าง ชื่อตัวแปร กับ ค่าของตัวแปร ตามรูปนี้ (สามารถใส่เป็นข้อความ เช่น => ได้)
    [Image: 04.png?raw=1]

  6.    แสดงจำนวนเงิน   => ใส่เป็น true หรือ false เพื่อกำหนดให้มีการแสดง/ซ่อน จำนวนเงินในหน้าต่าง
  7.    ไอคอนจำนวนเงิน => ใส่เป็นเลขไอคอนของไอคอน(ดูวิธีหาเลขไอดีของไอคอนที่ คำแนะนำ) ที่ต้องการแสดงด้านหน้าคำว่า                                       "จำนวนเงิน"
    ***ถ้าใส่เป็น -1 จะไม่มีการแสดงไอคอน และข้อความจะชิดขอบด้านซ้าย
        ถ้าใส่เป็น 0 จะไม่มีการแสดงไอคอน แต่ข้อความจะอยู่ตำแหน่งเดียวกันกับแบบมีไอคอน***


  8.    แสดงเวลาในการเล่น   => ใส่เป็น true หรือ false เพื่อกำหนดให้มีการแสดง/ซ่อน เวลาที่ใช้ในการเล่นในหน้าต่าง
  9.    ไอคอนเวลาในการเล่น => ใส่เป็นเลขไอคอนของไอคอน ที่ต้องการแสดงด้านหน้าคำว่า "เวลาที่ใช้" เหมือนกับการใส่ไอคอนจำนวนเงิน


  Parameter เสริม
  นอกจากแสดงจำนวนเงินและเวลาในการเล่นแล้ว Plugin ตัวนี้ สามารถแสดงค่าตัวแปรเพิ่มได้อีกถึง 7 ตัวด้วยกัน แพนด้าจ๊ากซึ่งหากนำมาใช้ทั้งหมดจะได้หน้าต่างสถิติประมาณนี้ (ตัวแปรสามารถมีไอคอนได้ แต่ในภาพตั้งเป็นไม่แสดงไอคอนเท่านั้นเอง)
[Image: 05.png?raw=1]

 Parameter ของตัวแปรจะมีลักษณะตามรูปนี้
 [Image: 06.png?raw=1]
 โดยมีรายละเอียดดังนี้ (n แทนลำดับของตัวแปรที่แสดงได้มีตั้งแต่ 1-7)
  1.    ตัวแปรที่ n => ใส่ไอดีของตัวแปรที่เก็บค่าที่เราต้องการแสดงไว้ (ดูวิธีหาเลขไอดีของตัวแปรที่ คำแนะนำ)
                               ***ถ้าใส่เป็นค่าที่น้อยกว่า 1 ตัวแปรที่ n จะถูกซ่อนแทน
                                    (เหมือนใส่ค่า
    false ใน แสดงจำนวนเงิน/แสดงเวลาในการเล่น)***

  2.    ชื่อตัวแปรที่ n => ชื่อที่สื่อถึงตัวแปร เช่น หากเก็บจำนวนการตาย ก็ใส่เป็น จำนวนการตาย เป็นต้น
  3.    ไอคอนตัวแปรที่ n => ใส่เป็นเลขไอคอนของไอคอน ที่ต้องการแสดงด้านหน้าชื่อตัวแปร เหมือนกับการใส่ไอคอนจำนวนเงิน



 การตั้งค่าผ่าน Plugin Command
  ดูวิธีใส่ Plugin Command ที่ คำแนะนำ ดูคำสั่งของ Plugin Command ได้ที่ Help... ใน Plugin Manager
  Plugin Command ใช้สำหรับตั้งค่า เปิด/ปิด หน้าต่างสถิติ หรือปรับแก้ค่าที่ต้องการแสดง ในระหว่างที่เกมดำเนินไป ทำให้เราสามารถแสดงหน้าต่างนี้ทุกครั้งที่จบด่านได้ โดยการปิดและเปิดหน้าต่างใหม่ จะทำการอัพเดทค่าตัวแปรต่างๆ (ถ้าเปิดค้างไว้จะไม่มีการอัพเดท)


Plugin Command
  1. WindowStats open=> เปิดหน้าต่างสถิติ
  2. WindowStats close=> ปิดหน้าต่างสถิติ
  3. WindowStats reset=> รีเซ็ตค่าที่แก้ไขให้กลับเป็นค่าตามที่ตั้งไว้ใน Plugin Manager แทน

  4. WindowStats set x n=> ตั้งตำแหน่งแกน x ของหน้าต่างจากจุดศูนย์กลางจอ n pixel
    ตัวอย่าง ทำให้หน้าต่างไปทางซ้าย 20 pixel จากจุดศูนย์กลางจอ WindowStats set x 20

  5. WindowStats set y n=> ตั้งตำแหน่งแกน y ของหน้าต่างจากจุดศูนย์กลางจอ n pixel
    ตัวอย่าง ทำให้หน้าต่างไปด้านล่าง 20 pixel จากจุดศูนย์กลางจอ WindowStats set y 20

  6. WindowStats set width w=> ตั้งความยาวหน้าต่างให้มีขนาด w
    ตัวอย่าง WindowStats set width 560


  7. WindowStats set colon c=>ตั้งตัวคั่นให้เป็นข้อความ c (ข้อความ c ห้ามมีการเว้นวรรค)
    ตัวอย่าง WindowStats set colon =>

  8. WindowStats set enabled gold b=>ให้มีแสดงจำนวนเงินหรือไม่ (b เป็น true หรือ false)
    ตัวอย่าง WindowStats set enabled gold false


  9. WindowStats set enabled playtime b=> ให้มีแสดงจำนวนเวลาในการเล่นหรือไม่ (b เป็น true หรือ false)
    ตัวอย่าง WindowStats set enabled playtime true


  10. WindowStats set icon gold id=> ตั้งไอคอนแทนของจำนวนเงิน (id เป็นเลขไอดีของไอคอน)
    ตัวอย่าง WindowStats set icon gold 220


  11. WindowStats set icon playtime id=> ตั้งไอคอนแทนของจำนวนเวลาในการเล่น (id เป็นเลขไอดีของไอคอน)
    ตัวอย่าง WindowStats set icon playtime 313



  12. WindowStats set id var n i => ตั้งตัวแปรที่ต้องการแสดงในตัวแปรลำดับที่ n (n เป็นลำดับตัวแปร 1-7, i เป็นเลขไอดีของตัวแปร)
    ตัวอย่าง WindowStats set id var 2 26


  13. WindowStats set title var n name => ตั้งชื่อตัวแปรของตัวแปรลำดับที่ n (n เป็นลำดับตัวแปร 1-7, name เป็นข้อความ สามารถเว้นวรรคได้)
    ตัวอย่าง WindowStats set title var 1 จำนวนไม้,สินแร่ และ ดิน


  14. WindowStats set icon var n idตั้งไอคอนของตัวแปรลำดับที่ n
                                           (n เป็นลำดับตัวแปร 1-7, id เป็นเลขไอดีของไอคอน)

    ตัวอย่าง WindowStats set icon var 3 100



RE: หน้าต่างสถิติการเล่น WIndowStatistics - SnowSilver - 12-14-2016

โอ้วว ประโยชน์หลายเด้อ !!


RE: หน้าต่างสถิติการเล่น WindowStatistics - splendith - 12-14-2016

คุ้นๆ นะท่าน อิอิ
+พหร +พหร


RE: หน้าต่างสถิติการเล่น WindowStatistics - XthemeCore - 12-14-2016

(12-14-2016, 05:19 PM)splendith Wrote: คุ้นๆ นะท่าน อิอิ
+พหร +พหร

คุ้นๆ ใช่ไหมล่ะครับ อิๆๆๆ Derp มีคน request มาเลยเอามาทำ


RE: หน้าต่างสถิติการเล่น WindowStatistics - ExMforward4 - 12-18-2016

ยอดไปเลย