Prospi 2026 싱글플레이 라이브 에디터 v3.0.1 사용법

[빠른 시작]

1. 배포 ZIP을 새 폴더에 모두 압축 해제합니다.
2. 게임을 실행하고 사용할 로컬 싱글플레이 콘텐츠의 세이브를 불러옵니다.
3. ProspiLiveEditor.exe를 실행하고 [중요 고지 및 이용 약관]을 확인한 뒤 동의합니다.
4. 위쪽 콘텐츠 탭과 왼쪽 메뉴에서 사용할 기능을 선택합니다.
5. 화면에 "데이터 연결됨 · 적용 가능"이 표시되면 대상과 현재 값을 확인합니다.
6. 필요한 값만 바꾸고 [현재 게임에 적용]을 누릅니다.
7. 게임 화면에서 결과를 확인한 뒤 게임 안에서 저장합니다.

[반드시 지킬 사항]

- 이 프로그램은 흰 공의 기적, 스타플레이어, 스피리츠, 그랑프리, 페넌트 레이스의 지원되는 로컬 싱글플레이 화면에서만 사용하세요.
- 온라인 대전, 온라인 이벤트, 랭킹, 온라인 보상 등 온라인 콘텐츠에서는 실행하거나 사용하지 마세요.
- 사용 전 게임 세이브를 백업하세요. 잘못된 값이나 게임 업데이트로 오작동 또는 세이브 손상이 생길 수 있습니다.
- 지원 게임 버전은 2.1.0입니다. 다른 버전은 수정 기능이 잠깁니다.
- 배포 파일의 이름이나 내용을 바꾸지 말고, ZIP 안의 파일을 같은 폴더에 보관하세요.
- 자동 유지, 차감 방지, 배율, 카드 보장 기능은 프로그램을 실행할 때마다 꺼진 상태로 시작합니다.

[화면에 표시되는 상태]

- 게임 실행 대기: 지원 게임 프로세스를 찾지 못한 상태입니다.
- 선택한 기능 확인 중: 현재 게임 화면에서 선택한 기능의 데이터를 찾는 중입니다.
- 지원 콘텐츠 확인됨 · 데이터 미연결: 로컬 콘텐츠는 확인했지만 필요한 게임 화면이 아직 준비되지 않았습니다.
- 데이터 연결됨 · 적용 가능: 현재 값을 불러왔으며 수정할 수 있습니다.
- 수정 기능 잠금: 온라인·전환 중·판별 불가 상태이거나 지원하지 않는 게임 버전입니다. 표시된 안내에 따라 게임 화면을 바꾼 뒤 다시 시도하세요.

설명 페이지와 연결 진단 페이지에서는 기능 데이터를 불러오거나 변경하지 않습니다. 실제 편집 메뉴를 선택했을 때만 해당 기능에 필요한 데이터를 찾습니다.

[흰 공의 기적 - 선수]

1. 게임에서 흰 공의 기적 세이브와 편집할 팀을 불러옵니다.
2. [흰 공의 기적] → [선수]를 선택하고 [선수 불러오기]를 누릅니다.
3. 명단에서 선수를 선택해 기본 능력, 성장, 투수·야수 능력, 수비 위치, 구종과 특성을 편집합니다.
4. 적용 후 게임 화면에서 결과를 확인하고 게임 안에서 저장합니다.

게임에서 선수를 교체하거나 새로 영입했다면 [선수 불러오기]로 명단을 다시 읽으세요. 이름은 흰 공 선수 슬롯의 고정 20바이트 `성\0이름\0` 영역에서 읽습니다. 한글·일본어·영문·혼합 표기를 지원하며, 새 이름은 UTF-8로 저장합니다. 기존 CP949 이름도 엄격한 바이트 왕복 검사를 통과할 때 읽습니다. 두 이름의 실제 바이트와 종결자 2개가 20바이트를 넘으면 자르거나 주변 메모리를 덮지 않고 적용을 거부합니다.

