พอดีเจอปัญหาเล็กน้อยครับ
การเช็คจำนวนไอเทมทุกชนิดที่ปาร์ตี้มีว่ารวมกันแล้วมีจำนวนเท่าไหร่
รวมถึงประเภทของไอเทมที่ปาร์ตี้มีว่ามีกี่ประเภท ต้องเขียนสคริปท์อย่างไรเหรอครับ
ที่คิดได้มันค่อนข้างยุ่งยากที่จะเขียนบวกไอเทมที่มีทุกชิ้นทีละชิ้น
ผมไม่ชำนาญสคริปท์เท่าไหร่เลยอยากรู้ว่ามีวิธีเขียนให้มันสั้นๆเหรอเปล่า
ประเภทของไอเท็มนี่คือยังไงคะ -3-"?
เช็คว่ามีกี่ประเภทในกระเป๋าหรอคะ (เช่น มีดาบกะเกราะ = 2 ประเภท?)
อย่างเช่น มี โพชั่น 10 ขวด,ยาถอนพิษ 5 ชิ้น,อีริกเซอร์ 1 ชิ้น
ถ้าเช็คจำนวนไอเทมทุกชิ้นก็จะเป็น 16 ชิ้น
แต่ถ้าเช็คประเภทไอเทมก็จะเป็น 3 ประเภทน่ะครับเพราะมีไอเทมอยู่สามอย่าง
Code:
class Game_Party
def inventory_check
iamount = 0
wamount = 0
aamount = 0
type = 0
(1..$data_items.size).each {|i|
iamount += item_number(i)
}
(1..$data_weapons.size).each {|i|
wamount += weapon_number(i)
}
(1..$data_armors.size).each {|i|
aamount += armor_number(i)
}
type += 1 if iamount != 0
type += 1 if wamount != 0
type += 1 if aamount != 0
$game_variables[1] = iamount+wamount+aamount
$game_variables[2] = type
end
end
เรียกใช้งานก็ใช้คำสั่ง call script : $game_party.inventory_check นะคะ
ปล. เราดัดแปลง(อย่างมาก) มาจากอันนี้ค่ะ : P
http://www.gdunlimited.net/forums/topic/...inventory/
ขอบคุณมากครับขอลองดูก่อนเลย =w=b
ย่อได้เยอะเลยนะเนี่ย
ของผมใช้วิธี for i in 1...size แล้ว+ไปอยู่ ใช้ราวๆ5บรรทัด/เช็ค1ประเภท
ผมลอง
Code:
(1..$data_items.size).each {|i| $items_size += item_number(i)}
$items_size เป็นตัวเอาไปใช้ในสคริปต์ของผม
แต่ลองแล้วมันแฮงแฮะ คิดว่าคงเพราะไม่ได้ประกาศคลาสไว้ อยากรู้วิธีแทรกวิธีนี้ในสคริปต์หน่อยครับ
ตอนนี้แสดงจำนวนทั้งหมดได้แล้วครับแต่ประเภทของไอเทมนี่ยังไม่ได้น่ะครับ
คือผมอยากให้แสดงว่ามีไอเทมทั้งหมดกี่อย่างน่ะครับไม่ใช่แยกประเภทไอเทม อาวุธ ชุดเกราะ
เช่นว่ามี โพชั่น โพชั่นชั้นดี ยาถอนพิษ ๆลๆ ก็จะบวกเพิ่มไปตามไอเทมที่มีว่ามีกี่อย่าง
ผมจะเอาไปใช้แยกประเภทการ์ดแบบนี้น่ะครับลองพยายามโมเพิ่มจากเดิมแล้วแต่ไม่สำเร็จ orz
@natsukikung
Code:
class Game_Party
def inventory_check
amount = 0
type = 0
(1..$data_items.size).each {|i|
amount += item_number(i)
type += 1 if item_number(i) != 0
}
(1..$data_weapons.size).each {|i|
amount += weapon_number(i)
type += 1 if weapon_number(i) != 0
}
(1..$data_armors.size).each {|i|
amount += armor_number(i)
type += 1 if armor_number(i) != 0
}
$game_variables[1] = amount
$game_variables[2] = type
end
end
(10-13-2013, 09:26 AM)Shinryu Wrote: [ -> ]ย่อได้เยอะเลยนะเนี่ย
ของผมใช้วิธี for i in 1...size แล้ว+ไปอยู่ ใช้ราวๆ5บรรทัด/เช็ค1ประเภท
ผมลอง
Code:
(1..$data_items.size).each {|i| $items_size += item_number(i)}
$items_size เป็นตัวเอาไปใช้ในสคริปต์ของผม
แต่ลองแล้วมันแฮงแฮะ คิดว่าคงเพราะไม่ได้ประกาศคลาสไว้ อยากรู้วิธีแทรกวิธีนี้ในสคริปต์หน่อยครับ
อันนี้เราก็ไม่รู้เหมือนกันค่ะ เพราะความรู้ด้านนี้เราไม่ค่อยมี อันนีก็อาศัยดูจากสคริปต์คนอื่นเอา T T
แต่จะลองไปมั่วดูนะคะ ;_;
ได้แล้วครับ TTwTT ขอบคุณมากเดี๋ยวให้เครดิตไว้ในเกมด้วยครับ