irpg Community

Full Version: ประยุก ศัตรูตรวจจับเรา เวอร์ชั่นEvent ได้ทั้งXPและVX
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
อันนี้เปนการประยุตก์คำสั่งเคลื่อนย้ายเหตุการณ์นะครับซึ่งสามารถนำมาใช้แทนการมองของศัตรูหรือใช้เป็นการยิงกระสุนของศัตรูได้มาดูวิธีทำกันครับ (การทำสคริปอาจง่ายว่า แต่ผมไม่เป็นสคริปจึงนึกวิธีนี้ออกมาเผื่อคนหัวอกเดียวกัน)
รูปที่1
[Image: rBboyc.jpg]
1.จากรูปแรกสิ่งที่ต้องเตรียมมี4eventตามรูป ตัวใสๆคืออันซ้ายล่างผมเอาไว้เก็บข้อมูลฮีโร่
ส่วนแฟรี่น้อยที่อยู่ขวาล่างจิงๆต้องทำเป็นใสๆ แต่กลัวเพื่อนๆน้องๆ และพี่(ถ้ามีคนอายุเยอะกว่าผมอยุ่อะนะ- -) กลัวจะมองไม่เห็นกันเลยทำเป็นแฟรี่น้อยน่ารักไว้ให้เห็นตอนตรวจจับ มาเริ่มขั้นตอนที่สองดีกว่า

รูปที่2
[Image: tLnMBG.jpg]
2.ที่รูปeventใสด้านซ้ายล่างนี้ตั้งค่าeventตามรูปแล้ว ส่วนคำสั่งคือให้บันทึกพิกัดXYของฮีโร่ตลอดเวลาและตรวจว่า มันจะโดนตรวจจับจากeventศัตรูเมื่อไหร่ก็ให้เกิดเหตุการณ์เช่นเข้าฉากต่อสู้ หรือโดนยิงหรือต่างๆนาๆ แต่ผมจะใช้การโชวข้อความเพื่อเป็นผลลัพ หน้าที่มีแค่นี้เองของตัวนี้ บันทึกพิกัด เช็คว่าโดนรึยัง และเกิดเหตุเมื่อโดน

รูปที่3
[Image: pKpXWM.jpg]
3.ต่อมาeventตัวศัตรูเซทค่าตามนั้น และใส่คำสั่งว่า บันทึกพิกัดตัวเองลงตัวแปรXY ทั้งสองตัวแยกไว้ตลอดเวลา แล้วก็สร้างตัวแปรมาเพื่อเก็บข้อมูลว่า มันจะหันหน้าไปทางไหน มีวิธีเช็คการหันตัวแปรเป็นค่าตัวเลขอันนี้ผมจำไม่ได้ว่ามันหันหน้าทางไหนเป็นเลขไรบ้าง ผมเลยสร้างมันมาใหม่เลย
ใช้ตัวแปร1ตัวเพื่อเก็บค่าการหันหน้า หน้าที่เจ้ากระดูกมีแค่นี้ บันทึกพิกัดตัวเอง หันหน้าทางไหนให้บอกกล่าว แค่นั้นครับ

รูปที่4
[Image: xuAgCc.jpg]
4.มาถึงตัวตรวจจับ ที่ใส่รูปแฟรี่น้อยลงไปเพื่อให้เห็นชัดๆตอนกำลังตรวจจับ
ตั้งค่าeventตามนั้น จิงๆก็ตั้งเหมือนตัวอื่นๆทุกตัวนั่นแหละ ส่วนคำสั่งก็คือ
สร้างตัวแปรXYขึ้นมาอีกชุด แต่ให้เท่ากับตัวEventศัตรูเจ้าตัวกระดูกเมื่อกี้ เพราะเวลาแฟรี่ตัวนี้ไปไหนจะได้คอยเกาะเจ้าตัวกระดูกไป แต่เกาะเสร็จต้องบินไปตามที่กระดูกหันหน้า ดังนั้น
ชุดคำสั่งคือเช็คตัวแปรที่เก็บเลขของโครงกระดูกที่หันหน้า ยกตัวอย่างในรูปหันขึ้นด้านบน
ผมจะใช้วิธีการเคลื่อนที่แบบวนซ้ำๆจนครบ4ครั้งเลยสร้างตัวแปรLoop numberขึ้นมา วนหนึ่งครั้งก็ลดลงไปจนเหลือ0 ในการวนแต่ละครั้งของการหันหน้าขึ้น
ต้องนำค่าตัวแปรXYที่สร้างใหม่มาเพิ่มลดค่าก่อน จากรูป หันขึ้นบน ต้องลบค่าแกนX-1 แล้วย้ายเหตุการแฟรรี่น้อยไปด้านหน้าของโครงกระดูก ทุกๆครั้งที่วนเหตุการณใน label1นี้ มันจะขยับขึ้นตามแกนXที่ลบ แล้วเคลื่อนย้ายตัวแฟรี่ด้วยคำสั่งเคลื่อนย้ายเหตุการณ์(บางคนอาจสงสัยว่าทำไมผมไม่ใช้คำสั่งให้แฟรี่เดิน เพราะผมเคยติดบัคว่าเดินไปชนอีเวนท์โปร่งใสอื่นๆแล้วมันเดินไปต่อไม่ได้ทั้งๆที่โปร่งใส ผมเลยตัดปัญหาใช้คำสั่งเคลื่อนย้าย จิงๆก็สามารถเคลื่อนย้ายวนเป็นวงกลมได้เลยแว๊บๆ)คำสั่งมีแค่นี้ครับเฉพาะ หันขึ้นด้านบน ถ้าจะหันด้านอื่นก็แค่ก็อปตัวแรกมาวางครบ4ชุด ขึ้นลงซ้ายขวาแล้วแก้ค่าXYกับการตรวจเช็คตัวแปรการหันหน้าตามรูปที่5

รูปที่5
[Image: hO268f.jpg]
ตัวอย่างการก็อปคำสั่งมาแก้ไขครับ

รูปที่6
[Image: LPc6lS.jpg]
มาเริ่มทดสอบเกมกัน ตอนแรกของรูปนี้ผมยังไม่อยู่ในสายตาของเจ้าโครงกระดูก

รูปที่7
[Image: d5yLaZ.jpg]
พอผมอยู่ในสายตาของมันก็มีข้อความขึ้นว่าโดนเจอแล้ว ตามรูปภาพที่2ใส่คำสั่งไว้

อันนี้เป็นการยกตัวอย่างพื้นๆของคนที่จะใช้อีเวนท์นะครับ ซึ่งเอาวิธีนี้ไปใช้กับRMเวอชั่นอื่นๆก็ได้

ไม่ทราบเหมือนกันว่ามีคนอื่นเคยคิดขึ้นก่อนหรือยังเพราะอันนี้ผมคิดเองโดยส่วนตัวนะครับ
ดีร้ายประการใดโปรดอภัยด้วย ขอบคุณครับDerp
ถ้าประยุกต์ต่ออีกนิด ถ้ามองข้างหน้าแล้วปกติจะมองได้ 120 องศา ก็ตรวจ ข้างหน้าทั้งหมดเลยก็ได้ (อาจจะมองหางตา อิอิ) ยังไงก็ดีมากฮะ Me gusta
ระบบนี้ใช้ได้ดีเลยครับ สำหรับคนที่จะนำไปใช้ อย่าลืมคำนึงไว้ว่า เวลาจะสร้างแม็พใหม่ ต้องเผื่อ EventID ไว้ด้วยตามจำนวนที่ระบบรองรับด้วยนะครับ เพราะทุกแม็พ event ต้องมี EventID เดียวกันตามแม็พต้นฉบับ

ผมอยากฝากผู้พัฒนาครับ ฝากเอาโค้ดไปไว้ใน Common Event (ในฐานข้อมูล) แล้วเรียกใช้ Common Event เอา เพราะเวลาแก้จะได้แก้ที่เดียว ไม่ต้องไปไล่แก้ทุกแม็พครับ