shape1
shape2
shape3
shape4
shape7
shape8

Что такое PAWN?


Статус
Закрыто для дальнейших ответов.

Jaliba_Baron

Руководитель
Пользователь
24.09.2015
648
2
929
0
20
pawno-crmp.ru
Скриптер
Основное

Pawn (прежнее название — Small) — простой, не типизированный 32-битный скриптовый язык программирования с синтаксисом, подобным языку Си. Компилятор генерирует P-код (или байт-код), запускаемый на абстрактной машине. Файлы исходного кода Pawn имеют расширение .pwn. Скомпилированные и готовые к исполнению файлы получают расширение .amx

История языка

Введение в язык Pawn и в понятие абстрактной машины было описано как перспектива программистов, и опубликовано в журнале доктора Добба в октябре 1999 года. Язык был разработан для начинающих программистов, которые допускали множество ошибок, связанных с освобождением памяти компьютера.

Основой для Pawn был взят язык Си. Целью разработчиков было упростить и изменить язык Си таким образом, чтобы синтаксис языка позволял избегать или обходить те ошибки, которые допускают неопытные программисты. Выбор языка Си определило то, что этот язык в тот момент достиг максимума своего развития и был довольно популярен.

Особенности языка

  • Pawn — это Си-подобный скриптовый язык.
  • Вы можете подключать файлы(include) в Pawn, так что вы сможете организовать аккуратную структуру Pawn кода.
  • Pawn — это скриптовый язык с компилятором, который выполняет статические проверки, и с абстрактной машиной, которая (статически) выполняет верификацию P-кода и динамическую проверку.
  • С целью портирования, Pawn был написан на ANSI C.
  • Pawn поддерживает Unicode/UCS-4 и UTF-8, а также кодовые страницы. Компилятор может преобразовать введённый исходный код в особую кодовую страницу Unicode; он также поддерживает файлы исходного кода в кодировке UTF-8.
  • Он был установлен на микроконтроллеры Atmel ATmega128, Philips LPC2138 и LPC2106 (ядро ARM7TDMI с 32 КБ ОЗУ), а также на Texas Instrument MSP430F1611 (ядро MSP430 с 10 КБ оперативной памяти и 48 КБ Flash ROM). Pawn позволяет запускать большие скрипты с небольшим объёмом памяти.
  • Документирование исходного кода может быть сделано с помощью «комментариев документации»; компилятор Pawn извлекает эти комментарии, объединяет их с информацией из исходного кода и записывает в XML-файл, который можно просмотреть (и распечатать) с помощью веб-браузера.
  • Pawn поддерживает состояния и автоматы, включая переменные локальных состояний.


Типы данных

 В языке Pawn существует 4 типа данных:
 

  • Целые числа, Integer (при объявлении переменной тип данных указывать не требуется, new Переменная;)
  • Числа с плавающей точкой (new Float:Переменная;)
  • Логический тип, булев или Boolean (new bool:Переменная;)
  • Символ


Примеры кода

«Hello World» выглядит почти так же, как и в C#:
 

#include <core>

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

return 1; // Возвращает 1
}


Пример создания и использования массива для целочисленных значений
 

#include <core>

main()
{
new array[4]; // Инициализация массива с 4 элементами
array[0] = 43; // Изменение значения элемента с индексом 0
array[1] = 10; // Изменение значения элемента с индексом 1
array[2] = 799; // Изменение значения элемента с индексом 2
array[3] = 121332; // Изменение значения элемента с индексом 3

return 1; // Возвращает 1
}


Пример цикла и оператора if-else

#include <core>

main()
{
new i;
for(i = 0; i < 10; i++)
{
if (i != 9)
{
print("%d", i);
}
else
{
print("девять");
}
}

return 1; // Возвращает 1
}

Применение языка


Некоторые примеры использования языка Pawn:

  • Grand Theft Auto: San Andreas Multiplayer - для написания игровых режимов/сценариев, использующих API, для собственных серверов популярного неофициального мультиплеера San Andreas Multiplayer игры Grand Theft Auto: San Andreas.
  • Grand Theft Auto: Criminal Russia Multiplayer - для написания игровых режимов/сценариев, использующих API, для собственных серверов популярного неофициального мультиплеера Criminal Russia Multiplayer игры Grand Theft Auto: Criminal Russia.
  • AmxModX - в написании плагинов для AmxModX, которые позволяют выполнять сценарии на серверах игр на движке GoldSrc. Самыми популярными являються приминения в играх Half-life и Counter-Strike
  • SourceMod - в написании плагинов для модулей SourceMod, которые позволяют выполнять сценарии на серверах игр Half-Life 2: Deathmatch, Counter-Strike: Sourceи других игр на движке Source.
  • WOWCube - написание прикладных игр для этой игровой консоли, и его эмулятора.


Официальный сайт PAWN: клик

 
Статус
Закрыто для дальнейших ответов.