воскресенье, 15 февраля 2009 г.

Язык Pawn

Долго присматривался к метамодовскому модулю AMXModX. Присматривался и так и эдак, любовался на творения людей, которые пишут к AMX плагины. А потом решил написать чего-то сам.

Поначалу я думал, что язык, который используется при написании плагинов — C++ (еще раньше думал что С). А потом выяснилось, что язык тот особый, называется Pawn.

Большего мозгоёбства мир, я думаю, еще не видел. Совершенно странный синтаксис и непонятные ограничения, позволяющие создать Hello World только минут через десять. Из плюсов — ... Не знаю. Не увидел я там плюсов. Разве что то, что на нем пишут хорошие плагины. Хотя, наверное, если бы вместо Пауна там был Брейнфак, писали бы на Брейнфаке, ибо, к сожалению, другой такой платформы еще нет и вряд ли будет, а плагинов написать хочется. Из минусов — сам язык. Отдаленно он напоминает JavaScript... Только в самом Джаваскрипте нет такого количества непонятных ограничений.

В (практически) любом языке эскейп-символ какой? Правильно, бэкслеш (\). Но нет, мы пойдем другим путем, сказали создатели Пауна, и выставили в качестве эскейпа символ ^. Объяснить это логичным путем или на трезвую голову, мне кажется, невозможно. Но, тем не менее, мне удалось написать два админ-стаффовских плагина. Первый — это отправка уведомлений администраторам на Джаббер, что их зовут (команда в чате — /admin какой-то-текст-админам) игроки. Второй — автобан на сутки за сообщение, посланное в чат, которое содержит "buy server" или ".co.il" (потому что это настоящий бич современности, каждый пятисотый игрок, по моим наблюдениям, начинает впаривать эту хуйню с израильским сайтом в чате). Сообщение до чата не доходит.

Пока полет нормальный. Мечтаю создать скрипт, переводящий программы с Питона на Паун. Или, может, стоит позаёбывать создателей AMX по поводу перехода с Пауна на Питон?

Комментариев нет:

Отправить комментарий