Armed-Assault.de Twitter
 
 
Themen-Optionen Ansicht
Alt 09.09.2011, 10:28   #1 (permalink)
50 Beiträge100 Beiträge250 Beiträge
 
Benutzerbild von Wolkenbeisser
 
Registriert seit: 05.11.2010
Ort: Schweiz
Beiträge: 297
Standard Mit Motorrad über Minenfeld springen

Hallo Community

Ich versuche in meiner MP-Mission (gehostet, coop) ein Minenfeld (Auslöser) zu kreieren, welches jede Einheit, die drüberlatscht zerstört, es sei denn die Einheit ist mehr als 0.5m vom Boden weg.

Grund: Die Spieler sollen mit Ihren Motorrädern (unter Verwendung der Betonrampe aus dem Editor) über das Minenfeld springen. Jeder der versucht deben der Rampe vorbeizufahren soll zerstört werden. Ich habe das Sprungverhalten der Motorräder zwar noch nicht getestet, aber das ist ja schnell gemacht. Was mir mehr Sorgen bereitet ist der Auslöser.

Das Minenfeld soll ein (relativ schmaler rechteckiger) Multiplayer tauglicher Auslöser sein. Ausgelöst durch "jeder" und "mehrfach". Und da das Abfragen von "Triggerauslösende Einheit" in einem Multiplayerspiel für mich (immer noch) ein Buch mit sieben Siegeln ist (Lokalität lässt grüssen!), frage ich hier im Forum. Ich stelle mir die Befehle im Auslöser etwa so vor:

Bedingung:
this and Triggerauslösende Einheit Distanz zum Boden < 0.5m

Aktivierung:
if (IsServer) then {Kabumm = "Bo_Mk82" createvehicle Triggerauslösende Einheit}

Und nun meine Fragen:

1. Wie muss ich die Bedingung korrekt erfassen? Es soll wirklich jede Einheit im Triggerbereich auslösen, wenn sie nicht höher als 0.5m vom Boden weg ist.

2. Wende ich das if (IsServer) then... im Aktivierungsfeld korrekt an, und ist es evtl. schon in der Bedingung nötig?

3. Wie muss die Erfassung von "Triggerauslösende Einheit" im Aktivierungsfeld aussehen, damit die Bombe multiplayertauglich (!) den auslösenden Spieler trifft (nur EINE Explosion, aber sichtbar auf allen Clients)?

Vielen Dank für eure Hilfe.
Wolkenbeisser ist offline  
Alt 09.09.2011, 10:54   #2 (permalink)
10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Buliwyf
 
Registriert seit: 11.03.2005
Ort: HH
Alter: 52
Beiträge: 1.930
Standard

Ich würde es wohl so lösen:

Ein Script namens mines.sqf:
Code:
_thisList = _this select 0;
while {count _thisList > 0} do {
	{
		if (alive _x AND getPos _x select 2 < 0.5) then {
			 "Sh_105_HE" createVehicle (position _x);
		};
	} forEach _thisList;
	sleep 1;
};
Einen Auslöser im Editor platzieren... REPEATEDLY, ANYBODY, PRESENT, Condition: THIS und in die Zeile On act.:
Code:
call{[thisList] execVM "mines.sqf";};
Ob im MP jetzt nur eine Explosion kommt musst Du testen. Das weiß ich aus dem Stehgreif jetzt nicht... aber ich bin mir relativ sicher, dass createVehicle nicht auf jedem Client ausgeführt wird...

__________________

Geändert von Buliwyf (09.09.2011 um 10:56 Uhr).
Buliwyf ist offline  
Alt 09.09.2011, 12:14   #3 (permalink)
50 Beiträge100 Beiträge250 Beiträge
 
Benutzerbild von Wolkenbeisser
 
Registriert seit: 05.11.2010
Ort: Schweiz
Beiträge: 297
Standard

Zitat von Buliwyf Beitrag anzeigen

Ich würde es wohl so lösen:

Ein Script namens mines.sqf:

Code:
_thisList = _this select 0;
while {count _thisList > 0} do {
    {
        if (alive _x AND getPos _x select 2 < 0.5) then {
             "Sh_105_HE" createVehicle (position _x);
        };
    } forEach _thisList;
    sleep 1;
};
Einen Auslöser im Editor platzieren... REPEATEDLY, ANYBODY, PRESENT, Condition: THIS und in die Zeile On act.:
Code:
call{[thisList] execVM "mines.sqf";};
Ob im MP jetzt nur eine Explosion kommt musst Du testen. Das weiß ich aus dem Stehgreif jetzt nicht... aber ich bin mir relativ sicher, dass createVehicle nicht auf jedem Client ausgeführt wird...

