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

◆ OnEngineStop()

override void OnDebugSpawn::OnEngineStop ( )
protected

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

485{
489
490 void Sedan_02()
491 {
492 m_dmgContactCoef = 0.0790;
493
494 m_EngineStartOK = "Sedan_02_engine_start_SoundSet";
495 m_EngineStartBattery = "Sedan_02_engine_failed_start_battery_SoundSet";
496 m_EngineStartPlug = "Sedan_02_engine_failed_start_sparkplugs_SoundSet";
497 m_EngineStartFuel = "Sedan_02_engine_failed_start_fuel_SoundSet";
498 m_EngineStopFuel = "offroad_engine_stop_fuel_SoundSet";
499
500 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
501 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
502
503 m_CarHornShortSoundName = "Sedan_02_Horn_Short_SoundSet";
504 m_CarHornLongSoundName = "Sedan_02_Horn_SoundSet";
505
506 SetEnginePos("0 0.7 -1.7");
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.S120;
561 }
562
563 override int GetSeatAnimationType(int posIdx)
564 {
565 switch (posIdx)
566 {
567 case 0:
568 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
569 case 1:
570 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
571 case 2:
572 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
573 case 3:
574 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
575 }
576
577 return 0;
578 }
579
580 // Override for car-specific light type
582 {
583 return CarLightBase.Cast(ScriptedLightBase.CreateLight(Sedan_02FrontLight));
584 }
585
586 // Override for car-specific light type
588 {
589 return CarRearLightBase.Cast(ScriptedLightBase.CreateLight(Sedan_02RearLight));
590 }
591
592 override bool CanReleaseAttachment( EntityAI attachment )
593 {
594 if (!super.CanReleaseAttachment(attachment))
595 {
596 return false;
597 }
598
599 string attType = attachment.GetType();
600 switch (attType)
601 {
602 case "CarBattery":
603 if (GetCarDoorsState("Sedan_02_Trunk") == CarDoorState.DOORS_CLOSED || EngineIsOn())
604 {
605 return false;
606 }
607 break;
608
609 case "SparkPlug":
610 if (GetCarDoorsState("Sedan_02_Trunk") == CarDoorState.DOORS_CLOSED || EngineIsOn())
611 {
612 return false;
613 }
614 break;
615
616 case "CarRadiator":
617 if (GetCarDoorsState("Sedan_02_Hood") == CarDoorState.DOORS_CLOSED || EngineIsOn())
618 {
619 return false;
620 }
621 break;
622 }
623
624 return true;
625 }
626
627 override protected bool CanManipulateSpareWheel(string slotSelectionName)
628 {
629 return GetCarDoorsState("Sedan_02_Hood") != CarDoorState.DOORS_CLOSED;
630 }
631
632 override bool CanDisplayAttachmentCategory(string category_name)
633 {
634 if ( !super.CanDisplayAttachmentCategory(category_name))
635 {
636 return false;
637 }
638
639 category_name.ToLower();
640 if (category_name.Contains("engine"))
641 {
642 if (GetCarDoorsState("Sedan_02_Trunk") == CarDoorState.DOORS_CLOSED)
643 {
644 return false;
645 }
646 }
647
648 if (category_name.Contains("trunk"))
649 {
650 if (GetCarDoorsState("Sedan_02_Hood") == CarDoorState.DOORS_CLOSED)
651 {
652 return false;
653 }
654 }
655
656 return true;
657 }
658
659 override bool CanDisplayCargo()
660 {
661 if ( !super.CanDisplayCargo() )
662 return false;
663
664 if ( GetCarDoorsState("Sedan_02_Hood") == CarDoorState.DOORS_CLOSED )
665 return false;
666
667 return true;
668 }
669
670 override int GetCarDoorsState(string slotType)
671 {
672 CarDoor carDoor;
673
674 Class.CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
675 if (!carDoor)
676 {
677 return CarDoorState.DOORS_MISSING;
678 }
679
680 switch (slotType)
681 {
682 case "Sedan_02_Door_1_1":
683 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
684
685 case "Sedan_02_Door_2_1":
686 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
687
688 case "Sedan_02_Door_1_2":
689 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
690
691 case "Sedan_02_Door_2_2":
692 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
693
694 case "Sedan_02_Hood":
695 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
696
697 case "Sedan_02_Trunk":
698 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
699 }
700
701 return CarDoorState.DOORS_MISSING;
702 }
703
704
705 override bool CrewCanGetThrough( int posIdx )
706 {
707 switch( posIdx )
708 {
709 case 0:
710 if ( GetCarDoorsState("Sedan_02_Door_1_1") == CarDoorState.DOORS_CLOSED )
711 return false;
712
713 return true;
714 break;
715
716 case 1:
717 if ( GetCarDoorsState("Sedan_02_Door_2_1") == CarDoorState.DOORS_CLOSED )
718 return false;
719
720 return true;
721 break;
722
723 case 2:
724 if ( GetCarDoorsState("Sedan_02_Door_1_2") == CarDoorState.DOORS_CLOSED )
725 return false;
726
727 return true;
728 break;
729
730 case 3:
731 if ( GetCarDoorsState("Sedan_02_Door_2_2") == CarDoorState.DOORS_CLOSED )
732 return false;
733
734 return true;
735 break;
736 }
737
738 return false;
739 }
740
741 override string GetDoorSelectionNameFromSeatPos(int posIdx)
742 {
743 switch( posIdx )
744 {
745 case 0:
746 return "doors_driver";
747 break;
748 case 1:
749 return "doors_codriver";
750 break;
751 case 2:
752 return "doors_cargo1";
753 break;
754 case 3:
755 return "doors_cargo2";
756 break;
757 }
758
759 return super.GetDoorSelectionNameFromSeatPos(posIdx);
760 }
761
762 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
763 {
764 switch( posIdx )
765 {
766 case 0:
767 return "Sedan_02_Door_1_1";
768 break;
769 case 1:
770 return "Sedan_02_Door_2_1";
771 break;
772 case 2:
773 return "Sedan_02_Door_1_2";
774 break;
775 case 3:
776 return "Sedan_02_Door_2_2";
777 break;
778 }
779
780 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
781 }
782
783 override float OnSound(CarSoundCtrl ctrl, float oldValue)
784 {
785 switch ( ctrl )
786 {
787 case CarSoundCtrl.DOORS:
788 float newValue = 0;
789 if (GetCarDoorsState("Sedan_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
790 {
791 newValue += 0.25;
792 }
793
794 if (GetCarDoorsState("Sedan_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
795 {
796 newValue += 0.25;
797 }
798
799 if (GetCarDoorsState("Sedan_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
800 {
801 newValue += 0.25;
802 }
803
804 if (GetCarDoorsState("Sedan_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
805 {
806 newValue += 0.25;
807 }
808
809 return Math.Clamp(newValue, 0, 1);
810 break;
811 }
812
813 return super.OnSound(ctrl, oldValue);
814 }
815
816 override string GetAnimSourceFromSelection( string selection )
817 {
818 switch( selection )
819 {
820 case "doors_driver":
821 return "DoorsDriver";
822 case "doors_codriver":
823 return "DoorsCoDriver";
824 case "doors_cargo1":
825 return "DoorsCargo1";
826 case "doors_cargo2":
827 return "DoorsCargo2";
828 case "doors_hood":
829 return "DoorsHood";
830 case "doors_trunk":
831 return "DoorsTrunk";
832 }
833
834 return "";
835 }
836
837
838 override bool IsVitalTruckBattery()
839 {
840 return false;
841 }
842
843 override bool IsVitalGlowPlug()
844 {
845 return false;
846 }
847
848 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
849 {
850 switch (currentSeat)
851 {
852 case 0:
853 return nextSeat == 1;
854
855 case 1:
856 return nextSeat == 0;
857
858 case 2:
859 return nextSeat == 3;
860
861 case 3:
862 return nextSeat == 2;
863 }
864
865 return false;
866 }
867
868 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
869 {
870 switch (pCurrentSeat)
871 {
872 case 0:
873 return pDoorsSelection == "DoorsDriver";
874
875 case 1:
876 return pDoorsSelection == "DoorsCoDriver";
877
878 case 2:
879 return pDoorsSelection == "DoorsCargo1";
880
881 case 3:
882 return pDoorsSelection == "DoorsCargo2";
883 }
884
885 return false;
886 }
887
888 override void OnDebugSpawn()
889 {
893
894 GetInventory().CreateInInventory("Sedan_02_Wheel");
895 GetInventory().CreateInInventory("Sedan_02_Wheel");
896 GetInventory().CreateInInventory("Sedan_02_Wheel");
897 GetInventory().CreateInInventory("Sedan_02_Wheel");
898 GetInventory().CreateInInventory("Sedan_02_Wheel");
899
900 GetInventory().CreateInInventory("Sedan_02_Door_1_1");
901 GetInventory().CreateInInventory("Sedan_02_Door_1_2");
902 GetInventory().CreateInInventory("Sedan_02_Door_2_1");
903 GetInventory().CreateInInventory("Sedan_02_Door_2_2");
904 GetInventory().CreateInInventory("Sedan_02_Hood");
905 GetInventory().CreateInInventory("Sedan_02_Trunk");
906
907 //-----IN CAR CARGO
908 GetInventory().CreateInInventory("Sedan_02_Wheel");
909 GetInventory().CreateInInventory("Sedan_02_Wheel");
910 }
911}
912
913class Sedan_02_Red extends Sedan_02
914{
915 override void OnDebugSpawn()
916 {
920
921 GetInventory().CreateInInventory("Sedan_02_Wheel");
922 GetInventory().CreateInInventory("Sedan_02_Wheel");
923 GetInventory().CreateInInventory("Sedan_02_Wheel");
924 GetInventory().CreateInInventory("Sedan_02_Wheel");
925
926 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Red");
927 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Red");
928 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Red");
929 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Red");
930 GetInventory().CreateInInventory("Sedan_02_Hood_Red");
931 GetInventory().CreateInInventory("Sedan_02_Trunk_Red");
932
933 //-----IN CAR CARGO
934 GetInventory().CreateInInventory("Sedan_02_Wheel");
935 GetInventory().CreateInInventory("Sedan_02_Wheel");
936 }
937}
938
939class Sedan_02_Grey extends Sedan_02
940{
941 override void OnDebugSpawn()
942 {
946
947 GetInventory().CreateInInventory("Sedan_02_Wheel");
948 GetInventory().CreateInInventory("Sedan_02_Wheel");
949 GetInventory().CreateInInventory("Sedan_02_Wheel");
950 GetInventory().CreateInInventory("Sedan_02_Wheel");
951
952 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Grey");
953 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Grey");
954 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Grey");
955 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Grey");
956 GetInventory().CreateInInventory("Sedan_02_Hood_Grey");
957 GetInventory().CreateInInventory("Sedan_02_Trunk_Grey");
958
959 //-----IN CAR CARGO
960 GetInventory().CreateInInventory("Sedan_02_Wheel");
961 GetInventory().CreateInInventory("Sedan_02_Wheel");
962 }
963}
CarSoundCtrl
Car's sound controller list. (native, do not change or extend)
Определения Car.c:4
void SpawnUniversalParts()
Определения CarScript.c:2801
CarDoorState TranslateAnimationPhaseToCarDoorState(string animation)
Определения CarScript.c:2513
CarDoorState
Определения CarScript.c:2
void SpawnAdditionalItems()
Определения CarScript.c:2839
string m_EngineStartOK
Sounds.
Определения CarScript.c:207
string m_CarDoorCloseSound
Определения CarScript.c:214
string m_EngineStartBattery
Определения CarScript.c:208
string m_EngineStartPlug
Определения CarScript.c:209
string m_EngineStartFuel
Определения CarScript.c:210
string m_CarHornShortSoundName
Определения CarScript.c:218
void FillUpCarFluids()
Определения CarScript.c:2869
string m_CarHornLongSoundName
Определения CarScript.c:219
string m_EngineStopFuel
Определения CarScript.c:211
float m_dmgContactCoef
Определения CarScript.c:161
string m_CarDoorOpenSound
Определения CarScript.c:213
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
Определения CivilianSedan.c:432
ref UniversalTemperatureSourceSettings m_UTSSettings
Определения FireplaceBase.c:220
ref UniversalTemperatureSource m_UTSource
Определения FireplaceBase.c:219
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
Определения Sedan_02.c:795
class Sedan_02 extends CarScript OnDebugSpawn()
Определения Sedan_02.c:432
override string GetAnimSourceFromSelection(string selection)
Определения Sedan_02.c:763
override int GetSeatAnimationType(int posIdx)
Определения Sedan_02.c:510
override float OnSound(CarSoundCtrl ctrl, float oldValue)
Определения Sedan_02.c:730
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
Определения Sedan_02.c:709
override void EOnPostSimulate(IEntity other, float timeSlice)
Определения Sedan_02.c:494
override void OnEngineStop()
Определения Sedan_02.c:484
override void EEInit()
Определения Sedan_02.c:456
override bool CanReleaseAttachment(EntityAI attachment)
Определения Sedan_02.c:539
override bool CanDisplayCargo()
Определения Sedan_02.c:606
override void OnEngineStart()
Определения Sedan_02.c:474
override CarLightBase CreateFrontLight()
Определения Sedan_02.c:528
override int GetAnimInstance()
Определения Sedan_02.c:505
override bool CrewCanGetThrough(int posIdx)
Определения Sedan_02.c:652
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
Определения Sedan_02.c:815
bool CanManipulateSpareWheel(string slotSelectionName)
Определения Sedan_02.c:574
override bool IsVitalGlowPlug()
Определения Sedan_02.c:790
void Sedan_02()
Определения Sedan_02.c:437
override CarRearLightBase CreateRearLight()
Определения Sedan_02.c:534
override bool IsVitalTruckBattery()
Определения Sedan_02.c:785
override string GetDoorSelectionNameFromSeatPos(int posIdx)
Определения Sedan_02.c:688
override int GetCarDoorsState(string slotType)
Определения Sedan_02.c:617
override bool CanDisplayAttachmentCategory(string category_name)
Определения Sedan_02.c:579
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
Определения InventoryItem.c:496
Определения CarRearLightBase.c:2
Super root of all classes in Enforce script.
Определения EnScript.c:11
Определения Building.c:6
Определения constants.c:659
Определения EnEntity.c:165
Определения EnMath.c:7
override void OnDebugSpawn()
Определения Sedan_02.c:458
Определения Sedan_02.c:457
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
Определения constants.c:806
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.