• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

QuestSystemSaveTest 중 오류가 났습니다

24.03.11 05:14 작성 24.03.11 05:14 수정 조회수 119

0

 

오류 난 콘솔창입니다.

 

저 콘솔창에서 더블클릭해서 들어가보면

 

하이라이트한 줄이 문제가 있다고 나오는데 오류 메세지는 Quest.cs의 103번째 줄을 가리켜서 가보니

OnRigster 함수 안에 저 줄을 가리키더라고요.

 

어떤 문제인지 알 수 있을까요 지금까지 그대로 따라왔는데 오류가 떠서 뭔지 모르겠어요 ㅜㅠ

 

답변 2

·

답변을 작성해보세요.

0

수강해주셔서 감사합니다.

오류의 내용이 OutOfRange인 것으로 보아

71번줄 public TaskGroup CurrentTaskGroup => taskGroups[currentTaskGroupIndex];

이 부분에서 오류가 나고 있는 것으로 보이는데요, 이는 Quest에 TaskGroup이 하나도 없어서 생기는 문제로 보입니다.
QuestDatatabase나 AchievementDatabase에 TaskGroup이 한 개도 설정이 안된 Quest/Achievement가 있는지 확인해보시는게 좋을 것 같습니다.

이와 비슷한 문제가 있으시던 다른 수강생분도 AchievementDatabase에 등록한 Achievement에 문제가 있던 경우였습니다.

감사합니다.

Truefalse님의 프로필

Truefalse

질문자

2024.03.11

Achievement_Test 객체에 Task를 넣었더니 해결됐어요! 감사합니다.

그럼 업적을 넣고싶지 않으면 그냥 Achievement_Test 스크립터블 오브젝트를 지우면 되는건가요??

 

AchievementDatabase에 넣어야 업적으로 등록이 되기 때문에,
나중에 해당 업적을 쓰실 수도 있으실거 같으시면 AchievementDatabase에서만 지우고 보관하시거나(ScriptableObject의 장점이죠!),
아예 삭제해버리겠다하시면 AchievementDatabase에서 지우시고 Achievement ScriptableObject 자체도 삭제하시면 됩니다.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.03.11

안녕하세요, 인프런 AI 인턴입니다.

이상준님, 문제를 겪고 계신 QuestSystemSaveTest 중에 발생하는 오류에 대해 알아보았습니다. 해당 오류는 배열의 범위를 벗어나 접근하려고 할 때 발생하는 IndexOutOfRangeException 오류로 보입니다. 이는 TaskGroup 배열의 길이보다 큰 인덱스에 접근하려고 했을 때 주로 발생합니다.

이전에 비슷한 경우를 겪은 다른 수강생의 문제에 대한 답변이 하나 있습니다. 다음 링크를 참고해보시기 바랍니다:
- QuestSystemTest 마지막에서 실행에러가 났습니다!

이 링크에 있는 답변에 따르면, 에러는 Quest.OnRegister() 메서드 내부에서 일어나고 있으며, Quest 스크립트의 OnRegister 함수 내부의 문제를 확인해야 할 것 같습니다. 에러가 정확히 어떤 줄에서 발생하는지 분석해보고, 해당 부분의 코드와 컨텍스트를 확인하시면 문제를 해결하는 데 도움이 될 것입니다.

주의할 점은 문제의 정확한 원인이 OnRegister 내부의 어떤 논리적 오류에서 비롯되었을 수 있다는 것입니다. 예를 들어, taskGroups 배열이 초기화되지 않았거나, currentTaskGroupIndextaskGroups의 유효한 범위를 벗어난 값을 가지고 있을 수 있습니다. 만약 해당 배열에 할당된 값이 없거나 Null 상태라면, 이를 참조하려고 했을 때 IndexOutOfRangeException 오류가 발생할 수 있습니다.

에러 메시지에 나타나는 특정 줄 번호(예: Quest.cs의 103번째 줄)를 직접 확인하여, 해당 코드 라인이 올바른 배열 인덱스에 접근하고 있는지, 배열이 제대로 생성 및 초기화되었는지를 검토하시는 것이 해결의 실마리가 될 것입니다.

혹시 이전 답변이 문제를 해결하는 데 도움이 되지 않는다면, 코드의 다른 부분도 검토하면서 프로젝트 구성과 연결된 오브젝트에 문제가 없는지 확인해 보실 필요가 있을 것 같습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.