정보 탭에 쓰면 된다고 해서 정보 탭에 쓰기는 했는데 아니라면 알려주셈.
회상방 들어가는 거는 되나 회상이 비활성화된 경우만 가능함.
게임이 다양한 만큼 회상방 구현 방식도 다양하니 안 되는 게임도 있을 수 있음.
개방된 회상이 최소 하나는 있어야 하기 쉬움.
회상방 강제 개방을 하는 방법은 맵 수정, 세이브 데이터 수정 이렇게 두 방법이 있는데 나는 맵 수정이 더 쉽게 느껴져서 맵 수정하는 방법으로 설명함. 두 게임을 예시로 어떻게 하나 설명하겠음.
설명하는 글을 쓰는 건 처음이어서 서툰 부분이 있을 거임. 내용 이상한 거 있으면 댓글로 알려주셈.
맵 파일은 data 폴더에 있음. 게임 폴더에 data 폴더가 없으면 www 들어가 보셈. www 안에 data 폴더 있음.
data 폴더 들어가면 맵 파일이 많을 텐데 여기서 회상방 맵 파일을 찾아야 됨.
먼저 게임 안에서 회상방 들어간 다음에 회상방에서만 나올만한 텍스트를 찾아보셈. 나는 "회상하겠습니까"로 찾음.
이제 "회상하겠습니까"가 포함된 파일을 찾아야 하는데 이건 gpt 도움 받아서 능력껏 하셈. 나는 gpt한테 파이썬 코드 짜달라고 해서 했음.
파일 찾으면 메모장이나 notepad++로 열면 됨. 나는 notepad++이 더 편해서 notepad++로 열었음.
대부분 한 줄로 되어 있거나 여러 줄이어도 읽기 매우 힘든 형태로 되어 있을 거임. 구글에 json unminify 검색하면 자동으로 정리해 주는 사이트 많이 나오는데 아무 곳이나 들어가서 정리하면 됨.
이거 읽는 방법은 쉬움.
"글자1": 글자2
저 값들 전부 큰 틀에서 보면 이 구조임. 대충 "글자1은 글자2다"라고 이해하면 됨.
이제부턴 파일 복사해서 백업하는 거 추천함.
컨트롤+f를 누르고 회상할 이벤트 선택하면 나오는 텍스트 검색하면 됨. 나는 "함께 목욕"으로 검색해서 이미 열린 이벤트를 검색했음.
찾을 때 주의할 점이 있는데 "「\\N[3]에게 맡겨」를 회상하겠습니까?"같이 캐릭터 이름이 있는 장소에 "\\N[3]"같이 이상한 문자가 끼어있는 경우가 있음. 잘 피해서 검색하셈.
스크롤 내리다 보면 방금 찾은 내용과 비슷한 내용이 나올 건데 이게 딴 이벤트에 연결된 회상임. 개방 안 된 이벤트 하나 고르셈.
이제 개방 안 된 회상의 개방 조건을 이미 개방한 회상의 개방 조건이랑 같게 만들어서 개방 안 된 회상을 볼 수 있게 수정할 거임.
두 개를 비교해서 보면 대체적으론 같은데 일부 다른 값들이 있을 거임. 이것들 중 하나가 개방 조건임.
개방된 회상에 있는 값을 복사
개방 안 된 회상이 있는 곳에 붙여넣기
게임 켜서 해방됐는지 확인하기
개방될 때까지 이거 반복하면 됨.
id, name, note, image같이 누가 봐도 아닌 값들은 나중에 하는 거 추천함.
포레스티아의 경우는 "Iz.Life.MemoryUtil.unlockedQuest(숫자)"가 조건임. 해방 안 된 회상의 숫자를 해방된 회상의 숫자로 수정하면 회상이 개방됨.
이 방법은 개방된 회상이 최소 하나가 있어야 사용할 수 있음.
개방된 회상이 하나도 없어도 회상할 수 있도록 패치를 하고 싶으면 조건에 해당하는 코드를 날려버리거나 조건 검사를 끄면 됨.
포레스티아의 경우는 코드를 날려버리는 방법을 사용해야 됨.
"Iz.Life.MemoryUtil.unlockedQuest(숫자)"가 있는 줄을 제거하면 끝임.
이 게임은 회상 전개방 스위치가 있지만 설명을 위해 맵 파일 수정해서 회상을 개방해 봄.
이번에는 "재생합니까"로 회상맵 파일을 찾음.
포레스티아는 상호작용 자체는 되나 코드를 통해 회상이 개방되어 있는지 확인했었는데 이 게임은 개방이 안 되어 있으면 회상을 실행시키는 거 자체가 안 나옴.
여기서 뇌를 조금 써서 "list에 있는 거는 상호작용 했을 때 실행하는 내용 같으니까 list는 제외하고 찾는다"라는 걸 떠올릴 수도 있음.
이 게임의 경우는 switch1Id에 있는 값이 조건임. 개방 안 된 회상에 있는 switch1Id값을 개방된 회상에 있는 switch1Id값으로 바꾸면 됨.
이 게임에서 개방된 회상이 하나도 없어도 강제로 회상을 개방시키려면 조건 검사를 끄는 방법을 써야 됨.
Valid가 유효한 이라는 뜻을 가지고 있으니까 switch1Valid값을 false로 바꿔서 switch1을 비활성화시키면 됨.
신들린 직감 또는 노가다로 개방 조건일 거 같은 부분을 날리거나 비활성화하면 됨
