???
Математика на уровне МГУ

Показано с 1 по 25 из 789

Тема: Вопросы.

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    hehehe 111 Аватар для podvoxx
    Регистрация
    25.08.2008
    Адрес
    Барнаул - Питер
    Возраст
    41
    Сообщений
    4,245

    Re: Вопросы.

    Есть несколько вопросов

    1. GamePlay.gpNextMissionNumber()
    К примеру подмиссия загружается из событий OnActorDead() и OnTickGame(), метод GamePlay.gpNextMissionNumber() слушает оба события и может подхватить номер подмиссии из любого события? Код примерно такой:

    Код:
    public override void OnTickGame()
        {
            base.OnTickGame();
    
                    // Запуск колонны снабжения по заданному маршруту        
                    if (way.Timer.ElapsedMilliseconds / 1000 >= way.Time)
                    {
                        int  x1 = GamePlay.gpNextMissionNumber();
                        GamePlay.gpPostMissionLoad(xxx);
                    }           
        }
    
    public override void OnActorDead(int missionNumber, string shortName, AiActor actor, List<DamagerScore> damages)
        {
            base.OnActorDead(missionNumber, shortName, actor, damages);
            string staticLine = "";
    
            if (actor != null)
            {
                if (actor is AiGroundActor)
                {
                    AiGroundActor groundActor = actor as AiGroundActor;
                    if (groundActor != null)
                    {            
                        int  x2 = GamePlay.gpNextMissionNumber()                    
                        GamePlay.gpPostMissionLoad(xxx);
                        
                    }
                }
            }
        }
    GamePlay.gpNextMissionNumber() может подхватить при определенном стечении обстоятельств из "чужого" события? Т.е. задача получить номер подмиссии убитой машинки, но в это время загружается подмиссия по таймеру и берется ее номер x2.
    И второй вопрос: GamePlay.gpNextMissionNumber() должен быть до или после GamePlay.gpPostMissionLoad()? А то у меня некоторая путаница возникла.

    2. Просьба сократить время горения топливных цистерн до максимум 5-10 минут. Никакой особой игровой ценности они не представляют, а производительность снижают очень сильно(я так и не дождался когда потухнут, больше часа вроде горело). Лучше через скрипт при желании загружать дымы и пожары из объектов редактора. Сейчас пилоты стараются не бросать в цистерны бомбы, чтобы не осложнять себе жизнь падением фпс.
    Нажмите на изображение для увеличения. 

Название:	Launcher 2012-08-05 20-21-04-97.jpg 
Просмотров:	43 
Размер:	2.34 Мб 
ID:	157542

    3. Дымы от разбитых самолетов. Через сколько они исчезают? Нужно либо убирать их по команде Destroy() либо сократить время горения до 5-10 минут, так как ценность таких дымов никакая, а фпс снижает. В онлайне особенно критично в местах боев и рядом с аэродромами
    Нажмите на изображение для увеличения. 

Название:	Launcher 2012-08-05 21-05-12-54.jpg 
Просмотров:	41 
Размер:	1.79 Мб 
ID:	157543

    4. Крылья двухмоторников. Кажется они не исчезают и не дестроятся. Лежат на земле очень долго(всю миссию вроде часа 2-3). На скринах запчасти 110-ки и бофайтера:
    Нажмите на изображение для увеличения. 

Название:	Launcher 2012-08-05 21-06-33-33.jpg 
Просмотров:	35 
Размер:	1.48 Мб 
ID:	157544Нажмите на изображение для увеличения. 

Название:	Launcher 2012-08-05 19-11-02-98.jpg 
Просмотров:	30 
Размер:	1.76 Мб 
ID:	157541

    5. Что-то не то с немецкими ПТ. Есть нормальная ДМ, когда они уничтожаются и дестроятся(модель почти как целая только стволом вниз), а есть "взрывная". Т.е. пушка разлетается на запчасти и еще встает стволом в землю(может это одно и тоже). При этом боты продолжают атаковать такую пушку, но безрезультатно(на скрине бофайтер этим занимается). Destroy к ней тоже не применяется. Это баг такой?
    Нажмите на изображение для увеличения. 

