AviaSkins.Forums

AviaSkins.Forums (http://forum.aviaskins.com/index.php)
-   Моделирование и конструирование (http://forum.aviaskins.com/forumdisplay.php?f=18)
-   -   Несколько вопросов по Java (http://forum.aviaskins.com/showthread.php?t=3499)

Kant 16.06.2014 00:42

Там же указана строка с ошибкой надо туда глядеть и ошибка сама себя покажет , в вашем примере это 75я строка в ShipRadge и 7я строка ShipRadge$I401

The Radge 16.06.2014 02:02

В моём сообщении же эти строчки указаны сразу под сообщением об ошибке.

deSAD 16.06.2014 17:17

Цитата:

Сообщение от The Radge (Сообщение 129597)
... при компиляции "отцовского" класса ShipRadge у меня "MODDER" показывает такую вот ошибку
Код:

com\maddox\il2\objects\ships\ShipRadge.java:75: error: not a statement
classnotfoundexception


КМК, Егор, ты наступил на эти вот "грабли" ... и не ты первый ;)
Цитата:

Сообщение от The Radge (Сообщение 129597)
А при компиляции "отпрысков" этого класса, типа ShipRadge$I401,
Код:

com\maddox\il2\objects\ships\ShipRadge$I401.java:7: error: modifier static not allowed here
public static class ShipRadge$I401 extends BigshipGeneric


Ну так нельзя класс static'ом здесь обновлять - modifier static not allowed here, это нужно/можно сделать в родительском классе. Ты - что же - даже не полюбопытствовал, как "Айовы" собраны? :eek:

The Radge 16.06.2014 18:30

Цитата:

Сообщение от deSAD (Сообщение 129631)
КМК, Егор, ты наступил на эти вот "грабли" ... и не ты первый ;)
Ну так нельзя класс static'ом здесь обновлять - modifier static not allowed here, это нужно/можно сделать в родительском классе. Ты - что же - даже не полюбопытствовал, как "Айовы" собраны? :eek:

Так в том-то и дело, что я эти классы не с пустого места писал, а на основе дефолтных Ship и класса эсминца тип 7... Кстати, мне Vasya как раз сегодня написал, что следует на Запасном Аэродроме эту тему поикать, и я нашёл :rolleyes: Просто стал разбираться с классами самолётов, а снова до этих ещё не дошёл... :D
Надо было Айовы смотреть, ладно, не догадался :) ;)
Спасибо, дядь Серёж! :ok:

deSAD 16.06.2014 23:12

Цитата:

Сообщение от The Radge (Сообщение 129634)
Так в том-то и дело, что я эти классы не с пустого места писал, а на основе дефолтных Ship и класса эсминца тип 7...

Особенность "МОДных" классов кораблей как раз в том и состоит, что они "расширяют" собой дефолтный класс Ship, с тем, чтобы не было нужды переписывать Ship под каждый МОД, как это необходимо делать с "батоном" в случае, если "МОДный" крафт не использует DiffFM, поэтому и не сработала прямая аналогия с дефолтными классами Ship и "семерки" :rolleyes:

Vasya 30.06.2014 16:59

Не хватает классов и среда не та для компиляции. Нужно создать среду специально для компиляции этих классов - то есть - взять все классы патча 4.12.2 и добавить в него на свои места те классы на которые ругаеться командная строка., так же бумажка должна быть из этого же патча и правильно вписаны все пропертисы. Я так делаю.

The Radge 30.06.2014 17:27

Спасибо! Я эту проблему решил уже, потому и не писал больше тут.
Она была именно в том, о чём говорил дядя Серёжа. ;)

Кстати, я использую только 4.12.2 + Модакт + Энжин, в том числе для создания модов (всегда для себя пользовался только последней официальной верисей игры).
В качестве исключения совсем недавно установил отдельно Ультрапак на 4.10.1,
но к нему я и пальцем не притрагиваюсь (даже все скины в PaintSchemes удалил, освободив почти 3 Гб :D), только на серваке летаю :rolleyes:

В любом случае, спасибо за помощь! :beer:

Skvorez 11.01.2015 00:48

Вложений: 1
Цитата:

Сообщение от Vasya (Сообщение 129892)
Не хватает классов и среда не та для компиляции. Нужно создать среду специально для компиляции этих классов - то есть - взять все классы патча 4.12.2 и добавить в него на свои места те классы на которые ругаеться командная строка., так же бумажка должна быть из этого же патча и правильно вписаны все пропертисы. Я так делаю.

весь вечер провел в бесплодных попытках. Дальше ошибок дело так и не пошло. Что не так пишу? Кто подскажет начинающему?

jabo 11.01.2015 02:29

Цитата:

Сообщение от Skvorez (Сообщение 135752)
весь вечер провел в бесплодных попытках.

уже давно не занимаюсь java и почти все там забыл, но кажись ошибки при компиляции показываются в командной строке

Skvorez 11.01.2015 10:21

Цитата:

Сообщение от jabo (Сообщение 135759)
уже давно не занимаюсь java и почти все там забыл, но кажись ошибки при компиляции показываются в командной строке

Да они там есть. Но я понять не могу, что за ошибки.

Вот в эту строку

package com.maddox.il2.objects.air;

import com.maddox.il2.engine.HierMesh;
import com.maddox.il2.fm.*;
import com.maddox.rts.*;
import com.maddox.util.HashMapInt;
import java.util.ArrayList;

нужно что то дописывать если делаешь новый слот на базе уже имеющегося самоля. Или тут нужно строки вносить только если что то новое добавляешь?

tarakan67 11.01.2015 12:03

Первая строчка указывает, где находится класс-файл. Остальное - это импорт, то есть те класс-файлы которые необходимы для работы текущего класс-файла.
Чтобы сделать новый слот нужна строчка типа:
public class A_20C extends A_20.
Синим цветом выделено название самого класса, зелёным - название "родительского" класса

Skvorez 11.01.2015 12:32

Вложений: 1
Цитата:

Сообщение от tarakan67 (Сообщение 135782)
Первая строчка указывает, где находится класс-файл. Остальное - это импорт, то есть те класс-файлы которые необходимы для работы текущего класс-файла.
Чтобы сделать новый слот нужна строчка типа:
public class A_20C extends A_20.
Синим цветом выделено название самого класса, зелёным - название "родительского" класса

Спасибо. Я принципе это написал все.

public class I_26 extends YAK
implements TypeTNBFighter
{

public I_26()

но при компиляции этого как выясняется явно недостаточно. Вопрос такой, новый слот нужно отдельно от класса нового самолета делать? или вместе все? Уточню. Речь идет о создании нового крафта на базе уже имеющегося. Типа модификация

tarakan67 11.01.2015 12:51

Берёшь класс имеющегося самолёта и везде (а не только в начале) заменяешь название самолёта на название модификации. Если будет другая 3D модель или кабина, прописываешь пути к новым hier.him и классу кабины. Можно также сделать ей свою FM. Если же нужно изменить вооружение, то тут задача усложняется. В дефолтных самолётах надо прописывать вооружение в папке cod, а для этого нужны соответствующие инструменты, есть способ обойти это ограничение, но я в нём не очень разобрался. Вообще признанный специалист по классам Lakota (Skiper), он в основном обитает на ЗАПе. По крайней мере я учился у него.

Skvorez 11.01.2015 13:09

Цитата:

Сообщение от tarakan67 (Сообщение 135786)
Берёшь класс имеющегося самолёта и везде (а не только в начале) заменяешь название самолёта на название модификации. Если будет другая 3D модель или кабина, прописываешь пути к новым hier.him и классу кабины. Можно также сделать ей свою FM. Если же нужно изменить вооружение, то тут задача усложняется. В дефолтных самолётах надо прописывать вооружение в папке cod, а для этого нужны соответствующие инструменты, есть способ обойти это ограничение, но я в нём не очень разобрался. Вообще признанный специалист по классам Lakota (Skiper), он в основном обитает на ЗАПе. По крайней мере я учился у него.

Спасибо тебе большое. Не понял еще до конца как, но мне удалось сделать новый слот для раннего Як-1

I-26 air.I_26 1 r01 SUMMER

теперь нужно в соответствие все привести. ФМ, вооружение и модель

С уважением

Skvorez 11.01.2015 14:55

Кто может подсказать, почему 3Д модель новая не появляется, ставлю в классе дефолтную, все нормально. Как только переименовываю папку и заменяю. Синий экран. Вроде все правильно пишу:

static
{
Class class1 = CLASS.THIS();
new NetAircraft.SPAWN(class1);
Property.set(class1, "iconFar_shortClassName", "Yak");
Property.set(class1, "meshName", "3DO/Plane/I-26(Multi1)/hier_Light.him");
Property.set(class1, "PaintScheme", new PaintSchemeFMPar02());
Property.set(class1, "yearService", 1940F);
Property.set(class1, "yearExpired", 1945.5F);
Property.set(class1, "FlightModel", "FlightModels/Yak-1_M105P.fmd:gui/game/fm410yak");
Property.set(class1, "cockpitClass", new Class[] {
com.maddox.il2.objects.air.CockpitYAK_1FAIRING.cla ss

deSAD 11.01.2015 15:07

Цитата:

Сообщение от Skvorez (Сообщение 135792)
Кто может подсказать, почему 3Д модель новая не появляется, ставлю в классе дефолтную, все нормально. Как только переименовываю папку и заменяю. Синий экран.

Лог, надо полагать, не сохраняется? Как вариант, .him должен именоваться исключительно hier.him.

carsmaster 11.01.2015 16:12

Цитата:

Сообщение от deSAD (Сообщение 135795)
Лог, надо полагать, не сохраняется? Как вариант, .him должен именоваться исключительно hier.him.

Не утверждаю ,что у Сергея именно только в этом проблема, но про названия согласен с тобой.

Skvorez 11.01.2015 16:29

Цитата:

Сообщение от carsmaster (Сообщение 135801)
Не утверждаю ,что у Сергея именно только в этом проблема, но про названия согласен с тобой.

Как оказалось, в этом и была проблема. Вот сопсно:
http://forum.aviaskins.com/showthrea...804#post135804

так что можете меня поздравить с почином. Так сзать...:D
Вашего полку прибыло:P

зы: а топика маркиза я так и не вижу. А пуркуа?:(

Skvorez 11.01.2015 16:39

Да! Низкий поклон за помощь Сергеям:

маркизу deSAD
carsmaster

а также особое спасибо: Василию ака Vasya, Александру ака jabo и tarakan67 (пардон не знаю имени)

С уважением к Вам Сергей он же skvorez

deSAD 11.01.2015 16:54

Цитата:

Сообщение от Skvorez (Сообщение 135803)
Как оказалось, в этом и была проблема. Вот сопсно:
http://forum.aviaskins.com/showthrea...804#post135804

так что можете меня поздравить с почином. Так сзать...:D

Наливай :beer:
Цитата:

Сообщение от Skvorez (Сообщение 135805)
... а также особое спасибо: ... tarakan67 (пардон не знаю имени)

Игорь.

Skvorez 11.01.2015 17:35

Цитата:

Сообщение от deSAD (Сообщение 135807)
Наливай :beer:

Та нема вопросу. Заходь!

Цитата:

Игорь.
Сенкс

зы: а в шайку свою примете? я про клуб авск

Skvorez 11.01.2015 18:11

Есть пара вопросов. Летит нормально. На взлете бьется ап землю. Куда рыть?

http://s018.radikal.ru/i513/1501/eb/7e330f7492e3.jpg

http://s020.radikal.ru/i714/1501/88/41d7b87d85e9.jpg

deSAD 12.01.2015 15:39

Цитата:

Сообщение от Skvorez (Сообщение 135816)
... а в шайку свою примете? я про клуб авск

"клуб авск"? Я что-то пропустил? :I'm_thinking:
Цитата:

Сообщение от Skvorez (Сообщение 135825)
... Летит нормально. На взлете бьется ап землю. Куда рыть?

Не стану утверждать, что именно в этом дело, но - как один из вариантов - не помешало бы проверить т. н. "хуки", сравнив их расположение с таковыми у других самолетов с передней стойкой. Ну и на ФМ, наверное, стоило бы взглянуть "вооруженным взглядом" :rtfm: К слову, Bison_M такого же рода (франкенплейн т. е.) Як-17 опубликовал, полагаю, его вполне можно использовать в качестве образчика.

Skvorez 12.01.2015 22:12

Цитата:

Сообщение от deSAD (Сообщение 135897)
"клуб авск"? Я что-то пропустил? :I'm_thinking:

http://forum.aviaskins.com/forumdisplay.php?f=46

Цитата:

Не стану утверждать, что именно в этом дело, но - как один из вариантов - не помешало бы проверить т. н. "хуки", сравнив их расположение с таковыми у других самолетов с передней стойкой. Ну и на ФМ, наверное, стоило бы взглянуть "вооруженным взглядом" :rtfm: К слову, Bison_M такого же рода (франкенплейн т. е.) Як-17 опубликовал, полагаю, его вполне можно использовать в качестве образчика.
Это его клон и есть. Я тоже думал, что дело в носовой стойке. Проверил, у меня в простом редакторе и Як-17 скачет так же. Проверь если не в лом. Я в личку ссылку сбросил

tarakan67 12.01.2015 23:03

Могу ошибаться, но думается что в классе прописана не та схема.
Так для МиГ-9 :
public abstract class MIG_9 extends Scheme2,
в то время как для Як-а(и большинства остальных самолётов с хвостовым колесом):
public abstract class YAK extends Scheme1

Skvorez 13.01.2015 10:00

Цитата:

Сообщение от tarakan67 (Сообщение 135920)
Могу ошибаться, но думается что в классе прописана не та схема.
Так для МиГ-9 :
public abstract class MIG_9 extends Scheme2,
в то время как для Як-а(и большинства остальных самолётов с хвостовым колесом):
public abstract class YAK extends Scheme1

Не ошибаетесь. Именно в этом и была причина

http://s018.radikal.ru/i524/1501/09/b69ac3a4f22e.jpg

http://forum.aviaskins.com/showthrea...926#post135926

Skvorez 13.01.2015 19:15

Я так полагаю, что вот в этой строке

arraylist.add(s);
hashmapint.put(Finger.Int(s), a_lweaponslot);
s = "2fab100";
a_lweaponslot = GenerateDefaultConfig(byte0);
a_lweaponslot[0] = new Aircraft._WeaponSlot(0, "MGunShKASsi", 750);
a_lweaponslot[1] = new Aircraft._WeaponSlot(0, "MGunShKASsi", 750);
a_lweaponslot[2] = new Aircraft._WeaponSlot(1, "MGunShVAKki", 120);
a_lweaponslot[3] = null;
a_lweaponslot[4] = null;
a_lweaponslot[5] = null;
a_lweaponslot[6] = null;
a_lweaponslot[7] = null;
a_lweaponslot[8] = null;
a_lweaponslot[9] = null;
a_lweaponslot[10] = null;
a_lweaponslot[11] = null;
a_lweaponslot[12] = null;
a_lweaponslot[13] = null;
a_lweaponslot[14] = null;
a_lweaponslot[15] = new Aircraft._WeaponSlot(3, "BombGunFAB100", 1); нужно заменить фразы на null
a_lweaponslot[16] = new Aircraft._WeaponSlot(3, "BombGunNull", 1);
a_lweaponslot[17] = new Aircraft._WeaponSlot(3, "BombGunNull", 1);
a_lweaponslot[18] = new Aircraft._WeaponSlot(3, "BombGunFAB100", 1);
for(int j = 19; j < byte0; j++)
a_lweaponslot[j] = null;

arraylist.add(s);
hashmapint.put(Finger.Int(s), a_lweaponslot);
s = "6rs82";
a_lweaponslot = GenerateDefaultConfig(byte0);
a_lweaponslot[0] = new Aircraft._WeaponSlot(0, "MGunShKASsi", 750);
a_lweaponslot[1] = new Aircraft._WeaponSlot(0, "MGunShKASsi", 750);
a_lweaponslot[2] = new Aircraft._WeaponSlot(1, "MGunShVAKki", 120);
a_lweaponslot[3] = new Aircraft._WeaponSlot(9, "PylonRO_82_1", 1);
a_lweaponslot[4] = new Aircraft._WeaponSlot(9, "PylonRO_82_1", 1);
a_lweaponslot[5] = new Aircraft._WeaponSlot(9, "PylonRO_82_1", 1);
a_lweaponslot[6] = new Aircraft._WeaponSlot(9, "PylonRO_82_1", 1);
a_lweaponslot[7] = new Aircraft._WeaponSlot(9, "PylonRO_82_1", 1);
a_lweaponslot[8] = new Aircraft._WeaponSlot(9, "PylonRO_82_1", 1);
a_lweaponslot[9] = new Aircraft._WeaponSlot(2, "RocketGunRS82", 1);
a_lweaponslot[10] = new Aircraft._WeaponSlot(2, "RocketGunRS82", 1);
a_lweaponslot[11] = new Aircraft._WeaponSlot(2, "RocketGunRS82", 1);
a_lweaponslot[12] = new Aircraft._WeaponSlot(2, "RocketGunRS82", 1);
a_lweaponslot[13] = new Aircraft._WeaponSlot(2, "RocketGunRS82", 1);
a_lweaponslot[14] = new Aircraft._WeaponSlot(2, "RocketGunRS82", 1);
a_lweaponslot[15] = null;
a_lweaponslot[16] = null;
a_lweaponslot[17] = null;
a_lweaponslot[18] = null;
for(int j1 = 19; j1 < byte0; j1++)
a_lweaponslot[j1] = null;

Skvorez 13.01.2015 19:15

Верно?

tarakan67 13.01.2015 19:32

А зачем? Можно просто удалить весь список, содержащий s = "2fab100", начиная с
arraylist.add(s);
и заканчивая
a_lweaponslot[j] = null;

Skvorez 13.01.2015 19:34

Цитата:

Сообщение от tarakan67 (Сообщение 135947)
А зачем? Можно просто удалить весь список, содержащий s = "2fab100", начиная с
arraylist.add(s);
и заканчивая
a_lweaponslot[j] = null;

Спасибо

Skvorez 13.01.2015 19:37

Вопрос не в тему, При компиляции ругается на вот эту строку


static Class _mthclass$(String s)

полностью файл на скрепке (удалю потом) не подскажешь в чем косяк?

The Radge 13.01.2015 19:47

Полностью удалите все четыре строчки в районе этой строки, включая символы { и } и не парьтесь ;)

Skvorez 13.01.2015 19:52

Цитата:

Сообщение от The Radge (Сообщение 135951)
Полностью удалите все четыре строчки в районе этой строки, включая символы { и } и не парьтесь ;)

гран мерси.:beer: Я то я уж прямо голову сломал:D

зы: прошу пардону. Запутался малость. Что именно нужно удалить?

static Class _mthclass$(String s)
{
try
{
return Class.forName(s);
}
catch(ClassNotFoundException classnotfoundexception)
{
throw new NoClassDefFoundError(classnotfoundexception.getMes sage());
}
}

static Class _mthclass$(String s)
{
try
{
return Class.forName(s);
}
catch(ClassNotFoundException classnotfoundexception)
{
throw new NoClassDefFoundError(classnotfoundexception.getMes sage());
}
}

The Radge 13.01.2015 19:57

Вот это всё и удалить :D

tarakan67 13.01.2015 19:58

http://dispersalfield.ru/main/index....pic,237.0.html
Здесь вторая причина

Skvorez 13.01.2015 19:59

The Radge

можно в личку ответить? Опять у меня форум сообщения проглатывает. Половина не отображается

Skvorez 13.01.2015 20:08

Цитата:

Сообщение от The Radge (Сообщение 135955)
Вот это всё и удалить :D

Cпасибо

Цитата:

Сообщение от tarakan67 (Сообщение 135956)
http://dispersalfield.ru/main/index....pic,237.0.html
Здесь вторая причина

Спасибо. Вошел

tarakan67 13.01.2015 20:18

Вложений: 1
Тогда так

Vasya 13.01.2015 22:26

Цитата:

Сообщение от Skvorez (Сообщение 135944)
Напротив больше спасибо за разъяснения помощь и науку. Кстати про ФМ. Я с ней накосячил и наврал нужно к нему ФМ прикрутить от Як-1 1 серии поплавковым карбюратором. И бонбы отнять. Но вот обнбы я еще пока не умею. Не поможете? Может быть не сочтете за труд и разъясните прям но этом примере (можно прямо здесь) как лишнее вооружение убрать и на этом Яке и на ЛаГГ-1?

В фм - в прынципе - ничего такого трогать не надо - там всё как надо, я смотрел., правда для себя я немного подкрутил мотор - типа перевёл на 100 бензин, потому как нервы не выдерживают ждать пока Як наберёт высоту., после установки модной воды и её эффектов(по моему от Карсмастера) у меня даже на второй скорости изображения появились сильные тормоза - изображение покадровое., поэтому приходится подыматься как в реале., по сравнения с Яком-1 - Эмиль-4(7) просто истребитель(рально хорошо летит).
О деле: посмотрите пожалуйста все готовые мои джава-файлы для всех модных самолётов, Яков в частности - вы там увидите как я расписывал вооружение и, вообще, какие отличия есть в наполнении джава-файлов ранних и поздних Яков из той большой сборки что я перебрал и выложил готовые в своей ветке., эти джава-файлы приведены в соответствие с патчем 4.12.2 и хорошо без проблемм компиляться, все батники для их компиляции есть в наличии в Лаб_4.12., так же - думаю это важно - те строки что вам советывали удалить есть во всех дефолтных классах всех самолётов., я эти строки вставлял и в переделанные основные классы(джава-вайлы) и в классы переделанных кокпитов., почему? - каши маслом не испортишь, какую то нагрузку они несут для работы джавы., бывало даже что джава отказывалась компилировать нужный мне джава-файл в класс и писала - "нет статуса"., поэтому и щитаю вредным удалять эти нужные строки., кстати - в свой новосозданный джава-файл можно просто скопировать эти строки из ближайшего джава-файла, я их часто брал из джава-файла Як-11, он почти в самом низу папки айр.
Так же я сначала долго(несколько месяцев) учился переписывать(с нуля) все нужные строки вооружения, теперь чужие ошибки в новых открытых классах, если они есть, бросаються в глаза сразу.
Потом желательно научиться читать и понимать текст кодов что начинаються так: protected void hitBone - там описываеться работа двигателя и не только. Но это потом, для начала важно изучить коды открывания фонарей, работы шасси, закрылков и подобную мелочь., для вписывания кокпитов нужно не пропускать скобку, часто в модах теряют строку Property.set(class1, "LOSElevation", 1.0989F); что бы самолёт летал без проблемм за разные страны, можно удалять строки типа Property.set(class1, "PaintScheme_ru", new PaintSchemeFCSPar05());
Готовые коды вооружений можно брать из моих джава-файлов, заменяя в них название пушек или пулемётов и бозапас., почти всё вооружение выписано хорошо и нормально компилиться. Там есть ещё разные тонкости - вчера переписал вооружение для И-180, из-за перепутаных нулей и единиц оружие имело неправильное сведение и стреляло выше линии прицеливания., это потому что в основном классе И-180 не изменили чуть-чуть код. В основном джава-файле Яка (YAK.java) уже проставлено открывание фонаря на наружке и отрегулировано., старые коды из вариантов патчей 4.09 и 4.10 работали не правильно в патче 4.12.2., так же он сделан как в патче 4.12.2 - в сборке Яков что я выкладывал присутствует именно этот файл.
На последок - успехов в мододелании!!! :ok:
Что нужно - спрашивайте. :law:

The Radge 13.01.2015 23:07

Цитата:

Сообщение от Skvorez (Сообщение 135957)
The Radge

можно в личку ответить?

Можно, конечно :)


Текущее время: 14:58. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot