Zeige Ergebnis 1 bis 15 von 15
  1. #1
    Benutzerbild von ThePro
    Registriert seit
    Mär 2006
    Beiträge
    12
    Likes
    0

    Ein eigenes Glossar in der Hilfe erstellen

    [Wegen Änderungen des Hilfesystems durch den letzten Patch wird das Tutorial derzeit überarbeitet]

    Heute werde ich euch zeigen, wie nur genau die Einheiten in der Hilfe angezeigt werden, die man auf eurer Map auch wirklich benutzen kann.
    Leider wird das Glossar von so gut wie keiner Funmap genutzt (vermutlich aus Faulheit vom Ersteller), wobei es die Qualität einer Map doch ungemein aufwerten kann. Gerade bei Maps wie Footman oder Sotis hätte ich mir so ein Glossar gewünscht. Möglicherweise liegt das Fehlen eines Glossars aber auch darin begründet, dass viele Mapper gar nicht wissen, wie sie es einbauen können.

    Durch einem Beitrag im battle.net Forum und einen entscheidenden Hinweis von Mietfekatfe im IRC, bin ich auf eine Lösung gestoßen, die ich euch nicht vorenthalten möchte.
    Daher willkommen zu meinem ersten Tutorial und seit März 2006 zu meinem ersten Beitrag in diesem Forum.

    Dieses Tutorial ist für blutige Anfänger geschrieben, die ihre ersten Schritte mit dem Galaxy Editor versuchen. Alles ist Schritt für Schritt mit Bildern erklärt.


    Inhalt
    1. Einleitung
    2. Los Gehts!
      2.1 Abhängigkeit Liberty-Storymodus (Kampagne) hinzufügen
      2.2 Einheiten aus dem Glossar entfernen
      2.3 Einheiten dem Glossar hinzufügen
    3. Schlusswort



    1. Einleitung

    Wenn ihr in eurer Map mal in die Hilfe schaut, werdet ihr folgendes vorfinden:



    Da habt ihr eurer selbst erstellen Einheit eine tolle Beschreibung verpasst, aber niemand liest sie, da sich keiner die Mühe machen wird die Einheiten heraus zu suchen.
    Wäre es da nicht viel schöner, wenn auch wirklich nur die Einheiten angezeigt werden würden, die für eure Map auch relevant sind?





    In diesem Tutorial werde ich euch zeigen wie das geht!


    2. Los gehts

    Es gibt genau drei Dinge, die wir dafür tun müssen:

    • Die Abhängigkeit Liberty-Storymodus (Kampagne) zu unserer Map hinzufügen
    • Alle bisherigen Einheiten aus dem Glossar entfernen
    • Gewünschte Einheiten wieder zum Glossar hinzufügen


    2.1 Abhängigkeit Liberty-Storymodus (Kampagne) hinzufügen

    Bevor wir loslegen können, müssen wir zu unserer Map noch eine Abhängigkeit hinzufügen, da es ansonsten früher oder später zu einem Fehler im Auslöser Editor kommen wird, da er die benötigten Funktionen nicht finden kann.
    Öffnet zunächst das Abhängigkeiten Fenster (Datei > Abhängigkeiten) klickt dort auf "Standard hinzufügen" und setzt einen Haken bei Liberty-Storymodus (Kampagne) und bestätigt mit ok.





    2.2 Einheiten aus dem Glossar entfernen

    Jetzt werden wir alle Einheiten aus dem Glossar entfernen, indem wir etwas Galaxy Code ausführen. Aber keine Angst, es ist nur sehr wenig Code und ihr müsst nicht verstehen was dieser Code macht.
    Zunächst fügt ihr im Auslöser Editor eine neue Aktionsdefinition hinzu. (Im linken Festerbereich rechte Maustaste > Neu > Neue Aktionsdefinition)
    Anschließend gebt ihr der Aktionsdefinition einen sinnvollen namen. Ich habe sie z.B. Clear Glossary genannt.

    Nun fügt ihr der eben erstellen Aktionsdefinition eine Aktion hinzu. (Rechte Maustaste > Neu > Neue Aktion) und wählt in der Kategorie Allgemein den Menüpunkt Benutzerdefiniertes Skript aus.



    Klickt die eben erstelle Aktion an und fügt folgenden Galaxy Code in den Codebereich ein:

    Code:
    TechTreeUnitHelpDefault(1, false);
    
    HelpPanelShowTechTreeRace(PlayerGroupAll(), "Terr", false);
    HelpPanelShowTechTreeRace(PlayerGroupAll(), "Prot", false);
    HelpPanelShowTechTreeRace(PlayerGroupAll(), "Zerg", false);
    Bei euch sollte alles nun etwa so aussehen:

    Achtung, die Codezeilen im Screenshot sind veraltet!




    Lasst euch dabei nicht von den Ordnern Custom Scripts und Interface verwirren. Ich habe sie nur für mich angelegt, um die Übersicht zu verbessern. Sie sind aber nicht notwendig!
    Solltet ihr jetzt beim Speichern einen Syntaxfehler vom Auslöser Editor erhalten, habt ihr bei Schritt 2.1 einen Fehler gemacht und die Abhängigkeit nicht richtig eingebunden. Am Besten wiederholt ihr dann den Schritt.
    Jetzt müsst ihr die Aktion nur noch ausführen. Erstellt dazu einen neuen Auslöser. Wählt als Ereignis Spiel - Karteninitialisierung und fügt bei Aktion die soeben von euch erstelle Clear Glossary Aktion hinzu:





    Wenn ihr jetzt eure Karte ladet, sollte das Glossar leer sein:





    2.3 Einheiten dem Glossar hinzufügen

    Wenn bis hier hin alles geklappt hat, habt ihr es fast geschafft.
    Jetzt müsst ihr nur noch die Einheiten zum Glossar hinzufügen, die dort erscheinen sollen.
    Fügt dazu die Aktion Spielergruppe - Jeden Spieler in Spielergruppe auswählen hinzu, denn wir wollen, dass alle Spieler die Einheiten in der Hilfe sehen können.





    Anschließend erzeugt ihr eine lokale Integer Variable, die ihr Iterator nennt.

    Nun sollte alles so aussehen:





    Zu guter letzt fügt ihr die Aktion Story - Add Unit Type To Unit Help Panel hinzu und wählt eine Einheit aus, die im Glossar erscheinen soll.
    Ich habe in diesem Fall einen Hero Zergling aus meiner Funmap ausgewählt:





    Übernehmt die Einstellungen, wie sie im Bild zu sehen sind.
    Im Spiel sollte das nun so aussehen:




    Falls ja, Gratulation, ihr habt soeben euer eigenes Glossar erstellt.
    Um weitere Einheiten hinzuzufügen, wiederholt einfach den letzten Schritt.



    3. Schlusswort

    Ich hoffe ich konnte euch mit diesem Tutorial helfen und habe den einen oder anderen Mapper dazu animiert ein Glossar in seine Maps einzubauen.
    Falls ihr noch fragen habt, der Thread ist hiermit eröffnet.
    Geändert von ThePro (21. Januar 2011 um 13:48 Uhr) Grund: Tutorial ist fertig.


  2. #2
    Wiki Benutzerbild von Skoot
    Registriert seit
    Aug 2003
    Ort
    Wien, Österreich
    Beiträge
    938
    Likes
    0
    Sehr fein, gutes Tutorial
    Fein, dass das eigentlich so einfach geht, nur dass man dazu erst die Story-Mode-Abhängigkeit hinzufügen muss, ist etwas komisch (und die teilweise fehlende/komische Übersetzung "Tu nicht save in history").
    Vielleicht könntest du noch erwähnen, wo man die Beschreibung, Stärken und Schwächen, die zur Einheit angezeigt werden, machen kann.

    Außerdem hat mir das Tutorial in Hinblick auf den Trigger-Editor neue Perspektiven geöffnet, auch wenn ich zugeben muss, mich einfach noch viel zu wenig damit auseinander gesetzt zu haben. Aber allein schon, dass man eigene Ereignis-, Bedingungs- und Aktionsdefinitionen machen kann, wusste ich nicht.
    > Starcraft-Wiki - Mach mit! - Wiki-Forum <

    Starcraft 2 - Mapping
    > Mapping-Foren - News - Tutorials - Mapping im Wiki <
    IRC-Channel: #starcraft-mapping

  3. #3
    Benutzerbild von ThePro
    Registriert seit
    Mär 2006
    Beiträge
    12
    Likes
    0
    Zitat Zitat von Skoot Beitrag anzeigen
    Sehr fein, gutes Tutorial
    [...] nur dass man dazu erst die Story-Mode-Abhängigkeit hinzufügen muss, ist etwas komisch
    Vermutlich geht es auch ohne, jedoch ist das die einfachste und einzige Lösung, die ich bisher herausgefunden habe.
    Wem es interessiert aus welchem Hut ich diese beiden Funktionen gezaubert habe:

    Ich hab ganz einfach die erste Mission der Kampagne geladen. Da dort auch nur sehr wenige Einheiten in der Hilfe angezeigt werden, müssen die anderen Einheiten doch irgendwie rausgeschmissen worden sein.
    Durch einen Hinweis im battle.net Forum habe ich dann herausgefunden, dass die Funktion libCamp_gf_LoadCampaignData(1), u.a. genau das tut.
    Diese Funktion befindet sich in der Abhängigkeit, die man in diesem Tutorial einbinden muss.

    Mit dem Parameter legt man fest, aus welcher Mission die verfügbaren Einheiten in der Hilfe angezeigt werden sollen. Bei 1 seht ihr nur eine Marine bei 2 bereits Marine Medic und WBF, probierts aus!

    Führt man diese Funktion aus, erhält man einen hässlichen "nicht autorisiert" Auslöser Fehler, da nicht nur die Einheiten aus Mission 1 in der Hilfe gesetzt werden, sondern auch andere Dinge aus der Kampagne eingestellt werden. Das Hauptmenü bekommt außerdem einen Mission Abbrechen Button und beim Neustarten Button kann man den Schwierigkeitsgrad auswählen.

    Da ich das alles alles nicht haben wollte und wirklich nur die Hilfe gesäubert haben wollte, habe ich mir mal den Quellcode der libCamp_gf_LoadCampaignData(1) Funktion angeschaut, indem ich mit dem mpqviewer das galaxy script file entpackt habe und sie im Editor geöffnet habe.

    Nach etwas rumprobieren habe ich herausgefunden, dass eben genau diese beiden Funktionen dafür verantwortlich sind:

    Code:
    libCamp_gf_TS_InitializeMercData();
    libCamp_gf_ApplyCampaignTech(1);
    Die Auslöserfehler sind nun verschwunden, jedoch gibt es noch Fehler im Debugger. Theoretisch reicht es sogar nur libCamp_gf_ApplyCampaignTech(1); auszuführen, jedoch erhält man dann wieder einen Auslöserfehler.

    Wenn man in libCamp_gf_ApplyCampaignTech(1); weiter gräbt, findet man eventuell eine Code Stelle, so dass man das Glossar auch ohne das Einbinden der Abhängigkeit leeren kann.
    Dummerweise hab ich die nächsten Tage keine Zeit, werde es aber gegen Ende der Woche mal versuchen und das Tutorial ggf. updaten.

    Andererseits kann es nicht schaden mal eine Abhängigkeit eingebunden zu haben.


    Zitat Zitat von Skoot Beitrag anzeigen
    Vielleicht könntest du noch erwähnen, wo man die Beschreibung, Stärken und Schwächen, die zur Einheit angezeigt werden, machen kann.
    Hatte ich mir auch überlegt. Werde das Ende der Woche mal nachpflegen.

    Zitat Zitat von Skoot Beitrag anzeigen
    Außerdem hat mir das Tutorial in Hinblick auf den Trigger-Editor neue Perspektiven geöffnet, auch wenn ich zugeben muss, mich einfach noch viel zu wenig damit auseinander gesetzt zu haben. Aber allein schon, dass man eigene Ereignis-, Bedingungs- und Aktionsdefinitionen machen kann, wusste ich nicht.
    Freut mich, dann habe ich ja mein Ziel mit diesem Tutorial erreicht.
    Geändert von ThePro (13. Dezember 2010 um 11:06 Uhr)

  4. #4
    Benutzerbild von MrGracy
    Registriert seit
    Sep 2008
    Beiträge
    111
    Likes
    0
    Hallo Allerseits,

    heute habe ich versucht wie oben beschrieben ebenfalls einen eigenen Glossar zu erstellen.
    Blöderweise erscheint beim Versuch zu speichern ein Fehler "Syntaxerror", ein Fenster mit "Script Compile Errors" erscheint und die erste der beiden Zeilen, die man kopieren soll wird markiert.
    Den Schritt 2.1. habe ich nochmals wiederholt, jedoch ohne Erfolg.

    Ich habe die englische Version. Dementsprechend habe ich "Liberty Story (Campaign)" eingefügt.
    Muss da ein anderer Code rein?
    Oder sont einen Tipp, wie es funktionieren könnte?

    Danke schon mal!

    MfG,
    MrGracy

  5. #5
    Benutzerbild von MisterM
    Registriert seit
    Dez 2004
    Beiträge
    100
    Likes
    0
    Hallo,

    ich bekomme ebenfalls einen Syntaxerror. Habe allerdings die Abhängigkeiten nachträglich hinzugefügt. Kann man da noch etwas machen?

    Außerdem: Wie funktioniert das mit dem Techtree?

  6. #6
    Benutzerbild von MrGracy
    Registriert seit
    Sep 2008
    Beiträge
    111
    Likes
    0
    Meinereiner hat es auch mit einer neuen Map ausprobiert, praktisch nur den Glossar zu ändern, aber auch da kam der Fehler. Liegt also eher nicht am nachträglichen Einfügen der Abhängigkeit, würde ich mal behaupten.

  7. #7
    Benutzerbild von MisterM
    Registriert seit
    Dez 2004
    Beiträge
    100
    Likes
    0
    Puh, habs jetzt auch mit ner neuen Map probiert und es funktioniert genauso nicht. :/

    Es gibt so ne alternative, wenn man sich die Abhängigkeiten lädt, gibt es den Trigger:
    Story - Load campaign data for Map - TRaynor01
    Aber dann ist der Techtree irgendwie am Arsch.

  8. #8
    Benutzerbild von MrGracy
    Registriert seit
    Sep 2008
    Beiträge
    111
    Likes
    0
    Vermutlich wird, wenn man die Kampagnedaten lädt einfach alles andere überschrieben, was in den Daten so enthalten ist.

    @MisterM: hat du die englische oder die deutsche Version?
    Wenn ich dein
    Zitat Zitat von MisterM Beitrag anzeigen
    Zitat:
    Story - Load campaign data for Map - TRaynor01
    seh wohl auch die englische, oder?
    Vllt. liegt es tatsächlich an der Version!?

    Hab leider trotz viel rumprobieren keine weiteren Fortschritte mehr erzielt.

  9. #9
    Benutzerbild von MisterM
    Registriert seit
    Dez 2004
    Beiträge
    100
    Likes
    0
    Nein ,ich habe die deutsche Version. Merkwürdigerweise sind die Trigger aus der Story-Abhängigkeit nicht übersetzt worden.

  10. #10
    Benutzerbild von MrGracy
    Registriert seit
    Sep 2008
    Beiträge
    111
    Likes
    0
    Jaja, Blizzard und die Eigenheiten der Übersetzungen

    Gute Neuigkeiten:
    hab eine Lösung gefunden, mit der man Sachen im Glossar einzeln ausblenden kann. Unter anderem auch die Techtrees.

    Bei den Aktionen (Actions) für Einheiten:
    UI - Show/Hide Help for Unit
    Für Techtrees:
    UI - Show/Hide Help Panel Tech Tree Race
    Wie die in der deutschen Version heissen ... ka, aber die werden sich sicher auch finden lassen!

    Nachteil: ist recht umständlich so alle auszublenden, aber wenn es so funktioniert die Mühe sicher wert.
    Jetzt tun mir aber die Augen weh vom Durchforsten der ganzen Aktionen im Editor
    Aber keine Müdigkeit vortäuschen, jetzt wird das Tutorial erst mal fortgeführt und mein eigener Glossar erstellt!

  11. #11
    Benutzerbild von ThePro
    Registriert seit
    Mär 2006
    Beiträge
    12
    Likes
    0
    Ich werde es mir die nächsten Tage mal ansehen und das komplette Tutorial nochmal überarbeiten. Sitze gerade an meiner Bachelorarbeit die ich demnächst verteidigen werde und habe daher keine Zeit.

    Stay Tuned!

  12. #12
    Benutzerbild von MrGracy
    Registriert seit
    Sep 2008
    Beiträge
    111
    Likes
    0
    Du hast aber schräge Prioritäten
    Bachelorarbeit > SC2 ?

    Scherz beiseite:
    wäre schön, wenn du da mal schauen könntest, da die Methode, die ich benutze doch sehr umständlich ist...

  13. #13
    Benutzerbild von ThePro
    Registriert seit
    Mär 2006
    Beiträge
    12
    Likes
    0
    Jetzt wo ich bestanden habe, habe ich wieder Zeit.

    Ich habe mir das Problem mal angeschaut. Scheinbar hat Blizzard mit dem letzten Patch das Hilfesystem etwas abgeändert und die beiden Funktionen die Ihr kopieren solltet dabei entfernt.
    Daher habe ich mir mal die Mühe gemacht die neuen Funktionen heraus zu suchen.

    statt:
    Code:
    libCamp_gf_TS_InitializeMercData();
    libCamp_gf_ApplyCampaignTech(1);
    Müsst ihr nun:

    Code:
    TechTreeUnitHelpDefault(1, false);
    
    HelpPanelShowTechTreeRace(PlayerGroupAll(), "Terr", false);
    HelpPanelShowTechTreeRace(PlayerGroupAll(), "Prot", false);
    HelpPanelShowTechTreeRace(PlayerGroupAll(), "Zerg", false);
    In den Codebereich einfügen. Damit sollte es nun wieder funktionieren.

    Was die neuen Möglichkeiten des Hilfemenüs angeht werde ich mal forschen und natürlich hier ins Tutorial einbauen, wenn ich was interessantes finde.
    Außerdem werde ich mal schauen, was ich über den Techtree so rausfinden kann.
    Geändert von ThePro (22. Januar 2011 um 17:37 Uhr)

  14. #14
    Benutzerbild von MisterM
    Registriert seit
    Dez 2004
    Beiträge
    100
    Likes
    0
    Super! Mal gucken, wie lange das noch funktioniert. Danke

  15. #15
    Benutzerbild von MrGracy
    Registriert seit
    Sep 2008
    Beiträge
    111
    Likes
    0
    Danke für das Update, so funktioniert es!

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