[Plugin] TimeSpeedChanger V1.3

  • Hello together,


    I present you my first plugin, written to get used to the Plugin API.
    With this plugin you can set the ingame time to current time and realtime timespeed (and more).



    Changes in V1.3

    • after server restart the timemode is now set properly (without admin logged in)
    • new command /tscsettime hh mm


    Changes in V1.2

    • removed bug: clock visibility setting was wrongly checked, resulting in an always visible clock on each start
    • removed bug: on every entered chat command (not restricted on this plugin commands) a status line was written to chat console
    • removed the status output on each start


    Changes in V1.1


    TimeSpeedChanger is now usable on server.
    Only an Administrator can control the plugin with slash commands then.



    Features

    • a digital clock on screen representing current realtime
    • 3 time modes: realtime, gametime and a special day-night mode
    • customizable via preferences file (command names, clock position and size etc.)

    Installation


    Extract the files from tsc.zip into the RisingWorld/plugins folder.
    It should look like this:

    Bash
    -- RisingWorld
    |
    |-- plugins
    |
    |-- timespeedchanger
    |- readme.txt
    |- tsc.jar
    |- tsc.prefs


    Usage


    Via chat console you can control the plugin with following slash commands:


    /tschelp

    • show this help page

    /tscclock

    • show/ hide realtime clock on screen

    /tscgametime

    • switch to normal ingame timespeed

    /tscrealtime

    • switch to current time and realtime timespeed

    /tscdaynight x.xx y.yy

    • set distinct timespeed for day (08:00-22:00) and night (22:00-08:00), the amount of realtime seconds for one ingame minute, f.e.:
      /tscdaynight 3.0 2.0 a minute at daytime takes 3 seconds, at night it takes 2 seconds


    /tscsettime hh mm

    • set the time of day, e.g.: /tscsettime 17 45


    Preferences


    The file "tsc.prefs" contains the following settings:


    command_help=tschelp
    command_clock=tscclock
    command_gametime=tscgametime
    command_realtime=tscrealtime
    command_daynight=tscdaynight
    command_settime=tscsettime

    • default command names, only letters please, no special characters like / (attention: with V1.1 it is not UTF-8-ready yet)

    mode=gametime

    • in which mode the game starts with (gametime, realtime or daynight)

    timespeed_day=1.75

    • the amount of realtime seconds an ingame minute takes during daytime (between 0.01 and 999.99)

    timespeed_night=1.75

    • the amount of realtime seconds an ingame minute takes during nighttime (between 0.01 and 999.99)

    clock_visible=true

    • the initial visible state of the clock the game starts with

    clock_posx=0.0

    • horizontal position of clock, between 0.0 (left) and 1.0 (right)

    clock_posy=1.0

    • vertical position, between 0.0 (bottom) and 1.0 (top)

    clock_size=20

    • font size (between 1 and 100)


    Notes


    The little clock on screen is only a "goodie". In later versions the clock maybe removed.


    If you want realtime speed but not the synchronized realtime then you can simply use:
    /tscdaynight 60 60
    and set the starting time of day, e.g.:
    /tscsettime 12 30
    The next time you restart your world, the game will continue with the time it was last ended.




    I hope you enjoy it


    Download Version 1.3:
    tsc_1.3.zip



    Sourcecode Version 1.3:
    tsc_1.3_src.zip



    Older Versions:


    Download Version 1.0: tsc.zip Source: tsc_src.zip
    Download Version 1.1: tsc_1.1.zip Source: tsc_1.1_src.zip
    Download Version 1.2: tsc_1.2.zip Source: tsc_1.2_src.zip

    Edited 12 times, last by Machete: V1.3 - after server restart the timemode is now set properly (without admin logged in) - new command /tscsettime ().

  • Ok, das Plugin nützt soweit mir eh nichts, da ich auf Server spiele ;D


    Aber trotzdem danke ;D


    -----------------------
    Not a plugin for me, I play only on a server.


    But thanks for the plugin ;D

  • Updated to V1.1, should run now also without problems on servers.


    If it runs on a server only the Admin should be able to configure the plugin, feedback is needed if it works properly,
    because I could not test it on a server! :)


    ----------------------------------------------------


    Auf Version 1.1 aktualisiert, sollte nun auch ohne Probleme auf Server laufen.


    Wenn es auf einem Server läuft, so sollte nur der Admin in der Lage sein, dieses Plugin zu konfigurieren.
    Dazu benötige ich noch Feedback, ob alles ordentlich funktioniert, weil ich es selbst nicht auf einem Server testen konnte! :)

  • Kann mir jemand die Funktionsweise dieses Plugins erklären?

    Wenn ich das richtig verstehe, kann man den Server oder halt dein Spiel auf Real Zeit stellen.


    Nachtrag: ich würde die help seite ein wenig kürzen und da die Commands unterbringen, ich wüsste nämluch nicht wie man den Chat scrollen könnte, damit man das was schon durchgelaufen ist, nochmal durchlesen kann.


    Sonst kann ich nichts negatives sagen bisher ;D

    Tschööö


    Bogus

    Edited once, last by Bogus ().

  • Kann mir jemand die Funktionsweise dieses Plugins erklären?

    Mit diesem Plugin kannst du die Dauer eines Tages im Spiel beeinflussen. In der Regel dauert eine Stunde ca. 2 echte Minuten.


    Du kannst z.B. den Realtime-Modus (/tscrealtime) aktivieren, dann würde die Uhr im Spiel auf deine echte Uhrzeit gestellt werden und eine Stunde würde auch tatsächlich eine echte Stunde dauern.


    Oder du hast sogar die Möglichkeit, die Geschwindigkeit für Tag und Nacht getrennt einzustellen.
    Angenommen, du bist eher ein Mondanbeter (nur angenommen :) ), dann könntest du, sagen wir mal als Beispiel:
    /tscdaynight 1.75 20
    in Chat eingeben und dann würde eine Stunde tagsüber 1.75 Minuten dauern, nachts jedoch dann 20 Minuten.



    Wenn ich das richtig verstehe, kann man den Server oder halt dein Spiel auf Real Zeit stellen.
    Nachtrag: ich würde die help seite ein wenig kürzen und da die Commands unterbringen, ich wüsste nämluch nicht wie man den Chat scrollen könnte, damit man das was schon durchgelaufen ist, nochmal durchlesen kann.


    Sonst kann ich nichts negatives sagen bisher ;D


    Im Chat kannst du folgendermaßen scrollen:
    Chat muss aktiv sein (also mittels Taste <T>) und dann kannst du mit den Tasten <Bild ▲> und <Bild ▼> rumscrollen.


    Ist nicht gerade die beste Lösung, den Chat für die Hilfe zu missbrauchen, aber ich wollte das Plugin einfach halten - auch für mich selbst, um erstmal "reinzukommen" in die Plugin-Erstellung! :)


    Ich bin gerade mit einem weiteren Plugin in Gange (womit man Vieh "züchten" kann), aber vllt. werde ich hier nochmal nachbessern.


    Für Verbesserungsvorschläge, Tipps und Anregungen wäre ich jederzeit dankbar, also falls euch was einfällt: immer her damit! :)

  • Hi!I looked and it's running fine.
    On a server only admins can control this plugin (and see the clock).
    In the server.properties file is there a chance that the admin is still defined by user name instead of the steam id?

    well I am the main admin and /tscclock doesn't work to turn the clock on for me and the night time speed up is not triggering. and unless you changed it, /tscclock I believe turns the clock on for everybody, or it did before the update. and how do I get the id numbers to replace the names with in server.properties?

  • @sharkbitefischer
    On the main menu top right corner you find your id, with a right click on it you can copy it and paste it in the server.properties.
    When I installed my test server I missed this too, but after replacing my name with the id, the clock was visible again.


    My server.properties-example:
    #Thu Feb 15 19:08:24 CET 2018
    admins=78961198061737524
    ...

  • I do not plan to adjust the date. Maybe not everyone would agree with a date change.
    But I would like to encourage you to supplement this on your own.
    The source code is available for free and you can modify it as you wish! :)

Participate now!

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