inWarcraft Forum  

Zurück   inWarcraft Forum > Allgemeine Foren > Mapping Foren > Material

Antwort
 
Themen-Optionen Ansicht
Alt 25. Oktober 2009, 12:17   #1
ToSMaster
 
Benutzerbild von ToSMaster
Priest
 
Registriert seit: Jul 2008
Ort: Bochum
BNet Acc: ToS-Master
Beiträge: 2.392
ToS Zeitsystem

Advertising
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
__________________


Wichtiges: Post-Tutorial | Unser BB-Code | Mein KI-Tutorial
ToSMaster ist offline   Mit Zitat antworten
Alt 26. Oktober 2009, 10:27   #2
Der sensige Derwisch
 
Benutzerbild von Der sensige Derwisch
Staff Maps
Projektbetreuung

Mappinghelfer des Monats
 
Registriert seit: Apr 2009
Ort: irgendwo im nirgendwo
BNet Acc: 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...)
__________________
Der sensige Derwisch ist offline   Mit Zitat antworten
Alt 27. Oktober 2009, 02:25   #3
N0BY
 
Benutzerbild von N0BY
Skeletal Mage
 
Registriert seit: Apr 2008
Ort: BaLi
BNet Acc: 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...
N0BY ist offline   Mit Zitat antworten
Alt 27. Oktober 2009, 08:23   #4
ToSMaster
 
Benutzerbild von ToSMaster
Priest
 
Registriert seit: Jul 2008
Ort: Bochum
BNet Acc: 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?
__________________


Wichtiges: Post-Tutorial | Unser BB-Code | Mein KI-Tutorial
ToSMaster ist offline   Mit Zitat antworten
Alt 27. Oktober 2009, 08:31   #5
meOme
 
Benutzerbild von meOme
Demolisher
 
Registriert seit: Apr 2005
BNet Acc: 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...
meOme ist offline   Mit Zitat antworten
Alt 27. Oktober 2009, 12:29   #6
ToSMaster
 
Benutzerbild von ToSMaster
Priest
 
Registriert seit: Jul 2008
Ort: Bochum
BNet Acc: 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
__________________


Wichtiges: Post-Tutorial | Unser BB-Code | Mein KI-Tutorial
ToSMaster ist offline   Mit Zitat antworten
Alt 04. November 2009, 18:18   #7
t0pcraft-
Guest
 
Beiträge: n/a
<Ensert Name Here> = Epic Win!

OT: Witziges System, gibt aber soweit ich weiß auch more advanced systems.
  Mit Zitat antworten
Alt 04. November 2009, 23:07   #8
gexxo
Guest
 
Beiträge: n/a
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
  Mit Zitat antworten
Alt 05. November 2009, 08:12   #9
ToSMaster
 
Benutzerbild von ToSMaster
Priest
 
Registriert seit: Jul 2008
Ort: Bochum
BNet Acc: ToS-Master
Beiträge: 2.392
Zitat:
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

Zitat:
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).
__________________


Wichtiges: Post-Tutorial | Unser BB-Code | Mein KI-Tutorial
ToSMaster ist offline   Mit Zitat antworten
Antwort

Themen-Optionen
Ansicht

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.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:01 Uhr.


Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.


ingame Netzwerk
Support | AGB | Probleme mit der Werbung melden
Online Werbung | Mediadaten | Unternehmen | Karriere | Presse | Impressum

© ingame GmbH, ingame™, in™ und incup™ sind eingetragene Markenzeichen der ingame GmbH. Verwendung von Inhalten nur mit schriftlicher Genehmigung.