keyl

Добавление картинки в модпак (TXD-архив)

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

В этой теме вы узнаете... 

Многие у меня лично, да и на форумах, спрашивали: "Как сделать логотип как на ГринТече?" (GreenTechRP - проект в CRMP). А сделать это очень просто, нужно всего лишь навсего добавить картинку в модпак (txd) и в моде уже использовать как стандартную картинку из стандартной библиотеки TXD, т.е. : название_библиотеки(txd):название_самого_тд


От вас потребуется:

  1. Фотошоп (здесь рекомендуется использовать AdobePhotoshopCS6, так как все примеры даны именно на нем)
  2. TXD WorkShop
  3. Тестовый мод <ИЛИ> ваш основной мод. 

От слов к действиям: 

Урок можно поделить на две части: работа в Фотошопе и работа в TXD WorkShop. 

Приступим к первой части. 

  1. Открываем Ваш графический редактор и создаете изображение. Для примера возьмем 600 на 600 точек. 
    Спойлер

    Screenshot_1.png

     

  2. Далее вы можете приступать к оформлению вашего изображения.
  3. После того как вы сделали свой шедевр, вам необходимо добавить альфа-канал. Для примера возьмем AdobePhotoshopCS6. Нажимаем "Выделение -> загрузить выделенную область". 
    ПРИМЕЧАНИЕ: если у текста есть обводка, то для нанесения альфа-канала необходимо сначала преобразовать его (текст) в смарт-объект. 
    После жмем "Выделение -> Сохранить выделенную область". Название может быть произвольным. 
    Далее нажимаем на "глаз" у альфа-канала, т.е. делаем его невидимым. 
  4. После вы можете сохранить свою работу в формате TGA (В случае с фотошоп кс6: "Файл -> Сохранить как - Формат targa (tga)")

На этом первая часть урока завершена. Мы на полпути у финиша. Переходим ко второй части урока, работе с TXD WorkShop. 

  1. Открываем TXD WorkShop и добавляем созданный в Фотошопе файл. 
  2. Выбираем: "Image -> Decompress ALL Image"
  3. Выбираем: "Image -> Compress ALL Image"
  4. Сохраняем готовый файл в директорию. Если хотите использовать с модпаком, то сохраняйте по пути: /путь к игре/multiplayer_browser_cr/custom/, если же вы хотите просто протестировать это ТОЛЬКО у себя на компьютере, сохраняйте по пути: /путь к игре/models/txd

Далее вы можете заходить на тестовый (Ipleomax) или другой сервер и пробовать добавлять. 

На этом все. 


Над темой работали: 

Автор теоретического материала (фотошоп): Первый

Корректор: @DEST

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


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

@DEST  проблемка, и так всегда, и через игру добавляется такой рисунок, делал так же вроде

Спойлер

zALTBMSHZNw.jpg

 

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


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

@Timur_Top проблема в некорректности самого рисунка? 

В фотошопе он был нормальным? 

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


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

@DEST В фш он был нормальным, и да, когда импортирую в воркшоп tga файл, вылазиет ошибка: floating point division by zero

Добавил alpha, в картинке текста нету, а изображение png было.

 

 

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


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

@Timur_Top попробуйте обновить версию TXD Work Shop

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


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

@DEST Я добавил alpha и в название в конец а добавил, отображается только картинка

 

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


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

@Timur_Top невидимым слоем alpha сделали? 

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


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

@DEST Не понял

 

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


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

После того как вы сделали свой шедевр, вам необходимо добавить альфа-канал. Для примера возьмем AdobePhotoshopCS6. Нажимаем "Выделение -> загрузить выделенную область". 
ПРИМЕЧАНИЕ: если у текста есть обводка, то для нанесения альфа-канала необходимо сначала преобразовать его (текст) в смарт-объект. 
После жмем "Выделение -> Сохранить выделенную область". Название может быть произвольным. 
Далее нажимаем на "глаз" у альфа-канала, т.е. делаем его невидимым. 

 

