DayZ 1.28
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ OnEngineStop()

override void OnDebugSpawn::OnEngineStop ( )
protected

См. определение в файле CivilianSedan.c строка 483

484{
488
489 void CivilianSedan()
490 {
491 //m_dmgContactCoef = 0.065;
492
493 m_EngineStartOK = "CivilianSedan_engine_start_SoundSet";
494 m_EngineStartBattery = "CivilianSedan_engine_failed_start_battery_SoundSet";
495 m_EngineStartPlug = "CivilianSedan_engine_failed_start_sparkplugs_SoundSet";
496 m_EngineStartFuel = "CivilianSedan_engine_failed_start_fuel_SoundSet";
497 m_EngineStop = "CivilianSedan_engine_stop_SoundSet";
498 m_EngineStopFuel = "CivilianSedan_engine_stop_fuel_SoundSet";
499
500 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
501 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
502
503 m_CarHornShortSoundName = "CivilianSedan_Horn_Short_SoundSet";
504 m_CarHornLongSoundName = "CivilianSedan_Horn_SoundSet";
505
506 SetEnginePos("0 0.7 1.6");
507 }
508
509 override void EEInit()
510 {
511 super.EEInit();
512
513 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
514 {
516 m_UTSSettings.m_ManualUpdate = true;
518 m_UTSSettings.m_TemperatureCap = 0;
519 m_UTSSettings.m_RangeFull = 0.5;
520 m_UTSSettings.m_RangeMax = 2;
521
524 }
525 }
526
527 override void OnEngineStart()
528 {
529 super.OnEngineStart();
530
531 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
532 {
533 m_UTSource.SetDefferedActive(true, 20.0);
534 }
535 }
536
537 override void OnEngineStop()
538 {
539 super.OnEngineStop();
540
541 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
542 {
543 m_UTSource.SetDefferedActive(false, 10.0);
544 }
545 }
546
547 override void EOnPostSimulate(IEntity other, float timeSlice)
548 {
549 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
550 {
551 if (m_UTSource.IsActive())
552 {
554 }
555 }
556 }
557
558 override int GetAnimInstance()
559 {
560 return VehicleAnimInstances.SEDAN;
561 }
562
563 override float GetTransportCameraDistance()
564 {
565 return 4.5;
566 }
567
568 override int GetSeatAnimationType(int posIdx)
569 {
570 switch (posIdx)
571 {
572 case 0:
573 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
574 case 1:
575 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
576 case 2:
577 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
578 case 3:
579 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
580 }
581
582 return 0;
583 }
584
585 // Override for car-specific light type
587 {
588 return CarLightBase.Cast( ScriptedLightBase.CreateLight(CivilianSedanFrontLight) );
589 }
590
591 // Override for car-specific light type
593 {
594 return CarRearLightBase.Cast( ScriptedLightBase.CreateLight(CivilianSedanRearLight) );
595 }
596
597 override bool CanReleaseAttachment( EntityAI attachment )
598 {
599 if( !super.CanReleaseAttachment( attachment ) )
600 return false;
601
602 string attType = attachment.GetType();
603
604 if ( EngineIsOn() || GetCarDoorsState("CivSedanHood") == CarDoorState.DOORS_CLOSED )
605 {
606 if ( attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
607 return false;
608 }
609
610 return true;
611 }
612
613 override protected bool CanManipulateSpareWheel(string slotSelectionName)
614 {
615 return GetCarDoorsState("CivSedanTrunk") != CarDoorState.DOORS_CLOSED;
616 }
617
618 override bool CanDisplayAttachmentCategory(string category_name)
619 {
620 //super
621 if (!super.CanDisplayAttachmentCategory(category_name))
622 return false;
623 //
624
625 category_name.ToLower();
626 if (category_name.Contains("engine"))
627 {
628 if (GetCarDoorsState("CivSedanHood") == CarDoorState.DOORS_CLOSED)
629 return false;
630 }
631
632 return true;
633 }
634
635 override bool CanDisplayCargo()
636 {
637 if ( !super.CanDisplayCargo() )
638 return false;
639
640 if ( GetCarDoorsState("CivSedanTrunk") == CarDoorState.DOORS_CLOSED )
641 return false;
642
643 return true;
644 }
645
646 override int GetCarDoorsState( string slotType )
647 {
648 CarDoor carDoor;
649
650 Class.CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
651 if (!carDoor)
652 {
653 return CarDoorState.DOORS_MISSING;
654 }
655
656 switch (slotType)
657 {
658 case "CivSedanDriverDoors":
659 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
660 break;
661
662 case "CivSedanCoDriverDoors":
663 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
664 break;
665
666 case "CivSedanCargo1Doors":
667 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
668 break;
669
670 case "CivSedanCargo2Doors":
671 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
672 break;
673
674 case "CivSedanTrunk":
675 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
676 break;
677
678 case "CivSedanHood":
679 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
680 break;
681 }
682
683 return CarDoorState.DOORS_MISSING;
684 }
685
686
687 override bool CrewCanGetThrough( int posIdx )
688 {
689 switch( posIdx )
690 {
691 case 0:
692 if ( GetCarDoorsState("CivSedanDriverDoors") == CarDoorState.DOORS_CLOSED )
693 return false;
694
695 return true;
696 break;
697
698 case 1:
699 if ( GetCarDoorsState("CivSedanCoDriverDoors") == CarDoorState.DOORS_CLOSED )
700 return false;
701
702 return true;
703 break;
704
705 case 2:
706 if ( GetCarDoorsState("CivSedanCargo1Doors") == CarDoorState.DOORS_CLOSED )
707 return false;
708
709 return true;
710 break;
711
712 case 3:
713 if ( GetCarDoorsState("CivSedanCargo2Doors") == CarDoorState.DOORS_CLOSED )
714 return false;
715
716 return true;
717 break;
718 }
719
720 return false;
721 }
722
723 override string GetDoorSelectionNameFromSeatPos(int posIdx)
724 {
725 switch( posIdx )
726 {
727 case 0:
728 return "doors_driver";
729 break;
730 case 1:
731 return "doors_codriver";
732 break;
733 case 2:
734 return "doors_cargo1";
735 break;
736 case 3:
737 return "doors_cargo2";
738 break;
739 }
740
741 return super.GetDoorSelectionNameFromSeatPos(posIdx);
742 }
743
744 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
745 {
746 switch( posIdx )
747 {
748 case 0:
749 return "CivSedanDriverDoors";
750 break;
751 case 1:
752 return "CivSedanCoDriverDoors";
753 break;
754 case 2:
755 return "CivSedanCargo1Doors";
756 break;
757 case 3:
758 return "CivSedanCargo2Doors";
759 break;
760 }
761
762 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
763 }
764
765 // 0 full ambient and engine sound
766 // 1 zero ambient and engine sound
767 override float OnSound(CarSoundCtrl ctrl, float oldValue)
768 {
769 switch (ctrl)
770 {
771 case CarSoundCtrl.DOORS:
772 float newValue = 0;
773 if (GetCarDoorsState("CivSedanDriverDoors") == CarDoorState.DOORS_CLOSED)
774 {
775 newValue += 0.25;
776 }
777
778 if (GetCarDoorsState("CivSedanCoDriverDoors") == CarDoorState.DOORS_CLOSED)
779 {
780 newValue += 0.25;
781 }
782
783 if (GetCarDoorsState("CivSedanCargo1Doors") == CarDoorState.DOORS_CLOSED)
784 {
785 newValue += 0.25;
786 }
787
788 if (GetCarDoorsState("CivSedanCargo2Doors") == CarDoorState.DOORS_CLOSED)
789 {
790 newValue += 0.25;
791 }
792
793 if (GetHealthLevel("WindowFront") == GameConstants.STATE_RUINED)
794 {
795 newValue -= 0.6;
796 }
797
798 if (GetHealthLevel("WindowBack") == GameConstants.STATE_RUINED)
799 {
800 newValue -= 0.6;
801 }
802
803 return Math.Clamp(newValue, 0, 1);
804 break;
805 }
806
807 return super.OnSound(ctrl, oldValue);
808 }
809
810 override string GetAnimSourceFromSelection(string selection)
811 {
812 switch (selection)
813 {
814 case "doors_driver":
815 return "DoorsDriver";
816 case "doors_codriver":
817 return "DoorsCoDriver";
818 case "doors_cargo1":
819 return "DoorsCargo1";
820 case "doors_cargo2":
821 return "DoorsCargo2";
822 case "doors_hood":
823 return "DoorsHood";
824 case "doors_trunk":
825 return "DoorsTrunk";
826 }
827
828 return "";
829 }
830
831 override bool IsVitalTruckBattery()
832 {
833 return false;
834 }
835
836 override bool IsVitalGlowPlug()
837 {
838 return false;
839 }
840
841 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
842 {
843 switch (currentSeat)
844 {
845 case 0:
846 return nextSeat == 1;
847
848 case 1:
849 return nextSeat == 0;
850
851 case 2:
852 return nextSeat == 3;
853
854 case 3:
855 return nextSeat == 2;
856 }
857
858 return false;
859 }
860
861 override bool CanReachDoorsFromSeat( string pDoorsSelection, int pCurrentSeat )
862 {
863 switch (pCurrentSeat)
864 {
865 case 0:
866 return pDoorsSelection == "DoorsDriver";
867
868 case 1:
869 return pDoorsSelection == "DoorsCoDriver";
870
871 case 2:
872 return pDoorsSelection == "DoorsCargo1";
873
874 case 3:
875 return pDoorsSelection == "DoorsCargo2";
876 }
877
878 return false;
879 }
880
881 override void OnDebugSpawn()
882 {
883 SpawnUniversalParts();
884 SpawnAdditionalItems();
885 FillUpCarFluids();
886
887 GetInventory().CreateInInventory("CivSedanWheel");
888 GetInventory().CreateInInventory("CivSedanWheel");
889 GetInventory().CreateInInventory("CivSedanWheel");
890 GetInventory().CreateInInventory("CivSedanWheel");
891
892 GetInventory().CreateInInventory("CivSedanDoors_Driver");
893 GetInventory().CreateInInventory("CivSedanDoors_CoDriver");
894 GetInventory().CreateInInventory("CivSedanDoors_BackLeft");
895 GetInventory().CreateInInventory("CivSedanDoors_BackRight");
896 GetInventory().CreateInInventory("CivSedanHood");
897 GetInventory().CreateInInventory("CivSedanTrunk");
898
899 //-----IN CAR CARGO
900 GetInventory().CreateInInventory("CivSedanWheel");
901 GetInventory().CreateInInventory("CivSedanWheel");
902 }
903
904 override float GetPushForceCoefficientMultiplier()
905 {
906 return 1.5;
907 }
908}
909
910class CivilianSedan_Wine extends CivilianSedan
911{
912 override void OnDebugSpawn()
913 {
914 SpawnUniversalParts();
915 SpawnAdditionalItems();
916 FillUpCarFluids();
917
918 GetInventory().CreateInInventory("CivSedanWheel");
919 GetInventory().CreateInInventory("CivSedanWheel");
920 GetInventory().CreateInInventory("CivSedanWheel");
921 GetInventory().CreateInInventory("CivSedanWheel");
922
923 GetInventory().CreateInInventory("CivSedanDoors_Driver_Wine");
924 GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Wine");
925 GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Wine");
926 GetInventory().CreateInInventory("CivSedanDoors_BackRight_Wine");
927 GetInventory().CreateInInventory("CivSedanHood_Wine");
928 GetInventory().CreateInInventory("CivSedanTrunk_Wine");
929
930 //-----IN CAR CARGO
931 GetInventory().CreateInInventory("CivSedanWheel");
932 GetInventory().CreateInInventory("CivSedanWheel");
933 }
934}
935
936class CivilianSedan_Black extends CivilianSedan
937{
938 override void OnDebugSpawn()
939 {
940 SpawnUniversalParts();
941 SpawnAdditionalItems();
942 FillUpCarFluids();
943
944 GetInventory().CreateInInventory("CivSedanWheel");
945 GetInventory().CreateInInventory("CivSedanWheel");
946 GetInventory().CreateInInventory("CivSedanWheel");
947 GetInventory().CreateInInventory("CivSedanWheel");
948
949 GetInventory().CreateInInventory("CivSedanDoors_Driver_Black");
950 GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Black");
951 GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Black");
952 GetInventory().CreateInInventory("CivSedanDoors_BackRight_Black");
953 GetInventory().CreateInInventory("CivSedanHood_Black");
954 GetInventory().CreateInInventory("CivSedanTrunk_Black");
955
956 //-----IN CAR CARGO
957 GetInventory().CreateInInventory("CivSedanWheel");
958 GetInventory().CreateInInventory("CivSedanWheel");
959 }
960}
CarSoundCtrl
Car's sound controller list. (native, do not change or extend)
Определения Car.c:4
CarDoorState
Определения CarScript.c:2
override float GetPushForceCoefficientMultiplier()
Определения CivilianSedan.c:850
class CivilianSedan extends CarScript OnDebugSpawn()
Определения CivilianSedan.c:430
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
Определения CivilianSedan.c:787
override string GetAnimSourceFromSelection(string selection)
Определения CivilianSedan.c:756
override int GetSeatAnimationType(int posIdx)
Определения CivilianSedan.c:514
override float OnSound(CarSoundCtrl ctrl, float oldValue)
Определения CivilianSedan.c:713
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
Определения CivilianSedan.c:690
override void EOnPostSimulate(IEntity other, float timeSlice)
Определения CivilianSedan.c:493
override void OnEngineStop()
Определения CivilianSedan.c:483
void CivilianSedan()
Определения CivilianSedan.c:435
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
Определения CivilianSedan.c:433
override float GetTransportCameraDistance()
Определения CivilianSedan.c:509
override void EEInit()
Определения CivilianSedan.c:455
override bool CanReleaseAttachment(EntityAI attachment)
Определения CivilianSedan.c:543
override bool CanDisplayCargo()
Определения CivilianSedan.c:581
override void OnEngineStart()
Определения CivilianSedan.c:473
override CarLightBase CreateFrontLight()
Определения CivilianSedan.c:532
override int GetAnimInstance()
Определения CivilianSedan.c:504
override bool CrewCanGetThrough(int posIdx)
Определения CivilianSedan.c:633
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
Определения CivilianSedan.c:807
bool CanManipulateSpareWheel(string slotSelectionName)
Определения CivilianSedan.c:559
override bool IsVitalGlowPlug()
Определения CivilianSedan.c:782
override CarRearLightBase CreateRearLight()
Определения CivilianSedan.c:538
override bool IsVitalTruckBattery()
Определения CivilianSedan.c:777
override string GetDoorSelectionNameFromSeatPos(int posIdx)
Определения CivilianSedan.c:669
override int GetCarDoorsState(string slotType)
Определения CivilianSedan.c:592
override bool CanDisplayAttachmentCategory(string category_name)
Определения CivilianSedan.c:564
ref UniversalTemperatureSourceSettings m_UTSSettings
Определения FireplaceBase.c:220
ref UniversalTemperatureSource m_UTSource
Определения FireplaceBase.c:219
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
Определения CarRearLightBase.c:2
override void OnDebugSpawn()
Определения CivilianSedan.c:456
Определения CivilianSedan.c:455
Super root of all classes in Enforce script.
Определения EnScript.c:11
Определения EnEntity.c:165
Определения EnMath.c:7
original Timer deletes m_params which is unwanted
Определения UniversalTemperatureSource.c:38
DayZPlayerConstants
defined in C++
Определения dayzplayer.c:602
proto native CGame GetGame()
static proto bool CastTo(out Class to, Class from)
Try to safely down-cast base class to child class.
static const float ITEM_TEMPERATURE_NEUTRAL_ZONE_MIDDLE
Определения 3_Game/constants.c:808
const int STATE_RUINED
Определения 3_Game/constants.c:848
static proto float Clamp(float value, float min, float max)
Clamps 'value' to 'min' if it is lower than 'min', or to 'max' if it is higher than 'max'.
bool Contains(string sample)
Returns true if sample is substring of string.
Определения EnString.c:286
proto int ToLower()
Changes string to lowercase. Returns length.