Играть бесплатно в World of Warships
Поделиться с друзьями
Новые файлы
Новые статьи
Как установить моды в
Реклама на сайте
Мы в соц-сетях
Ма на YouTube
Опрос на сайте
Как вы попали на наш сайт ?
Всего ответов: 36
Страница 1 из 11
Модератор форума: KOcccTya, RC95612 
Форум » SLRR » Флудилка » Заводные запчасти (Что прописать в частях движка, чтобы без них он не завелся?)
Заводные запчасти
TsP
TsP
Никакой
Группа: Проверенный
Сообщений: 9
Награды: 0
Репутация: 60
Статус: Гдето лазит
Хелло! hi У меня проблема: не знаю как сделать так, чтобы без определенной детали двигателя машина на заводилась. Например, без генератора выскочит окошко "the alternator is missing". Есть исходники нужного двигателя, и в джаве генератора (двигло_alternator.java) я нашел такие строчки:
public String isDynoable()
{
Part p;

p = partOnSlot( 42 );
if (!p)
return "the alternator is missing the drive belt.";

return super.isDynoable();
}
Правда, здесь написано про ремень от генератора. Ну да не суть (или суть?). В других исходниках частей, без которых тачка не должна завестись, таких строчек нет. Собсно, вопросы:
1. Что надо прописать в джавах других частей движка,чтобы без них он не завелся?
2. 42 - это слот генератора?
3. p - что это?
4. Почему в других джавах нет такого?
5. Как запихнуть буковки под спойлер?
Скорее всего, проблема в моих незнаниях джавы. Плак плак, тогда.

З.Ы. Слышал, что Джек выложил исходники своей сборки. Поэтому:
6. Куда Джек выложил исходники свой сборки?


Подпись отключена!!!

Сообщение отредактировал TsP - Воскресенье, 26.10.2014, 11:09
RC95612
RC95612
ModZona.Ru
Группа: Проверенный
Сообщений: 620
Награды: 13
Репутация: 114
Статус: Гдето лазит
TsP,
1. Подозреваю, что тоже самое, заменить только номер слота и текстовую строку.
2. Да.
3. p - это переменная типа boolean, которая может содержать значения true или false.
4. Потому что разработчики не посчитали это нужным.
Что имеем в итоге: для того, чтобы двигатель не заводился без определённой детали, в яву этой детали нужно добавить:
Код
public String isDynoable()   
{   
Part p;   

p = partOnSlot( <номер слота детали> ); //здесь условие, при соблюдении которого двигатель заведётся
if (!p) //ветвь кода, которая выполняется при отсутствии детали
return "<текст при попытке завести>"; //вывод будет таким: Engine cannot start because <текст>

return super.isDynoable(); //эта строка даёт разрешение завести двигатель, если условия соблюдены
}


Подпись отключена!!!
TsP
TsP
Никакой
Группа: Проверенный
Сообщений: 9
Награды: 0
Репутация: 60
Статус: Гдето лазит
RC95612,
Круто и познавательно. В джаве блока нашлось это:
Код
crankshaft_slot_ID = 33;
crankshaft_bearing_slot_ID = 41;
cylinder_head_slot_ID = 19;
transmission_slot_ID = 35;
oil_pan_slot_ID = 31;

У меня такое ощущение, что здесь прописаны ид не всех частей, без которых движок не заведется. К тому же, есть еще одна непонятка: в том же файле есть это:
Код
public String isDynoable()
  {
   Part p;

   p = partOnSlot( 32 );
   if (!p)
    return "the engine is missing the alternator.";

   return super.isDynoable();
  }

Получается, 32 - генератор. А в файле, собсно, генератора, как я уже писал, это:
Код
public String isDynoable()  
  {  
   Part p;  

   p = partOnSlot( 42 );  
   if (!p)  
    return "the alternator is missing the drive belt.";  

   return super.isDynoable();  
  }

Значит, если двигатель есть, то проверяется наличие генератора. Если и он есть, то он проверяет, есть ли к нему ремень.
Вопрос:
1. Где объявляются остальные ид?
В ките двигателя нашлось вот это:
Код
   inv.insertItem( parts.engines.Toyota_4A_GE:0x0000A001r ); // Shimutshibu_72er_crankshaft
   inv.insertItem( parts.engines.Toyota_4A_GE:0x0000A002r ); // Shimutshibu_149er_connecting_rods
   inv.insertItem( parts.engines.Toyota_4A_GE:0x0000A003r ); // Shimutshibu_94er_LC_pistons
   inv.insertItem( parts.engines.Toyota_4A_GE:0x0000A005r ); // Shimutshibu_RC_DDSB8C_cylinder_head
   inv.insertItem( parts.engines.Toyota_4A_GE:0x0000A007r ); // Shimutshibu_WRC_cylinder_head_cover

