Всё необходимое для создания своего скрипта есть в полном
архиве с POL'ом.
Запуск нового скрипта производится в следующем порядке:
1) Написание скрипта.
2) Компиляция
3) Размещение скрипта в файловой системе POL'a
4) Активизация скрипта
1. Написание скрипта.
Все стандартные POL скрипты имеют расширения src, учитывая тот
печальный факт что ничего достойного пока что еще не вышло в
качестве среды написания скриптов - скрипт придётся писать в
текстовом редакторе, например notepad (блокнот) входящий в
состав базовых программ всех платформ windows.
2. Компиляция
Для того, что бы сервер мог понять новый скрипт, скрипт
необходимо откомпилировать программой компилятором который
валяется тут - pol\scripts\ecompile.exe. Компиляция скрипта
происходит простым перетаскиванием src файла на ecompile.exe.
Однако рекомендую для этого использовать сеанс dos.
После почти мгновенной компиляции создаётся новый файл с именем,
как и у src файла, и с расширением ecl.
Если в теле кода используется команда "include" будет
сгенерирован файл c расширением dep, его можно стереть.
3. Размещение скрипта в файловой системе POL'a
В структуре файлов POL'a для различных типов скриптов
организованы отдельные папки.
В корневой папке POL'a находится 2 основные папки, в которых
принято размещать скрипты - pkg и scripts, так же есть папка
configs - в которой размещены файлы настроек скриптов.
\pkg\ - Здесь находятся стандартные и опциональные пакеты
скриптов. Главное отличие от остальных - в том что они содержат
сразу набор скриптов, если будущий скрипт состоит более чем из 2
частей его для удобства желательно разместить сюда, в
опциональный раздел.
\scripts\ - скрипты ai, предметов, скрипты консольных и
клиентских команд, и некоторые другие размещены здесь, решив для
себя к какому типу относится ваш будущий скрипт - можно его
будет разместить в соответствующею папку.
Оба файла ecl, и src принято держать вмести.
4. Активизация скрипта
Для активизации скрипта сервер необходимо перезагрузить сервер,
если только:
1) Скрипт постоянно в цикле(for/while/case и т.д. к примеру
любой ai скрипт или скрипт типа statcap'a ) - можно просто
удалить источник цикла(удалить НПС), если не получится -
перезагрузить сервер.
2) Изменениям подверглись только конфигурационные (любые кроме
тех, что в папке ../pol/configs) файлы скрипта, необходимо
воспользоваться командой .unloadcfg .
3) Скрипты консольных, и клиентских команд, а так же некоторые
другие, активизируются сразу же после их копирования.
К примеру, мы хотим создать новый скрипт - портал оживления.
1) Создаём новый текстовой документ,
2) Набираем простенький код в нем:
use uo;
program res(who)
If (who.dead)
Resurrect( who );
endif
endprogram
3) Сохраняем файл как rgate.src.
4) Перетаскиваем его на файл ..\pol\scripts\ecompile.exe.
5) Вырезаем rgate.src и новые файл rgate.ecl и вставляем их в
папку ..\pol\scripts\items.
6) Входим в файл ..\pol\config\itemdesc.cfg
7) Добавляем новый раздел:
Item 0xa330
{
Name resgate
graphic 0x1FE7
movable 0
WalkOnScript rgate
desc Gate of Resurrect
}
8) Перегружаем сервак
9) Входим в игровой клиент и пишем .create resgate
Портал оживления перед вами:)
Статью прислал: Xeo