09.03.2009, 12:53 | #1 (permalink) |
Registriert seit: 11.01.2008
Ort: NRW
Alter: 32
Beiträge: 140
|
Effekt "Black Out/In"
Hallo
Ich habe eine Frage bezüglich des Effekts "Black Out/In". Durch den Effekt sind normalerweise alle Spieler betroffen kann man den evtl nur für 1 Person einblenden lassen?. Danke schonmal. S4mmy
__________________
IF (IT MAKES "KLICK") Then {YOU BE IN THE SHIT} |
09.03.2009, 14:23 | #2 (permalink) |
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
Das ist ein lokaler Befehl. Wenn du ihn aber z.B. in einem normalen Auslöser aufrufst, dann sehen ihn natürlich alle Spieler. In einem Skript, welches nur bei einem Spieler abläuft, sieht es nur dieser Spieler.
Das sieht man öfter in Missionen wenn ein Spieler stirbt, dann wird der Bildschirm abgedunkelt. Das läuft aber nur auf dem PC dieses Spielers ab. |
09.03.2009, 14:28 | #3 (permalink) |
Registriert seit: 11.01.2008
Ort: NRW
Alter: 32
Beiträge: 140
|
Okay und wie funktioniert das? Brauche das für eine Mission da aber ein Spieler Pilot ist darf natürlich bei ihm das Bild nicht abdunkeln^^.
__________________
IF (IT MAKES "KLICK") Then {YOU BE IN THE SHIT} |
09.03.2009, 22:35 | #5 (permalink) |
man kann auch nach ne Namen abfragen
PHP-Code:
PHP-Code:
__________________
--> -> Rechtschreibfehler sind Gratis <- <-- --> Wer welche findet kann sie behalten <-- German Nato Corps |
|
10.03.2009, 11:06 | #6 (permalink) |
Registriert seit: 11.01.2008
Ort: NRW
Alter: 32
Beiträge: 140
|
Danke für die Antworten
Also ich hab folgendes vor ich lasse die Ki mit einem V22 Osprey über die See fliegen. Eine Rakete kommt angeflogen und haut das linke Triebwerk weg. Mit einem Triebwerk fliegts sich schlecht! Also landet der Pilot im Wasser klappt auch alles wunderbar! Weil diee Gruppe ins Wasser gebeamt wird möcht ich nur für die Gruppe ein Schwarzes Bild für ein paar Sekunden einblenden lassen, sieht sonst n' bisschen blöd aus, da man auf einmal irgendwo im Wasser ist . Der Pilot des Rescue Teams ist aber ein Spieler und bekanntlich fliegts sich mit schwarzen Bildschirm echt blöd. Daher ist es schlecht das es für ihn auch eingeblendet wird! Nun weiß ich aber nicht genau wie das bei den Spieler in Gruppe 1 lokal abgefragt wird, dass das Bild schwarz wird. Dabei bräucht ich hilfe =)
__________________
IF (IT MAKES "KLICK") Then {YOU BE IN THE SHIT} Geändert von S4mmy (10.03.2009 um 11:11 Uhr). |
10.03.2009, 15:44 | #7 (permalink) |
man könnte das über die höhe machen wenn der Pilot schon in der Luft ist oder über den Namen wenn der Pilot noch am Boden ist.
per namen PHP-Code:
__________________
--> -> Rechtschreibfehler sind Gratis <- <-- --> Wer welche findet kann sie behalten <-- German Nato Corps |
|
10.03.2009, 16:46 | #8 (permalink) |
Registriert seit: 11.01.2008
Ort: NRW
Alter: 32
Beiträge: 140
|
Oh man... xD
? !(player isKindOf SoldierWG) : goto "weiter" ... ... deine Zeilen für die Abdunklung ... #weiter ich bräuchte das komplette script das mit der abdunkelung weiß ich ja nicht wie das geht =/ ?! und was soll unter weiter hin ?! weil wenn ich schreibe titleCut ["", "Black In", 3]; sind ja wieder alle spieler davon betroffen wenn der spieler xy unter einer höhe von 5m is.. =/ das das bei einer höhe von xy anfängt is kein problem! Also der Osprey fliegt durch n Auslöser bekommt Schaden dann fliegt er kurz bevor er abstürzt durch einen zweiten Auslöser und das Script wird ausgeführt: Code:
titleCut ["", "Black Out", 1]; {_x setpos getpos crewsh} forEach units e1; ~3 titleCut ["", "Black In", 1]; exit
__________________
IF (IT MAKES "KLICK") Then {YOU BE IN THE SHIT} Geändert von S4mmy (10.03.2009 um 17:20 Uhr). |
10.03.2009, 19:52 | #9 (permalink) |
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
Ich gehe davon aus, dass alle der Gruppe Spieler sind, wovon einer der Pilot ist der im Flugzeug verbleiben soll.
_flz = Flugzeugname if (not player driver _flz) then {titleCut ["", "Black Out", 1]} ~2 _pos = getpos crewsh if (not player driver _flz) then {player setpos _pos} ~1 if (not player driver _flz) then {titleCut ["", "Black In", 1]} Es gibt hier kein goto zu "warten"! Sind KIs in der Gruppe, dann sieht die mittler Zeile so aus: { if(not _x driver _flz) then {_x setpos _pos} } forEach units e1 |
10.03.2009, 21:57 | #10 (permalink) |
Registriert seit: 11.01.2008
Ort: NRW
Alter: 32
Beiträge: 140
|
super danke und wenn der pilot nicht in der gruppe ist bzw im fahrzeug ist kann ich dann schreiben
Code:
_flz = pilot1 if (not player _flz) then {titleCut ["", "Black Out", 1]}
__________________
IF (IT MAKES "KLICK") Then {YOU BE IN THE SHIT} |
10.03.2009, 23:40 | #11 (permalink) |
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
Du solltest bei einer Frage gleich zu Beginn die genauen Umstände beschreiben.
Mit folgenden Zeilen wird bei jedem Spieler, der als Pilot in irgend einem Luftfahrzeug sitzt, die die Abdunklung nicht gezeigt. if(not (vehicle player isKindOf "Air" and player == driver vehicle player))then{titleCut ["","Black Out",1]} ~2 { _x setpos getpos crewsh } forEach units e1 ~1 if(not (vehicle player isKindOf "Air" and player == driver vehicle player))then{titleCut ["","Black In",1]} Sitzt der Pilot als Gruppenmitglied im abstürzenden Flugheuz und soll nicht rausgesetzt werden, dann musst du diese als mittlere Zeile nehmen: { if(not _x driver Flugzeugname) then {_x setpos _pos} } forEach units e1 |
11.03.2009, 01:40 | #12 (permalink) |
Registriert seit: 11.01.2008
Ort: NRW
Alter: 32
Beiträge: 140
|
Stimmt war etwas kompliziert.. Also nochmal alles auf Anfang Die Gruppe 1 mit dem Teamleiter Namens e1 sitzen in einem V22 Osprey der übers Meer fliegt. Durch einen Auslöser bekommt der Osprey schaden und das linke Triebwerk fällt aus. Die Ki fliegt den Osprey und macht eine sehr unschöne Notlandung auf dem Wasser Die Gruppe 1 soll bei einer höhe von ca. 10 Meter eine Abdunkelung des Bildschirms bekomme danach werden sie hinter den Osprey gebeamt, sodass sie bei der Notlandung nicht verrecken und dannach das Bild wird wieder Normal. In der zwischenzeit steht am Flughafen der RscPilot1 ( ebendfalls ein Spieler ) und wartet außerhalb des Rescue Helis doch er soll von der abdunkelung nichts mitbekommen sowie evtl später weitere Spieler auch die abdunkelung soll just für Gruppe 1 sein. Ich denke mal jetzt hast du alles verstanden. Was ein hin und her
__________________
IF (IT MAKES "KLICK") Then {YOU BE IN THE SHIT} Geändert von S4mmy (11.03.2009 um 01:45 Uhr). |
11.03.2009, 10:39 | #13 (permalink) |
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
Ja, ich habe es verstanden. Aber ich hoffe du verstehst auch, dass ich so eine Prozedur in Zukunft nicht mehr mitmache!
Die Abdunklung nur für die Gruppe 1: ? not(player in units e1) : goto "ende" titleCut ["","Black Out",1] ~2 { _x setpos getpos crewsh } forEach units e1 ~1 titleCut ["","Black In",1] #ende Hier alles in einer Zeile, welche du direkt in "Bei Akt." in den Auslöser kopieren kannst und so kein Skript notwendig ist: temp=[crewsh,e1]spawn{if(not(player in units(_this select 1)))then{titleCut ["","Black Out",1];sleep 2;{_x setpos getpos(_this select 0)}forEach units(_this select 1);sleep 1;titleCut ["","Black In",1]}} Beachte die Paramter [crewsh,e1] welche übergeben werden müssen. [ <Objektname von dem die Position genommen wird> , <Gruppenname> ] Allerdings könnte es in beiden Fällen vorkommen, dass es nicht ganz sauber funktioniert, wenn die Befehle bei den Clients nicht zeitgleich ablaufen. So könnte es sein, dass ein Spieler schon vor dem Abdunkeln versetzt wird. Falls das so ist kannst du es verhindern, wenn du die erste Pause (2 Sekunden) um einige Sekunden verlängerst. Eine korrektere Lösung wäre viel komplizierter. |
11.03.2009, 12:59 | #15 (permalink) |
Registriert seit: 11.01.2008
Ort: NRW
Alter: 32
Beiträge: 140
|
Ich bin heute morgen erst dazu gekommen es zu testen leider wird es für alle ausgeführt und nicht nur für die spieler in der gruppe e1 =(...
jetzt hab ich es mal in eine sqf gepackt Code:
dieblinden=[e1,e2,e3,e4,e5,e6]; if !(_this in dieblinden) exitwith {}; titleCut ["","Black Out",1]; sleep 2; { _x setpos getpos crewsh } forEach units dieblinden; sleep 2; titleCut ["","Black In",1]; exit
__________________
IF (IT MAKES "KLICK") Then {YOU BE IN THE SHIT} Geändert von S4mmy (11.03.2009 um 15:32 Uhr). |
11.03.2009, 15:50 | #16 (permalink) |
das "_this" ist das problem,das script kann dem keiner person zuordnen damit das klappt.
"_this" kann nur gut verwenden um in Init zuarbeiten oder um Var zu übergeben in Scripten. PHP-Code:
__________________
--> -> Rechtschreibfehler sind Gratis <- <-- --> Wer welche findet kann sie behalten <-- German Nato Corps Geändert von [GNC]Lord-MDB (11.03.2009 um 15:53 Uhr). |
|
11.03.2009, 16:15 | #17 (permalink) |
Registriert seit: 11.01.2008
Ort: NRW
Alter: 32
Beiträge: 140
|
jaaaaa =) es klappt dankeschön
einzigste problem ist die zeile { _x setpos getpos crewsh } forEach units dieblinden; anstatt dieblinden muss ich e1 einsetzten aber klappt dann auch einwandfrei
__________________
IF (IT MAKES "KLICK") Then {YOU BE IN THE SHIT} Geändert von S4mmy (11.03.2009 um 16:26 Uhr). |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
Themen-Optionen | |
Ansicht | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Wer kennt wen aus dem "real life"? | Kompost | Offtopic | 8 | 05.10.2009 18:15 |
"transport entladen" funzt net auf em Dedi-Server | Mr.g-c | Editing | 10 | 08.09.2008 15:18 |
Wo finde ich die map "Berzerk" zum downloaden??? | Jois[GER] | Multiplayer Community | 2 | 30.01.2008 21:27 |
Waypoint "GUARD" oder "BEWACHEN" | syn1979 | Editing | 2 | 21.12.2006 09:05 |