Armed-Assault.de Twitter
Antwort
 
Themen-Optionen Ansicht
Alt 17.06.2010, 22:08   #1 (permalink)
50 Beiträge100 Beiträge250 Beiträge
 
Registriert seit: 29.05.2008
Ort: BERLIN
Alter: 28
Beiträge: 496
GER_CJ-187 eine Nachricht über ICQ schicken GER_CJ-187 eine Nachricht über Skype™ schicken
Standard Brauche Hilfe beim beamen mehrerer Einheiten zur Zufallsposition...

Habe erneut eine Frage, bei der ich keinen Plan habe.

Ich möchte, dass bei meiner Mission beide Spielerseiten EINEN von... tja, ca 50 möglichen Startpositionen erhält (so wie bei Warfare)

Bei meiner Mission gibts aber keinen Respawn, daher habe ich alles, was zur verfügung steht schon auf der Karte platziert.

Jetzt möchte ich aber, dass beim Start der Mission alle West-Einheiten zur Zufalls-Position West gesetzt werden und alle Ost-Einheiten zur Zufalls-Position Ost gesetzt werden.

Es muss nicht gleich alles ganz ordentlich Platziert werden, es reicht auch, wenn die paar Fahrzeuge, Einheiten und Kisten in die nähe vom Startpunkt kommen...

Derzeit benutze ich als Zufallsposition eine unsichtbares Heli-H (eins für West und eins für Ost) die einen zufalls-Radius von ca 4000m haben
Man kann also bei der Variante ÜBERALL starten.

Würde mich über Hilfe freuen.

MfG - Christopher
GER_CJ-187 ist offline   Mit Zitat antworten
Alt 17.06.2010, 22:40   #2 (permalink)
500 Beiträge1000 Beiträge2.500 Beiträge
 
Benutzerbild von Cyborg11
 
Registriert seit: 26.03.2008
Beiträge: 2.822
Standard

Einfachste Möglichkeit:
- Alle Heli H's durch Marker ersetzen
- Marker mit allen Einheiten gruppieren
Cyborg11 ist offline   Mit Zitat antworten
Alt 18.06.2010, 17:57   #3 (permalink)
50 Beiträge100 Beiträge250 Beiträge
 
Registriert seit: 29.05.2008
Ort: BERLIN
Alter: 28
Beiträge: 496
GER_CJ-187 eine Nachricht über ICQ schicken GER_CJ-187 eine Nachricht über Skype™ schicken
Standard

Hm, danke für die Hilfe, wenns doch so einfach klappen würde...

Denn, da auch leere Fahrzeuge zur Verfügung stehen sollen, die auch in die nähe vom Zufallsstart gebeamt werden sollen.
Problem ist, bei einem rechteckigem Marker mit einer Größe von
2500m x 2500m wird immer nur ein kleiner Teil unplatziert, dummerweise immer nur genau in das Zentrum vom Marker, (ca 50x Mission neu gestartet!) zwar sind es jedes mal andere, aber nie alle! Der Rest bleibt da, wo ich sie im Editor platziert habe

Dann ist es noch wichtig, dass bei der Mission nicht jeder Spieler in einer Gruppe sind, sondern jeder ne eigene, trotzdem sollen alle an einem Ort verteilt starten...

Anbei ein paar Bilder:

So sollte es nicht aussehen, beim Start 18 Tote, Ari schrott, Jeeps schrott


Alles auf einem Haufen!


Nach einem Neustart, ebenfalls alles auf einem Haufen, trotzdem musste ich mit der MI8 erst zur Markermitte fliegen...


Hier sieht man auf der Map die verschiedenen Gruppen, einige wurden in die Markermitte und andere nicht gebeamt!


Hoffe auf weitere Hilfe

MfG - Christopher

Geändert von GER_CJ-187 (18.06.2010 um 19:21 Uhr).
GER_CJ-187 ist offline   Mit Zitat antworten
Alt 19.06.2010, 00:10   #4 (permalink)
500 Beiträge1000 Beiträge2.500 Beiträge
 
Benutzerbild von Cyborg11
 
Registriert seit: 26.03.2008
Beiträge: 2.822
Standard

Und wie schaut dein Skript im Moment aus?

Ich wüsste jetzt auf die Schnelle nur eine Möglichkeit, um alle Soldaten zu einer gemeinsamen Position zu beamen.

In der init.sqf definierst du erst mal alle Marker als Array:
Code:
markerWestList = [mWest1, mWest2, mWest3];
markerEastList = [mEast1, mEast2, mEast3];
Und das Skript für die Positionierung:
Code:
_markerW = markerWestList select (round (random (count markerWestList)));
_markerE = markerEastList select (round (random (count markerEastList)));

