Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
  • Нужна помощь?

    Создайте тему в соответствующем разделе
    Не нужно писать всё в чат!
  • Загляните на торговую площадку

    Там вы можете купить
    всё что касается игровых серверов
  • Не хотите бан?

    Пожалуйста, ознакомьтесь с нашими правилами
    Не нарушайте порядок!
  • Продаёте или покупаете?

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

Таблица лидеров


Популярные публикации

Отображаются публикации с наибольшей репутацией на 09/04/20 во всех областях

  1. 2 балла
  2. 2 балла
    Я буду описывать мой метод. Я уверен, что 100% есть другие, более профессиональные и возможно более быстрые, но я делаю именно так ;0 Шаг 1. Что нам понадобится для текстурирования формы и рюкзака (и далее формы) под чистое небо.. ? Для начала сама текстура... я ее нашел путем гугла ? и она подходила по цветам, но не подходила по размерам поэтому для начала сделаем ее бесшовной, это важно, так как иметь на форме шов от текстуры такое ... Вбиваем в поиск texture camo clear sky ? и находим спустя минуту среди вороха текстур текстуру под названием blue navy ? размером 1200 на 1200 пикслей (что для наших целей вполне) но нифига не бесшовную.... Теперь делаем ее бесшовной.. выбираем в меню фотошопа - фильтр - другое - сдвиг и двигаем бегунки так, чтобы швы оказались примерно насередине... Жмем ок.. Теперь выделяем с запасом (в пределах запаса будет происходить смешивание текстуры) вертикальный шов и жмем Shift + F5 и выбираем заполнить с учетом содержимого... результат... Тоже самое проделываем для горизонтального шва... Если на ваш взгляд получается не очень.. потренеруйтесь с выделением, его размерами, подвигайте текстуру снова с помощью фильтра сдвиг, и рано или поздно у вас получится. Ок. Теперь определим эту текстуру, как узор, это нам будет нужно для автоматизации процесса. Меню редактирование -> определить узор -> назовем его чистое небо. Текстуру после этого можно закрывать т.к. она сохранена в наборе узоров в памяти photoshop. Шаг 2. Беремся за текстуру рюкзака. В нашем случае это текстура alice backpack alicebackpack_co.paa для ретекстура очень важно выбирать максимально монохромные текстуры.. Текстуры в игре запечены под нормали, карту высот, они уже смотрятся отлично, и привязаны к сетке.. наша задача взять сохранить "поверхность" особенности текстуры модели, но добавить ей свои. Т.е. две текстуры логично смешать. Итак с помощью программы textview сохраняем текстуру рюкзака в формате .tga сразу в нашу рабочую папку olke/characters/backpack/data/alicebackpack_ClearSky_co.tga и сразу ее назовем под себя.. Убираем ненужные нам цвета с этой текстуры делая ее монохромной. изображение -> коррекция -> черно-белое Теперь создаем пустой слой и заливаем его любым цветом... затем выбираем справа в самом низу меню слоев - добавить стиль слоя (маленькая кнопочка fx параметрах наложения эффектов) наложения узора, выбираем наш узор чистое небо и его тайлинг на текстуре ... в моем случае это было 35% Далее отключаем основную текстуру, (делаем ее невидимой нажав на глаз в слоях) делаем пустой слой и склеиваем слой залитый узором с пустым, через меню слоев -> объединить видимые, чтобы получить новую правильно затайленую текстуру нужного нам масштаба. Теперь играя прозрачностью и наложением верхней текстуры (нашим camo) поверх монохромной текстуры рюкзака в меню слоев, добиваемся приемлемого вида. Там где текстуры быть не должно например лямки рюкзака, текстура металлической рамки вырезаем инструментом ножницы дырки (зажимаем при этом ALT чтобы контролировать процесс). Собственно профит... Да, обратите внимание в процессе изменения прозрачности текстура меняет свой первоначальный оттенок, поэтому придется все это подбирать используя яркость и констрастность, слоев играя режимами смешивания и тд. И еще забывайте сохранить исходники в папку Source если вы не хотите потом по новой резать лекало текстуры, когда вам приспичит сделать форму группировки долг. По факту режете один раз нужные отверстия затем, чтобы сделать новую униформу, просто копируете слой с дырками и текстурой камо и через эффект снова заливаете узором например для долга.. Собственно это технология подходит для создания модов поэтому все лекала сохраняйте в PSD формате фотошопа, чтобы иметь доступ к слоям в папку source там же в проекте, при забинарке ее содержимое автоматически выкинет, и в конечном моде исходников не будет. Теперь сохраняем текстуру в нашу папку data строго в формате *.tga и собственно все. Если все делали по гайду то после забинарке вы получите новую модель рюкзака. id вашего предмета будет соответствовать названию класса в config.cpp вашего рюкзака player.GetInventory().CreateInInventory("AliceBag_ClearSky"); аналогично с формой Удачи. PS: вы можете сделать более продвинутый ретекстур, путем редактирования материалов и текстур материалов -nohq - поверхность, -smdi блеск, _as и тд... все это подвязывается абсолютно точно также через config.cpp и согласно тем же принципам. Как бонус добавил ретекстур формы долга.
  3. 1 балл
    BorizzK

    Время спавна VIP`ок

    По мне так проще ЗАБИТЬ
  4. 1 балл
    BorizzK

    Время спавна VIP`ок

    это на сервере обработка когда по рпц прилетает что клиент респавнится и более ничего кароче время проходит через двигло напрямую и работает ток на клиенте посему на клиенте и надо моддидь как отправить время а просто - в PlayerBase вводим сетевую переменную! в классе int m_RespawnTime; в конструкторе RegisterNetSyncVariableInt("m_RespawnTime",0,256); мин, макс значение - не думаю что макс время будет больше и когда чел на сервер вошел проверяем в массиве по уид - и присваиваем синхрим с клиентом по SetSynchDirty(); моддим класс DatyzGame - он моддится конкретно функцию OnRespawnEvent И там уже когда клиент хочет респавнится - двиг ее вызовет и в ней override void OnRespawnEvent(int time) { // use login time screen for respawn timer PlayerBase respawn_player = PlayerBase.Cast(GetGame().GetPlayer()); if (respawn_player.m_RespawnTime != time) time = respawn_player.m_RespawnTime; if (time > 0) { m_LoginTime = time; if (!m_LoginTimeScreen) { GetUIManager().CloseAll(); UIScriptedMenu parent = GetUIManager().GetMenu(); EnterLoginTime(parent); } m_LoginTimeScreen.SetRespawn(true); m_LoginTimeScreen.SetTime(m_LoginTime); m_LoginTimeScreen.Show(); GetCallQueue(CALL_CATEGORY_SYSTEM).CallLater(this.LoginTimeCountdown, 1000, true); } if (GetPlayer()) GetPlayer().StopDeathDarkeningEffect(); PPEffects.SetDeathDarkening(1); } Думаю так сработает Дерзайте )))
  5. 1 балл
    123new

    Dayz оружейная мастерская.

    по ссылке: возможно прикрепить архивом к сообщению темы, дабы файлы не потерялись ни при каких условиях на форуме и были всегда доступны?
  6. 1 балл
    Irkutsk86

    Метка трэйдеров

    @Dedaq2 Почитать wiki https://github.com/salutesh/DayZ-Expansion-Scripts/wiki/[Server-Hosting]-Adding-server-markers
  7. 1 балл
    vitacite

    Dayz оружейная мастерская.

    После подгонки и проверки в живую, на клиенте Dayz SA внес изменения в гайд. Листинг файла model.cfg class CfgSkeletons { class Default; class ak12_base_skel : Default { skeletonInherit = ""; isDiscrete = 1; SkeletonBones[]= { "magazine" ,"", "trigger" ,"", "bolt" ,"", "firemode" ,"", "mag_release" ,"", "bullet" ,"", }; }; }; class CfgModels { // BASE CLASS DEFINITIONS START class Default; class ak12_base:Default { skeletonName="ak12_base_Skel"; sections[]= { "zbytek", "camo", "magazine", "bullet", "hide_barrel" }; class Animations { }; }; // BASE CLASS DEFINITIONS END }; Я подсветил фон, чтобы была видна ярко-желтая сетка модели. Точки которые используются видны в окне, (более детально можно будет увидеть открыв пример.) Файр-геометрию делаем более детальной чем геометрию. Листинг файла config.cpp class CfgPatches { class olke_weapons_firearms_AK12 { units[] = {}; weapons[] = { "ak12_base" // класс оружия }; requiredVersion = 0.1; requiredAddons[] = // перечисления требуемых аддонов { "DZ_Data", "DZ_Weapons_Firearms", "DZ_Weapons_Ammunition", "DZ_Weapons_Magazines" }; magazines[] = { "ak12_magazine_30rnd", // список используемых магазинов "ak12_magazine_drum" }; ammo[] = {}; // боеприпас если нужно делать свой, в данном случае используем ванильный }; }; class Mode_Safe; // режимы стрельбы оружия class Mode_SemiAuto; class Mode_Burst; class Mode_FullAuto; class cfgWeapons { //инициализация существующего класса AKM на базе которого будем делать АК12 class AKM; // наследуем все параметры класса АКМ, далее будем изменять только то, что нужно изменить под себя. class ak12_base: AKM { scope = 2; // делаем видимым displayName="$STR_АК12BASE"; // короткое название которое отображается в игре привяжем к файлу локализации descriptionShort="$STR_AK12DESC"; // короткое описание нашего ствола model = "\olke\weapons\firearms\AK12\ak12_base.p3d"; //полный путь к модели // attachments[] = {"weaponButtstockAK", "WeaponHandguardAK", "weaponWrap", "weaponOpticsAK", "weaponFlashlight", "weaponMuzzleAK", "weaponBayonetAK"}; // задел под аттачменты на будущее itemSize[] = {6, 3}; // размер в инвентаре PPDOFProperties[] = {1, 0.5, 50, 175, 4, 10}; WeaponLength = 0.476735; recoilModifier[] = {1, 1, 1}; swayModifier[] = {1.5, 1.5, 1}; hiddenSelectionsTextures[] = {"olke\weapons\firearms\ak12\data\AK12_Base_co.paa"}; hiddenSelectionsMaterials[] = {"olke\weapons\firearms\ak12\data\AK12_Base.rvmat"}; ironsightsExcludingOptics[]= {}; // список прицелов (это отдельная тема) magazines[] = //список магазинов { "ak12_magazine_30rnd", "ak12_magazine_drum" }; reloadAction="ReloadAKM"; // анимация (нужно будет потом подгонять в игре) modes[]= // доступные режимы стрельбы { "SemiAuto", "FullAuto" }; // описание режимов стрельбы class FullAuto : Mode_FullAuto { soundSetShot[] = {"AK_Shot_SoundSet", "AK_Tail_SoundSet", "AK_InteriorTail_SoundSet"}; soundSetShotExt[] = {{"AK_silencer_SoundSet", "AK_silencerTail_SoundSet", "AK_silencerInteriorTail_SoundSet"}, {"AK_silencerHomeMade_SoundSet", "AK_silencerHomeMadeTail_SoundSet", "AK_silencerInteriorHomeMadeTail_SoundSet"}}; begin1[] = {"dz\sounds\weapons\firearms\AK74\ak74_single_1", 1, 1, 800}; begin2[] = {"dz\sounds\weapons\firearms\AK74\ak74_single_1", 1, 1, 800}; begin3[] = {"dz\sounds\weapons\firearms\AK74\ak74_single_1", 1, 1, 800}; soundBegin[] = {"begin1", 0.33333, "begin2", 0.33333, "begin3", 0.33333}; beginSilenced_Pro[] = {"dz\sounds\weapons\firearms\AK101\akSilenced", 1, 1, 75}; beginSilenced_HomeMade[] = {"dz\sounds\weapons\firearms\AK101\akSilenced", 1, 1, 100}; soundBeginExt[] = {{"beginSilenced_Pro", 1}, {"beginSilenced_HomeMade", 1}}; reloadTime = 0.1; recoil = "recoil_AK74"; recoilProne = "recoil_AK74_prone"; dispersion = 0.003; magazineSlot = "magazine"; }; class SemiAuto : Mode_SemiAuto { soundSetShot[] = {"AK_Shot_SoundSet", "AK_Tail_SoundSet", "AK_InteriorTail_SoundSet"}; soundSetShotExt[] = {{"AK_silencer_SoundSet", "AK_silencerTail_SoundSet", "AK_silencerInteriorTail_SoundSet"}, {"AK_silencerHomeMade_SoundSet", "AK_silencerHomeMadeTail_SoundSet", "AK_silencerInteriorHomeMadeTail_SoundSet"}}; begin1[] = {"dz\sounds\weapons\firearms\AK74\ak74_single_1", 1, 1, 800}; begin2[] = {"dz\sounds\weapons\firearms\AK74\ak74_single_1", 1, 1, 800}; begin3[] = {"dz\sounds\weapons\firearms\AK74\ak74_single_1", 1, 1, 800}; soundBegin[] = {"begin1", 0.33333, "begin2", 0.33333, "begin3", 0.33333}; beginSilenced_Pro[] = {"dz\sounds\weapons\firearms\AK101\akSilenced", 1, 1, 75}; beginSilenced_HomeMade[] = {"dz\sounds\weapons\firearms\AK101\akSilenced", 1, 1, 100}; soundBeginExt[] = {{"beginSilenced_Pro", 1}, {"beginSilenced_HomeMade", 1}}; reloadTime = 0.1; recoil = "recoil_AK74"; recoilProne = "recoil_AK74_prone"; dispersion = 0.003; magazineSlot = "magazine"; }; class DamageSystem { class GlobalHealth { class Health { hitpoints = 250; healthLevels[] = {{1.0, {"DZ\weapons\firearms\ak74\Data\aks74u.rvmat"}}, {0.7, {"DZ\weapons\firearms\ak74\Data\aks74u.rvmat"}}, {0.5, {"DZ\weapons\firearms\ak74\Data\aks74u_damage.rvmat"}}, {0.3, {"DZ\weapons\firearms\ak74\Data\aks74u_damage.rvmat"}}, {0.0, {"DZ\weapons\firearms\ak74\Data\aks74u_destruct.rvmat"}}}; }; }; }; class AnimationSources // анимации перезарядки магазина от M_249 { class ReloadAnim{source="reload";weapon="dbo_M249";}; class ReloadMagazine{source="reloadmagazine";weapon="dbo_M249";}; class Revolving{source="revolving";weapon="dbo_M249";}; }; }; }; class CfgMagazines // Описание боеприпаса { class Ammunition_Base; //инициализируем Ammunition_Base class Mag_AKM_30Rnd; //вызываем базовый класс Mag_AKM_30Rnd class ak12_magazine_30rnd: Mag_AKM_30Rnd //наследуем базовый класс от AKM нашим классом для AK12 { scope = 2; //делаем видимым displayName = "$STR_AK12_30RND"; //название в файле локализации descriptionShort = "$STR_AK12_30RND_DESC";//краткое описание в файле локализации model = "\olke\weapons\firearms\AK12\ak12_magazine_30rnd.p3d"; //название модели weight = 230; // вес itemSize[] = {1,2}; // размер в инвентаре число занимаемых слотов count = 30; // объем магазина ammo="Bullet_762x39"; // калибр... ;))) будем считать что у нас модифицированный АК12 под 7.62 x 39 ammoItems[] = {"Ammo_762x39"}; // отсылка к патрону isMeleeWeapon = 0; // нет нельзя использовать как холодное оружие tracersEvery=1; // трассеры включены }; class ak12_magazine_drum: Mag_AKM_30Rnd //наследуем базовый класс от AKM нашим классом для AK12 для барабана { scope = 2; //делаем видимым displayName = "$STR_AK12_60RND"; //название в файле локализации descriptionShort = "$STR_AK12_60RND_DESC";//краткое описание в файле локализации model = "\olke\weapons\firearms\AK12\ak12_magazine_drum.p3d"; //название модели для барабанного мазина weight = 230; // вес itemSize[] = {2,2}; // размер в инвентаре число занимаемых слотов count = 60; // объем магазина ammo="Bullet_762x39"; // калибр... ;))) будем считать что у нас модифицированный АК12 под 7.62 x 39 ammoItems[] = {"Ammo_762x39"}; // отсылка к патрону isMeleeWeapon = 0; // нет нельзя использовать как холодное оружие tracersEvery=1; // трассеры включены }; }; class CfgNonAIVehicles { class ProxyAttachment; class Proxyak12_magazine_30rnd: ProxyAttachment { scope = 2; inventorySlot = "magazine"; model = "\olke\weapons\firearms\AK12\ak12_magazine_30rnd.p3d"; // наш магазин в прокси по умолчанию. }; class Proxyak12_magazine_drum: ProxyAttachment { scope = 2; inventorySlot = "magazine"; model = "\olke\weapons\firearms\AK12\ak12_magazine_drum.p3d"; // }; }; В принципе минимально нужные действия мы совершили. листинг файла локализации stringtable.csv Я подготовил специальный "учебный" незабинаренный пакет. Его не получится добавить в мод. но все чтобы разобраться там есть. weaponpacket.zip Рабочая папка для проекта в примере: P:\olke\weapons\firearms\AK12\ В пакете находится два материала в формате rvmat, незабинаренная модель и все конфиги, текстур нет, т.к. я планирую использовать этот и другие стволы данного художника в своем моде. Ссылка на страницу автора оригинальных 3Д моделей https://www.cgtrader.com/eforbstudio При желании можете купить модель (модели) автора и запилить свой пак используя данный гайд. Итоговый результат: PS: Собственно все. Больше спасибо SteelRat за консультутации, по 3dmax и Dayz. ?. PPS: Файлы конфигурации содержат подробные комментации на русском языке. В зависимости от версий Dayz параметры могут менятся, точки в memory лод и анимацию необходимо подгонять в игре под анимацию игрока.
×
×
  • Создать...

Важная информация

Используя этот сайт, вы автоматически обязуетесь соблюдать наши Правила и Политика конфиденциальности.
Чтобы сделать этот веб-сайт лучше, мы разместили cookies на вашем устройстве. Вы можете изменить свои настройки cookies, в противном случае мы будем считать, что вы согласны с этим.

Поддержка