Armed-Assault.de Twitter
Antwort
 
Themen-Optionen Ansicht
Alt 12.05.2014, 20:57   #1 (permalink)
50 Beiträge
 
Registriert seit: 12.05.2014
Beiträge: 68
Standard Einheiten und objekte an zufalls Position

Hallo erstmal
Hab mich heut hier mal angemeldet weil mir das ewige gegoogle und doch nix find aufn sack geht☺ und bin voller Hoffnung das ihr mir weiter helfen könnt.

Ich komm gleich mal zum punkt.

In meiner mission sollen 2 luftabwehr stellungen, zufällig in einem bestimmten bereich über ein script spawnen.
Schon mal eins vorab meine Script Kenntnisse this=null☺.
Das ganze dann fürn multiplayer.

Hab schon gegooglet und bei euch im Forum geschaut aber nix gefunden.

ja ich hab auch die editing bibel schon durch geschaut.
Bin bei dem kapitel zufalls Position hängen geblieben, bin aber noch nicht durch gestiegen wie ich das auf objekte und einheiten anwenden soll.

Danke schon mal im vorraus.
[ate]minimal ist offline   Mit Zitat antworten
Alt 12.05.2014, 22:40   #2 (permalink)
50 Beiträge100 Beiträge250 Beiträge
 
Registriert seit: 10.10.2006
Beiträge: 263
Standard

Du kanst entweder

Code:
_objekt = "Rabbit_F";
_plus = (round random 300) - (round random 300);
_plus2 = (round random 300) - (round random 300);
_pos2 = [((getPos player)select 0) + _plus, ((getPos player)select 1) + _plus2,0.2];
_hase = createVehicle [_objekt, _pos2, [], 0, "NONE"];
Dies würde einen Hasen im zufall von 300 meterradius um dich erstellen

alternativ kannst du auch vorgebene Zufallspositionen sagen
Nokman ist offline   Mit Zitat antworten
Alt 13.05.2014, 01:57   #3 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Drunken Officer
 
Registriert seit: 15.05.2011
Beiträge: 1.108
Standard

Oder du schreibst
Code:
if (!isServer) exitWith {};
for "_i" from 1 to 2 do
{
createVehicle ["namederEinheit", getPos .... , [], 300, "NONE"];
};
Wenn du die AA-Stellung im Editor platzierst, dann siehst du im Dialog rechts oben den Namen.
bei getPos musst du einfach etwas platzieren und benennen. Nimm ein "unsichtbares H" und alles ist chick. Das bildet den Mittelpunkt um die, die 300er Zone aufgebaut wird
Drunken Officer ist offline   Mit Zitat antworten
Alt 13.05.2014, 07:15   #4 (permalink)
50 Beiträge
 
Registriert seit: 12.05.2014
Beiträge: 68
Standard

danke für die schnelle antwort.

aber damit kann ich ja jetzt immer nur eine einheit an irgend einer posi spawn oder seh ich des falsch???..

sorry wenn die fragestellung falsch war.

mein gedanke war dieser...das ich die stellungen im editor bastle, aus der sqm die daten nehm in ein script reinpack über die zeilen dann ein random setz...so das der komplette block dann zufällig gespwant wird. so wie bei den side missions der domination.
[ate]minimal ist offline   Mit Zitat antworten
Alt 13.05.2014, 08:37   #5 (permalink)
SQF Zauberer 10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Vienna
 
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
Standard

Zitat von Nokman Beitrag anzeigen

Du kanst entweder

Code:
_objekt = "Rabbit_F";
_plus = (round random 300) - (round random 300);
_plus2 = (round random 300) - (round random 300);
_pos2 = [((getPos player)select 0) + _plus, ((getPos player)select 1) + _plus2,0.2];
_hase = createVehicle [_objekt, _pos2, [], 0, "NONE"];
Dies würde einen Hasen im zufall von 300 meterradius um dich erstellen

alternativ kannst du auch vorgebene Zufallspositionen sagen
createVehicle bietet die Eingabe einer solchen Zufallsposition:

_hase = createVehicle [_objekt, position Player, [], 300, "NONE"];
Vienna ist offline   Mit Zitat antworten
Alt 13.05.2014, 09:13   #6 (permalink)
50 Beiträge
 
Registriert seit: 12.05.2014
Beiträge: 68
Standard

ich hab hier mal was versucht, hab im editor 1 infantrie und 1 fahrzeug gesetzt, das ganze dann in ein script kopiert.

this = createCenter west;
_center_0 = _this;

_group_1 = createGroup _center_0;

