Препроцессоры
LuxelWorldMap добавляет собственные препроцессоры, чтобы другие моды могли проверять наличие клиентской и серверной части карты ещё на этапе компиляции скриптов.
LUXELWORLDMAP
Определяется клиентской частью мода:
LuxelWorldMap.pbo
Доступен на клиенте и на сервере, на котором загружена клиентская часть. Код обращения к клиентскому API карты размещайте в 5_Mission. Например, так можно открыть карту из меню другого мода:
#ifdef LUXELWORLDMAP
if (LXWM_GetClientOpenAPI().IsReady())
{
LXWM_GetClientOpenAPI().OpenMap();
}
#endif
LUXELWORLDMAP_SERVER
Определяется серверной частью мода:
LuxelWorldMap_Server.ebo
Доступен только на сервере. Используйте его для вызовов LXWM_GetServerOpenAPI() в 4_World или 5_Mission:
#ifdef LUXELWORLDMAP_SERVER
string WorldName = LXWM_GetServerOpenAPI().GetWorldName();
Print(WorldName);
#endif
Помещайте под условие не только сам вызов, но и объявления полей или параметров с типами карты. Иначе при запуске без карты компилятор всё равно встретит неизвестный класс. Если же карта является обязательной зависимостью Вашего аддона, имена её патчей в CfgPatches: LuxelWorldMap_Mod и LuxelWorldMap_Server_Mod для соответствующих сторон.