{
    If (side _x == west) then {
        _x setPosATL [((getMarkerPos _markerW) select 0) + (random 5), ((getMarkerPos _markerW) select 1) + (random 5), (getMarkerPos _markerW) select 2];
    };
    
    If (side _x == east) then {
        _x setPosATL [((getMarkerPos _markerE) select 0) + (random 5), ((getMarkerPos _markerE) select 1) + (random 5), (getMarkerPos _markerE) select 2];
    };
} forEach allUnits;
Das Skript ist jetzt aber nur auf die Schnelle geschrieben und so könnte es ungefähr aussehen.
Um natürlich noch zu verhindern, dass die Fahrzeuge/Einheiten in Büschen/Bäumen/Häusern landen, müsste man noch die beiden Befehle selectBestPlaces (Dokumentation) und isFlatEmpty verwenden.

Schau dir doch einfach mal die Warfare Skripte an.
Da müsstest du eigentlich fündig werden.

Es könnte natürlich sein, dass die leeren Fahrzeuge in Warfare erst erstellt werden nachdem die Soldaten an ihre Zufallspositionen gebeamt worden.
Falls dem so ist, kannst du mein Skript verwenden. Bessere Positionierung ist mit den o.g. Befehlen möglich.

Geändert von Cyborg11 (19.06.2010 um 00:13 Uhr).
Cyborg11 ist offline   Mit Zitat antworten
Alt 19.06.2010, 11:52   #5 (permalink)
50 Beiträge100 Beiträge250 Beiträge
 
Registriert seit: 29.05.2008
Ort: BERLIN
Alter: 28
Beiträge: 496
GER_CJ-187 eine Nachricht über ICQ schicken GER_CJ-187 eine Nachricht über Skype™ schicken
Standard

Script hatte ich zuvor keins, nur mit dem Marker gruppiert...

und dein script klappt bei mir nicht...

Hab mal die Marker auf der Map sichtbar gelassen, diese werden dann wenns mal funktioniert unsichtbar.

Doch leider werden die Einheiten bei keinem Neustart teleportiert.
Sie stehen in jeder Runde immer da, wo ich sie im Editor platziert habe...


Geändert von GER_CJ-187 (19.06.2010 um 12:02 Uhr).
GER_CJ-187 ist offline   Mit Zitat antworten
Alt 19.06.2010, 11:54   #6 (permalink)
500 Beiträge1000 Beiträge2.500 Beiträge
 
Benutzerbild von Cyborg11
 
Registriert seit: 26.03.2008
Beiträge: 2.822
Standard

Hast du jetzt mein Skript verwendet?
Hast du dann auch deine Markernamen in die Marker Arrays eingetragen?
Und welche Seiten spielen überhaupt? Falls der Widerstand mit spielt, musst das natürlich noch im Skript mit eintragen!
Cyborg11 ist offline   Mit Zitat antworten
Alt 19.06.2010, 12:05   #7 (permalink)
50 Beiträge100 Beiträge250 Beiträge
 
Registriert seit: 29.05.2008
Ort: BERLIN
Alter: 28
Beiträge: 496
GER_CJ-187 eine Nachricht über ICQ schicken GER_CJ-187 eine Nachricht über Skype™ schicken
Standard

Ja, ich verwende dein Script, es spielen West (BW) vs. Guer (Taliban)
Habe das im Script auch ausgebessert...

Zitat:

_markerW = markerWestList select (round (random (count markerWestList)));
_markerE = markerEastList select (round (random (count markerEastList)));

{
If (side _x == west) then {
_x setPosATL [((getMarkerPos _markerW) select 0) + (random 5), ((getMarkerPos _markerW) select 1) + (random 5), (getMarkerPos _markerW) select 2];
};

If (side _x == guer) then {
_x setPosATL [((getMarkerPos _markerE) select 0) + (random 5), ((getMarkerPos _markerE) select 1) + (random 5), (getMarkerPos _markerE) select 2];
};
} forEach allUnits;

GER_CJ-187 ist offline   Mit Zitat antworten
Alt 19.06.2010, 13:45   #8 (permalink)
500 Beiträge1000 Beiträge2.500 Beiträge
 
Benutzerbild von Cyborg11
 
Registriert seit: 26.03.2008
Beiträge: 2.822
Standard

Sagt die ArmA2.rpt irgendetwas?
Wird West an eine andere Position gebeamt?
markerWestList und markerEastList an deine Markernamen angepasst und in die init.sqf geschrieben?
Wie rufst du das Skript auf? In der init.sqf?
Cyborg11 ist offline   Mit Zitat antworten
Alt 19.06.2010, 14:05   #9 (permalink)
50 Beiträge100 Beiträge250 Beiträge
 
Registriert seit: 29.05.2008
Ort: BERLIN
Alter: 28
Beiträge: 496
GER_CJ-187 eine Nachricht über ICQ schicken GER_CJ-187 eine Nachricht über Skype™ schicken
Standard

hab das Script auf der Map in die init einer Einheit gestartet ([] Exec "bla")

West wird auch nicht umplatziert
GER_CJ-187 ist offline   Mit Zitat antworten
Alt 19.06.2010, 14:22   #10 (permalink)
500 Beiträge1000 Beiträge2.500 Beiträge
 
Benutzerbild von Cyborg11
 
Registriert seit: 26.03.2008
Beiträge: 2.822
Standard

