04.10.2012, 09:00 | #1 (permalink) |
Registriert seit: 31.05.2009
Beiträge: 34
|
Camps an zufälliger Position
Hiho,
Ich würde gerne ein realativ kleines Camp errichten inkl. Besatzung welches zum Missionsbeginn immer an einer anderen Stelle ist (3-5 Positionen). Also recht ähnlich wie in der ArmA2 Mission.: Manhattan. Wie bewerkstelle ich das am besten ?! |
04.10.2012, 09:33 | #2 (permalink) |
Registriert seit: 02.07.2006
Ort: Kabul
Alter: 38
Beiträge: 2.666
|
Eine Moeglichkeit waere alle 5 Camps zu erstellen und 4 beim Missionstart zu loeschen. Das geht mit einem switch case und sollte in etwa so aussehen.
Code:
_camppos1 = [x,y]; _camppos2 = [x,y]; _camppos3 = [x,y]; _camppos4 = [x,y]; _camppos5 = [x,y]; _delcamp = {{deletevehicle _x} foreach (nearestobjects [(_this select 0),[],50])}; switch (ceil random 5) do { case 1: {{[_x] call _delcamp} foreach [_camppos2,_camppos3,_camppos4,_camppos5]}; case 2: {{[_x] call _delcamp} foreach [_camppos1,_camppos3,_camppos4,_camppos5]}; case 3: {{[_x] call _delcamp} foreach [_camppos1,_camppos2,_camppos4,_camppos5]}; case 4: {{[_x] call _delcamp} foreach [_camppos1,_camppos2,_camppos3,_camppos5]}; default {{[_x] call _delcamp} foreach [_camppos1,_camppos2,_camppos3,_camppos4]}; }; Eine weitere Moeglichkeit waere die einzelnen Objekte und Einheiten mit einem setpos befehl an die richtige stelle zu verschieben. Das realisiert man auch wieder mit einem switch case und sollte in etwa so aussehen. Code:
switch (ceil random 5) do { case 1: { Zelt1 setpos [x,y]; Zelt2 setpos [x,y]; Wache1 setpos [x,y]; Wache2 setpos [x,y]; }; case 2: { Zelt1 setpos [x,y]; Zelt2 setpos [x,y]; Wache1 setpos [x,y]; Wache2 setpos [x,y]; }; case 3: { Zelt1 setpos [x,y]; Zelt2 setpos [x,y]; Wache1 setpos [x,y]; Wache2 setpos [x,y]; }; case 4: { Zelt1 setpos [x,y]; Zelt2 setpos [x,y]; Wache1 setpos [x,y]; Wache2 setpos [x,y]; }; default { Zelt1 setpos [x,y]; Zelt2 setpos [x,y]; Wache1 setpos [x,y]; Wache2 setpos [x,y]; }; }; Ich wuerde die erste Variante vorziehen da man dort nicht jede einzelne Position fuer jedes Objekt an allen 5 Stellen ermitteln muss. gruß hoschi Geändert von Moerderhoschi (04.10.2012 um 13:32 Uhr). Grund: codeoptimierung im ersten script |
04.10.2012, 18:13 | #4 (permalink) |
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
Das folgende Skript versetzt eine Menge von Objekten an eine bestimmte Position (beginnend mit dem ersten Objekt der Liste an der neuen Position) und behält dabei die Aufstellung der Objekte zueinander bei. So ist es z.B. möglich ein erstelltes Lager mit Fahrzeugen, Soldaten, usw. beliebig an verschiedene Positionen der Karte zu verlegen.
Man baucht nur den zu versetzenden Objekten einen Namen geben und dann die neue Position und die Namen der Objekte dem Skript übergeben. Beispiel für einen Auslöser: temp = [ position Player, [Name1 Name2,Name3] ] execVM "Move_Units.sqf" Skript: Move_Units.sqf Code:
// *********************************************************** // Versetzt eine Gruppe von Objekten an eine andere Position, // unter Beibehaltung der Stellung der Objekte zueinander. // // Aufruf: [ neue Position, [Objektname 1,Objektname 2,usw...] ] execVM "Move_Units.sqf" // *********************************************************** if (!isServer) exitWith {}; private ["_posX","_posY","_obj","_posRx","_posRy"]; //Parameter //neue Position _posX = (_this select 0) select 0; _posY = (_this select 0) select 1; //Liste (Array) mit den Objekt-Namen der Gruppe _obj = _this select 1; //Position der 1. Unit als Referenz _posRx = getpos(_obj select 0)select 0; _posRy = getpos(_obj select 0)select 1; //Schleife durch alle Objekte der Liste { //Unit auf neue Position in Relation zur 1. Unit _x setpos [_posX+((getpos _x select 0)-_posRx),_posY+((getpos _x select 1)-_posRy)] } forEach _obj |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
Themen-Optionen | |
Ansicht | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Fragen zum Editor | chris2110 | Editing & Scripting | 1014 | 26.08.2014 00:25 |
- Evolution Blue und Hohei für [OA] und [A2]- | Pfandgiraffe | Usermade Missions | 155 | 26.08.2011 20:11 |
Fehlermeldungen bei Schüssen | GER_CJ-187 | Technische Fragen & Probleme | 2 | 22.11.2010 13:47 |
Probleme bei Norrin Revive Script 0.49b | Jekko | Editing & Scripting | 24 | 21.09.2010 20:39 |
Multiplayer PROBLEM!!! | Panzagrenadier | Multiplayer | 15 | 18.06.2010 15:12 |