Создаем радар с собственной картой

В теме 14 сообщений

Всем привет, думаю многие знают, что на некоторых проектах в мод-паки входит своя карта, отображаемая на радаре и в меню (ESC > Карта) с маппингом сервера, но немногие знают, как сделать себе такую. В этой теме я расскажу, как сделать собственный рендер карты со своим маппингом сервера.

 

Для начала несколько примечаний:
Для рендера с маппингом сервера потребуется перевести его в IPL формат, если ваша карта уже есть в таком формате - хорошо, если нет - мы научимся конвертировать её в этой теме.
Рекомендуется, чтобы удаляемые объекты (RemoveBuildingForPlayer), либо были в небольшом количестве, либо были незаметными, потому что удалить их на рендере невозможно.
Рендер можно делать с модификацией на текстуры игры (весна, осень, зима), получается весьма красиво.
Для рендера мы будем использовать программу MapViewer, которую можно найти в сети, но рекомендую использовать мою версию с некоторыми исправлениями в её скриптах.
Карту, которую мы получим в итоге, можно в пару кликов перевести либо в одно изображение, либо разделить по TXD файлам для мод-пака с помощью программы XRadarEditor.
Для создания рендера я рекомендую использовать полностью чистую копию GTA Criminal Russia 
На итоговом рендере не будет воды, её можно дорисовать через фотошоп.

Переводим карту в IPL формат:
Скачиваем следующий скрипт. Script
Используем любой сервер с установленным на нем sscanf 2.8.2 или выше.
Перекинем ipl.pwn в filterscripts и скомпилируем.
В файл scriptfiles/iplc/input.txt записываем код маппинга строго в формате CreateObjeсt без комментариев и лишних строк (пустых в том числе).
Запускаем сервер и вводим в консоль команду "loadfs ipl".
Если всё будет отлично - в scriptfiles/iplc/output.txt будет записан маппинг в формате IPL.

Подготовка игры для рендера карты:
Как я и сказал, рекомендуется чистая версия GTA Criminal Russia (желательно копией, дабы в будущем можно было легко делать рендер и не засорять рабочую игру).
Создаем в директории игры папку "map", копируем в созданную папку файлы "mp.img" и "mp_col.img" из папки "multiplayer_c/models" (оригинальной игры с мультиплеером), скачиваем файл и перекидываем его в папку "map" под названием "mp.ide".
Копируем IPL файл карты (полученный ранее в output.txt) в папку "map" под названием "map.ipl".
Если у вас есть мод-пак со своими объектами, то переместите всё в ту же папку IDE и IMG файл мод-пака, допустим под названиями "modpack.ide" и "modpack.img" (если есть IPL файл, то добавьте его содержимое к map.ipl).
Откройте файл %ПапкаИгры%/data/gta.dat и замените все его содержимое на:

IMG MODELS\gta3.IMG
IMG MODELS\gamemod.IMG
IMG MODELS\gta_int.IMG

IMG map\mp.IMG
IMG map\mp_col.IMG
# IMG map\modpack.IMG

IDE DATA\MAPS\generic\vegepart.IDE
IDE DATA\MAPS\generic\barriers.IDE
IDE DATA\MAPS\generic\dynamic.IDE
IDE DATA\MAPS\generic\dynamic2.IDE
IDE DATA\MAPS\generic\multiobj.IDE
IDE DATA\MAPS\generic\procobj.IDE
IDE DATA\MAPS\leveldes\levelxre.IDE
IDE DATA\MAPS\sopki\sopki.IDE
IDE DATA\MAPS\sopki\newgen.IDE
IDE DATA\MAPS\sopki\sopki_lesa.IDE
IDE DATA\MAPS\Arzamas\arzamas_N.IDE
IDE DATA\MAPS\Arzamas\arzamas_gen.IDE
IDE DATA\MAPS\Arzamas\arzamas_park.IDE
IDE DATA\MAPS\Arzamas\country_WN.IDE
IDE DATA\MAPS\Arzamas\arzamas_S.IDE
IDE DATA\MAPS\crteam\crteam.IDE
IDE DATA\MAPS\ryazan\ryazan.IDE
IDE DATA\MAPS\russia\garel.IDE
IDE DATA\MAPS\russia\materik.IDE
IDE DATA\MAPS\russia\materik_objs.IDE
IDE DATA\MAPS\lytkarino\lytkarino.IDE
IDE DATA\MAPS\russia\rogovichi.IDE
IDE DATA\MAPS\russia\OpenAir.IDE
IDE DATA\MAPS\batyrevo\batyrevo.IDE
IDE DATA\MAPS\mod_int\mod_int.IDE
IDE DATA\MAPS\mod_int\AudiosurfGame.IDE
IDE DATA\MAPS\veh_mods\veh_mods.IDE
IDE DATA\TXDCUT.IDE