Ist ja auch falsch.
Das Skript ist eine Funktion und hat somit die Endung .sqf.
.sqf Funktionen werden so gestartet:
Code:
nul = [] execVM "markerSpawn.sqf";
Und hast du jetzt in der init.sqf in die Markerarrays deine Markernamen gesetzt? Ich stell die Frage jetzt zum 3. Mal ...
Cyborg11 ist offline   Mit Zitat antworten
Alt 19.06.2010, 14:50   #11 (permalink)
10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Buliwyf
 
Registriert seit: 11.03.2005
Ort: HH
Alter: 46
Beiträge: 1.927
Standard

Hier mal eine Beispielmission von mir, die den Funktionsmanager nutzt, um auf 12 festgelegten Markerpositionen 6 Panzer zu setzen:

randomPositions_viaScript.utes.zip

__________________
Buliwyf ist offline   Mit Zitat antworten
Alt 19.06.2010, 15:22   #12 (permalink)
50 Beiträge100 Beiträge250 Beiträge
 
Registriert seit: 29.05.2008
Ort: BERLIN
Alter: 28
Beiträge: 496
GER_CJ-187 eine Nachricht über ICQ schicken GER_CJ-187 eine Nachricht über Skype™ schicken
Standard

@ Cyborg
Ja, sorry - Habe deine Namen weiter verwendet "mEast1" - "mEast12"
Danke werds noch mal so probieren

und...

@ Buliwyf
danke, werds mir ansehen...
GER_CJ-187 ist offline   Mit Zitat antworten
Alt 19.06.2010, 16:54   #13 (permalink)
50 Beiträge100 Beiträge250 Beiträge
 
Registriert seit: 29.05.2008
Ort: BERLIN
Alter: 28
Beiträge: 496
GER_CJ-187 eine Nachricht über ICQ schicken GER_CJ-187 eine Nachricht über Skype™ schicken
Standard

So, leider hats bei mir mit Cyborg's Variante nicht geklappt, vllt bin ich dafür einfach zu blöde

Bei Buliwyf's Variante (habs aber abgeändert, da dort die Fahrzeuge auf alle Marker aufgeteilt wurden, das ist ja das, was ich nicht wollte)
Jetzt steht nur ein Marker pro Partei zur Verfügung, den ich auf ein unsichtbares H (Zufallsradius von 2500m) gesetzt habe.
Jetzt werden auch wirklich alle Einheiten und leere Objekte versetzt.

Problem jetzt wieder, alles exakt auf den selben Grashalm ^^

YouTube Video


Würde es evtl mit dem Positionieren in der Nähe versuchen, im Editing Guide:
Zitat:

Name2 setpos Name1modelToWorld [0,3,0]

Doch leider geht dieser Eintrag in ArmA2 nicht

MfG - Christopher
GER_CJ-187 ist offline   Mit Zitat antworten
Alt 19.06.2010, 17:57   #14 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 24.01.2009
Beiträge: 209
Standard

.. dafür gibts nen klasse Script von "Vienna" ... funktioniert hundertprozent und korrekt ...

Code:
//==================== Szene Versetzen ======================

// ***********************************************************
// Versetzt eine Gruppe von Objekten an eine andere Position,
//  unter Beibehaltung der Stellung der Objekte zueinander.
//
// Aufruf: [[x,y],[Objektname1, Objektname2, usw...]] execVM "scripts\versetzen.sqf"
//          [x,y] = neue Position des 1. Objekts!
//
////////////////////////////////////
// Script erstellt von Vienna! :) //
////////////////////////////////////
//
// ***********************************************************

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 aller Objekte
      _obj  = _this select 1;

//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
... ich habs dann so gelöst das ich an die verschiedenen Zufallspositionen "unsichtbareH"´s gesetzt habe, denn einen Namen zuteile und nun in einem Script per "random" ein H auswürfle und desen Position an das oben genante script gebe und die Objekte dann versetzen lasse ... geht 1A ...

... so umgesetzt in der Mission "A&D - The Whores" ... zufinden im BW Mod Missionsbundle hier im Forum ...

.. viel Erfolg
Vocoder ist offline   Mit Zitat antworten
Alt 19.06.2010, 18:04   #15 (permalink)
50 Beiträge100 Beiträge250 Beiträge
 
Registriert seit: 29.05.2008
Ort: BERLIN
Alter: 28
Beiträge: 496
GER_CJ-187 eine Nachricht über ICQ schicken GER_CJ-187 eine Nachricht über Skype™ schicken
Standard

danke für die Mühe, habs erstmal auf eine andere Metode gelöst, vorerst spielbar, werd mir deinen Vorschlag auch noch mal ansehen

Bei mir hab ich es jetzt so gemacht, dass jedes Fahrzeug ein eigenes Heli-H hat (ohne Zufallsradius) das an einem Heli-H mit Zufallsradius attached ist.

Dann setzte ich per Script jedes Fahrzeug und Objekt auf sein Heli-H.

Und da die Heli-H's in der höhe nicht verstellt werden können, sind bei einem Hügel trotzdem alle einheiten auf dem Boden.

MfG - Christopher
GER_CJ-187 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


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