|
|
#1 (permalink) |
![]() ![]() |
hallo ich möchte gerne das eine abgestürzte Drohn zufällig an 5 verschiedenen Orten liegen kann. Also das sie nicht immer an der gleichen Position liegt.
mit freundlichen grüssen Pascal Dreier Geändert von ApoTTCC (31.12.2009 um 05:09 Uhr). Grund: Ich hab den Titel mal etwas treffender formuliert... |
|
|
|
|
#4 (permalink) |
![]() ![]() Registriert seit: 18.12.2009
Beiträge: 240
|
Bei Murray gehts - glaub ich - über verschiedene Game Logics, die mit dem Objekt gruppiert (oder gesynct?) sind. Weiss es aber nicht mehr ganz genau...
Ich würds so machen: das in die initzeile: nul = [this] execVM "Zufallsposition.sqf"; das als Zufallsposition.sqf in den Missi-Ordner: POS1 usw sind Game Logics mit Namen POS1 usw. Code:
private ["_unit","_rand","_posnumber","_pos","_endpos","_posnumber1"]; _unit = _this select 0; _rand = random 4; _posnumber = _rand - (_rand mod 1); _pos = [POS1,POS2,POS3,POS4,POS5]; _endpos = _pos select _posnumber; _unit setpos (getpos _endpos); //DEBUG: _posnumber1 = _posnumber +1; Hint format ["Ich bin bei Position %1", _posnumber1]; Um zu überprüfen , ob die Pos Angabe richtig ist, kannst Du ja nen Marker an den UAV heften. Hab das Script so nicht getestet, sollte aber ohne Probs funzen. EDIT: Okay, mit Murray gehts etwas schneller ![]() Für noch mehr Zufall würd ich bei dieser Methode den Platzierungsradius von 0 auf z.b. 300 setzen.
__________________
Go ahead and shoot! I'll come back! I always come back! ...But dying is such a bitch. — Chucky Geändert von malibu.stacey (30.12.2009 um 21:16 Uhr). Grund: Inkompetenz/Schreibfehler |
|
|
|
|
#5 (permalink) |
![]() ![]() ![]() Registriert seit: 26.03.2008
Beiträge: 2.822
|
Hab mal auf die schnelle ein nützlicheres, variables Skript geschrieben
![]() Code:
/*
============================================================
by Cyborg11
Version: 1.0
Parameters:
_spawn = true or false
_unit = Unitname by _spawn = false
and
Classname by _spawn = true
_pos = array of possible spawn positions (markers)
Example1: nul = [false,unit,[pos1,pos2,pos3]] execVM "randomspawn.sqf";
Example2: nul = [true,["SoldierWB",west],[pos1,pos2,pos3]] execVM "randomspawn.sqf";
=============================================================
*/
_spawn = _this select 0;
If (_spawn && _this select 1 == typeName "ARRAY") then {
_unitarray = _this select 1;
_unit = _unitarray select 0;
_side = _unitarray select 1;
} else {
_unit = _this select 1;
};
_posarray = _this select 2;
_poscount = count _posarray;
_pos = _posarray select (round (random _poscount));
If (_spawn) then {
If (_unit isKindOf "MAN") then {
_rgrp = createGroup _side;
_man = _unit createGroup [getMarkerPos _pos, _rgrp];
} else {
_veh = _unit createVehicle (getMarkerPos _pos);
};
} else {
_unit setPos (getMarkerPos _pos);
};
__________________
Geändert von Cyborg11 (30.12.2009 um 21:29 Uhr). |
|
|
|
|
#7 (permalink) |
![]() ![]() ![]() Registriert seit: 26.03.2008
Beiträge: 2.822
|
Teste es erstmal und probier aus obs funzt haha. ![]() Wenn nicht, Fehlermeldungen der ArmA2.rpt bitte. ![]() Kann nämlich grad nich testen :[ EDIT: Ok, das funktioniert ja mal überhaupt nicht Werde es noch umschreiben ...Soll man dann auch mehrere Einheiten / Objekte spawnen können?
__________________
|
|
|
|
|
#8 (permalink) |
![]() ![]() Registriert seit: 18.12.2009
Beiträge: 240
|
Ne, hat nicht so recht gefunzt :P
Für die Zeile Code:
If (_spawn && _this select 1 == typeName "ARRAY") Oh ja, bitte! Hab zwar schon selber ein paar Spawn Skripte, für Anregungen und gute Vorlagen soll man ja immer offen sein
__________________
Go ahead and shoot! I'll come back! I always come back! ...But dying is such a bitch. — Chucky |
|
|
|
|
#9 (permalink) |
![]() ![]() ![]() Registriert seit: 26.03.2008
Beiträge: 2.822
|
Ja das hab ich schon gefixt. War nur falsch rumgeschrieben.
Aber ich frage mich, wieso das Array, das an das Skript überliefert wird, als any ausgegeben wird? o.O Aufruf: Code:
nul =[false,unit,[pos1,pos2,pos3]] execVM "randomspawn.sqf" Das ist im Moment noch das einzige Problem Aufruf für mehrere Einheiten / Objekte zum Spawnen wird dann in etwa so aussehen:Code:
nul = [true, [["SoldierWB",west],["SU25",east]], [pos1, pos2, pos3]] execVM "randomspawn.sqf"
__________________
|
|
|
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | |
| Ansicht | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Hallo frage Zufalls Position! | Ghost_Aut | Editing | 5 | 16.03.2009 21:16 |
| Spam E-Mails! | Snevsied | Offtopic | 11 | 26.02.2008 19:11 |
| Destruktiver Spam | burns | Diskussionsplattform | 27 | 23.05.2005 18:59 |