![]() |
#1 (permalink) |
![]() Registriert seit: 12.05.2014
Beiträge: 68
|
![]()
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. |
![]() |
![]() |
#2 (permalink) |
![]() ![]() ![]() Registriert seit: 10.10.2006
Beiträge: 263
|
![]()
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"]; alternativ kannst du auch vorgebene Zufallspositionen sagen ![]() |
![]() |
![]() |
#3 (permalink) |
![]() ![]() Registriert seit: 15.05.2011
Beiträge: 1.110
|
![]()
Oder du schreibst
Code:
if (!isServer) exitWith {}; for "_i" from 1 to 2 do { createVehicle ["namederEinheit", getPos .... , [], 300, "NONE"]; }; 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 |
![]() |
![]() |
#4 (permalink) |
![]() Registriert seit: 12.05.2014
Beiträge: 68
|
![]()
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. |
![]() |
![]() |
#5 (permalink) |
![]() ![]() ![]() ![]() Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
![]() createVehicle bietet die Eingabe einer solchen Zufallsposition: _hase = createVehicle [_objekt, position Player, [], 300, "NONE"]; |
![]() |
![]() |
#6 (permalink) |
![]() Registriert seit: 12.05.2014
Beiträge: 68
|
![]()
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; |
![]() |
![]() |
#7 (permalink) |
![]() Registriert seit: 12.05.2014
Beiträge: 68
|
![]()
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;}; }; ![]() |
![]() |
![]() |
#9 (permalink) |
![]() Registriert seit: 12.05.2014
Beiträge: 68
|
![]()
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 ![]() |
![]() |
![]() |
#10 (permalink) |
![]() ![]() ![]() Registriert seit: 10.10.2006
Beiträge: 263
|
![]()
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; 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). |
![]() |
![]() |
#12 (permalink) |
![]() ![]() ![]() Registriert seit: 10.10.2006
Beiträge: 263
|
![]()
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 |
![]() |
![]() |
#14 (permalink) |
![]() ![]() Registriert seit: 15.05.2011
Beiträge: 1.110
|
![]()
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 |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
Themen-Optionen | |
Ansicht | |
|
|
![]() |
||||
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 |