Ergebnis 1 bis 15 von 15
  1. #1
    Bogenmacher Avatar von Annosiedler
    Registriert seit
    02.01.2009
    Ort
    Niedersachsen
    Beiträge
    3,350
    Downloads
    0
    Uploads
    0

    Standard SetCameraToEntity - Zoom einstellen

    Dafür benutze ich diesen Code:
    Code:
    function SetCameraToEntity(_entity)
      local posX, posY = Logic.GetEntityPosition(Logic.GetEntityIDByName(_entity));
      local rotation = -45
      local zoomFactor = 10
      local zoomAngle = 20
      Logic.ExecuteInLuaLocalState('Camera.RTS_SetLookAtPosition("'..posX..'", "'..posY..'")');
      Logic.ExecuteInLuaLocalState('Camera.RTS_SetRotationAngle("'..rotation..'")');
      Logic.ExecuteInLuaLocalState('Camera.RTS_SetZoomFactor("'..zoomFactor..'")');
      Logic.ExecuteInLuaLocalState('Camera.RTS_SetZoomAngle("'..zoomAngle..'")');
    end
    Ich weiß aber nicht mehr ob der aktuell ist, das ScriptWiki ist ja leider nicht mehr vorhanden.
    Wie kann ich da den Zoom einstellen? Ändern der Zahlenwerte zoomFactor und zoomAngle hat leider nichts gebracht.

  2. #2
    Lanzenträger Avatar von trabbi
    Registriert seit
    09.03.2006
    Beiträge
    4,967
    Downloads
    1
    Uploads
    0

    Standard AW: SetCameraToEntity - Zoom einstellen

    aus meinen "Gesammelte Werke"
    ------------------------------
    Code:
    -----------------KAMERAPOSITION----------------------
    --Code:
    function SokratesCameraRestore(_enabled)  --in local LUA
     if _enabled == 1 then
      SokratesCamera = { Camera.RTS_GetLookAtPosition() }
     else
      if SokratesCamera then
       Camera.RTS_SetLookAtPosition(unpack(SokratesCamera))
      end
     end
    end
    -----------------------------------------------------------------
    function SokratesCameraRestore()   -- in Global LUA
     Logic.ExecuteInLuaLocalState('SokratesCameraRestore(0)') 
    end
    function SetCameraToPosition(_posX, _posY, _zoomFactor, _rotation, _zoomAngle)
     Logic.ExecuteInLuaLocalState('SokratesCameraRestore(1)') -- Werte sichern
      Logic.ExecuteInLuaLocalState('Camera.RTS_SetLookAtPosition("'.._posX..'","'.._posY..'")')
     if _zoomFactor then
      Logic.ExecuteInLuaLocalState('Camera.RTS_SetZoomFactor("'.._zoomFactor..'")')  -- 0.05 - 1.0
     end
     if _rotation then
      Logic.ExecuteInLuaLocalState('Camera.RTS_SetRotationAngle("'.._rotation..'")')    -- -180 bis 180
     end
     if _zoomAngle then
      Logic.ExecuteInLuaLocalState('Camera.RTS_SetZoomAngle("'.._zoomAngle..'")')    -- 10 - 40
     end
    end
    --Mit der Funktion SokratesCameraRestore() kannst du auf die Startposition zurückgehen.
    --Vielleicht kannst du das ja gebrauchen...
    - - - Aktualisiert - - -

    Ansonsten hab ich noch 2 Txt-Dateien

    freieCamera_global.txt
    ---------------------
    Code:
    ----------------------------------------------------------------------------------------------------------------------
    function Mission_InitPlayers()
            
    end
    ----------------------------------------------------------------------------------------------------------------------
    function Mission_SetStartingMonth()
    
        Logic.SetMonthOffset(3)
    
    end
    ----------------------------------------------------------------------------------------------------------------------
    function Mission_InitMerchants()
        
    end
    ----------------------------------------------------------------------------------------------------------------------
    function Mission_FirstMapAction()
    
        -- init players in singleplayer games only
        if Framework.IsNetworkGame() ~= true then
    
            Startup_Player()
            Startup_StartGoods()
            Startup_Diplomacy()
            
        end        
    
        -- create quests
        do
            local MapName = Framework.GetCurrentMapName()
            local ScriptName = "Maps\\ExternalMap\\"..MapName.."\\QuestSystemBehavior.lua"
            Script.Load(ScriptName)
    
            CreateQuests()
        end
        
        JIP_FMA()
    
    end
    
    ------------------------------------------------------------------
    --JIP.CAMS
    ------------------------------------------------------------------
    
    function JIP_Controler() -- true bedeutet die entsprechende Cam soll in der Map benutzt werden (beide sind möglich und miteinander kompatibel)
        -- FreeCam (dieselbe wie im Spiel/aus dem Cheatmode)
        JIP_JFC = true
        -- FreeCamPlus (meine eigene/viel besser...)
        JIP_JFCP = true
        -- Wichtig: dies sollte jeder Map angepasst werden !!! Dies ist die Höhe, die die Cam an Anfang haben wird .
        startminHeigh = 2100 --Je nach Terrain einzustellen (sollte so gemacht sein, dass die Cam nirgens unterirdisch beginnt ! höhe kann im Edi ermittelt werden)
    end
    function JIP_Starter()
        if JIP_JFC then
            JIP_JFC_FreeCameraAtGameStart()
        end
        if JIP_JFCP then
            JIP_JFCP_FreeCameraPlusAtGameStart()
        end
    end
    function JIP_FMA()
        do
            JIP_Controler()
            JIP_Starter()
        end
    end
    function JIP_OnSaveGameLoaded()
        if JIP_JFC then
            Logic.ExecuteInLuaLocalState('Input.KeyBindDown( Keys.F , "KeyBindings_JIP_Local_JFC()", 2)')
        end
        if JIP_JFCP then
            Logic.ExecuteInLuaLocalState('Input.KeyBindDown( Keys.C , "KeyBindings_JIP_Local_JFCP_StartFreeCameraPlus(1)", 2)')
            JIP_JFCP_StartFreeCameraPlus(2)
        end
    end
    
    --FreeCamera ( Cheatmode )
    
    function JIP_JFC_FreeCameraAtGameStart()
        Logic.ExecuteInLuaLocalState('Input.KeyBindDown( Keys.F , "KeyBindings_JIP_Local_JFC()", 2)')
        FreeCameraIsActive = false
    end
    function JIP_JFC_StartFreeCamera()
        if FreeCameraIsActive then
            Logic.ExecuteInLuaLocalState('Camera.SwitchCameraBehaviour(0)')
            FreeCameraIsActive = false
            Message("FreeCameraMode end")
        else
            Logic.ExecuteInLuaLocalState('Camera.SwitchCameraBehaviour(2)')
            FreeCameraIsActive = true
            Message("FreeCameraMode active")
        end
    end
    
    --FreeCameraPlus ( meine ! )
    
    function JIP_JFCP_FreeCameraPlusAtGameStart() -- In FMA aufrufen (wird gemacht über JIP_FMA)
        Logic.ExecuteInLuaLocalState('Input.KeyBindDown( Keys.C , "KeyBindings_JIP_Local_JFCP_StartFreeCameraPlus(1)", 2)')
        FreeCameraPlusIsActive = false
        BildschirmHideIsActive = false
    end
    function JIP_JFCP_StartFreeCameraPlus(_wann) -- 1 oder 2
        local wann = _wann
        if wann == 2 and FreeCameraPlusIsActive == true then
            FreeCameraPlusIsActive = false
        elseif wann == 2 and FreeCameraPlusIsActive == false then
            FreeCameraPlusIsActive = true
        end 
        if FreeCameraPlusIsActive then
            FreeCameraPlusIsActive = false
            EndJob("JIP_JFCP_Umsetzer_Cam")
            Logic.ExecuteInLuaLocalState('Input.KeyBindDown( Keys.F , "KeyBindings_JIP_Local_JFC()", 2)')
            Logic.ExecuteInLuaLocalState('Camera.SwitchCameraBehaviour(0)')
            Logic.ExecuteInLuaLocalState('local posrit1, posrit2 = Logic.GetEntityPosition(Logic.GetKnightID(1))')
            if wann == 1 then
                Logic.ExecuteInLuaLocalState('Camera.RTS_SetLookAtPosition(posrit1, posrit2)')
                Message("FreeCameraPlusMode end")
            end-- Hier werden alle Pfeiltasten abgeschaltet
            Logic.ExecuteInLuaLocalState('Input.KeyBindDown( Keys.ModifierControl +  Keys.Up , "KeyBindings_EnableDebugMode(0)", 2)')
            Logic.ExecuteInLuaLocalState('Input.KeyBindDown( Keys.ModifierControl +  Keys.Down , "KeyBindings_EnableDebugMode(0)", 2)')
            Logic.ExecuteInLuaLocalState('Input.KeyBindDown( Keys.ModifierControl +  Keys.Left , "KeyBindings_EnableDebugMode(0)", 2)')
            Logic.ExecuteInLuaLocalState('Input.KeyBindDown( Keys.ModifierControl +  Keys.Right , "KeyBindings_EnableDebugMode(0)", 2)')
            Logic.ExecuteInLuaLocalState('Input.KeyBindDown( Keys.ModifierShift + Keys.Up , "KeyBindings_EnableDebugMode(0)", 2)')
            Logic.ExecuteInLuaLocalState('Input.KeyBindDown( Keys.ModifierShift + Keys.Down , "KeyBindings_EnableDebugMode(0)", 2)')
            Logic.ExecuteInLuaLocalState('Input.KeyBindDown( Keys.ModifierShift + Keys.Left , "KeyBindings_EnableDebugMode(0)", 2)')
            Logic.ExecuteInLuaLocalState('Input.KeyBindDown( Keys.ModifierShift + Keys.Right , "KeyBindings_EnableDebugMode(0)", 2)')
            Logic.ExecuteInLuaLocalState('Input.KeyBindDown( Keys.ModifierAlt + Keys.Up , "KeyBindings_EnableDebugMode(0)", 2)')
            Logic.ExecuteInLuaLocalState('Input.KeyBindDown( Keys.ModifierAlt + Keys.Down , "KeyBindings_EnableDebugMode(0)", 2)')
            Logic.ExecuteInLuaLocalState('Input.KeyBindDown( Keys.ModifierAlt + Keys.Left , "KeyBindings_EnableDebugMode(0)", 2)')
            Logic.ExecuteInLuaLocalState('Input.KeyBindDown( Keys.ModifierAlt + Keys.Right , "KeyBindings_EnableDebugMode(0)", 2)')
            Logic.ExecuteInLuaLocalState('Input.KeyBindDown( Keys.ModifierControl +  Keys.T , "KeyBindings_EnableDebugMode(0)", 2)')
            Logic.ExecuteInLuaLocalState('Input.KeyBindDown( Keys.ModifierControl + Keys.Left +  Keys.Up , "KeyBindings_EnableDebugMode(0)", 2)')
            Logic.ExecuteInLuaLocalState('Input.KeyBindDown( Keys.ModifierControl + Keys.Right +  Keys.Up , "KeyBindings_EnableDebugMode(0)", 2)')
            Logic.ExecuteInLuaLocalState('Input.KeyBindDown( Keys.ModifierControl + Keys.Left +  Keys.Down , "KeyBindings_EnableDebugMode(0)", 2)')
            Logic.ExecuteInLuaLocalState('Input.KeyBindDown( Keys.ModifierControl + Keys.Right +  Keys.Down , "KeyBindings_EnableDebugMode(0)", 2)')
            Logic.ExecuteInLuaLocalState('Input.KeyBindDown( Keys.ModifierShift + Keys.Left +  Keys.Up , "KeyBindings_EnableDebugMode(0)", 2)')
            Logic.ExecuteInLuaLocalState('Input.KeyBindDown( Keys.ModifierShift + Keys.Right +  Keys.Up , "KeyBindings_EnableDebugMode(0)", 2)')
            Logic.ExecuteInLuaLocalState('Input.KeyBindDown( Keys.ModifierShift + Keys.Left +  Keys.Down , "KeyBindings_EnableDebugMode(0)", 2)')
            Logic.ExecuteInLuaLocalState('Input.KeyBindDown( Keys.ModifierShift + Keys.Right +  Keys.Down , "KeyBindings_EnableDebugMode(0)", 2)')
            Logic.ExecuteInLuaLocalState('XGUIEng.ShowWidget("/InGame/Root/Normal/AlignBottomRight/MapFrame/Minimap/MinimapOverlay", 1)')
            if BildschirmHideIsActive then
                Logic.ExecuteInLuaLocalState('XGUIEng.ShowWidget("/InGame/Root/Normal", 1)')
                BildschirmHideIsActive = false
            end
            Logic.ExecuteInLuaLocalState('Input.KeyBindDown( Keys.B , "KeyBindings_EnableDebugMode(0)", 2)')
        else
            FreeCameraPlusIsActive = true
            if JIP_JFC then
                Logic.ExecuteInLuaLocalState('Input.KeyBindDown( Keys.F , "KeyBindings_EnableDebugMode(0)", 2)')
            end
            Logic.ExecuteInLuaLocalState('Display.SetUserOptionOcclusionEffect(0)')
            Logic.ExecuteInLuaLocalState('Display.SetRenderSky(1)')
            Logic.ExecuteInLuaLocalState('Game.GameTimeSetFactor(GUI.GetPlayerID(), 1)')
            Logic.ExecuteInLuaLocalState('Camera.SwitchCameraBehaviour(5)')
            Message("FreeCameraPlusMode active") -- Hier werden alle Pfeiltasten angeschaltet
            Logic.ExecuteInLuaLocalState('Input.KeyBindDown( Keys.ModifierControl +  Keys.Up , "KeyBindings_JIP_Local_JFCP_Local(1)", 2)')
            Logic.ExecuteInLuaLocalState('Input.KeyBindDown( Keys.ModifierControl +  Keys.Down , "KeyBindings_JIP_Local_JFCP_Local(2)", 2)')
            Logic.ExecuteInLuaLocalState('Input.KeyBindDown( Keys.ModifierControl +  Keys.Left , "KeyBindings_JIP_Local_JFCP_Local(3)", 2)')
            Logic.ExecuteInLuaLocalState('Input.KeyBindDown( Keys.ModifierControl +  Keys.Right , "KeyBindings_JIP_Local_JFCP_Local(4)", 2)')
            Logic.ExecuteInLuaLocalState('Input.KeyBindDown( Keys.ModifierShift + Keys.Up , "KeyBindings_JIP_Local_JFCP_Local(5)", 2)')
            Logic.ExecuteInLuaLocalState('Input.KeyBindDown( Keys.ModifierShift + Keys.Down , "KeyBindings_JIP_Local_JFCP_Local(6)", 2)')
            Logic.ExecuteInLuaLocalState('Input.KeyBindDown( Keys.ModifierShift + Keys.Left , "KeyBindings_JIP_Local_JFCP_Local(3)", 2)')
            Logic.ExecuteInLuaLocalState('Input.KeyBindDown( Keys.ModifierShift + Keys.Right , "KeyBindings_JIP_Local_JFCP_Local(4)", 2)')
            Logic.ExecuteInLuaLocalState('Input.KeyBindDown( Keys.ModifierAlt + Keys.Up , "KeyBindings_JIP_Local_JFCP_Local(7)", 2)')
            Logic.ExecuteInLuaLocalState('Input.KeyBindDown( Keys.ModifierAlt + Keys.Down , "KeyBindings_JIP_Local_JFCP_Local(8)", 2)')
            Logic.ExecuteInLuaLocalState('Input.KeyBindDown( Keys.ModifierAlt + Keys.Left , "KeyBindings_JIP_Local_JFCP_Local(9)", 2)')
            Logic.ExecuteInLuaLocalState('Input.KeyBindDown( Keys.ModifierAlt + Keys.Right , "KeyBindings_JIP_Local_JFCP_Local(10)", 2)')
            Logic.ExecuteInLuaLocalState('Input.KeyBindDown( Keys.ModifierControl + Keys.Left +  Keys.Up , "KeyBindings_JIP_Local_JFCP_Local(13)", 2)')
            Logic.ExecuteInLuaLocalState('Input.KeyBindDown( Keys.ModifierControl + Keys.Right +  Keys.Up , "KeyBindings_JIP_Local_JFCP_Local(14)", 2)')
            Logic.ExecuteInLuaLocalState('Input.KeyBindDown( Keys.ModifierControl + Keys.Left +  Keys.Down , "KeyBindings_JIP_Local_JFCP_Local(23)", 2)')
            Logic.ExecuteInLuaLocalState('Input.KeyBindDown( Keys.ModifierControl + Keys.Right +  Keys.Down , "KeyBindings_JIP_Local_JFCP_Local(24)", 2)')
            Logic.ExecuteInLuaLocalState('Input.KeyBindDown( Keys.ModifierShift + Keys.Left +  Keys.Up , "KeyBindings_JIP_Local_JFCP_Local(53)", 2)')
            Logic.ExecuteInLuaLocalState('Input.KeyBindDown( Keys.ModifierShift + Keys.Right +  Keys.Up , "KeyBindings_JIP_Local_JFCP_Local(54)", 2)')
            Logic.ExecuteInLuaLocalState('Input.KeyBindDown( Keys.ModifierShift + Keys.Left +  Keys.Down , "KeyBindings_JIP_Local_JFCP_Local(63)", 2)')
            Logic.ExecuteInLuaLocalState('Input.KeyBindDown( Keys.ModifierShift + Keys.Right +  Keys.Down , "KeyBindings_JIP_Local_JFCP_Local(64)", 2)')
            Logic.ExecuteInLuaLocalState('Input.KeyBindDown( Keys.ModifierControl +  Keys.T , "KeyBindings_JIP_Local_JFCP_Local(250)", 2)')
            Logic.ExecuteInLuaLocalState('XGUIEng.ShowWidget("/InGame/Root/Normal/AlignBottomRight/MapFrame/Minimap/MinimapOverlay", 0)')
            Logic.ExecuteInLuaLocalState('Input.KeyBindDown( Keys.B , "KeyBindings_Bildschirm()", 2)')
            if wann == 1 then
                JIP_JFCP_StartPosition()
            end
            StartSimpleHiResJob("JIP_JFCP_Umsetzer_Cam")
        end
    end
    function JIP_JFCP_BildschirmHide()
        if BildschirmHideIsActive then
            Logic.ExecuteInLuaLocalState('XGUIEng.ShowWidget("/InGame/Root/Normal", 1)')
            BildschirmHideIsActive = false
        else
            Logic.ExecuteInLuaLocalState('XGUIEng.ShowWidget("/InGame/Root/Normal", 0)')
            BildschirmHideIsActive = true
        end
    end
    function JIP_JFCP_Umsetzer(_befehl)
        local befehl = _befehl
        minHeigh = 0
        GeschwindichkeitFaktor = 30 --Sollte nicht zu groß sein
        if befehl == 1 then --Vor
            movX = GeschwindichkeitFaktor * math.sin( math.rad( kamAng ) ) * math.cos( math.rad( kamRot ) )
            movY = GeschwindichkeitFaktor * math.sin( math.rad( kamAng ) ) * math.sin( math.rad( kamRot ) )
            movZ = GeschwindichkeitFaktor * math.cos( math.rad( kamAng ) )
            kamlookX = kamlookX + movX
            kamlookY = kamlookY + movY
            kamlookZ = kamlookZ + movZ
            kamposX = kamposX + movX
            kamposY = kamposY + movY
            kamposZ = kamposZ + movZ
            if kamposZ <= minHeigh then
                kamposZ = minHeigh
                kamlookZ = minHeigh + 1000 * math.cos( math.rad( kamAng ) )
            end
        elseif befehl == 2 then --Zurück
            movX = GeschwindichkeitFaktor * math.sin( math.rad( kamAng ) ) * math.cos( math.rad( kamRot ) )
            movY = GeschwindichkeitFaktor * math.sin( math.rad( kamAng ) ) * math.sin( math.rad( kamRot ) )
            movZ = GeschwindichkeitFaktor * math.cos( math.rad( kamAng ) )
            kamlookX = kamlookX - movX
            kamlookY = kamlookY - movY
            kamlookZ = kamlookZ - movZ
            kamposX = kamposX - movX
            kamposY = kamposY - movY
            kamposZ = kamposZ - movZ
            if kamposZ <= minHeigh then
                kamposZ = minHeigh
                kamlookZ = minHeigh + 1000 * math.cos( math.rad( kamAng ) )
            end
        elseif befehl == 3 then --Links
            movX = GeschwindichkeitFaktor * math.sin( math.rad( kamAng ) ) * math.cos( math.rad( kamRot + 90 ) )
            movY = GeschwindichkeitFaktor * math.sin( math.rad( kamAng ) ) * math.sin( math.rad( kamRot + 90 ) )
            kamlookX = kamlookX + movX
            kamlookY = kamlookY + movY
            kamposX = kamposX + movX
            kamposY = kamposY + movY
            if kamposZ <= minHeigh then
                kamposZ = minHeigh
                kamlookZ = minHeigh + 1000 * math.cos( math.rad( kamAng ) )
            end
        elseif befehl == 4 then --Rechts
            movX = GeschwindichkeitFaktor * math.sin( math.rad( kamAng ) ) * math.cos( math.rad( kamRot - 90 ) )
            movY = GeschwindichkeitFaktor * math.sin( math.rad( kamAng ) ) * math.sin( math.rad( kamRot - 90 ) )
            kamlookX = kamlookX + movX
            kamlookY = kamlookY + movY
            kamposX = kamposX + movX
            kamposY = kamposY + movY
            if kamposZ <= minHeigh then
                kamposZ = minHeigh
                kamlookZ = minHeigh + 1000 * math.cos( math.rad( kamAng ) )
            end
        elseif befehl == 5 then --Hoch
            kamlookZ = kamlookZ + GeschwindichkeitFaktor
            kamposZ = kamposZ + GeschwindichkeitFaktor
        elseif befehl == 6 then --Runter
            kamlookZ = kamlookZ - GeschwindichkeitFaktor
            kamposZ = kamposZ - GeschwindichkeitFaktor
            if kamposZ <= minHeigh then
                kamposZ = minHeigh
                kamlookZ = minHeigh + 1000 * math.cos( math.rad( kamAng ) )
            end
        elseif befehl == 7 then --Ang Hoch
            kamAng = kamAng - 1
            if kamAng <= 0 then
                kamAng = 0
            end
            movX = 1000 * math.sin( math.rad( kamAng ) ) * math.cos( math.rad( kamRot ) )
            movY = 1000 * math.sin( math.rad( kamAng ) ) * math.sin( math.rad( kamRot ) )
            movZ = 1000 * math.cos( math.rad( kamAng ) )
            kamlookX = kamposX + movX
            kamlookY = kamposY + movY
            kamlookZ = kamposZ + movZ
        elseif befehl == 8 then --Ang Runter
            kamAng = kamAng + 1
            if kamAng >= 180 then
                kamAng = 180
            end
            movX = 1000 * math.sin( math.rad( kamAng ) ) * math.cos( math.rad( kamRot ) )
            movY = 1000 * math.sin( math.rad( kamAng ) ) * math.sin( math.rad( kamRot ) )
            movZ = 1000 * math.cos( math.rad( kamAng ) )
            kamlookX = kamposX + movX
            kamlookY = kamposY + movY
            kamlookZ = kamposZ + movZ
        elseif befehl == 9 then --Rot Links
            kamRot = kamRot + 1
            if kamRot >= 360 then
                kamRot = 0
            end
            movX = 1000 * math.sin( math.rad( kamAng ) ) * math.cos( math.rad( kamRot ) )
            movY = 1000 * math.sin( math.rad( kamAng ) ) * math.sin( math.rad( kamRot ) )
            movZ = 1000 * math.cos( math.rad( kamAng ) )
            kamlookX = kamposX + movX
            kamlookY = kamposY + movY
            kamlookZ = kamposZ + movZ
        elseif befehl == 10 then --Rot Rechts
            kamRot = kamRot - 1
            if kamRot <= 0 then
                kamRot = 360
            end
            movX = 1000 * math.sin( math.rad( kamAng ) ) * math.cos( math.rad( kamRot ) )
            movY = 1000 * math.sin( math.rad( kamAng ) ) * math.sin( math.rad( kamRot ) )
            movZ = 1000 * math.cos( math.rad( kamAng ) )
            kamlookX = kamposX + movX
            kamlookY = kamposY + movY
            kamlookZ = kamposZ + movZ
        elseif befehl == 250 then --Vor Turbo
            Message("Turbo used")
            movX = 5000 * math.sin( math.rad( kamAng ) ) * math.cos( math.rad( kamRot ) )
            movY = 5000 * math.sin( math.rad( kamAng ) ) * math.sin( math.rad( kamRot ) )
            kamlookX = kamposX + movX
            kamlookY = kamposY + movY
            kamposX = kamposX + movX
            kamposY = kamposY + movY
        elseif befehl == 13 then --Vor Links
            movX = GeschwindichkeitFaktor * math.sin( math.rad( kamAng ) ) * math.cos( math.rad( kamRot + 45 ) )
            movY = GeschwindichkeitFaktor * math.sin( math.rad( kamAng ) ) * math.sin( math.rad( kamRot + 45 ) )
            movZ = GeschwindichkeitFaktor * math.cos( math.rad( kamAng ) )
            kamlookX = kamlookX + movX
            kamlookY = kamlookY + movY
            kamlookZ = kamlookZ + movZ
            kamposX = kamposX + movX
            kamposY = kamposY + movY
            kamposZ = kamposZ + movZ
            if kamposZ <= minHeigh then
                kamposZ = minHeigh
                kamlookZ = minHeigh + 1000 math.cos( math.rad( kamAng ) )
            end
        elseif befehl == 14 then --Vor Rechts
            movX = GeschwindichkeitFaktor * math.sin( math.rad( kamAng ) ) * math.cos( math.rad( kamRot - 45 ) )
            movY = GeschwindichkeitFaktor * math.sin( math.rad( kamAng ) ) * math.sin( math.rad( kamRot - 45 ) )
            movZ = GeschwindichkeitFaktor * math.cos( math.rad( kamAng ) )
            kamlookX = kamlookX + movX
            kamlookY = kamlookY + movY
            kamlookZ = kamlookZ + movZ
            kamposX = kamposX + movX
            kamposY = kamposY + movY
            kamposZ = kamposZ + movZ
            if kamposZ <= minHeigh then
                kamposZ = minHeigh
                kamlookZ = minHeigh + 1000 math.cos( math.rad( kamAng ) )
            end
        elseif befehl == 23 then --Zurück Links
            movX = GeschwindichkeitFaktor * math.sin( math.rad( kamAng ) ) * math.cos( math.rad( kamRot + 135 ) )
            movY = GeschwindichkeitFaktor * math.sin( math.rad( kamAng ) ) * math.sin( math.rad( kamRot + 135 ) )
            movZ = GeschwindichkeitFaktor * math.cos( math.rad( kamAng ) )
            kamlookX = kamlookX + movX
            kamlookY = kamlookY + movY
            kamlookZ = kamlookZ + movZ
            kamposX = kamposX + movX
            kamposY = kamposY + movY
            kamposZ = kamposZ + movZ
            if kamposZ <= minHeigh then
                kamposZ = minHeigh
                kamlookZ = minHeigh + 1000 * math.cos( math.rad( kamAng ) )
            end
        elseif befehl == 24 then --Zurück Rechts
            movX = GeschwindichkeitFaktor * math.sin( math.rad( kamAng ) ) * math.cos( math.rad( kamRot - 135 ) )
            movY = GeschwindichkeitFaktor * math.sin( math.rad( kamAng ) ) * math.sin( math.rad( kamRot - 135 ) )
            movZ = GeschwindichkeitFaktor * math.cos( math.rad( kamAng ) )
            kamlookX = kamlookX + movX
            kamlookY = kamlookY + movY
            kamlookZ = kamlookZ + movZ
            kamposX = kamposX + movX
            kamposY = kamposY + movY
            kamposZ = kamposZ + movZ
            if kamposZ <= minHeigh then
                kamposZ = minHeigh
                kamlookZ = minHeigh + 1000 * math.cos( math.rad( kamAng ) )
            end
        elseif befehl == 53 then
            movX = GeschwindichkeitFaktor * math.sin( math.rad( 45 ) ) * math.cos( math.rad( kamRot + 90 ) )
            movY = GeschwindichkeitFaktor * math.sin( math.rad( 45 ) ) * math.sin( math.rad( kamRot + 90 ) )
            movZ = GeschwindichkeitFaktor * math.cos( math.rad( 45 ) )
            kamlookX = kamlookX + movX
            kamlookY = kamlookY + movY
            kamlookZ = kamlookZ + movZ
            kamposX = kamposX + movX
            kamposY = kamposY + movY
            kamposZ = kamposZ + movZ
        elseif befehl == 54 then
            movX = GeschwindichkeitFaktor * math.sin( math.rad( 45 ) ) * math.cos( math.rad( kamRot - 90 ) )
            movY = GeschwindichkeitFaktor * math.sin( math.rad( 45 ) ) * math.sin( math.rad( kamRot - 90 ) )
            movZ = GeschwindichkeitFaktor * math.cos( math.rad( 45 ) )
            kamlookX = kamlookX + movX
            kamlookY = kamlookY + movY
            kamlookZ = kamlookZ + movZ
            kamposX = kamposX + movX
            kamposY = kamposY + movY
            kamposZ = kamposZ + movZ
        elseif befehl == 63 then
            movX = GeschwindichkeitFaktor * math.sin( math.rad( 135 ) ) * math.cos( math.rad( kamRot + 90 ) )
            movY = GeschwindichkeitFaktor * math.sin( math.rad( 135 ) ) * math.sin( math.rad( kamRot + 90 ) )
            movZ = GeschwindichkeitFaktor * math.cos( math.rad( 135 ) )
            kamlookX = kamlookX + movX
            kamlookY = kamlookY + movY
            kamlookZ = kamlookZ + movZ
            kamposX = kamposX + movX
            kamposY = kamposY + movY
            kamposZ = kamposZ + movZ
            if kamposZ <= minHeigh then
                kamposZ = minHeigh
                kamlookZ = minHeigh + 1000 * math.cos( math.rad( kamAng ) )
            end
        elseif befehl == 64 then
            movX = GeschwindichkeitFaktor * math.sin( math.rad( kamAng ) ) * math.cos( math.rad( kamRot - 90 ) )
            movY = GeschwindichkeitFaktor * math.sin( math.rad( kamAng ) ) * math.sin( math.rad( kamRot - 90 ) )
            kamlookX = kamlookX + movX
            kamlookY = kamlookY + movY
            kamposX = kamposX + movX
            kamposY = kamposY + movY
            if kamposZ <= minHeigh then
                kamposZ = minHeigh
                kamlookZ = minHeigh + 1000 * math.cos( math.rad( kamAng ) )
            end
        end
    end
    function JIP_JFCP_StartPosition()
        local Held = Logic.GetKnightID(1)
        local posx, posy = Logic.GetEntityPosition(Held)
        kamlookX = posx
        kamlookY = posy
        kamlookZ = startminHeigh
        kamposX = kamlookX - 1000
        kamposY = kamlookY
        kamposZ = kamlookZ
        kamRot = 0
        kamAng = 90
    end
    function JIP_JFCP_Umsetzer_Cam()
        Logic.ExecuteInLuaLocalState('Camera.ThroneRoom_SetLookAt('..kamlookX..', '..kamlookY..', '..kamlookZ..')')
        Logic.ExecuteInLuaLocalState('Camera.ThroneRoom_SetPosition('..kamposX..', '..kamposY..', '..kamposZ..')')
    end
    
    
    function Mission_OnSaveGameLoaded()
        JIP_OnSaveGameLoaded()
    end
    freieCamera_lokal.txt
    --------------------
    Code:
    function Mission_LocalOnMapStart()
    
      function KeyBindings_JIP_Local_JFC() --StartFreeCamera
        GUI.SendScriptCommand("JIP_JFC_StartFreeCamera()", true)
        Sound.FXPlay2DSound("ui\\siege_erect")
      end
      function KeyBindings_JIP_Local_JFCP_StartFreeCameraPlus(_wann) --StartFreeCameraPlus
        local wann = _wann
        GUI.SendScriptCommand("JIP_JFCP_StartFreeCameraPlus(" .. wann .. ")", true)
        Sound.FXPlay2DSound("ui\\siege_erect")
      end
      function KeyBindings_JIP_Local_JFCP_Local(_Befehl) --StartFreeCameraPlus
        local befehl = _Befehl
        GUI.SendScriptCommand("JIP_JFCP_Umsetzer(" .. befehl .. ")", true)
      end
      function KeyBindings_Bildschirm()
        GUI.SendScriptCommand("JIP_JFCP_BildschirmHide()", true)
      end
      
    end
    
    function Mission_LocalVictory()
    
    end
    - - - Aktualisiert - - -

    evtl findest Du ja noch was
    http://www.p-trabandt.de/S6/WIKI.rar
    trabbi
    Was ist Theorie, - Wenns klappen soll und es klappt nie
    Was ist Praxis, - Frag nicht so dumm, wenns klappt und Du weißt nicht warum

  3. #3
    Räuchermeister Avatar von barbara27h
    Registriert seit
    07.11.2010
    Ort
    Bonn
    Beiträge
    301
    Downloads
    0
    Uploads
    0

    Standard AW: SetCameraToEntity - Zoom einstellen

    Versuchs mal mit dieser hier:

    function SetCameraToPosition(_entity, _rotation, _zoomFactor, _zoomAngle )---Orig: _entity, -45, 10, 40
    local posX1, posY1 = Logic.GetEntityPosition(Logic.GetEntityIDByName(_e ntity));
    local rotation1 = _rotation
    local zoomFactor1 = _zoomFactor
    local zoomAngle1 = _zoomAngle
    Logic.ExecuteInLuaLocalState('Camera.RTS_SetLookAt Position("'..posX1..'", "'..posY1..'")');
    Logic.ExecuteInLuaLocalState('Camera.RTS_SetRotati onAngle("'..rotation1..'")');
    Logic.ExecuteInLuaLocalState('Camera.RTS_SetZoomFa ctor("'..zoomFactor1..'")');
    Logic.ExecuteInLuaLocalState('Camera.RTS_SetZoomAn gle("'..zoomAngle1..'")');
    end
    Ist praktischer, weil man den Zoomfactor beim Aufruf direkt mitgeben kann. Allerdings gehts mit SetCameraToEntity auch, nur dass du hier den Zoomfactor fest im Code einstellen musst. Das ist unflexibel. Ich benutze immer diese Funktion oben.

    Aufruf ist dann für eine Nahaufnahme zB SetCameraToPosition("EntityX", -45, 0, 0) also Zoomfactor = 0, wenn du ganz nah ran willst.

  4. #4
    Bogenmacher Avatar von Annosiedler
    Registriert seit
    02.01.2009
    Ort
    Niedersachsen
    Beiträge
    3,350
    Downloads
    0
    Uploads
    0

    Standard AW: SetCameraToEntity - Zoom einstellen

    Puuh, endlich konnte ich es testen.
    Also wenn ich bei Zoomfactor 0 drinhabe bin ich ganz dicht dran, bei allen anderen Werten (1-10) bin ich immer ganz rausgezoomt, versteh ich nicht.

  5. #5
    Bogenmacher
    Registriert seit
    22.04.2005
    Beiträge
    3,452
    Downloads
    0
    Uploads
    0

    Standard AW: SetCameraToEntity - Zoom einstellen

    Ich kenn ja von dem Geraffel hier nichts, aber wenn ich mir den Kommentar in dieser Zeile so anschaue:
    Code:
    Logic.ExecuteInLuaLocalState('Camera.RTS_SetZoomFactor("'.._zoomFactor..'")')  -- 0.05 - 1.0
    könnte es vielleicht daran liegen, dass der Wertebereich scheinbar von 0 bis 1 geht.

  6. #6
    Bogenmacher Avatar von Annosiedler
    Registriert seit
    02.01.2009
    Ort
    Niedersachsen
    Beiträge
    3,350
    Downloads
    0
    Uploads
    0

    Standard AW: SetCameraToEntity - Zoom einstellen

    Gerade getestet, daran liegts leider nicht..
    ZoomAngle hat bei mir auch keine Auswirkung, ich weiß nicht wieso.
    Die 5 leeren Stellen oben im Script von Barbara habe ich natürlich korrigiert...

  7. #7
    Lanzenträger Avatar von trabbi
    Registriert seit
    09.03.2006
    Beiträge
    4,967
    Downloads
    1
    Uploads
    0

    Standard AW: SetCameraToEntity - Zoom einstellen

    Hast Du mal meine Map TR_Urwald angesehen ??
    trabbi
    Was ist Theorie, - Wenns klappen soll und es klappt nie
    Was ist Praxis, - Frag nicht so dumm, wenns klappt und Du weißt nicht warum

  8. #8
    Bogenmacher Avatar von Annosiedler
    Registriert seit
    02.01.2009
    Ort
    Niedersachsen
    Beiträge
    3,350
    Downloads
    0
    Uploads
    0

    Standard AW: SetCameraToEntity - Zoom einstellen

    Hab ich als kleiner Bub bestimmt mal gespielt.

  9. #9
    Lanzenträger Avatar von trabbi
    Registriert seit
    09.03.2006
    Beiträge
    4,967
    Downloads
    1
    Uploads
    0

    Standard AW: SetCameraToEntity - Zoom einstellen

    zumindest sind da einige Cameraeinstellungen drin
    trabbi
    Was ist Theorie, - Wenns klappen soll und es klappt nie
    Was ist Praxis, - Frag nicht so dumm, wenns klappt und Du weißt nicht warum

  10. #10
    Bogenmacher Avatar von Annosiedler
    Registriert seit
    02.01.2009
    Ort
    Niedersachsen
    Beiträge
    3,350
    Downloads
    0
    Uploads
    0

    Standard AW: SetCameraToEntity - Zoom einstellen

    Joo, werd ich mal reinschnuppern.

  11. #11
    Räuchermeister Avatar von barbara27h
    Registriert seit
    07.11.2010
    Ort
    Bonn
    Beiträge
    301
    Downloads
    0
    Uploads
    0

    Standard AW: SetCameraToEntity - Zoom einstellen

    Zitat Zitat von Annosiedler Beitrag anzeigen
    Also wenn ich bei Zoomfactor 0 drinhabe bin ich ganz dicht dran, bei allen anderen Werten (1-10) bin ich immer ganz rausgezoomt, versteh ich nicht.
    Finde ich seltsam, ich habe das schon mit verschiedensten Einstellungen benutzt (zoomfactor bis zu 50 zB bei der Einstellung aufs Teefeld im Buddhazahn), klappt immer. Habs auch schon mit negativem Zoomfactor gesehen, aber selbst noch nicht ausprobiert. Probier das vielleicht mal...

  12. #12
    Holzfäller Avatar von totalwarANGEL
    Registriert seit
    25.03.2010
    Ort
    Dresden
    Beiträge
    110
    Downloads
    0
    Uploads
    0

    Standard AW: SetCameraToEntity - Zoom einstellen

    Zitat Zitat von barbara27h Beitrag anzeigen
    Finde ich seltsam, ich habe das schon mit verschiedensten Einstellungen benutzt (zoomfactor bis zu 50 zB bei der Einstellung aufs Teefeld im Buddhazahn), klappt immer. Habs auch schon mit negativem Zoomfactor gesehen, aber selbst noch nicht ausprobiert. Probier das vielleicht mal...
    War das nicht so, das die zahl ZWISCHEN 0 und 1 liegen muss?
    MfG totalwarANGEL

  13. #13
    Bogenmacher Avatar von Annosiedler
    Registriert seit
    02.01.2009
    Ort
    Niedersachsen
    Beiträge
    3,350
    Downloads
    0
    Uploads
    0

    Standard AW: SetCameraToEntity - Zoom einstellen

    ...also ist wohl doch von 0 bis 1 also die zwischenschritte 0.1 bis so 0.9 und bla...
    aber löässt sich insgesammt nicht so wirklich exakt einstellen wie ich mir das vorgestellt hatte.

  14. #14
    Sägewerker
    Registriert seit
    05.02.2011
    Beiträge
    168
    Downloads
    0
    Uploads
    0

    Standard AW: SetCameraToEntity - Zoom einstellen

    Wenn das die Spielkamera bzw. RTS-Kamera ist: die hat Zoomwerte von 0.05 bis 0.5.

  15. #15
    Bogenmacher Avatar von Annosiedler
    Registriert seit
    02.01.2009
    Ort
    Niedersachsen
    Beiträge
    3,350
    Downloads
    0
    Uploads
    0

    Standard AW: SetCameraToEntity - Zoom einstellen

    okay, danke, das erklärt warum der zoom sehr komisch ist.

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Ähnliche Themen

  1. [Frage] Dauerhaften Regen einstellen
    Von totalwarANGEL im Forum S6 Scriptecke
    Antworten: 5
    Letzter Beitrag: 04.06.2010, 13:24
  2. Im Handelsposten auch Gold einstellen
    Von Annosiedler im Forum S6 Scriptecke
    Antworten: 2
    Letzter Beitrag: 25.08.2009, 14:58
  3. Handel einstellen per Quest
    Von schmitti1995 im Forum Siedler 6 AeK Mapperecke
    Antworten: 7
    Letzter Beitrag: 09.06.2009, 18:56

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •