문제

나는 수년간 반감기 애호가였습니다. 나는 CS에 BS를 가지고 있으며 고등학교 이후 비공식적으로 프로그래밍을 해왔습니다. 내가 아직 대학에있을 때 나는 재미를위한 모드 프로그래머가 되려고 노력했다. 그래서 나는 모든 위대한 대학을 겪은 후에 :-) 나는이 문제를 해결하는 방법에 대한 통찰력을 더 많이 가질 것이며 마침내 그것을 할 수있을 것입니다. 그래서 나는 여기에 있습니다. 나는 지난번에 그것을 시도했을 때 그렇게 한 것 같은 느낌이 들었습니다. 모든 뒷면에 대해 죄송합니다.

그렇다면 코드 구조를 체계적으로 배우는 가장 좋은 방법은 무엇입니까? 나는 Java를 알고 C ++를 알고 있습니다. 좋은 애정이 있습니까? 나는 ** don '** 내 자신의 모드를 시작하고 싶다 ... 나는 단지 멋진 모드에서 여가 시간 모드 프로그래머가되고 싶을 것이다.

도움이 되었습니까?

해결책

의견은 거의없고 멀리 떨어져 있으며 문서는 빈약 해 보입니다. 좋은 애정이 있습니까?

소스 SDK라는 경이로움에 오신 것을 환영합니다. 아니요, 문서화되지 않았습니다. 실험, 해킹, 중단 점을 배치하고 코드 비트를 변경하면 어떻게되는지 확인하십시오.

이있다 위키 어떤 경우에는 도움이 될 수 있지만 밸브가 아닌 커뮤니티에 의해 채워져 있습니다. 즉, 실제 문서를 찾을 수 없으며 이전 모더가 엔진을 해킹 한 방법에 대한 설명만을 의미합니다.

솔직히, 그것은 짜증납니다. 그 주변의 유일한 방법은 다이빙입니다. 게임에 대한 다양한 변화를 달성하고 기존 코드를 찢어 버리는 것을 두려워하지 마십시오. 예쁘지는 않지만 효과가 있다면 누가 불평 할 것인가? 그들의 코드는 꽤 끔찍하며 아마도 당신의 코드는 아마도 당신도 가능할 것입니다.

다른 팁

당신은에서 시작할 수 있습니다 밸브 개발자 위키.

가장 좋은 방법은 중 하나의 소스 코드를 확인하는 것입니다. 약간의 오픈 소스 모드, 오픈 소스 감옥 휴식. 적어도 코드에 익숙해지는 데 도움이됩니다.

그 외에도 그냥 개발자 리소스 그리고 포럼.

편집하다:공격 계획 너무 좋아 보인다.

또한: 이것 일반적인 주제와 특정 주제를 포함하여 훌륭한 목록입니다.

나는 다른 모호한 시스템으로 내가하는 일을 할 것입니다 ... 많은 브레이크 포인트를 설정하고 기능을 시청하여 구조에 대한 느낌을 얻으십시오. 갈 때 자신의 의견/문서를 추가하십시오. 작은 변경을 통해 이해를 테스트하고 예상 결과를 얻는 지 확인하십시오.

나는 소스 SDK와 약간의 일을했고 약간의 수정을했습니다. 실제로 C와 C ++를 잘 이해해야합니다. Source SDK는 현대 C ++가 아니며 실제 OOP보다 클래스가있는 C와 훨씬 더 비슷합니다.

SDK는 단순히 코드 전공이 엔티티로 구성되어 있으며 많은 사람들이 무시할 수 있다는 점에서 단순히 형성됩니다.

또한 SDK는 상속을 크게 사용한다는 것을 알고 있으므로 원하는 기능을 위해 기본 클래스를 찾으십시오.

SDK와 관련하여 원하는 것과 관련이있는 중요한 파일 및 클래스 목록을 만들고 싶습니다. 그런 다음 VS (또는 파일 시스템의 실제 폴더)에서 가상 폴더를 사용 하여이 파일을 정렬하고 파일 옵션 (또는 GREP)을 사용하여 길을 찾으십시오.

일부 샘플 파일 : eiface.h- 엔진 인터페이스 GameInterface.cpp/.h- 서버의 외부 dlls의 많은 인터페이스 cdll_client_int.cpp/.h- 클라이언트를위한 외부 dlls의 많은 인터페이스 *_gamerules.cpp/.h- 도금장 (Gamerules) 게임의 논리 결정) world.cpp- 맵 속성을 결정하고 게이머 및 기타 엔티티를로드하는 엔티티

또한 모드에 HL2MP베이스 대신 소스 SDK베이스를 사용하십시오. 전자는 훨씬 깨끗하고 구축하기가 더 쉽습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top