Pawn 프로그래밍

본 토픽은 현재 준비중입니다. 공동공부에 참여하시면 완성 되었을 때 알려드립니다.

include

인클루드(include)

include는 무언가 포함하는 것이라고 정의내릴 수 있습니다. SA:MP 멀티프로그램 개발에서는 기본적으로 a_samp란 인클루드를 포 함수들을 모은 집합체라 할 수 있으며 SA:MP는 기본적으로 a_samp에 포함된 내장함수들을 토대로 개발되어지게 됩니다.함하게 됩니다. include는 모드 개발의 필요에 따라서 자주 쓰는 코드를 별도로 파일을 만들어서 보관하고 재사용할 수 있는 함수 모음 파일을 말합니다.

 

실제로 a_samp라는 것이 뭔지 궁금하다면 본인의 pawno 폴더를 열고 include 폴더를 열어보시기 바랍니다.
a_samp.inc 파일이 바로 우리가 모드에 기본적으로 포함하여 사용하게 될 파일입니다. 그리고 이것을 메모장으로 열면 다양한 함수 선언들이 선언되어 있는걸 확인할 수 있습니다.
 
  1. // This is a comment
  2. // uncomment the line below if you want to write a filterscript
  3.  
  4. #include <a_samp>
  5.  
 
 

참고(a_samp.inc)

  1. /*  SA-MP Functions
  2.  *
  3.  *  (c) Copyright 2005-2015, SA-MP Team
  4.  *
  5.  */
  6.  
  7. #if defined _samp_included
  8.     #endinput
  9. #endif
  10. #define _samp_included
  11. #pragma library samp
  12.  
  13. #pragma tabsize 4
  14. // Ignores warning 217 for properly indented PAWNO code
  15. // It's tab size is 4 and often uses 4 spaces instead, PAWNCC's is 8
  16.  
  17. #include <core>
  18. #include <float>
  19. #include <string>
  20. #include <file>
  21. #include <time>
  22. #include <datagram>
  23. #include <a_players>
  24. #include <a_vehicles>
  25. #include <a_objects>
  26. #include <a_actor>
  27. #include <a_sampdb>
  28.  
  29. // Limits and internal constants
  30. #define MAX_PLAYER_NAME                         (24)
  31. #define MAX_PLAYERS                             (1000)
  32. #define MAX_VEHICLES                            (2000)
  33. #define MAX_ACTORS                              (1000)
  34. #define INVALID_PLAYER_ID                       (0xFFFF)
  35. #define INVALID_VEHICLE_ID                      (0xFFFF)
  36. #define INVALID_ACTOR_ID                        (0xFFFF)
  37. #define NO_TEAM                                 (255)
  38. #define MAX_OBJECTS                             (1000)
  39. #define INVALID_OBJECT_ID                       (0xFFFF)
  40. #define MAX_GANG_ZONES                          (1024)
  41. #define MAX_TEXT_DRAWS                          (2048)
  42. #define MAX_PLAYER_TEXT_DRAWS                   (256)
  43. #define MAX_MENUS                               (128)
  44. #define MAX_3DTEXT_GLOBAL                       (1024)
  45. #define MAX_3DTEXT_PLAYER                       (1024)
  46. #define MAX_PICKUPS                             (4096)
  47. #define INVALID_MENU                            (0xFF)
  48. #define INVALID_TEXT_DRAW                       (0xFFFF)
  49. #define INVALID_GANG_ZONE                       (-1)
  50. #define INVALID_3DTEXT_ID                       (0xFFFF)
  51.  
  52. // --------------------------------------------------
  53. // Natives
  54. // --------------------------------------------------
  55.  
  56. // Util
  57. native print(const string[]);
  58. native printf(const format[], {Float,_}:...);
  59. native format(output[], len, const format[], {Float,_}:...);
  60. native SendClientMessage(playerid, color, const message[]);
  61. native SendClientMessageToAll(color, const message[]);
  62. native SendPlayerMessageToPlayer(playerid, senderid, const message[]);
  63. native SendPlayerMessageToAll(senderid, const message[]);
  64. native SendDeathMessage(killer, killee, weapon);
  65. native SendDeathMessageToPlayer(playerid, killer, killee, weapon);
  66. native GameTextForAll(const string[],time,style);
  67. native GameTextForPlayer(playerid,const string[],time,style);
  68. native SetTimer(funcname[], interval, repeating);
  69. native SetTimerEx(funcname[], interval, repeating, const format[], {Float,_}:...);
  70. native KillTimer(timerid);
  71. native GetTickCount();
  72. native GetMaxPlayers();
  73. native CallRemoteFunction(const function[], const format[], {Float,_}:...);
  74. native CallLocalFunction(const function[], const format[], {Float,_}:...);
  75. native Float:VectorSize(Float:x, Float:y, Float:z);
  76. native Float:asin(Float:value);
  77. native Float:acos(Float:value);
  78. native Float:atan(Float:value);
  79. native Float:atan2(Float:x, Float:y);
  80. native GetPlayerPoolSize();
  81. native GetVehiclePoolSize();
  82. native GetActorPoolSize();
  83.  
  84. // Hash
  85. native SHA256_PassHash(password[], salt[], ret_hash[], ret_hash_len); // SHA256 for password hashing
  86.  
  87. // Server wide persistent variable system (SVars)
  88. native SetSVarInt(varname[], int_value);
  89. native GetSVarInt(varname[]);
  90. native SetSVarString(varname[], string_value[]);
  91. native GetSVarString(varname[], string_return[], len);
  92. native SetSVarFloat(varname[], Float:float_value);
  93. native Float:GetSVarFloat(varname[]);
  94. native DeleteSVar(varname[]);
  95.  
  96.  

댓글

댓글 본문
버전 관리
u4bi
현재 버전
선택 버전
graphittie 자세히 보기