[흰 공의 기적 - 보유 아이템]

1. [흰 공의 기적] → [아이템]을 선택합니다.
2. 공용 아이템, 장비품, 능력 책, 특성 책 분류에서 원하는 항목을 찾습니다.
3. 수량을 직접 입력하거나 현재 분류의 모든 항목을 99개로 설정한 뒤 적용합니다.

게임에서 아이템을 사용하거나 획득한 뒤에는 [다시 불러오기]로 현재 수량을 갱신하세요.

[흰 공의 기적 - 학교·훈련]

1. 게임에서 학교·훈련 진행 화면을 사용할 수 있는 세이브를 불러옵니다.
2. [흰 공의 기적] → [학교·훈련]을 선택합니다.
3. 학교명, 보유 포인트, 평판, 육성 방침, 훈련 코스트와 날씨 보호 일수 중 필요한 값만 적용합니다.
4. 훈련 경험치 배율 또는 선수 값 자동 유지를 사용할 경우 원하는 값을 설정하고 기능을 켭니다.
5. 게임에서 세이브나 진행 구간을 바꿨다면 [다시 불러오기]를 누릅니다.

훈련 카드는 진행에 따라 최대 12장까지 표시됩니다. 선수 값 자동 유지는 현재 팀 선수의 체력, 기분 고조, 책 사용 횟수를 선택한 값으로 유지합니다.

[스타플레이어 - 초기 설정]

- 어필 코스트: 이 탭을 선택했을 때만 현재 활성 어필 포인트 화면의 구조 표식을 확인해 연결하고 코스트 차감을 막습니다. 값이나 최대값이 모호하거나 화면을 확인할 수 없으면 연결을 잠급니다.
- 초기 능력치 - 선수 신규 생성: 이 탭을 선택했을 때만 신규 선수의 사용자별 최대 코스트 1~5 초기 능력치 화면에서 활성 타입 구조를 확인해 연결하고 코스트 차감을 막습니다. 캐릭터 능력치나 메모리 주소가 달라도 같은 구조 규칙을 사용하며 후보가 모호하면 연결을 잠급니다.
- 초기 능력치 - 오리지널 선수: 이 탭을 선택했을 때만 오리지널 선수 초기 능력치 화면 전용 활성 타입 구조를 자동으로 다시 찾아 연결합니다. 캐릭터 능력치, 현재 코스트 숫자와 메모리 주소는 연결 조건이 아닙니다. 최대값이 5인 검증된 구조라면 1/5, 2/5, 3/5, 4/5, 5/5 또는 그보다 큰 현재값도 현재값/5로 읽습니다. 빠른 읽기에서 찾지 못하면 전체 구조 검색으로 다시 확인하며, 차감 방지를 켤 때는 전체 범위에서 단일 구조인지 다시 검증합니다. 차감 방지를 켜면 5보다 작은 현재 코스트는 5로 복원하고 이미 5보다 큰 현재값은 낮추지 않습니다. 후보가 없거나 여러 개면 연결을 잠그며, 지원하지 않는 게임 업데이트로 구조가 달라진 경우에는 잘못된 위치를 추측해 쓰지 않습니다.

1. 게임에서 해당 캐릭터 생성 화면을 먼저 엽니다.
2. [스타플레이어] → [초기 설정]에서 사용할 항목만 켭니다.
3. 게임에서 원하는 설정을 마친 뒤 기능을 끄고 다음 화면에서 결과를 확인합니다.

각 기능은 서로 독립적으로 동작하며 프로그램을 실행할 때마다 꺼진 상태로 시작합니다.

[스타플레이어 - 캐릭터 편집]

1. 생성 시점이나 진행 기간과 관계없이 사용할 스타플레이어 세이브를 불러오고, 개인 생활·트레이닝 등이 보이는 공통 메인 진행 화면을 엽니다.
2. [스타플레이어] → [캐릭터 편집]을 선택합니다.
3. 현재 캐릭터의 이름과 값을 확인한 뒤 필요한 항목만 수정합니다.

신규 일반·신규 오리지널·기존 육성 캐릭터를 따로 선택하지 않습니다. 에디터가 실행 중인 게임의 활성 서비스에서 현재 캐릭터를 자동으로 따라가므로 이름, 보유 금액, 능력치, 생년월일 등 사용자별 값이 다른 것은 연결 조건이 아닙니다. 세이브나 캐릭터를 바꾸면 현재 값을 다시 불러온 뒤 적용하세요. 현재 캐릭터 관계가 없거나 여러 개로 판별되면 임의로 고르지 않고 수정 기능을 잠급니다.

성명은 언어나 표기 순서로 추측하지 않습니다. 같은 16바이트 UTF-8 영역에서 `성\0이름\0` 연속 형식, 기존 `8+8` 슬롯 형식, 최대 15바이트 단일 문자열 형식을 종결 위치와 UTF-8 경계로 판별합니다. 따라서 게임이 실제로 저장한 `Koito Teru`, 한글, 일본어, 영문 성명을 같은 규칙으로 읽습니다. 두 문자열과 종결 문자를 합쳐 16바이트를 넘는 새 입력은 확인되지 않은 다른 메모리를 덮지 않도록 거부합니다. 이름을 바꾸지 않은 적용은 원본 바이트와 패딩을 그대로 보존합니다.

편집 항목에는 보유 금액, 컨디션, 피로도, 내 능력치, 취미·숙련도, 투수·야수 능력, 구종, 보유 아이템, 장비, 특성, 특성 경험치, 인물·선수 교류가 포함됩니다. 훈련 효율 배율, 피로도 고정, 아이템 사용 횟수 차감 방지, 교우치 성장 배율은 프로그램 실행 시 꺼진 상태로 시작합니다.

[취미] 탭에서는 현재 스타플레이어 캐릭터의 요리, 독서, 영화, 게임, 음악 감상, 스포츠 관전, 골프, 낚시, 노래방 9종을 편집합니다. 레벨은 게임 화면과 같은 Lv 1~10, 숙련도는 0~9999 범위입니다. 현재 레벨과 숙련도 숫자는 캐릭터 추적 조건이 아니므로 사용자마다 값이 달라도 같은 현재 캐릭터 구조에서 읽습니다. 바꾼 필드만 기록하며, 게임 진행으로 값이 달라진 뒤에는 [캐릭터 다시 불러오기]로 최신 값을 확인하고 적용하세요. 이 기능은 스타플레이어 캐릭터 편집 전용이며 그랑프리, 흰 공의 기적, 스피리츠에는 적용되지 않습니다.

스타플레이어 투수 구속은 80~175km/h 범위입니다. 구속 입력칸은 160처럼 다자리 숫자를 입력하는 동안 1, 16 같은 중간 입력을 임의로 80이나 175로 바꾸지 않으며, Enter 또는 다른 곳을 선택하면 입력을 확정합니다. 구속을 바꾸지 않고 다른 항목만 적용하면 사용자마다 다른 현재 구속 성장값을 그대로 보존합니다. 120km/h와 175km/h는 경기 후 유지까지 확인된 값입니다. 그 밖의 구속은 실행 중 게임의 성장 임계값, 구속 기준값과 구간별 분모를 읽고 현재 구속·경험치 및 목표값의 역산·재계산이 모두 일치할 때만 화면 직접값과 성장값을 한 작업으로 갱신합니다. 하나라도 맞지 않으면 안전하게 거부합니다. 실제 중간값 140km/h와 150km/h는 적용·게임 화면 확인·원래 138km/h 복원까지 완료했습니다. 게임 진행 중 값이 다시 달라졌다면 최신 값을 다시 불러온 후 적용하세요.