Справа сбоку есть управление слоями в PhotoshopCS6

 

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


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

@DEST Фон нужно сделать невидимым?

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


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

@DEST Возник такой вопрос, как найти теперь саму текстуру в TDEditor?

 

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


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

@Nicinen подключаешь мод-пак, а точнее, эту библиотеку TXD, которую ты создал, и вводишь: "mp_name-modpack:image_name" по такому шаблону. Можешь её сразу кинуть в TXD в папке с игрой.

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


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

Можно видео урок? не много не понятно как это все будет происходить 

к примеру у меня уже есть даже готовый фон и  иконка и сделал фш я загрузил в Txd изменил к примеру там фон итд и что дальше? как мне это сделать в Iplemax и залить к себе на сервер SAMP 

было подробней на видео примере вашем как до что 

Отредактировано пользователем Rafael_Rosse

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


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

@Rafael_Rosse зачем делать урок по элементарной теме? В TDE добавляешь спрайт, растягиваешь до нужных размеров, сохраняешь, добавляешь в мод и в названии пишешь как теме описывается.

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


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

@Rafael_Rosse зачем делать урок по элементарной теме? В TDE добавляешь спрайт, растягиваешь до нужных размеров, сохраняешь, добавляешь в мод и в названии пишешь как теме описывается.

ты хоть понял что сказал? у меня даже тд не нарисован я обычный фон (Слово удалено системой) куда запинаю? 

жду видео урока или тема без полезная и не понятная

у меня фон есть и иконка допустим фотошопе ну и что дальше? я сделал фон итд а текстдрав кто делать будет как это все хуякнуть 

итд 

и в мод куда потом залить итд  В МОД SAMP САМП GTA 

 

ДА И У МЕНЯ НЕТУ НОРМАЛЬНОГО ТДЕ КОТОРЫЙ С МОДЕЛЯМИ НАЙТИ НЕ МОГУ ИТД 

Отредактировано пользователем Rafael_Rosse

Заметка от Shakoladka , создано

Не обязательно писать большими буквами(Caps) достаточно просто сделать предложение/слово жирным текстом

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


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

@Rafael_Rosse TDEditor v2.3, в интернете введи. Бомбить на меня тут не надо, я всё доступно объяснил, иди лучше русский язык подтяни. Неужели трудно самому сделать TextDraw Sprite? Сделал, изменил на нужную позицию и размер, сохранил, добавил в мод, ввёл имя библиотеки и название картинки.

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


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

@Rafael_Rosse TDEditor v2.3, в интернете введи. Бомбить на меня тут не надо, я всё доступно объяснил, иди лучше русский язык подтяни. Неужели трудно самому сделать TextDraw Sprite? Сделал, изменил на нужную позицию и размер, сохранил, добавил в мод, ввёл имя библиотеки и название картинки.

как сделать TextDraw Sprite как туда добавить чтобы я в тде спрайт нажал выбрал и у меня на экране появилась это моя картинка ? свою картинку обьяснишь поставлю лайки на все пост итд надеюсь теперь ясно выяснился? 

Отредактировано пользователем Rafael_Rosse
Причина: Дополнил текст

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


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

И еще вопрос всем игрокам видно будет моя картинка? который я сделаю? 

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


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

@Rafael_Rosse, только если все установят модпак.

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


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

@Rafael_Rosse, только если все установят модпак.

а как  без мод пака в сампе сделать

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


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

@Rafael_Rosse, свою картинку - никак.

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


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

@Rafael_Rosse, свою картинку - никак.

как так  если вон даймонд рп  не реклама пример кристал как то сделали и когда скачиваю чистую где не будь гта их кристал не проподает в сампе 

hZPd-cSyq0k.jpg.8b32b9a3d247377d5ea7b0eef37a7a73.jpg

Отредактировано пользователем Rafael_Rosse
Причина: Дополнил текст

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


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

@Rafael_Rosse Это не картинка

Отредактировано пользователем Nicinen

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


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

а как  без мод пака в сампе сделать

Вот есть утилита, которая конвертирует картинку в TD, но естественно с потерей качества - https://forum.sa-mp.com/showthread.php?t=274064

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


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

Вот есть утилита, которая конвертирует картинку в TD, но естественно с потерей качества - https://forum.sa-mp.com/showthread.php?t=274064

иё все  будут видеть игроки? без модпака? 

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


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

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

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

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

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


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

Войти

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


Войти

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

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

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

    • Mister Odin
      От Mister Odin
       
      new
       g_teleport_list[39][E_TELEPORT_LIST] = {  {"Спавн пгт.Батырево", 1802.3612, 2508.4824, 15.8887},  {"Спавн г.Арзамас", -113.5887, 977.7222, 12.0346},     {"Спавн г.Южный", 2744.2770, -2446.7246, 21.8988},     {"Центральный банк", 1852.020385,2040.791381,15.892713},  {"Рублёвка", -837.7783, 888.6161, 12.7232},  {"Казино", 1332.4252, 2358.7014, 17.6641},  {"Битва за контейнеры", 614.5167, 1722.3566, 12.0709},  {"Автосалон низкого класса", 2493.9616, -722.9544, 12.3315},  {"Автосалон среднего класса", 1407.7449, 455.4801, 13.1630},  {"Автосалон высокого класса", -14.0637, 2614.5664, 10.9892},   {"Мотосалон Harley Davidson", 785.720153, 750.465087, 12.000024},  {"Автошкола", 1909.174438,2227.679687,15.708162},  {"Военкомат", 1916.778564,2302.411376,15.574637},  {"Правительство области", -139.140975,593.789611,12.145712},  {"Отдел полиции №1 (ГИБДД)", 1906.805786,-2234.382812,11.257631},  {"Отдел полиции №2 (УМВД)", 2581.309326,-2416.139892,21.960090},  {"Отдел ФСБ", 1823.904663,2095.636718,15.848405},  {"Городская больница г.Арзамас", -285.797210,581.851562,12.120290},   {"СМИ", -317.708038,821.221679,13.051450},  {"Воинская часть", 1703.197265,1678.025878,15.279437},  {"Арзамасская ОПГ", 438.705322,1046.505126,12.002637},  {"Батыревская ОПГ", 1941.203857,2161.006591,15.705187},  {"Лыткаринская ОПГ", -2346.002441,75.257041,21.002962},  {"Шахта", 2381.5727, 1726.4451, -2.1506},  {"Завод", -1062.6697, 2204.1894, 38.0964},  {"Инкосация", 1864.1374, 2011.7136, 15.8546},  {"Транспортная Компания", 2362.1115, 1972.5627, 15.5530},  {"База механиков", 1840.918090,-118.025146,15.695312},  {"Курьерская служба доставки", 2764.509765,-2396.882568,21.890625},  {"Аренда автобуса(Южный)", 2771.041992,-2454.780761,21.845964},  {"Аренда автобуса(Арзамас)", -127.487670,943.652648,12.142824},   {"Аренда автобуса(Батырево)", 1798.986328,2529.591552,15.664262},  {"Гоночная трасса", -1568.7784, 1611.8305, 36.3971},  {"Дом на горе", -789.5397, -456.7479, 741.1422},  {"СТО и тюнинг-ателье", 1856.1375, -122.3266, 15.6888},  {"Аренда транспорта пгт.Батырево", 1763.641723,2255.673339,15.865348},  {"Аренда транспорта г.Арзамас", -36.923530,1360.673583,12.002090},  {"Аренда транспорта г.Южный", 1966.599975,-2603.943603,10.820312},  {"Тайный интерьер в Лыткарино", -2424.5818, 2846.3291, 40.7908} };
    • Garnik
      От Garnik
      ERRORS:
      : error 017: undefined symbol "HouseInfo"
      : error 017: undefined symbol "OWNABLEHOUSES"
      : error 029: invalid expression, assumed zero
      : fatal error 107: too many error messages on one line
      ===============================================================================================================
       
       
      ================================================================================================================
      CMD:addhouse(playerid,params[])
      {
              if(PI[playerid][pAdmin] < 10)return false;
              new string[650];
              new house_class, house_price;
              new Float:X, Float:Y, Float:Z, Float:A;
              if(sscanf(params, "ii", house_class,house_price))
              {
                      SendClientMessage(playerid, -1, "???????????: /addhouse [????? ??????] [???? ???????]");
                      SendClientMessage(playerid, -1, "??????: [1 - ??????-?????] [2 - ???????-?????] [3 - ???????-?????] [4 - ???????-?????]");
                      return 1;
              }
              if(house_class > 4 || house_class < 1)
              {
                      SendClientMessage(playerid, -1, "ID ????????? ?? 1 ?? 4");
                      return 1;
              }
              //
              GetPlayerPos(playerid,X,Y,Z);
              GetPlayerFacingAngle(playerid,A);
              HouseInfo[OWNABLEHOUSES][hEnter_X]=X;
              HouseInfo[OWNABLEHOUSES][hEnter_Y]=Y;
              HouseInfo[OWNABLEHOUSES][hEnter_Z]=Z;
              HouseInfo[OWNABLEHOUSES][hEnter_A]=A;
              HouseInfo[OWNABLEHOUSES][hKlass]=house_class;
              HouseInfo[OWNABLEHOUSES][hCost]=house_price;
              string="";
              strmid(HouseInfo[OWNABLEHOUSES][hOwner],"The State",0,strlen("The State"),28);
              format(string, 144, "?? ??????? ??????? ??? ????? {e7e7e7}%d {ffffff}????????? ???????: {e7e7e7}%d",OWNABLEHOUSES+1,HouseInfo[OWNABLEHOUSES][hCost]);
              SendClientMessage(playerid,-1,string);
              //
              string="";
              format(string,1500,"INSERT INTO `houses`(`ID`,`Enter_X`, `Enter_Y`, `Enter_Z`, `Enter_A`,`Exit_X`, `Exit_Y`, `Exit_Z`, `Owner`, `Cost` , `Klass`, `Interior`, `Level`) VALUES ('%d','%.2f','%.2f','%.2f','%.2f','267.1','305','999.148','The State','%d','%d','2','1')",
              OWNABLEHOUSES+1,HouseInfo[OWNABLEHOUSES][hEnter_X],HouseInfo[
              OWNABLEHOUSES][hEnter_Y],HouseInfo[OWNABLEHOUSES][hEnter_Z]
              ,HouseInfo[OWNABLEHOUSES][hEnter_A],HouseInfo[OWNABLEHOUSES]
              [hCost],HouseInfo[OWNABLEHOUSES][hKlass]);
              mysql_tquery(mysql, string);
              OWNABLEHOUSES++;
              return 1;
      }
    • Garnik
      От Garnik
      ERRORS:
      : error 017: undefined symbol "HouseInfo"
      : error 017: undefined symbol "OWNABLEHOUSES"
      : error 029: invalid expression, assumed zero
      : fatal error 107: too many error messages on one line
      ===============================================================================================================
       
       
      ================================================================================================================
      CMD:addhouse(playerid,params[])
      {
              if(PI[playerid][pAdmin] < 10)return false;
              new string[650];
              new house_class, house_price;
              new Float:X, Float:Y, Float:Z, Float:A;
              if(sscanf(params, "ii", house_class,house_price))
              {
                      SendClientMessage(playerid, -1, "???????????: /addhouse [????? ??????] [???? ???????]");
                      SendClientMessage(playerid, -1, "??????: [1 - ??????-?????] [2 - ???????-?????] [3 - ???????-?????] [4 - ???????-?????]");
                      return 1;
              }
              if(house_class > 4 || house_class < 1)
              {
                      SendClientMessage(playerid, -1, "ID ????????? ?? 1 ?? 4");
                      return 1;
              }
              //
              GetPlayerPos(playerid,X,Y,Z);
              GetPlayerFacingAngle(playerid,A);
              HouseInfo[OWNABLEHOUSES][hEnter_X]=X;
              HouseInfo[OWNABLEHOUSES][hEnter_Y]=Y;
              HouseInfo[OWNABLEHOUSES][hEnter_Z]=Z;
              HouseInfo[OWNABLEHOUSES][hEnter_A]=A;
              HouseInfo[OWNABLEHOUSES][hKlass]=house_class;
              HouseInfo[OWNABLEHOUSES][hCost]=house_price;
              string="";
              strmid(HouseInfo[OWNABLEHOUSES][hOwner],"The State",0,strlen("The State"),28);
              format(string, 144, "?? ??????? ??????? ??? ????? {e7e7e7}%d {ffffff}????????? ???????: {e7e7e7}%d",OWNABLEHOUSES+1,HouseInfo[OWNABLEHOUSES][hCost]);
              SendClientMessage(playerid,-1,string);
              //
              string="";
              format(string,1500,"INSERT INTO `houses`(`ID`,`Enter_X`, `Enter_Y`, `Enter_Z`, `Enter_A`,`Exit_X`, `Exit_Y`, `Exit_Z`, `Owner`, `Cost` , `Klass`, `Interior`, `Level`) VALUES ('%d','%.2f','%.2f','%.2f','%.2f','267.1','305','999.148','The State','%d','%d','2','1')",
              OWNABLEHOUSES+1,HouseInfo[OWNABLEHOUSES][hEnter_X],HouseInfo[
              OWNABLEHOUSES][hEnter_Y],HouseInfo[OWNABLEHOUSES][hEnter_Z]
              ,HouseInfo[OWNABLEHOUSES][hEnter_A],HouseInfo[OWNABLEHOUSES]
              [hCost],HouseInfo[OWNABLEHOUSES][hKlass]);
              mysql_tquery(mysql, string);
              OWNABLEHOUSES++;
              return 1;
      }
    • Danya_Lucky
      От Danya_Lucky
      CMD:car(playerid, params[])
      {
          new fmt_text[2640], Cache: result, id;
          mysql_format(mysql, fmt_text, sizeof fmt_text, "SELECT * FROM ownable_cars WHERE owner_id='%d'", GetPlayerAccountID(playerid));
          result = mysql_query(mysql, fmt_text, true);
          new rows = cache_num_rows();
          if(!rows) return SendClientMessage(playerid, 0x999999FF, "У Вас нет личного транспорта");
          new model_id, region[10], car_number[10];
          format(fmt_text, sizeof fmt_text, "");
          for(new i = 0; i < rows; i ++)
          {
              id = cache_get_field_content_int(i, "id");
              model_id = cache_get_field_content_int(i, "model_id") - 400;
              cache_get_field_content(i, "number", car_number);
              cache_get_field_content(i, "region", region);
              STRING_GLOBAL[0] = EOS;
              format(STRING_GLOBAL, sizeof STRING_GLOBAL, "{FFFFFF}%d. %s {888888}[%s | %s]\n", i + 1, GetVehicleInfo(model_id, VI_NAME), car_number, region);
              strcat(fmt_text, STRING_GLOBAL);
              SetPlayerListitemValue(playerid, i, id);
          }
          Dialog(playerid, DIALOG_OWNABLE_CAR_LIST, DIALOG_STYLE_LIST,"{0099FF}Выберите транспорт",fmt_text,"Выбрать", "Закрыть");
          cache_delete(result);
          return 1;
      }
    • Danya_Lucky
      От Danya_Lucky
      Как сделать /gh на визуал ник?