Danke für die Hilfe Buliwyf. Ich denke, ich werde Deine Version mal so ausprobieren (komme aber vor Samstag Abend nicht dazu) und dann Bescheid geben. Falls übrigens mehrere Explosionen passieren wäre das ja auch nicht soooooo schlimm, denn es sind maximal ein Host und 5 Clients.
Wolkenbeisser ist offline  
Alt 09.09.2011, 18:39   #4 (permalink)
SQF Zauberer 10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Vienna
 
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
Standard

Es geht auch ohne Skript, direkt im Auslöser:

Erstelle einen Eckigen Auslöser mit Namen Minenfeld

Aktivierung: Jeder Einmal

Bedingung: true

Bei Akt.: kopierst du folgenden Code rein
Code:
temp=[]spawn
 {
  while{true}do
   {
    if(count list Minenfeld > 0)then
     {
      {
       if(position _x select 2 < 0.1)then
        {
         if(_x == vehicle player)then 
          {
           "Grenade" createVehicle (position _x);
           _x setDammage 0.8;
           sleep 20
          } 
        }
      }forEach list Minenfeld
    } 
   }
 }
Die Explosion wird vom betroffenen Spieler-PC ausgelöst.
Vienna ist offline  
Alt 12.09.2011, 08:51   #5 (permalink)
50 Beiträge100 Beiträge250 Beiträge
 
Benutzerbild von Wolkenbeisser
 
Registriert seit: 05.11.2010
Ort: Schweiz
Beiträge: 297
Standard

Vielen Dank euch allen für die Tipps

Das Minenfeld von Buliwyf funktioniert perfekt (es wird hier wirklich "alles" gesprengt. Auch Hasen, Wildschweine, Schafe usw. ).

Vienna's Methode habe ich noch nicht ausprobiert (werde ich aber bei Gelegenheit nachholen).

Jedenfalls funktioniert jetzt alles perfekt in meiner Mission.

Super Community hier

Grüsse aus der Schweiz
Wolkenbeisser ist offline  
Alt 12.09.2011, 10:48   #6 (permalink)
SQF Zauberer 10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Vienna
 
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
Standard

Bei meiner Version lösen nur Spieler das Minenfeld aus. Eine KI kann ungestraft mit einem Panzer durchfahren.

Wenn es allgemein auslösen soll, dann musst du die Abfrage if(_x == vehicle player) rausnehmen.
Vienna ist offline  
Alt 12.09.2011, 12:53   #7 (permalink)
10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Buliwyf
 
Registriert seit: 11.03.2005
Ort: HH
Alter: 52
Beiträge: 1.930
Standard

Aber meins sprengt auch Hasen... und das ist viel lustiger!
__________________
Buliwyf ist offline  
Alt 12.09.2011, 15:13   #8 (permalink)
SQF Zauberer 10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Vienna
 
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
Standard

Bei Motorradraudis habe ich kein Problem. Aber als Mitglied im Tierschutzverein finde ich das mit den Hasen nicht lustig.
Vienna ist offline  
Alt 12.09.2011, 19:58   #9 (permalink)
10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Buliwyf
 
Registriert seit: 11.03.2005
Ort: HH
Alter: 52
Beiträge: 1.930
Standard

Zitat von Vienna Beitrag anzeigen

Bei Motorradraudis habe ich kein Problem. Aber als Mitglied im Tierschutzverein finde ich das mit den Hasen nicht lustig.

...und ich als Motorradfahrer finde das mit den Minen nicht lustig... aber wen juckts? Ich schaffe es jedenfalls Real Life von Computerspielen zu unterscheiden... also nichts wie in tausend Stücke mit den Hasen und den Mopeds!!!

__________________
Buliwyf ist offline  
 


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
Einheiten springen gleichzeitig aus Helikopter bei Bodenberührung ca$hflow Editing & Scripting 24 25.09.2010 18:41
Springen in ArmA2? Der_Ingenieur Technische Fragen & Probleme 62 24.09.2010 14:55


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 117 118 119