경기나 로딩으로 현재 구조가 잠시 사라지면 에디터는 쓰기를 즉시 멈추고 같은 게임 프로세스의 현재 캐릭터를 다시 찾습니다. 단일 구조가 연속 확인되면 켜 두었던 코스트·피로·아이템 사용·훈련/교우치 배율 같은 지속 기능만 다시 적용합니다. 이름·돈·능력치처럼 한 번 적용한 값은 자동으로 다시 쓰지 않습니다. 게임을 다시 실행했거나 구조가 계속 바뀌거나 제한 시간 안에 확인되지 않으면 안전을 위해 잠그므로 다시 불러오세요.

선수 교류처럼 별도 구조를 확인해야 하는 항목은 해당 구조를 찾지 못하면 그 항목만 잠길 수 있습니다. 이 경우 기본 캐릭터 값은 계속 불러오며, 게임 화면을 준비한 뒤 다시 불러오면 선택 기능을 다시 확인합니다.

선수 교류 명단은 현재 64슬롯 로스터와 진행 중 추가된 타팀 선수 레코드를 함께 읽습니다. 이름·팀·친밀도·주소·복사본 수로 선수를 고르지 않으며, 화면을 유지한 동안 새로 해금되거나 추가된 선수는 30초 안에 구조를 다시 확인합니다. 적용 직전에 명단이나 구조가 바뀌었으면 안전을 위해 쓰지 않으므로 다시 불러오세요.

교우치의 화면 이름·직책 추적은 스타플레이어 전용이며 흰 공 선수 이름 저장소와 별개입니다. 교우치 화면 문자열은 엄격한 UTF-8을 우선하고, 정확히 왕복되는 CP949만 대체 인코딩으로 인정합니다. 종결자와 남은 0 패딩, 역할 표식과 행 구조가 함께 확인된 이름만 사용하며 깨지거나 모호한 후보는 해당 기능만 잠급니다. 이 규칙은 위의 스타플레이어 프로필 16바이트 이름 저장 형식을 바꾸지 않습니다.

[스피리츠 - 카드 챌린지]

1. 게임에서 카드 챌린지를 시작하고 카드 진행 화면을 엽니다.
2. [스피리츠] → [카드 챌린지]를 선택합니다.
3. 현재 성장 포인트, 스톡, 특훈과 남은 연습 횟수를 확인하고 필요한 값만 적용합니다.
4. 더블업 화면에서는 제시된 카드와 가려진 카드를 읽기 전용으로 확인할 수 있습니다.

카드 챌린지 화면을 유지하면 남은 연습·더블업·특훈·투구·스태미나·멘탈·구종·스피리츠·스톡을 자동으로 다시 읽습니다. 편집 중 게임 값이 바뀌면 입력값을 보존한 채 적용을 잠그므로 [되돌리기] 또는 [다시 불러오기]로 최신 값을 확인하세요. 화면을 나갔다가 돌아왔을 때는 현재 소유 구조가 다시 확인될 때까지 읽기와 쓰기가 잠깁니다.

[스피리츠 - 특수 카드]

1. 게임에서 5열×3행의 특수 카드 선택 화면을 엽니다.
2. [스피리츠] → [특수 카드]의 [가려진 카드]에서 1~15번 카드의 이름과 효과를 확인합니다.
3. [카드 보장]에서는 아직 획득하지 않은 일반 긍정 특성을 최대 4장 선택할 수 있습니다.
4. 선택 후 카드 보장을 켜고 게임에서 다음 카드 세트를 생성하면 선택한 특성이 포함되도록 준비됩니다.
5. [획득 능력]에서는 현재 획득한 특수 능력을 확인하고 편집할 수 있습니다.

카드 보장은 현재 화면에 이미 보이는 15장을 바꾸지 않으며 프로그램 실행 시 꺼진 상태로 시작합니다. 이미 획득한 특성은 선택할 수 없고, 선택 가능한 특성을 모두 획득하면 자동으로 꺼집니다.

