![]() |
#1 (permalink) |
![]() Registriert seit: 16.10.2012
Beiträge: 63
|
![]()
Hallo, zuallererst möchte ich darauf aufmerksam machen, dass ich schon seid einigen Tagen versuche, das alleine hinzukriegen. Hab aber kein einsteigerfreundliches Tutorial gefunden.
Nun zu meinem Script: Spieler betritt ein Gebiet(zb. Cherno) (Auslöser wird betätigt und löst Script aus) ->daraufhin spawnen in der näheren Umgebung Civilisten (max 50 Einheiten/ zufälliger Spawnpunkt Entfernung max. 150 meter) Spieler bewegt sich, also sollen alle Einheiten, die sich dann außerhalb der 100 m befinden gelöscht werden (Wie das löschen geht, weiß ich mittlerweile dank Moerderhoschi::) ----------------------------------------------------------------------- man bäuchte also drei Zonen: eine Globale (Städte, Dörfer, Flugfelder) und zwei lokale(halt innerhalb dieser globalen Zonen[damit nicht zuviele Einheiten gespawnt werden]) 1. lokale Zone: Kreis mit 150m Radius 2. lokale Zone: Kreis mit 100m Radius Dann bräuchte man ja verschiedene Gruppen der Einheitentypen grp1 = Zivilisten grp2 = Soldaten grp3 ... diese sollten dann entlang des Kreisrandes der 2. lokalen Zone spawnen (Platzierungsradius = 10, möglichst nacheinander, damit ArmA nicht abstürzt ![]() alle Einheiten die sich außerhalb der 1. lokalen Zone befinden, werden dann gelöscht. Ich hab das ganze mal skizziert: http://www.bulletrun-hq.com/imagehos...annt7O7TMD.jpg Ich hoffe mal das ihr mir hier helfen könnt ![]() PS: das ähnelt halt ziemlich DayZ was das mit den Spawns angeht Geändert von sandmanGER (17.10.2012 um 16:34 Uhr). |
![]() |
![]() |
#2 (permalink) |
![]() ![]() ![]() ![]() Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
![]()
Folgend ein Skript mit dem du ringförmig Objekte um eine Position aufstellen kannst.
Zum Testen in einem Mehrfach-Funkauslöser rufe das Skript in "Bei Akt." folgend auf: temp = [player, position Fahne1,10,5] execVM "RingPlazierung.sqf" Für die Referenzposition erstelle eine Fahne mit Namen Fahne1 Zur genauen Funktionsweise lies die Kommentare im Skript. Skript: RingPlazierung.sqf Code:
//Stellt ein Objekt in zufälliger Himmelsrichtung um eine Referenzposition auf // // [Aufstellobjekt, Referenzposition, Distanz zur Position, Abweichung] execVM "RingPlazierung.sqf" _objekt = _this select 0; //aufzustellendes Objekt _refPos = _this select 1; //Referenzposition für die Distanz _distanz = _this select 2; //Distanz zur Referenzposition _abweich = _this select 3; //Abweichung //Abweichung zur Distanz berechnen _distanz = _distanz - _abweich/2 + (Random _abweich); //Position der Aufstellung um den Referenzpunkt von 0-360 Grad _dir = (Random 360)+1; _objekt setPos [(_refPos select 0)+_distanz*sin(_dir),(_refPos select 1)+_distanz*cos(_dir)]; //Objekt in Richtung Referenzposition ausrichten _objekt SetDir (_dir+180); |
![]() |
![]() |
#3 (permalink) |
![]() Registriert seit: 16.10.2012
Beiträge: 63
|
![]()
erstmal danke für deine Unterstützung,
Ich habe "player" mit "Fahne1" vertauscht, damit die Flagge bei mir spawnt Wie muss ich das ändern damit die Fahne gespawnt wird und ich die nicht erst erstellen muss? Also mind. 1 Fahne bis 20 Fahnen. Wie kann ich daraus ne Schleife machen, dass es alle 5 sek eine Fahne gespawnt wird? Geändert von sandmanGER (17.10.2012 um 19:23 Uhr). |
![]() |
![]() |
#4 (permalink) |
![]() ![]() ![]() ![]() Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
![]()
Das Skript versetzt nur bestehende Objekte. Im Spiel sind diese zuvor zu erstellen mit diesen Befehlen:
http://community.bistudio.com/wiki/createVehicle (für Objekte wie Fahrzeuge Fahnen usw.) http://community.bistudio.com/wiki/createUnit (für Soldaten) Hast du die Objekte schon im Editor erstellt, dann musst du ihnen einen Namen geben und den Namen dem Skript zum Verstellen übergeben. |
![]() |
![]() |
#5 (permalink) |
![]() Registriert seit: 16.10.2012
Beiträge: 63
|
![]()
alles klar, danach soll die Einheit entfernt werden,
wenn sie mehr als 150m von dem Spieler entfern ist (da der spieler sich ja auch bewegt). _entfern = player Distance Fahne1; IF _entfern >= 150; THEN deleteVehicle Fahne1; Mir ist klar das das so nicht funktionieren wird, aber dadurch weißt du wie ich mir das vorstelle. |
![]() |
![]() |
#6 (permalink) |
![]() ![]() ![]() ![]() Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
![]()
Zum Entfernen kann man http://community.bistudio.com/wiki/nearestObjects verwenden. Da ist der ClassName der Fahne und der Radius für den Entfernungsbereich als Parameter anzuführen. Die dabei gefundenen Fahnen werden in einem Array ausgegeben und können so einfach entfernt werden.
|
![]() |
![]() |
#7 (permalink) |
![]() Registriert seit: 16.10.2012
Beiträge: 63
|
![]()
tut mir leid bin aber n Neuling,
was ich bisher hab: temp = [Fahne1, position player,10,5] execVM "RingPlazierung.sqf" // spawnt jetzt sollen ja alle einheiten, die sich in einem Radius zwischen 70 - 150(!) befinden, gelöscht werden. ich versteh nicht wie ich das "nearestObjects [player, ["Fahne"], 200]" einbauen soll, und ob du das überhaupt gemeint hast. |
![]() |
![]() |
#8 (permalink) |
![]() ![]() ![]() ![]() Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
![]()
Hier ist eine Auflistung von Befehlen mit denen man Programmroutinen für Arma schreiben kann: http://community.bistudio.com/wiki/C...Commands_ArmA2
Das von mir erstellte Skript kann nur ein Objekt an eine Position auf der Karte versetzen. Für das Löschen von Objekten ist eine andere Programmroutine erforderlich. Bevor du dich mit Befehlen befasst, solltest du dich mit den Grundlagen der Programmierung vertraut machen. Das kannst du hier nachlesen: http://community.bistudio.com/wiki/Syntax |
![]() |
Stichworte |
trigger script |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
Themen-Optionen | |
Ansicht | |
|
|
![]() |
||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Einheiten in Gruppe löschen | Brubaker | Editing | 6 | 26.05.2011 18:44 |
Einheiten springen gleichzeitig aus Helikopter bei Bodenberührung | ca$hflow | Editing & Scripting | 24 | 25.09.2010 19:41 |
Heal/Repair Script / Einheiten in einem Radius zufällig generieren lassen | Noobfire | Editing & Scripting | 8 | 06.08.2010 16:22 |
Script-Problem: Einheiten löschen | Kampfmöhre | Editing & Scripting | 5 | 31.05.2010 13:37 |
Falsche KI-Gruppen spawnen! | GER_CJ-187 | Editing & Scripting | 2 | 28.05.2010 19:58 |