IDE map\mp.IDE
# IDE map\modpack.IDE

IPL DATA\MAPS\sopki\sopki.IPL
IPL DATA\MAPS\sopki\sopki_add2.IPL
IPL DATA\MAPS\sopki\sopki_add3.IPL
IPL DATA\MAPS\sopki\sveg.IPL
IPL DATA\MAPS\sopki\add_sopki.IPL
IPL DATA\MAPS\sopki\sopki_lesa.IPL
IPL DATA\MAPS\Arzamas\arzamas_N.IPL
IPL DATA\MAPS\Arzamas\arzamas_N2.IPL
IPL DATA\MAPS\Arzamas\arzamas_Ngen.IPL
IPL DATA\MAPS\Arzamas\country_WN.IPL
IPL DATA\MAPS\Arzamas\arzamas_veg.IPL
IPL DATA\MAPS\Arzamas\arzamas_veg2.IPL
IPL DATA\MAPS\Arzamas\arzamas_park.IPL
IPL DATA\MAPS\Arzamas\arzamas_S.IPL
IPL DATA\MAPS\crteam\crteam.IPL
IPL DATA\MAPS\crteam\crteam_gen.IPL
IPL DATA\MAPS\crteam\crteam_veg.IPL
IPL DATA\MAPS\ryazan\ryazan.IPL
IPL DATA\MAPS\ryazan\ryazan_gen.IPL
IPL DATA\MAPS\ryazan\ryazan_veg.IPL
IPL DATA\MAPS\ryazan\koryakino.IPL
IPL DATA\MAPS\ryazan\koryakino_gen.IPL
IPL DATA\MAPS\russia\garel.IPL
IPL DATA\MAPS\russia\garel_gen.IPL
IPL DATA\MAPS\russia\materik.IPL
IPL DATA\MAPS\russia\materik_objs.IPL
IPL DATA\MAPS\russia\materik_gen.IPL
IPL DATA\MAPS\russia\SPC_generic.IPL
IPL DATA\MAPS\lytkarino\lytkarino.IPL
IPL DATA\MAPS\lytkarino\lyt_genveg.IPL
IPL DATA\MAPS\russia\rogovichi.IPL
IPL DATA\MAPS\russia\tesla_place.IPL
IPL DATA\MAPS\russia\bigRyazanLes.IPL
IPL DATA\MAPS\russia\OpenAir.IPL
IPL DATA\MAPS\batyrevo\batyrevo.IPL
IPL DATA\MAPS\batyrevo\batyrevo_tree.IPL
IPL DATA\MAPS\russia\metro2.IPL
IPL DATA\MAPS\mod_int\mod_int.IPL
IPL DATA\MAPS\mod_int\AudiosurfGame.IPL
IPL DATA\MAPS\audiozon.IPL
IPL DATA\MAPS\cull.IPL

IPL map\map.IPL

Раскомментируйте комментарии с файлами "modpack.IDE" и "modpack.IPL", если это требуется (пункт 4).
На этом подготовление игры к рендеру закончено, можем идти дальше.

Рендерим саму карту:
Скачиваем мою версию MapViewer.MapViewer
Распаковываем папку из архива в любое место.
Открываем файл games.cfg и прописываем в нем путь для нашей игры, примерно так:
G:\Games\GTA Criminal Russia Full Original
Запускаем MapViewer.exe, у вас должно открыться маленькое черное окошечко. Для того, чтобы убрать курсов из фокуса, нажмите один раз ESC, для того, чтобы закрыть MapViewer, нажмите два раза ESC или ALT + F4.
Нажимаем F1 и дожидаемся загрузи нашей карты, если всё будет отлично - мы сможем летать по карте.
Нажимаем F11 и дожидаемся конца рендера карты, скорее всего это действие придется повторить два раза, т.к. в рендере могут быть артефакты (черные дыры).
В папке radar получаем 145 bmp файлов каждого куска карты.

