Pages (2): 1 2   
hengmana   06-02-2012, 01:37 PM
#1
[สคริปต์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;
This post was last modified: 06-02-2012, 01:54 PM by hengmana.
angelix   06-07-2012, 09:58 AM
#2
ไม่ได้ดูสคริปต์ แต่เข้าใจว่าอยากสุ่มเลขใดๆจากเลขที่กำหนดใช่ไหม??
ถ้าใช่ สมมติอยากสุ่มเลขตัวนึงจาก 1,2,4,6,7,9,67
เราก็ทำแบบนี้
return [1,2,4,6,7,9,67][rand(7)]
hengmana   06-07-2012, 12:07 PM
#3
ตอนแรกลอง
1 => return [2,4,7][rand(3)]
ไม่ได้.. Error เลยลบ return ออก
1 => [2,4,7][rand(3)]
จึงได้ ขอบคุณครับ
This post was last modified: 06-07-2012, 12:08 PM by hengmana.
angelix   06-07-2012, 03:43 PM
#4
พอดีตอนเขียนให้ก็นึกไปถึง method ที่ใช้คืนค่าเลยใส่ return ไปน่ะ ไม่มีอะไรมาก
hengmana   06-07-2012, 11:01 PM
#5
;w; มีปัญหาตอนเล่นจริง
มันสุ่มอาการแล้ว สู้มอนตัวนั้นบ่อยๆ มันติดอาการแบบเดียวตลอดเลย จนกว่าจะสุ่มใหม่ตอนเลิกเล่นใหม่เท่านั้น
ตัวอย่าง
เจอมอน1สุ่มได้พิษ สู้เสร็จแล้ว ไปเจอมอน1ตัวเดิมอีกก็ยังติดพิษอยู่ต่อไปเรื่อยๆ จนกว่าปิดเกมเล่นใหม่
angelix   06-08-2012, 01:36 PM
#6
เข้าใจว่าสคริปต์ส่วน config สำหรับระบบตรงนี้มันทำมารองรับอาการเดียว
ซึ่งจะถูกใช้งานถาวร อยากให้มันสุ่มต้องไปแก้ที่อื่นด้วย โดยให้ส่วน
config จำ array ไว้ เช่น 1=>[2,5,9] แล้วตอนใส่อาการค่อยไปสุ่มเอา
hengmana   06-08-2012, 09:04 PM
#7
แก้ตรง 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 
This post was last modified: 06-08-2012, 09:06 PM by hengmana.
angelix   06-12-2012, 05:52 AM
#8
ถ้า 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;
hengmana   06-12-2012, 12:00 PM
#9
ลองดูแล้ว ถ้าไปเจอมอนที่ยังไม่ตั้งค่าไว้ มันจะ Error นะครับ
และเจอ มอน1 มอน1 มอน1 ซ้ำ 3 ตัวพร้อมกัน
จะสุ่มอาการเหมือนกันหมด ไม่ได้สุ่มที่ละตัวนะครับ
This post was last modified: 06-12-2012, 12:06 PM by hengmana.
angelix   06-12-2012, 06:13 PM
#10
เจอ error ก็ดัก null สิครับ
ส่วนเรื่องอาการเหมือนกันหมด ผมก็ไม่รู้ล่ะครับ เพราะไม่เห็นตัวสคริปต์ ขี้เกียจ DL ด้วย
คิดว่าต้องปรับ initialize กับ add_state
Pages (2): 1 2   
  
Users browsing this thread: 5 Guest(s)
Powered By MyBB, © 2002-2024 MyBB Group.
Made with by Curves UI.