Название:	1.jpg 
Просмотров:	49 
Размер:	1.35 Мб 
ID:	157545
    Крайний раз редактировалось podvoxx; 06.08.2012 в 10:14.

  2. #2
    Старший Офицер Форума
    Регистрация
    15.02.2002
    Адрес
    Moscow
    Возраст
    46
    Сообщений
    6,905
    Images
    51

    Re: Вопросы.

    Цитата Сообщение от podvoxx Посмотреть сообщение
    Есть несколько вопросов

    1. GamePlay.gpNextMissionNumber()
    К примеру подмиссия загружается из событий OnActorDead() и OnTickGame(), метод GamePlay.gpNextMissionNumber() слушает оба события и может подхватить номер подмиссии из любого события? Код примерно такой:

    Код:
    public override void OnTickGame()
        {
            base.OnTickGame();
    
                    // Запуск колонны снабжения по заданному маршруту        
                    if (way.Timer.ElapsedMilliseconds / 1000 >= way.Time)
                    {
                        int  x1 = GamePlay.gpNextMissionNumber();
                        GamePlay.gpPostMissionLoad(xxx);
                    }           
        }
    
    public override void OnActorDead(int missionNumber, string shortName, AiActor actor, List<DamagerScore> damages)
        {
            base.OnActorDead(missionNumber, shortName, actor, damages);
            string staticLine = "";
    
            if (actor != null)
            {
                if (actor is AiGroundActor)
                {
                    AiGroundActor groundActor = actor as AiGroundActor;
                    if (groundActor != null)
                    {            
                        int  x2 = GamePlay.gpNextMissionNumber()                    
                        GamePlay.gpPostMissionLoad(xxx);
                        
                    }
                }
            }
        }
    GamePlay.gpNextMissionNumber() может подхватить при определенном стечении обстоятельств из "чужого" события? Т.е. задача получить номер подмиссии убитой машинки, но в это время загружается подмиссия по таймеру и берется ее номер x2.
    И второй вопрос: GamePlay.gpNextMissionNumber() должен быть до или после GamePlay.gpPostMissionLoad()? А то у меня некоторая путаница возникла.
    gpNextMissionNumber() ничего не слушает - он только выдаёт номер следующей миссии, ну или показывает кол-во уже загруженных миссий+1. Соответственно вызвав её до gpPostMissionLoad() - получим номер миссии которая в этом gpPostMissionLoad() загрузится, а вызвав после - номер миссии, которая загрузится следующей.

    Цитата Сообщение от podvoxx Посмотреть сообщение
    2. Просьба сократить время горения топливных цистерн до максимум 5-10 минут. Никакой особой игровой ценности они не представляют, а производительность снижают очень сильно(я так и не дождался когда потухнут, больше часа вроде горело). Лучше через скрипт при желании загружать дымы и пожары из объектов редактора. Сейчас пилоты стараются не бросать в цистерны бомбы, чтобы не осложнять себе жизнь падением фпс.
    Нажмите на изображение для увеличения. 

Название:	Launcher 2012-08-05 20-21-04-97.jpg 
Просмотров:	43 
Размер:	2.34 Мб 
ID:	157542
    боюсь не получится, они горят пока в них топливо не выгорит, при этом они наносят повреждения окружающему миру, в отличии от дымов и пожаров.

    Цитата Сообщение от podvoxx Посмотреть сообщение
    3. Дымы от разбитых самолетов. Через сколько они исчезают? Нужно либо убирать их по команде Destroy() либо сократить время горения до 5-10 минут, так как ценность таких дымов никакая, а фпс снижает. В онлайне особенно критично в местах боев и рядом с аэродромами
    Нажмите на изображение для увеличения. 

