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

◆ OnEngineStop()

override void OnDebugSpawn::OnEngineStop ( )
protected

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

458{
462
463 void Hatchback_02()
464 {
465 //m_dmgContactCoef = 0.070;
466
467 m_EngineStartOK = "Hatchback_02_engine_start_SoundSet";
468 m_EngineStartBattery = "Hatchback_02_engine_failed_start_battery_SoundSet";
469 m_EngineStartPlug = "Hatchback_02_engine_failed_start_sparkplugs_SoundSet";
470 m_EngineStartFuel = "Hatchback_02_engine_failed_start_fuel_SoundSet";
471 m_EngineStop = "Hatchback_02_engine_stop_SoundSet";
472 m_EngineStopFuel = "Hatchback_02_engine_stop_fuel_SoundSet";
473
474 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
475 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
476
477 m_CarHornShortSoundName = "Hatchback_02_Horn_Short_SoundSet";
478 m_CarHornLongSoundName = "Hatchback_02_Horn_SoundSet";
479
480 SetEnginePos("0 0.7 1.4");
481 }
482
483 override void EEInit()
484 {
485 super.EEInit();
486
487 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
488 {
490 m_UTSSettings.m_ManualUpdate = true;
492 m_UTSSettings.m_TemperatureCap = 0;
493 m_UTSSettings.m_RangeFull = 0.5;
494 m_UTSSettings.m_RangeMax = 2;
495
498 }
499 }
500
501 override void OnEngineStart()
502 {
503 super.OnEngineStart();
504
505 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
506 {
507 m_UTSource.SetDefferedActive(true, 20.0);
508 }
509 }
510
511 override void OnEngineStop()
512 {
513 super.OnEngineStop();
514
515 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
516 {
517 m_UTSource.SetDefferedActive(false, 10.0);
518 }
519 }
520
521 override void EOnPostSimulate(IEntity other, float timeSlice)
522 {
523 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
524 {
525 if (m_UTSource.IsActive())
526 {
528 }
529 }
530 }
531
532 override int GetAnimInstance()
533 {
534 return VehicleAnimInstances.GOLF;
535 }
536
537 override int GetSeatAnimationType(int posIdx)
538 {
539 switch (posIdx)
540 {
541 case 0:
542 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
543 case 1:
544 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
545 case 2:
546 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
547 case 3:
548 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
549 }
550
551 return 0;
552 }
553
554 // Override for car-specific light type
556 {
557 return CarRearLightBase.Cast(ScriptedLightBase.CreateLight(Hatchback_02RearLight));
558 }
559
560 // Override for car-specific light type
562 {
563 return CarLightBase.Cast(ScriptedLightBase.CreateLight(Hatchback_02FrontLight));
564 }
565
566 override bool CanReleaseAttachment(EntityAI attachment)
567 {
568 if (!super.CanReleaseAttachment(attachment))
569 {
570 return false;
571 }
572
573 if (EngineIsOn() || GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED)
574 {
575 string attType = attachment.GetType();
576 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
577 {
578 return false;
579 }
580 }
581
582 return true;
583 }
584
585 override protected bool CanManipulateSpareWheel(string slotSelectionName)
586 {
587 return GetCarDoorsState("Hatchback_02_Trunk") != CarDoorState.DOORS_CLOSED;
588 }
589
590 override bool CanDisplayAttachmentCategory( string category_name )
591 {
592 //super
593 if ( !super.CanDisplayAttachmentCategory( category_name ) )
594 return false;
595 //
596
597 category_name.ToLower();
598 if ( category_name.Contains("engine") )
599 {
600 if ( GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED )
601 return false;
602 }
603
604 return true;
605 }
606
607 override bool CanDisplayCargo()
608 {
609 if ( !super.CanDisplayCargo() )
610 return false;
611
612 if ( GetCarDoorsState("Hatchback_02_Trunk") == CarDoorState.DOORS_CLOSED )
613 return false;
614
615 return true;
616 }
617
618 override int GetCarDoorsState(string slotType)
619 {
620 CarDoor carDoor;
621
622 Class.CastTo(carDoor, FindAttachmentBySlotName(slotType));
623 if (!carDoor)
624 {
625 return CarDoorState.DOORS_MISSING;
626 }
627
628 switch (slotType)
629 {
630 case "Hatchback_02_Door_1_1":
631 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
632
633 case "Hatchback_02_Door_2_1":
634 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
635
636 case "Hatchback_02_Door_1_2":
637 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
638
639 case "Hatchback_02_Door_2_2":
640 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
641
642 case "Hatchback_02_Hood":
643 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
644
645 case "Hatchback_02_Trunk":
646 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
647 }
648
649 return CarDoorState.DOORS_MISSING;
650 }
651
652
653 override bool CrewCanGetThrough(int posIdx)
654 {
655 switch (posIdx)
656 {
657 case 0:
658 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
659 {
660 return false;
661 }
662
663 return true;
664
665 case 1:
666 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
667 {
668 return false;
669 }
670
671 return true;
672
673 case 2:
674 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
675 {
676 return false;
677 }
678
679 return true;
680
681 case 3:
682 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
683 {
684 return false;
685 }
686
687 return true;
688 }
689
690 return false;
691 }
692
693 override string GetDoorSelectionNameFromSeatPos(int posIdx)
694 {
695 switch( posIdx )
696 {
697 case 0:
698 return "doors_driver";
699 break;
700 case 1:
701 return "doors_codriver";
702 break;
703 case 2:
704 return "doors_cargo1";
705 break;
706 case 3:
707 return "doors_cargo2";
708 break;
709 }
710
711 return super.GetDoorSelectionNameFromSeatPos(posIdx);
712 }
713
714 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
715 {
716 switch( posIdx )
717 {
718 case 0:
719 return "Hatchback_02_Door_1_1";
720 break;
721 case 1:
722 return "Hatchback_02_Door_2_1";
723 break;
724 case 2:
725 return "Hatchback_02_Door_1_2";
726 break;
727 case 3:
728 return "Hatchback_02_Door_2_2";
729 break;
730 }
731
732 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
733 }
734
735 override float OnSound(CarSoundCtrl ctrl, float oldValue)
736 {
737 switch (ctrl)
738 {
739 case CarSoundCtrl.DOORS:
740 float newValue = 0;
741 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
742 {
743 newValue += 0.25;
744 }
745
746 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
747 {
748 newValue += 0.25;
749 }
750
751 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
752 {
753 newValue += 0.25;
754 }
755
756 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
757 {
758 newValue += 0.25;
759 }
760
761 return Math.Clamp(newValue, 0, 1);
762 break;
763 }
764
765 return super.OnSound(ctrl, oldValue);
766 }
767
768 override string GetAnimSourceFromSelection( string selection )
769 {
770 switch( selection )
771 {
772 case "doors_driver":
773 return "DoorsDriver";
774 case "doors_codriver":
775 return "DoorsCoDriver";
776 case "doors_cargo1":
777 return "DoorsCargo1";
778 case "doors_cargo2":
779 return "DoorsCargo2";
780 case "doors_hood":
781 return "DoorsHood";
782 case "doors_trunk":
783 return "DoorsTrunk";
784 }
785
786 return "";
787 }
788
789
790 override bool IsVitalTruckBattery()
791 {
792 return false;
793 }
794
795 override bool IsVitalGlowPlug()
796 {
797 return false;
798 }
799
800 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
801 {
802 switch (currentSeat)
803 {
804 case 0:
805 return nextSeat == 1;
806 case 1:
807 return nextSeat == 0;
808 case 2:
809 return nextSeat == 3;
810 case 3:
811 return nextSeat == 2;
812 }
813
814 return false;
815 }
816
817 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
818 {
819 switch (pCurrentSeat)
820 {
821 case 0:
822 return pDoorsSelection == "DoorsDriver";
823 case 1:
824 return pDoorsSelection == "DoorsCoDriver";
825 case 2:
826 return pDoorsSelection == "DoorsCargo1";
827 case 3:
828 return pDoorsSelection == "DoorsCargo2";
829 }
830
831 return false;
832 }
833
834 override void OnDebugSpawn()
835 {
836 SpawnUniversalParts();
837 SpawnAdditionalItems();
838 FillUpCarFluids();
839
840 GetInventory().CreateInInventory("Hatchback_02_Wheel");
841 GetInventory().CreateInInventory("Hatchback_02_Wheel");
842 GetInventory().CreateInInventory("Hatchback_02_Wheel");
843 GetInventory().CreateInInventory("Hatchback_02_Wheel");
844
845 GetInventory().CreateInInventory("Hatchback_02_Door_1_1");
846 GetInventory().CreateInInventory("Hatchback_02_Door_1_2");
847 GetInventory().CreateInInventory("Hatchback_02_Door_2_1");
848 GetInventory().CreateInInventory("Hatchback_02_Door_2_2");
849 GetInventory().CreateInInventory("Hatchback_02_Hood");
850 GetInventory().CreateInInventory("Hatchback_02_Trunk");
851
852 //-----IN CAR CARGO
853 GetInventory().CreateInInventory("Hatchback_02_Wheel");
854 GetInventory().CreateInInventory("Hatchback_02_Wheel");
855 }
856}
857
858class Hatchback_02_Black extends Hatchback_02
859{
860 override void OnDebugSpawn()
861 {
862 SpawnUniversalParts();
863 SpawnAdditionalItems();
864 FillUpCarFluids();
865
866 GetInventory().CreateInInventory("Hatchback_02_Wheel");
867 GetInventory().CreateInInventory("Hatchback_02_Wheel");
868 GetInventory().CreateInInventory("Hatchback_02_Wheel");
869 GetInventory().CreateInInventory("Hatchback_02_Wheel");
870
871 GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Black");
872 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Black");
873 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Black");
874 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Black");
875 GetInventory().CreateInInventory("Hatchback_02_Hood_Black");
876 GetInventory().CreateInInventory("Hatchback_02_Trunk_Black");
877
878 //-----IN CAR CARGO
879 GetInventory().CreateInInventory("Hatchback_02_Wheel");
880 GetInventory().CreateInInventory("Hatchback_02_Wheel");
881 }
882};
883
884class Hatchback_02_Blue extends Hatchback_02
885{
886 override void OnDebugSpawn()
887 {
888 SpawnUniversalParts();
889 SpawnAdditionalItems();
890 FillUpCarFluids();
891
892 GetInventory().CreateInInventory("Hatchback_02_Wheel");
893 GetInventory().CreateInInventory("Hatchback_02_Wheel");
894 GetInventory().CreateInInventory("Hatchback_02_Wheel");
895 GetInventory().CreateInInventory("Hatchback_02_Wheel");
896
897 GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Blue");
898 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Blue");
899 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Blue");
900 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Blue");
901 GetInventory().CreateInInventory("Hatchback_02_Hood_Blue");
902 GetInventory().CreateInInventory("Hatchback_02_Trunk_Blue");
903
904 //-----IN CAR CARGO
905 GetInventory().CreateInInventory("Hatchback_02_Wheel");
906 GetInventory().CreateInInventory("Hatchback_02_Wheel");
907 }
908}
CarSoundCtrl
Car's sound controller list. (native, do not change or extend)
Определения Car.c:4
CarDoorState
Определения CarScript.c:2
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
Определения CivilianSedan.c:433
ref UniversalTemperatureSourceSettings m_UTSSettings
Определения FireplaceBase.c:220
ref UniversalTemperatureSource m_UTSource
Определения FireplaceBase.c:219
class Hatchback_02_Blue extends Hatchback_02 OnDebugSpawn
Определения Hatchback_02.c:404
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
Определения Hatchback_02.c:746
override string GetAnimSourceFromSelection(string selection)
Определения Hatchback_02.c:714
override int GetSeatAnimationType(int posIdx)
Определения Hatchback_02.c:483
override float OnSound(CarSoundCtrl ctrl, float oldValue)
Определения Hatchback_02.c:681
void Hatchback_02()
Определения Hatchback_02.c:409
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
Определения Hatchback_02.c:660
override void EOnPostSimulate(IEntity other, float timeSlice)
Определения Hatchback_02.c:467
override void OnEngineStop()
Определения Hatchback_02.c:457
override void EEInit()
Определения Hatchback_02.c:429
override bool CanReleaseAttachment(EntityAI attachment)
Определения Hatchback_02.c:512
override bool CanDisplayCargo()
Определения Hatchback_02.c:553
override void OnEngineStart()
Определения Hatchback_02.c:447
override CarLightBase CreateFrontLight()
Определения Hatchback_02.c:507
override int GetAnimInstance()
Определения Hatchback_02.c:478
override bool CrewCanGetThrough(int posIdx)
Определения Hatchback_02.c:599
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
Определения Hatchback_02.c:763
bool CanManipulateSpareWheel(string slotSelectionName)
Определения Hatchback_02.c:531
override bool IsVitalGlowPlug()
Определения Hatchback_02.c:741
override CarRearLightBase CreateRearLight()
Определения Hatchback_02.c:501
override bool IsVitalTruckBattery()
Определения Hatchback_02.c:736
override string GetDoorSelectionNameFromSeatPos(int posIdx)
Определения Hatchback_02.c:639
override int GetCarDoorsState(string slotType)
Определения Hatchback_02.c:564
override bool CanDisplayAttachmentCategory(string category_name)
Определения Hatchback_02.c:536
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
Определения CarRearLightBase.c:2
Super root of all classes in Enforce script.
Определения EnScript.c:11
override void OnDebugSpawn()
Определения Hatchback_02.c:430
Определения Hatchback_02.c:429
Определения 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
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.