วิธีการตรวจสอบสวมใส่อาวุธ1 และ 2 ทำไงเหรอครับ - Printable Version +- irpg Community (https://irpg.in.th) +-- Forum: irpg Fabella RPG Maker Academia (https://irpg.in.th/forum-4.html) +--- Forum: RPG Maker Engine School (https://irpg.in.th/forum-7.html) +--- Thread: วิธีการตรวจสอบสวมใส่อาวุธ1 และ 2 ทำไงเหรอครับ (/thread-2517.html) |
วิธีการตรวจสอบสวมใส่อาวุธ1 และ 2 ทำไงเหรอครับ - Warapong555 - 08-08-2015 ประเด็นก็คือการตรวจสอบการใส่อาวุธ ที่ผมลองทำดูมันได้แต่ใส่อาวุธนั้นโดยไม่สนว่าเป็น อาวุธ 1 หรือ 2 ครับ แต่ที่ผมอยากทราบคือ การตรวจเงื่อนไขอาวุธ 1 การตรวจเงื่อนไขอาวุธ 2 ครับ ขอขอบคุณล่วงหน้านะครับ RE: วิธีการตรวจสอบสวมใส่อาวุธ1 และ 2 ทำไงเหรอครับ - splendith - 08-11-2015 . ยังไม่ค่อยเข้าใจคำถามเท่าไหร่ครับ แต่ถ้าให้ตีความ ต้องการตรวจสอบเงื่อนไขว่ามีการใส่อาวุธอะไรบางอย่างในช่องที่ 1 หรือช่องที่ 2 อยู่หรือเปล่า ใช่ไหมครับ เนื่องจากบอกวิธีการหาแบบดิบๆ อาจจะยืดยาวแก้เยอะวุ่นวาย ขอเขียนโค้ดสำเร็จรูปให้นำไปใช้เลยแล้วกันครับ Copy โค้ดด้านล่างนี้ไปวางไว้ในส่วน Materials ในหน้าจอ Script Editor [shcode=rails] class Game_Actor < Game_Battler alias_method :tmp_method_missing, :method_missing def method_missing(method_name, *args) matches = method_name.to_s.match(/^equip_weapon(_(\d+))?(_slot_(1|2))?\?$/) if matches weapon_id = matches[2] ? matches[2].to_i : nil slot = matches[4] ? matches[4].to_i : nil if slot if slot == 1 return !self.equips[0].nil? && (weapon_id.nil? || self.equips[0].id == weapon_id) else return !self.equips[1].nil? && (weapon_id.nil? || self.equips[1].id == weapon_id) && self.dual_wield? end else if weapon_id.nil? return self.weapons.length > 0 end return (!self.equips[0].nil? && self.equips[0].id == weapon_id) || (!self.equips[1].nil? && self.equips[1].id == weapon_id && self.dual_wield?) end end tmp_method_missing(method_name, args) end end [/shcode] วิธีใช้ สร้างเหตุการณ์ขึ้นมา เลือก Condition Branch ไปที่ Tab ที่ 4 เลือก Script พิมพ์คำสั่งต่อไปนี้ กำหนดให้ X = ลำดับตัวละครในฐานข้อมูลหน้า Actors Y = ลำดับอาวุธในฐานข้อมูลหน้า Weapons Z = ช่องของอาวุธ แบ่งเป็น ช่องที่ 1 และช่องที่ 2 กรณีที่ต้องการตรวจสอบว่าสวมใส่อาวุธใดๆ ก็ตามอยู่หรือไม่ $game_actors[X].equip_weapon? กรณีที่ต้องการตรวจสอบว่าสวมใส่อาวุธตามลำดับที่ระบุหรือไม่ $game_actors[X].equip_weapon_Y? กรณีที่ต้องการตรวจสอบว่าสวมใส่อาวุธใดๆ ก็ตามในช่องทีระบุหรือไม่ $game_actors[X].equip_weapon_slot_Z? กรณีที่ต้องการตรวจสอบว่าสวมใส่อาวุธตามลำดับที่ระบุและอยู่ในช่องทีระบุหรือไม่ $game_actors[X].equip_weapon_Y_slot_Z? ตัวอย่าง $game_actors[5].equip_weapon_slot_2? ตัวละครลำดับที่ 5 ใส่อาวุธในช่องที่ 2 อยู่หรือไม่ (ใส่อะไรก็ได้ขอให้เป็นอาวุธ) $game_actors[7].equip_weapon_37_slot_2? ตัวละครลำดับที่ 7 ใส่อาวุธลำดับที่ 37 ช่องที่ 2 อยู่หรือไม่ หมายเหตุ
|