1. Dashboard
  2. Forum
  3. Filebase
  4. Lexicon
  5. Articles
  6. Rating system
  7. Members
    1. Recent Activities
    2. Users Online
    3. Team
    4. Search Members
  8. Zur Transport Fever Community
  • Login
  • Register
  • Search
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • Filebase Entry
  • Lexikon
  • Article (Rating System)
  • More Options
  1. WiSim Welt
  2. Forum
  3. Spiele
  4. Cities in Motion
  5. Modding und Erweiterungen
  6. Tools & more

Gameplay-Mod: Automatische Mitarbeitergehälter

  • Trevor
  • February 28, 2011 at 11:10 PM
  • Trevor
    Guest
    • February 28, 2011 at 11:10 PM
    • #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

    Edited once, last by Trevor (March 6, 2011 at 12:02 PM).

    • Quote
  • hannibal
    Beginner
    Posts
    39
    Filebase Entries
    3
    • March 1, 2011 at 12:35 AM
    • #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.

    • Quote
  • karel53
    Intermediate
    Posts
    229
    Filebase Entries
    3
    • March 1, 2011 at 2:08 AM
    • #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)

    • Quote
  • volcano
    Professional
    Posts
    773
    Filebase Entries
    40
    • March 1, 2011 at 12:13 PM
    • #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

    Edited once, last by volcano (March 1, 2011 at 3:03 PM).

    • Quote
  • alibaba975
    Guest
    • March 1, 2011 at 1:33 PM
    • #5
    Quote from 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

    • Quote
  • Dagobert
    Student
    Posts
    65
    • March 1, 2011 at 2:26 PM
    • #6
    Quote

    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

    • Quote
  • Duplicate LocoMH
    Student
    Posts
    120
    • March 1, 2011 at 2:38 PM
    • #7

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

    • Quote
  • Dagobert
    Student
    Posts
    65
    • March 1, 2011 at 2:48 PM
    • #8

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

    • Quote
  • hannibal
    Beginner
    Posts
    39
    Filebase Entries
    3
    • March 1, 2011 at 4:02 PM
    • #9

    Funktioniert gut, danke!

    Quote from 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!

    • Quote
  • Trevor
    Guest
    • March 1, 2011 at 9:13 PM
    • #10
    Quote

    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....

    Quote

    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

    • Quote
  • Kopernikus
    Guest
    • March 1, 2011 at 9:23 PM
    • #11

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

    • Quote
  • alibaba975
    Guest
    • March 1, 2011 at 10:45 PM
    • #12
    Quote from 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

    • Quote
  • Trevor
    Guest
    • March 1, 2011 at 11:01 PM
    • #13
    Quote

    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).

    • Quote
  • Hasi105
    Beginner
    Posts
    5
    • March 1, 2011 at 11:01 PM
    • #14

    Super gemacht ! Danke (*bedankomat vordert*)

    • Quote
  • alibaba975
    Guest
    • March 1, 2011 at 11:59 PM
    • #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...

    • Quote
  • Trevor
    Guest
    • March 2, 2011 at 12:23 AM
    • #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"
    Display More
    • Quote
  • hannibal
    Beginner
    Posts
    39
    Filebase Entries
    3
    • March 2, 2011 at 4:26 PM
    • #17
    Quote from 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

    • Quote
  • BASTIAN
    Beginner
    Posts
    3
    • March 2, 2011 at 5:28 PM
    • #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?

    • Quote
  • lowwriter
    Beginner
    Posts
    34
    • March 2, 2011 at 5:42 PM
    • #19
    Quote from 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.

    • Quote
  • Kopernikus
    Guest
    • March 2, 2011 at 6:36 PM
    • #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.

    Edited once, last by Kopernikus (March 2, 2011 at 6:39 PM).

    • Quote

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!

Register Yourself Login

Twitch

  1. Privacy Policy
  2. Legal Notice
Powered by WoltLab Suite™