หน้าต่าง สถิติ การเล่น Window Statistics - XthemeCore -  12-14-2016
 
 
WindowStatistics 
Credit: 
XthemeCore 
เงื่อนไขการใช้งาน:
 
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 ) 
![[Image: image-036A_584940DB.jpg]](http://www.uppic.org/image-036A_584940DB.jpg)  
*** ใส่ได้ทีละคำสั่งนะครับ*** 
 
วิธีหาเลขไอดีของตัวแปร 
1.เปิดที่ไหนก็ได้ที่มีหน้าต่างให้เลือกตัวแปร เช่นสร้าง Event ใหม่ แล้วใส่คำสั่ง Control Variables... เลือกตัวแปรจากตรง Single เป็นต้น 
2.ที่หน้าต่างเลือกตัวแปรให้ดูหมายเลขตามรูป เอาหมายเลขนั้นมาใช้ 
![[Image: 01.png?raw=1]](https://www.dropbox.com/s/xz6bw1zaox79ppd/01.png?raw=1)  
 
วิธีหาเลขไอดีของไอคอน 
1.ง่ายที่สุดคือ ไปที่ Database (หรือคลิกที่รูปฟันเฟือง   ) 
2.จากนั้นเลือก Items ดับเบิ้ลคลิกตรงที่ให้เปลี่ยนไอคอนของไอเทม จะขึ้นหน้าต่างเลือกไอคอนมา 
3.ที่หน้าต่างเลือกไอคอน ให้คลิกที่ไอคอนที่ต้องการ แล้วดูหมายเลขที่ด้านล่างของหน้าต่างตามรูป เอาหมายเลขนั้นมาใช้ 
![[Image: 02.png?raw=1]](https://www.dropbox.com/s/5dwqm7ka6x8qowj/02.png?raw=1)  
 
 
 
วิธีใช้งาน 
1.ตั้งค่าที่ Plugin Manager โดยไปที่ Plugin Manager แล้วเลือกPlugin WIndowStatistics จะมีหน้าต่าง ตามรูปนี้ 
![[Image: 03.png?raw=1]](https://www.dropbox.com/s/kww0w4bl9r9xn1u/03.png?raw=1)  
 
 
2.จะเห็นว่า Parameters เป็นภาษาไทยหมดแล้ว ทำให้ง่ายต่อการแก้ไข แต่จะขออธิบายเพิ่มเติมดังนี้ 
 
 
 การตั้งค่าใน Plugin Manager 
  Parameter หลัก 
-    ชื่อหัวหน้าต่าง => ข้อความส่วนหัวที่อยู่ด้านบนสุดหน้าต่าง
 
 
-    x => ตำแหน่งแกน x ของหน้าต่างจากจุดศูนย์กลางของจอ
 
 
-    y => ตำแหน่งแกน y ของหน้าต่างจากจุดศูนย์กลางของจอ
 
 
-    ความยาวหน้าต่าง => ความยาวของหน้าต่าง (width)
 
 
-    ตัวคั่น => ข้อความที่คั่นระหว่าง ชื่อตัวแปร กับ ค่าของตัวแปร ตามรูปนี้ (สามารถใส่เป็นข้อความ เช่น => ได้)
 
 ![[Image: 04.png?raw=1]](https://www.dropbox.com/s/s98u3nf7hjycax6/04.png?raw=1)  
 
-    แสดงจำนวนเงิน   => ใส่เป็น 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 
 
 
 
 
 
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:  คุ้นๆ นะท่าน อิอิ 
+พหร +พหร  
คุ้นๆ ใช่ไหมล่ะครับ อิๆๆๆ   มีคน request มาเลยเอามาทำ
 
 
 
RE: หน้าต่างสถิติการเล่น WindowStatistics - ExMforward4 -  12-18-2016
 
 
ยอดไปเลย
 
 
 
 |