Вопрос:
2. Почему в комментариях написано Shimutshibu, а в аргументе и в игре - Toyota_4A_GE?
А в его конфиге это:
Код
slot  0.000 0.000 0.000    0.000 0.000 0.000    1    ; engine_block_OUT

slot  0.000 0.000 0.000    0.000 0.000 0.000    33    ; engine_block_crankshaft_IN
slotdmgmode    0x00000002

slot  0.000 0.000 0.000    0.000 0.000 0.000    19    ; engine_block_cylinder_head_IN
slotdmgmode    0x0000000E

slot  0.000 0.000 0.000    0.000 0.000 0.000    35    ; engine_block_transmission_IN
slotdmgmode    0x0000000A

slot  0.000 0.000 0.000    0.000 0.000 0.000    32    ; engine_block_alternator_IN
slotdmgmode    0x00000002

slot  0.00 0.000 0.000    0.000 0.000 0.000    31    ; engine_block_oil_pan_IN
slotdmgmode    0x00000002

slot  0.000 0.000 0.000    0.000 0.000 0.000    41    ; engine_block_crankshaft_bearing_IN
slotdmgmode    0x00000002

slot  0.000 0.000 0.000    0.000 0.000 0.000    648    ; radiator
slot  0.000 0.000 0.000    0.000 0.000 0.000    649    ; oilfiltr or sandwich
slot  0.000 0.000 0.000    0.000 0.000 0.000    650    ; ecu

Но все же это не все ид.
Вопросы:
3. Что такое slotdmgmode?
4. Почему для блока написано OUT (выход), для некоторых - IN (вход), а для последних трех вообще ничего не написано?
Возможно, я нашел решение 1-го вопроса. Почти во всех конфигах есть такие строчки:
Код
slot  0.000 0.000 0.000    0.000 0.000 0.000    <цифра>    ; <название_части>_OUT

В остальных - что-то похожее на отрывок из конфига движка, который я привел выше. Но если цифра - это и есть слот, то тогда непонятно назначение тех же самых цифорок в конфиге двигателя и в его джаве.
Я сильно не уверен в определениях, которые использовал, но без них никак.
Вопрос:
5. Можно ли использовать ид из конфигов в шаблоне, который ты вывел?


Подпись отключена!!!
RC95612
RC95612
ModZona.Ru
Группа: Проверенный
Сообщений: 620
Награды: 13
Репутация: 114
Статус: Гдето лазит
Цитата TsP ()
Получается, 32 - генератор

Вовсе не факт, это может быть любая деталь, для отсутствия которой автор поленился изменить текст ошибки. Номера слотов лучше смотреть в .cfg, например:
Код
attach  0x00000041 [color=green]33[/color]; Baiern_Kraftwerk_2_5_block->engine_block_crankshaft_IN

Зелёным выделен номер слота.
Цитата TsP ()
2. Почему в комментариях написано Shimutshibu, а в аргументе и в игре - Toyota_4A_GE?

Потому что скрипты двигателя не написаны с нуля, а переделаны из скриптов Shimutshibu.
Цитата TsP ()
4. Почему для блока написано OUT (выход), для некоторых - IN (вход), а для последних трех вообще ничего не написано?

Это необязательные пояснения, означают они примерно вот что: OUT - это место на более приоритетной (той, которую ставить надо в первую очередь) детали, куда крепится текущая, IN - место на текущей детали, куда крепится менее приоритетная. Последние три строчки добавлены автором мода, поэтому не содержат пояснений.


Подпись отключена!!!
TsP
TsP
Никакой
Группа: Проверенный
Сообщений: 9
Награды: 0
Репутация: 60
Статус: Гдето лазит
Теперь вроде все, разобрался ok

Подпись отключена!!!
Форум » SLRR » Флудилка » Заводные запчасти (Что прописать в частях движка, чтобы без них он не завелся?)
Страница 1 из 11
Поиск: