ทำให้เหตุการ์ณ ตีกันเองทำยังไงครับ - 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: ทำให้เหตุการ์ณ ตีกันเองทำยังไงครับ (/thread-1801.html) |
ทำให้เหตุการ์ณ ตีกันเองทำยังไงครับ - freemancer - 04-21-2014 RM XP (เปลี่ยนโปรแกรมเล่นแล้วจากRMVX ) อยากให้เหตุการ์ณคือทหารฝ่ายเรา (ไม่ใช่ตัวฮีโร่ ฮีโร่ทำหน้าที่ชี้นิ้วสั่ง) เดินไปเจอทหารฝ่ายศัตรู หรือทหารฝ่ายศัตรูเดินมาชนทหารฝ่ายเรา แล้วเกิดทริกเหตุการณ์โจมตีใส่กัน ต้องทำยังไงหรือครับ ตอนนี้พอมันชนกันก็ไม่รู้จะให้มันเช็คการชนกันยังไง น่ะครับ เอาแบบคิดค่าบาดเจ็บให้ตายไปข้าง วัดพลังโจมตีกับเลือด น่ะครับ ขอบคุณคับ RE: ทำให้เหตุการ์ณ ตีกันเองทำยังไงครับ - Jirayu - 04-21-2014 จำได้คร่าวๆ ว่ามันเช็คตำแหน่งของเหตุการณ์ได้ครับ event ตัวแปร มันจะมีให้เก็บค่าพิกัดของเหตุการณ์ แล้วค่อยเอามาคำนวน RE: ทำให้เหตุการ์ณ ตีกันเองทำยังไงครับ - Mysticphoenix - 04-21-2014 ยากหน่อยนะ RE: ทำให้เหตุการ์ณ ตีกันเองทำยังไงครับ - jojo741963 - 04-21-2014 แนะนำสคริปต์ตัวหนึ่งก่อนครับ http://littledrago.blogspot.com/2012/01/rgss23-advanced-game-variables.html เป็นสคริปต์ที่กำหนดตัวแปรได้อิสระ เหมาะจะไว้กำหนดเลือดครับ ถ้าใช้คำสั่งเหตุการณ์อาจจะยากครับ แนะนำว่าอาจจะต้องสร้าง alias update ใน Game_Map เลยน่าจะสะดวกกว่าครับ Code: class Game_Map ลองแกะโค้ดมาจาก Enemy Detection System ดูครับ พอจะบอกได้คร่าวๆ Code: for soldier in @events.values #สมมติให้ soldierคืออีเว้นจากอีเว้นทั้งหมด ยังไม่แน่ใจด้วยว่ามีบัครึเปล่า แต่ระบบเกมปืนฉีดน้ำของผมก็ระบบประมาณนี้ครับ เมื่อเราจะเช็คเลือดของศัตรู เมื่อกี้คำสั่งเพิ่มความเสียหายให้ศัตรูถูกกำหนดด้วย $game_variables[[ไอดีแมพ,อีเว้นไอดี,"A"]] เช็คโดยสร้างเหตุการณ์ทหารหรือศัตรูตั้งเป็นพร้อมเนืิ้อเรื่อง ตรวจเช็คเงื่อนไขด้วยสคริปตว่า $game_variables[[@map_id,@event_id,"A"]] >= จำนวนเลือดของอีเว้นนั้น เพราะเราได้บวกตัวแปรเหล่านี้ไปแล้ว เมื่อเข้าประชิดกัน ถ้าความเสียหายถึงที่กำหนด อีเว้นนั้นก็ตายครับ อาจจะลบเหตุการณ์ทิ้ง หรือเปลี่ยนภาพตัวละครเป็นภาพตอนตาย แต่ต้องแก้สคริปต์ที่เช็คด้วยนะครับ เพราะใส่เป็น character_name != "" อยู่ เปลี่ยนให้เหมือนกันด้วย หรือให่สวิตช์เฉพาะเปิดแล้วสร้างเหตุการณ์ของตอนที่ตายก็ได้ครับ ปล.เหนื่อย+สคริปต์ดูแปลกๆ บ้างเพราะก็อบEnemy Detection System มา แล้วเปลี่ยนชื่อ ผู้รู้ท่านอื่นถ้ามาช่วยแปลง ตรวจบัค+ลงวิธีแก้ จะดีมากครับ /chan RE: ทำให้เหตุการ์ณ ตีกันเองทำยังไงครับ - hengmana - 04-22-2014 ถ้าเป็น NPC หรือเหตุการณ์ ตัวเช็คตำแหน่งนั้นก็ $game_map.events[@event_id].x $game_map.events[@event_id].y RE: ทำให้เหตุการ์ณ ตีกันเองทำยังไงครับ - freemancer - 04-22-2014 ขอบคุณมากครับ ของผมจะลองไปปรับใช้ดูนะครับ ถ้าใช้อีเวนท์ก้ต้องเช็กตัวแปรพิกัดx y สองตัวแปรต่อ1event. แล้วสร้างอีเวนท์เปล่าๆ สำหรับเช็คระยะมาวาวหน้าอีเวนตัวนี้ อีเวนทศัตรูก้มีเช็คเก็บค่าตัวแปรxyเหมือนกัน กับมีสร้างอีเวนท์เช็คระยะหน้าอีเวนทตัวศัตรู แล้วให้้ทั้งสองตัวททำเหมือนกันคือ ถ้าพิกัดxyของตัวเอง เท่ากับxyของอีเวนนท์เช็คระยะฝั่งตรงข้ามเมื่อไหร่ให้เกิดอนิเมชั่นถูกฟันและบาดเจ็บ ตามค่าดาเมจของฝั่งตรงข้ามที่ตั้งไว้ในตัวแปรใดๆแล้วแต่กำหนด ส่วนท่่าฟันก็ให้เปลี่นรรูปคนฟันแล้วแต่กำหนด สรุปทหาร1ตัวมี ตัวแปรพิกัดx ตัวแปรพิกัดy อีเวนท์ตตรวจจับเช็คระยะ มีตัวแปรพิกัดx ให้คอยติดตามพิกกัดxของอีเวนทตัวบนโดระบุตำแหน่วบวกค่าตัวแปรหรือลบตัวแปรเต มีตัวแปรพิกัดy ตัวแปรดาเมจ กับตัวแปรเลือดและอื่นๆทีี่ใช้ต่อสู้ คร่าวๆประมาณนี้ ขอบคุณครับ RE: ทำให้เหตุการ์ณ ตีกันเองทำยังไงครับ - Mysticphoenix - 04-22-2014 ลองใช้สคริปที่ผมเอามาโพสเมื่อวานสิ http://irpg.in.th/thread-1798.html แล้วใส่comment ว่า ----------------------------- Code: Custom Trigger คำสั่งดังกล่าวจะทำให้eventทำงานเมื่อ event นี้ อยุ่ติดกับ event เบอร์ 6 7 8 เนื่องจากโค้ดยาวมาก สามารถใช้กล่อง comment หลายอันต่อกันได้ ผมยังไม่ได้ลองนะคับ เพราะตอนนี้อยู่ที่ทำงาน เอิ้กๆ ผิดถูกขออภัย ปล. $game_map.events[-1] คือตัวมันเอง ปล. อันที่จริงไม่ต้องใช้สคริปก็ได้ แค่ใช้คำสั่งเงื่อนไขแบบscript แล้วก็อปวางโค้ดข้างบนไป (ให้มันอยู่บรรทัดเดียวกันนะ) ปล. เนื่องจากมันจะเช็คตลอด ทำให้อาจเกิดการ trigger รัวๆ ดังนั้นอย่าลืมทำกลไก delay ไว้ด้วย จะได้ไม่ trigger รัวๆ ปล. แบบคุณ jojo ก็ clean ดีนะ ผมสนับสนุนแบบคุณ jojo ถ้าทำได้ก็ทำเลย RE: ทำให้เหตุการ์ณ ตีกันเองทำยังไงครับ - freemancer - 04-22-2014 ขอบคุณครับ ปัญหาคือผมไม่เป็นงานสคริปน่ะครับ แต่ถนัดeventมากกว่า แต่จะเอาแนวคิดไปปรับใช้กับพยายามยุบให้สั้นเท่าที่ทำได้น่ะครับ แต่ถ้าก็อปไปวางผมก้รุ้สึกไม่เข้าใจระบบตัวเอง อาจจะทำงานขั้นตอนต่อไปยากน่ะครับ แต่ขอบคุณนะครับ |