irpg Community
เกี่ยวกับ[สคริปต์] การตั้งค่าสุ่มอาการที่กำหนดไว้ ยังไงครับ - 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)
+---- Forum: Scripting Academy (https://irpg.in.th/forum-12.html)
+---- Thread: เกี่ยวกับ[สคริปต์] การตั้งค่าสุ่มอาการที่กำหนดไว้ ยังไงครับ (/thread-95.html)

Pages: 1 2


เกี่ยวกับ[สคริปต์] การตั้งค่าสุ่มอาการที่กำหนดไว้ ยังไงครับ - hengmana - 06-02-2012

[สคริปต์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;


RE: เกี่ยวกับ[สคริปต์] การตั้งค่าสุ่มอาการที่กำหนดไว้ ยังไงครับ - angelix - 06-07-2012

ไม่ได้ดูสคริปต์ แต่เข้าใจว่าอยากสุ่มเลขใดๆจากเลขที่กำหนดใช่ไหม??
ถ้าใช่ สมมติอยากสุ่มเลขตัวนึงจาก 1,2,4,6,7,9,67
เราก็ทำแบบนี้
return [1,2,4,6,7,9,67][rand(7)]


RE: เกี่ยวกับ[สคริปต์] การตั้งค่าสุ่มอาการที่กำหนดไว้ ยังไงครับ - hengmana - 06-07-2012

ตอนแรกลอง
1 => return [2,4,7][rand(3)]
ไม่ได้.. Error เลยลบ return ออก
1 => [2,4,7][rand(3)]
จึงได้ ขอบคุณครับ


RE: เกี่ยวกับ[สคริปต์] การตั้งค่าสุ่มอาการที่กำหนดไว้ ยังไงครับ - angelix - 06-07-2012

พอดีตอนเขียนให้ก็นึกไปถึง method ที่ใช้คืนค่าเลยใส่ return ไปน่ะ ไม่มีอะไรมาก


RE: เกี่ยวกับ[สคริปต์] การตั้งค่าสุ่มอาการที่กำหนดไว้ ยังไงครับ - hengmana - 06-07-2012

;w; มีปัญหาตอนเล่นจริง
มันสุ่มอาการแล้ว สู้มอนตัวนั้นบ่อยๆ มันติดอาการแบบเดียวตลอดเลย จนกว่าจะสุ่มใหม่ตอนเลิกเล่นใหม่เท่านั้น
ตัวอย่าง
เจอมอน1สุ่มได้พิษ สู้เสร็จแล้ว ไปเจอมอน1ตัวเดิมอีกก็ยังติดพิษอยู่ต่อไปเรื่อยๆ จนกว่าปิดเกมเล่นใหม่


RE: เกี่ยวกับ[สคริปต์] การตั้งค่าสุ่มอาการที่กำหนดไว้ ยังไงครับ - angelix - 06-08-2012

เข้าใจว่าสคริปต์ส่วน config สำหรับระบบตรงนี้มันทำมารองรับอาการเดียว
ซึ่งจะถูกใช้งานถาวร อยากให้มันสุ่มต้องไปแก้ที่อื่นด้วย โดยให้ส่วน
config จำ array ไว้ เช่น 1=>[2,5,9] แล้วตอนใส่อาการค่อยไปสุ่มเอา


RE: เกี่ยวกับ[สคริปต์] การตั้งค่าสุ่มอาการที่กำหนดไว้ ยังไงครับ - hengmana - 06-08-2012

แก้ตรง 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 



RE: เกี่ยวกับ[สคริปต์] การตั้งค่าสุ่มอาการที่กำหนดไว้ ยังไงครับ - angelix - 06-12-2012

ถ้า 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;


RE: เกี่ยวกับ[สคริปต์] การตั้งค่าสุ่มอาการที่กำหนดไว้ ยังไงครับ - hengmana - 06-12-2012

ลองดูแล้ว ถ้าไปเจอมอนที่ยังไม่ตั้งค่าไว้ มันจะ Error นะครับ
และเจอ มอน1 มอน1 มอน1 ซ้ำ 3 ตัวพร้อมกัน
จะสุ่มอาการเหมือนกันหมด ไม่ได้สุ่มที่ละตัวนะครับ


RE: เกี่ยวกับ[สคริปต์] การตั้งค่าสุ่มอาการที่กำหนดไว้ ยังไงครับ - angelix - 06-12-2012

เจอ error ก็ดัก null สิครับ
ส่วนเรื่องอาการเหมือนกันหมด ผมก็ไม่รู้ล่ะครับ เพราะไม่เห็นตัวสคริปต์ ขี้เกียจ DL ด้วย
คิดว่าต้องปรับ initialize กับ add_state