[TIP] 컴파일시 에러/워링 메시지 제거
·
소스모드/TIP
소스모드 1.11+ 부턴 내부 컴파일러가 c++로 변경되었다. 따라서 이전보다 엄격한 문법작성을 요구하게 되었고, 이전 버전에서 작성된 플러그인들은 컴파일이 혹여 되더라도, 높은 확률로 워링, 심하면 에러를 맛보게 될것이다. 오늘은 필요없는 워링 메시지 제거 팁이다. #programa warning( disable : 241 ) 과 같이 워링메시지 번호를 입력해주자.
[TIP] 벡터 다루기
·
소스모드/TIP
지금 글은 계산하는 법에 대한 글이 아니다. 과거와 현재 트렌드를 비교하는글이다. 예전에는 소스모드 제공 함수를 이용해 위치벡터를 변수에 저장해 다뤘었다. 위와 같이 좀 더럽다. 요즘 트렌드는 아래와 같다.
[TIP] 메소드맵 StringMap 예제
·
소스모드/TIP
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..