Если вы хотите создавать 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; }
В этом нет ничего сложного, вы можете попрактиковаться в использовании различных функций и каллбэков. А в следующей статье мы научимся делать скрипты, взаимодействующие с игроком. Удачи;)