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

◆ EOnPostSimulate()

override void OnDebugSpawn::EOnPostSimulate ( IEntity other,
float timeSlice )
protected

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

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