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

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

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

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

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

    Re: Вопросы.

    Цитата Сообщение от 41Sqn_Banks Посмотреть сообщение
    Unfortunately not, only one user label is drawn that has the actor.Name as text. The labels to a specific player or army are not drawn Script is running on a dedicated server, player is a remote client.
    It was a single-mission sample, i tryed step by step check , but now it seems like i know what is the problem:. In multiplayer label will not sent to player which is author of this label - just to not doubling labels, exept case when labels sent to everybody. So, when you use that code you make label with player who enter the plane as author, sever will not send it to this player. But You can change the author of label, then it would be send to remote player, server is good candidate to be author(couse hi makes it really) like this :
    Код:
    using maddox.game;
    using maddox.game.world;
    using maddox.GP;
    using System.Collections.Generic;
    using Math = System.Math;
    
    
    public class Mission : AMission
    {
    
        public override void OnPlaceEnter(Player player, AiActor actor, int placeIndex)
        {
            base.OnPlaceEnter(player, actor, placeIndex);
            Point2d p ;
            p.x = actor.Pos().x;
            p.y = actor.Pos().y;
            GPUserLabel ul = GamePlay.gpMakeUserLabel(p, GamePlay.gpPlayer(), actor.Name(), GamePlay.gpTimeofDay(), (int)GPUserIconType.Plane);
            GamePlay.gpDrawUserLabel(ul);
            p.x -= 300;        
            ul.pos = p;
            ul.Text = "Show player";
            GamePlay.gpDrawUserLabel(new Player[] { player }, ul);
    
            p.x += 600;
            p.y += 300;
            ul.pos = p;
            ul.Text = "Show army";
            GamePlay.gpDrawUserLabel(0,ul);
            p.x += 300;
            p.y += 300;
            ul.pos = p;
            GamePlay.gpDrawUserLabel(1, ul);
            p.x += 300;
            p.y += 300;
            ul.pos = p;
            GamePlay.gpDrawUserLabel(2, ul);
        }
        
    }
    it should draw 3 labels - actor.Name, Show player and Show army , try it please.

    --- Добавлено ---

    Цитата Сообщение от =HH=Pauk Посмотреть сообщение
    podvoxx, выручай, надежда на тебя, никто не может помочь в вопросе посадки гидросамолетов на воду... хотя в условиях задано.
    увы, похоже никак

    --- Добавлено ---

    Цитата Сообщение от Ph0b0s Посмотреть сообщение
    Вопрос,
    как определить было ли попадание по самолету одним игроком в другого?

    Появилась идея, немного повысить комфортность полетов на дуэльном сервере, а именно: выводить надпись игроку при нажатии Alt+F2 "Самолет противника уничтожен", который ранее подстрелил своего соперника, как это было в старом ИЛе при нажатии новой попытки, либо после полного уничтожения самолета.
    есть событие на повреждение самолёта -
    Код:
    public override void OnActorDamaged(int missionNumber, string shortName, AiActor actor, AiDamageInitiator initiator, part.NamedDamageTypes damageType)
        {
            base.OnActorDamaged(missionNumber, shortName, actor, initiator, damageType);
        }
    в нём как аргумент идёт initiator - это кто подбил и damageType - что подбили, можно запоминать и при выходе писать игроку.
    Don't happy, be worry

  2. #2
    Зашедший Аватар для =HH=Pauk
    Регистрация
    14.06.2005
    Адрес
    СПб
    Сообщений
    319

    Re: Вопросы.

    Цитата Сообщение от naryv Посмотреть сообщение
    Цитата Сообщение от =HH=Pauk Посмотреть сообщение
    парни, вопрос, как заставить Walrus садиться на воду и взлетать?
    эта амфибия боится воды...
    есть конечно же мысль, ограничить топляк, но это крайний выход и то решит вопрос только с посадкой
    увы, похоже никак
    спасибо за ответ, а то уже извелся в попытках его таки посадить... кроме как топляком заставить больше никак не получатся.
    Сталкиваясь с сильным противником, у тебя в голове лишь одна мысль... Как выжить?

  3. #3

    Re: Вопросы.

    Цитата Сообщение от naryv Посмотреть сообщение
    It was a single-mission sample, i tryed step by step check , but now it seems like i know what is the problem:. In multiplayer label will not sent to player which is author of this label - just to not doubling labels, exept case when labels sent to everybody. So, when you use that code you make label with player who enter the plane as author, sever will not send it to this player. But You can change the author of label, then it would be send to remote player, server is good candidate to be author(couse hi makes it really) like this :
    Код:
    using maddox.game;
    using maddox.game.world;
    using maddox.GP;
    using System.Collections.Generic;
    using Math = System.Math;
    
    
    public class Mission : AMission
    {
    
        public override void OnPlaceEnter(Player player, AiActor actor, int placeIndex)
        {
            base.OnPlaceEnter(player, actor, placeIndex);
            Point2d p ;
            p.x = actor.Pos().x;
            p.y = actor.Pos().y;
            GPUserLabel ul = GamePlay.gpMakeUserLabel(p, GamePlay.gpPlayer(), actor.Name(), GamePlay.gpTimeofDay(), (int)GPUserIconType.Plane);
            GamePlay.gpDrawUserLabel(ul);
            p.x -= 300;        
            ul.pos = p;
            ul.Text = "Show player";
            GamePlay.gpDrawUserLabel(new Player[] { player }, ul);
    
            p.x += 600;
            p.y += 300;
            ul.pos = p;
            ul.Text = "Show army";
            GamePlay.gpDrawUserLabel(0,ul);
            p.x += 300;
            p.y += 300;
            ul.pos = p;
            GamePlay.gpDrawUserLabel(1, ul);
            p.x += 300;
            p.y += 300;
            ul.pos = p;
            GamePlay.gpDrawUserLabel(2, ul);
        }
        
    }
    it should draw 3 labels - actor.Name, Show player and Show army , try it please.[COLOR="Silver"]
    Does GamePlay.gpPlayer() work for dedicated server, too?

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

    Re: Вопросы.

    Цитата Сообщение от 41Sqn_Banks Посмотреть сообщение
    Does GamePlay.gpPlayer() work for dedicated server, too?
    yes, just tryed this mission runing on dedicated server, join it, and enter the spit flying in mission, get 3 labels as it should be done.
    Don't happy, be worry

Ваши права

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