[그랑프리 - 스피 코인·아이템]

1. 게임에서 로컬 그랑프리 세이브를 불러오고 그랑프리 메인 또는 아이템 화면을 엽니다.
2. [그랑프리] → [스피 코인·아이템]을 선택합니다.
3. 스피 코인과 일반 아이템, 경기 아이템, 스카우트 티켓의 현재값을 확인합니다.
4. 필요한 값만 바꾸고 [현재 게임에 적용]을 누른 뒤 게임 화면에서 확인하고 저장합니다.

에디터는 999나 9999 같은 수량을 찾아 연결하지 않습니다. 게임 2.1.0의 모듈 기준 구조에서 현재값을 직접 읽으므로 모든 항목이 0인 사용자도 정상 상태입니다. 게임 화면이 큰 수량을 줄여 표시하더라도 에디터는 메모리의 실제 현재값을 표시합니다. 게임에서 아이템을 사용·매각·획득해 값이 바뀌면 자동으로 다시 읽습니다. 입력 중 값이 바뀌면 초안을 보호하기 위해 적용을 잠그므로 [다시 불러오기]로 최신 값을 확인하세요.

읽기와 쓰기 한도는 별개입니다. 현재값은 비음수라면 그대로 표시하고 변경하지 않은 값은 보존합니다. 새로 입력하는 값은 안전상 스피 코인 0~99,999,999, 각 아이템 0~9,999만 허용합니다.

[페넌트 레이스 - 읽기 전용 선수 명단]

1. 게임에서 로컬 페넌트 레이스 세이브를 불러옵니다.
2. [페넌트] → [선수 명단]을 선택하면 SoftBank 명단부터 읽기 전용 추적을 시작합니다.
3. [확인할 구단]에서 지원되는 NPB 12개 구단 중 원하는 팀을 선택합니다.
4. 활성 선수와 빈 슬롯을 확인합니다. 게임에서 이적·은퇴·신입·구단 이동이 일어나면 안정된 다음 70슬롯 명단으로 자동 갱신됩니다.

이 화면은 선수 이름·순서·현재 인원수로 메모리 위치를 찾지 않습니다. 지원 게임 빌드의 동적 페넌트 소유 구조와 12팀×70슬롯 경계를 확인하므로 제3자의 서로 다른 명단과 중복 이름도 허용합니다. 원문 이름은 UTF-8·CP949의 64바이트 가변 문자열 블록에서 엄격하게 읽고, 화면의 대표 이름은 게임 자체의 현지화 이름 표를 읽어 영문이면 영문, 한글이면 한글을 우선 표시합니다. 조회 구조가 확인되지 않으면 이름을 번역하거나 하드코딩하지 않고 원문으로 안전하게 표시합니다. 모두 0인 슬롯과 게임 내부 미초기화 슬롯은 빈 슬롯으로 표시합니다.

선수 명단 기능은 읽기 전용입니다. 선수 값을 변경하거나 게임 메모리에 쓰는 버튼과 브리지 요청이 없습니다. 게임 재실행 뒤에는 새 프로세스의 구조를 다시 확인할 때까지 기다리세요.

[페넌트 레이스 - 선수 편집]

페넌트 사이드 메뉴는 자주 사용하는 [선수 편집], [구단·아이템]을 먼저 표시하고, 읽기 전용 참고 기능인 [선수 명단]은 구분선 아래에 분리해 표시합니다.