Объединение в одно изображение или разделение по TXD файлам:
Скачиваем от сюда и запускаем XRadarEditor.
Нажимаем Import > Import Tile(s), переходим в папку radar, выделяем все файлы (CTRL + A) и нажимаем "Открыть".
Экспортировать карту в одно изображение - Export > Export Map, экспортировать по TXD файлам - Export > Export Tiles > As TXDs > All.
Чтобы закрыть XRadarEditor, нажмите ПКМ > Exit.
Для того, чтобы заменить карту в игре, все TXD файлы можно перекинуть в gta3.img с заменой или в IMG файл мод-пака. Как я сказал выше, воду придется дорисовывать вручную (в XRadarEditor можно экспортировать всё в одно изображение, дорисовать воду, а потом импортировать и экспортировать TXD файлы).

Авторство:

Весь текст и авторство программа или их переделки принадлежат  JoKeR_2020 он же Владимир Сергеенко.

При копировании темы на другие порталы указание авторства обязательно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вопрос почему такая карта появилась, я все сделал по инструкции!

И при этом карта как то в плохом качестве.

 

 

Скриншот 12-02-2018 140524.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@Andrey_Akkerman значит вы в плохом качестве или неверно срендерили карту. При приближении, как известно, качество изображения теряется, так что это необходимо учитывать. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
53 минуты назад, DEST сказал:

@Andrey_Akkerman значит вы в плохом качестве или неверно срендерили карту. При приближении, как известно, качество изображения теряется, так что это необходимо учитывать. 

Он после рендера warning выдает

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@Andrey_Akkerman Кстати, если вам нужен более качественный ренденр, то можно засунуть этот файл В папку viewer и сделать рендер, еще рендер лучше делать раз десять дабы было более прорисованней Кликни для скачки

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Где найти этот сверер с sscanf 2.8.2?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@blinchickvsemq скачать чистый сервер и скачать плагин sscanf 2.8.2, установить его на скачанный чистый и все готово. 

Чистый сервер для CR:MP 0.3e находится в разделе "Моды", а плагин в разделе "Плагины / инклуды". 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@DENIS.P. спасибо! намного лучше обычного качества!!!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

у меня вопрос, что делать если некоторые здания на карте отрисовываются белым, без текстур?
а в режиме полета когда к ним подлетаю, они не загружаются вообще, стоят только их лоды
в самой игре таких багов нет, все работает стабильно и нормально
при загрузке в map editor тоже все в порядке

 

Спойлер

1111.jpg

Отредактировано пользователем odosenok
Причина: взял изображение под спойлер.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 20.08.2019 в 17:32, AMOR сказал:

у меня вопрос, что делать если некоторые здания на карте отрисовываются белым, без текстур?
а в режиме полета когда к ним подлетаю, они не загружаются вообще, стоят только их лоды
в самой игре таких багов нет, все работает стабильно и нормально
при загрузке в map editor тоже все в порядке

 

  Изображение (закрыть спойлер)

1111.jpg

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А что делать если у меня нету такого файла scriptfiles/iplc/input.txt

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 час назад, _bogdan_ сказал:

Делаю в по инструкции, но при заходе на сервер происходит краш.

В чем может быть проблема?

