ตัวแปรและสวิตช์ คงอยู่ตลอดไป
สคริปต์เขียนโดย :
br_lemes
ลิงค์ต้นฉบับ : [XP][VX]
http://www.mundorpgmaker.com.br/forum/in...c=117955.0
ข้อตกลงการนำไปใช้งาน :
ไม่ทราบแน่ชัด แต่ลงเครดิตผู้เขียนสคริปต์ไว้หน่อยก็ดี
สกรีนช๊อต :
ไม่มี
รายละเอียด :
สคริปต์นี้จะช่วยทำให้ค่าของ ตัวแปรหรือสวิตช์ ที่ถูกกำหนดไว้ไม่เปลี่ยนแปลงไป
เมื่อปิดเกมเริ่มเล่นเกมใหม่ ก็ยังคงอยู่อย่างนั้น เหมาะสำหรับการสร้างระบบคะแนนสูงสุด
หรือจบเกมครั้งแรกแล้วอาจปลดล็อคเนื้อหาบางอย่าง+โบนัสเพิ่มขึ้นมาเมื่อเริ่มเล่นเกมใหม่อีกครั้ง
โค๊ดสคริปต์ [XP][VX]
Code:
# Persistência de variáveis e switches
# por br_lemes
# Este script permite definir variáveis e switches que vão
# manter o seu valor mesmo quando reiniciar o jogo (game over),
# escolher um novo jogo, ou continuar um jogo diferente.
# Os valores serão salvos (se tornarão persistentes)
# automaticamente ao salvar o jogo, ao dar game over ou manualmente ao
# chamar o método "persist_save".
# O objetivo é permitir implementar um HighScore ou outras coisas
# que sua imaginação permitir.
$RMVX = $TEST != nil
# Coloque a lista de ID das variáveis e switches aqui
$PERSIST_VARIABLES = [21, 22, 23]
$PERSIST_SWITCHES = []
$PERSIST_NAME = $RMVX ? "persist.rvdata" : "persist.rxdata"
def persist_save
persist_data = [{},{}]
for i in 0..$PERSIST_VARIABLES.size - 1
persist_data[0][i] = $game_variables[$PERSIST_VARIABLES[i]]
end
for i in 0..$PERSIST_SWITCHES.size - 1
persist_data[1][i] = $game_switches[$PERSIST_SWITCHES[i]]
end
save_data(persist_data, $PERSIST_NAME)
end
def persist_load
return if !FileTest.exist?($PERSIST_NAME)
persist_data = load_data($PERSIST_NAME)
for i in 0..$PERSIST_VARIABLES.size - 1
$game_variables[$PERSIST_VARIABLES[i]] = persist_data[0][i]
end
for i in 0..$PERSIST_SWITCHES.size - 1
$game_switches[$PERSIST_SWITCHES[i]] = persist_data[1][i]
end
$game_map.refresh
end
class Scene_Title
alias persist_command_new_game command_new_game
def command_new_game
persist_command_new_game
persist_load
end
end
if $RMVX
class Scene_File
alias persist_do_save do_save
def do_save
persist_do_save
persist_save
end
alias persist_do_load do_load
def do_load
persist_do_load
persist_load
end
end
else
class Scene_Load
alias persist_on_decision on_decision
def on_decision(filename)
persist_on_decision(filename)
persist_load
end
end
class Scene_Save
alias persist_on_decision on_decision
def on_decision(filename)
persist_on_decision(filename)
persist_save
end
end
end
class Scene_Gameover
alias persist_main main
def main
persist_save
persist_main
end
end
วิธีการใช้งาน :
ให้ใส่โค๊ด ไว้ในช่องสคริปต์(F11)ระหว่าง Scene_Debug กับ Main
โค๊ดบรรทัดที่ 17,18 ไว้ใส่กำหนด ID ของตัวแปรและสวิตช์ ที่คงอยู่ไว้ใน[] เช่น
$ PERSIST_VARIABLES = [ 21 , 22 , 23 ]
$ PERSIST_SWITCHES = [ ]
+++++++++++++++++++++++++++++++++++++++++++
+เพิ่ม ถ้าของ RMVX Ace ก็อันนี้ วิธีใช้เหมื่อนกัน
http://www.rpgmakervxace.net/topic/6462-...e-by-skul/
.