1. 게임에서 로컬 페넌트 레이스 세이브를 불러오고 [페넌트] → [선수 편집]을 선택합니다.
2. 지원되는 NPB 12개 구단과 현재 활성 선수 중 편집할 대상을 선택합니다. 활성 선수 칸에는 이름이나 성의 일부를 입력해 후보를 찾을 수 있고, 포지션은 별도 필터로 좁힙니다.
3. 게임 표시 이름으로 선수를 확인하고, 표시 이름·성(영문 또는 한글), 생년월일·키·주 포지션, 신인왕 자격, FA 권리·산정 연수, 연봉, 기본 능력, 구속·스태미나·투수 역할 적성, 수비 적성·포수 리드, 투구·타격 폼 ID, 특능·성향·타격 코스와 일반·오리지널 구종 중 필요한 값만 바꿉니다.
4. 선수와 구단, 변경 요약을 다시 확인하고 [현재 게임에 적용]을 누른 뒤 게임 화면에서 확인합니다.

선수 편집 화면도 이름이나 현재 인원수로 주소를 찾지 않습니다. 구단을 바꾸거나 게임을 다시 실행하면 동적 페넌트 소유 구조와 12팀×70슬롯 경계를 다시 확인하고, 선택한 활성 물리 슬롯을 새로 찾습니다. 제3자의 서로 다른 명단, 이적·은퇴·신입·구단 이동에도 같은 원칙을 사용합니다.

화면 상단과 선수 선택 목록은 게임이 사용하는 현지화 이름·성을 표시합니다. 영문은 `Naoyuki Uwasawa`처럼 이름·성 순서로 보이며, 한글을 입력하면 입력한 한글을 그대로 게임 표시 이름에 씁니다. 선수 선택 목록에는 이름 영역을 가리지 않도록 확인된 주 포지션 태그 하나만 오른쪽에 표시합니다. 이름 검색은 선수의 이름·성만 대상으로 하므로 `투수` 같은 포지션 이름은 별도 [포지션 필터]에서 선택하세요. 포지션 필터는 선수의 확인된 복수 수비 포지션도 포함해 좁힙니다. 이름을 적용할 때는 선택 선수의 게임 이름 표 항목과 별도 64바이트 원본 레코드를 함께 갱신합니다. 적용 직전 12개 구단×70슬롯을 다시 확인해 같은 이름 ID를 다른 활성 선수가 공유하면 쓰기를 거부합니다. 두 저장 영역은 기존 UTF-8·CP949 형식과 바이트 경계를 엄격하게 확인하고, 어느 한쪽이라도 실패하면 둘 다 원복합니다. 게임 값이 초안 작성 중 바뀌면 충돌로 잠기므로 [다시 불러오기]로 최신값을 확인하세요.

연봉은 게임 저장값과 같은 10,000엔 단위로 입력하며 화면에서 전체 엔 금액을 함께 확인합니다. 음수와 확인된 상한 초과값은 거부하고 연봉 4바이트 외의 선수 레코드는 보존합니다. 신인왕 자격은 원본과 라이브 프로필 미러의 확인된 bit 0만 함께 바꿉니다. FA 권리는 선수별 필요 연수와 현재 산정 연수를 비교합니다. 권리를 선택하면 필요한 최소 경계로 이동하고, `FA 산정 연수`에는 0~15 범위의 정확한 값을 입력할 수 있으며 권리 표시는 자동으로 맞춰집니다. 적용할 때 산정 연수의 하위 4비트만 바꾸고 다른 비트와 필요 연수는 보존합니다. 현재 상태 카드에서는 팀 충성도 0~100, 컨디션 1~5, 부상 잔여일 0~255를 각각 확인된 1바이트만 변경합니다. 피로도 두 값은 의미가 확정되지 않아 읽기 전용으로 표시합니다. 타구 탄도는 그라운더부터 아티스트까지 확인된 0~6 단계만 선택할 수 있고, 같은 2바이트의 포수 리드와 다른 비트를 보존합니다. 투수 역할 적성은 선발·중계·마무리마다 원시값 `0~7`을 선택하며 게임 표시는 `0=-`, `1~2=△`, `3~4=○`, `5~7=◎`입니다. 적성은 스태미나와 공유하는 두 바이트의 확인된 3비트 구간만 바꾸고 스태미나·구속 홀짝 bit와 예약 bit는 보존합니다. 투구·타격 폼은 0~65535 범위의 원시 ID로 입력하며 각각 확인된 2바이트 외의 선수 레코드는 보존합니다. 키는 120~220, 주 포지션은 투수부터 우익수까지 선택하며 같은 바이트의 인기·예약 bit를 보존합니다. `특능·성향·구종 편집` 카드에서는 전체 특능, 초록 특능·성향·3×3 타격 코스, 계열별 일반 1·2구종과 오리지널 12구종을 편집합니다. 일반 구종은 같은 계열에 같은 구종을 두 번 지정할 수 없고, 오리지널 구종명은 UTF-8 23바이트를 넘을 수 없습니다. 프로 연차·피로도는 현재 읽기 전용 근거입니다. 게임 현지화 성·이름, 파워, 연봉, 신인왕 자격과 FA 권리·산정 연수, 컨디션, 타구 탄도와 투수 역할 적성은 변경·화면 확인·원복을 완료했습니다. 팀 충성도·부상 잔여일과 기존 기본·투수·수비 능력의 추가 대표 검증, 투구·타격 폼과 일반 구종의 실게임 확인은 사용자 요청으로 생략했습니다.

