beammagic   08-20-2012, 04:52 PM
#1
คือผมเขียน Code ขึ้นมาเอง (สร้างClass ใหม่) ซึ่งทำงานเกี่ยวกับ วันเวลา อะไรพวกนี้ แต่ทีนี้ตอน save เกมเหมือนมันจะไม่ได้เซฟในส่วนนี้ไปด้วย พอปิดเกมแล้วโหลดsave ขึ้นมา มันก็ฟ้อง error พอไปดูมันก็ฟ้องว่า error ที่ Class ของผมที่สร้างขึ้นมา เหมือนมันหาไม่เจอ

อยากถามว่าจะทำยังไงให้เวลาเซฟเกมมันเซฟ ในส่วนที่ผมเขียน Code เพิ่มเข้าไปด้วย T[]T

ป.ล. ภาพที่แนบมาคือมัน error หลังจากกดโหลดเซฟเกมครับ

ผมใช้ RPG Maker XP ครับ
Attached Files
This post was last modified: 08-20-2012, 06:32 PM by beammagic.
luvikung   08-20-2012, 05:10 PM
#2
สร้างหรือแก้ไขให้เป็น Global Variable ครับ ใส่ไว้ในส่วน $game_player เวลาเซฟ มันจะติดไปด้วยครับ
ที่เห็นขึ้น error แบบนั้น ผมชัวร์ว่าไม่ได้ประกาศตัวแปร Global Variable แน่นอน
This post was last modified: 08-20-2012, 05:12 PM by luvikung.
beammagic   08-20-2012, 06:31 PM
#3
ผมก็สร้างเป็น Global นะครับ แต่ไม่ค่อยเข้าใจที่บอกว่าให้วางไว้ใน $game_player คือตรงไหนอ่ะครับ
ถ้าผมเข้าใจไม่ผิดคือในClass Game_Player รึเปล่า? ถ้าใช่มันต้องวางตรง def ไหนอ่า

คือผมเรียก class ของผมด้วย event โดยใช้คำสั่ง $statusBar = Window_Date.new

อ่อลืมบอกผมใช้ RMXP ครับ
This post was last modified: 08-20-2012, 06:33 PM by beammagic.
Alphaforce   08-20-2012, 06:40 PM
#4
เพราะตอนเซฟ โปรแกรมไม่ได้เซฟครับ ลองเปิดสคริปต์หน้า Scene_Save ดูครับ
# Write each type of game object
Marshal.dump($game_system, file)
Marshal.dump($game_switches, file)
Marshal.dump($game_variables, file)
Marshal.dump($game_self_switches, file)
Marshal.dump($game_screen, file)
Marshal.dump($game_actors, file)
Marshal.dump($game_party, file)
Marshal.dump($game_troop, file)
Marshal.dump($game_map, file)
Marshal.dump($game_player, file)

นี่เป็นรายชื่อ Global variable ที่เกมจะเซฟให้ ถ้าจะให้เกมเซฟตัวแปรเพิ่ม ก็แค่พิมเพิ่มเข้าไปครับ แค่นั้นเอง
แล้วอย่าลืม!! ตอน load เกมด้วย Scene_load เพิ่มต่อส่วนนี้ด้วย
# Read each type of game object
$game_system = Marshal.load(file)
$game_switches = Marshal.load(file)
$game_variables = Marshal.load(file)
$game_self_switches = Marshal.load(file)
$game_screen = Marshal.load(file)
$game_actors = Marshal.load(file)
$game_party = Marshal.load(file)
$game_troop = Marshal.load(file)
$game_map = Marshal.load(file)
$game_player = Marshal.load(file)

ประมาณนี้ครับ.... แต่ระวังนิดนึงว่า Global Var ที่จะเซฟต้องถูกสร้างขึ้นมาก่อนนะครับ (คิดว่าช่วงต้นๆเกมหล่ะ ไม่ก็ต้นเริ่มเกมสั่งให้มันสร้างตัวแปรเปล่าๆไว้ก่อนก็ได้)
beammagic   08-20-2012, 06:55 PM
#5
คราวนี้ พอกด save แล้วมัน error แบบนี้ครับ

ใน Scene_Save ผมเพิ่ม Marshal.dump($statusBar, file)
ส่วนใน Scene_Load ผมเพิ่ม $statusBar = Marshal.load(file)

ก่อนจะเซฟเกมมันเข้าเกมได้ปกติแล้วก็ใช้ event สร้างเหตุการณ์เรียกใช้สคริป $statusBar=Window_Date.new

ครับผม
Attached Files
luvikung   08-22-2012, 12:04 AM
#6
ประกาศตัวแปรยังครับ? อีกอย่างเขียน code เซฟแบบนั้นมันไม่น่าจะเข้าไปในไฟล์นะ = =
beammagic   08-22-2012, 11:14 AM
#7
ประกาศเป็น global แล้วครับ เศร้าใจ ทำไมกันหนอ ลองมันหมดทุกทางแล้ว ถ้าใครจะกรุณาเขียนโค๊ดยกตัวอย่างให้ดูเลย มันน่าจะเข้าใจกว่าอ่ะครับ

#ซุยดุ่ยแล้วTT^TT
This post was last modified: 08-22-2012, 11:15 AM by beammagic.
luvikung   08-22-2012, 11:53 AM
#8
สามารถแปะดาวโหลด code มาได้มั้ยครับ? เดี๋ยวให้ผู้เชี่ยวชาญดูให้
  
Users browsing this thread: 4 Guest(s)
Powered By MyBB, © 2002-2024 MyBB Group.
Made with by Curves UI.