Доброго времени. Вопрос встал в кустах. Ну никак не хотят они отображаться... Я даже не знаю как вопрос сформулировать, перепробовал штук 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











