Скриптинг в LS
Northern_StrikeДата: Суббота, 11.12.2010, 16:03 | Сообщение # 1
Механик
Группа: V.I.P.
Сообщений: 298
Решил создать тему по многочисленным просьбам, где описываются некоторые скрипты, и как их прописать. Они 100% работают в LS2009, при правильной прописке. Этот список будет дополняться.

Первый скрипт это скрипт на убирание - появление любых объектов в т. ч. и колес:
Для этого там понадобится скрипт mirror.lua
В modDesc прописываем:
в графе <specializations>, ниже всех строчек (если они там есть) и до </specializations> пишем <specialization name="mirror" className="mirror" filename="mirror.lua"/> (mirror.lua это имя файла)

Примерно это выглядит так:

Code
    <specializations>
             <specialization name="MTZ82" className="MTZ82" filename="MTZ82.lua"/>
       <specialization name="wheelHydraulic" className="WheelHydraulic" filename="WheelHydraulic.lua"/>
             <specialization name="mirror" className="mirror" filename="mirror.lua"/>
         </specializations>

Далее в ИМЯ_ФАЙЛА.xml пишем в самом низу, до строчки </vehicle>

Code
    <mirrors>
             <mirror1 index="0|1|1" />
             <mirror2 index="1|1|1" />
             <mirror3 index="2|1" />
             <mirror4 index="3|1" />
      </mirrors>

0|1|1 - индексы, их надо поменять на нужный (принцип счета)
Если хотите что бы было меньше убираемых объектов, удалите строчки mirror.

На 2 объекта:

Code
    <mirrors>
             <mirror1 index="0|1|1" />
             <mirror2 index="1|1|1" />
      </mirrors>

Как сделать больше, могу описать если кто попросит.

ВНИМАНИЕ! Объекты, появляются не убранными, при нажатии на клавишу T (по умолчанию) они исчезают!
Что бы изменить клавишу, которая убирает\показывает колеса, надо в mirror.lua найти строчку

Code
    if isDown and sym == Input.KEY_t then
и изменить T на другую клавишу, например U
Code
    if isDown and sym == Input.KEY_u then

Вроде все, если что непонятно - пишите.
Сохраняем и пробуем.
Скрипт mirror.lua можно взять отсюда!

Теперь расскажу как добавить мигалку!

Берем модель мигалки (например отсюда) + две текстуры в формате ддс не забываем. Ставим мигалку в нужное место.
В моддеске прописываем в графе <specializations>

Code
    <specialization name="rundumleuchten" className="RUL" filename="rundumleuchte.lua"/>

Потом в <vehicleTypes>
Code
    <specialization name="rundumleuchten" />

Далее в хмл пишем
Code
    <rundumleuchten>
     <rundumleuchte rotNode="32|0" light="32|0|0" lightsource="32|0|0|0" rotSpeed="10" emitLight="true" />
       </rundumleuchten>

Индекс 32 надо заменить на нужный (нули и палочки не трогать, заменять только цифру 32 на индекс!)

Если надо 2 например мигалки, то добавляем еще одну строчку

Code
    <rundumleuchten>
    <rundumleuchte rotNode="32|0" light="32|0|0" lightsource="32|0|0|0" rotSpeed="10" emitLight="true" />
    <rundumleuchte rotNode="33|0" light="33|0|0" lightsource="33|0|0|0" rotSpeed="10" emitLight="true" />
      </rundumleuchten>

