[Tutorial] Scripting: "Endeckungs" - Events

Tutorials und mehr...

Moderatoren: Modding - Moddingschule, Moderatoren

Benutzeravatar
Amon Amarth 930
Hastatus Prior
Hastatus Prior
Beiträge: 1694
Registriert: 19. November 2010 16:58
Wohnort: Xanten
:
Modder

[Tutorial] Scripting: "Endeckungs" - Events

Beitragvon Amon Amarth 930 » 21. November 2010 14:31

Mein erstes Tutorial das ich damals geschrieben habe, Nostalgie pur ^^ .

Da es mir die Events aus Third Age angetan haben in denen man, sobald man in die nähe der Argonaut beispielsweise kommt, ein Event + Video bekommt, hab ich mich damit mal näher beschäftigt.
Danke auch an King Kong der mir in einigen Dingen zur Seite stand die ich noch nicht verstand, damals fing ich erst an mit dem Scripten. (Vor Einem Monat ca.)

Nun gehts aber mit dem eigentlichen Tutorial los:

Hier braucht die Dateien:
campaign_script -> ([...]:\SEGA\Medieval II Total War\mods\[...]\data\world\maps\campaign\imperial_campaign)
historic_events -> ([...]:\SEGA\Medieval II Total War\mods\[...]\data\text\)

Tools benötigt für Video:
Bink Converter

Alternativ nötig:
Retrofit

Das Script selbst ist recht einfach und leicht zu begreifen, folgendermaßen siehts aus:

Code: Alles auswählen

    monitor_event TileSeen not FactionType slave           
                           and FactionIsLocal                                                             
                           and IsPositionInRect 128 270 2 2                                       
            historic_event X event/Y.bik
            terminate_monitor
    end_monitor


Nun zur Erklärung:

1. Zeile: "not FactionType slave"

Dies gibt wieder welche Fraktion dieses Event nicht bekommen soll, in diesem Fall die Rebellen, hier kann man aber auch jede andere Fraktion eintragen.
--------------------------------------------------------------------
2. Zeile: "and FactionIsLocal"
Nur der Menschliche Spieler bekommt dieses Event, dafür steht diese Zeile
--------------------------------------------------------------------
3. Zeile: "and IsPositionInRect 128 270 2 2"

128 270 :Dies steht für die Position die in Sichtweite eines Generals oder Spions sein muss damit das Event kommt, Praktisch hierbei: Es müssen keine Städte genommen werden, es kann auch ein Wald oder ähnliches sein, wichtig ist nur die richtige Position*

2 2:Diese zwei Zahlen stehen für ein Rechteck das um den angegebenen Punkt gezogen wird, also in diesem Fall: 128+2 Pixel auf der X oder Y - Achse.
--------------------------------------------------------------------
4. Zeile: historic_event X event/Y.bik
Hier kommt die Folge aus den oben genannten Bedingungen die gegeben sein müssen:[/color]

historic_event X: Dies stellt das historische Event dar und die Textmessage die erscheint, weiter unten mehr dazu.**

event/Y.bik: Zusätzlich lässt sich auch noch ein Video einbinden, dazu unten auch mehr.***
--------------------------------------------------------------------
5,6 Zeile:
terminate_monitor
end_monitor

Darf nicht vergessen werden, sonst wird das Script nicht ausgelesen und es passiert Ingame rein gar nichts mehr, deutlich sieht man das meißt wenn man im Script auch durch "restrict_strat_radar false" den "Amerika-Balken" entfernt und dieser plötzlich wieder da ist.
--------------------------------------------------------------------
Anmerkungen:
* Diese X und Y Angabe lässt sich Ingame herausfinden:
Haltet den Mauszeiger direkt über die Position die ihr haben wollt und öffnet mit "ö" die Konsole. Tippt dort ein:
show_cursorstat
Umgehend werden euch dann alle nötigen Info´s angezeigt, neben dem Regionsnamen auch die passende Position des Mauszeigers auf der X und Y - Achse.


