2013-06-09 2 views
1

Java에서 코딩 된 RuneScape Private Server 프로젝트가 있는데 플레이어에서 사용할 수있는 개인 "태그"를 코딩하려고합니다. 나는 이것을 처리해 왔지만, 서버에서 다시 시작될 때마다 "태그"는 "null"로 재설정됩니다.Java 저장 문자열

"tag"는 ";; settag [name]"명령을 실행하여 초기화됩니다. 태그는 원하는대로 설정됩니다. 나는 문자열을 통해이 작업을 수행 한 :

 if (command[0].equals("settag")) { 
      newTag = getCompleteString(command, 1); 
newTag = player.yellTag 
       player.sendMessage("Your tag is now:" +newTag); 
      } 

내가 가장 효율적인 방법은, 그냥로드 및 .XML/.txt 인 파일을 저장하는 생각입니다 것이 문제를 해결하기 위해 무엇을 확신입니다. 그건 그렇고, player.yellTag는 다음 명령 (:: mytag)에서 서버를 다시 검색 할 때까지 잘 작동합니다.

답변

0

모두 응용 프로그램의 컨텍스트에 따라 다릅니다. 몇 백 명이 넘지 않는 플레이어를 계획하고 있다면 xml 파일이 괜찮을 수도 있습니다. JAXB을보아야합니다. afaict는 Java에서 객체를 저장하는 표준 방법입니다. gson을 사용하여 JSON 파일로 저장할 수도 있습니다.이 방법은 XML보다 사용 및 구현이 더 간단합니다.

하지만 수천 명이 넘는 플레이어가 있다면 데이터베이스에 넣어 태그를 직렬화하는 좀 더 효율적인 방법을 얻을 수 있습니다. hibernate과 같은 ORM 라이브러리를 사용하면 도움이됩니다.

tag 디렉토리에 플레이어의 태그가 포함 된 플레이어의 고유 ID로 이름 지정된 파일들로 자신의 물건을 만들 수도 있습니다 ... 훨씬 더 "해킹 적이지만"여전히 효율적입니다.

+0

감사합니다. 이미 사용중인 소스에는 효율적인 XML 로딩이 있으므로 논리적 인 사항을 따라야합니다. 이 태그는 최대 12 자까지만 허용되므로 너무 커지지는 않습니다. 그래도 엄청난 양의 감사합니다. – Kaleem

+0

그래서 나는 당신이 무엇을 요구하고 있는지 확신하지 못합니다 ... – zmo

+0

나는 이것을하는 방법에 대해 확신이 없었습니다; 이 기능을 가진 또 다른 소스가 있기 때문에; 그리고 그것은 (코드의 측면에서) 어떤 것도 진보되지 않았다. 개인적으로 문자열을 똑같이 유지하는 것과 같은 간단한 작업에 어려움을 겪었습니다. – Kaleem