Fahrzeugmods ergeben Error

  • Ich denke, wir diskutieren in einem eigenen Thread über die Fehlermeldung nach Beendigung des Spiel, die lautet "Variant count 1 after destroy" (wobei 1 durch andere Zahlen ersetzt sein kann...).


    Hier mal die geänderten Scripts bzw. die betroffenen Zeilen darin:


    Tram06a-Script

    PHP
    7 this.displayName = MAIN.$strings.$vehicle_tram06kd;
    39 $icon = MAIN.$window.video.new_texture("/metro/objects/vehicles/tram-06kd/tram06-icon.dds");
    47 $infoText = MAIN.$strings.$vehicle_tram06kd_info;


    default-vehicles.script

    PHP
    137 $level.loadPlayerVehicle("tram-06kd", "vehicles/tram-06kd/tram06a", mkdate(1,3,2005), mkdate(31,12,9999));
    138 $grid.loadGridObject("tram-06c", "metro/objects/vehicles/tram-06kd/tram06c.object");
    139 $grid.loadGridObject("tram-06d", "metro/objects/vehicles/tram-06kd/tram06d.object");
    140 $grid.loadGridObject("tram-06a", "metro/objects/vehicles/tram-06kd/tram06a.object");


    de.string

    PHP
    3826 $vehicle_tram06kd = "Louis Enviro X KD";
    3827 $vehicle_tram06kd_info = "Die Fahrgastkapazität der fünfteiligen Louis Enviro X ist überragend, außerdem ist die Straßenbahn aufgrund ihrer Attraktivität ein wahrer Passagiermagnet. Mit der Enviro X zu fahren ist immer ein Vergnügen! Leider ist das Fahrzeug aber sehr störungsanfällig. Trotzdem ist die Enviro X durch ihren geringen Energieverbrauch und ihre leichte Struktur aufgrund ihrer Geschwindigkeit wettbewerbsfähig. Der Hersteller hat viel Mühe darin gesteckt, dem Straßenbahnfahrer seine Arbeit zu erleichtern: Enviro X-Straßenbahnen verfügen über einen zusätzlich gepolsterten Fahrersitz, und große Spiegel machen es auch in verkehrsreichen Stätten eine Leichtigkeit, die Umgebung im Blick zu halten.";



    Die beziehen sich mal auf den kurz+kurz script für die Tram06... Parallel läuft ein Tram03 mit zweitem Beiwagen Script.



    MFG

  • Ich weiß zwar nicht, wozu diese Meldung da ist, aber ich kann sagen, dass ich bis jetzt keine Auswirkungen verspürt habe. Das Spiel läuft ganz normal, alle Savestates sind prima, der Editor geht auch ... nur eben diese Meldung ist lästig. Ich nehme an, dass man sie auch nicht los wird, weil die Scripts nur die Spiel-UI beinflussen und nicht so handfeste Dinge wie Dialogboxen und Fenster ... oder sehe ich das falsch?

    Aktuelle Ideen und Projekte oder: Was hoffentlich irgendwann mal fertig wird (Update Dezember 2010: Oder auch eher nicht)
    Mehr Konkurrenten | RCT2-Objekte in Locomotion | Gebäude aus Industrien klauen und als Stadtgebäude nutzen | LocoGUI-Klon für Gebäude | Regions-DAT-Tool | MusicChanger 2.0 | Weltraumflüge mit Loco-Maps darstellen (siehe Das Marsprojekt :) )


    The Visual Dictionary

  • Das Spiel sagt dir wohl das ein Script ein Speicherleck verursacht, bzw. der Referenzcount kaputt ist.


    Erhöht sich die Variant Count Zahl bei jedem neuen Laden eines Spiels? Einfach dreimal ne Sandbox starten und dann komplett beenden.


    Wenn ja, braucht es wohl noch eine Unload Funktion...


    So sieht das bei mir aus, da ich die Toolbar Nutze, seitdem hab ich bei meinen Tests keine Fehler mehr, festlegen möchte ich mich aber nicht, kann auch nur sein das der Fehler nun einfach zurzeit nicht mehr Auftritt.

    Code
    event this.onDestroy::() {
    	echo "Destroying eis_os newstations game.script";
    	if (this.$toolbar) { this.$toolbar = null; }
    	if (this.$buildMenu) { this.$buildMenu = null; }
    }
  • Ja, da erhöht sich die Zahl!


    Aber warum entsteht diese Fehlermeldung überhaupt, wenn doch scheinbar alles passt?


    Wie und setzt man so eine Unload Funktion?



    EDIT: Habe das Problem nun lösen können. Ich habe einfach zuviele Wagen neu laden lassen, obwohl das nicht zwingend erforderlich war!


    Keine Fehlermeldung mehr!



    Problem war:


    137 $level.loadPlayerVehicle("tram-06kd", "vehicles/tram-06kd/tram06a", mkdate(1,3,2005), mkdate(31,12,9999));
    138 $grid.loadGridObject("tram-06c", "metro/objects/vehicles/tram-06kd/tram06c.object");
    139 $grid.loadGridObject("tram-06d", "metro/objects/vehicles/tram-06kd/tram06d.object");

    140 $grid.loadGridObject("tram-06a", "metro/objects/vehicles/tram-06kd/tram06a.object");



    Die durchgestrichenen Zeilen waren nicht notwendig, lediglich tram06a muss geladen werden. Die anderen werden Zeilen vorher bereits geladen...



    MFG

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!