**Nur Text mit Bild:
Befehl (siehe Oben):
historic_event X

Zuerst müsst ihr die Text-Datei "historic_events" im Textordner öffnen, darin macht ihr jetzt einen neuen Eintrag:
{TEST_BODY}Test - Text
{TEST_TITLE} Test - Überschrift

Wichtig ist dass das in den Klammern großgeschrieben wird.

Da wird jetzt aber oben leider nur ein Standard Bild haben und das natürlich auch ändern wollen machen wir folgendes:
Wir gehen in den Pfad:
([...]:\SEGA\Medieval II Total War\mods\[...]\data\ui\southern_european\eventpics\)
Und dort können wir ein tga-Bildchen reinmachen das genau den gleichen Namen haben muss wie das historic_event, [color=#000000]in diesem Fall: test[/color].
Fertig, Eventbilder brauchen nur bei southern_european rein.
***Video:
Wollen wir auch ein Video einbinden wie in Third Age brauchen wir zuerst einmal ein Video in .avi - Format und den Bink - Converter, welcher auch sehr große Dateien sehr klein komprimieren kann.
Bink Converter

Damit konvertieren wir also zuerst das Video unserer Wahl.
Dann verschieben wir die neue .bik - Datei in den Pfad:
[...]:\SEGA\Medieval II Total War\mods\[...]\data\fmv\event

Der Name der Video - Datei muss genau so lauten wie im Script angegeben.
event/Y.bik-> In diesem Fall "test"

Das wars auch schon.


Ich hoffe es hat euch gefallen und ihr könnt es vielleicht gebrauchen.
--------------------------------------------------------------------
Hier noch ein praktisches Beispiel wie in "Retrofit " dieses Event im Script aussieht:

D:\SEGA\Medieval II Total War\mods\retrofit\data\world\maps\campaign\imperial_campaign:
campaign_script:

Code: Alles auswählen

    monitor_event TileSeen not FactionType england
                           and FactionIsLocal                                                             
                           and IsPositionInRect 109 147 2 2                                       
            historic_event london event/london.bik
            terminate_monitor
    end_monitor

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

Benutzeravatar
Alexander der Große
Hastatus Posterior
Hastatus Posterior
Beiträge: 1084
Registriert: 26. Dezember 2010 20:00
Wohnort: Greifswald

Re: [Tutorial] Scripting: "Endeckungs" - Events

Beitragvon Alexander der Große » 29. November 2011 00:05

Klasse Tutorial, schön ausführlich erklärt. Danke Amon. :strategie_zone_22:

Werd bei mir auch sowas einbauen, dürfte das Erkunden der Welt um einiges attraktiver machen . Mal schauen ob ich ein paar gute Videos dazu finde.
Weiß zufällig jemand warum die Videos aus Americas englische Sprachausgabe haben, wenn ich die bei mir in der Mod einbaue.

Grüße
i5-2500K / GTX 560ti / 8GB

Benutzeravatar
Deatheye
Optio ad spem
Optio ad spem
Beiträge: 692
Registriert: 6. Dezember 2010 19:07
Wohnort: Überall und Nirgendwo
:
Teilnahme an einem Contest Modder

Re: [Tutorial] Scripting: "Endeckungs" - Events

Beitragvon Deatheye » 30. November 2011 10:02

Weil die Videos die du entpackst die englischen Orginale sind.
Die deutschen sind irgendwo auf der CD.
Kannst mal schauen, ob du die findest oder bei youtube schauen, da sind sich sicher, und dann die nehmen.

Benutzeravatar
Alexander der Große
Hastatus Posterior
Hastatus Posterior
Beiträge: 1084
Registriert: 26. Dezember 2010 20:00
Wohnort: Greifswald

Re: [Tutorial] Scripting: "Endeckungs" - Events

Beitragvon Alexander der Große » 30. November 2011 12:07

Ah ok, dachte mir schon sowas. Danke :)

Grüße
i5-2500K / GTX 560ti / 8GB