กรุณาเลือก อุปกรณ์เคลื่อนที่ | แสดงผลรูแบบคอมพิวเตอร์
ดู: 155|ตอบ: 1

[RMMZ] [RMMZ/RMMV] การโจมตีครั้งสุดท้ายจะติดคริติคอล

[คัดลอกลิงก์]
 
 มีนามว่าjojo741963 
 สมาชิกคนที่
 เพศ 
 ระดับการอ่าน200 
กระทู้ 
 ค่าประสบการณ์ 
 ทอง 
 ชื่อเสียง 
 ออนไลน์ 

คุณยังไม่ได้ใช้เหรียญ
กรุณาคลิกที่นี่เพื่อใช้เหรียญ

Flybee (C)
เจลลี่ บี
     
โพสต์เมื่อ 2023-1-8 09:45:33 | แสดงโพสต์ทั้งหมด |โหมดอ่าน
Critical on Final Hit v1.0.0
jojo741963​

Log:


ปลั๊กอินนี้จะทำให้คุณกำหนดอัตราคริติคอลในการโจมตีครั้งสุดท้ายได้
(แม้การโจมตีนั้นจะมีครั้งเดียว ก็กำหนดคริติคอลได้เหมือนกันนะ )

Features :
  • กำหนดอัตราคริติคอลให้การโจมตีครั้งสุดท้าย (ก็เท่านั้นแหละ)

วิธีใช้
1. ไปที่ Skill หรือ Item ที่ต้องการ
2. ใน Note ให้เพิ่มข้อความดังนี้

  1. <LastHitCriRate:X>
คัดลอกไปที่คลิปบอร์ด

เมื่อ X คือ อัตราคริติคอลที่กำหนด (ค่าระหว่าง 0-1) เช่น

<LastHitCriRate:1>               การโจมตีครั้งสุดท้ายจะติดคริติคอลแน่นอน
<LastHitCriRate:.04>            การโจมตีครั้งสุดท้ายจะติดคริติคอล 4%



หมายเหตุของผู้เขียน และความเข้ากันได้
  • ทั้งนี้ อัตราคริติคอลในปลั๊กอินนี้เป็นการเขียนทับ (กำหนดค่าใหม่ลงไป) ไม่มีผลกับอัตราคริเดิมของผู้ใช้สกิล และอัตราการหลบหลีกของเป้าหมาย
  • ไม่สามารถกำหนดค่าเป็นสมการหรือเรียกใช้ตัวแปรอื่น ๆ ได้
  • สามารถใช้ร่วมกันได้กับสกิลที่โจมตีครั้งเดียว (Repeat 1 ครั้ง) โดยจะเป็นการกำหนดอัตราคริติคอลการโจมตีครั้งนั้น
  • สกิลที่ถูกกำหนดอัตราคริจะไม่มีผลกับการประเมินดาเมจของสกิล (ของการต่อสู้อัติโนมัติ) โดยความเสียหายของสกิลนี้จะคิดตามปกติ ไม่สนใจการคริติคอลที่กำหนดค่าใหม่ลงไป
  • ไม่แน่ใจว่าจะใช้กับระบบต่อสู้แปลก ๆ ได้ไหมนะ

เงื่อนไขการใช้
ปรับแต่งได้ถ้าคุณต้องการ เอาไปใช้ทำอะไรก็ได้ที่สบายใจ จะให้หรือไม่ให้เครดิตก็ได้ แต่ถ้าให้ก็จะดีใจมาก ๆ เลยนะ

