[2022.10.24] 현재 이 내용은 문제가 있음을 확인하고 재검토중입니다
재검토가 완료되었습니다. 
skills.json에서 
    "id": 4252,    "Key": "StrSkill0", 이것은 사용하면 안됩니다.

! 이 문서는 모더분들이 확인하시고 토의해보는 글입니다. 노잼이니 일반인분들은 피해주세요 !


이번에 강낭땅콩1님의 '아이템 사전' 관련 하여 문자열을 추가하던 도중, local/lng/string에 추가하는 json파일들에 문자열이 너무많으면 오류가 나는것을 확인했는데요

 1) 추가되는 문자열의 총 갯수가 문제인지
 2) id가 문제인지?
등등을 확인을 해본 결과,

최종적으로는 글자가 너무 많으면 로딩이 불가능하다는 개인적인 결론을 냈습니다.




확인과정입니다

1. 어떨땐 로딩이되고 어떨땐 안되고, 누구는 되고 누구는 안된다면..?
혹시나 싶어서  koKR 문자열을 전부다 짧게 임의로 편집해봤습니다
100글자 내외로 제한을 주고 만들어보니 로딩이 되더군요.
그렇다면 추가적으로 불러와야하는 문자열이 너무 길면 오류가 나는것인가?
어쨌든, 전체 문자열을 다 넣어줘야하니 이런저런 테스트를 해봤습니다
 ↑근데 이거 특이한게 json에 나눠져도 똑같이 발생하더군요. json 파일 1개에 문제가생기는게 아니라 전부다 로딩할때 문제가 생기는게 맞는듯합니다


2. 혹시 id가 문제인가? 
(next_string_id.txt에 보면 최대 NEXT VALID ID가 지금은 27354까지 이니까) 의심이되서 local/lng/strings에 있는 json파일들을 모두 불러온다음, 비어있는 ID를 확인해봤는데요
ID 11216 부터 20000 까지 할당이 안되어있는 id가 많이 비길래 여기에다가 할당을 해줘봤습니다만, 동일하게 오류가 발생하더군요. 그러면 ID문제는 아닌거같다


3. ui.json에 '길드' 관련 문자열들이 있는데 여기는 실제로 안쓰이니까 여기에다가 할당해보면 어떨까?
그래서 id 1633~1708 까지 일부 덮어씌워주니까 그제서야 로딩이 되는것을 확인했습니다


그렇다면? 추측하기로는 저희가 임의로 id를 할당시켜서 각종 문자열을 쓰고있잖아요? 근데 그게...
 1) 메모리공간에 남아있는 여유 공간을 쓰고있어서 여태까지 문제가 안됐다던지
 2) 아니면 오버플로우된 상태로 쓰고있었는데, 너무 문자열이 길어져버리니까 다른 메모리 침범해서 오류가났거나
하는 추측을 해봤습니다.
그렇다면.... id 1633~1708까지는 몇개 안되니 어떻게 할까 고민하다가

skills.json을 열면, 실제로 사용하지않는 빈공간이 꾀 있습니다.


그래 이거다, 여기에다가 집어넣어보자 하고 갯수를 확인해보니 문자열이 비어있는 id가 857개가 있네요.
여기에다가 할당시키고 로딩을하니 아주 잘됩니다.


<예를들면 이렇게..>

결론입니다.
문자열을 추가해서 사용해야 한다면, 이미 할당되어있는 id중에 비어있는 id를 가져다가 쓰자
이 id는 모더끼리 겹치면 [없는 문자열] 처리되므로 서로 알아서 피해가야한다 (...)

선히 드림