Armed-Assault.de Twitter
Antwort
 
Themen-Optionen Ansicht
Alt 22.08.2014, 14:49   #1 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 03.07.2012
Beiträge: 118
Standard Objekt nur sichtbar wenn Spieler existiert

Moin, moin.

Ich habe für eine MP-Mission als Startlocation ein kleines Biwak (hauptsächlich aus den interaktiven Schlafsäcken/Rallypoints) erstellt und möchte jetzt gerne, dass der jeweilige Schlafsack (rp1 bis rp12) nur dann sichtbar (hideObjectGlobal) ist, wenn der dazugehörige Spieler (s1 bis s12) auch tatsächlich auf dem Server ist. Also wenn beispielweise alle Slots bis auf s11 und s12 belegt sind, sollen eben auch nur rp1 bis rp10 sichtbar sein.

Ich hatte es jetzt in meiner init.sqf folgendermaßen probiert.

PHP-Code:
if (!isNull s1then {if (s1 == playerthen {rp1 hideObjectGlobal false;} else {rp1 hideObjectGlobal true;};};
if (!
isNull s2then {if (s2 == playerthen {rp2 hideObjectGlobal false;} else {rp2 hideObjectGlobal true;};};
if (!
isNull s3then {if (s3 == playerthen {rp3 hideObjectGlobal false;} else {rp3 hideObjectGlobal true;};};
if (!
isNull s4then {if (s4 == playerthen {rp4 hideObjectGlobal false;} else {rp4 hideObjectGlobal true;};};
if (!
isNull s5then {if (s5 == playerthen {rp5 hideObjectGlobal false;} else {rp5 hideObjectGlobal true;};};
if (!
isNull s6then {if (s6 == playerthen {rp6 hideObjectGlobal false;} else {rp6 hideObjectGlobal true;};};
if (!
isNull s7then {if (s7 == playerthen {rp7 hideObjectGlobal false;} else {rp7 hideObjectGlobal true;};};
if (!
isNull s8then {if (s8 == playerthen {rp8 hideObjectGlobal false;} else {rp8 hideObjectGlobal true;};};
if (!
isNull s9then {if (s9 == playerthen {rp9 hideObjectGlobal false;} else {rp9 hideObjectGlobal true;};};
if (!
isNull s10then {if (s10 == playerthen {rp10 hideObjectGlobal false;} else {rp10 hideObjectGlobal true;};};
if (!
isNull s11then {if (s11 == playerthen {rp11 hideObjectGlobal false;} else {rp11 hideObjectGlobal true;};};
if (!
isNull s12then {if (s12 == playerthen {rp12 hideObjectGlobal false;} else {rp12 hideObjectGlobal true;};}; 
Im Editor funktionierts, auf einem DediServer leider nicht.

Ein Kollege hatte dann noch folgenden Lösungsvorschlag, der bis jetzt leider auch nicht hingehauen hat:

PHP-Code:
_arr_players = [ [s1,rp1],[s2,rp2],[s3,rp3],[s4,rp4],[s5,rp5],[s6,rp6],[s7,rp7],[s8,rp8],[s9,rp9],[s10,rp10],[s11,rp11],[s12,rp12] ];

for [{ 
_i }, { _i count(_arr_players) }, { _i _i +}] do
{
    
player groupchat format["Loop with index #%1",_i];
   if ( !
isNil( (_arr_players select _iselect 0 ) && (player == ((_arr_players select _iselect 0)) ) then  
   

    
player groupchat format["Player %1 is equal",(_arr_players select _iselect 0];
    (
_arr_players select _iselect 1 hideObjectGlobal false;
   } else { 
player groupchat format["Player %1 is not equal",(_arr_players select _iselect 0]; (_arr_players select _iselect 1 hideObjectGlobal true; };
}; 
Kann da vielleicht jemand eine helfende Hand reichen?

Danke und Grüße


Edit: Hatte eine falsche Überschrift sorry

Geändert von killshot (22.08.2014 um 14:51 Uhr).
killshot ist offline   Mit Zitat antworten
Alt 22.08.2014, 15:08   #2 (permalink)
Imperator fori nocturni - This sucks more than anything that has ever sucked before 10 Jahre hx3
20.000 Beiträge
 
Benutzerbild von burns
 
Registriert seit: 13.04.2003
Ort: Monerica
Alter: 36
Beiträge: 32.338
Standard

1. Alle Schlafsäcke versteckt schalten.

2. Bei jedem Spieler in die Initzeile "Schlafsack Nummer soundso = unversteckt"

3. Profit



Ist allerdings ohne Scriptgenickbruch, ka ob du sowas willst
__________________

burns ist offline   Mit Zitat antworten
Alt 22.08.2014, 15:30   #3 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 03.07.2012
Beiträge: 118
Standard

Ich bin ja ein Fan von 'je simpler desto performance'

Hab's jetzt nochmal so probiert

_rps = [rp1,rp2,rp3,rp4,rp5,rp6,rp7,rp8,rp9,rp10,rp11,rp12];
{_x hideObjectGlobal true;} forEach _rps;

und in die player's init (s1)
rp1 hideObjectGlobal false;

Funktioniert leider auch nicht, aber ich glaube bei der Methode würde die Atmosphäre auch ein kleinen wenig drunter leidern oder nicht? Weil man ja nur seinen eigenen Schlafsack sieht zu Beginn... was mir dann mittlerweile aber auch schon fast wieder egal ist
killshot ist offline   Mit Zitat antworten
Alt 22.08.2014, 16:12   #4 (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

Das Geheimnis der Abfrage sollte sein:
Code:
isNil "s1"
...usw. ABER, vielleicht bin ich zu blöd, aber die Respawnschlafsäcke, mit denen ich noch nie gearbeitet habe, bekomme ich nicht mit hideObjectGlobal ausgeblendet oder mit deleteVehicle gelöscht. Ich bin verwirrt, aber sobald ich die im Editor platziert habe, werde ich die Teile nicht mehr los!
__________________
Buliwyf ist offline   Mit Zitat antworten
Alt 22.08.2014, 16:31   #5 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 03.07.2012
Beiträge: 118
Standard

Das Problem mit dem Nichtlöschenkönnen hatte ich gestern auch, als ich nicht wusste, wie ich diese Rucksäcke bereits bei Missionsbeginn deployed haben könnte. Wollte dann eigentlich den interaktiven Rucksack "B_Respawn_Sleeping_Bag_F" gegen den interaktiven ausgerollten Schlafsack "Respawn_Sleeping_Bag_F" tauschen, aber konnte die Rucksäcke, wie gesagt, nicht löschen im Script. Habe jetzt einfach 12 normale Schlafsäcke platziert und die classnames in der mission.sqm ausgetauscht. Die sind dann auch entfernbar plötzlich, wenn man möchte.

Ich probier dann nochmal die erste Variante mit isNil anstatt isNul, muss aber erstmal zum Arzt schnell


Edit: Hab's mit isNil auch erstmal nicht gebacken bekommen

Geändert von killshot (22.08.2014 um 19:45 Uhr).
killshot ist offline   Mit Zitat antworten
Alt 22.08.2014, 20:30   #6 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 03.07.2012
Beiträge: 118
Standard

Also die erfrischend simple Lösung des Problems besteht darin, die 'Bedingung der Anwesenheit' der Objekte mit der Existenz der Spieler zu verbinden.

In meinem Fall also ins Objekt "rp1" unten als Bedingung 'alive s1' eingeben, usw.

Schönen Dank an Larrow aus dem BIS Forum dafür und danke an euch natürlich!

killshot 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
2 friendly DayZ-Server (rmod, vanilla) runbat DayZ 0 23.11.2012 11:04
Everon Skirmish - MP Campaign for vanilla A2OA burns Usermade Missions 2 19.03.2012 21:16
crCTI Project X Vanilla (keine Addons) X-one Usermade Missions 9 12.03.2011 16:56


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