irpg Community

Full Version: เกี่ยวกับ[สคริปต์] การตั้งค่าสุ่มอาการที่กำหนดไว้ ยังไงครับ
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
[สคริปต์MOG] Enemy Auto States V1.0 ติดอาการมอนตอนเริ่มต่อสู้
http://www.atelier-rgss.com/RGSS/Battle/XP_BAT10.html
IDมอน => IDอาการ
ให้ตั้งค่าสุ่มอาการที่กำหนดไว้ ยังไงครับ เช่น สุ่มIDอาการ 3, 5, 8 เลือกอันหนึ่ง
ลอง 1=> (3,5,8) แล้วไม่ได้ = =a
ตอนนี้ใช้ 1=> (10 + rand(8)) แต่สุ่ม 10~18 ติดกัน

ปล.ลองเขียน IDมอน เรียง1ถึง10
(1..10) => 3 แล้วไม่ได้เหมื่อนกัน ;w;
ไม่ได้ดูสคริปต์ แต่เข้าใจว่าอยากสุ่มเลขใดๆจากเลขที่กำหนดใช่ไหม??
ถ้าใช่ สมมติอยากสุ่มเลขตัวนึงจาก 1,2,4,6,7,9,67
เราก็ทำแบบนี้
return [1,2,4,6,7,9,67][rand(7)]
ตอนแรกลอง
1 => return [2,4,7][rand(3)]
ไม่ได้.. Error เลยลบ return ออก
1 => [2,4,7][rand(3)]
จึงได้ ขอบคุณครับ
พอดีตอนเขียนให้ก็นึกไปถึง method ที่ใช้คืนค่าเลยใส่ return ไปน่ะ ไม่มีอะไรมาก
;w; มีปัญหาตอนเล่นจริง
มันสุ่มอาการแล้ว สู้มอนตัวนั้นบ่อยๆ มันติดอาการแบบเดียวตลอดเลย จนกว่าจะสุ่มใหม่ตอนเลิกเล่นใหม่เท่านั้น
ตัวอย่าง
เจอมอน1สุ่มได้พิษ สู้เสร็จแล้ว ไปเจอมอน1ตัวเดิมอีกก็ยังติดพิษอยู่ต่อไปเรื่อยๆ จนกว่าปิดเกมเล่นใหม่
เข้าใจว่าสคริปต์ส่วน config สำหรับระบบตรงนี้มันทำมารองรับอาการเดียว
ซึ่งจะถูกใช้งานถาวร อยากให้มันสุ่มต้องไปแก้ที่อื่นด้วย โดยให้ส่วน
config จำ array ไว้ เช่น 1=>[2,5,9] แล้วตอนใส่อาการค่อยไปสุ่มเอา
แก้ตรง add_state(enemy_states) เหรอครับ
PHP Code:
alias mog43_initialize initialize
  def initialize
(troop_idmember_index)
    
mog43_initialize(troop_idmember_index)  
    
enemy_states MOG::ENEMY_STATES[@enemy_id]
    if 
enemy_states != nil
      add_state
(enemy_states)
    
end     
  end 
ถ้า MOG::ENEMY_STATES คือ {1=>[บลาๆ], 2=>[บลาๆ], ...} พวกนี้
ก็แก้ตรง
enemy_states = MOG::ENEMY_STATES[@enemy_id]
เป็น
ary = MOG::ENEMY_STATES[@enemy_id]
enemy_states = ary[rand(ary.size)]

ใช้ .size มั้งนะ หาขนาดของ array อะ พอดีลืมหมดแล้ว ;w;
ลองดูแล้ว ถ้าไปเจอมอนที่ยังไม่ตั้งค่าไว้ มันจะ Error นะครับ
และเจอ มอน1 มอน1 มอน1 ซ้ำ 3 ตัวพร้อมกัน
จะสุ่มอาการเหมือนกันหมด ไม่ได้สุ่มที่ละตัวนะครับ
เจอ error ก็ดัก null สิครับ
ส่วนเรื่องอาการเหมือนกันหมด ผมก็ไม่รู้ล่ะครับ เพราะไม่เห็นตัวสคริปต์ ขี้เกียจ DL ด้วย
คิดว่าต้องปรับ initialize กับ add_state
Pages: 1 2