_unit_1 = objNull;
if (true) then
{
_this = _group_1 createUnit ["B_recon_exp_F", [1877.4304, 5822.5098, -1.9073486e-006], [], 0, "CAN_COLLIDE"];
_unit_1 = _this;
_this setPos getpos marker1;
_this setDir -168.9375;
_this setVehicleVarName "S1";
S1 = _this;
_this setUnitAbility 0.60000002;
if (true) then {_group_1 selectLeader _this;};
};

_group_2 = createGroup _center_0;

_vehicle_0 = objNull;
if (true) then
{
_this = createVehicle ["B_MBT_01_mlrs_F", [1874.3511, 5825.3145, -2.9563904e-005], [], 0, "CAN_COLLIDE"];
_vehicle_0 = _this;
_this setPos getpos marker2;
_this setDir -167.09911;
_this setVehicleVarName "F1";
F1 = _this;
_this setUnitAbility 0.60000002;
if (true) then {_group_2 selectLeader _this;};
};

wenn der auslöser aktiv spawnen die einheiten am zielpunkt.

jetzt will ich das die beiden zusammen an 3 verschieden zufalls postionen spawnen. und das ganze später dann mit mehreren einheiten und objekten.

habs so mal versucht. funkt aber net:

_this = createCenter west;
_center_0 = _this;
_start = random 3;
? _start < 1 : goto "p1";
? _start < 2 : goto "p2";
? _start < 3 : goto "p3";

#p1
_group_1 = createGroup _center_0;

_unit_1 = objNull;
if (true) then
{
_this = _group_1 createUnit ["B_recon_exp_F", [1877.4304, 5822.5098, -1.9073486e-006], [], 0, "CAN_COLLIDE"];
_unit_1 = _this;
_this setPos getpos marker1;
_this setDir -168.9375;
_this setVehicleVarName "S1";
S1 = _this;
_this setUnitAbility 0.60000002;
if (true) then {_group_1 selectLeader _this;};
};

_group_2 = createGroup _center_0;

_vehicle_0 = objNull;
if (true) then
{
_this = createVehicle ["B_MBT_01_mlrs_F", [1874.3511, 5825.3145, -2.9563904e-005], [], 0, "CAN_COLLIDE"];
_vehicle_0 = _this;
_this setPos getpos marker2;
_this setDir -167.09911;
_this setVehicleVarName "F1";
F1 = _this;
_this setUnitAbility 0.60000002;
if (true) then {_group_2 selectLeader _this;};
};
exit;

#p2
_group_1 = createGroup _center_0;

_unit_1 = objNull;
if (true) then
{
_this = _group_1 createUnit ["B_recon_exp_F", [1877.4304, 5822.5098, -1.9073486e-006], [], 0, "CAN_COLLIDE"];
_unit_1 = _this;
_this setPos getpos marker3;
_this setDir -168.9375;
_this setVehicleVarName "S1";
S1 = _this;
_this setUnitAbility 0.60000002;
if (true) then {_group_1 selectLeader _this;};
};

_group_2 = createGroup _center_0;

_vehicle_0 = objNull;
if (true) then
{
_this = createVehicle ["B_MBT_01_mlrs_F", [1874.3511, 5825.3145, -2.9563904e-005], [], 0, "CAN_COLLIDE"];
_vehicle_0 = _this;
_this setPos getpos marker4;
_this setDir -167.09911;
_this setVehicleVarName "F1";
F1 = _this;
_this setUnitAbility 0.60000002;
if (true) then {_group_2 selectLeader _this;};
};
exit;

#p3
_group_1 = createGroup _center_0;

_unit_1 = objNull;
if (true) then
{
_this = _group_1 createUnit ["B_recon_exp_F", [1877.4304, 5822.5098, -1.9073486e-006], [], 0, "CAN_COLLIDE"];
_unit_1 = _this;
_this setPos getpos marker5;
_this setDir -168.9375;
_this setVehicleVarName "S1";
S1 = _this;
_this setUnitAbility 0.60000002;
if (true) then {_group_1 selectLeader _this;};
};

_group_2 = createGroup _center_0;

_vehicle_0 = objNull;
if (true) then
{
_this = createVehicle ["B_MBT_01_mlrs_F", [1874.3511, 5825.3145, -2.9563904e-005], [], 0, "CAN_COLLIDE"];
_vehicle_0 = _this;
_this setPos getpos marker6;
_this setDir -167.09911;
_this setVehicleVarName "F1";
F1 = _this;
_this setUnitAbility 0.60000002;
if (true) then {_group_2 selectLeader _this;};
};
exit;
[ate]minimal ist offline   Mit Zitat antworten
Alt 13.05.2014, 09:54   #7 (permalink)
50 Beiträge
 
Registriert seit: 12.05.2014
Beiträge: 68
Standard

hab bei euch was im forum gefunden aber dat will auch nicht so wirklich.

Code:
pos1 = [marker1, marker2];
pos2 = [marker3, marker4];
pos3 = [marker5, marker6];

