인클루드(include)
include는 무언가 포함하는 것이라고 정의내릴 수 있습니다. SA:MP 멀티프로그램 개발에서는 기본적으로 a_samp란 인클루드를 포 함수들을 모은 집합체라 할 수 있으며 SA:MP는 기본적으로 a_samp에 포함된 내장함수들을 토대로 개발되어지게 됩니다.함하게 됩니다. include는 모드 개발의 필요에 따라서 자주 쓰는 코드를 별도로 파일을 만들어서 보관하고 재사용할 수 있는 함수 모음 파일을 말합니다.
실제로 a_samp라는 것이 뭔지 궁금하다면 본인의 pawno 폴더를 열고 include 폴더를 열어보시기 바랍니다.
a_samp.inc 파일이 바로 우리가 모드에 기본적으로 포함하여 사용하게 될 파일입니다. 그리고 이것을 메모장으로 열면 다양한 함수 선언들이 선언되어 있는걸 확인할 수 있습니다.
-
// This is a comment
-
// uncomment the line below if you want to write a filterscript
-
-
#include <a_samp>
-
참고(a_samp.inc)
-
/* SA-MP Functions
-
*
-
* (c) Copyright 2005-2015, SA-MP Team
-
*
-
*/
-
-
#if defined _samp_included
-
#endinput
-
#endif
-
#define _samp_included
-
#pragma library samp
-
-
#pragma tabsize 4
-
// Ignores warning 217 for properly indented PAWNO code
-
// It's tab size is 4 and often uses 4 spaces instead, PAWNCC's is 8
-
-
#include <core>
-
#include <float>
-
#include <string>
-
#include <file>
-
#include <time>
-
#include <datagram>
-
#include <a_players>
-
#include <a_vehicles>
-
#include <a_objects>
-
#include <a_actor>
-
#include <a_sampdb>
-
-
// Limits and internal constants
-
#define MAX_PLAYER_NAME (24)
-
#define MAX_PLAYERS (1000)
-
#define MAX_VEHICLES (2000)
-
#define MAX_ACTORS (1000)
-
#define INVALID_PLAYER_ID (0xFFFF)
-
#define INVALID_VEHICLE_ID (0xFFFF)
-
#define INVALID_ACTOR_ID (0xFFFF)
-
#define NO_TEAM (255)
-
#define MAX_OBJECTS (1000)
-
#define INVALID_OBJECT_ID (0xFFFF)
-
#define MAX_GANG_ZONES (1024)
-
#define MAX_TEXT_DRAWS (2048)
-
#define MAX_PLAYER_TEXT_DRAWS (256)
-
#define MAX_MENUS (128)
-
#define MAX_3DTEXT_GLOBAL (1024)
-
#define MAX_3DTEXT_PLAYER (1024)
-
#define MAX_PICKUPS (4096)
-
#define INVALID_MENU (0xFF)
-
#define INVALID_TEXT_DRAW (0xFFFF)
-
#define INVALID_GANG_ZONE (-1)
-
#define INVALID_3DTEXT_ID (0xFFFF)
-
-
// --------------------------------------------------
-
// Natives
-
// --------------------------------------------------
-
-
// Util
-
native print(const string[]);
-
native printf(const format[], {Float,_}:...);
-
native format(output[], len, const format[], {Float,_}:...);
-
native SendClientMessage(playerid, color, const message[]);
-
native SendClientMessageToAll(color, const message[]);
-
native SendPlayerMessageToPlayer(playerid, senderid, const message[]);
-
native SendPlayerMessageToAll(senderid, const message[]);
-
native SendDeathMessage(killer, killee, weapon);
-
native SendDeathMessageToPlayer(playerid, killer, killee, weapon);
-
native GameTextForAll(const string[],time,style);
-
native GameTextForPlayer(playerid,const string[],time,style);
-
native SetTimer(funcname[], interval, repeating);
-
native SetTimerEx(funcname[], interval, repeating, const format[], {Float,_}:...);
-
native KillTimer(timerid);
-
native GetTickCount();
-
native GetMaxPlayers();
-
native CallRemoteFunction(const function[], const format[], {Float,_}:...);
-
native CallLocalFunction(const function[], const format[], {Float,_}:...);
-
native Float:VectorSize(Float:x, Float:y, Float:z);
-
native Float:asin(Float:value);
-
native Float:acos(Float:value);
-
native Float:atan(Float:value);
-
native Float:atan2(Float:x, Float:y);
-
native GetPlayerPoolSize();
-
native GetVehiclePoolSize();
-
native GetActorPoolSize();
-
-
// Hash
-
native SHA256_PassHash(password[], salt[], ret_hash[], ret_hash_len); // SHA256 for password hashing
-
-
// Server wide persistent variable system (SVars)
-
native SetSVarInt(varname[], int_value);
-
native GetSVarInt(varname[]);
-
native SetSVarString(varname[], string_value[]);
-
native GetSVarString(varname[], string_return[], len);
-
native SetSVarFloat(varname[], Float:float_value);
-
native Float:GetSVarFloat(varname[]);
-
native DeleteSVar(varname[]);
-