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

Gameplay-Mod: Automatische Mitarbeitergehälter

  • Trevor
  • 28. Februar 2011 um 23:10
  • Trevor
    Gast
    • 28. Februar 2011 um 23:10
    • #1

    Hallo zusammen,

    da ich es etwas nervig finde, ständig die Mitarbeiterzufriedenheit zu beobachten und dann die Gehälter zu erhöhen oder zu senken habe ich mir ein kleines Mod geschrieben.

    Falls ihr Lust habt könnt ihr das gerne mal testen ob das bei euch funktioniert und Feedback dazu geben.
    Habe mir auch Scripte für Fahrpreise etc. geschrieben. Wenn da Interesse besteht, könnte ich die als addon zur Verfügung stellen.


    Mitarbeiter-Gehälter:

    Das Script überprüft die Wirtschaftslage und berechnet daraus die Zufriedenheit der Mitarbeiter.
    Wenn die Zufriedenheit unter 75% sinkt ( gelber Smilie ) dann werden die Gehälter erhöht.
    Bei über 80% Zufriedenheit werden die Gehälter gesenkt.

    Die Datei "autostaff_1.0.gs" in den Addon Ordner "Cities in Motion\addons\" kopieren, fertig.


    Gruß Trevor


    EDIT: Neue Mod nutzen: Automatische Gehälter und/oder Ticketpreise

    Einmal editiert, zuletzt von Trevor (6. März 2011 um 12:02)

    • Zitieren
  • hannibal
    Anfänger
    Beiträge
    39
    Filebase Einträge
    3
    • 1. März 2011 um 00:35
    • #2

    Danke, werde ich heute nachmittag mal ausprobieren. Das ist eines der Dinge die mich gestört haben. Gibt es Konflikte mit anderen environment.script dh. schließen die sich gegenseitig aus und alles muss in eine Datei? Ich hab im Addon Ordner noch geänderte Verfügbarkeitsdaten für die DLC Vehikel.

    • Zitieren
  • karel53
    Fortgeschrittener
    Beiträge
    229
    Filebase Einträge
    3
    • 1. März 2011 um 02:08
    • #3

    Super!

    Habe es ausprobiert - schön, wie die Gehälter "von alleine" rauf und runter gehen :D

    Alter ist irrelevant, es sei denn, du bist eine Flasche Wein.
    (Joan Collins)

    • Zitieren
  • volcano
    Profi
    Beiträge
    773
    Filebase Einträge
    40
    • 1. März 2011 um 12:13
    • #4

    Ein lästiges Spielelement weniger. ^^

    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

    Einmal editiert, zuletzt von volcano (1. März 2011 um 15:03)

    • Zitieren
  • alibaba975
    Gast
    • 1. März 2011 um 13:33
    • #5
    Zitat von Trevor

    Habe mir auch Scripte für Fahrpreise etc. geschrieben. Wenn da Interesse besteht, könnte ich die als addon zur Verfügung stellen.

    da hätte ich Interesse dran.
    Da ich noch nicht zu Hause bin und testen konnte: kann man das script per Hotkey auch ausschalten?

    mfg

    alibaba975

    • Zitieren
  • Dagobert
    Schüler
    Beiträge
    65
    • 1. März 2011 um 14:26
    • #6
    Zitat

    da ich es etwas nervig finde, ständig die Mitarbeiterzufriedenheit zu beobachten und dann die Gehälter zu erhöhen oder zu senken habe ich mir ein kleines Mod geschrieben.

    Also da wo ich herkomme nent man das Hack und nicht Mod oO Schon lustig wie schnell es auch in diesem Spiel Cheater gibt oO

    • Zitieren
  • Duplicate LocoMH
    Schüler
    Beiträge
    120
    • 1. März 2011 um 14:38
    • #7

    Kann dir doch völlig egal sein, wie andere das Spiel spielen. Ich find das eine gute Idee!

    • Zitieren
  • Dagobert
    Schüler
    Beiträge
    65
    • 1. März 2011 um 14:48
    • #8

    Ja sonlange das Spiel ein reines Singelplayspiel ist, ist mir das wirklich relativ latz :D

    • Zitieren
  • hannibal
    Anfänger
    Beiträge
    39
    Filebase Einträge
    3
    • 1. März 2011 um 16:02
    • #9

    Funktioniert gut, danke!

    Zitat von Trevor

    Habe mir auch Scripte für Fahrpreise etc. geschrieben. Wenn da Interesse besteht, könnte ich die als addon zur Verfügung stellen.

    Das würde mich auch interessieren, werden die eingestellten Preise dann immer auf dem vom Spieler eingestelltem Niveau gehalten? Das wäre Perfekt!

    • Zitieren
  • Trevor
    Gast
    • 1. März 2011 um 21:13
    • #10
    Zitat

    Also da wo ich herkomme nent man das Hack und nicht Mod oO Schon lustig wie schnell es auch in diesem Spiel Cheater gibt oO


    Naja :) Als Hack müsste man dann viele Mods bezeichnen, aber da das Spiel eh ein Singleplayergame ist, wurscht oder....

    Zitat

    Das würde mich auch interessieren, werden die eingestellten Preise dann immer auf dem vom Spieler eingestelltem Niveau gehalten? Das wäre Perfekt!


    Ja, das war meine Idee dahinter, die Fahrpreise bleiben immer im "weissen" Bereich knapp unter dem wo sie rot werden.
    Das habe ich aber noch irgendwo in den Originalscripts eingebaut als ich mir die Ticketpreise zum ändern direkt auf die Haupt UI gesetzt habe..

    diesellokheizer2_20120521_0053.jpg

    • Zitieren
  • Kopernikus
    Gast
    • 1. März 2011 um 21:23
    • #11

    Vielen Dank. Das ewige auf die Gehälter und Preise schauen hat genervt.

    • Zitieren
  • alibaba975
    Gast
    • 1. März 2011 um 22:45
    • #12
    Zitat von Trevor

    als ich mir die Ticketpreise zum ändern direkt auf die Haupt UI gesetzt habe..

    Welche Datei hast Du dafür ändern müssen?

    MfG

    alibaba975

    • Zitieren
  • Trevor
    Gast
    • 1. März 2011 um 23:01
    • #13
    Zitat

    Welche Datei hast Du dafür ändern müssen?

    Irgendeine Datei im UI Ordner. Ich hab meine scripte alle in die "moneybar" eingebaut, da das Script immer aktiv ist. Probiers aus. Vom Prinzip her kann man sich die ganze UI umbauen...

    Beispiel:

    Code
    $bgtest = MAIN.$ui.createHudElement(int(($desktop.width - 700) * 0.5), int(($desktop.height - 420) * 0.5), 700, 420, 1 | 2 | 4 | 8);


    Erzeugt ein Fenster in der Mitte des Bildschirms (ist die Größe des Jahresberichtsfenster).

    • Zitieren
  • Hasi105
    Anfänger
    Beiträge
    5
    • 1. März 2011 um 23:01
    • #14

    Super gemacht ! Danke (*bedankomat vordert*)

    • Zitieren
  • alibaba975
    Gast
    • 1. März 2011 um 23:59
    • #15

    wäre es Dir möglich den Code mir per pm zusenden für die anzeige der Preise wie in Deinen Screenshot? Ich hab soweit verstanden wo es rein muss, hab auch schon versucht Teile des policy.script zu übernehmen...

    • Zitieren
  • Trevor
    Gast
    • 2. März 2011 um 00:23
    • #16

    Ist kein Staatsgeheimnis :)


    Das hier in die Datei "Moneybar.script" dann hast du das auf dem Screenshot...

    Code
    // "Ticket-BAR" 
    $vehicleItemsneu = []; 
    $baseTicketPrices = [380, 420, 520, 650, 1250]; 
    $ticketPriceColors = [0xFF00C000, 0xFF40FF40, 0xFF80FF80, 0xFFFFFFFF, 0xFFFF8080, 0xFFFF4040, 0xFFC00000]; 
    $bgneu = MAIN.$ui.createHudElement($desktop.width - 315, $desktop.height - 268 , 300, 40, 1 | 2); 
    with ($vehiclesAreaneu = new_control($bgneu)) { 
    .setRect(5, 0, $bg.width-18, 100); 
    .visible = true; 
    .canActivate = false; 
    } 
    with ($ticketPriceTitleneu = new_control($vehiclesAreaneu)) { 
    .setRect(8, 0, 40, 40); 
    .setImage("metro/ui/hqpanel/handshake.dds"); 
    .setCropRect(12.0 / 64.0, 12.0 / 64.0, 40.0 / 64.0, 40.0 / 64.0); 
    .visible = true; 
    .canActivate = false; 
    } 
    function createVehicleItemneu($type, $id) { 
    with ($header = new_control($vehiclesAreaneu)) { 
    .setRect($type * 44 + 55, 20, 44, 28); 
    .setCropRect(12.0 / 64.0, 12.0 / 64.0, 42.0 / 64.0, 42.0 / 64.0); 
    .visible = true; 
    .canActivate = false; 
    } 
    with ($header.$ticketPrice = MAIN.$ui.createNumberEdit($vehiclesAreaneu, $type * 44 + 55, 8, 44, 28, 10, 9950, (MAIN.$gameData.$ticketPrices[$type] >= 1000) ? 50 : 10, $strings.$policy_ticket_pattern, MAIN.$gameData.$ticketPrices[$type])) { 
    .maxTextLength = 4; 
    .$action = macro($type, $header.$ticketPrice) :: changeTicketPrice($0, $1.$value); 
    .setMargins(1, 0, 0, 0); 
    .background = 0x30000000; 
    } 
    $vehicleItemsneu[] = $header; 
    setTicketPriceColor($type); 
    } 
    function changeTicketPrice($type, $value) { 
    $vehicleItemsneu[$type].$ticketPrice.$step = ($value >= 1000) ? 50 : 10; 
    MAIN.$gameData.$ticketPrices[$type] = $value; 
    foreach ($grid.lines.children()) { 
    .ticketPrice = MAIN.$gameData.$ticketPrices[.type]; 
    } 
    setTicketPriceColor($type); 
    MAIN.$hqpanel.$tabs[3].$vehicleItems[$type].$ticketPrice.$value = MAIN.$gameData.$ticketPrices[$type]; 
    MAIN.$hqpanel.$tabs[3].setTicketPriceColor($type); 
    } 
    function setTicketPriceColor($type) { 
    $temp = int($baseTicketPrices[$type] * (1.0 + MAIN.$gameData.$economyHistory[#MAIN.$gameData.$economyHistory-7] * 0.05)); 
    $temp = (MAIN.$gameData.$ticketPrices[$type] - $temp) * 10 / $temp; 
    MAIN.$ui.setTextFont($vehicleItemsneu[$type].$ticketPrice, $ticketPriceColors[clamp($temp + 3, 0, 6)]); 
    } 
    thread "gameUI" :: loop { 
    wait 0.51; 
    for ($i = 0; $i < 5; ++$i) { 
    $vehicleItemsneu[$i].$ticketPrice.$value = MAIN.$gameData.$ticketPrices[$i]; 
    setTicketPriceColor($i); 
    } 
    }; 
    createVehicleItemneu(0, "bus"); 
    createVehicleItemneu(1, "tram"); 
    createVehicleItemneu(2, "metro"); 
    createVehicleItemneu(3, "waterbus"); 
    createVehicleItemneu(4, "helicopter"); 
    // ENDE "TICKET BAR"
    Alles anzeigen
    • Zitieren
  • hannibal
    Anfänger
    Beiträge
    39
    Filebase Einträge
    3
    • 2. März 2011 um 16:26
    • #17
    Zitat von Trevor

    Zitat Das würde mich auch interessieren, werden die eingestellten Preise dann immer auf dem vom Spieler eingestelltem Niveau gehalten? Das wäre Perfekt!

    Ja, das war meine Idee dahinter, die Fahrpreise bleiben immer im "weissen" Bereich knapp unter dem wo sie rot werden.
    Das habe ich aber noch irgendwo in den Originalscripts eingebaut als ich mir die Ticketpreise zum ändern direkt auf die Haupt UI gesetzt habe..

    Nicht ganz, ich hatte gehofft das einfach eingestellte Levels beibehalten werden. Also wenn ich die Preise in den rosa Bereich knapp unter rot lege, würde ich mir wünschen das die dort bleiben. Ich melke meine Fahrgäste dafür lass ich lieber einen zusätzlichen Zug laufen oder stell die Wartung höher ein. :D

    • Zitieren
  • BASTIAN
    Anfänger
    Beiträge
    3
    • 2. März 2011 um 17:28
    • #18

    Gut'n'!

    Das Tool wirkt ausgezeichnet, jedoch "befürchete" ich, dass ich auch deshlab zum Desktop beim zweiten Abspeichern gelangte, ist dies möglich?

    • Zitieren
  • lowwriter
    Anfänger
    Beiträge
    34
    • 2. März 2011 um 17:42
    • #19
    Zitat von BASTIAN

    Gut'n'!

    Das Tool wirkt ausgezeichnet, jedoch "befürchete" ich, dass ich auch deshlab zum Desktop beim zweiten Abspeichern gelangte, ist dies möglich?


    Bei mir läufts weiterhin stabil. Das einzige mal, dass mir das passiert ist, war vor der Mod.

    • Zitieren
  • Kopernikus
    Gast
    • 2. März 2011 um 18:36
    • #20

    Kann es sein, dass man nicht wie in der Textdatei im gepackten Archiv beschrieben die gs-Datei ins Verzeichnis /addons sondern direkt ins CiM-Verzeichnis packen muss?

    PS. Bei mir passiert leider nichts automatisch. Egal wohin ich die Datei packe.

    Einmal editiert, zuletzt von Kopernikus (2. März 2011 um 18:39)

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