Download
ไปเซฟได้ที่ https://pastebin.com/p7ZRmn3J แล้วกดคำว่า raw
หรือโหลดจากข้างล่างนี้
  1. //=============================================================================
  2. // CriticalOnFinalHit.js
  3. //=============================================================================
  4. /*:
  5. * @target MZ
  6. * @plugindesc v1.0.0 อนุญาตให้คุณสามารถกำหนดอัตราคริติคอลให้การโจมตีครั้งสุดท้ายได้
  7. * @author jojo741963
  8. * @help CriticalOnFinalHit.js
  9. *
  10. * Log:
  11. * v1.0.0 - Release
  12. *
  13. * ปลั๊กอินนี้จะทำให้คุณกำหนดอัตราคริติคอลในการโจมตีครั้งสุดท้ายได้
  14. * (แม้การโจมตีนั้นจะมีครั้งเดียว คุณก็สามารถกำหนดคริติคอลได้เช่นกัน)
  15. *
  16. * วิธีการใช้ :
  17. * 1. ไปที่ Skill หรือ Item ที่ต้องการ
  18. * 2. ใน Note ให้เพิ่มข้อความดังนี้
  19. *        
  20. *                <LastHitCriRate:X>
  21. *
  22. *        เมื่อ X คือ อัตราคริติคอลที่กำหนด (ค่าระหว่าง 0-1)
  23. *
  24. *        เช่น                <LastHitCriRate:1>                การโจมตีครั้งสุดท้ายจะติดคริติคอลแน่นอน
  25. *                        <LastHitCriRate:.04>        การโจมตีครั้งสุดท้ายจะติดคริติคอล 4%
  26. *
  27. * หมายเหตุ :
  28. *        - ทั้งนี้ อัตราคริติคอลในปลั๊กอินนี้เป็นการเขียนทับ (กำหนดค่าใหม่ลงไป)
  29. *          ไม่มีผลกับอัตราคริเดิมของผู้ใช้สกิล และอัตราการหลบหลีกของเป้าหมาย
  30. *        - ไม่สามารถกำหนดค่าเป็นสมการหรือเรียกใช้ตัวแปรอื่น ๆ ได้
  31. *        - สามารถใช้ร่วมกันได้กับสกิลที่โจมตีครั้งเดียว (Repeat 1 ครั้ง)
  32. *          โดยจะเป็นการกำหนดอัตราคริติคอลการโจมตีครั้งนั้น
  33. *        - สกิลที่ถูกกำหนดอัตราคริจะไม่มีผลกับการประเมินดาเมจของสกิล (ของการต่อสู้อัติโนมัติ)
  34. *          โดยความเสียหายของสกิลนี้จะคิดตามปกติ ไม่สนใจการคริติคอลที่กำหนดค่าใหม่ลงไป
  35. *
  36. *        วิธีการคิดอัตราตริติคอลเดิมของระบบ : อัตราคริผู้ใช้สกิล * (1 - อัตราการหลบคริเป้าหมาย)
  37. *
  38. */

  39. (() => {
  40.         const pluginName = "CriticalOnFinalHit";

  41.         //------------------------------------------------------------------------------------
  42.         // add _repeatHitIndex and _lastHit
  43.         var _jojo741963_cuscri_GameAction_initialize = Game_Action.prototype.initialize;
  44.         Game_Action.prototype.initialize = function(subject, forcing) {
  45.         _jojo741963_cuscri_GameAction_initialize.call(this, subject, forcing);
  46.                 this._repeatHitIndex = 0;
  47.                 this._lastHit = false;
  48.     };

  49.         var _jojo741963_cuscri_GameAction_apply = Game_Action.prototype.apply;
  50.         Game_Action.prototype.apply = function(target) {
  51.                 this._repeatHitIndex += 1;
  52.                 if ( this._repeatHitIndex >= this.numRepeats() ) this._lastHit = true;
  53.                 //--------------------------------------------------------
  54.                 _jojo741963_cuscri_GameAction_apply.call(this, target);
  55.                 //--------------------------------------------------------
  56.                 if( this._lastHit ) {
  57.                         this._repeatHitIndex = 0;
  58.                         this._lastHit = false;
  59.                 }
  60.         }
  61.         //------------------------------------------------------------------------------------

  62.         Game_Action.prototype.getItemMeta = function() {
  63.                 var data = null;
  64.                 switch (this._item._dataClass) {
  65.                         case "skill":
  66.                                 data = $dataSkills[this._item._itemId];
  67.                                 break;
  68.                         case "item":
  69.                                 data = $dataItems[this._item._itemId];
  70.                                 break;
  71.                 }
  72.                 return data.meta;
  73.         }

  74.         Game_Action.prototype.IsLastHitCriRate = function() {
  75.                 var data = null;
  76.                 switch (this._item._dataClass) {
  77.                         case "skill":
  78.                                 data = $dataSkills[this._item._itemId];
  79.                                 break;
  80.                         case "item":
  81.                                 data = $dataItems[this._item._itemId];
  82.                                 break;
  83.                 }
  84.                 if (data != null) {
  85.                         if (data.meta.LastHitCriRate) return true;
  86.                         return false;
  87.                 } else {
  88.                         return false;
  89.                 }
  90.     };

  91.         var _jojo741963_cuscri_GameAction_itemCri = Game_Action.prototype.itemCri;
  92.         Game_Action.prototype.itemCri = function(target) {
  93.                 if ( this._lastHit && this.IsLastHitCriRate() ) {
  94.                         return this.getItemMeta().LastHitCriRate;
  95.                 } else {
  96.                         return _jojo741963_cuscri_GameAction_itemCri.call(this, target)
  97.                 }
  98.         };

  99. })();
คัดลอกไปที่คลิปบอร์ด


ถ้าเจอบัคอย่าลืมบอกให้รู้ด้วยล่ะ



อันนี้เผื่อใครยังไม่ทราบ
วิธีการคิดอัตราคริของระบบ: อัตราคริผู้ใช้สกิล * (1 - อัตราการหลบคริเป้าหมาย)


คะแนน

จำนวนผู้เข้าร่วม 1FAME +5 ย่อ เหตุผล
MONGONGAMER + 5

ดูบันทึกคะแนน

 
 มีนามว่าMONGONGAMER 
 สมาชิกคนที่106 
 เพศ 
 ระดับการอ่าน90 
กระทู้ 
 ค่าประสบการณ์ 
 ทอง 
 ชื่อเสียง 
 ออนไลน์ 

คุณยังไม่ได้ใช้เหรียญ
กรุณาคลิกที่นี่เพื่อใช้เหรียญ

Bascat (U)
เงาแมวดำ
     
โพสต์เมื่อ 2023-1-8 22:56:44 | แสดงโพสต์ทั้งหมด
เดี๋ยวนะ ติดคริทุกครั้งก่อนที่เป้าหมายจะตาย ทำไมรู้สึกเหมือนเกมRMจะเป็นแบบนี้กันทุกเกม นี่ขนาดไม่ได้ใช้ปลั๊กอินที่ท่านโจ้เขียนนะเนี่ย
คุณต้องเข้าสู่ระบบก่อนจึงจะสามารถตอบกลับโพสต์นี้ได้ เข้าสู่ระบบ | สมัครสมาชิก

รายละเอียดเครดิต

ตอบกระทู้ ขึ้นไปด้านบน ไปที่หน้ารายการกระทู้