(Не забываем индексы переписать)
Потом закидываем сам скрипт rundumleuchte.lua в папку с модом.
В настройках назначаем клавишу включения и проверяем в игре!
Если вы все правильно сделали, то мигалка работает!
vladcrazyДата: Понедельник, 03.10.2011, 20:24 | Сообщение # 61
Бригадир
Группа: Постоянный
Сообщений: 100
sashok008, это гидравлика!!!
sashok008Дата: Вторник, 11.10.2011, 22:37 | Сообщение # 62
Бригадир
Группа: Постоянный
Сообщений: 129
Как называется скрипт для прицепа чтобы он перевозил тюки?
metallflameДата: Пятница, 28.10.2011, 01:24 | Сообщение # 63
Комбайнер
Группа: V.I.P.
Сообщений: 48
Привет всем. У меня очень много вопросов накопилось. Пытаюсь разобраться в некоторых модах. Например, некоторые грузовики не хотят правильно работать под управлением courseplay, то есть по маршруту они едут, но скорость и разгон под управлением автопилота растет в несколько раз. Что я только не менял в настройках мода, ничего не помогает. Так ведут себя все грузовики под управлением ifa.lua. Думаю, причина именно в этом скрипте. Может кто что подскажет?
Niva_sk5m1Дата: Воскресенье, 30.10.2011, 17:43 | Сообщение # 64
Комбайнер
Группа: Пользователи
Сообщений: 44
помогите с мигалкой она ваще не появилась ставил на Niva by start
}I{EKAДата: Вторник, 01.11.2011, 21:08 | Сообщение # 65
¯\_(ツ)_/¯
Группа: Постоянный
Сообщений: 1573
Quote (Niva_sk5m1)
помогите с мигалкой, она вообще не появилась, ставил на Niva by start

Блин, когда-же Вы научитесь ставить знаки препинания...
Возьмите свою Ниву (архив .zip), нажмите на архив правой кнопкой мыши, нажмите "извлечь в ...", удалите архив и ставьте мигалку, ну а дальше по мануалу...


Сообщение отредактировал }I{EKA - Вторник, 01.11.2011, 21:11
01alex10Дата: Вторник, 01.11.2011, 22:40 | Сообщение # 66
Разнорабочий
Группа: Пoльзователи
Сообщений: 3
подскажите пожайлуста, а как сделать чтобы мигалки светились когда с машины вылазишь?

Сообщение отредактировал 01alex10 - Вторник, 01.11.2011, 23:49
tolik1990Дата: Среда, 02.11.2011, 00:42 | Сообщение # 67
Разнорабочий
Группа: Пользователи
Сообщений: 9
Привет всем! Подскажите пожалуйста как прописать скрипт что бы плуг не выходил за границы поля?
}I{EKAДата: Воскресенье, 13.11.2011, 19:28 | Сообщение # 68
¯\_(ツ)_/¯
Группа: Постоянный
Сообщений: 1573
Quote (01alex10)
подскажите пожайлуста, а как сделать чтобы мигалки светились когда с машины вылазишь?

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

Добавлено (13.11.2011, 09:51)
---------------------------------------------
Всем доброго времени суток, короче не знаю как прописать текстуры в i3d, я их прописываю под свободными ИД но после сохранения гигантом (4.1.7, 4.1.9) все мои каракули исчезают, и в материалах тоже, а в игру трактор запускается но не пачкается, я уже задолбался кататся, пол бака соляры спалил. Я пока-что успел прописать в XML только передние колеса, соответственно их текстуры и прописываю в I3D... Помогите пожалуйста.

Добавлено (13.11.2011, 19:28)
---------------------------------------------
Все уже, МТЗ теперь у меня грязный)

NashikДата: Понедельник, 14.11.2011, 21:24 | Сообщение # 69
Разнорабочий
Группа: Пользователи
Сообщений: 1
Northern_Strike,
Подскажи пожалуйста как добавить Новый АП в комбайн
FarmerStasДата: Вторник, 29.11.2011, 16:18 | Сообщение # 70
Бригадир
Группа: Постоянный
Сообщений: 134
Скрипт на добавление и убирание деталей и колес, работает с 2х компонентными моделями.
Пример приведу на Кировце, появление колес (при покупке модели деталей не будет видно) с возможностью передние и задние отдельно.
Скрипт можно взять из трактора Valtra.

В modDesc в строке <specializations> добавляем
Code
<specialization name="visibility" />

Больше modDesc нам не нужен, закрываем.

Открываем XML файл модели и в любом месте вставляем
Code
<parts count="2">    
              <part1 index="3|0" />    
              <part2 index="4|0" />        
          </parts>    
                
          <parts2 count="2">    
              <part1 index="1>2|0" />    
              <part2 index="1>3|0" />    
          </parts2>


<parts count="2"> отвечает за передние колеса, <parts2 count="2"> за задние колеса. В группы можно добавлять детали (для каждой группы отдельная кнопка) но не забываем менять количество деталей в группе (красное) и порядковый номер (синий), также добавлять группы но меняем номер (оранжевый) также группу и удалить можно.
<parts count="2">
<part1 index="3|0" />
<part2 index="4|0" />
</parts>

<parts2 count="2">
<part1 index="1>2|0" />
<part2 index="1>3|0" />
</parts2>

В XML файл модели тоже все сделано.
Разберем сам скрипт.
Здесь правим если добавили или удалили группу. если удалили группу то удаляем numparts2 и все к нему относящееся (выделено красным). Если добавили то копируем numparts2 ниже и меняем 2 (все) на номер группы. Надеюсь понятно.
Если нужно чтобы деталь была видна при покупке меняем false (Обозначений звёздочкой (*), Звёздочку не ставить!) на true
Code
function visibility:load(xmlFile)    

