Pawn. SA-MP. Введение

Если вы хотите создавать Pawn скрипты для SA-MP, то я помогу вам это сделать. Для начала вы должны прочитать теорию, которую можно найти по тегу «pawn уроки». После прочтения вы получите общие понятия о программировании на этом языке и изучите особенности синтаксиса.

В первую очередь

Итак. Начнём с получения сервера. Его можно скачать с официального сайта. В составе windows версии сервера есть исходники скриптов, а также Pawn компилятор и редактор Pawno. Компилировать исходные коды можно редактором Pawno, либо консольной командой «папка_с_компилятором\pawncc.exe -;+ -(+ папка_с_скриптом\Имя_скрипта.pwn». После компиляции мы получаем *.amx файл, который может использовать sa-mp сервер.

В sa-mp присутствует множество каллбэков и функций. С помощью этого и создаются интересные режимы. Обычно, наименования функций и каллбэков интуитивно понятны при минимальных знаниях английского языка, поэтому нужную вам функцию или каллбэк вы можете найти в поиске.

Каллбэк(callback) — авто вызываемая функция. Например каллбэк OnPlayerConnect, вызывается когда игрок подключается к серверу, а OnPlayerDisconnect, когда отключается. Немного практики и все каллбэки вы будете знать наизусть.

Функция — это функция, больше тут нечего сказать. Например функция GivePlayerMoney даёт игроку денег.

Приступаем к делу

Создаём наш первый скрипт, который при подключении игрока напишет ему в чат «Hello World!».

#include <a_samp> // подключаем a_samp.inc, за ним подтянутся остальные sa-mp инклуды.
 
main() // выполняется при запуске скрипта, в FS это не нужно, а в GM - обязательно
{
}
 
public OnPlayerConnect(playerid) // вызывается при подключении игрока к серверу
{
	// мы видим параметр playerid - это id подключённого игрока
	SendClientMessage(playerid,0xFFFFFFFF,"Hello World!"); // функция отправляет сообщение Hello World! игроку с id = playerid и цветом 0xFFFFFFFF(формат RRGGBBAA)
	return 1;
}

А сейчас создадим объект и машину, добавив следующий код в наш скрипт(подробное описание этих функций можно найти на википедии).

public OnGameModeInit() // вызывается при загрузке мода
{
	AddStaticVehicle(520, 2109.1763, 1503.0453, 32.2887, 82.2873, 0, 1);
	CreateObject(2587, 2001.195679, 1547.113892, 14.283400, 0.0, 0.0, 96.0, 250.0);
	return 1;
}

В этом нет ничего сложного, вы можете попрактиковаться в использовании различных функций и каллбэков. А в следующей статье мы научимся делать скрипты, взаимодействующие с игроком. Удачи;)

Перейти к верхней панели