Armed-Assault.de Twitter
Antwort
 
Themen-Optionen Ansicht
Alt 30.12.2009, 18:49   #1 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 12.08.2009
Ort: Schweiz
Beiträge: 191
Phoenixmaster13 eine Nachricht über Skype™ schicken
Standard Zufällige Position einer Einheit/Objekt

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 04:09 Uhr). Grund: Ich hab den Titel mal etwas treffender formuliert...
Phoenixmaster13 ist offline   Mit Zitat antworten
Alt 30.12.2009, 18:56   #2 (permalink)
10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Buliwyf
 
Registriert seit: 11.03.2005
Ort: HH
Alter: 47
Beiträge: 1.930
Standard

Ich auch.

mfg
<<<
__________________
Buliwyf ist offline   Mit Zitat antworten
Alt 30.12.2009, 19:03   #3 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 04.06.2009
Beiträge: 173
Standard

Bin mir 100 % sicher das in Mr Murrays schlauen Buch gesehen zu haben
Musste aber leider da selbst raus suchen ^^ ich hab da heute schon bis zum kotzen drin gelesen
Achalesas]X[Sgt. ist offline   Mit Zitat antworten
Alt 30.12.2009, 19:57   #4 (permalink)
50 Beiträge100 Beiträge
 
Benutzerbild von malibu.stacey
 
Registriert seit: 18.12.2009
Beiträge: 240
Standard

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


Zitat:

Dynamische Positionen
Setzt man mehrere Marker auf die Karte und verbindet diese mit F2 (siehe Kapitel 1.9)
mit einer Einheit, steht die Einheit bei jedem Start an einer anderen Markerposition.

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 20:16 Uhr). Grund: Inkompetenz/Schreibfehler
malibu.stacey ist offline   Mit Zitat antworten
Alt 30.12.2009, 20:27   #5 (permalink)
500 Beiträge1000 Beiträge2.500 Beiträge
 
Benutzerbild von Cyborg11
 
Registriert seit: 26.03.2008
Beiträge: 2.822
Standard

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);
};
Ist aber nicht getestet, da ich es nur auf die Schnelle geschrieben habe (5 Min)

Geändert von Cyborg11 (30.12.2009 um 20:29 Uhr).
Cyborg11 ist offline   Mit Zitat antworten
Alt 30.12.2009, 20:30   #6 (permalink)
50 Beiträge100 Beiträge
 
Benutzerbild von malibu.stacey
 
Registriert seit: 18.12.2009
Beiträge: 240
Standard

Angeber

In meine Missi werd ichs aber trotzdem einbauen, sieht sehr praktisch aus!
__________________
Go ahead and shoot! I'll come back! I always come back! ...But dying is such a bitch.
— Chucky
malibu.stacey ist offline   Mit Zitat antworten
Alt 30.12.2009, 22:29   #7 (permalink)
500 Beiträge1000 Beiträge2.500 Beiträge
 
Benutzerbild von Cyborg11
 
Registriert seit: 26.03.2008
Beiträge: 2.822
Standard

Zitat von malibu.stacey Beitrag anzeigen

Angeber

In meine Missi werd ichs aber trotzdem einbauen, sieht sehr praktisch aus!

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?
Cyborg11 ist offline   Mit Zitat antworten
Alt 31.12.2009, 09:34   #8 (permalink)
50 Beiträge100 Beiträge
 
Benutzerbild von malibu.stacey
 
Registriert seit: 18.12.2009
Beiträge: 240
Standard

Ne, hat nicht so recht gefunzt :P

Für die Zeile

Code:
If (_spawn && _this select 1 == typeName "ARRAY")
gibts nen Generic Error in Expression Fehler.

Zitat:

Soll man dann auch mehrere Einheiten / Objekte spawnen können?

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
malibu.stacey ist offline   Mit Zitat antworten
Alt 31.12.2009, 13:35   #9 (permalink)
500 Beiträge1000 Beiträge2.500 Beiträge
 
Benutzerbild von Cyborg11
 
Registriert seit: 26.03.2008
Beiträge: 2.822
Standard

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"
Ausgabe:
Zitat:

_spawn = false; <- richtig
_unit = any; <- damn ...
_posarray = [any,any,any]; ....

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"
Vorausgesetzt ich kriegs noch hin.
Cyborg11 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
Hallo frage Zufalls Position! Ghost_Aut Editing 5 16.03.2009 20:16
Spam E-Mails! Snevsied Offtopic 11 26.02.2008 18:11
Destruktiver Spam burns Diskussionsplattform 27 23.05.2005 17:59


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