외부 연구자료에서 독립 재구현한 특능 니블 안전성은 페넌트 `퀵 E→D→E`와 스타플레이어 `뒷심 보유→없음→보유` 대표 왕복으로 확인했습니다. 스타플레이어 동적 구속은 `138→140→138`, `138→150→138`을 게임 화면과 제품 재읽기로 확인했습니다. 그 밖에 사용자가 생략한 추가 대표 검증은 인게임 통과로 간주하지 않으며, 프로 연차·피로도는 의미 근거가 부족해 읽기 전용으로 유지합니다.

오리지널 구종 카드의 [현재 슬롯을 로컬 라이브러리에 저장]은 현재 다시 검증한 선수의 장착 구종만 사용자 PC의 `%LOCALAPPDATA%\ProspiLiveEditor\original-pitch-library-v1.json`에 저장합니다. 선수 이름, 게임 경로, PID, 메모리 주소와 원시 레코드 전체는 저장하지 않습니다. 라이브러리 항목은 같은 방향의 슬롯에만 [초안에 불러오기]할 수 있으며, 이 단계에서는 게임 메모리를 바꾸지 않습니다. 대상 선수와 구종 내용을 확인한 뒤 화면 아래의 기존 [현재 게임에 적용]을 눌러야 실제 변경·재읽기·롤백 절차가 실행됩니다. 흰 공의 기적은 해당 모드의 기존 이름 계약 때문에 영문 구종명 항목만 불러옵니다. 손상되거나 지원하지 않는 라이브러리 파일은 읽지 않고 빈 목록으로 격리합니다. 게임 안에는 오리지널 구종의 이름·기본 구종·세부값을 독립적으로 대조할 화면이 없어 이 기능은 정적 구조 검사, 적용 후 재읽기와 롤백 계약까지만 검증됐으며 인게임 화면 검증 완료 항목은 아닙니다.

[페넌트 레이스 - 구단 자금·아이템]

1. 게임에서 로컬 페넌트 레이스 세이브를 불러오고 메인 화면 또는 아이템 화면을 엽니다.
2. [페넌트] → [구단 자금·아이템]을 선택합니다.
3. [구단 자금] 또는 [아이템 29종] 탭에서 현재 게임 값을 확인합니다.
4. 필요한 필드만 바꾸고 [현재 게임에 적용]을 누른 뒤 게임 화면에서 확인하고 저장합니다.

자금과 아이템 수량은 연결 조건이 아닙니다. 값이 0인 사용자도 같은 페넌트 소유 구조에서 현재값을 읽으며, 확인된 NPB 12개 구단만 선택할 수 있습니다. 정체가 확인되지 않은 구단 슬롯은 표시하거나 수정하지 않습니다. 게임에서 값이 바뀌면 자동으로 다시 읽고, 입력 중 값이 바뀌면 오래된 초안을 적용하지 않도록 잠그므로 [다시 불러오기]로 최신 값을 확인하세요.

