![]() |
#1 (permalink) |
![]() Registriert seit: 20.05.2009
Beiträge: 605
|
![]()
Hi zusammen,
hab eine kleine Frage ... ich versuche mich gerade mal wieder ein bisschen im scripten und stehe vor einem Problem. Ich lasse Spiderholes (Unsung Mod (Vietnam)) für den VC erstellen. Dafür habe ich 10 Marker auf der Map plaziert. Daraus werden über _vcholes eine anzahl x ausgewählt. Um im nächsten Schritt nun bei den jeweiligen zufällig gewählten Markern den Feind spawnen zu lassen, muss ich ja irgendwie wissen welche Marker er nun ausgesucht hat. Meine Idee ... _vchole_pos = _vchole diesen Wert lasse ich dann für "debug zwecken" ausgeben in einem Hint. Die daten die dort zum vorscheinen kommen sind sowas wie Code:
59159d00# 459117: uns_spiderhole_2c.p3d Evtl. ist es aus schwachsinn was ich hier mache und es gibt einen viel besseren weg. Freue mich über Konstruktive Antworten. Code:
for "_i" from 1 to _vcholes do { sleep _delay; _hole = createVehicle ["LAND_uns_spiderhole4c", getMarkerPos "h1", ["h2","h3","h4","h5","h6","h7","h8","h9","h10"],0, "NONE"]; _vchole_pos = _hole; hint str _vchole_pos; }; Oder gibt es evtl. eine Möglichkeit das ich den Marker-Namen ausgeben lasse, damit kann ich genau so gut leben ![]() Geändert von Anemia (04.01.2016 um 16:20 Uhr). |
![]() |
![]() |
#4 (permalink) |
![]() Registriert seit: 20.05.2009
Beiträge: 605
|
![]()
Evtl. ist die Frage genau so "bescheiden" wie die vorherige ....
Code:
for "_i" from 1 to vcholes do { sleep _delay; _hole = createVehicle ["LAND_uns_spiderhole4c", getMarkerPos "h1", ["h2","h3","h4","h5","h6","h7","h8","h9","h10"],0, "NONE"]; _vcsoldier = _vcsquad createUnit ["uns_local_vc2b", getPos _hole, [], 0, "FORM"]; }; wenn ich die Position auslese mit Code:
_holepos = getPos _hole; hint str _holepos; EDIT: Code:
for "_i" from 1 to vcholes do { sleep _delay; _hole = createVehicle ["LAND_uns_spiderhole4c", getMarkerPos "h1", ["h2","h3","h4","h5","h6","h7","h8","h9","h10"],0, "NONE"]; _holepos = getPos _hole; hint str _holepos; _vcsoldier = _vcsquad createUnit ["uns_local_vc2b",_hole , [], 0, "FORM"]; }; EDIT 2: Ich glaube ich weiß warum es nicht geht, kann es aber erst heute Nachmittag testen (derzeit bei der arbeit). Ich hatte mein Script schon vorher funktionsfähig geschrieben , allerdings nur für 1 VC_Spiderhole. Also ohne For *** do Glaube ich hab aus versehen mein createGroup ausgeklammert // Code:
_group = createGroup east Geändert von Anemia (05.01.2016 um 08:10 Uhr). |
![]() |
![]() |
#5 (permalink) |
![]() Registriert seit: 20.05.2009
Beiträge: 605
|
![]()
Sooo sorry für den doppelpost .. aber ich dachte ich poste noch mal das Funktionierende Script ....
vchole.sqf Code:
// VC Spiderhole // Anemia 2016 - Unsung Mod // _vchmarker = ["h1","h2","h3","h4","h5","h6","h7","h8","h9","h10"]; _vcsquad = createGroup east; _delay = 1; // Delay for "_i" from 1 to vcholes do { sleep _delay; _hole = createVehicle ["LAND_uns_spiderhole4c", getMarkerPos "h1", ["h2","h3","h4","h5","h6","h7","h8","h9","h10"],0, "NONE"]; hintSilent str getPos _hole; // Squadleader erstellen _vcsoldier = _vcsquad createUnit ["uns_local_vc2b", (getPos _hole), [], 0, "FORM"]; }; Auf der Map werden dafür die Marker h1 - h10 verteilt, man kann natürlich mehr oder weniger Marker setzen und muss dann das Script anpassen. init.sqf Code:
// Total Spiderholes VC vcholes = 5; // Total VC Spawnpoints vcspawnpoints = 10; Das ganze bringt mich leider zu einer neuen Frage.... Wenn ich das Script so laufen lasse werden an 5 Spiderholes Einheiten erstellt. Diese gehören alle der Gruppe _vcsquad an. So weit so gut. Ich will aber das an jedem Spiderhole eine eigene Gruppe erstellt wird. Hat jemand einen Vorschlag wie ich unabhängige Gruppen voneinander erstellen kann ? Später sollen diese dann zufällige Wegpunkte ablaufen... Brauche also jeweils unabhängige Gruppen... kann ich die Gruppen irgendwie nicht _vcsquad1 , 2 , 3 usw. benennen lassen ?! aber wie ? Danke schon mal vorweg für konstruktive Vorschläge ![]() |
![]() |
![]() |
#6 (permalink) |
![]() ![]() ![]() ![]() ![]() Registriert seit: 01.07.2006
Ort: Kabul
Alter: 37
Beiträge: 2.666
|
![]()
so in der art sollte es klappen
Code:
// Total Spiderholes VC vcHoles = 5; _delay = 1; _vchMarker = ["h1","h2","h3","h4","h5","h6","h7","h8","h9","h10"]; _vchGroups = []; for "_i" from 1 to vcholes do { // random Hole auswaehlen und aus array loeschen _currentHole = _vchmarker select (floor (random (count _vchmarker))); _vchmarker = _vchmarker - [_currentHole]; // vc hole erstellen sleep _delay; _hole = createVehicle ["LAND_uns_spiderhole4c", getMarkerPos _currentHole, [],0, "NONE"]; hintSilent str getPos _hole; // neue vc gruppe erstellen und in array speichern fuer spaetere weitere verarbeitung _vcsquad = createGroup east; _vchGroups = _vchGroups + [_vcsquad]; // Squadleader erstellen _vcsoldier = _vcsquad createUnit ["uns_local_vc2b", (getPos _hole), [], 0, "FORM"]; }; // units erstellen und waypoints { _x createUnit .... . . . _wp = _x addWaypoint [[x,y], 0]; _wp setWaypointType "sad"; } forEach _vchGroups |
![]() |
![]() |
#7 (permalink) |
![]() Registriert seit: 20.05.2009
Beiträge: 605
|
![]()
Genial !
Du bist mein Held ! ![]() Musste es noch ein bisschen umschreiben .. aber es funktioniert. An jedem VC Spiderhole wird nun eine eigene Gruppe erstellt.... Hab es leider gestern nicht mehr geschafft Gruppenmitglieder den Gruppen zu zuteilen. Muss ich mir heute noch mal anschauen. Allgemein muss ich mich wohl in das Thema Array's noch mal einlesen , damit hab ich noch nicht so. |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
Themen-Optionen | |
Ansicht | |
|
|
![]() |
||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Fragen zum Editor | chris2110 | Editing & Scripting | 1014 | 25.08.2014 23:25 |
- Evolution Blue und Hohei für [OA] und [A2]- | Pfandgiraffe | Usermade Missions | 155 | 26.08.2011 19:11 |
Fehlermeldungen bei Schüssen | GER_CJ-187 | Technische Fragen & Probleme | 2 | 22.11.2010 12:47 |
Probleme bei Norrin Revive Script 0.49b | Jekko | Editing & Scripting | 24 | 21.09.2010 19:39 |
Multiplayer PROBLEM!!! | Panzagrenadier | Multiplayer | 15 | 18.06.2010 14:12 |