• Downloads
    • Registrieren
    • Anmelden
    • Foren-Übersicht ‹ Modifikationen ‹ Panzercorps
    • Druckansicht
    • Nächstes Thema  | 
    • Vorheriges Thema  | 

    [PzC2] LUA Skripts

    Modifikationen für Panzer Korps

    Antwort erstellen
    58 Beiträge • Seite 1 von 4 • 1, 2, 3, 4
    >>
    <<

    peter

    Benutzeravatar

    Peters Orden

    Beiträge: 692

    Registriert: Fr 8. Nov 2013, 16:50

    Beitrag Di 23. Jun 2020, 11:41 von peter

    [PzC2] LUA Skripts

    Da die Beschreibung von LUA fehlerhaft und unvollständig ist, ist es viel Arbeit/Probiererei um die .lua Dateien zu erzeugen.
    Damit nicht jeder das Gleiche ausprobieren muss, rege ich an, die Erkenntnisse hier zu posten. Ich fange gleich mal an:

    Allgemeines:
    - Die LUA Datei muss den gleichen Basisnamen wie das Szenario haben, z.B. bei "Sz.map": "Sz.lua".
    - Alles rechts von den beiden Zeichen "--" ist nur Kommentar und wird ignoriert.
    - Im Editor in "Edit -> Triggers" für .lua nötig:
    ° Name (Name des Triggers z.B. T1)
    ° Count (0 bedeutet immer, 1=einmal, 2=zweimal, ...)
    ° Unter Condition: Name_Bedingung z.B. B1 (Name im Editor und in .lua müssen übereinstimmen)
    (typisch für "Condition": CaptureFlagAction; StartTurnAction oder EndTurnAction).
    ° Unter Function: Name_Funktion z.B. F1 (Name im Editor und .lua müssen übereinstimmen).


    Beispiel für einen typischen Anwendungsfall: Feindflugzeuge erst in einer bestimmten Runde starten lassen. Da die Startfelder am Flughafen (bzw. Flugzeugträger) eher am Rundenende als am Anfang frei sind, hier EndTurnAction verwendet.
    Am Ende des Skripts gebe ich noch eine Meldung aus. Ganz abgesehen davon, dass es immer gut ist, den Spieler zu informieren, sieht man so auch, dass das Skript erfolgreich ausgeführt wurde:

    function B1() -- Bedingung im Editor: Trigger Rundenende
    return world.round == 5 -- Runde 5 definieren
    end

    titel = "Warnung"
    message1 = "Es wurden neue Feindflugzeuge im Westen gesichtet."

    function F1() -- neue Einheit erzeugen und platzieren + Ausgabe Nachricht
    local feld = {3,15} -- Ort
    local einheit = "I16" -- ID der Einheit I-16, siehe erste Spalte in units.csv
    local player = world:GetPlayer(1) -- welcher Spieler? (hier: 2.Spieler=Feind)
    local create_action = world:MakePurchaseAction(player, einheit, "", 0) -- Einkauf welcher Einheit?
    create_action.auxiliary = false -- Hilfs- oder Kerneinheit? (Kerneinheit)
    create_action.cost = 0 -- Preis? 0
    world:Exec(create_action) -- Kaufaktion!
    local unit = world:GetUnit(create_action.id) -- welche Einheit?
    local hex = world:GetHex(feld) -- welches Hex?
    if (hex:GetUnit(0) == nil) then -- prüfen, ob Hex frei ist
    deploy_action = world:MakeDeployAction(unit,feld) -- definieren, was wo platziert wird
    world:Exec(deploy_action) -- Platzierung der Einheit!
    end

    local feld = {4,16}
    local einheit = "TupolevSB"
    local player = world:GetPlayer(1) -- welcher Spieler? (hier: 2.Spieler=Feind)
    local create_action = world:MakePurchaseAction(player, einheit, "", 0) -- Einkauf welcher Einheit?
    create_action.auxiliary = false -- Hilfs- oder Kerneinheit? (Kerneinheit)
    create_action.cost = 0 -- Preis? 0
    world:Exec(create_action) -- Kaufaktion!
    local unit = world:GetUnit(create_action.id) -- welche Einheit?
    local hex = world:GetHex(feld) -- welches Hex?
    if (hex:GetUnit(0) == nil) then -- prüfen, ob Hex frei ist
    deploy_action = world:MakeDeployAction(unit,feld) -- definieren, was wo platziert wird
    world:Exec(deploy_action) -- Platzierung der Einheit!
    end

    MessageBox(titel, message1) -- Ausgabe Nachricht
    end


    Gruß Peter
    Dateianhänge
    Sz.zip
    (1006 Bytes) 152-mal heruntergeladen
    Dt-Kampagne Wehrmacht-Balance:
    Wehrmacht-Balance 3.1

    Italienische Kampagne Italia Victor!:
    Italia Victor! V3.1

    Sowjet-Kampagne Soviet-Balance:
    Soviet Balance V3.1
    • Nach oben
    • Mit Zitat antworten
    >>
    <<

    asuser

    Benutzeravatar

    asusers Orden

    Beiträge: 21857

    Registriert: Sa 2. Nov 2013, 23:09

    Wohnort: Wehrkreis III

    Beitrag Di 23. Jun 2020, 11:57 von asuser

    Re: [PzC2] LUA Skripts

    Ich habe das Spiel noch nicht... finde aber spannend, das sich schon jemand mit Modding dazu beschäftigt.

    Ich nehme an, Du erläuterst hier den Aufbau für eine Erstellung eines Scenarios?

    Hast Du auch schon Erfahrungen mit den Units machen können, kommt man irgendwie an die Skins heran?
    Ansonsten sind die Units ja in 3D nahezu perfekt und kaum anpassungsbedürftig, wenn man mal von fehlenden "Exoten" absieht...
    • Nach oben
    • Mit Zitat antworten
    >>
    <<

    Erich Topp

    Benutzeravatar

    Magic1111 Orden

    Beiträge: 13662

    Registriert: Mi 10. Jul 2013, 23:23

    Beitrag Di 23. Jun 2020, 19:21 von Erich Topp

    Re: [PzC2] LUA Skripts

    Was sind überhaupt LUA Skripts? Kann mit dem Wort (Abkürzung?) LUA gar nichts anfangen?
    • Nach oben
    • Mit Zitat antworten
    >>
    <<

    von Trotha

    Benutzeravatar

    von Trothas Orden

    Beiträge: 2882

    Registriert: Do 7. Mai 2020, 12:06

    Wohnort: Wehrkreis X

    Beitrag Di 23. Jun 2020, 19:43 von von Trotha

    Re: [PzC2] LUA Skripts

    LUA ist eine Skriptsprache

    Siehe hier
    "Wo die Flotte fährt, sind wir längst gewesen."

    "Navigare necesse est - Seefahrt tut Not"
    • Nach oben
    • Mit Zitat antworten
    >>
    <<

    Erich Topp

    Benutzeravatar

    Magic1111 Orden

    Beiträge: 13662

    Registriert: Mi 10. Jul 2013, 23:23

    Beitrag Do 25. Jun 2020, 17:11 von Erich Topp

    Re: [PzC2] LUA Skripts

    von Trotha hat geschrieben:LUA ist eine Skriptsprache

    Siehe hier


    Okay, danke! bittschön.....
    • Nach oben
    • Mit Zitat antworten
    >>
    <<

    uzbek2018

    Benutzeravatar

    uzbek2018 Orden

    Beiträge: 425

    Registriert: Mo 23. Apr 2018, 23:24

    Beitrag Sa 7. Nov 2020, 20:54 von uzbek2018

    Re: [PzC2] LUA Skripts

    Picture removed


    https://www.strategium.ru/forum/topic/9 ... %81%D1%82/

    http://mrtranslate.ru/translators/website.html
    Bild
    • Nach oben
    • Mit Zitat antworten
    >>
    <<

    asuser

    Benutzeravatar

    asusers Orden

    Beiträge: 21857

    Registriert: Sa 2. Nov 2013, 23:09

    Wohnort: Wehrkreis III

    Beitrag So 8. Nov 2020, 07:21 von asuser

    Re: [PzC2] LUA Skripts

    Hello uzbek2018,

    Sorry, but your picture was removed due to copyright issues by German law.
    • Nach oben
    • Mit Zitat antworten
    >>
    <<

    uzbek2018

    Benutzeravatar

    uzbek2018 Orden

    Beiträge: 425

    Registriert: Mo 23. Apr 2018, 23:24

    Beitrag So 15. Nov 2020, 23:57 von uzbek2018

    Re: [PzC2] LUA Skripts

    asuser hat geschrieben:Hello uzbek2018,

    Sorry, but your picture was removed due to copyright issues by German law.


    ОК

    Bild

    The download link (the version of the mod v0.9):

    http://www.mediafire.com/file/5sk6pv31f ... s.rar/file

    (in version 0.9, 2 missions are available for the game!)



    installing the MOD:

    1) make a copy of the original game file Units. csv (this is the only file of the original game that will be replaced with a modified one).

    You will need a copy of this file if you want to go back to the original campaigns with the original unit file.

    2) Unzip the mod archive using the following path: C:\(User)\(My document)\Panzer Corps 2\Campaigns\

    3) Copy the files from the mod archive: Units. csv and RulesGCG.json and paste with replacement - - - > in the folder with the game Panzer Corps2\Panzer Corps2\Content\Data

    4) Launch the game and choose a custom campaign: Iron Cross

    https://www.strategium.ru/forum/topic/9 ... %81%D1%82/
    Bild
    • Nach oben
    • Mit Zitat antworten
    >>
    <<

    peter

    Benutzeravatar

    Peters Orden

    Beiträge: 692

    Registriert: Fr 8. Nov 2013, 16:50

    Beitrag Mi 3. Feb 2021, 10:57 von peter

    Re: [PzC2] LUA Skripts

    -- In der aktuellen Version von "Wehrmacht 2" V1.4 habe ich auch Helden eingebaut.
    -- Aus dem Anlass stelle ich es hier vor: Habe die Ehre!..

    -- Man kann Helden auch Einheiten zuordnen, aber dann muss die unit-ID auch existieren.

    -- Weil der Spieler seine Einheiten selbst bestimmt, ist die Zuordnung hier kaum möglich.
    -- Wenn man den Helden in Runde 0 erzeugt, kann der Spielr die Zuordnung noch in diesem Szenario in der Aufstellphase machen.

    -- Bei feindlichen Einheiten jedoch, muss man jeweils den Helden beim Start eines Szenario zuordnen.


    -- Ein Beispiel aus Spanien (1. Szenario):
    -- eigener Held, ohne unit-Zuordnung
    function CreateHero()
    local hero = NewHero() -- Held anlegen
    hero.portrait = "/Game/Gui/Common/Heroes/DE_AF_galland.DE_AF_galland" -- Bild zuweisen
    hero.name = NSLOCTEXT("scenario_W_Baskenland", "Adolf_Galland", "Adolf Galland") -- Namen
    hero.extra_traits = {UnitTrait.AimingAssistance, UnitTrait.FierceFighter, UnitTrait.Leadership} -- Bonus definieren
    local action = world:MakeNewHeroAction(0, hero) -- Held dem 1. Spieler zuweisen
    world:Exec(action) -- Ausführung
    end

    -- Beispiel aus Nordafrika (wenn man dort startet):
    -- feindliche Helden erzeugen und zuweisen
    function CreateAndAssignHero1(unit_id)
    local hero = NewHero()
    hero.portrait = "/Game/Gui/Common/Heroes/generic_standin.generic_standin"
    hero.name = NSLOCTEXT("scenario_Libya", "Peter_Libyen10", "Hero1")
    hero.attack_modifiers = {{type = TargetType.Soft, mod = 1}, {type = TargetType.Hard, mod = 1}, {type = TargetType.Air, mod = 1}}
    local action = world:MakeNewHeroAction(1, hero)
    world:Exec(action)

    local assign_hero_action = world:MakeAssignHeroAction(world:GetUnit(unit_id), hero.id)
    world:Exec(assign_hero_action)
    end

    function F1()
    CreateAndAssignHero1(3) -- "3" ist die unit-ID, die den Helden erhält
    end
    Dateianhänge
    Helden.zip
    (981 Bytes) 138-mal heruntergeladen
    Zuletzt geändert von peter am Di 23. Feb 2021, 08:07, insgesamt 1-mal geändert.
    • Nach oben
    • Mit Zitat antworten
    >>
    <<

    HBalck

    Benutzeravatar

    HBalcks Orden

    Beiträge: 295

    Registriert: Di 5. Nov 2013, 18:09

    Beitrag Mi 3. Feb 2021, 17:17 von HBalck

    Re: [PzC2] LUA Skripts

    Hallo Peter,
    Danke für deine tolle Arbeit hier ! Ich quäle mich auch gerade durch den Lua Lernpfad bei meiner PG3D Kampagne über Dir.

    Frage:
    1. Hast du vielleicht schon rausgefunden, wie man gespawnten Einheiten Namen geben kann ?
    2. Wie man Szenarien und der neuen Kampagne ein Bild (jpgs in Gui/Scenario) in der Campaigns.csv / Campaigns.uexp zuordnet ? Bei mir läuft das nicht.
    3. Sind denn unterschiedliche Ausgangsbriefings möglich, bzw. Major Victory, Victory, Loss etc ?
    4. Größtes Problem sind die Audiodateien - in der Mainkampagne funktioniern sie ja mit eineem Subordner. Ich kann aber derzeit auch unter Benutzung meines Unreal Engine Editor, diese Dateien nicht von wav zu uexp konvertieren - da scheint ein Extra-Code drin zu sein, den man mit normaler Unreal Engine nicht bekommt.
    5. Ortsnamen-Häckchen funktioniert nicht - sie können so nicht auf der Karte angezeigt werden.
    6. Das selbe mit eigenen Kommander-Bildern - würde gerne meine eigenen 3d Bilder herstellen - sieht dann besser aus alles im gleichen 3d Stil - schaust du hier:
    https://www.artstation.com/artwork/VgodyZ
    7. Über 3000 meiner 3d Einheiten warten darauf auf PC2 losgelassen zu werden - ich plane auch mein Peoples General für PC2 - für OoB ist es fertig:
    https://www.youtube.com/watch?v=KHe5lpAQDDA

    danke erstmal
    LG Micha (aka H.Balck)
    viewtopic.php?f=19&t=5771&p=346682#p346682
    https://www.artstation.com/michaelweinert
    https://www.facebook.com/H.Balck/
    • Nach oben
    • Mit Zitat antworten
    >>
    <<

    peter

    Benutzeravatar

    Peters Orden

    Beiträge: 692

    Registriert: Fr 8. Nov 2013, 16:50

    Beitrag Fr 5. Feb 2021, 10:56 von peter

    Re: [PzC2] LUA Skripts

    Leider gibt es zu LUA keine brauchbare Beschreibung. Deshalb analysiere ich bei Bedarf die .lua Dateien des Herstellers und experimentiere bis es bei mir funktioniert. Ich kann deshalb auch nicht wirklich helfen.

    zu 3) Bei „loss“ endet die Kampagne sofort. IMHO funktioniert das Debriefing hier nicht.
    Die Unterscheidung Major Victory/Victory gibt es bei PzC2 nicht. Deshalb gibt es nur ein Debriefing. Leider wird das Debriefing auch nicht beim letzten Szenario einer Kampagne ausgegeben. Man kann also nur für den Sieg in den Szenarien 1 bis n-1 ein Debriefing ausgeben.
    Das war bei PzC1 viel besser gelöst.

    zu 5) Bei mir werden die Ortsnamen immer auf der Hauptkarte angezeigt, wenn das Hägchen gesetzt ist. Ansonsten sieht man die Namen via Tooltipp.

    zu 7) Ich würde auch gerne eigene Einheitenbilder verwenden. Aber ich kann nur 2D Bilder bearbeiten und andere haben IMHO noch keine PzC2 Bilder veröffentlicht.
    Bei PzC1 gab es massig Bilder.

    Gruß, Peter
    Zuletzt geändert von peter am Mo 15. Feb 2021, 11:25, insgesamt 1-mal geändert.
    Dt-Kampagne Wehrmacht-Balance:
    Wehrmacht-Balance 3.1

    Italienische Kampagne Italia Victor!:
    Italia Victor! V3.1

    Sowjet-Kampagne Soviet-Balance:
    Soviet Balance V3.1
    • Nach oben
    • Mit Zitat antworten
    >>
    <<

    HBalck

    Benutzeravatar

    HBalcks Orden

    Beiträge: 295

    Registriert: Di 5. Nov 2013, 18:09

    Beitrag So 14. Feb 2021, 23:04 von HBalck

    Re: [PzC2] LUA Skripts

    titel = "Warnung"
    message1 = "Es wurden neue Feindflugzeuge im Westen gesichtet."

    function F1() -- neue Einheit erzeugen und platzieren + Ausgabe Nachricht
    local feld = {3,15} -- Ort
    local einheit = "I16" -- ID der Einheit I-16, siehe erste Spalte in units.csv
    local player = world:GetPlayer(1) -- welcher Spieler? (hier: 2.Spieler=Feind)
    local create_action = world:MakePurchaseAction(player, einheit, "", 0) -- Einkauf welcher Einheit?
    create_action.auxiliary = false -- Hilfs- oder Kerneinheit? (Kerneinheit)
    create_action.cost = 0 -- Preis? 0
    world:Exec(create_action) -- Kaufaktion!
    local unit = world:GetUnit(create_action.id) -- welche Einheit?
    local hex = world:GetHex(feld) -- welches Hex?
    if (hex:GetUnit(0) == nil) then -- prüfen, ob Hex frei ist
    deploy_action = world:MakeDeployAction(unit,feld) -- definieren, was wo platziert wird
    world:Exec(deploy_action) -- Platzierung der Einheit!
    end


    1. Aber wie setze ich die Transporteinheit mit diesem Script ?

    2. Außerdem habe ich das Problem in meinen PG3D Kampagnen hsitorische Kerneinheiten später zuzuführen - das geht nicht.

    3. Allen Verstärkungseinheiten kann kein name gegeben werden.

    Fazit: Ein absoluter Scheiß mit dem Lua-Script - Da steigt kein Mensch durch - ich bin nicht doof - habe 3 Univeritätsabschlüsse - aber so ein bedienerunfreundlichen Mist habe ich nocht nicht gessehen - habe die Nase voll langsam - das macht keinen Spaß mehr. In OoB - Peoples General habe ich bis zu 50 Trigger pro Szenario geschrieben - da ging was bei der KI - aber hier.

    Man kann keine vernünftigen Kampagnen produzieren und muß stattdessen diesen langweiligen Kerenzy - DLC Scheiß spielen (dabei kommt überhaupt kein PG Feeling rüber!!!) - Kampagnen auf historischem Kindergartenniveau - aber er kann Lua Scripting - das ist dann aber auch alles, was er kann.
    • Nach oben
    • Mit Zitat antworten
    >>
    <<

    asuser

    Benutzeravatar

    asusers Orden

    Beiträge: 21857

    Registriert: Sa 2. Nov 2013, 23:09

    Wohnort: Wehrkreis III

    Beitrag Mo 15. Feb 2021, 08:59 von asuser

    Re: [PzC2] LUA Skripts

    Kann es vielleicht sein, das es so funktioniert:

    -Im Editor wird die Einheit, die per Trigger erscheinen soll, auf das Feld gesetzt
    -Der Einheit werden alle Charakteristiken beigefügt, wie Name, Stärke, Erfahrung usw.
    -Danach wird der Trigger zu dieser Einheit aktiviert (Deploy), in dem Trigger Bereich muss die Einheit ja ausgewählt werden,
    auf die sich der Trigger bezieht
    -Zum Schluss wird das oben beschrieben LUA Script ausgewählt (passiert dann auch unter der Trigger Funktion) ganz unten in dem
    Auswahlfenster
    • Nach oben
    • Mit Zitat antworten
    >>
    <<

    HBalck

    Benutzeravatar

    HBalcks Orden

    Beiträge: 295

    Registriert: Di 5. Nov 2013, 18:09

    Beitrag Mo 15. Feb 2021, 09:16 von HBalck

    Re: [PzC2] LUA Skripts

    asuser hat geschrieben:Kann es vielleicht sein, das es so funktioniert:

    -Im Editor wird die Einheit, die per Trigger erscheinen soll, auf das Feld gesetzt
    -Der Einheit werden alle Charakteristiken beigefügt, wie Name, Stärke, Erfahrung usw.
    -Danach wird der Trigger zu dieser Einheit aktiviert (Deploy), in dem Trigger Bereich muss die Einheit ja ausgewählt werden,
    auf die sich der Trigger bezieht
    -Zum Schluss wird das oben beschrieben LUA Script ausgewählt (passiert dann auch unter der Trigger Funktion) ganz unten in dem
    Auswahlfenster


    Könnte auch sein - probier ich gleich mal !

    Edit: Nein geht nicht ! Die Einheiten sind dann doppelt auf der Karte - es funktioniert nicht so. Die gestzte Einheit auf der Karte wird eben nicht ausgewählt , weil keine ID anzuwählen ist.

    Als Verstärkung ist diese Script schon geeignet - Problem:
    1. Kein Name
    2. Keine Transport möglich - wo soll ich da den Transport schreiben ?

    Ist das alles eine Scheiße - Leute ich bin Historiker und 3d Künstler - keine Programmierer...
    • Nach oben
    • Mit Zitat antworten
    >>
    <<

    peter

    Benutzeravatar

    Peters Orden

    Beiträge: 692

    Registriert: Fr 8. Nov 2013, 16:50

    Beitrag Mo 15. Feb 2021, 11:23 von peter

    Re: [PzC2] LUA Skripts

    Transporter sind möglich. Der 3. Parameter “transport” bekommt die ID wie in units.csv.
    local create_action = world:MakePurchaseAction(player, einheit, transport, 0)

    Wie man der Einheit einen Namen gibt, ist mir nicht bekannt.
    • Nach oben
    • Mit Zitat antworten
    Nächste

    Antwort erstellen
    58 Beiträge • Seite 1 von 4 • 1, 2, 3, 4

    Zurück zu Panzercorps

    Wer ist online?

    Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste

    • Foren-Übersicht
    • Das Team | Alle Cookies des Boards löschen | Alle Zeiten sind UTC + 1 Stunde
     
     
Impressum