소스모드/TIP

    [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

    [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..

    [TIP] 소스모드 문법 혼용으로 인한 발생워링 고치는법

    [TIP] 소스모드 문법 혼용으로 인한 발생워링 고치는법

    소스모드 구문법과 신문법은 서로 혼용이 가능하며 컴파일또한 가능하다. 다만, 신문법 컴파일러부터는 구문법중 일부 함수나 문법은 권장사항같은 개념으로 이것을 쓰라며 워링 메시지를 출력한다. 아래는 각 워링의 사유들과 그에 대한 뜻과 해결책을 담았다. # Float 관련 1. FloatSub 워링 메시지 : symbol "FloatSub" is marked as deprecated: This native is internal implementation. For subtraction use the '-' operator. 해결법 : Float(A, B)를 A - B로 바꿔준다. 2. FloatMul 워링메시지:symbol "FloatMul" is marked as deprecated: This native i..