_pos = [pos1, pos2, pos3];
_posstart = _pos select floor random count _pos;

sleep 2;

_this = createCenter west;
_center_0 = _this;

_group_1 = createGroup _center_0;

_unit_1 = objNull;
if (true) then
{
    _this = _group_1 createUnit ["B_recon_exp_F", [1877.4304, 5822.5098, -1.9073486e-006], [], 0, "CAN_COLLIDE"];
    _unit_1 = _this;
    _this setPos [_posstart];
    _this setDir -168.9375;
    _this setVehicleVarName "S1";
    S1 = _this;
    _this setUnitAbility 0.60000002;
    if (true) then {_group_1 selectLeader _this;};
};

_group_2 = createGroup _center_0;

_vehicle_0 = objNull;
if (true) then
{
    _this = createVehicle ["B_MBT_01_mlrs_F", [1874.3511, 5825.3145, -2.9563904e-005], [], 0, "CAN_COLLIDE"];
    _vehicle_0 = _this;
    _this setPos  [_posstart];
    _this setDir -167.09911;
    _this setVehicleVarName "F1";
    F1 = _this;
    _this setUnitAbility 0.60000002;
    if (true) then {_group_2 selectLeader _this;};
};
hab mal das makiert, wo ich denk das es falsch aufgerufen wird
[ate]minimal ist offline   Mit Zitat antworten
Alt 13.05.2014, 10:15   #8 (permalink)
50 Beiträge100 Beiträge250 Beiträge
 
Registriert seit: 10.10.2006
Beiträge: 263
Standard

Zitat von Vienna Beitrag anzeigen

createVehicle bietet die Eingabe einer solchen Zufallsposition:

_hase = createVehicle [_objekt, position Player, [], 300, "NONE"];

Habe ich auch gerade dadurch gelernt Danke
Nokman ist offline   Mit Zitat antworten
Alt 13.05.2014, 11:19   #9 (permalink)
50 Beiträge
 
Registriert seit: 12.05.2014
Beiträge: 68
Standard

ja soweit hab ich das schon kapiert.....

aber nochmal zu meinem prob.....
es soll zb:

1x AA fahrzeug
5x INf
2x mg nest
1x fahrzeug

...wenn ich das mit dem creatvehicle mach spawnt ja jedes wilkürlich.

ich will eine komplette AA-Stellung basteln und die dann zufällig an einer von 3 positionen spawnen lassen.

steh ich grad sowas von aufm schlauch???????? oder reichen meine script kenntnisse dafür doch net
[ate]minimal ist offline   Mit Zitat antworten
Alt 13.05.2014, 11:52   #10 (permalink)
50 Beiträge100 Beiträge250 Beiträge
 
Registriert seit: 10.10.2006
Beiträge: 263
Standard

Dazu gibt es einen script von Vienna hier im Forum finde ihn nur gerade nicht sorry.

Der bewegt ganze Base
Code:
_array = [getmarkerPos "b1",getmarkerPos "b2",getmarkerPos "b3"];
_random = _array select floor random count _array;
OBJEKT setpos _random;
damit setzt du ein Objekt an denn marker b1 oder b2 oder b3 duzu erstellst du unsichtbare marker da wo die base sein soll.

in Kombination mit Viennas script zum kompletten base verschieben sollte es das erfüllen was du suchst.
Das ist der Script ich habe ihn abgeändert so das du noch marker b1 b2 b3 erstellen musst und es auslösen
Code:
//==================== Szene Versetzen ======================

// ***********************************************************
// Versetzt eine Gruppe von Objekten an eine andere Position,
//  unter Beibehaltung der Stellung der Objekte zueinander.
//
// Aufruf: [[Objektname1, Objektname2, usw...]] execVM "scripts\versetzen.sqf"
//          [x,y] = neue Position des 1. Objekts!
//
////////////////////////////////////
// Script erstellt von Vienna! :) //
////////////////////////////////////
//
// ***********************************************************

private ["_posX","_posY","_obj","_posRx","_posRy","_array","_random"];

//Parameter

   //neue Position
_array = [getmarkerPos "b1",getmarkerPos "b2",getmarkerPos "b3"];
_random = _array select floor random count _array;
      _posX = _random  select 0;
      _posY = _random  select 1;
   
   //Liste (Array) mit den Objekt-Namen aller Objekte
      _obj  = _this select 0;

//Position des 1. Objekts als Referenz
   _posRx = getpos(_obj select 0)select 0;
   _posRy = getpos(_obj select 0)select 1;

//Schleife durch alle Objekte der Liste
   {
      //Objekte auf neue Position in Relation zum 1. Objekt
      _x setpos [_posX+((getpos _x select 0)-_posRx),_posY+((getpos _x select 1)-_posRy)]
   } forEach _obj

