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: Skylines
  5. Modding
  6. Moddinghilfe

Einsteigerhilfe c# modding erbeten

  • Ivan1914
  • 21. März 2015 um 11:19
  • Ivan1914
    Fortgeschrittener
    Beiträge
    177
    • 21. März 2015 um 11:19
    • #1

    Hallo zusammen,

    auch wenn ich bislang nur absolutes Basiswissen (wenn man das überhaupt so sagen darf) in c habe versuche ich gerade die Mechanik dahinter zu verstehen um CSL ein wenig modden zu können.

    Zunächst geht es mir um die Erhöhung der ÖPNV-Fahrzeugkapazitäten.

    Seit gestern habe ich einen Mod, die die Buskapazität von 30 auf 60 erhöht, habe die .dll's decompiliert und versuche nun im ersten Schritt testweise die Kapazizät auf 100 zu erhöhen.

    Die von mir verwendete Grundlage benötigt eine zweite Mod, die wiederum in der Kapazitäten-Mod aufgerufen werden muss.

    Nun habe ich es geschafft, die erste Mod zu kompilieren (.dll wird erstellt) aber wenn ich versuche sie in der zweiten Mod aufzurufen (using) bekomme ich den Fehler, dass der Compiler sie nicht finden kann.

    Kann mir an dieser Stelle bitte kurz jemand helfen, wie ich den Aufruf hinbekomme?
    Hier die entsprechenden Dateien als Source:

    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Am Beispiel: SkylineUtils.dll wird vom Compiler erstellt, aber ich kann "using SkylineUtils;" in SkyTL.cs nicht aufrufen.

    Bitte entschuldigt die fürchterliche Terminologie, ich bin wie gesagt kein Programmierer :)

    Falls jemand helfen kann, bin ich sehr dankbar. Google hilft mir gerade nicht wirklich weiter.

    P.S.: da die ursprüngliche Mod nicht von mir ist habe ich auch nicht vor, Änderungen zu veröffentlichen. Es geht mir nur um's learning by doing - fange wie gesagt bei scratch an.


    Edit: sofern es nicht zuviel arbeit macht hätte ich auch noch eine Frage dazu. An welcher Stelle greift das Script eigentlich auf den "Originalbus" im Spiel zu? Ist das BusAI? (zeile 11+19 in skyTL.cs)?

    Sag mir was Du von mir hälst und ich sag Dir, was Du mich kannst. :whistling:

    2 Mal editiert, zuletzt von Ivan1914 (21. März 2015 um 11:30)

    • Zitieren
  • Satan
    Schüler
    Beiträge
    74
    Filebase Einträge
    1
    • 21. März 2015 um 18:18
    • #2

    Ohne es jetzt ausprobiert zu haben, ich bin mir nicht sicher ob man Mods untereinander referenzieren kann, eventuell könnte es funktionieren, wenn beide Mods im selben Ordner liegen. Es gibt ja grundsätzlich 2 Methoden die Mods zu bauen. So wie du es machst - über einzelne .cs Dateien - kompiliert das Spiel diese selber. Ob es dabei eine Möglichkeit gibt die dlls untereinander zu referenzieren habe ich in der Modding API jetzt nicht gefunden.
    Die andere Möglichkeit ist, selbst eine dll zu kompilieren, dazu wäre eine Entwicklungsumgebung (IDE) wie das Visual Studio nötig. Dann kannst du den anderen Mod - sofern er in Form einer dll vorliegt - in deinem Projekt referenzieren. Aber auch dann müsste der referenzierte Mod als dll neben deinem liegen.

    Es geht natürlich auch ohne IDE, die MSBuild.exe liegt jedem .NET Framework bei das in Windows dabei ist. DIeser Weg ist aber recht kompliziert, wenn man wenig Entwicklererfahrung hat.

    Probier erst mal aus beide Mods in einen Ordner zu legen.

    Zu deiner Frage, ja die Funktion CreateVehicle wird überschrieben, diese erzeugt das Fahrzeug und an dieser Stelle wird auch die Kapazität mit 100 überschrieben (in deinem Archiv Beispiel).

    Greetings from Hell
    Satan

    • Zitieren
  • Ivan1914
    Fortgeschrittener
    Beiträge
    177
    • 21. März 2015 um 19:13
    • #3

    Juhu eine Antwort. Danke Satan!

    Wie ich schrieb habe ich die Mod ja kompiliert heruntergeladen.

    Im Originalzustand gibt es 2 Mod-Verzeichnisse genauso wie in meiner .rar und anstelle des Sourcecodes (wie bei mir) liegt nur je eine .dll im Verzeichnis. Die \source\ Verzeichnisse und die *usermod.cs habe ich selber erstellt. die erste .dll auf die im zweiten, wichtigen, Mod zugegriffen wird kompiliert er mir, nur die zweiter leider nicht aufgrund des nicht funktionierenden Verweises.

    Sag mir was Du von mir hälst und ich sag Dir, was Du mich kannst. :whistling:

    • 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™