Название:	Launcher 2012-08-05 21-05-12-54.jpg 
Просмотров:	41 
Размер:	1.79 Мб 
ID:	157543
    дымы от самолётов исчезают через час, в среду, напомните плз, подумаем что с ними сделать. Крылья вроде бы не влияют особо ни на что
    Don't happy, be worry

  3. #3
    hehehe 111 Аватар для podvoxx
    Регистрация
    25.08.2008
    Адрес
    Барнаул - Питер
    Возраст
    41
    Сообщений
    4,245

    Re: Вопросы.

    Цитата Сообщение от naryv Посмотреть сообщение
    gpNextMissionNumber() ничего не слушает - он только выдаёт номер следующей миссии, ну или показывает кол-во уже загруженных миссий+1. Соответственно вызвав её до gpPostMissionLoad() - получим номер миссии которая в этом gpPostMissionLoad() загрузится, а вызвав после - номер миссии, которая загрузится следующей.
    Не могу код из миссии привести, там лишнего много слишком, но суть такая. Я все номера подмиссий получал ставив gpNextMissionNumber() перед загрузкой подмиссии, однако в одном из методов(подгружается подмиссия с пушками) - почему-то gpNextMissionNumber() берет (номер нужной подмиссии + 1). Если поставить после, то нормально. Похоже на то, что перед загрузкой пушек загружается еще одна подмиссия в другом методе и запоминается ее номер, такое может быть?

    И еще вопрос по ДМ машинок. Некоторые(или все) броневички при уничтожении сразу лопаются не оставляя после себя убитой модельки - буквально испаряются перед этим подпрыгивая. Destroy должен применяться через 60 сек, но дестроить уже нечего. Даже непонятно сразу уничтожили или нет, так как остается пустое место.
    Крайний раз редактировалось podvoxx; 06.08.2012 в 10:42.

  4. #4
    Старший Офицер Форума
    Регистрация
    15.02.2002
    Адрес
    Moscow
    Возраст
    46
    Сообщений
    6,905
    Images
    51

    Re: Вопросы.

    Цитата Сообщение от podvoxx Посмотреть сообщение
    Не могу код из миссии привести, там лишнего много слишком, но суть такая. Я все номера подмиссий получал ставив gpNextMissionNumber() перед загрузкой подмиссии, однако в одном из методов(подгружается подмиссия с пушками) - почему-то gpNextMissionNumber() берет (номер нужной подмиссии + 1). Если поставить после, то нормально. Похоже на то, что перед загрузкой пушек загружается еще одна подмиссия в другом методе и запоминается ее номер, такое может быть?
    да, так и работает - есть счётчик миссий, при загрузке миссии(любой и от куда угодно), он увеличивается на единичку, этот счётчик глобальный на всю битву, т.е. загрузка из другой миссии тоже увеличит этот счётчик. Примерно так :

    Код:
    int nn = gpNextMissionNumber();  // если из основной миссии загрузили то будет nn =1
    gpPostMissionLoad();                 //загрузили миссию 
    nn = gpNextMissionNumber();  // nn =2
    gpPostMissionLoad();                 //загрузили миссию 
    nn = gpNextMissionNumber();  // nn =3
    //------------параллельно в одной из миссий загрузили ещё одну
    nn = gpNextMissionNumber();  // nn =4
    gpPostMissionLoad();                 //загрузили миссию 
    nn = gpNextMissionNumber();  // nn =5
    И еще вопрос по ДМ машинок. Некоторые(или все) броневички при уничтожении сразу лопаются не оставляя после себя убитой модельки - буквально испаряются перед этим подпрыгивая. Destroy должен применяться через 60 сек, но дестроить уже нечего. Даже непонятно сразу уничтожили или нет, так как остается пустое место.
    да, есть такой момент, если взрыв сильный сразу дестроится машинка. Пока думаем что с этим делать.
    Don't happy, be worry

  5. #5
    hehehe 111 Аватар для podvoxx
    Регистрация
    25.08.2008
    Адрес
    Барнаул - Питер
    Возраст
    41
    Сообщений
    4,245

    Re: Вопросы.

    Цитата Сообщение от podvoxx Посмотреть сообщение
    5. Что-то не то с немецкими ПТ. Есть нормальная ДМ, когда они уничтожаются и дестроятся(модель почти как целая только стволом вниз), а есть "взрывная". Т.е. пушка разлетается на запчасти и еще встает стволом в землю(может это одно и тоже). При этом боты продолжают атаковать такую пушку, но безрезультатно(на скрине бофайтер этим занимается). Destroy к ней тоже не применяется. Это баг такой?
    Нажмите на изображение для увеличения. 

