본문 바로가기
가상세계/안드로메다

스펙트럴 소울즈 에디트#1, 스테이터스와 AP

by 래프윙 2015. 1. 5.



세이브 파일을 이용한 스소 에디트 방법

언제까지 노가다만 할래? 칭호작업은 에딧으로!







보이시나요?


AP 65555! MOV 9999! JUMP 9999!



칭호 작업중에 전 캐릭터 AGL 200 맞추기가 너무 힘들어서


결국 손을 댔습니다. 에디트...



이렇게 간단히 스텟을 변경 할 수 있다니!!!


그동안 투자한 시간이 아깝습니다. ㅠㅠ

준비물#1, 세이브 파일




스펙트럴 소울즈는 세이브 파일의 수치 데이터를 수정하는 방식으로 에디트 할 수 있습니다. 



먼저 스마트폰(안드로이드)을 컴퓨터에 연결합니다. 







데이터 최상위 폴더에서 hyperdevbox\ssk 로 이동하면 0번부터 7번까지 7개의 세이브 파일을 확인 할 수 있습니다. 



이제 게임화면에서 수정할 세이브 파일 위치를 확인 합니다.







세이브 파일의 이름은 로드화면에서의 순서와 동일합니다. 저는 5번 세이브 파일 즉, 두번째 줄의 두번째 파일을 수정할 생각임으로 'save5.dat' 파일을 PC에 복사합니다.





준비물#2, HEX Editor




세이브 파일을 편집하기 위해서는 dat파일을 16진수 즉 HEX 형태로 읽고 쓸 수 있는 편집 프로그램이 필요합니다. 제 경우는 UltraEdit를 사용하였습니다. 





30일 시험 버전이지만 에디트를 위해서는 충분한 사용 기간입니다. 한국어 버전을 설치하고 save5.dat를 열면 다음과 같은 화면을 볼 수 있습니다.







HEX, ASCII 두개의 포멧으로 파일 내용을 볼 수 있습니다. 우리는 ASCII 포멧을 참고로 HEX 코드를 수정할 것입니다. 혹시 위와 같은 포멧으로 파일이 나타나지 않는다면 아래와 같이 프로그램 툴바에서 'HEX모드 설정/해지' 버튼을 클릭해주시길 바랍니다.







이제 에디티를 위한 모든 준비가 끝났습니다. 참 쉽죠? 참고로 이번 에디팅은 3세력 통합 이후의 세이브 파일을 대상으로 진행합니다. 통합전 세이브 파일은 포멧이 다를 수 있으니 주의해주세요.




에디트 대상 고르기 & 장비 해제



자 그럼, 스펙트럴 소울즈의 마스코트! 귀염둥이(?) '시로'를 예로 설명하도록 하죠. 먼저 게임으로 돌아가서 장비를 모두 해제한 후 스테이터스 수치를 확인 합니다.







그리고 5개의 스테이터스(STR,VIT,AGL,INT,LUK)를 16진수로 변환해둡니다.



STR (6  => 0x06), VIT (12 => 0x0C), AGL (168 => 0xA8), INT (108 => 0x6C), LUK (64 => 0x40)



이제 울트라에디트 화면으로 돌아가 시로의 데이터를 찾습니다.







'CTRL+F' 를 누르면 검색창이 뜯니다. '찾는 말'에 '시로'를 입력하고 'ASCII찾기' 체크 박스를 체크한 후 '다음 찾기' 버튼을 눌러 검색합니다.







그러면 시로의 캐릭터 명이 저장되어 있는 위치로 이동합니다. 이름 밑에 직업(대현자), 장비(바사르티스, 천수성 뢰어, 블루워터)도 확인 할 수 있습니다.





미장비 스테이터스 수정




다음으로 아이템을 장비하지 않았을 때의 스테이터스 데이터가 저장되어 있는 위치를 찾습니다. 시로의 이름이 있는 행이 0번이라고 할때 24번 행에 스테이터스 데이터가 저장되어 있습니다.(편의상 엑셀로 옮겨서 설명합니다.)








주황색이 STR등의 기본 스텟이고 붉은색이 AP등의 행동 스텟입니다. 본인의 세이브 파일을 기준으로 찾을 때는 24번째 줄의 첫번째 수치가 STR과 일치하는지 확인해주세요. 제 경우 STR이 6이기 때문에 이를 16진수로 변환한 0x06과 일치하는 것을 알 수 있습니다. 



주의 하실 점은 저장 방식이 '리틀 엔디안' 이라는 점입니다. 용어 자체는 신경쓰지 마시고 아래 방식대로 계산해서 수정하시면 됩니다.



위 그림에서 STR은 6인데 엑셀 시트에서 '06 00'으로 표시했습니다. 이 두 숫자의 위치를 바꾸면 '00 06' 입니다.



같은 원리로 STR을 700으로 하고 싶다면 700을 16진수로 변환한 '02 BC'를 뒤집은 'BC 02'로 '60 00'을 수정해주시면 됩니다.





균형있는 에디팅이 중요




무리한 에디트는 게임에 오류를 발생시킬 수 있습니다. 적절한 수준에서 에디팅하는 것을 권장합니다. 예를 들어 MOV를 9999로 수정하면 게임화면에서 이동 포인트가 정상적으로 나타나지 않습니다. 


또 STR, INT등의 모든 기본 스텟을 999가 넘게 지정하면 레벨 업 시 주어지는 스텟 포인트를 배분 할 수가 없어서 레벨업을 많이하게 되면 스텟 포인트가 너무 많이 쌓이게 됩니다. 이렇게 수치가 계속 올라가다보면 오류가 발생할 수도 있을 겁니다.







위는 수정 파일은 모든 기본 능력치를 0xFFFF(무려 65535) AP는 255, MOV는 10, JUMP는 3으로 수정한 예입니다.



이제 CTRL+S를 눌러서 파일을 저장합니다. 



수정된 파일을 다시 스마트폰에 덮어써주면 에디트는 끝입니다.





에디트의 확인




그러면 다시 게임으로 돌아가서 5번 세이브 파일을 로드합니다. 그런데 로드된 게임 화면에서 스테이터스를 확인해도 수치가 변경되지 않은 것을 확인 할 수 있습니다.



걱정하지 않으셔도 됩니다. 전투화면으로 이동하면 이때 변경된 수치가 적용되거든요. 



이유는 전투시에 아이템 미장비 시점의 스텟을 기준으로 최종 스텟이 재계산되기 때문입니다. 전투화면의 스테이터스에서 수치가 바뀐것을 확인하면 OK!





STR 65535의 힘!




힘이 65000을 넘기게 되면 무슨일이 발생하냐면...







1회 데미지가 999999를 넘어가고







버서크+S콜 조합에서 최종 데미지가 4천만이 넘습니다. ㄷㄷ


도플갱어 따위 한방이죠.


다음번엔 아이템이나 스킬의 개수를 변경에 도전 해볼 생각입니다.