• Check out the results of the Techtree Contest #19!
  • Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.
  • Create a void inspired texture for Warcraft 3 and enter Hive's 34th Texturing Contest: Void! Click here to enter!
  • The Hive's 22nd Icon Contest: Creep Abilities is now concluded, time to vote for your favourite set of icons! Click here to vote!

Cant Fix the Camera for my system HELP!

Status
Not open for further replies.
Level 10
Joined
May 27, 2012
Messages
115
Hello im making a Fly system there you controll a unit with the arrow keys as it flies. The system is working realy good every thing is perfect but one thing...
The height of the CAMERA. :vw_wtf:

Here comes the Loop trigger.

  • Fly Loop
    • Events
      • Time - Every 0.03 seconds of game time
    • Conditions
    • Actions
      • For each (Integer Fly_Index) from 1 to Fly_Index_Max, do (Actions)
        • Loop - Actions
          • Set TempINT = (Player number of (Owner of Fly_Flyer[Fly_Index]))
          • Set TempPoint[1] = (Position of Fly_Flyer[Fly_Index])
          • Set TempPoint[2] = (TempPoint[1] offset by Fly_Speed_XY[Fly_Index] towards (Facing of Fly_Flyer[Fly_Index]) degrees)
          • -------- Animation --------
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Fly_Animation_Timer[Fly_Index] Greater than or equal to Fly_Animation_Time[Fly_Index]
            • Then - Actions
              • Set Fly_Animation_Timer[Fly_Index] = 0.00
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Fly_Animation[Fly_Index] Equal to -1
                • Then - Actions
                  • Animation - Play Fly_Flyer[Fly_Index]'s walk animation
                • Else - Actions
                  • Custom script: call SetUnitAnimationByIndex((udg_Fly_Flyer[udg_Fly_Index]),(udg_Fly_Index))
            • Else - Actions
              • Set Fly_Animation_Timer[Fly_Index] = (Fly_Animation_Timer[Fly_Index] + 0.03)
          • -------- Height Change --------
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Fly_State[TempINT] Equal to 0
            • Then - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Current flying height of Fly_Flyer[Fly_Index]) Greater than or equal to 0.00
                • Then - Actions
                  • Custom script: set udg_TempReal = GetLocationZ (udg_TempPoint[2])
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • TempReal Greater than 0.00
                    • Then - Actions
                      • Animation - Change Fly_Flyer[Fly_Index] flying height to (Fly_Height[Fly_Index] - TempReal) at 0.00
                    • Else - Actions
                      • Animation - Change Fly_Flyer[Fly_Index] flying height to (Fly_Height[Fly_Index] + TempReal) at 0.00
                • Else - Actions
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Fly_State[TempINT] Equal to 1
            • Then - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Current flying height of Fly_Flyer[Fly_Index]) Greater than or equal to 0.00
                • Then - Actions
                  • Set Fly_Height[Fly_Index] = (Fly_Height[Fly_Index] - Fly_Speed_Z[Fly_Index])
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • Fly_Height[Fly_Index] Less than 0.50
                    • Then - Actions
                      • Set Fly_Height[Fly_Index] = 0.50
                    • Else - Actions
                  • Custom script: set udg_TempReal = GetLocationZ (udg_TempPoint[2])
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • TempReal Greater than 0.00
                    • Then - Actions
                      • Animation - Change Fly_Flyer[Fly_Index] flying height to (Fly_Height[Fly_Index] - TempReal) at 0.00
                    • Else - Actions
                      • Animation - Change Fly_Flyer[Fly_Index] flying height to (Fly_Height[Fly_Index] + TempReal) at 0.00
                • Else - Actions
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Fly_State[TempINT] Equal to 2
            • Then - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Current flying height of Fly_Flyer[Fly_Index]) Less than Fly_MaxHeight[Fly_Index]
                • Then - Actions
                  • Set Fly_Height[Fly_Index] = (Fly_Height[Fly_Index] + Fly_Speed_Z[Fly_Index])
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • Fly_Height[Fly_Index] Greater than Fly_MaxHeight[Fly_Index]
                    • Then - Actions
                      • Set Fly_Height[Fly_Index] = Fly_MaxHeight[Fly_Index]
                    • Else - Actions
                  • Custom script: set udg_TempReal = GetLocationZ (udg_TempPoint[2])
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • TempReal Greater than 0.00
                    • Then - Actions
                      • Animation - Change Fly_Flyer[Fly_Index] flying height to (Fly_Height[Fly_Index] - TempReal) at 0.00
                    • Else - Actions
                      • Animation - Change Fly_Flyer[Fly_Index] flying height to (Fly_Height[Fly_Index] + TempReal) at 0.00
                • Else - Actions
            • Else - Actions
          • -------- Move --------
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Current flying height of Fly_Flyer[Fly_Index]) Greater than 1.00
            • Then - Actions
              • Unit - Move Fly_Flyer[Fly_Index] instantly to TempPoint[2]
            • Else - Actions
          • -------- Angle --------
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Fly_Key_Left[TempINT] Equal to True
            • Then - Actions
              • Unit - Make Fly_Flyer[Fly_Index] face ((Facing of Fly_Flyer[Fly_Index]) + Fly_AngelSpeed[Fly_Index]) over 0.00 seconds
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Fly_Key_Right[TempINT] Equal to True
            • Then - Actions
              • Unit - Make Fly_Flyer[Fly_Index] face ((Facing of Fly_Flyer[Fly_Index]) - Fly_AngelSpeed[Fly_Index]) over 0.00 seconds
            • Else - Actions
          • -------- Player Camera --------
          • Camera - Set (Player(TempINT))'s camera Distance to target to 700.00 over 0.03 seconds
          • Camera - Set (Player(TempINT))'s camera Rotation to (Facing of Fly_Flyer[Fly_Index]) over 0.03 seconds
          • Camera - Set (Player(TempINT))'s camera Angle of attack to 342.01 over 0.03 seconds
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • 1 Equal to 0
            • Then - Actions
              • Custom script: set udg_TempReal = GetLocationZ (udg_TempPoint[2])
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • TempReal Greater than 0.00
                • Then - Actions
                  • Camera - Set (Player(TempINT))'s camera Height Offset to (Fly_Height[Fly_Index] + (100.00 - TempReal)) over 0.03 seconds
                • Else - Actions
                  • Camera - Set (Player(TempINT))'s camera Height Offset to (Fly_Height[Fly_Index] + (100.00 + TempReal)) over 0.03 seconds
            • Else - Actions
          • -------- RemoveLeaks --------
          • Custom script: call RemoveLocation (udg_TempPoint[1])
          • Custom script: call RemoveLocation (udg_TempPoint[2])
 
Ok the problem is that then i come over terrain with the camera as the unit is flies then the height under me changes so dose the camera and its suposed to hold its height as the unit dose the units flying height is not dependent on the height under it. The Cameras height changes but it shouldent it should be constant as the flying units height is (it changes by your command) what im trying to do is make the cameras height dependent on the units height not the ground under it.
 
  • Camera adjustment
    • Events
      • Time - Every 0.01 seconds of game time
    • Conditions
      • Selected_Bool Equal to True
    • Actions
      • Camera - Set Player 1 (Red)'s camera Rotation to (Facing of Cam_Unit) over 0.30 seconds
      • Camera - Set Player 1 (Red)'s camera Angle of attack to Real_Cam[2] over 0.50 seconds
      • Camera - Set Player 1 (Red)'s camera Height Offset to ((Current_Hight + Real_Cam[3]) over 0.00 seconds
      • Camera - Set Player 1 (Red)'s camera Distance to target to Real_Cam[4] over 0.40 seconds
You want something like this. Give rep to Icemanbo :) He did it.
 
Status
Not open for further replies.
Back
Top