Mulitplayer KI Respawn & Helikopterexplosion in der Luft

  • Hallo zusammen :)


    Ich fasse meine 2 Probleme mal in einem Thread zusammen um nicht 2 Themen zu eröffnen.


    Zu meinem ersten Problem:


    Das Szenario besteht daraus, dass ich eine Trainingmission erstelle, wo in einem Hotel feindliche KI Einheiten an bestimmten Positionen per Funk-Auslöser spawnen. Dies funktioniert einwandfrei. Jedoch bewegen sich diese beim ersten Schuss hin und her was sie nicht sollen und laufen dabei auch auf die Straße, bzw weiter weg, sie sollen aber genau an den Positionen stehen bleiben. Mit disableai "move" habe ich schon probiert, hat aber nicht funktioniert, kann auch sein dass ich es nicht richtig in der sqf eingebaut habe. Ausserdem möchte ich nach jedem oder jedem 2. Durchlauf, auch per Funk-Auslöser, dass die Leichen mit Ausrüstung verschwinden, sodass man nicht jedes mal den Server neustarten muss.


    Hier ein kurzer Einblick in das script:


    _grp = createGroup EAST;
    AI_Spawn_1 = _grp createUnit [ "LOP_AFR_OPF_Infantry_Rifleman", [21993,20995.7,1.78919], [], 0, "CAN_COLLIDE"];


    _grp = createGroup EAST;
    AI_Spawn_2 = _grp createUnit [ "LOP_AFR_OPF_Infantry_Rifleman", [21992.8,20997.5,1.60155], [], 0, "CAN_COLLIDE"];


    _grp = createGroup EAST;
    AI_Spawn_3 = _grp createUnit [ "LOP_AFR_OPF_Infantry_Rifleman", [21996.7,20998.9,5.08184], [], 0, "CAN_COLLIDE"];


    ... ca noch weitere 20 Einheiten...


    Zu meinem zweiten Problem:


    Man fliegt als Passagier in einem Heli über ein Zielgebiet und wird "Animationstechnisch" von einer RPG oder einer sonstigen Rakete getroffen. Der Heli wird daraufhin per setdamage so abgestuft dass die Rotoren ausfallen und er auf den Boden kracht, mit allowdamage false überleben aber manche Insassen (Die Spieler) und der Heli an sich und die Mission geht weiter. Es geht lediglich darum eine Explosion am Heli zu erzeugen um dies zu simulieren. Mit (Bombe = "B_40mm_HE" createVehicle position Heli) funktioniert dies leider nicht, da die Granate dann ab Heli Höhe einfach runter fällt, sie soll aber am Heli sichtbar detonieren.


    Hier noch einmal zusammengefasst:


    KI Einheiten sollen nach dem spawnen nicht weglaufen
    Tote Einheiten (Zivilisten und EAST) sollen per Funk-Auslöser verschwinden
    Explosion am Heli während dem Flug erzeugen.


    Vielen Dank im Vorraus :)

  • Ich habe es mal so probiert, aber wieder gelöscht weil es nicht funktioniert hatte:


    _grp = createGroup EAST;
    AI_Spawn_1 = _grp createUnit [ "LOP_AFR_OPF_Infantry_Rifleman", [21993,20995.7,1.78919], [], 0, "CAN_COLLIDE"];
    AI_Spawn_1 disableAI "Move";


    _grp = createGroup EAST;
    AI_Spawn_2 = _grp createUnit [ "LOP_AFR_OPF_Infantry_Rifleman", [21992.8,20997.5,1.60155], [], 0, "CAN_COLLIDE"];
    AI_Spawn_2 disableAI "Move";


    etc...

  • Warum erstellst du eigentlich für jede einzelne Einheit eine neue Gruppe? Ist doch eigentlich unnötig, da man die ja prinzipiell auch alle in die selbe Gruppe stecken könnte :28_thinking:



    MOVE: disabling this will stop units from turning and moving. Units will still change stance and fire at the enemy if the enemy happens to walk right in front of the barrel. Unit will watch enemies that are in their line of sight, but won't turn their bodies to face the enemy, only their head. Works for grouped units as well. Good for staging units and holding them completely still. Movement can't be controlled by a script either, you have to re-enable movement for that. Unit will still be able to aim within his cone of fire.

    Dementsprechend ist disableAI "MOVE" wohl ohnehin nicht das, was du suchst, denn ich gehe davon aus, dass du durchaus willst, dass sich die KI noch drehen kann...


    "PATH" - stops the AI’s movement but not the target alignment Available only since Arma 3 v1.61.

    Dh ich würde es mal mit disableAI "PATH" probieren.

  • Ich habs mal so umgeschrieben:


    _grp1 = createGroup EAST;
    AI_Spawn_1 = _grp1 createUnit [ "LOP_AFR_OPF_Infantry_Rifleman", [21993,20995.7,1.78919], [], 0, "CAN_COLLIDE"];
    AI_Spawn_1 disableAI "PATH";


    AI_Spawn_2 = _grp1 createUnit [ "LOP_AFR_OPF_Infantry_Rifleman", [21992.8,20997.5,1.60155], [], 0, "CAN_COLLIDE"];
    AI_Spawn_2 disableAI "PATH";


    ...
    funktioniert auch danke :)


    Das mit den Leichen hab ich einfach als deleteVehicle Befehl eingefügt und klappt somit auch einwandfrei, danke für eure Hilfe :)