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

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

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

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

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Старший Офицер Форума
    Регистрация
    15.02.2002
    Адрес
    Moscow
    Возраст
    47
    Сообщений
    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

  2. #2
    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.

  3. #3
    Старший Офицер Форума
    Регистрация
    15.02.2002
    Адрес
    Moscow
    Возраст
    47
    Сообщений
    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

Ваши права

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