소스모드

    [TIP] 컴파일시 에러/워링 메시지 제거

    [TIP] 컴파일시 에러/워링 메시지 제거

    소스모드 1.11+ 부턴 내부 컴파일러가 c++로 변경되었다. 따라서 이전보다 엄격한 문법작성을 요구하게 되었고, 이전 버전에서 작성된 플러그인들은 컴파일이 혹여 되더라도, 높은 확률로 워링, 심하면 에러를 맛보게 될것이다. 오늘은 필요없는 워링 메시지 제거 팁이다. #programa warning( disable : 241 ) 과 같이 워링메시지 번호를 입력해주자.

    [TIP] 벡터 다루기

    [TIP] 벡터 다루기

    지금 글은 계산하는 법에 대한 글이 아니다. 과거와 현재 트렌드를 비교하는글이다. 예전에는 소스모드 제공 함수를 이용해 위치벡터를 변수에 저장해 다뤘었다. 위와 같이 좀 더럽다. 요즘 트렌드는 아래와 같다.

    [TIP] 메소드맵 StringMap 예제

    [TIP] 메소드맵 StringMap 예제

    methodmap Player < StringMap { public Player(int id) { StringMap map = new StringMap(); map.SetValue("id", id); map.SetValue("userid", GetClientUserId(id)); map.SetValue("money", 100); return view_as(map); } property int Userid { public get() { int i; this.GetValue("userid", i); return i; } } property int Id { public get() { int i; this.GetValue("id", i); return i; } } property int Money { publi..

    [TIP] 타이머에서 체크목적 전역변수 대신 로컬변수 사용하기

    [TIP] 타이머에서 체크목적 전역변수 대신 로컬변수 사용하기

    타이머를 사용하다보면, 반복 타이머를 필연적으로 사용하게된다. 이때 내부적으로 얼마나 반복되었는지 체크를 하기위해서 전역변수를 만들어서 관리를 하게되는데 아래의 방법은 로컬변수로 체크가 가능한 방법이다. public void Skill8(int Client) { int count = 7; Skill8_1(Client, count); } public void Skill8_1(int Client, count) { count --; if(count

    [TIP] 신문법 훅 이벤트 변경점

    [TIP] 신문법 훅 이벤트 변경점

    기존 코드와 비교를 해보자. 위가 기존, 아래가 신문법이다. public Action:Event_EntityKilled(Handle:event, const String:name[], bool:dontBroadcast) { new Killer = GetEventInt(event,"entindex_attacker"); if (Killer > MaxClients || Killer < 1) return Plugin_Handled; //code here return Plugin_Handled; } public Action Entity_Killed(Event event, const char[] name, bool dontBroadcast) { int Killer = event.GetInt("entindex_atta..

    [TIP] 소스모드 개발시 참고하면 좋은 사이트

    [TIP] 소스모드 개발시 참고하면 좋은 사이트

    1. 소스모드 API : https://sm.alliedmods.net/new-api/ 2. Json 온라인 편집기 : https://awebanalysis.com/ko/json-parser-online/ 3. 쿼리 문법 검사 : https://www.eversql.com/sql-syntax-check-validator/ 4. 시간 표시 : https://www.ibm.com/docs/en/cmofm/9.0.0?topic=SSEPCD_9.0.0/com.ibm.ondemand.mp.doc/arsa0257.htm

    [SM:익스텐션] 개발 환경

    [SM:익스텐션] 개발 환경

    1. Visual Stuido 다운로드 소스모드 익스텐션 빌드는 smvc10 이상의 버젼이 없다. 즉 비쥬얼스튜디오 2010밖에 안된다는것이다.. 절망 2021/12/01 현재 기준으로 비쥬얼스튜디오 최신 버젼은 2022다. 비쥬얼스튜디오 2022를 설치해서 아래와 같은 뻘짓을 해봤는데 도저히 안된다. 그냥 비쥬얼 스튜디오 C++ 2010 Express를 설치하자! 설치방법은 아래 링크에 친절히 나와있다. https://www.bearpooh.com/58 Visual Studio Express 2010 개발 환경 구성 Visual Studio Express 버전은 MS에서 무료로 제공하는 개발툴이다. 현재는 Community Edition으로 제공하고 있으며, Visual Studio Code라는 별도 ..

    [TIP] 플러그인 디컴파일 후 참고해야 할 사항

    [TIP] 플러그인 디컴파일 후 참고해야 할 사항

    일반적으로 플러그인을 디컴파일하게되면 온전한 상태로 컴파일이 되지않는다. 온전히 컴파일 하기위해서 참고할만한 자료를 적어놓겠다. 1. Return 타입 수정 Plugin_Continue = 0, /**< Continue with the original action */ Plugin_Changed = 1, /**< Inputs or outputs have been overridden with new values */ Plugin_Handled = 3, /**< Handle the action at the end (don't call it) */ Plugin_Stop = 4, /**< Immediately stop the hook chain and handle the original */ Plugin_Con..