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

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

Тема: Сервер Repka

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #6
    Любопытный
    Регистрация
    03.10.2005
    Адрес
    Киров
    Возраст
    41
    Сообщений
    1,386

    Re: Сервер Repka

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

    Код:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using maddox.game;
    using maddox.game.world;
    using maddox.GP;
    
    public class Airfield
    {
        // координаты аэродрома
        public double x;
        public double y;
        public double z;
    
        // радиус сферы
        public float radius;
    
        // Строна, к которой принадлежит аэродром (1 - красные, 2 - синие)
        public int army;    
    
        public Airfield(double newX = 0.0, double newY = 0.0, double newZ = 0.0, float newRadius = 1.0f, int newArmy = 1)
        {
            x = newX;
            y = newY;
            z = newZ;
            radius = newRadius;
            army = newArmy;
        }
    }
    
    
    public class Mission : maddox.game.AMission
    {
        // Создаем первый аэродром.
        private Airfield air1 = new Airfield(2.3, 5.0, 4.2);
    
        
        public override void OnBattleStarted()
        {
            base.OnBattleStarted();        
        }
    
        // Итак, кого-то уничтожили
        public override void OnActorDead(int missionNumber, string shortName, AiActor actor, List<DamagerScore> initiatorList)
        {
            // Самолет?
            if (actor is AiAircraft)
            {
                foreach (DamagerScore i in initiatorList)
                {
                    // Противником?
                    if (actor.Army() != i.initiator.Actor.Army())
                    {
                        // Проверяем находился ли уничтоженный самолет в "защитной" сфере
                        if (air1.radius > Math.Sqrt(Math.Pow(actor.Pos().x - air1.x, 2.0) + Math.Pow(actor.Pos().y - air1.y, 2.0) + Math.Pow(actor.Pos().z - air1.z, 2.0)) && (actor.Army() == air1.army))
                        {
                            // Если да, выкидываем вулчера или ломаем упарвление
                            if (i.initiator.Player.Place() != null)
                            {
                                // божья кара
    AiAircraft aircraft = (i.initiator.Actor as AiAircraft);
                                aircraft.hitNamed(part.NamedDamageTypes.ControlsElevatorDisabled);
                                aircraft.hitNamed(part.NamedDamageTypes.ControlsAileronsDisabled);
                                aircraft.hitNamed(part.NamedDamageTypes.ControlsRudderDisabled);                         
                            }
                            
                        }
                    }
                }
            }
        }
    
    }
    Крайний раз редактировалось Geniok; 08.07.2011 в 22:43.
    AMD Phenom(tm) II X4 955 3.21ГГц, Gigabyte GA-MA770-US3, 4Гб DDR2-800, ATI Radeon HD 5850 1Гб DDR5 256-бит, Microsoft Windows 7 Home SP1 x64, 1920х1080 24"

Ваши права

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