• 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 2 von 4 • 1, 2, 3, 4
    >>
    <<

    asuser

    Benutzeravatar

    asusers Orden

    Beiträge: 21857

    Registriert: Sa 2. Nov 2013, 23:09

    Wohnort: Wehrkreis III

    Beitrag Mo 15. Feb 2021, 11:26 von asuser

    Re: [PzC2] LUA Skripts

    Ist das LUA File wenn es fertig ist in dem Kampagnenorder oder in dem Content Data Ordner abzulegen?
    Evtl. hat der Trigger das LUA File nicht gefunden?
    • 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:32 von peter

    Re: [PzC2] LUA Skripts

    Das LUA file muss im gleichen Ordner wie das Szenario liegen. Auch der Name muss zum Szenario passen; siehe meine erste Post.
    • Nach oben
    • Mit Zitat antworten
    >>
    <<

    HBalck

    Benutzeravatar

    HBalcks Orden

    Beiträge: 295

    Registriert: Di 5. Nov 2013, 18:09

    Beitrag Mo 15. Feb 2021, 18:11 von HBalck

    Re: [PzC2] LUA Skripts

    Danke dir Peter für den Hinweis mit dem Transport, das geht jetzt.

    1. Kann man so auch nachträgliche Kerneinheiten reinbringen ? Die im Szenario gesetzten Kerneinheiten, werden ja in der Kampagne nicht angezeigt.

    2. Gibt es keine Befehlszeile für die Benennung der Einheit ? In den Gurkenniveau-DLC-Kampagnen nicht nötig, bei meinen historischen und ausprogrammierten Szenarien aber schon.

    3. Wo trage ich dort die Erfahrung der kommenden Einheit ein ?

    4. Wo trage ich die Richtungsorientierung ein ?

    5. Wo trage ich gegebenenfalls den Befehl für eine KI gesteuerte Einheit ein ?

    6. Im Multiplayer über den server werden keine Lua Scripts aufgerufen - es erscheinen dort keine Verstärkungen, Heros oder sonstige Einträge ! Das ist ein riesiger bug oder ?

    7. Habe diese Befehlszeilen im Szenario AragonOffensive gefunden - damit könnte man Befehle von Einieten oder Einheitengruppen verändern. Aber wie genau ?
    ----------------------------------------------------------------------------------
    --ai commands

    units_without_orders = {}

    function AllySetOrder(order)
    for id,u in pairs(world.units) do
    if (u.owner_id == 1) then
    local orders = u.orders

    if (next(orders) == nil or orders[1]:GetOrderClass() == "AIOrderDefault") then
    units_without_orders[u.id] = true
    end

    if (units_without_orders[u.id]) then
    orders = {NewOrder(order)}
    u.orders = orders
    end
    end
    end
    end

    function AllyAttack()
    MessageBox("", "Spanish Nationalist units will attack the nearest hostile victory hex.")
    AllySetOrder("AIOrderAttacker")
    end

    function AllyDefend()
    MessageBox("", "Spanish Nationalist units will defend the nearest friendly victory hex.")
    AllySetOrder("AIOrderDefender")
    end

    function AllyHoldPosition()
    MessageBox("", "Spanish Nationalist units will hold position where they are.")
    AllySetOrder("AIOrderHoldPositionFire")
    end
    ----------------------------------------------------------------------------------
    • Nach oben
    • Mit Zitat antworten
    >>
    <<

    HBalck

    Benutzeravatar

    HBalcks Orden

    Beiträge: 295

    Registriert: Di 5. Nov 2013, 18:09

    Beitrag Di 16. Feb 2021, 05:13 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


    Und wo stellt man bitte die Stärke der Einheit ein - z.B. 15 oder 10 Stärkepunkte ?
    • Nach oben
    • Mit Zitat antworten
    >>
    <<

    peter

    Benutzeravatar

    Peters Orden

    Beiträge: 692

    Registriert: Fr 8. Nov 2013, 16:50

    Beitrag Di 16. Feb 2021, 12:02 von peter

    Re: [PzC2] LUA Skripts

    Es wird immer die Default Größe verwendet (10 bzw. 15). Wie man das ändert -falls überhaupt möglich-, ist mir nicht bekannt.
    Meine Erkenntnisse kann ich nur den bestehenden LUA Scripts des Herstellers entnehmen.

    Edit:
    Der 4. Parameter von MakePurchaseAction(player, einheit, "", 0) ist die Erfahrung (hier 0).
    • Nach oben
    • Mit Zitat antworten
    >>
    <<

    HBalck

    Benutzeravatar

    HBalcks Orden

    Beiträge: 295

    Registriert: Di 5. Nov 2013, 18:09

    Beitrag Di 16. Feb 2021, 16:58 von HBalck

    Re: [PzC2] LUA Skripts

      Code:
    Der 4. Parameter von MakePurchaseAction(player, einheit, "", 0) ist die Erfahrung (hier 0).

    Nein funktioniert nicht !
    • Nach oben
    • Mit Zitat antworten
    >>
    <<

    HBalck

    Benutzeravatar

    HBalcks Orden

    Beiträge: 295

    Registriert: Di 5. Nov 2013, 18:09

    Beitrag Mi 17. Feb 2021, 08:01 von HBalck

    Re: [PzC2] LUA Skripts

    Gibt es ein Lua-Script, wo KI Einheiten die Karte verlassen, wenn sie einen Punkt erreicht haben, z.B auf dem Supply-Hexfeld ?

    Ich brauche dieses Feature für das Szenario Fort Mechili, da müssen die Australier das Supply zu Tobruk erreichen und müssen dann von der Karte genommen werden, so das dann der Kampagnenspieler sein Bonusziel, Einheiten zerstören, nicht erreicht. In OoB war das ein spezieller Trigger "Karte verlassen" - habe das in PC2 noch nicht gefunden in den DLCs.
    • Nach oben
    • Mit Zitat antworten
    >>
    <<

    peter

    Benutzeravatar

    Peters Orden

    Beiträge: 692

    Registriert: Fr 8. Nov 2013, 16:50

    Beitrag Do 18. Feb 2021, 08:39 von peter

    Re: [PzC2] LUA Skripts

    Nachdem ich den 3. LUA Mechnismus entschlüsselt habe, will ich es hier vorstellen:
    Manchmal will man dem Spieler nicht eine Einheit triggern, sondern nur die Möglichkeit eröffnen, erobertes Equipment zu kaufen.


    -- Beispiel:
    -- Wenn Spieler Hex {9,8} erobert, 20 Stärkepunkte der Einheit 203mmM1931 als "captured" zuweisen
    -- Spieler erhält keine Einheit, sondern Stärkepunkte unter "captured" zum Kauf oder Update
    -- für eigene Einheiten "prototypes" statt "captured" verwenden!

    -- nötig im Editor unter Trigger:
    -- Count: 0
    -- Condition kann leer bleiben
    -- Actions: CaptureFlagAction
    -- Function: OnCaptureDepot

    Depot = {{9,8}} -- auch mehrere Depots möglich
    string = "General, wir haben ein Lager mit Artillerie erobert."

    -- In diese Tabelle werden alle eroberten Depots eingetragen, damit man den Bonus nur bei der 1. Eroberung erhällt
    captured_depots = {}

    function OnCaptureDepot(action)
    if (action.new_owner == 0 and IsItemInTable(Depot, action.flag)) then -- nur ausführen, wenn Spieler (player0) Depot erobert
    if IsItemInTable(captured_depots, action.flag) then return end -- Abfrage ob Depot bereits erobert ist

    AddEquipment(0, "203mmM1931", 20, captured) -- Spieler0 erhält 20 Stärkepunkte von 203mmM1931 als captured
    -- AddEquipment kann man hier auch mehrfach aufrufen
    TutorialMessage(string) -- Nachricht an Spieler
    table.insert(captured_depots, action.flag) -- Merken, dass das Depot erobert wurde
    else
    return
    end
    end

    -- die 3 hierfür nötigen Hilfsfunktionen
    function FindItemInTable(table, item)
    for index,i in ipairs(table) do
    if i == item then
    return index
    end
    end
    return -1
    end

    function IsItemInTable(table, item)
    return FindItemInTable(table, item) ~= -1
    end

    function AddEquipment(player_id, unit_type, quantity, category) -- eigentliche Funktion um Equipment hinzuzufügen
    local player = world:GetPlayer(player_id)
    local equipment = player.equipment
    local type = GetUnitType(unit_type)
    local eq = equipment[type]
    if (eq == nil) then
    eq = NewEquipment()
    eq.category = category
    equipment[type] = eq
    end
    eq.quantity = eq.quantity + quantity
    player.equipment = equipment
    end
    Dateianhänge
    captured.zip
    (1.14 KiB) 122-mal heruntergeladen
    Zuletzt geändert von peter am Di 23. Feb 2021, 08:04, 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 Fr 19. Feb 2021, 00:27 von HBalck

    Re: [PzC2] LUA Skripts

    Peter - vielen Dank - es wäre echt cool, wenn du in mein Mod-Team einsteigen kannst.

    Habe das hier geschrieben:
    Ich mache die historische Hinterfragung der Szenarien, die geografisch korrekte Kartenarbeit (da wären aber auch noch 1-3 Leute hilfreich), die 3d Präsentation der Kartenintros, die 3d Modelle der Einheiten + Animation + Effektanimationen, die Audiobriefings, das Soundsystem der Einheiten, den Einheiten mod der unit.scv, die Kampagnenscripts, die Kommadeurbilder in 3d, die Lua-Scripts der Szenarien (da wäre Peter toll da zu helfen oder das komplett zu machen), Terrain 3d-Arbeit.
    von Trotha testet schpn fleißig die MP Szenarien gegen mich - wir spielen jetz schon Nr.2.

    Dann bist du aber Teil des PC2 PG3D mod Teams !
    Wäre geil.... groovy....
    • Nach oben
    • Mit Zitat antworten
    >>
    <<

    peter

    Benutzeravatar

    Peters Orden

    Beiträge: 692

    Registriert: Fr 8. Nov 2013, 16:50

    Beitrag Fr 19. Feb 2021, 09:25 von peter

    Re: [PzC2] LUA Skripts

    Danke, aber ich modde lieber alleine. Jeder hat seine eigenen Vorstellungen wie ein Mod aussehen sollte. Und faule Kompromisse mache ich nicht gerne.

    Auch wenn es hier vielleicht anders rüber komm, bin ich LUA Anfänger. Ohne Handbuch kann ich auch nicht zum Experten werden.
    Für jede der 3 LUA-Features, die ich bisher ausreichend entschlüsselt haben, habe ich die Anwendung des Herstellers analysiert. Und danach jeweils viele Stunden experimentiert.

    Unabhängig davon dürfen andere Modder .lua and andere Teile meiner Mods gerne für sich selbst nutzen (solange es nicht komerziell genutzt wird).
    Es wäre nett, wenn ich dann in credits genannt werden würde.
    Und ich beantworte hier Fragen, wenn ich eine sinnvolle Antwort habe.

    Gruß, Peter
    • Nach oben
    • Mit Zitat antworten
    >>
    <<

    asuser

    Benutzeravatar

    asusers Orden

    Beiträge: 21857

    Registriert: Sa 2. Nov 2013, 23:09

    Wohnort: Wehrkreis III

    Beitrag Sa 20. Feb 2021, 10:42 von asuser

    Re: [PzC2] LUA Skripts

    Ich habe die DLC noch nicht durchgespielt. Gibt es hier eine Situation, wo man Kriegsgerät erbeutet und dann als neue Kerneinheit übernimmt? Wäre auch eine interessante Funktion.

    Im Editor ist mir aufgefallen, dass es weniger Trigger zu Einheiten gibt, sondern die Trigger sich meistens auf Rundensituationen beziehen. Die eigentliche Aktion wird dann im LUA Script definiert. Finde ich sehr umständlich und zu kompliziert.
    • Nach oben
    • Mit Zitat antworten
    >>
    <<

    peter

    Benutzeravatar

    Peters Orden

    Beiträge: 692

    Registriert: Fr 8. Nov 2013, 16:50

    Beitrag Mo 22. Feb 2021, 08:28 von peter

    Re: [PzC2] LUA Skripts

    Bei DLC1 (Spanien) werden ein spanischer Panzer und 3 Ju52Bomber dem Spieler zugeordnet.
    Ansonsten kann der Spieler „captured“ Stärkepunkte der spanischen Republik erhalten. Ein Beispiel dazu habe ich in diesem Thread gezeigt.
    Allerdings sollte man captured nur in LUA verwenden. Wenn man es im Szenario-Editor verwendet, ist dieser Einheitentyp dann kostenlos – aus meiner Sicht ein Bug.
    Mir als Spieler ist es lieber Captures bzw. Prototypes für eigenes Gerät zu erhalten, als dass man mir Einheiten aufzwingt.
    Bei PzC1 habe ich oft die Geschenke verkauft, weil ich meine eigene Vorstellung hatte, wie ich meine Kerntruppe zusammenstelle.

    Hinweis: Prototypes funktionieren im Editor.
    Und ja, LUA ist kompliziert. Beim spielen von DLC1 ist mir aufgefallen, dass selbst der Hersteller Fehler in LUA macht.
    Zuletzt geändert von peter am Di 23. Feb 2021, 08:00, insgesamt 1-mal geändert.
    • Nach oben
    • Mit Zitat antworten
    >>
    <<

    asuser

    Benutzeravatar

    asusers Orden

    Beiträge: 21857

    Registriert: Sa 2. Nov 2013, 23:09

    Wohnort: Wehrkreis III

    Beitrag Mo 22. Feb 2021, 08:58 von asuser

    Re: [PzC2] LUA Skripts

    Zu dem Einheitenpool noch eine allgemeine Frage:

    Wie geht man am Besten vor, wenn man neue Einheiten oder "gespiegelte" Einheiten mit anderen Eigenschaften nutzen möchte?

    Nimmt man da das Units file (in Text Datei umwandeln, damit man die Kommatrennung besser lesen kann), schreibt die neue Einheit da rein, oder
    nimmt man das equipment file (liegt unter Editor/Data, ist schon Textfile, ähnlich wie bei PC1), schreibt die neue Einheit da rein und geht dann in den Editor um das
    equipment file in eine neue Units Datei zu transformieren? Habe letztere Variante im Slith… Forum so gelesen.

    Wenn ich das gleich in der Units Datei hinbekomme, wäre das doch der elegantere Weg, oder?
    • Nach oben
    • Mit Zitat antworten
    >>
    <<

    HBalck

    Benutzeravatar

    HBalcks Orden

    Beiträge: 295

    Registriert: Di 5. Nov 2013, 18:09

    Beitrag Mo 22. Feb 2021, 14:59 von HBalck

    Re: [PzC2] LUA Skripts

    Wenn ich das gleich in der Units Datei hinbekomme, wäre das doch der elegantere Weg, oder?

    Units reicht - CSVBuddy.exe ist das Mega tool dafür

    download CSVBuddy:
    https://www.dropbox.com/s/7psnr1nrqd8ih ... y.exe?dl=0
    • Nach oben
    • Mit Zitat antworten
    >>
    <<

    asuser

    Benutzeravatar

    asusers Orden

    Beiträge: 21857

    Registriert: Sa 2. Nov 2013, 23:09

    Wohnort: Wehrkreis III

    Beitrag Mo 22. Feb 2021, 18:31 von asuser

    Re: [PzC2] LUA Skripts

    Danke. Feine Sache.

    Hier muss man sich trotzdem eine Sicherheitskopie der Original Units Datei vorher beiseite legen. Beim abspeichern kann auch einiges schief gehen.

    Merkt man gleich, wenn man die neue Datei ins Spiel kopiert und das Spiel dann abstürzt oder im Editor die Einheitenliste plötzlich leer ist.
    • Nach oben
    • Mit Zitat antworten
    VorherigeNächste

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

    Zurück zu Panzercorps

    Wer ist online?

    Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

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