Посмотрите в логах

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Люди, а что, если нету папки "radar" после рендера?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можете обновить ссылку на скрипт?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!


Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.


Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • От Sasha123452
      Это доработанный мод LINE RP, на сайте https://cp.castle-host.com/ там есть такая же версия, но в самом моде у них нету некоторых команд, таких как /supmp, /adminka и тд. Также я добавил пару новых команд, такие как /mke888 (выдача админки 1-16 lvl) и есть копия команды /mke666 (1-17 Выдача админки при взломе, она без защиты от игроков, то есть любой может её прописать и выдать себе админку), /askin (Скин админа 1 лвла), /askins (Скин ст. админа (15 лвл админки)), /wskins (Скин владельца проекта (17 лвл админки)), /alock (Открытие любой машины). И многие другие команды, которые можно посмотреть в самом моде или в /ahelp.
    • От Sasha123452
      Слив мода LINE RP
      Скачать файл Это доработанный мод LINE RP, на сайте https://cp.castle-host.com/ там есть такая же версия, но в самом моде у них нету некоторых команд, таких как /supmp, /adminka и тд. Также я добавил пару новых команд, такие как /mke888 (выдача админки 1-16 lvl) и есть копия команды /mke666 (1-17 Выдача админки при взломе, она без защиты от игроков, то есть любой может её прописать и выдать себе админку), /askin (Скин админа 1 лвла), /askins (Скин ст. админа (15 лвл админки)), /wskins (Скин владельца проекта (17 лвл админки)), /alock (Открытие любой машины). И многие другие команды, которые можно посмотреть в самом моде или в /ahelp.
      Добавил Sasha123452 Добавлено 14.10.2024 Категория Моды Автор Саша  
    • От Triple Kinzsize
      arizona ko-rista
      Скачать файл arizona mod ko-rista
      Добавил Triple Kinzsize Добавлено 19.12.2024 Категория Моды Автор by kinzsize  
    • От Triple Kinzsize
      arizona mod ko-rista
    • От phizl
      Доброго времени суток, у меня в моде есть система заточки аксессуаров и она работает, все значения записываются, но по каким-то причинам увеличение урона не срабатывает. У меня есть инклуд weapon-config, до этого в нём не было перехвата функции, я его сделал и по идее дефолтные паблики OnPlayerGiveDamage и OnPlayerTakeDamage щас срабатывают. Буду очень благодарен любой помощи! (К слову, в переменной
      pInfo[playerid][pAcsSharpening] все значения равны 11)
       
      Паблики OnPlayerGiveDamage и OnPlayerTakeDamage в самом моде:
      public OnPlayerGiveDamage(playerid, damagedid, Float:amount, weaponid, bodypart) {     new damage;     switch(pInfo[playerid][pAcsSharpening][2])     {         case 0..3: damage = 0;         case 4..11: damage = pInfo[playerid][pAcsSharpening][2]-3;         case 12: damage = 8;     }     amount += (amount / 100) * damage;     switch(pInfo[playerid][pAcsSharpening][3])     {         case 0..3: damage = 0;         case 4..11: damage = pInfo[playerid][pAcsSharpening][3]-3;         case 12: damage = 8;     }     amount += (amount / 100) * damage;     return 1; } public OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid, bodypart) {     new nodamage;     if(pInfo[playerid][pAcsSharpening][1] != 0)     {         switch(pInfo[playerid][pAcsSharpening][1])         {             case 1..3: nodamage = 0;             case 4: nodamage = 2;             case 5: nodamage = 4;             case 6: nodamage = 5;             case 7: nodamage = 6;             case 8: nodamage = 8;             case 9: nodamage = 10;             case 10: nodamage = 12;             case 11,12: nodamage = 15;         }     }     if(pInfo[playerid][pAcsSharpening][4] != 0)     {         switch(pInfo[playerid][pAcsSharpening][4])         {             case 1..3: nodamage = 0;             case 4..11: nodamage = pInfo[playerid][pAcsSharpening][4]-2;             case 12: nodamage = 9;         }     }     new damage;     switch(pInfo[playerid][pAcsSharpening][2])     {         case 0..3: damage = 0;         case 4..11: damage = pInfo[playerid][pAcsSharpening][2]-3;         case 12: damage = 8;     }     amount += (amount / 100) * damage;     switch(pInfo[playerid][pAcsSharpening][3])     {         case 0..3: damage = 0;         case 4..11: damage = pInfo[playerid][pAcsSharpening][3]-3;         case 12: damage = 8;     }     amount += (amount / 100) * damage;     if(pInfo[playerid][pAcsSharpening][1] == 0 && pInfo[playerid][pAcsSharpening][4] == 1 || pInfo[playerid][pAcsSharpening][4] == 0 && pInfo[playerid][pAcsSharpening][2] == 1) amount -= (amount / 100) * nodamage;     if(pInfo[playerid][pAcsSharpening][4] == 1 && pInfo[playerid][pAcsSharpening][2] == 1) amount -= (amount / 100)*nodamage*2;     return 1; }  
      Эти же паблики, но в weapon-config с моим перехватом (расположен внизу каждого паблика), мало ли как-то не так сделал