• Страница 4 из 5
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
FAQ LS2011
JabaДата: Суббота, 28.01.2012, 19:12 | Сообщение # 46
Wicked moderator
68. Создание ровных границ полей на редактируемых картах.

Давайте как говорится "не растекаться мыслью по дереву", а сразу перейдем к просмотру телепередачи из цикла "Из мира да по миру".

JabaДата: Понедельник, 30.01.2012, 19:13 | Сообщение # 47
Wicked moderator
69. Работа с группами в GIANTS Editor 4.1.7 & 4.1.9

JabaДата: Среда, 01.02.2012, 20:34 | Сообщение # 48
Wicked moderator
70. Выравнивание поверхности по заданной высоте. (Способы). Это уже было вообщем то, но все же еще раз...

}I{EKAДата: Суббота, 03.03.2012, 15:53 | Сообщение # 49
¯\_(ツ)_/¯
Группа: Постоянный
Сообщений: 1573
71. Как прописать скрипт полу-автоматического тюкоподборщика.
Всем доброго времени суток и поздравляю всех с третьем днем весны. Сейчас я расскажу как установить скрипт полу-автоматической подборки тюков на прицеп, мое творение ориентировано как всегда на новичка, так что знающие люди могут просто взять скрипт и не читать все эти извращения, которыми я пытаюсь донести как можно съедобней для простого смертного пользователя весь процесс установки этого скрипта.
Итак что-же нам понадобиться:
1. Giants Editor
2. Блокнот или его собратья по мощнее.
3. Сам скрипт.
4. Модели самих тюков, можно и без текстур, они находятся по адресу: C:\Program Files\Farming Simulator 2011\data\maps\models\objects\roundbales\roundbaleStraw.i3d Это модель круглого тюка, а это стандартного, прямоугольного C:\Program Files\Farming Simulator 2011\data\maps\models\objects\strawbale\strawbaleBaler.i3d , есть еще и тюкопрессы, которые вяжут большие прямоугольные тюки, и модели этих тюков должны идти непосредственно с самим тюкопрессом, который их вяжет.
5. Ну и монитор что-бы видеть что мы делаем, я думаю с монитором будет проще...

Итак, начнем.
1. Открываем прицеп гигантом, создаем 6 трансформ групп (3 для точек выгрузки тюков и 3 для групп аттачеров тюков, если Вам три типа тюков не нужны - можете создать одну или две) и запихиваем их в компонент с самим кузовом, значения Translate X,Z можно оставить нулевыми, а вот по оси Y нужно его поместить на дно прицепа (Ну это так для удобства, что-бы не искать в случае чего пивот всей группы хрен знает где), теперь опять же таки для удобства обзываем наши группы, я свои обозвал не долго думая (так-же как и они звались на прицепе, с которого я этот скрипт выдрал biggrin ) точки выгрузки я назвал unloadLeft, unloadRight и unloadBack Ну и группы аттачеров были названы так baleAttachersBig(большие тюки), baleAttachersRound(круглые тюки) и baleAttachersNormal(обычные, прямоугольные).

2. Сейчас я расскажу как поставить точно аттачеры тюков и увидеть как это все хозяйство будет выглядеть "не выходя из гиганта".
Идем по вышеуказанному адресу к желаемому тюку, открываем его, выделяем сам тюк (нам его коллизия не нужна) и жмем "File-->Export Selection...", экспортируем его куда вам угодно, главное что-бы по пути к нему не было русских бакаф.
Импортируем тюк, я буду объяснять на примере прямоугольного, помещаем его в группу baleAttachersNormal (Копировать Ctrl+C, Вставить Ctrl+V). Ставим его на место, затем выделяем его и копируем в ту-же группу (что-бы не приглядываться с лупой советую воспользоваться X, Y, Z и выставить сверхточно). Загружаем сколько надо тюков и если Вас устраивает такая раскладка их на прицепе - сохраняем.

3. Теперь открываем наш .i3d прицепа блокнотом и если вы не меняли название тюка то ищем его под таким именем "strawbaleBaler_vis".
Мы видим примерно следующее:

<Shape name="haybaleBaler_vis" translation="0.588309 2.44434 0.87217" rotation="6.78236 18.2251 -8.95287" nodeId="241" materialIds="38" shapeId="28" castsShadows="true" receiveShadows="true"/>
Все что выделенно красным удаляеться, а то что синим меняется на TransformGroup name="Attacher01"
Имя "Attacher01" чисто для удобства, советую пронумеровать каждый тюк. И так с каждой строкой (тюком), затем по окончании сохраняем, открываем опять в гиганте, тюки должны исчезнуть, а на их месте должны остаться только аттачеры, если все норм - сохраняем и идем дальше.

4. Теперь переходим к прописке аттачеров, точек разгрузки и собстно самого скрипта.
Открываем .xml и где-нить перед закрывающим тегом </vehicle> пишем:
Quote
<unloadLeft index="15"/>
<unloadRight index="16"/>
<unloadBack index="17"/>
<!--<attacherParts count="3">-->
<Attachers1 count="2" index="12" type="big">
<objectAttacher1 index="12|0" />
<objectAttacher2 index="12|1" />
</Attachers1>
<Attachers2 count="2" index="13" type="round">
<objectAttacher1 index="13|0" />
<objectAttacher2 index="13|1" />
</Attachers2>
<Attachers3 count="2" index="14" type="normal">
<objectAttacher1 index="14|0" />
<objectAttacher2 index="14|1" />
</Attachers3>
<!--</attacherParts>-->

Итак что-же здесь за что отвечает:
unloadLeft index="15" - Это индекс левой точки разгрузки. 16, 17 это правая и задняя точки разгрузки.
count="2" - Это количество аттачеров для тюков данного типа.
index="14" - Это индекс группы аттачеров тюков данного типа.
type="normal" - Это тип аттачеров.
objectAttacher1 index="14|0" Это индекс аттачера тюка.
Строки с индексами аттачеров смело создаем и не забываем их нумеровать и так прописываем все тюки.
Теперь же нам остается всего-лишь подключить скрипт в ModDesk`е:
Для этого пишем эти строки в этих блоках:
Эту пишем в этом блоке: <specializations>
Code
        <specialization name="ubt" className="ubt" filename="ubt.lua"/>

А эту пишем в этом: <vehicleTypes>
Code
                  <specialization name="ubt" />

И эти пишем в этом:<inputBindings>
Code
        <input name="ubtDETACH" category="VEHICLE" key1="KEY_o" button="" />
            <input name="ubtATTACH" category="VEHICLE" key1="KEY_b" button="" />
      <input name="ubtTOGGLEUNLOAD" category="VEHICLE" key1="KEY_y" button="" />
      <input name="ubtTOGGLEBALETYPE" category="VEHICLE" key1="KEY_x" button="" />

Вроде все, пардон за многабукаф, если остались вопросы - задаем их на форуме.
}I{EKAДата: Понедельник, 09.07.2012, 07:49 | Сообщение # 50
¯\_(ツ)_/¯
Группа: Постоянный
Сообщений: 1573
72. Как поставить Ploughing Mod на трактор?
Часть 1.
Всем доброго времени суток. По многочисленным просьбам решил обьяснить как же ставить небезызвестный Ploughing Mod. Конечно комплекте поставки так-же присутствует Инструкция по установке(может за бугром ее и читают но нам она не совсем понятна и без метода тыка тут не обойтись) и 2 трактора, это: Deutz Agrotron X720 и Ursus 1224 (по всей видимости последний попал в комплект в качестве примера для 2-х и более компонентных моделей).
Итак сам скрипт надеюсь мы уже скачали, имеется и подопытный трактор, на котором и будем проводить опыты.
Начнем:
1. Открываем modDesc.xml, в блоке <specializations> смело пишем строку:
Quote
<specialization name="PloughingSpec" className="PloughingSpec" filename="PloughingSpec.lua"/>

Обратите внимание на значение выделенное красным, это и есть путь к скрипту то есть скрипт должен лежать в корне архива и никак иначе, если желаете положить скрипт в папку например Script - соответственно дописываем перед названием Script/PloughingSpec.lua.
2. Немного ниже имееться блок <vehicleTypes>, туда мы добавим строку:
Quote
<specialization name="PloughingSpec" />

3. На этом наши приключения с modDesc.xml закончились, можем закрывать его, предварительно сохранив внесенные изменения и смело открывать modname.i3d. скажу сразу что здесь прийдеться немного поработать руками или же головой для большей точности, кому как удобней. Итак в архиве с плугмодом(далее просто ПМ) есть файлик components.i3d, в котором находяться коллизии колес и аттачеры, которыми эти коллизии вместе с колесами и будут цепляться к модели трактора, извлекаем тот самый файлик куда Вам удобней, главное что-бы по пути не было пробелов и русских букаф. Затем открываем .i3d модель самого трактора, на который будем ставить ПМ, жмем в верхнем левом углу GE на выпадающую менюшку "File"(Файл), затем "Import..."(Импорт), находим файлик components.i3d и импортируем его в модель трактора, очень часто в моделях различной техники модострои оставляют помимо самих компонентов еще и всякие лампочки, камеры, а что-бы не запутаться и не лечь костьми возле своих мониторов мы возьмем и поднимем коллизии наших колес к самим компонентам моделей, первая коллизия должна называться так "Wheel_front_right"(Колесо Переднее Правое), вот жмем на нее ПКМ(Правая Кнопка Мыши) и в выпавшей менюшке жмем на "Move Up"(Передвинуть Вверх), ну и передвигаем все коллизии под самый компонент модели, что-бы коллизии стояли сразу-же после компонентов модели.
Ну а теперь у Вас есть 2 варианта:
1) Взять колеса, скопировать их, повставлять куда нужно(в предназначенные для них коллизии) и в полях "Translate" написать нули, Ну а потом выделить всю коллизию и визуально поставить на место.
2) В поле каждого колеса повыписовать координаты позиционирования в полях "Translate" куда-нить на бумажку или же в блокнот, да куда вам угодно, главное что-бы они были, прибавить к ним координаты позиционирования главных коллизий, в которых они находятся(конечно нужно учитывать минусовые значения) и написать результаты в поля "Translate" коллизий колес, затем скопировать сами колеса и распихать их каждое в свою коллизию, затем в полях "Translate" самих колес (не коллизий) написать нули и колеса должны стать точно по своим старым местам, если же у Вас не получается - стукните кулаком по столу и сделайте по способу №1. На всякий случай сохраняем изменения, но не закрываем GE т к он нам еще пригодиться.
}I{EKAДата: Понедельник, 09.07.2012, 07:49 | Сообщение # 51
¯\_(ツ)_/¯
Группа: Постоянный
Сообщений: 1573
Часть 2.
3. Открываем modname.xml, находим блок <wheels> (обычно он почти в самом верху и называется примерно так <wheels autoRotateBackSpeed="2.5">), здесь уже как хотите, можете подписывать каждое колесо так как это сделал Burner(он это сделал для Вашего же удобства),а можете тупо переписать индексы и забыть за этот блок, как Вам угодно.
Обычно у трактора 4 колеса, 2 из них передние и должны поворачиваться, отличить их от задных можно по ряду параметров, Это: rotSpeed="70"(Скорость поворота) если же здесь стоит какое-то значение то это значит что колесо поворачиваеться, а значит оно поворотное, что говорит о том что это переднее колесо, коллизию которого Burner подписал как Wheel_front_right хотя колесо может быть и left, смотрите по индексу. Находим в строке колеса параметр repr="X>X" У переднего колеса это должна быть ступица колеса, она крутиться не должна, она должна только поворачиваться при повороте рулевого колеса, соответственно находим ступицу колеса и вписываем вместо красного икса номер компонента-коллизии, в которой находиться нужное колесо, а вместо синего икса вписываем индекс самой ступицы (в заднем колесе индекс уже самого колеса). В параметре driveNode="X>1|0" вместо красного икса вписываем так-же индекс компонента-коллизии того-же колеса, а вместо синего икса вписываем индекс самого колеса, которое вложено в ступицу. Идентичным способом переписываем индекс второго переднего колеса и переходим к задним колесам, тут все намного проще, параметра driveNode здесь нет (если же у трактора всего 2 направляющих колеса, например у Claas 3800 все 4 могут быть направляющими), в параметре repr прописываем идентичным способом, как и прописывали передние колеса, индекс уже самого колеса и идем дальше.
Спустившись немного ниже мы могем наблюдать блок <components> (точнее <components count="1"> Это колличество компонентов, если же у Вас до внесения изменений на тракторе не было всяких болтающихся брызговиков, мостов, елечек т е был всего один компонент и вы добавили еще 4 компонента-коллизии - то вместо единички пишем 5 опять же таки в зависимости сколько у Вас компонентов).
Теперь в тот самы блок и вставляем этот код:
Quote
<!-- front right wheel component -->
<component2 centerOfMass="0 -0.8 0" solverIterationCount="190" />
<!-- front left wheel component -->
<component3 centerOfMass="0 -0.8 0" solverIterationCount="190" />
<!-- back right wheel component -->
<component4 centerOfMass="0 -0.8 0" solverIterationCount="190" />
<!-- back left wheel component -->
<component5 centerOfMass="0 -0.8 0" solverIterationCount="190" />

<!-- front right wheel joint (componentJointIndex = 1) -->
<joint component1="0" component2="1" index="1>0" rotLimit="0 0 0" transLimit="0 0 0" breakable="false"/>
<!-- front left wheel joint (componentJointIndex = 2) -->
<joint component1="0" component2="2" index="2>0" rotLimit="0 0 0" transLimit="0 0 0" breakable="false"/>
<!-- back right wheel joint (componentJointIndex = 3) -->
<joint component1="0" component2="3" index="3>0" rotLimit="0 0 0" transLimit="0 0 0" breakable="false"/>
<!-- back left wheel joint (componentJointIndex = 4) -->
<joint component1="0" component2="4" index="4>0" rotLimit="0 0 0" transLimit="0 0 0" breakable="false"/>

<!-- disable collisions between existing components -->
<collisionPair component1="0" component2="1" enabled="false"/>
<collisionPair component1="0" component2="2" enabled="false"/>
<collisionPair component1="0" component2="3" enabled="false"/>
<collisionPair component1="0" component2="4" enabled="false"/>

Как видите Burner опять подписал строки, итак нас интересуют следующие параметры:
component2 (это тот что над ним написанно front right wheel component) это номер компонента, если же у Вас однокомпонентная модель то сразу-же после 1-го(главного) как правило должен идти 2-й(колесо), а за ним 3-й(колесо) и т д. думаю здесь все понятно. Теперь немного про параметры аттачеров.
component1="0" - это номер компонента к которому колесо будет цепляться.
component2="1" - это номер компонента-коллизии, где находиться само колесо.
index="1>0" Красный - это номер компонента, в котором находиться аттачер, который будет цеплять этот компонент. Синий - это индекс аттачера, который будет цеплять этот компонент. rotLimit, transLimit - это лимиты вращения, перемещения компонента, но думаю что их стоит оставить по нулям, мы же не хотим что-бы наши колеса болтались как у розвалюхи...
Чуть ниже имеется параметр:
component1="0"
component2="1"
Ну здесь все ясно, пишем тоже-самое что и у параметров аттачеров.
Теперь можно сразу после блока <components> написать этот код:
Code
    <!-- main ploughing mod code -->
   <frontRightWheel wheelIndex="1" componentJointIndex="1" furrowDepth="0.3" fallSpeed="0.25" tireWidth="0.4" />
   <frontLeftWheel wheelIndex="2" componentJointIndex="2" furrowDepth="0.3" fallSpeed="0.25" tireWidth="0.4" />
   <backRightWheel wheelIndex="3" componentJointIndex="3" furrowDepth="0.3" fallSpeed="0.25" tireWidth="0.45" />
   <backLeftWheel wheelIndex="4" componentJointIndex="4" furrowDepth="0.3" fallSpeed="0.25" tireWidth="0.45" />
   <!-- end main ploughing mod code -->
     
   <!-- optional ploughing mod code -->
      <workExhaustParticleSystems count="1">
          <workExhaustParticleSystem1 node="25" file="$data/vehicles/particleSystems/exhaustParticleSystemBig.i3d" />
      </workExhaustParticleSystems>
     
   <increaseRpmDuringPloughing value="true" />
   <!-- end optional ploughing mod code -->

Опять же-таки описываю параметры этого кода:
wheelIndex="1" - Номер компонента, в котором находиться колесо.
componentJointIndex="1" - Номер компонента, в котором находиться аттачер колеса.
furrowDepth="0.3" - Глубина на которую колесо будет проваливаться, заезжая на вспаханную землю.
Про остальные 2 параметра незнаю.
Минуточку внимания! Попрошу заранее не кидать в меня камнями, не материться, не злиться на меня, ибо я так поступил для вашего же развития. прикол в том что люди которые хотят поставить этот скрипт на однокомпонентную модель могли не читать все эти обьяснения значений ну кроме колес естстно, их хочешь не хочешь а переписывать надо было, а вот про компоненты могли и не читать, а тупо влепить код и изменить единичку на пятерку там где указывалось количество компонентов и все, т к этот код был взять с однокомпонентной модели.
Ладно, утомил я вас, ну еще 2 каких-то параметра, и все. Это:

Первый из них партикл, который увеличивает дым из выхлопной трубы при пахоте, если он Вам нужен - создайте трансформ-группу в главном компоненте, поставьте его к выхлопной трубе и впишите вместо 25-ти индекс трансформ-группы. Если не нужен то можете закомментировать его и все, примерно так:
Code
    <workExhaustParticleSystems count="1">
          <!--workExhaustParticleSystem1 node="25" file="$data/vehicles/particleSystems/exhaustParticleSystemBig.i3d" /-->
      </workExhaustParticleSystems>

Второй что-то связанно с оборотами, там только 2 положения true и false(Включен и Выключен).
На этом пожалуй все. Удачной Вам пахоты!
JabaДата: Пятница, 27.07.2012, 22:38 | Сообщение # 52
Wicked moderator
73. "как анимацию открытия борта у кузова прописать и где???????????"

По StarТ:
Анимация пишется в i3d блокнотом, в самом низу файла будет блок <Animation> вот там надо добавить анимацию для борта, продублировать один из кусков кода и заменить значения на те которые будут у борта, будет примерно такое написано -

<Animation>
<AnimationSets>
<AnimationSet name="left">
<Clip name="Kip_lewo" duration="2000">
<Keyframes nodeId="112">
<Keyframe time="0" rotation="0 -0 0"/>
<Keyframe time="2000" rotation="0 -0 0"/>
</Keyframes>

<Keyframes nodeId="115">
<Keyframe time="0" rotation="0 -0 0"/>
<Keyframe time="2000" rotation="0 -0 -175"/>
</Keyframes>

</Clip>
</AnimationSet>
</AnimationSets>
</Animation>

это типа кузов - его копируете и снизу вставляете, это вы добавили и цифры rotation=" надо свои ставить - их узнаете подвигав борт в гиганте.
<Keyframe time="0" старт анимации - закрытый борт, <Keyframe time="2000" финиш анимации - открытый на сколько нужно борт. Сюда надо вписать Id который реальный у борта.
И не вздумайте анимацию скопировать отсюда и вписать в свою модельку - кирдык модельки будет, дублируйте то что в вашей модельке написано!

Это анимация кузова, имя анимации и имя клипа ни в коем случае трогать-изменять НЕЛЬЗЯ!

</AnimationSet>
<AnimationSet name="hw80TipCharset">
<Clip name="TipClipSource" duration="10000">
<Keyframes nodeId="837">
<Keyframe time="0" rotation="0 -0 0" iprin="linear" iprout="linear"/>
<Keyframe time="500" rotation="10 -0 0" iprin="linear" iprout="linear"/>
<Keyframe time="10000" rotation="40 -0 0" iprin="linear" iprout="linear"/>
</Keyframes>
<Keyframes nodeId="837">
<Keyframe time="0" rotation="0 -0 0" iprin="linear" iprout="linear"/>
<Keyframe time="10000" rotation="
40 -0 0" iprin="linear" iprout="linear"/>
</Keyframes>

</Clip>
</AnimationSet>
</AnimationSets>
</Animation>

это надо добавить, среднюю строчку можно убрать. Id борта можно и в гиганте посмотреть, но лучше всего найти вручную блокнотом в i3d - гигант иногда его не правильно показывает. Вот пример -

на скрине видно выделеный борт и его nodeId, но лучше запомнить название борта - в данном примере он так и называется bort и найти его блокнотом в блоке <Scene> - это чуть выше анимации -

<Shape name="bort" translation="-1.20986 1.19344 -0.198531" clipDistance="350" nodeId="118" materialIds="26" shapeId="9" castsShadows="true" receiveShadows="true"/>

у меня nodeId совпадает с тем что показывает гигант, вот его и надо вписать сюда. На скрине синим углы ротации при полностью открытом борту - их вписать сюда. Это пример для борта который вращается в верхних петлях. Если борт вращается в нижних петлях и должен открыватся быстро - то можно написать так -

<Keyframes nodeId="837">
<Keyframe time="0" rotation="0 -0 0" iprin="linear" iprout="linear"/>
<Keyframe time="500" rotation="80 -0 0" iprin="linear" iprout="linear"/>
<Keyframe time="10000" rotation="80 -0 0" iprin="linear" iprout="linear"/>
</Keyframes>

борт полностью открывается в первые полсекунды, и закрывается в последние полсекунды - <Keyframe time это время проигрывания анимации.

Всё, более подробно я незнаю как объяснить, пробуйте и экспериментируйте - тогда всё получится.

Приводиться без изменений.
}I{EKAДата: Вторник, 11.09.2012, 02:53 | Сообщение # 53
¯\_(ツ)_/¯
Группа: Постоянный
Сообщений: 1573
74. Со временем игра стала долго запускаться, даже на пустой папке mods. Что делать и как быть?
Хотите верьте, хотите нет, а во всех Ваших бедах виноваты Вы сами, ибо ставите все моды в подряд, которые в свою очередь не стесняясь загружают конфигурационные файлы самой игры, некоторые из них синхронизируются и обновляются, такие как vehicles.xml, который находиться в каждом сейве, а некоторые к сожалению нет, именно по-этому они со временем забиваются лишними функциями, которыми пользовались давно удаленные моды. Итак встречайте, виновник торжества - inputBinding.xml, живет он здесь My Documents\My Games\FarmingSimulator2011, именно в нем прописываются все клавиши управления игры. Есть 2 способа решения проблемы:
1. Удалить его. При следующем запуске игры - автоматически создастся новый, в котором будут прописаны клавиши управления стандартной техники, чуть позже, по мере добавления новых модов будут появляться все новые и новые функции, которыми пользуются добавленные в игру моды. Однако часто часто случаеться такая весщ что могут не работать определенные клавиши, так что их придется прописать заново или выдернуть из старого inputBinding.xml.
2. Собственноручно удалить ненужные функции удаленных модов.
Я лично пользуюсь первым способом, дабы не напрягать мозги. Это обусловлено тем, что мне не безразлична судьба Нашей с Вами планеты, ведь чем больше моя мозговая активность - тем больше я потребляю пищи, а чем больше я потребляю пищи - тем больше возрастает на нее спрос, соответственно чем больше возрастает спрос - тем больше приходиться заготавливать сырья и тратить энергию на его обработку, что в свою очередь вызывает природный дисбаланс и значительно приближает нас к глобальному потеплению. Ладно, если честно - мне тупо лень этим заниматься, да и Вам не советую.
JabaДата: Четверг, 20.12.2012, 15:13 | Сообщение # 54
Wicked moderator
75. К вопросу о "бесшовных" текстурах.


76. Моделирование в 3D MAX. Пример - колесо.


Сообщение отредактировал Jaba - Четверг, 20.12.2012, 15:17
}I{EKAДата: Суббота, 22.12.2012, 15:24 | Сообщение # 55
¯\_(ツ)_/¯
Группа: Постоянный
Сообщений: 1573
77. Что такое лог (log), консоль разработчика, для чего они нужны и как их включить и извлечь из них нужную мне информацию?
В связи с тем, что к опытным игрокам новички часто обращаются за помощью в решении проблем с теми или иными неполадками, ошибками в модах, а опытные чаще всего не имеют поблизости знакомого телепата и не могут оказать помощь в решении проблемы - я решил рассказать все - что я знаю о такой полезной штуке как лог (с консолью разработчика я не заморачивался, я в ней только просматриваю в игре лог и смотрю мониторинг FPS).

Википедия - Файл регистрации, протокол, журнал или лог (англ. log) — файл с записями о событиях в хронологическом порядке. Различают регистрацию внешних событий и протоколирование работы самой программы - источника записей (хотя часто всё записывается в единый файл).

Из-за отсутствия телепатически-одаренных сотрудников в GIANTS Software - им пришлось реализовать протоколирование всех хороших и плохих событий в тот самый лог, который в большинстве случаев покажет корень зла, однако докопаться до правды не всегда получается. За это говорим спасибо разработчикам, которые закрыли доступ к движку игры со всеми его скриптами.

Вообщем я до сих пор не понял почему у некоторых он по умолчанию - включен, а у некоторых - выключен. Причем как на семерке так и на ХР. Для считывания лога (если он включен) нужно перейти в директорию C:\Documents and Settings\Admin\My Documents\My Games\FarmingSimulator2011 и найти в ней файл log.txt, если же такового нет или он есть но в нем ничего не записано - значит он выключен. Так-же следует обратить внимание на мой путь, заметьте Имя пользователя и папка Мои Документы подписаны по английски, игра попросту нипанимает кириллицу, что может стать еще одной причиной неработающего лога. Ниже написано как сменить имя папки Мои Документы.


Так, с проблемами препятствующими работе лога мы разобрались, сейчас его нужно включить. Для этого идем сюда C:\Documents and Settings\Admin\My Documents\My Games\FarmingSimulator2011 и открываем файл game.xml

Ну вот собственно после этих манипуляций лог должен протоколировать события, которые происходят в игре. Теперь Вы знаете как правильно обращаться за помощью. smile
Всем добра!
}I{EKAДата: Среда, 09.01.2013, 03:57 | Сообщение # 56
¯\_(ツ)_/¯
Группа: Постоянный
Сообщений: 1573
78. Различные ошибки лога и способы их решения.
(Что такое лог - написано постом выше)
Этот пост со временем будет дополнятся, в нем буду обьяснять что значат ошибки, с которыми сталкивался и способы их исправления. Других пользователей тоже прошу не оставаться в тени и присылать мне способы решения тех или иных ошибок с которыми сталкивались для дополнения этой статьи. Если что-то не понятно - просьба обращаться в ЛС за более детальными пояснениями непосредственно к автору решения ошибки.

PhysX warning: Static actor moved
(f:\p4sw\sw\legacy\physx\experimental\PhysX_2.8.3\novodex\SDKs\Physics\src\NpActor.cpp:818

JabaДата: Суббота, 02.02.2013, 19:03 | Сообщение # 57
Wicked moderator
79. PolygonCreator v 2.0



Сообщение отредактировал Jaba - Суббота, 02.02.2013, 19:06
}I{EKAДата: Суббота, 16.03.2013, 20:06 | Сообщение # 58
¯\_(ツ)_/¯
Группа: Постоянный
Сообщений: 1573
80. Параметры modDesc.xml
Всем здравствуйте, здесь попытаюсь рассказать о файле modDesc.xml, который является неотъемлемой частью каждого мода. Объяснять буду на примере modDesc.xml из sampleMod 13-й фермы, ибо в нем больше параметров по сравнению с 11-м. В 11-й назначение параметров такое-же. Итак, погнали.

<?xml version="1.0" encoding="utf-8" standalone="no" ?>
<modDesc descVersion="9"> — С этим параметром многие из вас уже знакомы. Это версия modDesc.xml
<author>My Name</author> — Здесь пишем себя любимого, если конечно совесть позволяет.
____________________________________________________________________________
Эти параметры отображаются в настройках игры и при выборе модов для мультиплеера.


<version>1.0</version> — Это собстно версия Вашего мода.
<title>
<en>Sample Mod</en> — Это заголовок мода для английской версии игры.
<de>Beispiel Mod</de> — Это заголовок на немецком языке для немецкой версии игры.
<ru>Сэмпл Мод</ru> — Это уже плоды моей бурной фантазии но уже для русской версии игры.
</title>
<description>
<en>Sample mod description</en> — Это описание мода для англ. версии игры
<de>Beispiel Mod Beschreibung</de> — Это описание мода для немецкой версии игры.
<ru>Описание сэмпл мода</ru> — Это описание мода для русской версии игры
</description>
<iconFilename>store_deutzAgrotronX720.png</iconFilename> — Это картинка.

Эти параметры отображаются в настройках игры и при выборе модов для мультиплеера.
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯


<multiplayer supported="true"/> — Это параметр, который разрешает (true) или запрещает (false) работать моду в мультиплеере.

____________________________________
Эти параметры отображаются в магазине.


<storeItems>
<storeItem>
<en>
<name>Deutz Agrotron X720 Sample Mod</name> — Это заголовок мода для английской версии игры.
<description>
<![CDATA[This is the sample mod]]> — Это описание Вашего мода для английской версии игры.
</description>
</en>
<de>
<name>Deutz Agrotron X720 Sample Mod</name> — Это заголовок мода для немецкой версии игры.
<description>
<![CDATA[Dies ist der Beispielmod.]]> — Это описание Вашего мода для немецкой версии игры.
</description>
</de>
<ru>
<name>Deutz Agrotron X720 Сэмпл Мод</name> — Это заголовок мода для русской версии игры.
<description>
<![CDATA[Это сэмплмод! Всем лежать бояться!]]> — Это описание Вашего мода для русской версии игры.
</description>
</ru>
<rotation>0</rotation> — По всей видимости, будет ли развернута модель при покупке и на какой градус.
<image active="store_deutzAgrotronX720.png" brand="brand_deutz.png"/> — Это картинка с модом. Это логотип производителя (реального).
<price>9995</price> — Цена мода.
<dailyUpkeep>95</dailyUpkeep> — Сколько будет взиматься средств со счета в сутки за обслуживание.
<xmlFilename>deutzAgrotronX720.xml</xmlFilename> — Путь к *.xml файлу мода.
<brand>$l10n_shopItemBrand_deutz</brand> — Марка мода.
<machineType>tractors</machineType> — Тип мода.
</storeItem>
</storeItems>
Эти параметры отображаются в магазине.
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

</modDesc>
Здесь был приведен, такой себе, мелкий моддеск, который содержит в себе все необходимое для жизнеобеспечения мода, который работает на стд. скриптах. Если уж сильно хочется узнать назначение параметров "заряженного" моддеска — пишите в личку и я дополню статью.
}I{EKAДата: Суббота, 15.06.2013, 17:58 | Сообщение # 59
¯\_(ツ)_/¯
Группа: Постоянный
Сообщений: 1573
81. Покупка, нумерация полей. (FS2013)

Здравствуйте, видал вопрос как пронумеровать поля на карте, решил ответить. Но поскольку нумерация полей неразрывно связанна с покупкой полей — придется затронуть и ее. Итак поехали.
Первое что мы сделаем это пойдем и откроем в GE стандартную карту, ибо, на мой взгляд, все нужно делать на ее примере.
Пиратка: Program Files\Farming Simulator 2013\data\maps
Steam версия: Program Files\Steam\SteamApps\common\Farming Simulator 2013\data\maps
Открываем файл map01.i3d в программе GE. Справа в сценографе раскрываем TransformGroup "Fields" и видим TransformGroup`ы с названиями field01, field02, field03 и т. д. В общем мы видим TransformGroup`ы, которые отвечают за границы полей, триггера покупки и нумерацию всех полей.


Я хочу сразу акцентировать Ваше внимание на том, как у меня установлена камера persp, что-бы вы не путались, когда я буду показывать с какой стороны ставить родительскую TransformGroup`у. Камера persp у меня установлена четко сверху с такими координатами вращения -90 0 0.

Я буду рассказывать на примере первого поля, ибо оно по форме одно из сложных. Итак, раскрыв группу field01 — первое, что мы видим — это триггер "fieldBuyTrigger", при попадании на который фермера в игре, высвечивается табличка, что-бы купить поле, внутри него находиться значок, который крутиться на поле, но двигать его внутри триггера я не рекомендую. После него, заковавшись в TransformGroup`е "fieldDimensions" — идут TransformGroup`ы, которые определяют границы продаваемого поля. Вот сейчас я расскажу как их правильно выставлять.

1. Покупка полей.

Выделяем TransformGroup`у "corner01_1" и ставим ее в левом верхнем углу поля.


Затем, когда мы ее выставили, раскрываем ее и видим внутри еще 2 TransformGroup`ы "corner01_2" и "corner01_3". Расставить их просто, нужно выделить TransformGroup`у "corner01_3" и оттащить ее по осям X и Z в противоположный угол поля по диагонали, затем скопировать получившиеся координаты по оси Z, выделить TransformGroup`у "corner01_2" и вставить эти координаты в поле оси Z, что бы у нас, у TransformGroup`ы "corner01_2" получились такие координаты: 0 0 349.5, а у "corner01_3" такие: 222 0 349.5.

Теперь у нас получилась вот такие вот границы поля (выделено на скриншоте красным):


Но поскольку поле имеет на совсем симметричную форму у нас все-же остался кусок, который мы не охватили (выделено на скриншоте синим) — нужно создать еще одну родительскую TransformGroup`у "corner02_1" внутри, которой создать еще 2 TransformGroup`ы "corner02_2" и "corner02_3". Затем опять же-таки
разместить родительскую TransformGroup`у в левом верхнем углу не охваченного куска поля, затем TransformGroup`у "corner02_3" разместить в противоположном углу поля по диагоняли, скопировать ее координаты по оси Z и вставить их в поле оси Z TransformGroup`ы "corner02_2", что-бы, как и тогда у нас, у TransformGroup`ы "corner02_2" получились координаты 0 0 302, а у "corner02_3" — 221.5 0 302.

Вот и все, теперь наше поле полностью защищено от халявщиков.


2. Отстройка площади и цены поля.

Первое, что нам нужно сделать — так это тыкнуть вверху GE "Window" —> "User Attributes" для того, что-бы GE вывел на экран окно с пользовательскими атрибутами. Затем выделить всю TransformGroup`у "field01" и в окне с пользовательскими атрибутами у нас отобразиться что-то подобное:


В поле "fieldArea" — вписываем площадь поля, как ее просчитать — расскажу немного ниже. В поле "fieldPrice" — вписываем цену поля (в долларах).

Просчитать площадь поля легко. Нужно просто нанять геодезиста, или-же развернуть TransformGroup`у, "fieldDimensions", внутри нее развернуть TransformGroup`у "corner01_1" и выделить TransformGroup`у "corner01_3" и умножить координаты оси X на координаты оси Z. К примеру, 222x349=77478. округляем до сотых и получаем 7,75 га.

О том, как просчитать цену всей площади, имея площадь и цену за гектар — Вам расскажет Ваш учитель арифметики. (На стандартной карте средняя арифметическая цена за гектар у меня получилась ~45000$).

Если же вы хотите сделать, что-бы поле при старте игры было сразу куплено, как 16-е на стандартной карте — нужно выделить TransformGroup`у "field01" или любую другую с нужным полем и в окне с пользовательскими атрибутами, в графе "Add new attribute", в поле "Name" вписать "ownedByPlayer", чуть ниже, в выпадающей менюшке "Type" выбрать тип "boolean" и нажать на кнопочку "Add". В появившемся параметре "ownedByPlayer" — поставить галочку.

3. Нумерция полей.

Итак, чтобы в PDA высвечивался номер поля в нужном месте — нужно взять триггер "fieldBuyTrigger" и поставить по центру поля, затем поставить курсор в одно из полей Transform и нажать комбинацию клавиш Ctrl+Shift+C, затем выделить TransformGroup`у "fieldMapIndicator", идентичным образом поставить курсор в одно из полей Transform и нажать комбинацию клавишь, теперь уже, Ctrl+Shift+V, ну или скопировать координаты руками.

Вот и все. Если остались вопросы — задавайте их на форуме. Удачи!
}I{EKAДата: Воскресенье, 23.06.2013, 17:45 | Сообщение # 60
¯\_(ツ)_/¯
Группа: Постоянный
Сообщений: 1573
82. После редактирования стандартной карты, во время запуска игры появляется ошибка «Ошибка контрольной суммы. Файлы с данными изменены.» Что это значит и как от нее избавится?



Дело в том, что при каждом запуске — игра сверяет контрольные суммы всех системных файлов, которые участвуют в игровом процессе, и стандартная карта — не исключение.

Для чего это нужно?

Это нужно для того, что-бы не было ошибок или каких-то несоответствий у игроков в мультиплеере. К примеру, у одного игрока (1) где-то на карте стоит какой-то дом, который игрок поставил в GE. А у другого игрока (2), который не редактировал карту — на этом месте ничего нет и он захочет поставить туда, к примеру, культиватор. Он его туда поставит, но в это время игрок (1), который поставил на том месте дом — будет наблюдать, как второй игрок упирается в этот дом, либо он будет наблюдать фристайл, в результате соприкосновения коллизий, от чего возникнет, такая-себе рассинхронизация между игроками, соответственно нагрузка на сервер увеличиться и начнет передаваться в разы больше данных. Согласитесь, выглядит не совсем эстетично, правда? Вот потому разработчики попытались свести к минимуму такие причуды.

Как это исправить?

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

Как можно редактировать стандартную карту, модели, избегая этой ошибки? Я думаю что рассказ об этом заслуживает отдельного поста в FAQ. Читайте ниже.
  • Страница 4 из 5
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
Поиск:
Copyright © 2009-2024 TRUCKGAME.CLUB