Beiträge von akpsv

    Hier die Zeilen aus der ui.script


    Ohne Leerzeilen von 82 bis 122


    function setCameraDirection($value) {
    if (MAIN.$gameControls.$keyRepeat) wait 0.05;
    if (!$screenShotMode) {
    $cameraDir = $value & 0x7;
    if (!MAIN.$gameControls.$overviewMode) {
    $camera.orientation = quat(0.6 + $cameraZoom * 0.0017, vector(1.0, 0.0, 0.0)) * quat($cameraDir * 0.25 * PI/* + 0.001*/, vector(0.0, 1.0, 0.0));
    } else {
    $camera.orientation = quat($cameraTilt, vector(1.0, 0.0, 0.0)) * quat($cameraDir * 0.25 * PI/* + 0.001*/, vector(0.0, 1.0, 0.0));
    }
    } else {
    $cameraDir = $value;
    $camera.orientation = quat($cameraTilt, vector(1.0, 0.0, 0.0)) * quat($cameraDir * 0.1 * PI/* + 0.001*/, vector(0.0, 1.0, 0.0));
    }
    setCameraPos($cameraX, $cameraZ);
    }


    function setCameraTilt($value, $force = false) {
    if ($screenShotMode || $force) {
    $cameraTilt = $value;
    if (!$screenShotMode) {
    $camera.orientation = quat($cameraTilt, vector(1.0, 0.0, 0.0)) * quat($cameraDir * 0.25 * PI/* + 0.001*/, vector(0.0, 1.0, 0.0));
    } else {
    $camera.orientation = quat($cameraTilt, vector(1.0, 0.0, 0.0)) * quat($cameraDir * 0.1 * PI/* + 0.001*/, vector(0.0, 1.0, 0.0));
    MAIN.$gameUI.setCameraZoom($cameraZoom); //Just to make sure the $camera.maxDistance is set correctly
    }
    }
    }


    function setCameraZoom($value, $force = false) {
    $cameraZoom = $value;
    $camera.offset = vector(0.0, 0.0, $cameraZoom);
    if (!$screenShotMode) {
    if (!$force) {
    $camera.orientation = quat(0.6 + $cameraZoom * 0.0017, vector(1.0, 0.0, 0.0)) * quat($cameraDir * 0.25 * PI/* + 0.001*/, vector(0.0, 1.0, 0.0));
    } else {
    $camera.orientation = quat($cameraTilt, vector(1.0, 0.0, 0.0)) * quat($cameraDir * 0.25 * PI/* + 0.001*/, vector(0.0, 1.0, 0.0));
    }
    } else {
    $camera.orientation = quat($cameraTilt, vector(1.0, 0.0, 0.0)) * quat($cameraDir * 0.1 * PI/* + 0.001*/, vector(0.0, 1.0, 0.0));
    }
    MAIN.$listener.offset = vector(0.0, 0.0, $cameraZoom);
    setCameraPos($cameraX, $cameraZ);
    }


    von 168 bis 200



    function scrollKey($key) {
    if ($scrollerKeys == 0) stopScrolling();
    $scrollerKeys |= $key;
    if ($scrollerThread == null) {
    $scrollerThread = thread "gameUI" :: loop {
    $delta = skip_frame * $cameraZoom;
    if ($scrollerKeys == 0) break;
    $x = 0;
    $z = 0;
    if ($scrollerKeys & 1) $x++;
    if ($scrollerKeys & 2) $z++;
    if ($scrollerKeys & 4) $x--;
    if ($scrollerKeys & 8) $z--;
    if (!$screenShotMode) {
    $xangle = $cameraDir * 0.25 * PI;
    $zangle = $cameraDir * 0.25 * PI + 0.5 * PI;
    } else {
    $xangle = $cameraDir * 0.1 * PI;
    $zangle = $cameraDir * 0.1 * PI + 0.5 * PI;
    }
    setCameraPos($cameraX + $delta * ($x * cos($xangle) + $z * cos($zangle)), $cameraZ + $delta * ($x * sin($xangle) + $z * sin($zangle)));
    };
    }
    }


    $panWorldPos = vector();
    $panCameraPos = vector();
    $panCameraZ = -100000.0;
    $panning = false;
    $mouseX = 0.0;
    $mouseY = 0.0;


    function startPanning() {
    stopScrolling();
    $panWorldPos = .getWorldPosition($mouseX, $mouseY);
    $panCameraPos = $camera.currentPosition;
    $panning = true;
    }


    function stopPanning() {
    $panning = false;
    }


    event MAIN.$player.onDeactivate::() {
    stopScrolling();
    }


    event MAIN.$player.onMouseMove::($x, $y) {
    if ((MAIN.$gameControls.$rightMouseButtonDown) && (MAIN.$gameControls.$cimcam)) return;
    if ($panning) {
    $oldPos = $camera.currentPosition;
    $camera.currentPosition = $panCameraPos;
    $pos = .getWorldPosition($x, $y);
    $camera.currentPosition = $oldPos;
    $pos = $panWorldPos - $pos + $panCameraPos;
    setCameraPos(vector_x($pos), vector_z($pos));
    } else {
    if ($scrollerKeys == 0) {
    if ($scrollerThread) {
    if ($x >= 5.0 && $y >= 5.0 && $x <= $desktop.width-5 && $y <= $desktop.height-5) stopScrolling();
    } else {
    if ($x < 5.0 || $y < 5.0 || $x > $desktop.width-5 || $y > $desktop.height-5) startScrolling();
    }
    }
    $mouseX = $x;
    $mouseY = $y;
    }



    Gruss Andy

    Hi,


    eigentlich ist es kein Problem 3D Modelle zu erstellen. Dafür gibt es Programme. Das Problem dürfte darin bestehen das man ein Tool braucht mit dem man die erstellten Modelle ins Spiel bringt. Da ich auch Simcity spiele, weiss ich das es möglich ist. Für SC benutze ich das 3D Programm GMAX und den BAT. BAT ist das Tool um die Modelle die in GMAX erstellt werden in das Format von SC zu exportieren. Es müsste also nur ein Tool geben das man für CIM benutzen kann.


    Da im Spiel ja 3D Modelle benutzt werden, haben die Ersteller wohl so ein Tool geschrieben. Die Frage ist dann wohl, wo bekommt man dieses Tool her?


    Solche Tools gibt es auch für Trainz, Flugsimulator oder MSTS usw..


    Gruss Andy

    Hallo,


    ich bin neu hier. Habe mich erst mal hier ein wenig umgesehen was es so alles gibt und welche Probleme der eine oder andere hat. Überrascht hat mich, das es nach so kurzer Zeit schon die eine oder andere Erweiterung bzw. Patches schon gibt.


    Nun zu meinem Problem


    Habe mir das Trampack von Ricci geladen und so ins Spiel eigefügt wie es beschrieben ist. Das Spiel gestartet und erstmal keine Veränderung festgestellt. Nach einem Blick in die metro_log-datei wurden Fehler angezeigt. Siehe Bild, zum vergrößern das Bild anklicken.


    http://www.ld-host.de/uploads/…855b6de443f04d248.jpg</a>


    Wie kann ich das korrigieren?


    Habe keine Erfahrung mit der Scriptsprache. Ich hoffe das mir jemand helfen kann.


    Gruss Andy