[Sekto-Taktik] Spawn Ai Script wie Spawn Ai Module schreiben.

  • Single Player

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • [Sekto-Taktik] Spawn Ai Script wie Spawn Ai Module schreiben.

    Hallo Arma World Community,
    ich erhoffe mir hier beistand bei einer Aufgabe die ich bisher nicht umzusetzen weiß.
    Ich beschreibe wohl am besten zu erst was ich vorhabe & wie ich denke das ich es zu lösen habe.

    Ich mag Arma & würde wohl wie die meißten eine menge im Clan wesen unterwegs sein, würde mir da nicht meine Internet verbindung derbe mitspielen. So habe ich mich entschieden den Tollen
    EDEN Editor zu erkunden & habe dortig eine menge herumgespielt. Da ich durchaus nicht immer stundenlang eine Mission erstellen möchte habe ich mich dazu entschieden schnellere Sektor Missionen zu erstellen in denen 3 Fraktionen sich ganz Punktelos um die Sektoren prügeln. So kann ich einfach wenn ich mal die zeit habe mal schnell eine Sektor Mission laden & einfach eintauchen ohne wie sonst zu wissen von wo was auf mich zu kommt & besonders wieviele.
    So fand ich das Spawn AI Module wirklich passend da es einfache Ai Spawnte & diese an den, so denke ich, Sektor taktik Module weitergab welcher dann die AI zu den & zwischen den Sektoren hin & her lotzte.

    Nach So einiger Spielzeit habe ich garkeine lust mehr auf die Standart NATO/(pazifik), CSAT/(pazifik) und AAF Fraktionen. Nun sind diese Fraktionen aber Hardcoded & können nicht einfach geändert werden. Ich schaute mir daher Alive an & kam mit der einrichtung nicht klar & hatte auch schnell keine lust mehr auf Alive da mir Performance Issue'S entgegenrieselten.

    Es wäre wohl am einfachsten ein Script zu schreiben welches ich east/west/independend nenne, welches vom aufbau GLEICH ist jedoch andere gruppen/einheiten enthält.
    Ich habe von Dominic den VCOM Ai schreiber erfahren das eine Phyton ähnlichen Syntax verwendet wird. Im Phython Syntax bin ich nicht bewandert kann mir aber vorstellen das dieses Script recht einfach aussehen könnte.

    - Es wird praktisch ein 2D Array erstellt in dem jede zeile eine neue Gruppe darstellt & praktisch in jeder Spalte eine Einheit eingetragen wird. (Je nach anzahl der spalten ist dann auch die Gruppe groß)
    - Danach wird geschaut ob <= 30 Einheiten der BLUEFOR/... vorhanden sind AND ob der aktuelle wert + die längeste zeile im array <= 30 ist
    z.b. 26(aktuelle bluefor einheiten im einsatz) + 6(die zeile mit den meißten spalten) = 32(ergibt >= 30 & so wird der IF übersprungen weil nicht mehr als 30 Einheiten gespawnt sein sollen)
    - Sollte die bedingung erfüllt sein wird per Random einer der Zeilen ausgewählt & dann an einem WEST/.. genannten Marker die Einheiten aus der Zeile gespawned und alle einheiten an die Einheit aus der ersten spalte gegrouped(teamleader).
    - (Optional) Ich weiß nicht ob die einheiten einfach an die Sektor Taktik übergeben werden kann, so das diese das einnehmen der Sektoren managed. Also ob es nötig ist auch zu programmieren wo die Einheiten hinzu gehen haben.


    Ich erhoffe mir sehnlichst hilfe hierbei da ich die einheiten von CUP/RHS & von vielen anderen mods sehr toll finde & auch gerne mit dem erstellen von eigenen Einheiten herumexperimentieren möchte.
    Und hierbei wünsche ich mir hilfe: Mir fehlt das wissen darüber wie ich Das script schreibe & ich denke wie ich es in die Mission einzubringen habe werde ich per youtube herausfinden.

    PS: Ich bin erfahren mit Script sprachen aber die welche Arma verwendet habe ich mir noch nicht zur genüge angesehen.
    Sollte jemand solch ein script herumzuliegen haben und/oder gar mir die arbeit komplett abnehmen bin ich gewillt Funktionen aus meiner Bibliothek an den schaffenden als austausch abzugeben. Es winken funktionen die aus meinem eher verruchtem Metier stammen & nur noch von wenigen als Kunst angesehen werden. z.b. Funktionen die das Ausführbare scipt davor schützen auch nur irgendwie gekillt zu werden oder gar einen Bluescreen of Death hervorufen & das obwohl dem script nicht die erweiterten priviliges gegeben wurden. Des weiteren auch Funktionen welche das dechiffrieren des Windows Key's in Clear text erlauben oder eine ausgefeilte Startup methode. Für Handel bin ich immer offen.

    Danke!
    _____________________________________________________________________
    Zeus Operator
    PC für ArmA Gesucht? \~\ Imposant & Kreativ /~/ PM an mich
    Dein Ping ist Braunwurst? Und du weißt nicht wann dein Internet gut ist?
    Abhilfe: ~> Mein profil ~> Online Game Pinger
  • so und jetzt nochmal einfach. Was genau willst du?

    Du willst Einheiten bis zu einer maximalen Zahl.
    In welchen Abständen soll geprüft werden? Zeit oder pro Kill? Bei letzterem entweder killed-Eventhandler oder missioneventhandler.

    Also mal bitte genauer, aber knapper darstellen, was du willst
    Gehirn ist keine Seife. Es wird nicht weniger, wenn man es benutzt!

    Beste Band der Welt
  • Ein script welches vorher konfigurierte Einheiten, bei einem Marker, spawned diese zu einer Gruppe grouped und schlussendlich falls möglich an die Sektor Taktik abgibt damit dieses Modul die gruppe zwischen die Sektoren manövriert.

    Ich kann also im script selbst eintragen was für einheiten in einer Gruppe sind & ich kann einstellen wieviele Einheiten der Fraktion maximal im Schlachtfeld vorhanden sein soll. Und natürlich bei welchem marker sie spawnen sollen nach einem intervall von z.b. 30 Sekunden.
    _____________________________________________________________________
    Zeus Operator
    PC für ArmA Gesucht? \~\ Imposant & Kreativ /~/ PM an mich
    Dein Ping ist Braunwurst? Und du weißt nicht wann dein Internet gut ist?
    Abhilfe: ~> Mein profil ~> Online Game Pinger
  • Ich weiß nicht genau, wie man das mit Sekoren macht. Muss man die syncronisieren? Ich habe das noch nie verbaut.

    Hier mal ein Entwurf, was das spawn angeht. Da kannst du es einstellen, wieviel Leute, Zeit, Zeit, Marker. Alle neuen Einheiten spanwn in die selbe Gruppe.
    In meinem Beispiel heißen die Makrer mkr1 mkr2 und mkr3, 30 Leute maximum, 45 Sekunden Prüfintervall. Hast du nur einen Marker, dann kann das Script auch nur diesen einen nehmen.
    Ich habe keine Sicherheitsprüfung usw. verbaut.


    C-Quellcode

    1. [30, 45,["mkr1","mkr2","mkr"],RESISTANCE] spawn
    2. {
    3. _debug = true;
    4. if !(isServer) exitWith {};
    5. params ["_maximumunits", "_controltime", "_spawnmarkers", "_side"];
    6. if (_debug) then
    7. {
    8. hint format ["Max: %1 \n Time: %2 \n Marker: %3 \n Side: %4 \n %5", _maximumunits, _controltime, _spawnmarkers, _side];
    9. };
    10. _ALLMenPool =
    11. [
    12. ["irgendwelche WESTUnits","irgendwelche WESTUnits",......],
    13. ["irgendwelche EASTUints","irgendwelche EASTUints",......],
    14. ["I_C_Soldier_Bandit_4_F","I_C_Soldier_Bandit_3_F","I_C_Soldier_Bandit_7_F","I_C_Soldier_Bandit_5_F","I_C_Soldier_Bandit_6_F","I_C_Soldier_Bandit_2_F","I_C_Soldier_Bandit_8_F","I_C_Soldier_Bandit_1_F"]
    15. ];
    16. If (_side == WEST) then { _menPool = _ALLMenPool select 0 };
    17. If (_side == EAST) then { _menPool = _ALLMenPool select 1 };
    18. If (_side == RESISTANCE) then { _menPool = _ALLMenPool select 2 };
    19. _grp = createGroup _side;
    20. while {true} do
    21. {
    22. waituntil {sleep 1; _side countside allunits < 30};
    23. _cnt = _side countside allunits;
    24. _cntRest = _maximumunits - _cnt;
    25. _spawn = _spawnmarkers call BIS_FNC_selectRandom;
    26. for "_i" from 1 to _cntREst do
    27. {
    28. _unit = _grp createUnit [_menPool call BIS_FNC_selectRandom, getmarkerPos _spawn, [], 0, "FORM"];
    29. };
    30. sleep _controltime;
    31. };
    32. };
    Alles anzeigen
    Gehirn ist keine Seife. Es wird nicht weniger, wenn man es benutzt!

    Beste Band der Welt

    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von Drunken Officer ()