[Tutorial] Die guten alten Dialogs

Habt ihr Fragen zum Galaxy Editor, oder möchtet ihr eure Karte vorstellen? Alles was mit dem Thema Editor und Modding zu tun hat, gehört hier rein.

Moderatoren: Exekutor[NHF], Deathwing, GarfieldKlon, G A F, SaVi

Antworten
Soraphis
Zergling
Beiträge: 26
Registriert: 29.04.2010, 17:48
Liga 2vs2: Diamant
Kontaktdaten:

[Tutorial] Die guten alten Dialogs

Beitrag von Soraphis »

Editierte version:1/2 Mai 2010

####Was sind Dialogs?
Dialoge(engl. Dialogs) sind fenster, ähnlich dem menü das ihr während dem spiel (über F10) aufrufen könnt. Seit Warcraft3 haben sich die möglichkeiten, Dialoge zu gestalten stark vermehrt.

####Benötigte Vorkenntnisse
Variablen anlegen (unterschied global/lokal); das wichtigste jedoch ist (wie immer bei mir) das gehirn


###
# Tutorial Part 1 :: Der Quest-Annehmen? Dialog
###


[Globale Variablen]
Typ: DialogObjekt | mit array

so sieht der trigger zum erstellen aus:
Trigger 1:Dialog Create
[ereignis]
EINHEIT[]-Held Betritt eine Entfernung von 1.0 zu Ghost [22.20,55.79] ereignis ist frei wählbar, ich hab den "helden" zu einem questgeber laufen gelassen//dieses ereignis ist ohne text aber mit beschreibung
[lokale variablen]
[bedingung]
[aktion]
EINHEIT -Alle Einheiten Pause
DIALOG[Dialog Erstellen]-Einen Modal Dialog mit der Größe (500, 400) bei (0, 0) relativ zu Mitte des Bildschirms erstellen
DIALOG[Titel festlegen]-Titel von (Zuletzt erstellter Dialog) zu "Quest Annehmen" setzen

DIALOG[Dialogobjekt erstellen]-Erstelle Button für den Dialog (Zuletzt erstellter Dialog)
DIALOG[DO-Text festlegen]-Text von (Zuletzt erstelltes Dialogobjekt) auf "Ablehnen" für (Alle Spieler) festlegen
DIALOG[DO-Größefestlegen]-Größe von (Zuletzt erstelltes Dialogobjekt) auf (300, 50) für (Alle Spieler)
DIALOG[DO-verschieben]-(Zuletzt erstelltes Dialogobjekt) relativ zu Mitte von Dialog für (Alle Spieler) nach (0, 25) verschieben
Variable-Quest 1 DialogObjekt[0] = (Zuletzt erstelltes Dialogobjekt) festlegen

DIALOG[Dialogobjekt erstellen]-Erstelle Button für den Dialog (Zuletzt erstellter Dialog)
DIALOG[DO-Text festlegen]-Text von (Zuletzt erstelltes Dialogobjekt) auf "Annehmen" für (Alle Spieler) festlegen
DIALOG[DO-Größefestlegen]-Größe von (Zuletzt erstelltes Dialogobjekt) auf (300, 50) für (Alle Spieler)
DIALOG[DO-verschieben]-(Zuletzt erstelltes Dialogobjekt) relativ zu Mitte von Dialog für (Alle Spieler) nach (0, 100) verschieben
Variable-Quest 1 DialogObjekt[1] = (Zuletzt erstelltes Dialogobjekt) festlegen

AUSÖLSER-Quest 1 start An schalten
DIALOG-Anzeigen (Zuletzt erstellter Dialog) für (Alle Spieler)
~~ Trigger Ende ~~


Trigger 2:Dialog Do
[ereignis]
DIALOG -Beliebiges Dialogobjekt ist Geklickt von Spieler Beliebiger Spieler
[lokale variablen]
[bedingung]
[aktion]
EINHEIT -Alle Einheiten Pause aus
DIALOG-Alle Dialoge zerstören
ALLGEMEIN-Wenn (Bedingungen), dann führe (Aktionen) aus, sonst führe (Aktionen) aus
[Falls]
AUSLÖSER-Trigger 1 Aus schalten
[Sonst]
~~ Trigger Ende ~~

über die if/then/else kann man dann reaktionen auf die einzelnen buttons erstellen

####Alternativen an den Triggern
Was man auf jeden fall noch machen kann (unabhängig von der sonstigen darstellung) ist, den trigger nur für ein spieler, eine spieler gruppe anzeigen.
dazu einfach eine lokale spielergruppen variable anlegen und die spieler dazu adden (vor erstellen des dialogs am besten)

####Was ist noch neu an den Dialogs
Es gibt neben buttons auch noch: Editierboxen; Fortschrittsbalken; Kästchen; Regler und vieles mehr.
evlt. hau ich hier noch ein post/edit rein der mehr beinhällt ...
als beispiel vllt. wie eine "game mode wahl"
Zuletzt geändert von Soraphis am 01.05.2010, 22:52, insgesamt 2-mal geändert.
Es gibt 10 Arten von Menschen. Diejenigen, die das Binärsystem verstehen und diejenigen, die es nicht tun.

Bild
Benutzeravatar
Warminster
Berserker
Beiträge: 73
Registriert: 10.02.2010, 13:18
Wohnort: Hinter´m Mond (Graz)

Re: [Tutorial] Die guten alten Dialogs

Beitrag von Warminster »

Nein er hat mein Tutorial gestohlen^^. Na dann such ich mir eben ein anderes Thema. Ansonsten gut gelungen.
Ich denke niemals an die Zukunft. Sie kommt früh genug.
TsuTey
Zergling
Beiträge: 14
Registriert: 13.11.2010, 20:27
Liga 1vs1: Platin
Liga 2vs2: Diamant

Re: [Tutorial] Die guten alten Dialogs

Beitrag von TsuTey »

Kann ich nen dialog transparente machenn, ohne (!) dass die enthaltenen gegenstände auch transparent werden? mit "dialogtransparenz festlegen" gehts nämlich nicht :(
SaVi
Moderator des Zwielichts
Moderator des Zwielichts
Beiträge: 616
Registriert: 21.05.2008, 16:53
Liga 1vs1: Diamant
Liga 2vs2: Platin
Mainrace: Protoss

Re: [Tutorial] Die guten alten Dialogs

Beitrag von SaVi »

du könntest einen leeren Dialog mit den gleichen maßen des Dialoges erstellen und diesen Transparent machen. Dann machst du den Hintergrund von dem Dialog, wo die Objekte drinnen sind auf "Ausblenden"

Denke so müsste es gehen

mfg SaVi
Bild
Dennisch
Sonde
Beiträge: 5
Registriert: 31.07.2011, 22:29
Liga 2vs2: Gold

Re: [Tutorial] Die guten alten Dialogs

Beitrag von Dennisch »

Du must den Hintergrund ausblenden. Dann bleiben die Gegenstände sichtbar, aber das Fenster verschwindet.
Antworten