1. Dashboard
  2. Forum
  3. Filebase
  4. Lexikon
  5. Artikel
  6. Spieletest
  7. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  8. Zur Transport Fever Community
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Artikel
  • Seiten
  • Forum
  • Filebase-Eintrag
  • Lexikon
  • Artikel (Bewertungssystem)
  • Erweiterte Suche
  1. WiSim Welt
  2. Forum
  3. Spiele
  4. Cities in Motion
  5. Modding und Erweiterungen
  6. Tools & more

Fahrzeug an bestimmtem Halt einsetzen

  • Banjobeni
  • 9. Februar 2012 um 22:46
1. offizieller Beitrag
  • Banjobeni
    Profi
    Beiträge
    1.264
    Filebase Einträge
    4
    • 9. Februar 2012 um 22:46
    • #1

    Ich war lange nicht mehr hier... Vor kurzem aber wieder angefangen CiM zu spielen. Und daher beschlossen, das Fahrzeuge-fahren-hintereinander-Problem endlich mal zu lösen:

    Fahrzeug an bestimmtem Halt einsetzen

    Ich bitte um konstruktive Kritik (oder Lob, falls euch sonst nicht einfällt).

    Banjo

    Cogito ergo sum. Ich denke, also bin ich. Denke ich denn?

    AFAIK = as far as I know (so weit ich weiss) / IMHO = in my humble opinion (Meiner unmassgeblichen Meinung nach) / lol = laughing out loudly (lautes Herauslachen) / prellen = (jemand dekoriert seine Sätze mit zu vielen ? und !) / ROFL = rolling on the floor laughin (auf dem Boden rollend vor lachen) / SCNR = sorry, could not resist (Ich konnt's mir nicht verkneifen) / UT(F)SE = use the (fucking) search engine (benutz endlich die Suchmaschine) / WFM = works for me (funktioniert bei mir)

    Einmal editiert, zuletzt von Banjobeni (10. Februar 2012 um 19:34)

    • Zitieren
  • Cyntherius
    Schüler
    Beiträge
    54
    Filebase Einträge
    4
    • 9. Februar 2012 um 23:31
    • #2

    sehr schön! werde ich auf jeden Fall ausprobieren. Da kommt mir der Gedanke nach einen geregelten Fahrplan für Verkehrsfahrzeuge (sodass nicht irgendwann 2 Busse direkt hintereinander auf einer Linie fahren - gibts sowas bereits?)

    • Zitieren
  • Banjobeni
    Profi
    Beiträge
    1.264
    Filebase Einträge
    4
    • 10. Februar 2012 um 00:06
    • #3
    Zitat von Cyntherius

    sehr schön! werde ich auf jeden Fall ausprobieren. Da kommt mir der Gedanke nach einen geregelten Fahrplan für Verkehrsfahrzeuge (sodass nicht irgendwann 2 Busse direkt hintereinander auf einer Linie fahren - gibts sowas bereits?)


    Gibts leider nicht - und wirds IMHO ohne Umstellung der Core-Engine von CiM auch nicht geben.

    Cogito ergo sum. Ich denke, also bin ich. Denke ich denn?

    AFAIK = as far as I know (so weit ich weiss) / IMHO = in my humble opinion (Meiner unmassgeblichen Meinung nach) / lol = laughing out loudly (lautes Herauslachen) / prellen = (jemand dekoriert seine Sätze mit zu vielen ? und !) / ROFL = rolling on the floor laughin (auf dem Boden rollend vor lachen) / SCNR = sorry, could not resist (Ich konnt's mir nicht verkneifen) / UT(F)SE = use the (fucking) search engine (benutz endlich die Suchmaschine) / WFM = works for me (funktioniert bei mir)

    • Zitieren
  • Sebastianeh
    Administrator
    Reaktionen
    15
    Artikel
    1
    Beiträge
    2.587
    Filebase Einträge
    11
    • 10. Februar 2012 um 08:31
    • Offizieller Beitrag
    • #4

    Moin Banjobeni,

    tz,tz,tz, kaum wieder da und schon gegen die Boardregeln verstoßen, das haben wir gerne :D
    §22 ->Allgemeine Foren-Regeln - Board-Regeln - Cities in Motion - Fanpage , warst halt lange nicht mehr da ;)

    Zum eigentlichen Thema.
    Ich freue mich, das ich von dir endlich mal wieder etwas lese und du uns gleich ein Mod zur Verfügung stellst.
    Werde es mal die nächsten Tage ausprobieren.

    Mfg Sebastian

    <p>I think my pig whistles.</p>

    • Zitieren
  • Speedy
    Meister
    Beiträge
    2.067
    Filebase Einträge
    21
    • 10. Februar 2012 um 09:31
    • #5

    Also das werd ich auch probieren; leider hab ich Besuch und daher keine Zeit. Sonnabend, spätestens Sonntag komm ich erst dazu. :(

    PS:
    Schön mal wieder was von dir zu lesen. :thumbup:

    • Zitieren
  • eis_os
    Profi
    Beiträge
    1.025
    Filebase Einträge
    2
    • 10. Februar 2012 um 09:53
    • #6
    Zitat von Banjobeni


    Fahrzeug an bestimmtem Halt einsetzen
    Ich bitte im konstruktive Kritik (oder Lob, falls euch sonst nicht einfällt).

    Ich möchte noch darauf hinweisen, dass man das nur mit CIM > 1.0.20 machen sollte, da sonst das Absturzrisko sehr beachtlich ist.
    Auch sonst haben meine Tests gezeigt, das CIM das Online umsortieren von Linien mit Abstürzen quittieren kann , sobald eine Tram gerade ein Stop erreicht.
    Das passiert aber sehr sehr sehr selten, nur so als Info, da ich CIM als Frankenstein CIM schon eine ganze weile so nutze, um Haltestellen Online entfernen und hinzufügen zu können.

    Sollte es kuriose Probleme geben, hilft es die Linie zu schließen und wieder zu eröffnen...

    2 Mal editiert, zuletzt von eis_os (10. Februar 2012 um 09:56)

    • Zitieren
  • Banjobeni
    Profi
    Beiträge
    1.264
    Filebase Einträge
    4
    • 10. Februar 2012 um 19:40
    • #7

    eis_os, vielen Dank für deine Infos. Hast du eine Ahnung, wo die objekte definiert sind, die in diesen script files als $line o.ä. referenziert werden?

    Cogito ergo sum. Ich denke, also bin ich. Denke ich denn?

    AFAIK = as far as I know (so weit ich weiss) / IMHO = in my humble opinion (Meiner unmassgeblichen Meinung nach) / lol = laughing out loudly (lautes Herauslachen) / prellen = (jemand dekoriert seine Sätze mit zu vielen ? und !) / ROFL = rolling on the floor laughin (auf dem Boden rollend vor lachen) / SCNR = sorry, could not resist (Ich konnt's mir nicht verkneifen) / UT(F)SE = use the (fucking) search engine (benutz endlich die Suchmaschine) / WFM = works for me (funktioniert bei mir)

    • Zitieren
  • eis_os
    Profi
    Beiträge
    1.025
    Filebase Einträge
    2
    • 10. Februar 2012 um 20:10
    • #8

    Es gibt da mehrere Teile:

    a) MAIN.$grid.lines
    b) $lines
    c) MAIN.$gameDate.$lines

    a und c werden im Savegame gespeichert,

    Das Ergebniss von MAIN.$grid.lines.createLine ist das Hauptobjekt = $lineobj
    $lineobj bekommt eine Script Variable $data , das ist eine map ["index", $line.$index, "name", $line.$name, "active", false, "visible", true, "vehicles", [], "new", true];
    $lineobj kommt in $lines[] von linepanel.script.
    MAIN.$gameData.$lines[] bekommt $lineobj.$data;

    Warum so kompliziert?

    $lineobj ist eine Internes Grid Objekt, es speichert nur seine eigenen Daten,
    erweiterte Daten wie der Name oder der Status werden in $data gespeichert,
    und diese Daten müssen auch in das Savegame, also in MAIN.$gameData.$lines[].

    -edit-
    Wenn da was schief läuft, ist das Savegame wohl Schrott...
    -edit2-

    $grid.lines ist ein Array(children) mit gsTransportLine Objekten
    gsTransportLine Objekte beinhalten wiederum ein Array(children) gsTransportVehicle Objekten,

    gsTransportLine hat ein paar Events wie spawnBus, unspawnBus (ist für alle Transporttypen identisch). Die Fügen dann ein paar Visuelle Objekte hinzu zu einen Fahrzeug.

    Aber die Logik für das eigentliche auf die Linen setzen ist im gsTransportLine Objekt, aber in der C++ Seite die wir nicht kennen und nicht verändern können.

    Einmal editiert, zuletzt von eis_os (10. Februar 2012 um 20:28)

    • Zitieren
  • gojo
    Anfänger
    Beiträge
    36
    • 31. März 2012 um 16:53
    • #9

    Wie funktioniert das mit dem patch-file? Ich würde den Mod gerne mit Linstatisticsplus kombinieren, aber das mit dem Anpassen der linepanel.script kriege ich nicht hin - Die linepanel.patch kann ich mit notepad++ öffnen, aber dann?

    Einmal editiert, zuletzt von gojo (31. März 2012 um 17:03)

    • Zitieren
  • Bremer82
    Anfänger
    Beiträge
    19
    Filebase Einträge
    1
    • 29. Mai 2012 um 08:10
    • #10

    Dem schließe ich mich an. Bin auch zu blöd das hinzubekommen :D

    • Zitieren
  • simser2
    Gast
    • 11. August 2012 um 13:34
    • #11

    Hihi, ich hänge genau auch bei diesem Problem =D
    Banjobeni, melde dich mal bitte.

    • Zitieren
  • gojo
    Anfänger
    Beiträge
    36
    • 9. Februar 2013 um 14:27
    • #12

    Nach vielen Monaten habe ich mich nochmal damit beschäftigt. Falls noch jemand Interesse hat, LSP mit dieser Mod zu kombinieren, hier ist die Anleitung. Ich habe dabei aber die Funktion weggelassen, dass beim Entfernen von Haltestellen von einer Linie diese Linie offenbleibt, weil das oft zu Fehlern führte.

    Ihr braucht...

    • Den GSFileViewer
    • Line Statistics Plus, ich habe mit 5.6 getestet, sollte auch mit neueren Versionen gehen
    • Banjobenis Mod
    • aus Einfachheitsgründen einen Texteditor, der die Zeilennummern anzeigt, bspw. Notepad++


    Wenn alles da ist, müsst ihr:

    • Die .gs-Datei öffnen und in scripts die Datei linepanel.script öffnen (Rechtsklick->Edit...) oder sie extrahieren (Rechtsklick->Extract to...) und sie öffnen
    • In der linepanel.script zu den 230er Zeilen scrollen. Ihr ändert dann die function createBus, indem ihr Folgenden Code direkt unter dem Funktionsnamen einfügt:
      Code
      $stopIndex = $selectedStop; if ($line.active && $stopIndex > 0) { $numStops = $line.stopCount; reverseStops(0, $stopIndex - 1); reverseStops($stopIndex, $numStops - 1); reverseStops(0, $numStops - 1); }

    • Die function reverseStops definieren, indem ihr den Code am Ende einfügt:
      Code
      function reverseStops($start, $end) { 
      while ($start < $end) { 
      moveStop($start, $end); 
      $start++; 
      $end--; 
      } 
      }
    • In den 1070ern die function moveStop modifizieren: Die ersten zwei Zeilen,
      Code
      if ($selectedLine.active) togglePauseLine($selectedLine); 
      if (!$selectedLine.visible) toggleShowLine($selectedLine);

      müssen mit einem // auskommentiert ("deaktiviert") werden:

      Code
      //if ($selectedLine.active) togglePauseLine($selectedLine); 
      //if (!$selectedLine.visible) toggleShowLine($selectedLine);
    • Abspeichern. Achtet darauf, dass ihr sie wirklich als linepanel.script speichert!
    • Wenn ihr die Datei in Schritt 1 extrahiert habt: Macht im GSFileViewer einen Rechtsklick auf die Datei linepanel.script und wählt "Exclude from Archive", macht dann einen Rechtsklick irgendwo hin und wählt "Add new content...". Im folgenden Fenster könnt ihr die ersten zwei Felder ignorieren, wählt im dritten die abgespeicherte .script-Datei und tragt dann im vierten Feld vor den Dateinamen ein "scripts\", sodass im letzten Feld dann steht
      Code
      scripts\linepanel.script

      Klickt OK.

    • Wählt im GSFileViewer oben "Save to new GS File..." an, speichert es irgendwo unter dem Originalnamen (lineStatisticsPlus.gs) und verschiebt diese .gs-Datei in euren addons-Ordner. Löscht vorher die originale lineStatisticsPlus.gs!

    Der Code, den ich hier zeige, ist aus der Modifikation von Banjobeni übernommen. Darf ich die modifizierte Scriptdatei oder gleich die ganze .gs hier veröffentlichen? Das würde es für Viele wohl leichter machen.
    Wenn Bilder gewünscht sind, kann ich noch Screenshots hochladen.

    2 Mal editiert, zuletzt von gojo (9. Februar 2013 um 14:30) aus folgendem Grund: Einleitende Bemerkungen hinzugefügt, Absätze korrigiert

    • Zitieren

Jetzt mitmachen!

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

Benutzerkonto erstellen Anmelden

Twitch

  1. Datenschutzerklärung
  2. Impressum
Community-Software: WoltLab Suite™