irpg Community
การไฮไลท์สีในเมนู Equip - Printable Version

+- irpg Community (https://irpg.in.th)
+-- Forum: irpg Fabella RPG Maker Academia (https://irpg.in.th/forum-4.html)
+--- Forum: The Great RPG Maker Library (https://irpg.in.th/forum-5.html)
+--- Thread: การไฮไลท์สีในเมนู Equip (/thread-1017.html)



การไฮไลท์สีในเมนู Equip - TheMoo2000 - 02-22-2013

เครดิต :Bob423
ต้นฉบับ :http://www.gdunlimited.net/forums/topic/9134-change-color-of-changed-stats-on-equipment-screen/


วิธีการไฮไลท์สีในเมนู Equipment
ก่อนอื่นผมสังเกตว่าบางเกมในเมนู Equip จะมีการไฮไลท์สีเครื่องมือเวลาของที่จะใส่นั้นมีสถานะมากขึ้น, น้อยลงดังภาพ
[Image: HBqR9.png]
(ไม่ต้องสนใจกับการจัดหน้าต่างในเมนู ขอเพียงให้สนใจกับสีแดง, เขียวของคำทางด้านซ้าย)

เวลาเปลี่ยนของสวมใส่ สถานะด้านข้างก็จะเปลี่ยนตามใช่ไหม?
แต่ถ้าหากอยากให้แสดงเห็นว่ามันเพิ่มลดให้ง่ายขึ้นล่ะ? เอาล่ะ ลองทำตามดูกันนะครับ
[Image: 1.png]
กดปุ่ม F11 เพื่อเรียกหน้าต่างเขียนสคริปต์ขึ้นมา
แล้วหา Window_Base จากนั้นหา def normal_color
จะอยู่แถว ๆ บรรทัดที่ 64

หลังจากนั้นจะพบว่า จะสังเกตเห็น return Color.new(255,255,255,255) ใช่ไหมครับ?

เลข (255,255,255,255) นั่นคือ (สีแดง,สีเขียว,สีน้ำเงิน,ความสว่าง) นั่นเองครับ
ความสว่างยิ่งมากจะยิ่งมีสีเท่านั้นครับ ถ้าน้อยจะสีจะมืด ๆ ดำ ๆ
เช่น ถ้ากรอกเป็น (255,0,0,255) จะเป็นสีแดงเข้ม แต่ถ้าเป็น (255,0,0,100) จะดูมืด ๆ หม่น ๆ หน่อย
สีต่าง ๆ
สีขาว (White) = (255,255,255,255)
สีแดง (Red) = (255,0,0,255)
สีเขียว (Green) = (0,255,0,255)
สีน้ำเงิน (Blue) = (0,0,255,255)
สีเหลือง (Yellow) = (255,255,0,255)
สีฟ้า (Cyan) = (0,255,255,255)
สีม่วงแดง (Magenta) = (255,0,255,255)
สีดำ (Black) = (0,0,0,0)
สีอื่น ๆ ลองหาดูได้ที่เว็บไซต์นี้นะครับ
โดยดูได้จากช่อง B R G B นะครับ จะต้องนำมาเรียงอยู่ในรูป (R,G,B,B)

[Image: 2.png]
จากนั้นเขียนสคริปต์ต่อท้าย end บรรทัดที่ 66 ไปว่า...
[shcode=rails]
def stat_up_color
return Color.new(0,255,0,255)
end
def stat_down_color
return Color.new(255,0,0,255)
end
[/shcode]
สีสามารถเปลี่ยนได้ตามความชอบ

[Image: 3.png]
ไปที่ Window_EquipLeft แล้วเปลี่ยนตั้งแต่บรรทัดที่ 30 จนถึงบรรทัดที่ 47 เป็น
[shcode=rails]
if @new_atk != nil
self.contents.font.color = system_color
self.contents.draw_text(160, 64, 40, 32, " ---> ", 1)
#self.contents.font.color = normal_color
if @new_atk > @actor.atk then
self.contents.font.color = stat_up_color
elsif @new_atk < @actor.atk then
self.contents.font.color = stat_down_color
elsif @new_atk == @actor.atk then
self.contents.font.color = normal_color
end
self.contents.draw_text(200, 64, 36, 32, @new_atk.to_s, 2)
end
if @new_pdef != nil
self.contents.font.color = system_color
self.contents.draw_text(160, 96, 40, 32, " ---> ", 1)
#self.contents.font.color = normal_color
if @new_pdef > @actor.pdef then
self.contents.font.color = stat_up_color
elsif @new_pdef < @actor.pdef then
self.contents.font.color = stat_down_color
elsif @new_pdef == @actor.pdef then
self.contents.font.color = normal_color
end
self.contents.draw_text(200, 96, 36, 32, @new_pdef.to_s, 2)
end
if @new_mdef != nil
self.contents.font.color = system_color
self.contents.draw_text(160, 128, 40, 32, " ---> ", 1)
#self.contents.font.color = normal_color
if @new_mdef > @actor.mdef then
self.contents.font.color = stat_up_color
elsif @new_mdef < @actor.mdef then
self.contents.font.color = stat_down_color
elsif @new_mdef == @actor.mdef then
self.contents.font.color = normal_color
end
self.contents.draw_text(200, 128, 36, 32, @new_mdef.to_s, 2)
end
[/shcode]

เท่านี้เราก็จะได้เมนู Equipment ที่มีการเน้นสีแบบแหล่ม ๆ แล้วครับ

อ้อ คุณ Bob423 เจ้าของวิธีการทำ ได้ทำสคริปต์ไว้สำหรับคนที่ขี้เกียจแก้ไขเองด้วยนะครับ
วิธีการใช้ก็วางเหนือ Main แบบ Script ทั่ว ๆ ไป~
Show ContentScript:

เครดิต : Bob423