อยากเก็บข้อมูลเช่นชื่อไอเท็มมีอยู่เข้าตัวแปรครับอยากได้ตัวแปรดังนี้ครับ
1.ชื่อไอเท็มที่มีอยู่ตอนนี้ทั้งหมด เข้าในตัวแปร(ตัวแปร1 = hppotion,mppotion,key,.....)
2.จำนวนแต่ละไอเท็มเช่น potion 10 ขวด (เก็บค่า 10 ไว้ในตัวแปร)
รบกวนด้วยครับ
ไม่ต้องทำถึงขั้นใช้ RGSS ก็ได้นะ ถ้าเอนจิ้นมันซัพพอร์ตให้แล้วก็ใช้ได้เลยครับ
1) จะเก็บชื่อไอเทม เข้าตัวแปรทำไมล่ะครับ แค่ตั้งชื่อตัวแปรไอเทมก็ได้แล้ว
ไอเทมที่มีอยู่จะมีค่า > 0 ส่วนไอเทมที่ไม่จะมีค่า = 0
2) เหมือนกับข้อที่หนึ่ง เช่น
ตัวแปร 01 (ชื่อ hppotion) ค่า: 10
ตัวแปร 02 (ชื่อ mppotion) ค่า: 2
ตัวแปร 03 (ชื่อ key) ค่า : 0
ก็ได้ไล่ะ
ถ้าขณะนี้เรามี hppotion 10 ขวด mppotion 2 ขวด
แล้วเราตรวจสอบยังไงเหรอครับว่าตอนนี้เรามี item เท่านี้(ตามด้านบน)
ยกตัวอย่างคล้ายกับการตรวจสอบชื่ออาวุธ ชุดเกราะที่เราสวมใส่ในกระทู้นี้ครับ
http://irpg.in.th/thread-2423.html
.
รายการไอเท็มที่มีในปาร์ตี้
$game_party.items
รายการอาวุธที่มีในปาร์ตี้
$game_party.weapons
รายการเกราะที่มีในปาร์ตี้
$game_party.armors
รายการอาวุธและเกราะที่มีในปาร์ตี้
$game_party.equip_items
รายการไอเท็มทุกอย่างรวมอาวุธและเกราะที่มีในปาร์ตี้
$game_party.all_items
ทีนี้มันจะคืนค่าออกมาในรูปแบบ Array ที่มีลำดับตามช่องเก็บ ดังนั้นจะไม่สามารถระบุได้ว่าช่องที่เท่าไหร่เป็นไอเท็ม อาวุธ หรือเกราะอะไร จำเป็นต้องวนลูปรายการเพื่อเก็บแต่ละชิ้นเอา
ตัวอย่างการวนแสดงชื่อและจำนวนของไอเท็มทุกแบบที่มีในปาร์ตี้
[shcode=rails]
$game_party.all_items.each do |x| # วนลูปไอเท็มแต่ละชิ้น
puts x.name #ชื่อไอเท็ม
puts $game_party.item_number(x) # จำนวนไอเท็ม ใช้คำสั่ง $game_party.item_number ช่วย
puts "---"
end
[/shcode]
(11-14-2015, 12:17 AM)Boyss Wrote: [ -> ]พอจะแก้ได้ตามนี้แล้วครับ
แต่ผมต้องการแก้ให้ array ให้มันมีจำนวนตาม items ของparty ได้มั้ยครับ โดยไม่ต้องตั้งเผื่อไว้ล่วงหน้าแบบนี้
รบกวนด้วยครับ
[shcode=rails]
$game_variables[140] = Array.new
$game_party.items.each do |x|
$game_variables[140] <<= x.name
end
[/shcode]
แบบนี้ไหมครับ
จริงๆ ผมงงว่า เอาไปเก็บในตัวแปร ($game_variables) ทำไมหรอครับ
(11-16-2015, 01:02 AM)splendith Wrote: [ -> ]จริงๆ ผมงงว่า เอาไปเก็บในตัวแปร ($game_variables) ทำไมหรอครับ
ผมเก็บไว้ที่ตัวแปรเพราะว่า ผมยังไม่ค่อยรู้เรื่อง rgss3 สักเท่าไรน่ะครับ ระบบส่วนใหญ่ที่คิดไว้จึงต้องใส่ไว้ในอีเว้นแทน+ใส่scriptลงไป
ขอบคุณมากครับ