이 버전의 페넌트 기능은 구단 자금, 아이템 29종, 게임 현지화 이름을 사용하는 읽기 전용 선수 명단, 영문·한글 게임 표시 이름, 프로필·계약·현재 상태, 기본·투수·수비 능력과 선발·중계·마무리 적성, 특능·성향·타격 코스와 일반·오리지널 구종 편집을 지원합니다. 프로 연차·피로도, 일정·순위·드래프트·트레이드·시즌 진행은 아직 지원하지 않습니다. 값을 적용한 뒤에는 게임 화면에서 확인하고 게임 안에서 저장하세요.

[문제 해결]

- 게임이 연결되지 않음: 게임을 먼저 실행한 뒤 에디터를 다시 실행하세요.
- 데이터가 연결되지 않음: 사용하려는 콘텐츠의 실제 게임 화면을 열고 [다시 불러오기] 또는 해당 메뉴를 다시 선택하세요.
- 수정 기능 잠금: 온라인 콘텐츠에서 벗어나 로컬 싱글플레이 화면으로 이동한 뒤 판별이 끝날 때까지 기다리세요.
- 값이 달라짐: 게임에서 값이 변경된 뒤에는 다시 불러오고, 대상 이름과 현재 값을 확인한 후 적용하세요.
- 지원하지 않는 버전: 게임 버전 2.1.0인지 확인하세요. 지원되지 않는 버전에는 값을 쓰지 않습니다.
- 프로그램이 비정상 종료됨: 에디터를 다시 실행하면 이전 실행에서 켜 둔 보조 기능의 원래 상태 복구를 먼저 시도합니다. `%LOCALAPPDATA%\ProspiLiveEditor\diagnostics`의 `last-startup.json`과 `last-error.json`에는 시작 단계, 앱 버전, 오류 형식과 코드만 기록되며 자동 전송되지 않습니다. 계정명, PC명, 전체 경로, PID, 메모리 주소·값과 캐릭터 문자열은 기록하지 않습니다.

[배포 파일 확인]

- ProspiLiveEditor.exe: 실행 파일
- release-manifest.json: 배포 버전과 파일 확인 정보
- release-manifest.sig: 위 확인 정보가 제작자가 만든 것인지 검사하는 서명
- SHA256SUMS.txt: 배포 파일이 전송 중 바뀌지 않았는지 비교할 수 있는 SHA-256 값

위 파일은 같은 폴더에 두세요. 시작 화면과 [연결 진단]에서 배포본 확인 결과를 볼 수 있습니다. 파일이 누락되거나 변경되면 프로그램이 실행되지 않거나 수정 기능이 잠길 수 있습니다.

[프로그램 동작 범위]

- 프로그램은 실행 중인 게임 프로세스의 현재 메모리에서 필요한 값을 읽고 씁니다.
- 게임 실행 파일을 디스크에서 수정하거나 교체하지 않습니다.
- Denuvo를 제거하거나 우회하지 않습니다.
- 게임 패킷이나 서버 통신 데이터를 조작하는 기능은 없습니다.
- 게임을 다시 실행하면 메모리 위치가 달라질 수 있으므로 매번 현재 세션의 데이터를 다시 확인합니다.
- 앱 설정은 %LOCALAPPDATA%\ProspiLiveEditor\state-v1.json에 저장됩니다. 게임 세이브 원문, 선수 능력치, 아이템 수량, PID와 메모리 위치는 저장하지 않습니다.

[마지막 확인]

항상 로컬 싱글플레이에서만 사용하고, 적용 전 세이브를 백업하며, 결과를 직접 확인한 뒤 게임 안에서 저장하세요.
