Người chơi chỉ có duy nhất 1 cơ hội
Nếu bạn thường xuyên chơi game offline sẽ không ít lần bắt gặp những game chỉ có 1 lần save duy nhất, thậm chí nhiều game còn không hỗ trợ Load luôn, đây là 1 cách trừng phạt của Game cho những sai lầm mà người chơi mắc phải, tuy nhiên nhiều trường hợp sẽ khiến bạn rất ức chế vì điều này nên mới share 1 đoạn script để anh em có thể đỡ được tí hành trong bát phở.
Một số con game trừng phạt sai lầm:
- Quỷ cốc bát hoang – Tale Of Immortal: ở mức Hồng Hoang, chết lần thứ 2 là xoá luôn file Save, công sức vài trăm giờ chơi của bạn thế là công cốc.
- Darkest Dungeon: nhân vật game của bạn chết là chết vĩnh viễn và hoàn toàn xảy ra bắt cứ lúc nào, game không có save load, dừng ở đâu thì chơi tiếp chỗ đấy.
- They Are Billions: mỗi lần thua là -10% phần thưởng, nhiều lần là phải ngưng cả campaign, sai lầm chỉ cần rất nhỏ như sót 1 con quái vào làng là toang.
- Divinity Original Sin 2: ở mức khó thì trả giá sai lầm cực gắt và tính may rủi cũng rất nhiều, sai 1 ly là chơi lại từ đầu rõ khổ cho cả trăm giờ chơi.
- …
Vậy cơ chế Save ở đây là gì?
Thông thường ở các game thì sau 1 sự kiện hoặc 1 quãng thời gian nhất định thì sẽ tự động save cho người chơi 1 lần, trường hợp người chơi load hay thoát game đột ngột thì sẽ tải lại ngay lần chơi đấy, và tất nhiên là chỉ có 1 lần Save duy nhất vào thời điểm gần nhất. Đôi khi load lại thời điểm đấy cũng không thể cứu vãn được nữa vì mọi chuyện đã rồi hoặc xảy ra từ trước đó rất lâu.
Thế nên script Auto Save tự viết này sẽ cứu cánh cho bạn bằng cách tự tạo vô số các save từ trước khoảng thời gian đó, cơ chế hoạt động là sau x thời gian sẽ tự copy lại thư mục save 1 lần, khi nào cần bung ra thì cứ chọn folder thời gian tương ứng đè vào folder save hiện tại. Tất nhiên 1 vài game cloud save hay sync time các kiểu về server liên tục thì không thể áp dụng được.
Đoạn Script Auto Save theo thời gian
:while
set thoigian=%date%_%time%
set thoigian=%thoigian: =_%
set thoigian=%thoigian::=%
set thoigian=%thoigian:/=_%
set thoigian=%thoigian:.=_%
xcopy "CacheData" ".\SaveZ\%thoigian%\" /E /H /C /I
@ping 192.168.1.1 -n 300 -w 1000 > nul
::pause
goto :while
)
Hướng dẫn cách dùng và chỉnh sửa
1. Đầu tiên cần tạo 1 file script định dạng .bat với nội dung code bên trên, mở notepad dán code trên vào, lưu lại dưới tên tuỳ ý và đuôi là .bat
2. Tuỳ vào mỗi game, bạn sẽ cần phải đặt vào đúng thư mục mà game tạo save ở đấy, cứ google tên game + save location là ra.
Thường thì sẽ nằm ở 3 vị trí là trong Document, trong chính folder game đấy hoặc trong laucher game như Steam/Origin/Epic…
Ví du game Quỷ cốc bát hoang – Tale Of Immortal thì save sẽ lưu ở:
C:\Users\tên-user-win\AppData\LocalLow\guigugame\guigubahuang\Steam\CacheData
Còn game They Are Billions thì ở: %USERPROFILE%\Documents\My Games\They Are Billions\Saves\
3. Xác định được Folder file save của game thì copy file .bat đặt vào đó, nên đặt ở foder nằm ngoài 1 bậc để tránh lỗi.
Ví dụ ở game Quỷ cốc bát hoang – Tale Of Immortal thì đặt ở trong folder Steam nằm cùng cấp với folder CacheData. Và khi chạy đoạn Script bên trên, thì sau 300s sẽ tạo 1 bản copy folder CacheData 1 lần và những folder đấy sẽ được tạo mới trong thư mục SaveZ theo tên là thời gian.
4. Những thứ bạn cần chỉnh sửa trong code để hoạt động
- Mỗi lần muốn Auto Save thì nhớ chạy file .bat đó khi chơi game để nó hoạt động.
- Dòng @ping IP anh em xài modem IP nào thì ping IP đó, thường 192.168.0.1 hoặc .1.1 như trên thôi.
- Đoạn kế -n 300 thì số 300 đó là giây, tức 300s = 5′ sẽ tạo 1 bản backup, cứ chỉnh theo ý muốn.
- File save nó sẽ copy thư mục là CacheData vào 1 folder mới là SaveZ, mỗi lần sẽ tạo 1 sub-folder (thư mục con) theo thời gian, anh em xài win Tiếng Việt thì có khả năng lỗi do setting time kiểu Thứ / Ngày có ký tự đặc biệt khiến việc tạo folder có chứa ký tự đặc biệt.
- Dòng xcopy bạn sẽ phải đổi tên thư mục backup game tương ứng, ví dụ game They Are Billions thì sửa chữ CacheData thành Save và đặt file .bat ngang cấp, để nó backup thư mục Save theo thời gian. Tương tự các game khác folder tên gì thì đặt theo tên đó. Hiểu đơn giản là nó sẽ backup tên thư mục đó nên game save thư mục tên gì thì tìm trước và sửa lại cho giống.
- Xét đến trường hợp các game nó không save folder mà save theo File thì sao? Bạn sẽ sửa và viết thêm dòng xcopy tương ứng, ở folder thì tên folder, còn ở file thì tên file hoặc loại file (type file), ví dụ có game save bằng cách tạo file abc.dat hay xyz.profile chẳng hạn thì sửa đoạn xcopy thành như dưới, do chỉ file nên k cần /E /H hay /C để check điều kiện thư mục.
xcopy "*.bat" ".\SaveZ\%thoigian%\" /I
xcopy "*.profile" ".\SaveZ\%thoigian%\" /I
- Ví dụ tiếp, như game nó save vào file type có đuôi là .zxcheck và .zxsav thì viết như hình dưới, đặt file save.bat đồng cấp với các file kia, bản save sẽ lưu các file đấy vào folder SaveZ mỗi 300s.