Zeige Ergebnis 1 bis 9 von 9
  1. #1
    Benutzerbild von ToSMaster
    Registriert seit
    Jul 2008
    Ort
    Bochum
    BNet Account
    ToS-Master
    Beiträge
    2.392

    ToS Zeitsystem

    ToS Zeitsystem

    Vorwort
    Dieses Zeitsystem hab ich extra für unseren sensigen Derwisch gemacht. Aber ihr dürft es auch gern verwenden. Aber bitte credits geben

    Was ist das?
    Werden sich nun viele von euch fragen. Nun, lasst es mich erklären. Ihr wollt eure Map mit einem Zeitsystem verbinden? Das die Zeit misst, und Einheiten diese beeinflussen können, oder von ihr beeinflusst werden?
    Dann hab ich was für euch?

    Features
    Das System fragt Sekunden, Minuten und Stunden ab. Außerdem zählt es die Tage. Das System ist komplett veränderbar. Ihr könnt am Anfang festlegen, wie viele Sekunden die Minute hat, wie viele Minuten die Stunde hat, und wie viele Stunden der Tag hat, und wie lange eine Sekunde ist. In dem beigefügten Multibord wird außerdem festgehalten wie Spät es ist (Keine Sekunden!). Außerdem gibt es eine graphische Umsetzung der Uhr. Eine Leiste füllt sich immer weiter, und wenn diese voll ist, ist eine Stunde um. So können die Spieler sich schnell ein Bild davon machen wie spät es ist, und wie lange es noch bis zur nächsten Stunde ist. Des weiteren richtet sich das System nach der echten Uhr von Warcraft III.

    Die Stunden spielen eine besondere Rolle. Es gibt eine extra Funktion, welche jede ingame-Stunde aufgerufen wird. Diese kann dann weitere, zeitabhängige Aktionen ausführen. Beispielsweise: um 8 Uhr kommt der Briefträger. Oder um 11 Uhr geht der Bauer die Kühe melken.

    Der Code
    Wenn ihr den Code wollt, dann lest ihn doch. Er ist in GUI geschrieben. Der Code verwendet nur 4 Trigger, und 8 Variablen. Das bedeutet, das er sehr einfach, aber dennoch effecktiv ist. Ihr könnt ihn verändern, und an eure Bedürfnisse anpassen:

    Der Code

    Init System
    Ereignisse
    Map initialization
    Bedingungen
    Aktionen
    -------- Variablen --------
    Set Minuten_Pro_Stunde = 30
    -------- Für Korrekte Anzeige der Zeit auf dem Multibord sollten die Minuten pro Stunde maximal 40 betragen. Emfehlenswert: 30 --------
    Set Stunden_pro_Tag = 10
    -------- Die Stunden pro Tag, sollten auch in den Gameplaykonstanten angeglichen sein. --------
    Set Sekunden_Pro_Minute = 1.00
    Set Vergangende_Tage = 1
    -------- Init System --------
    Auslöser - Add to Time pases <gen> the event (Zeit - Every Sekunden_Pro_Minute seconds of game time)
    Spiel - Set the time of day to (Real(Vergangende_Stunden))
    Spiel - Turn the day/night cycle Aus



    Init Multibord
    Ereignisse
    Zeit - Elapsed game time is 0.00 seconds
    Bedingungen
    Aktionen
    Multiboard - Create a multiboard with 2 columns and 2 rows, titled Time
    Set Multibord = (Last created multiboard)
    Multiboard - Set the display style for Multibord item in column 0, row 0 to Zeigen text and Verbergen icons
    Multiboard - Set the width for Multibord item in column 0, row 0 to 5.00% of the total screen width
    Multiboard - Set the width for Multibord item in column 1, row 2 to 10.00% of the total screen width
    Multiboard - Set the text for Multibord item in column 1, row 1 to ((Day + (String(Vergangende_Tage))) + :)
    Multiboard - Set the text for Multibord item in column 2, row 1 to ((String(Vergangende_Stunden)) + (: + (String(Vergangende_Minuten))))
    Multiboard - Set the text for Multibord item in column 1, row 2 to <Leerer String>
    Multiboard - Minimieren Multibord
    Multiboard - Maximieren Multibord
    Auslöser - Run Time pases <gen> (checking conditions)



    Time pases
    Ereignisse
    Bedingungen
    Aktionen
    Set Vergangende_Minuten = (Vergangende_Minuten + 1)
    Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
    'IF'-Bedingungen
    Vergangende_Minuten Gleich (==) Minuten_Pro_Stunde
    'THEN'-Aktionen
    Set Vergangende_Stunden = (Vergangende_Stunden + 1)
    Set Vergangende_Minuten = 0
    Spiel - Set the time of day to (Real(Vergangende_Stunden))
    Auslöser - Run Time actions <gen> (ignoring conditions)
    Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
    'IF'-Bedingungen
    Vergangende_Stunden Gleich (==) Stunden_pro_Tag
    'THEN'-Aktionen
    Set Vergangende_Tage = (Vergangende_Tage + 1)
    Set Vergangende_Stunden = 0
    Multiboard - Set the text for Multibord item in column 1, row 1 to ((Day + (String(Vergangende_Tage))) + :)
    Spiel - Set the time of day to (Real(Vergangende_Stunden))
    'ELSE'-Aktionen
    'ELSE'-Aktionen
    Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
    'IF'-Bedingungen
    Vergangende_Minuten Kleiner als (<) 10
    'THEN'-Aktionen
    Multiboard - Set the text for Multibord item in column 2, row 1 to ((String(Vergangende_Stunden)) + (: + (0 + (String(Vergangende_Minuten)))))
    'ELSE'-Aktionen
    Multiboard - Set the text for Multibord item in column 2, row 1 to ((String(Vergangende_Stunden)) + (: + (String(Vergangende_Minuten))))
    Multiboard - Set the text for Multibord item in column 1, row 2 to <Leerer String>
    Set TempString = <Leerer String>
    Do Multiple ActionsFor each (Integer A) from 1 to Minuten_Pro_Stunde, do (Actions)
    Schleifen - Aktionen
    Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
    'IF'-Bedingungen
    (Integer A) Kleiner gleich (<=) Vergangende_Minuten
    'THEN'-Aktionen
    Set TempString = (TempString + |cff1FBF00l|r)
    'ELSE'-Aktionen
    Set TempString = (TempString + |cff949596l|r)
    Multiboard - Set the text for Multibord item in column 1, row 2 to TempString



    Time actions
    Ereignisse
    Bedingungen
    Aktionen
    -------- Hier werden nur die Zeiten abgefragt, und die Endsprechenden Aktionen ausgeführt --------
    Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
    'IF'-Bedingungen
    Vergangende_Stunden Gleich (==) 8
    'THEN'-Aktionen
    Auslöser - Run Show Wolfs <gen> (checking conditions)
    'ELSE'-Aktionen
    Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
    'IF'-Bedingungen
    Vergangende_Stunden Gleich (==) 2
    'THEN'-Aktionen
    Auslöser - Run Hiede Wolfs <gen> (checking conditions)
    'ELSE'-Aktionen



    Nun, diese beiden Trigger "Show Wolves", und "Hide Wolves" sind für die Beispielmap, von der ihr euch das System holen könnt. Aproppos, Beispielmap... :

    Die Beispielmap
    Ich habe eine extra Beispielmap für euch angefertigt. Damit könnt ihr das System auf Herz und Nieren prüfen.

    In der Beispielmap gibt es auch ein Beispielquest. Man muss drei Wölfe töten. Aber nun das Problem: Die Wölfe tauchen nur zwischen 2 und 8 auf. Das bedeutet: Man muss rechtzeitig auftauchen
    Des weiteren ist auf der Beispielmap die Zeit etwas anders als normal. Der Tag hat nur 10 Stunden, und die Stunde hat nur 30 minuten, wobei jede Minute aus einer Sekunde besteht. Ja, all dies ist machbar.

    Für alle die's interesiert: Hier sind noch ein paar screens:
    Screenshots













    Download Beispielmap
    Download by Rapidshare
    Download by Megaupload

  2. #2
    Staff Maps
    Projektbetreuung

    Mappinghelfer des Monats
    Benutzerbild von Der sensige Derwisch
    Registriert seit
    Apr 2009
    Ort
    irgendwo im nirgendwo
    BNet Account
    Der_Wisch
    Beiträge
    2.487
    schön das es endlich fertig ist ^^

    werd es mal testen sobald ich zuhause bin

    aber könnte man das mit dem balken irgendwie ändern?
    (weis ja nich wie das aussieht, die bilder werden irgendwie nicht gelden...)

  3. #3
    Benutzerbild von N0BY
    Registriert seit
    Apr 2008
    Ort
    BaLi
    BNet Account
    N0BY
    Beiträge
    526
    ähm, bist du dir sicher das die Zeile

    Code:
    Auslöser - Run Time pases <gen> (checking conditions)
    in den Trigger 'Init Multibord' rein gehört ?

    Ich mein, du startest das Spiel und schon ist eine Minute vergangen...

  4. #4
    Benutzerbild von ToSMaster
    Registriert seit
    Jul 2008
    Ort
    Bochum
    BNet Account
    ToS-Master
    Beiträge
    2.392
    ja, da bin ich sicher.
    in dem "Time Pases", werden die Texte und so für das Multibord den Variablen und der vergangenden Zeit angepasst. Ebenso wie die Zeitleiste, die einem sagt, wann die nächste Stunde beginnt. Deshalb ist das wichtig.

    Und außerdem: ist es nicht egal, ob das Spiel nun um 0:00, oder um 0:01 Beginnt?

  5. #5
    Benutzerbild von meOme
    Registriert seit
    Apr 2005
    BNet Account
    meOme
    Beiträge
    1.023
    Man kann "Vergangende_Minuten" ja auch einfach den Startwert -1 geben.
    Das Volumen einer Pizza mit Radius z und Höhe a ist Pi*z*z*a.
    Projekte
    Heroes of Eloryn Orpg - mehr Infos bald! ...oder auch später :3

    Zitate
    Original geschrieben von CLeo2
    SuFu benutzen, auch deine zukünftigen Fragen wurden schon gestellt.

    Original geschrieben von Fosssy
    was erwartet ihr?
    Dies ist das "inwc.de" forum, mit der beschissensten community die mir bekannt ist...

  6. #6
    Benutzerbild von ToSMaster
    Registriert seit
    Jul 2008
    Ort
    Bochum
    BNet Account
    ToS-Master
    Beiträge
    2.392
    ja, das sowiso
    btw, keine schlechte kritik? Das gefällt mir, da schein ich ja ausnahmsweise mal was richtig gemacht zu haben

  7. #7
    t0pcraft-
    Guest
    <Ensert Name Here> = Epic Win!

    OT: Witziges System, gibt aber soweit ich weiß auch more advanced systems.

  8. #8
    gexxo
    Guest
    Dumme frage: Hat Warcraft 3 nicht ein Zeitsystem, dass man beliebig schnell oder langsam machen kann und auch die Tageszeit exakt abfragen?

    PS:
    Bitte bezeichne GUI-aktionenhaufen nicht als code :P (und sag nicht dass er geschrieben ist, er ist geklickt) << sorry musste sein, nicht bös gemeint

  9. #9
    Benutzerbild von ToSMaster
    Registriert seit
    Jul 2008
    Ort
    Bochum
    BNet Account
    ToS-Master
    Beiträge
    2.392
    Original geschrieben von gexxo
    PS:
    Bitte bezeichne GUI-aktionenhaufen nicht als code :P (und sag nicht dass er geschrieben ist, er ist geklickt) << sorry musste sein, nicht bös gemeint
    ok

    Original geschrieben von gexxo
    Dumme frage: Hat Warcraft 3 nicht ein Zeitsystem, dass man beliebig schnell oder langsam machen kann und auch die Tageszeit exakt abfragen?
    joah, hatt es. aber es zählt nicht die vergangenden Tage mit
    und mein system wird nochmal durch ein Multibord unterstützt, und wir sehen sehr gut, wie viel Zeit noch vergehen muss, bis die nächste Stunde anbricht.
    Und außerdem ist dieses System leichter abzufragen, und bietet dem Benutzer viele Möglichkeiten die Zeit per Spells zu manipulieren (siehe Beispielmap) und spetielle Quests nur zu spetieller Zeit möglich zu machen (siehe Beispielmap).

Forumregeln

  • Es ist dir nicht erlaubt, neue Themen zu verfassen.
  • Es ist dir nicht erlaubt, auf Beiträge zu antworten.
  • Es ist dir nicht erlaubt, Anhänge hochzuladen.
  • Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
  •