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

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

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

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

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #5
    3GIAP.ru Аватар для -atas-
    Регистрация
    26.12.2001
    Адрес
    Москва
    Возраст
    54
    Сообщений
    2,992
    Записей в дневнике
    1

    Re: Сервер Repka

    Скрипты с повреждениями

    Управление, двигатель, баки
    Код:
    using System;
    using maddox.game;
    using maddox.game.world;
    using System.Collections.Generic;
    
    public class Mission : AMission {
    	private bool isAiControlledPlane (AiAircraft aircraft) {
    		if (aircraft == null) { 
    			return false;
    		}
    
    		Player [] players = GamePlay.gpRemotePlayers ();
    		foreach (Player p in players) {    
    			if (p != null && (p.Place () is AiAircraft) && (p.Place () as AiAircraft) == aircraft) { 
    				return false;
    			}
    		}
    
    		return true;
    	}
    
    	private void destroyPlane (AiAircraft aircraft) {
    		if (aircraft != null) { 
    			aircraft.Destroy ();
    		}
    	}
    
    	private void explodeFuelTank (AiAircraft aircraft) {
    		if (aircraft != null) { 
    			aircraft.hitNamed (part.NamedDamageTypes.FuelTank0Exploded);
    			/***
    			aircraft.hitNamed (part.NamedDamageTypes.FuelTank1Exploded);
    			aircraft.hitNamed (part.NamedDamageTypes.FuelTank2Exploded);
    			aircraft.hitNamed (part.NamedDamageTypes.FuelTank3Exploded);
    			aircraft.hitNamed (part.NamedDamageTypes.FuelTank4Exploded);
    			aircraft.hitNamed (part.NamedDamageTypes.FuelTank5Exploded);
    			aircraft.hitNamed (part.NamedDamageTypes.FuelTank6Exploded);
    			aircraft.hitNamed (part.NamedDamageTypes.FuelTank7Exploded);
    			***/
    		}
    	}
    
    	private void fuelTankFire (AiAircraft aircraft) {
    		if (aircraft != null) { 
    			aircraft.hitNamed (part.NamedDamageTypes.FuelTank0Fire);
    			/***
    			aircraft.hitNamed (part.NamedDamageTypes.FuelTank1Fire);
    			aircraft.hitNamed (part.NamedDamageTypes.FuelTank2Fire);
    			aircraft.hitNamed (part.NamedDamageTypes.FuelTank3Fire);
    			aircraft.hitNamed (part.NamedDamageTypes.FuelTank4Fire);
    			aircraft.hitNamed (part.NamedDamageTypes.FuelTank5Fire);
    			aircraft.hitNamed (part.NamedDamageTypes.FuelTank6Fire);
    			aircraft.hitNamed (part.NamedDamageTypes.FuelTank7Fire);
    			***/
    		}
    	}
    
    	private void destroyAiControlledPlane (AiAircraft aircraft) {
    		if (isAiControlledPlane (aircraft)) {
    			destroyPlane (aircraft);
    		}
    	}
    
    	private void damageAiControlledPlane (AiActor actor) {
    		if (actor == null || !(actor is AiAircraft)) { 
    			return;
    		}
    
    		AiAircraft aircraft = (actor as AiAircraft);
    
    		if (!isAiControlledPlane (aircraft)) {
    			return;
    		}
    
    		if (aircraft == null) { 
    			return;
    		}
    
    		aircraft.hitNamed (part.NamedDamageTypes.ControlsElevatorDisabled);
    		aircraft.hitNamed (part.NamedDamageTypes.ControlsAileronsDisabled);
    		aircraft.hitNamed (part.NamedDamageTypes.ControlsRudderDisabled);
    
    		aircraft.hitNamed (part.NamedDamageTypes.FuelPumpFailure);
    		// aircraft.hitNamed (part.NamedDamageTypes.Eng0TotalFailure);
    		// aircraft.hitNamed (part.NamedDamageTypes.Eng1TotalFailure);
    
    		/*** Tank fire doesn't work after engine total failure - ???
    		Timeout (15, () =>
    				{fuelTankFire (aircraft);}
    			);
    		***/
    
    		/*** Cool, but kills fps
    		Timeout (25, () =>
    				{explodeFuelTank (aircraft);}
    			);
    		***/
    
    		Timeout (90, () =>
    				{destroyPlane (aircraft);}
    			);
    	}
    
    //////////////////////////////////////////////////////////////////////////////////////////////////
    
    	public override void OnPlaceLeave (Player player, AiActor actor, int placeIndex) {
    		base.OnPlaceLeave (player, actor, placeIndex);
    		Timeout (1, () =>
    				{damageAiControlledPlane (actor);}
    			);
    	}
    
    	public override void OnAircraftCrashLanded (int missionNumber, string shortName, AiAircraft aircraft) {
    		base.OnAircraftCrashLanded (missionNumber, shortName, aircraft);
    		Timeout (30, () =>
    				{destroyAiControlledPlane (aircraft);}
    			);
    	}
    	
    	/**
    	public override void OnAircraftTookOff (int missionNumber, string shortName, AiAircraft aircraft) {
                base.OnAircraftTookOff (missionNumber, shortName, aircraft);
    	    ...
            }
    	**/	
    }

    Много чего

    Код:
    // Script that triggered an accidental damage to the player plane
    // Autor: adonys
    // version: 1.1
    
    using System;
    using System.IO;
    using System.Collections;
    using System.Collections.Generic;
    using maddox.game;
    using maddox.game.world;
    using maddox.GP;
    
    public class Mission : maddox.game.AMission
    {
        AiAircraft PlayerPlane;
        
        int PlanePartsNr = 117;
        
        private string[] PlanePartsList = new string[] 
        {   "ElecGeneratorFailure",
            "ElecBatteryFailure",
            "ElecPrimaryFailure",
            "ElecSecondaryFailure",
            "ElecMasterCompassFailure",
            "ElecWeaponryFailure",
            "ElecPriNavigationFailure",
            "ElecSecNavigationFailure",
            "ElecTransceiverFailure",
            "ElecIlluminationFailure",
            "HydraulicsPumpFailure",
            "HydraulicsPrimaryHosePerforated",
            "HydraulicsPistonOpened",
            "HydraulicsEmergencyFailure",
            "HydraulicsTankPerforated",
            "PneumaticsCompressorFailure",
            "PneumaticsPrimaryContainerPerforated",
            "PneumaticsSecondaryContainerPerforated",
            "PneumaticsPrimaryHosePerforated",
            "PneumaticsSecondaryHosePerforated",
            "ControlsGenericKickdown",
            "ControlsElevatorDisabled",
            "ControlsAileronsDisabled",
            "ControlsRudderDisabled",
            "LandingFlapsPistonFailure1",
            "LandingFlapsPistonFailure2",
            "LandingFlapsKinematicFailure1",
            "LandingFlapsKinematicFailure2",
            "LandingFlapsDriveFailure",
            "LandingFlapsHosePerforated",
            "AirbrakeHosePerforated",
            "AirbrakeDriveFailure",
            "AirbrakePistonFailure",
            "WheelBrakesFailureL",
            "WheelBrakesFailureR",
            "WheelBrakesTotalFailure",
            "WheelBrakesHosePerforated",
            "UndercarriageShockFailureL",
            "UndercarriageShockFailureR",
            "UndercarriageShockFailureC",
            "UndercarriageUpLockFailureL",
            "UndercarriageUpLockFailureR",
            "UndercarriageUpLockFailureC",
            "UndercarriageDownLockFailureL",
            "UndercarriageDownLockFailureR",
            "UndercarriageDownLockFailureC",
            "UndercarriageKinematicFailureL",
            "UndercarriageKinematicFailureR",
            "UndercarriageKinematicFailureC",
            "UndercarriageHosePerforated",
            "UndercarriageDriveDamaged",
            "Eng0TotalFailure",
            "Eng0TotalSeizure",
            "Eng0IntakeBurnt",
            "Eng0CompressorFailure",
            "Eng0CompressorGovernorFailure",
            "Eng0CompressorSeizure",
            "Eng0IntercoolerBurnt",
            "Eng0CarbFailure",
            "Eng0CarbControlsFailure",
            "Eng0FuelLinePerforated",
            "Eng0FuelPumpFailure",
            "Eng0FuelSecondariesFire",
            "Eng0Magneto0Failure",
            "Eng0Magneto1Failure",
            "Eng0OilPumpFailure",
            "Eng0OilRadiatorPerforated",
            "Eng0OilLineBroken",
            "Eng0OilGasketLeak",
            "Eng0OilSecondariesFire",
            "Eng0OilSecondariesExtinguished",
            "Eng0OilTankPerforated",
            "Eng0WaterPumpFailure",
            "Eng0WaterRadiatorPerforated",
            "Eng0WaterLineBroken",
            "Eng0WaterTankPerforated",
            "Eng0WaterJacketBroken",
            "Eng0CylinderHeadFire",
            "Eng0CylinderHeadExtinguished",
            "Eng0ExhaustHeadFailure",
            "Eng0GovernorFailure",
            "Eng0GovernorSeizure",
            "Eng0ThrottleControlBroken",
            "Eng0PropControlBroken",
            "Eng0TretiaryControlBroken",
            "Eng0PropBlade0Broken",
            "Eng0PropBlade1Broken",
            "Eng0PropBlade2Broken",
            "Eng0PropBlade3Broken",
            "Eng0Plug00Failure",
            "FuelTank0TinyLeak",
            "FuelTank0SmallLeak",
            "FuelTank0LargeLeak",
            "FuelTank0Fire",
            "FuelTank0Exploded",
            "FuelTank0HosePerforated",
            "FuelTank0PumpFailure",
            "Machinegun00Failure",
            "Machinegun00BeltBroken",
            "Machinegun00Jammed",
            "Machinegun00Charged",
            "Machinegun00LineDamaged",
            "CockpitDamageFlag00",
            "CockpitDamageFlag01",
            "CockpitDamageFlag02",
            "CockpitDamageFlag03",
            "CockpitDamageFlag04",
            "CockpitDamageFlag05",
            "CockpitDamageFlag06",
            "CockpitDamageFlag07",
            "CockpitDamageFlag08",
            "CockpitDamageFlag09",
            "CockpitDamageFlag10",
            "CockpitDamageFlag11",
            "CockpitDamageFlag12",
            "CockpitDamageFlag13",
            "CockpitDamageFlag14",
        };
    
        private string[] PlanePartsListText = new string[] 
        {   "ElecGeneratorFailure",
            "ElecBatteryFailure",
            "ElecPrimaryFailure",
            "ElecSecondaryFailure",
            "ElecMasterCompassFailure",
            "ElecWeaponryFailure",
            "ElecPriNavigationFailure",
            "ElecSecNavigationFailure",
            "ElecTransceiverFailure",
            "ElecIlluminationFailure",
            "Hydraulics Pump failure",
            "HydraulicsPrimaryHosePerforated",
            "HydraulicsPistonOpened",
            "HydraulicsEmergencyFailure",
            "HydraulicsTankPerforated",
            "PneumaticsCompressorFailure",
            "PneumaticsPrimaryContainerPerforated",
            "PneumaticsSecondaryContainerPerforated",
            "PneumaticsPrimaryHosePerforated",
            "PneumaticsSecondaryHosePerforated",
            "ControlsGenericKickdown",
            "Elevator disabled",
            "Ailerons disabled",
            "Rudder disabled",
            "LandingFlapsPistonFailure1",
            "LandingFlapsPistonFailure2",
            "LandingFlapsKinematicFailure1",
            "LandingFlapsKinematicFailure2",
            "LandingFlapsDriveFailure",
            "LandingFlapsHosePerforated",
            "AirbrakeHosePerforated",
            "AirbrakeDriveFailure",
            "AirbrakePistonFailure",
            "WheelBrakesFailureL",
            "WheelBrakesFailureR",
            "WheelBrakesTotalFailure",
            "WheelBrakesHosePerforated",
            "UndercarriageShockFailureL",
            "UndercarriageShockFailureR",
            "UndercarriageShockFailureC",
            "UndercarriageUpLockFailureL",
            "UndercarriageUpLockFailureR",
            "UndercarriageUpLockFailureC",
            "Undercarriage Left down-lock mechanism failure",
            "Undercarriage Right down-lock mechanism failure",
            "Undercarriage Central down-lock mechanism failure",
            "UndercarriageKinematicFailureL",
            "UndercarriageKinematicFailureR",
            "UndercarriageKinematicFailureC",
            "UndercarriageHosePerforated",
            "UndercarriageDriveDamaged",
            "Engine Total failure",
            "Eng0TotalSeizure",
            "Eng0IntakeBurnt",
            "Eng0CompressorFailure",
            "Eng0CompressorGovernorFailure",
            "Eng0CompressorSeizure",
            "Eng0IntercoolerBurnt",
            "Eng0CarbFailure",
            "Eng0CarbControlsFailure",
            "Eng0FuelLinePerforated",
            "Eng0FuelPumpFailure",
            "Eng0FuelSecondariesFire",
            "Eng0Magneto0Failure",
            "Eng0Magneto1Failure",
            "Eng0OilPumpFailure",
            "Eng0OilRadiatorPerforated",
            "Eng0OilLineBroken",
            "Eng0OilGasketLeak",
            "Oil is on fire",
            "Eng0OilSecondariesExtinguished",
            "Eng0OilTankPerforated",
            "Eng0WaterPumpFailure",
            "Eng0WaterRadiatorPerforated",
            "Eng0WaterLineBroken",
            "Eng0WaterTankPerforated",
            "Eng0WaterJacketBroken",
            "Eng0CylinderHeadFire",
            "Eng0CylinderHeadExtinguished",
            "Eng0ExhaustHeadFailure",
            "Eng0GovernorFailure",
            "Eng0GovernorSeizure",
            "Eng0ThrottleControlBroken",
            "Eng0PropControlBroken",
            "Eng0TretiaryControlBroken",
            "PropBlade Broken",
            "Eng0PropBlade1Broken",
            "Eng0PropBlade2Broken",
            "Eng0PropBlade3Broken",
            "Engine Plug 0 failure",
            "FuelTank0TinyLeak",
            "FuelTank0SmallLeak",
            "FuelTank0LargeLeak",
            "FuelTank0Fire",
            "FuelTank0Exploded",
            "FuelTank0HosePerforated",
            "FuelTank0PumpFailure",
            "Machinegun00Failure",
            "Machinegun00BeltBroken",
            "Machinegun00Jammed",
            "Machinegun00Charged",
            "Machinegun00LineDamaged",
            "103 CockpitDamageFlag00: gunsight",
            "104 CockpitDamageFlag01: instruments",
            "CockpitDamageFlag02",
            "CockpitDamageFlag03",
            "CockpitDamageFlag04",
            "CockpitDamageFlag05",
            "CockpitDamageFlag06",
            "CockpitDamageFlag07",
            "CockpitDamageFlag08",
            "CockpitDamageFlag09",
            "CockpitDamageFlag10",
            "CockpitDamageFlag11",
            "CockpitDamageFlag12",
            "CockpitDamageFlag13",
            "CockpitDamageFlag14",
        };
    
        public override void OnTrigger(int missionNumber, string shortName, bool active) 
        {
            if (("trigger01".Equals(shortName) && active))
            {
            		//GamePlay.gpHUDLogCenter("Trigger Activated!");
                DoDamage();
            }
            GamePlay.gpGetTrigger(shortName).Enable = false;
        }
    
        private void DoDamage()
        {
            PlayerPlane = (AiAircraft)GamePlay.gpPlayer().Place();              
                
            Random RandomIncident = new Random();
            
            for (int i = 0; i < 3; i++)
            {
    		        int j = (RandomIncident.Next(1,PlanePartsNr) -1);
    		        PlayerPlane.hitNamed ((part.NamedDamageTypes)Enum.Parse(typeof(part.NamedDamageTypes),PlanePartsList[j]));
    		        GamePlay.gpHUDLogCenter(PlanePartsListText[j]);
    		        serverMessage("Failure: "+PlanePartsListText[j]);
          	}
        }
        
        private void serverMessage(string msg)
        {
            Player pl = GamePlay.gpPlayer();
            Player[] players = { pl };
            object[] args = { msg };
            GamePlay.gpLogServer(players, msg, args);
        }
    
        public override void OnAircraftLanded(int missionNumber, string shortName, AiAircraft aircraft)
        {
            GamePlay.gpHUDLogCenter("Excellent, you've managed to land!");
        }
    
        public override void OnAircraftCrashLanded(int missionNumber, string shortName, AiAircraft aircraft) 
        {
            GamePlay.gpHUDLogCenter("You've crash-landed, but you're still alive!");
        }
    
    }
    cutLimb отламывает части (не все части есть у каждого самолета)

    Код:
    part.LimbNames
    
    part.LimbNames.AileronL0
    part.LimbNames.AileronL1
    part.LimbNames.AileronR0
    part.LimbNames.AileronR1
    
    part.LimbNames.AirBrakeL0
    part.LimbNames.AirBrakeL1
    part.LimbNames.AirBrakeR0
    part.LimbNames.AirBrakeR1
    
    part.LimbNames.BayDoor0 - 7
    
    part.LimbNames.CF
    part.LimbNames.ElevatorL0
    part.LimbNames.ElevatorL1
    part.LimbNames.ElevatorR0
    part.LimbNames.ElevatorR1
    
    part.LimbNames.Engine0 - 7
    
    part.LimbNames.Hatch0 - 5
    
    part.LimbNames.Keel0 - 3
    
    part.LimbNames.LandingFlapL0
    part.LimbNames.LandingFlapL1
    part.LimbNames.LandingFlapR0
    part.LimbNames.LandingFlapR1
    
    
    part.LimbNames.MaxValue
    
    part.LimbNames.Nil
    
    part.LimbNames.Nose0 - 3
    
    part.LimbNames.Rudder0 - 3
    
    part.LimbNames.Separator
    
    part.LimbNames.Slat0 - 3
    
    part.LimbNames.Sponger00 - 23
    
    part.LimbNames.StabilizerL0
    part.LimbNames.StabilizerL1
    part.LimbNames.StabilizerR0
    part.LimbNames.StabilizerR1
    
    part.LimbNames.Tail0 - 7
    
    part.LimbNames.UC0 - 5
    
    part.LimbNames.Wheel0 - 5
    
    part.LimbNames.WingL0 - 7
    
    part.LimbNames.WingR0 - 7
    Крайний раз редактировалось -atas-; 08.07.2011 в 22:45.
    ...зелёные горят.
    ----------------------

    i7-860@3.8, 4GB, ati4890-2GB, 1680x1050, Win7-64.

Ваши права

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