Доброго времени. Вопрос встал в кустах. Ну никак не хотят они отображаться... Я даже не знаю как вопрос сформулировать, перепробовал штук 5 конфигов, и с отдельными файлами cfgClutter, cfgSurfaces, и в общем конфиге карты. С отдельными файлами просто нет кустов, в общем конфиге ругается на не определенный класс. Кусты стоковые армовские подключаю. Может бисы с обновой чё поменяли, куда копать?

Clutter и Surfaces

Лучший Ответ dos622 , 16 September 2016 - 22:00
A3 1.28) Surface types: "#GdtStratisConcrete" "#GdtStratisDryGrass" "#GdtStratisGreenGrass" "#GdtStratisRocky" "#GdtStratisForestPine" "#GdtStratisBeach" "#GdtStratisDirt" "#GdtVRsurface01" "#GdtDirt" "#GdtGrassGreen" "#GdtGrassDry" "#GdtSoil" "#GdtThorn" "#GdtStony" "#GdtConcrete" "#GdtMarsh" "#GdtBeach" "#GdtSeabed" "#GdtDead"
это те что выдает по https://community.bi...iki/surfaceType
еще тут https://forums.bistu...ter-collection/
на сколько помню там ставились звуки, громкость пыль и что то еще... а помоему дальность отрисовки была, т.е. на каком растоянии трава пропадала.
Перейти к сообщению
#1
OFFLINE
Отправлено 15 September 2016 - 04:34
#2
OFFLINE
Отправлено 15 September 2016 - 05:06
Момент ещё, пбо прожект ругается на отсутствующие файлы кустов. Может быть проблема в кривом отображении диска п? У меня вин10 и она чего то мутит с этим диском. Аддон билдер всё собирает без проблем.
#3
OFFLINE
Отправлено 15 September 2016 - 10:07
если ругается на не определенный класс, возникает логичный вопрос, как в конфиге у тебя описан этот класс. Т.к. обычно если с путями что то не так, он пишет:
Warning Message: "лалалла" not found
#4
OFFLINE
Отправлено 15 September 2016 - 12:56
Блок с моделями кустов начинается с class clutter. Стоит отдельно, хотя где-то видел, что должен быть в блоке cfgworlds.
Где почитать про определение классов? Т.к. не совсем понятна логика определения. В конфиге многовато строк class Defaultclutter. И повторюсь, что класс он не может определить только с общим конфигом (в котором всё прописано, и сами кусты, и сурфейсы). Если в общем конфиге ссылка на отдельные конфиги, то сборка проходит. Вообще имеет значение где прописаны эти кусты и сурфейсы? Я имею ввиду либо в отдельных файлах cfg***, либо в общем config.cpp
#5
OFFLINE
Отправлено 15 September 2016 - 17:38
class CfgWorlds { class DefaultWorld { cutscenes[] = {"Stratis_Intro1", "Stratis_Intro2"}; class Weather { class Overcast; }; class WaterExPars; }; class CAWorld : DefaultWorld { class Grid {}; class DayLightingBrightAlmost; class DayLightingRainy; class DefaultClutter; class Weather : Weather { class Lighting; class Overcast : Overcast { class Weather1; class Weather2; class Weather3; class Weather4; class Weather5; class Weather6; }; }; }; class DefaultLighting; class Stratis : CAWorld { /* объявляем базовый класс, чем даём понять компилятору, что мы собираемся использовать свойства данного класса для наследования другими классами созданными на базе данного класса */ class DefaultClutter; class Clutter { /* определяем класс StrBigFallenBranches_pine, те обязательные свойства которые не указаны при создании данного класса будут взяты из базового класса DefaultClutter. Это Си, разница с Си только в синтаксисе написания, и отсутствие наследования методов объекта. Так что про классы вы найдёте в туториалах про Си, "Классы и наследование классов.", делая естественно поправки на то, что писаться будут эти классы в конфиге армы. И тем не менее суть одна, это создание классов, и правильное их наследование. */ class StrBigFallenBranches_pine : DefaultClutter { model = "A3\Plants_F\Clutter\c_bigFallenBranches_pine.p3d"; affectedByWind = 0.0; swLighting = 0; scaleMin = 0.3; scaleMax = 0.7; }; }; }; class MyNewMap : Stratis { class Clutter : Clutter { class StrBigFallenBranches_pine : StrBigFallenBranches_pine { /* модифицируем ранее определённый класс StrBigFallenBranches_pine в классе карты Stratis, с целью изменить модель, ранее определённую в данном классе */ model = "A3\Plants_F\Clutter\c_bigFallenBranches_pine02.p3d"; }; }; }; };
#6
OFFLINE
Отправлено 15 September 2016 - 17:50
Я имею ввиду либо в отдельных файлах cfg***, либо в общем config.cpp
Если вы размазываете конфигурацию по нескольким отдельным файлам, я не осуждаю такой подход), я так же поступаю с очень большими по объёму конфигурациями, это банально удобно.
В таком случае нужно указать в файле config.cpp пути то этих отдельных блоков конфигурации
#include "filename.hpp" /* расширение файлов не имеет значения, строки ниже так же верны */ #include "filename.inc" #include "filename.txt"
Сообщение отредактировал SteelRat: 15 September 2016 - 17:51
#7
OFFLINE
Отправлено 15 September 2016 - 18:02
Спасибо, понемногу разбираюсь.
#8
OFFLINE
Отправлено 15 September 2016 - 20:16
Всё равно, пбо проджект ругается на отсутствующие файлы моделей кустов... Пути как в туториалах, папка а3 распакована, лежит в корне п диска. Но! Винда упорно не желает его отображать... 10-ка. Поэтому все операции провожу через папку, в которой живет диск п. Ее же указываю при запаковке. Это может быть причиной?
#9
OFFLINE
Отправлено 15 September 2016 - 20:25
в путях попробуй перый слеш убрать или поставить типа такого:
\my_addon\folders.file.p3d
поменяй на
my_addon\folders.file.p3d
или наоборот, у них както в этом месте криво все
и глупый вопрос, но все же: а эти файлы есть, на тех путях что ты прописываешь?
#10
OFFLINE
Отправлено 15 September 2016 - 23:01
в путях попробуй перый слеш убрать или поставить типа такого:
\my_addon\folders.file.p3d
поменяй на
my_addon\folders.file.p3d
или наоборот, у них както в этом месте криво все
и глупый вопрос, но все же: а эти файлы есть, на тех путях что ты прописываешь?
скорее всего у человека байда с путями, как вариант не стыкуются пути по которым лежат модели с путём указанном в префикс файле например.
лежит в корне п диска. Но! Винда упорно не желает его отображать... 10-ка.
Хоть двадцатка, этого диска по факту нет, папка, это и есть диск Р
#11
OFFLINE
Отправлено 15 September 2016 - 23:58
Я понимаю, что его нет. Файлы на месте. Где-то засада с присвоением класса surface к текстуре. Я думаю.. Свойства поверхности, пыль там, макс. скорость, не меняются.
#12
OFFLINE
Отправлено 16 September 2016 - 00:16
DarkEndless, покажи конфиг, будет проще, хоть гадать не будем, как там и что.
#13
OFFLINE
Отправлено 16 September 2016 - 01:34
#define _ARMA_ //IMPORTANT!! //Class map_stratis : config.bin{ class CfgPatches { class z // { units[] = {""}; //not sure if it must be filled, as Stratis didn't, but A2 Maps did... weapons[] = {}; requiredVersion = 0.1; requiredAddons[] = {"A3_Data_F"}; author = "CAPTNCAPS"; //Author Name (this entry exists twice!) mail = "AuthorsEmail@Adress.com"; }; }; class CfgVehicles{}; //I think useless in ArmA3 class CfgWorlds { class DefaultWorld { cutscenes[] = {""}; //Сцена в меню. Создайте миссию и укажите путь. class Weather { class Overcast; }; }; class CAWorld: DefaultWorld { class Grid{}; class DayLightingBrightAlmost; class DayLightingRainy; class DefaultClutter; class Weather: Weather { class Lighting; class Overcast: Overcast { class Weather1; class Weather2; class Weather3; class Weather4; class Weather5; class Weather6; }; }; }; class DefaultLighting; class z: CAWorld { dynLightMinBrightnessAmbientCoef = 0.5; dynLightMinBrightnessAbsolute = 0.05; class Sea { seaTexture = ""; seaMaterial = "#water"; shoreMaterial = "#shore"; shoreFoamMaterial = "#shorefoam"; shoreWetMaterial = "#shorewet"; WaterMapScale = 20; WaterGrid = 50; MaxTide = 0; MaxWave = 0.25; SeaWaveXScale = "2.0/50"; SeaWaveZScale = "1.0/50"; SeaWaveHScale = 1.0; SeaWaveXDuration = 5000; SeaWaveZDuration = 10000; }; class Underwater { noWaterFog = -0.001; fullWaterFog = 0.001; deepWaterFog = 200; waterFogDistanceNear = 10; waterFogDistance = 40; waterColor[] = {0.04,0.16,0.22}; deepWaterColor[] = {0.0,0.001,0.009}; surfaceColor[] = {0.04,0.16,0.22}; deepSurfaceColor[] = {0.0,0.001,0.009}; }; class SeaWaterShaderPars { refractionMoveCoef = 0.03; minWaterOpacity = 0.0; waterOpacityDistCoef = 0.4; underwaterOpacity = 0.5; waterOpacityFadeStart = 60; waterOpacityFadeLength = 120; }; startWeather = 0.3; //sets weather when opening map in editor startFog = 0.0; //sets fog value when opening map in editor | same as fog slider in editor (probably) forecastWeather = 0.3; //sets forecast when opening map in editor forecastFog = 0.0;//~ startFogBase = 0.0;//~ forecastFogBase = 0.0;//~ startFogDecay = 0.013;//~ forecastFogDecay = 0.013;//~ fogBeta0Min = 0.0;//~ fogBeta0Max = 0.05;//~ class Lighting: DefaultLighting //Too much D: (https://sites.google.com/site/islandconfigs/cfgworlds-overview/cfgworlds-lighting-weather) { }; class DayLightingBrightAlmost; class DayLightingRainy; class Weather: Weather //WAY too much Dx (https://sites.google.com/site/islandconfigs/cfgworlds-overview/cfgworlds-weather) { class Lighting; class Overcast: Overcast { class Weather1; class Weather2; class Weather3; class Weather4; class Weather5; class Weather6; }; }; hazeDistCoef = 0.1; //?? hazeFogCoef = 0.98; //?? hazeBaseHeight = 150; //?? hazeBaseBeta0 = 6e-005; //?? hazeDensityDecay = 0.0006; //?? horizonParallaxCoef = 0.045; //?? horizonFogColorationStart = "0.8f"; //?? skyFogColorationStart = "0.7f"; //?? soundMapSizeCoef = 4; //?? satelliteNormalBlendStart = 10; //?when satellite and HD texture blend? satelliteNormalBlendEnd = 100; //?when satellite and HD texture blend? access = 3; //unknown, leave 3 set worldId = 1337; //unknown, change to any number you like cutscenes[] = {""}; //Сцена в меню. Создайте миссию и укажите путь. description = "DEMO, The Village"; //Описание, название острова icon = ""; //Иконка острова worldName = "z\z.wrp"; //path to your WRP file pictureMap = ""; //Editor Picture pictureShot = ""; //Loadingscreen Picture plateFormat = "AS$-####"; //unknown plateLetters = "ABCDEGHIKLMNOPRSTVXZ"; //unknown author = "CAPTNCAPS"; //Автор mapSize = 2048; //Размер карты mapZone = 35; //unknown longitude = 16.482; //west is negative!! latitude = -35.097; //south is positive!! elevationOffset = 0;//?? envTexture = ""; //reflection image, you probably want to change this, so it's not greece anymore... newRoadsShape = ""; //Файлы дорог class OutsideTerrain //so-called "Debug" area of ArmA { satellite = "A3\map_Stratis\data\s_satout_co.paa"; enableTerrainSynth = 0; class Layers { class Layer0 { nopx = ""; texture = ""; }; }; colorOutside[] = {0.294118,0.333333,0.372549,1}; }; class Grid: Grid { offsetX = 0; //grid offset from maps edges offsetY = 8192; class Zoom1 //Different Grid When Zooming in/out { zoomMax = 0.2; //Very Zoomed In format = "XY"; formatX = "000"; //Shown on border of map, to determine grid (can also be Aaa) formatY = "000"; //Shown on border of map, to determine grid (can also be Aaa) stepX = 100; //100m Grid? stepY = -100; //100m grid? }; class Zoom2 { zoomMax = 0.95; //Zoomed in a little format = "XY"; formatX = "00"; //Shown on border of map, to determine grid (can also be Aa) formatY = "00"; //Shown on border of map, to determine grid (can also be Aa) stepX = 1000; //1km grid? stepY = -1000; //1km grid? }; class Zoom3 { zoomMax = 1e+030; //completely zoomed out format = "XY"; formatX = "0"; //Shown on border of map, to determine grid (can also be A) formatY = "0"; //Shown on border of map, to determine grid (can also be A) stepX = 10000; //10km grid? stepY = -10000; //10km grid? }; }; startTime = "12:00"; //Time set when you load this Island in Editor startDate = "6/7/2035"; //Date set when you load this Island in Editor centerPosition[] = {2500,5650,1024}; //where the editor focuses on when you start the map (probably) seagullPos[] = {1024,150.0,1024}; //if player respawns as seagull?? ilsPosition[] = {1531,5019}; //Airport position (https://www.youtube.com/watch?v=0S623la_QBg) ilsDirection[] = {-0.2588,0.08,-0.9659}; //Airport "rotation" ilsTaxiOff[] = {1776.33,5943.46,1796.3,5994.64,1800.18,6000.15,1808.87,6001.77,1846.74,5991.52,1875.43,5943.27,1845.88,5831.4}; //Taxiway Waypoints when Landing ilsTaxiIn[] = {1845.88,5831.4,1613.95,4953.91,1610.09,4947.58,1601.67,4945.44,1528.24,4964.76,1522.46,4968.34,1520.47,4976.63,1525.46,4998.98}; //Taxiway Waypoints when Taking Off class ReplaceObjects{};//?? class Sounds//?? { sounds[] = {}; }; class Animation//?? { vehicles[] = {}; }; clutterGrid = 1.5; //not sure, I think lower number needs better pc, just don't touch clutterDist = 125; //Max Distance to see grass (in meters) noDetailDist = 65; //not quite sure fullDetailDist = 15; //probably how far you see HD ground textures midDetailTexture = "A3\Map_Data\middle_mco.paa"; //I'd just leave it minTreesInForestSquare = 4;//?? minRocksInRockSquare = 4;//?? class Subdivision //Subdivision of Terrain Mesh (https://sites.google.com/site/islandconfigs/cfgworlds-overview/cfgworlds-subdivision-ambient) { class Fractal { rougness = 5; //texture roughness factor maxRoad = 0.02; //max. value for squares containing road maxTrack = 0.5; //max. value for squares containing track maxSlopeFactor = 0.05;//max. coeficient depending on slope }; class WhiteNoise { rougness = 2; maxRoad = 0.01; maxTrack = 0.05; maxSlopeFactor = 0.0025; }; minY = -0.0;//do not divide surfaces that are under given limit minSlope = 0.02;//do not divide flat surfaces }; class Ambient{}; //useless in A3 I guess, leave in just in case class AmbientA3 //basically where animals etc. show up (https://sites.google.com/site/islandconfigs/cfgworlds-overview/cfgworlds-subdivision-ambient) { maxCost = 500; class Radius440_500 { areaSpawnRadius = 440.0; areaMaxRadius = 500.0; spawnCircleRadius = 30.0; spawnInterval = 4.7; class Species { class Kestrel_random_F { maxCircleCount = "((1 - night) * 2 * (1 - (WaterDepth interpolate [1,30,0,1])) + (2 * (hills))) * (1 - night)"; maxWorldCount = 4; cost = 3; spawnCount = 1; groupSpawnRadius = 10; maxAlt = 200; minAlt = -10; }; class Seagull { maxCircleCount = "((sea * (1 - night)) + (2 * houses * sea)) * (1 - night)"; maxWorldCount = 8; cost = 3; spawnCount = 1; groupSpawnRadius = 10; maxAlt = 200; minAlt = -10; }; class Rabbit_F { maxCircleCount = "(20 * (0.1 - houses)) * (1 - sea)"; maxWorldCount = 4; cost = 5; spawnCount = 1; groupSpawnRadius = 10; maxAlt = 80; minAlt = -5; }; }; }; class Radius40_60 { areaSpawnRadius = 50.0; areaMaxRadius = 83.0; spawnCircleRadius = 10.0; spawnInterval = 1.5; class Species { class CatShark_F { maxCircleCount = "(4 * (WaterDepth interpolate [1,30,0,1]))"; maxWorldCount = 10; cost = 6; spawnCount = 1; groupSpawnRadius = 10; maxAlt = 10; minAlt = -80; }; class Turtle_F { maxCircleCount = "(2 * (waterDepth interpolate [1,16,0,1]) * ((1-houses) * (1-houses)))"; maxWorldCount = 6; cost = 5; spawnCount = 1; groupSpawnRadius = 10; maxAlt = 10; minAlt = -80; }; class Snake_random_F { maxCircleCount = "(1 - houses) * ((2 * (1 - sea)) + (2 * (meadow)))"; maxWorldCount = 3; cost = 5; spawnCount = 1; groupSpawnRadius = 5; maxAlt = 40; minAlt = -5; }; class Salema_F { maxCircleCount = "(12 * ((WaterDepth interpolate [1,30,0,1]) + 0.07))"; maxWorldCount = 40; cost = 5; spawnCount = 2; groupSpawnRadius = 5; maxAlt = 10; minAlt = -80; }; class Ornate_random_F { maxCircleCount = "(12 * ((WaterDepth interpolate [1,30,0,1]) + 0.05))"; maxWorldCount = 30; cost = 5; spawnCount = 3; groupSpawnRadius = 5; maxAlt = 10; minAlt = -80; }; class Mackerel_F { maxCircleCount = "(8 * ((WaterDepth interpolate [1,30,0,1]) + 0.07))"; maxWorldCount = 14; cost = 5; spawnCount = 2; groupSpawnRadius = 5; maxAlt = 10; minAlt = -80; }; class Mullet_F { maxCircleCount = "(8 * ((WaterDepth interpolate [1,30,0,1]) + 0.07))"; maxWorldCount = 14; cost = 5; spawnCount = 2; groupSpawnRadius = 5; maxAlt = 10; minAlt = -80; }; class Tuna_F { maxCircleCount = "(8 * ((WaterDepth interpolate [1,30,0,1]) - 0.2))"; maxWorldCount = 10; cost = 5; spawnCount = 2; groupSpawnRadius = 5; maxAlt = 10; minAlt = -80; }; }; }; class Radius30_40 { areaSpawnRadius = 30.0; areaMaxRadius = 40.0; spawnCircleRadius = 3.0; spawnInterval = 3.75; class Species { class DragonFly { maxCircleCount = "4 * (1 - night) * (1 - (WaterDepth interpolate [1,30,0,1])) * sea * (1 - windy)"; maxWorldCount = 4; cost = 1; spawnCount = 1; groupSpawnRadius = 1; maxAlt = 30; minAlt = -5; }; class ButterFly_random { maxCircleCount = "3 * (1 - night) * (1 - (WaterDepth interpolate [1,30,0,1])) * (1 - windy)"; maxWorldCount = 6; cost = 1; spawnCount = 3; groupSpawnRadius = 1; maxAlt = 30; minAlt = -5; }; class FireFly { maxCircleCount = "(6 * night) * (1 - sea) * (1 - houses) * (1 - windy)"; maxWorldCount = 20; cost = 1; spawnCount = 3; groupSpawnRadius = 3; maxAlt = 30; minAlt = -5; }; class Cicada { maxCircleCount = "(4 * night) * (1 - sea) * (1 - windy)"; maxWorldCount = 6; cost = 1; spawnCount = 3; groupSpawnRadius = 3; maxAlt = 30; minAlt = -5; }; }; }; class Radius15_20 { areaSpawnRadius = 15.0; areaMaxRadius = 20.0; spawnCircleRadius = 2.0; spawnInterval = 2.85; class Species { class FxWindGrass1 { maxCircleCount = "2 * (1 - (WaterDepth interpolate [1,30,0,1])) * (windy interpolate [0.1,0.25,0,1])"; maxWorldCount = 3; cost = 1; spawnCount = 3; groupSpawnRadius = 2.5; maxAlt = 30; minAlt = -5; }; class FxWindGrass2 { maxCircleCount = "2 * (1 - (WaterDepth interpolate [1,30,0,1])) * (windy interpolate [0.1,0.25,0,1])"; maxWorldCount = 3; cost = 1; spawnCount = 3; groupSpawnRadius = 2.5; maxAlt = 30; minAlt = -5; }; class FxWindLeaf1 { maxCircleCount = "2 * (trees + 0.5) * (windy interpolate [0.1,0.25,0,1])"; maxWorldCount = 3; cost = 1; spawnCount = 3; groupSpawnRadius = 2.5; maxAlt = 30; minAlt = -5; }; class FxWindLeaf2 { maxCircleCount = "2 * (trees + 0.5) * (windy interpolate [0.1,0.25,0,1])"; maxWorldCount = 3; cost = 1; spawnCount = 3; groupSpawnRadius = 2.5; maxAlt = 30; minAlt = -5; }; class FxWindLeaf3 { maxCircleCount = "2 * (trees + 0.5) * (windy interpolate [0.1,0.25,0,1])"; maxWorldCount = 3; cost = 1; spawnCount = 3; groupSpawnRadius = 2.5; maxAlt = 30; minAlt = -5; }; class FxWindPollen1 { maxCircleCount = "(3 * (1 - (WaterDepth interpolate [1,30,0,1]))) * (windy interpolate [0.05,0.15,0,1])"; maxWorldCount = 6; cost = 1; spawnCount = 1; groupSpawnRadius = 1; maxAlt = 30; minAlt = -5; }; class FxWindPaper1 { maxCircleCount = "(4 * (1 - (WaterDepth interpolate [1,30,0,1])) * houses) * windy"; maxWorldCount = 2; cost = 1; spawnCount = 1; groupSpawnRadius = 1; maxAlt = 30; minAlt = -5; }; class FxWindPlastic1 { maxCircleCount = "(4 * (1 - (WaterDepth interpolate [1,30,0,1])) * houses) * windy"; maxWorldCount = 2; cost = 1; spawnCount = 1; groupSpawnRadius = 1; maxAlt = 30; minAlt = -5; }; }; }; class Radius6_10 { areaSpawnRadius = 6.0; areaMaxRadius = 10.0; spawnCircleRadius = 1.0; spawnInterval = 0.1; class Species { class HoneyBee { maxCircleCount = "4 * (1 - night) * (1 - sea) * (1 - houses) * (1 - windy)"; maxWorldCount = 8; cost = 1; spawnCount = 1; groupSpawnRadius = 1; maxAlt = 30; minAlt = -5; }; class HouseFly { maxCircleCount = "(3 + 3 * (houses)) * (1 - night) * (1 - (WaterDepth interpolate [1,30,0,1])) * (1 - windy)"; maxWorldCount = 10; cost = 1; spawnCount = 3; groupSpawnRadius = 1; maxAlt = 30; minAlt = -5; }; class Mosquito { maxCircleCount = "3 * (1 - (WaterDepth interpolate [1,30,0,1])) * (1 - windy)"; maxWorldCount = 2; cost = 1; spawnCount = 1; groupSpawnRadius = 1; maxAlt = 30; minAlt = -5; }; }; }; }; #include "cfgClutter.hpp" class Names //City Names (https://www.youtube.com/watch?v=0S623la_QBg) { }; safePositionAnchor[] = {3874.47,4093.64}; //?? safePositionRadius = 1900; //?? loadingTexts[] = {"Тестовый остров Demo The Village", "Тут ваше описание и различные подсказки", "Тут ваше описание и различные подсказки"}; //Loading Texts }; initWorld = "z";//?? demoWorld = "z";//?? }; class CfgWorldList//?? { class z{}; }; //}; #include "cfgSurfaces.hpp"
class CfgSurfaces { class Default {}; class grass_surface : Default { files = "Grass*"; // Класс текстуры из layers.cfg - class grass_green rough = 0.1; dust = 0.05; soundEnviron = "grass"; character = "grass_Character"; soundHit = "soft_ground"; }; }; class CfgSurfaceCharacters { class grass_Character { probability[]={0.3,0.1,0.2,0.3}; // Частота, в данном случае Grass будет чаще встречаться чем Flowers. Общая сумма не более 1.0 names[]={"Grass", "Flowers","Forest_Grass","Shrub"}; // Модели растений из cfgClutter.hpp }; };
class Clutter { class Grass: DefaultClutter // Имя растения, прописывается в cfgSurfaces.hpp { model = "A3\plants_f\Clutter\c_StrGrassGreen_group.p3d"; // Путь к модели растения affectedByWind = 0.6; swLighting = "true"; // Трава будет иметь цвет текстуры. scaleMin = 0.3; // Минимальная высота scaleMax = 1.1; // Максимальная высота relativeColor[]={1,1,1,1}; }; class Flowers: DefaultClutter { model = "A3\plants_f\Clutter\c_Flower_Medium_White2.p3d"; affectedByWind = 0.6; swLighting = "true"; scaleMin = 0.3; scaleMax = 1.1; relativeColor[]={1,1,1,1}; }; class Forest_Grass: DefaultClutter { model = "A3\plants_f\Clutter\c_StrGrassDryMedium_group.p3d"; affectedByWind = 0.6; swLighting = "true"; scaleMin = 0.3; scaleMax = 1.1; relativeColor[]={1,1,1,1}; }; class Shrub: DefaultClutter { model = "A3\plants_f\Clutter\c_StrPlantGreenShrub.p3d"; affectedByWind = 0.6; swLighting = "true"; scaleMin = 0.3; scaleMax = 1.1; relativeColor[]={1,1,1,1}; }; };
class Layers { class Grass_2 { texture = ""; material = "z\data\Grass_2.rvmat"; }; }; class Legend { picture="z\source\mapLegend.png"; class Colors { Grass_2[]={{128,128,64}}; }; };
#14
OFFLINE
Отправлено 16 September 2016 - 11:47
А у тебя CfgSurfaces не участвует в CfgWorlds, это так и задуммано?
#15
OFFLINE
Отправлено 16 September 2016 - 14:34
Пошел учить плюсы.... Я в классах пока не разбираюсь, не дошел ещё. Использую конфиг с урока. В террейн билдере надо какие то хитрые операции проделывать? Делаю сборку карты с того же урока, есть трава. Файлы кустов меняю, всё работает. Пытаюсь то же самое собрать на своей карте, нет нихрена. Всё таки думается мне, что с присвоением кустов к текстуре что-то не ладное.
#16
OFFLINE
Отправлено 16 September 2016 - 15:31
В общем косяк был в заглавной букве. В букве, карл!
Сообщение отредактировал DarkEndless: 16 September 2016 - 16:52
#17
OFFLINE
Отправлено 16 September 2016 - 16:21
DarkEndless,офигеть, оно даже так бывает. во бисы дают
хотя у них где то тоже встречал различие с заглавными и строчными.
но спасибо за опыт, буду знать
#18
OFFLINE
Отправлено 16 September 2016 - 16:38
Вот и я 3 дня возился в непонятках)) Спасибо всем за участие) Надо денек передохнуть
а то уже друзьям вместо "привет" пишу class)))
#19
OFFLINE
Отправлено 16 September 2016 - 18:29
DarkEndless,офигеть, оно даже так бывает. во бисы дают
хотя у них где то тоже встречал различие с заглавными и строчными.
но спасибо за опыт, буду знать
Например в Jscript это две разных переменные
var value = 0; var Value = 1;
А так же некоторые скриптовые команды армы учитываю регистр литер в передаваемом строковом параметре. В этом нет ни чего удивидельного. То что вы пишете в конфиг отправляется прямиком в движок, который говорит на Си, а для Си приведённый пример так же верен, видимо БЕСы местами не делают преобразование данных в нижний регистр, а может эта разница важна, и это норма.
#20
OFFLINE
Отправлено 16 September 2016 - 18:38
class CfgPatches { class z // { units[] = {""}; // если сюда не чего писать, то и нечего сюда писать что попало) weapons[] = {}; requiredVersion = 0.1; requiredAddons[] = {"A3_Data_F"}; author = "CAPTNCAPS"; //Author Name (this entry exists twice!) mail = "AuthorsEmail@Adress.com"; }; };
class CfgPatches { class A3_MyAddonName // { units[] = {}; //not sure if it must be filled, as Stratis didn't, but A2 Maps did... weapons[] = {}; requiredVersion = 0.1; requiredAddons[] = {"A3_Data_F"}; author = "CAPTNCAPS"; //Author Name (this entry exists twice!) mail = "AuthorsEmail@Adress.com"; }; };
Сообщение отредактировал SteelRat: 16 September 2016 - 18:39