Geändert von Nokman (13.05.2014 um 12:08 Uhr).
Nokman ist offline   Mit Zitat antworten
Alt 13.05.2014, 12:22   #11 (permalink)
50 Beiträge
 
Registriert seit: 12.05.2014
Beiträge: 68
Standard

Wenn de mir jetzt noch en komplettes beispiel machst wie ich das genau anwende bin ich glücklich☺. Und so wie ichs vorhin schon mal gepostet hab kann man es nicht realisieren? ???
[ate]minimal ist offline   Mit Zitat antworten
Alt 13.05.2014, 12:49   #12 (permalink)
50 Beiträge100 Beiträge250 Beiträge
 
Registriert seit: 10.10.2006
Beiträge: 263
Standard

Du hast ja mehere objekte und die sollen alle so stehenbleiben wie sie sind nur wo anders hin? anbei eine mission

File-Upload.net - base.Stratis.zip

mit funk alpha verschiebst du die objekte
Nokman ist offline   Mit Zitat antworten
Alt 13.05.2014, 13:09   #13 (permalink)
50 Beiträge
 
Registriert seit: 12.05.2014
Beiträge: 68
Icon6

Cool danke....werds morgen früh mal testen.
[ate]minimal ist offline   Mit Zitat antworten
Alt 13.05.2014, 15:15   #14 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Drunken Officer
 
Registriert seit: 15.05.2011
Beiträge: 1.108
Standard

Zitat von NOKMAN

Zitat von Vienna
createVehicle bietet die Eingabe einer solchen Zufallsposition:

_hase = createVehicle [_objekt, position Player, [], 300, "NONE"];
Habe ich auch gerade dadurch gelernt Danke
Zitat:

Code:
Oder du schreibst
     Code:
     if (!isServer) exitWith {};
 for "_i" from 1 to 2 do 
{ 
createVehicle ["namederEinheit", getPos .... , [], 300, "NONE"]; 
};
Wenn du die AA-Stellung im Editor platzierst, dann siehst du im Dialog rechts oben den Namen.
bei getPos musst du einfach etwas platzieren und benennen. Nimm ein "unsichtbares H" und alles ist chick. Das bildet den Mittelpunkt um die, die 300er Zone aufgebaut wird

Nokman und TE, ihr müßt euch auch mal mit den Befehlen auseinadersetzen und die Beschreibung lesen.

@TE
Wo man die Beschreibung der Einheit herbekommt, hatte ich geschrieben. Das mit der mission.sqm ist in deinem Fall ein sehr umständlicher weg.
Das Script von Vienna funktioniert. Da kannst du z.B. auch ganze Camps mit umsetzen.
ABER:
Einheiten die platziert werden, und mit diesem Script versetzt werden, haben hinterher keine Wegpunkte mehr. Sprich, wenn da Patrollieren laufen sollen, mußt du das per Script lösen.

Ansonsten empfehle ich auch mal die Guides von Murry und Pscho zu lesen
Drunken Officer ist offline   Mit Zitat antworten
Alt 13.05.2014, 16:09   #15 (permalink)
50 Beiträge
 
Registriert seit: 12.05.2014
Beiträge: 68
Standard

Naja ich find die Variante vom vienna auch nicht grad einfach😊. Ich versuch morgen mal mein Glück mit dem script.
[ate]minimal ist offline   Mit Zitat antworten
Alt 13.05.2014, 16:14   #16 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Drunken Officer
 
Registriert seit: 15.05.2011
Beiträge: 1.108
Standard

Wenn du willst, dass mehrere Objekte syncron versetzt werden können, ist dass auch nicht mal eben 0815....
Drunken Officer ist offline   Mit Zitat antworten
Alt 13.05.2014, 17:06   #17 (permalink)
50 Beiträge
 
Registriert seit: 12.05.2014
Beiträge: 68
Standard

Ja dat stimmt wohl....gabs bei arma nicht mal ne Möglichkeit, basen als xml oder so abzuspeichern und dann zu laden???
[ate]minimal ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Einheiten/ Objekte während der Mission entfernen sandmanGER Editing & Scripting 21 27.10.2012 18:04
- Evolution Blue und Hohei für [OA] und [A2]- Pfandgiraffe Usermade Missions 155 26.08.2011 19:11
Probleme bei Norrin Revive Script 0.49b Jekko Editing & Scripting 24 21.09.2010 19:39
Heal/Repair Script / Einheiten in einem Radius zufällig generieren lassen Noobfire Editing & Scripting 8 06.08.2010 15:22
Multiplayer PROBLEM!!! Panzagrenadier Multiplayer 15 18.06.2010 14:12


Kontakt - HX3.de - Archiv - Nach oben

Angetrieben durch vBulletin, Entwicklung von Philipp Dörner & Tobias



SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116