Zwei kleine Scriptfragen

  • Ich gestalte derzeit gerade unteranderem eine Fabrik.


    Frage 1:


    An dieser Fabrik steht der Name und Art der Fabrik dran.


    Jetzt habe ich den Text derzeit in english da stehen.

    Gibt es eine Möglichkeit das man per script o.a. einstellen kann, das das Programm die Sprache überprüft und dann die entsprechende Bilddatei auswählt?


    Frage 2:


    Ich habe bei der Fabrik mehrere Gestaltungsmöglichkeiten.

    Also was man ein und/oder ausblenden kann. So das das Ganze einwenig individueller wird.


    Ich habe nur das Problem, das meine If-Abfragen nicht so ganz funktionieren.

    Ich wollte, zB das man entweder ein Tor öffnen kann, dann steht da zB ein Gabestabler oder man läßt die Türe zu.


    Also, wenn GS an... dann GS anzeigen.

    Wenn GS nicht aktiviert zeige geschlossenes Tor an.


    ich hab ne Menge Scriptvarianten probiert...


    z.B.: das hier:


    // ########## GS1 / Tor sichtbar oder unsichtbar machen

    void SetGS1(bool isda)

    {

    string meshname = MESH_GS1;

    if (!isgs1)

    {

    meshname = MESH_VHST;

    }

    SetMeshVisible(meshname, isda, 0.0);

    }



    // ########## evtl. wechseln

    void ChangeVhst(bool isda)

    {

    if (isda)

    {

    string meshname0 = MESH_GS1;

    string meshname1 = MESH_VHST;

    if (!isgs1)

    {

    meshname0 = MESH_VHST;

    meshname1 = MESH_GS1;

    }

    SetMeshVisible(meshname0, false, 0.0);

    SetMeshVisible(meshname1, true, 0.0);

    }

    }


    dann habe ich ne andere Art von Script probiert... und hatte das drin..


    if (GS1) {SetMeshVisible("GS1",GS1Visible,0.5f);}

    else {SetMeshVisible("Vhst",YYYVisible,0.5f);}

    }


    aber das funktioniert auch nicht...


    Ich habe jedesmal das komplette Script neu aufgebaut und/oder angepaßt.


    Objekte die nur ein oder ausgeblendet werden sollen funktionieren immer.

    Aber, wenn ich stattdessen zwischen zwei Objekten wechseln will... funktioniert das nicht...



    Kann mir jemand zufällig nen Beispiel zeigen wie das korrekt gemacht werden muss?


    Danke! :)


    Gruß

    Ben

  • Mache ein Update immer für beide Meshes.

    So wie ich dich verstanden habe, möchtest du entweder das eine oder das andere zeigen.


    Angenommen, du hast ein offenes und ein geschlossenes Tor und zusätzlich den Gabelstapler.


    Dann machst du folgendes:


    PHP
    bool m_bTorAuf = true;  // Irgendwo ändert sich natürlich der Wert
    
    // tor_auf wird gezeigt, wenn das m_bTorAuf = true ist
    SetMeshVisible("tor_auf", m_bTorAuf, 0.0f); 
    
    // tor_zu wird dann gezeigt, wenn m_bTorAuf = false ist (! => Gegenteil vom aktuellen Wert)
    SetMeshVisible("tor_zu", !m_bTorAuf, 0.0f);
    
    // Gabelstapler wird auch bei m_bTorAuf = true gezeigt
    SetMeshVisible("gabelstapler", m_bTorAuf, 0.0f); 


    Das andere ist dann etwas komplizieter...
    Dazu brauchst du ein Texture-Group-Asset und string-table's...



    Im Script dann:

    Einmal editiert, zuletzt von callavsg ()

  • So, nach vielem experimentieren und unter der Hilfe eine Scriptes von Edgar Wood, habe ich es nun hinbekommen.


    Jetzt muss ich nur noch die restlichen Objekte und die Industriefunktion einbinden...


    Ich hoffe das es dann komplett läuft. :grinning_face_with_smiling_eyes:

    Einmal editiert, zuletzt von Alcaron ()