Название:	1.jpg 
Просмотров:	49 
Размер:	1.35 Мб 
ID:	157545
    Хотел бы уточнить по этому вопросу все-таки. В логе есть ошибки при загрузке подмиссий с пушками:

    Код:
    [22:38:20]	Mission: actor '48:Static9' alredy exist
    [22:38:20]	Mission: actor '48:Static8' alredy exist
    [22:38:20]	Mission: actor '48:Static3' alredy exist
    [22:38:20]	Mission: actor '48:Static6' alredy exist
    Миссия:
    Код:
    [Stationary]
      Static12 Artillery.37mm_PaK_35_36 de 312313.00 97396.00 195.00 /timeout 0/radius_hide 0
      Static10 Artillery.Flak30 de 312253.00 97492.00 195.00 /timeout 0/radius_hide 0
      Static13 Artillery.Pz_IIC de 312194.00 97586.00 195.00 /timeout 0/radius_hide 0
      Static1 Artillery.37mm_PaK_35_36 de 312089.00 97781.00 225.00 /timeout 0/radius_hide 0
      Static0 Artillery.Pz_IVD de 312034.16 97879.27 225.00 /timeout 0/radius_hide 0
      Static9 Artillery.37mm_PaK_35_36 de 312155.00 98560.00 195.00 /timeout 0/radius_hide 0
      Static8 Artillery.Flak30 de 312153.00 98838.00 165.00 /timeout 0/radius_hide 0
      Static6 Artillery.37mm_PaK_35_36 de 312145.00 99039.00 165.00 /timeout 0/radius_hide 0
      Static14 Artillery.Pz_IVD de 312148.00 99100.00 180.00 /timeout 0/radius_hide 0
      Static11 Artillery.37mm_PaK_35_36 de 312150.00 99137.00 165.00 /timeout 0/radius_hide 0
      Static3 Artillery.Flak30 de 312151.00 99175.00 180.00 /timeout 0/radius_hide 0
      Static37 Artillery.37mm_PaK_35_36 de 312151.00 99225.00 180.00 /timeout 0/radius_hide 0
      Static39 Artillery.Pz_IVD de 312147.00 99326.00 180.00 /timeout 0/radius_hide 0
      Static38 Artillery.37mm_PaK_35_36 de 312152.00 99365.00 180.00 /timeout 0/radius_hide 0
      Static5 Artillery.40mm_2pdr_AT_Gun_Mk_II de 312149.00 99401.00 180.00 /timeout 0/radius_hide 0
      Static36 Artillery.40mm_2pdr_AT_Gun_Mk_II de 312146.00 99441.00 180.00 /timeout 0/radius_hide 0
      Static7 Artillery.4_cm_Flak_28 de 312149.00 98915.00 165.00 /timeout 0/radius_hide 0
      Static2 Artillery.4_cm_Flak_28 de 312144.00 97676.00 210.00 /timeout 0/radius_hide 0
    Может ли такая ошибка возникать из-за того, что Destroy не применялся к пушке, которая была убита на том же месте? Так как предварительно(еще протестирую) не должен скрипт два статика создавать(только если OnActorDead срабатывает для него два раза). Может ли то, что на картинке выдавать два срабатывания OnActorDead() ?

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

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •