Pawn. Основы

Вступление

Прочитав различные Pawn уроки(иногда именуемые как Pawno уроки, что в корне неправильно) в Интернете, я понял, что большинство из них нельзя читать новичкам, ибо это может привести к деформации мировоззрения о программировании в целом… В связи с этим, я решил начать писать свою серию уроков по языку Pawn. Постараюсь излагать всё как можно более понятно и подробно.
Собственно, первый Pawn урок, дальше — больше, лучше. Следить за уроками можно по метке pawn уроки

Основы

Pawn — компилируемый язык программирования. Язык не приобрел широкой популярности, самые знаменитые проекты, использующие этот язык, это: AMXX и SA-MP.

Синтаксис языка имеет ‘Си-подобный’ вид. Форматы исходного файла: p, pwn, inc. Формат компилированного файла — amx.

Есть несколько редакторов Pawn скриптов, разработчики SA-MP по умолчанию предлагают использовать редактор Pawno.

Нам необходимо иметь SA-MP сервер, библиотеки(инклуды) и компилятор, всё это можно скачать с сайта sa-mp.com.

В каталоге pawno/ есть файл new.pwn, с ним то мы и будем работать.

Здесь есть public‘и(callbacks, колбэки), они выполняются при каком-то событии, например паблик OnGameModeInit выполняется при загрузке игрового режима, а OnPlayerConnect, при подключении игрока к серверу. Более подробное описание других колбэков можно найти на википедии проекта — wiki.sa-mp.com.

Для каждого public’а нужно прописывать forward. Но для стандартных колбэков это делать не нужно, потому что это прописано в стандартных библиотеках.

main() выполняется после загрузки игрового режима.

Немного о простых функциях

Функция print отправляет строку в консоль сервера.

Пример:

main()
{
	print("Hello, World!");
}

Функция printf отправляет форматированную строку в консоль сервера.

Пример:

main()
{
	new x = 1;
	printf("x = %d",x);
}

Для форматирования используются следующие заполнители:
%b — двоичная система счисления
%c — один символ
%d — целое число
%f — дробное число
%i — целое число
%s — строка
%x — шестнадцатеричная система счисления
%% — знак %

  • Ripper

    Хоть один добрый человек толком всё разжёвывает

  • Pozitiv4eg

    Итак. Могу сказать что это чуть ли не единственный блог разработчика pawn.
    Надеюсь тебя не своруют индусы на проект,и ты продолжишь уроки

  • ZiGGi

    Спасибо, ваши комментарии вдохновляют:)

  • DiSE

    i – целое число
    d — целое число

    как понять дважды одно и тоже

    • ZiGGi

      Можно использовать как %i так и %d, разницы совершенно никакой.

  • Игорь

    Большое спасибо!
    Надеюсь ты ещё будешь писать уроки!!!

    • ZiGGi

      Да вот не знаю о чём написать…

  • Тёмка

    чуть чуть не понял кто может показать пожалуйсто…artem007-97..схаватываю все быстро просто не много щас туплю

  • Всё понял, только учусь писать на pawn. Вроде всё подробно и понятно.

  • main()
    {
    new x = 1;
    printf(«x = %d»,x);
    }

    x — переменная?

  • Арман

    а как рекламу менят на моде?

    • Просто ищите в исходниках рекламу по её тексту.

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