numparts = Utils.getNoNil(getXMLInt(xmlFile, "vehicle.parts#count"), 0);    
    self.parts = {};    
    for i=1, numparts do    
    local partnamei = string.format("vehicle.parts.part%d", i);    
    self.parts[i] = Utils.indexToObject(self.components, getXMLString(xmlFile, partnamei .. "#index"));    
    setVisibility(self.parts[i], false);    
    end;    
    self.partsActive = *false*;    

numparts2 = Utils.getNoNil(getXMLInt(xmlFile, "vehicle.parts2#count"), 0);    
    self.parts2 = {};    
    for i=1, numparts2 do    
    local partnamei = string.format("vehicle.parts2.part%d", i);    
    self.parts2[i] = Utils.indexToObject(self.components, getXMLString(xmlFile, partnamei .. "#index"));    
    setVisibility(self.parts2[i], false);    
    end;    
    self.parts2Active = false;    

    end;

Далее меняем кнопки, в маём примере K и L. Все также как описано выше не нужное удаляем нужное добавляем. Следим за цифрами.
Code
function visibility:keyEvent(unicode, sym, modifier, isDown)    

    if isDown and sym == Input.KEY_k then    
    self.partsActive = not self.partsActive;    
    end;    
    if isDown and sym == Input.KEY_l then    
    self.parts2Active = not self.parts2Active;    
    end;    

    end;

И последнее все тоже самое если добавили группу добавляем и здесь (следим за цифрами) если удалили тоже удаляем.
Code
function visibility:update(dt)    

    if self.partsActive then    
    for i=1, numparts do    
    setVisibility(self.parts[i], self.partsActive);    
    end;    
    else    
    for i=1, numparts do    
    setVisibility(self.parts[i], self.partsActive, false);    
    end;    
    end;    
    if self.parts2Active then    
    for i=1, numparts2 do    
    setVisibility(self.parts2[i], self.parts2Active);    
    end;    
    else    
    for i=1, numparts2 do    
    setVisibility(self.parts2[i], self.parts2Active, false);    
    end;    
    end;    
    end;

Ну вот и все. Всем удачи.
Автор текста: dim-dim.
Предоставил FarmerStas

Текст приводится с незначительными изменениями...

Ждите новых скриптов wink

Ну и где тот трактор Valtra и его скрипт - без него весь этот копипаст бесполезный набор буковок и циферок.


Сообщение отредактировал FarmerStas - Вторник, 29.11.2011, 16:20
vjsergiy911Дата: Пятница, 02.12.2011, 00:33 | Сообщение # 71
Бригадир
Группа: Постоянный
Сообщений: 232
FarmerStas,можеш прописать скрипт tiptigers
sashok008Дата: Воскресенье, 04.12.2011, 16:10 | Сообщение # 72
Бригадир
Группа: Постоянный
Сообщений: 129
Как сделать звукоизоляцию?
serega3125Дата: Понедельник, 05.12.2011, 15:30 | Сообщение # 73
Директор совхоза
Группа: V.I.P.
Сообщений: 591
sashok008, Для этого понадобится скрипт unisound.lua. В modDesc.xml, в графе <specializations> пишем такую строчку

<specialization name="unisound" className="unisound" filename="unisound.lua"/>

Должно получится как то так:

<specializations>
<specialization name="MTZ82" className="MTZ82" filename="MTZ82.lua"/>
<specialization name="wheelHydraulic" className="WheelHydraulic" filename="WheelHydraulic.lua"/>
<specialization name="unisound" className="unisound" filename="scripts/unisound.lua"/>
</specializations>

Далее чуть ниже, в графе <vehicleTypes> пишем такую строчку

<specialization name="unisound" />

Должно получится что-то типа этого:

<vehicleTypes>
<type name="MTZ892" className="Vehicle" filename="$dataS/scripts/vehicles/Vehicle.lua">
<specialization name="steerable" />
<specialization name="hirable" />
<specialization name="aiTractor" />
<specialization name="MTZ892"/>
<specialization name="unisound" />
</type>
</vehicleTypes>

Сохраняйте и пробуйте smile
Скрипт unisound.lua можно взять здесь. Удачи!
vjsergiy911Дата: Суббота, 10.12.2011, 11:06 | Сообщение # 74
Бригадир
Группа: Постоянный
Сообщений: 232
тема по скриптам до тракторів или ще до карт
FarmerStasДата: Вторник, 20.12.2011, 01:03 | Сообщение # 75
Бригадир
Группа: Постоянный
Сообщений: 134
У меня есть скрипт на проигрывание анимации при нажатии кнопки.... кому нужен??? cool
Поиск:
Copyright © 2009-2024 TRUCKGAME.CLUB