Armed-Assault.de Twitter
 
 
Themen-Optionen Ansicht
Alt 27.02.2013, 12:16   #1 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 03.07.2012
Beiträge: 118
Standard hideobject global(?)

Hi Leute,

ich habe bei 2 Maps im Multiplayer ein Problem mit dem hideobject-Befehl.

Es geht darum, dass jeweils nur der ausführende Spieler (Caller?!) Sicht auf das aufgedeckte Objekt (bzw. die Objekte) bekommt.


1.Fall

Eine Leiche (Erhängter Arzt/Name= leiche1) hängt an einem Baum, mit der Möglichkeit sie abzuhängen.

InitZeile: this addAction ["Leichnam abhängen","scripts\leiche.sqf"];

leiche.sqf
Zitat:

sleep 2;
player playMove "ainvpknlmstpslaywrfldnon_medic";
deletevehicle leiche1;
sleep 1;
leiche2 hideobject false;

Leiche2 (this hideobject true) ist ein Bodybag, der dann allerdings, wie erwähnt, nur für den Caller sichtbar wird.


2.Fall

Hierbei handelt es sich um ein Killhouse-Areal, in dem es per Laptop die Möglichkeit gibt zwischen Übung (Popups und Wertungsscheiben) und Ernstfall (feindliche KI) zu wechseln. Zweiteres funktioniert wie erwünscht.

Objekt Laptop mit InitZeile:

this setPos [getPos this select 0, getPos this select 1, 1.1]; ID01 = this addAction ["Aktiviere Killhouse-Areal 1 Übung","Scripts\Killhouses\KHA1a.sqf"]; ID02 = this addAction ["Aktiviere Killhouse-Areal 1 Ernstfall","Scripts\Killhouses\KHA1b.sqf"];

Problemscript KHA1a.sqf
Zitat:

sleep 1;
hint "Killhouse-Area 1 - Rotes Licht 40 Sekunden!";

// Ziele Aufdecken (Sleep 40Sek)
kha1t1 hideobject false;
sleep 1;
kha1t2 hideobject false;
sleep 1;
kha1t3 hideobject false;
sleep 1;
kha1t4 hideobject false;
sleep 1;
kha1t5 hideobject false;
sleep 1;
kha1t6 hideobject false;
sleep 1;
kha1t7 hideobject false;
sleep 1;
kha1t8 hideobject false;
sleep 1;
kha1t9 hideobject false;
sleep 1;
kha1t10 hideobject false;
sleep 1;
kha1t11 hideobject false;
sleep 1;
kha1t12 hideobject false;
sleep 1;
kha1t13 hideobject false;
sleep 1;
kha1pop1 hideobject false;
sleep 1;
kha1pop2 hideobject false;
sleep 1;
kha1pop3 hideobject false;
sleep 1;
kha1pop4 hideobject false;
sleep 1;
// UndSoWeiter...

sleep 2;
hint "Killhouse-Area 1 - Übung 1 - Grünes Licht!";
sleep 10;
hintSilent "";

Ich habs auch schon mit

if (isServer) exitWith {} oder
if (!isServer) exitWith {} oder
if (isPlayer) exitWith {} oder
if (isPlayer) then { _obj1 hideobject false; ..... }; oder
if (isServer) then { _obj1 hideobject false; ..... }; oder
if (isMultiplayer) then { _obj1 hideobject false ..... }; probiert,

aber hatte leider keinen Erfolg und da ich nur unregelmäßig die Möglichkeit zum Hochladen und Testen habe und sich das jetzt schon über Monate zieht wollte ich euch um Rat bitten.


Super wäre es auch, wenn der Hint vielleicht für jeden Spieler sichtbar wäre, das ist aber eher unwichtig.. ^^



Danke und Grüße
killshot ist offline  
Alt 27.02.2013, 12:58   #2 (permalink)
10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von TeRp
 
Registriert seit: 02.04.2003
Ort: San Francisco
Beiträge: 1.919
Standard

Ich weiß zwar nicht, warum Leichensäcke nur für eine Person und nicht alle sichtbar sein sollen, aber an deiner Stelle würde ich es statt mit hideobject mal mit createVehicleLocal versuchen.
__________________

TeRp ist offline  
Alt 27.02.2013, 13:16   #3 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 03.07.2012
Beiträge: 118
Standard

Mist, ich sehe gerade, ich hab's vielleicht ein bisschen missverständlich beschrieben, danke trotzdem schonmal für eine Antwort ^^

Also ich meinte damit, dass das halt mein Problem ist, dass es nicht jeder sehen kann - also es soll jeder den Leichensack, bzw. die Popups/Wertungsscheiben sehen können, was momentan leider nicht der Fall ist.

Dachte auch schon daran, den Leichensack einfach zu erstellen (also createvehicle anstatt createvehiclelocal), aber dann ist mir die Parallele zu dem Killhouse-Problem in den Sinn gekommen und ich dachte man könnte 2 Fliegen mit einer Klappe schlagen, wenn ich mir Hilfe hole.

Würde bei Fall-1 (Leichensack) nicht auch gehen, wenn die erste Zeile im Script

if (isServer) exitWith {};

lauten würde?
killshot ist offline  
Alt 27.02.2013, 13:26   #4 (permalink)
10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von TeRp
 
Registriert seit: 02.04.2003
Ort: San Francisco
Beiträge: 1.919
Standard

Dann benutz definitiv createVehicle, das ist das sinnvollste.

hideObject hat immer nur dort Effekt, wo es ausgeführt wird.
Dein Problem ist, dass die User-Action, die du mittels addAction dem Spieler gibst, auch nur bei diesem Spieler ausgeführt wird. Ergo wird nur auf dessen Rechner hideObject ausgeführt, auf den anderen verbundenen Rechnern nicht. Daher der unerwünschte Effekt.

Bei dem anderen Script gehe ich davon aus, dass du einen Trigger benutzt, der dann auf allen verbundenen Rechnern feuert. Ergo wird hideObject auf allen Rechnern ausgeführt, und die Objekte auch überall sichtbar.

Bei der addAction brauchst du nur hideObject durch einen entsprechenden createVehicle ersetzen, dann ist alles in Butter.

Bei deinem Killhouse kannst du auch alles entsprechend ersetzen, allerdings an den Anfang des Scripts ein if (!isServer} exitWith {} um zu verhindern, dass das Script auf allen verbundenen Rechnern ausgeführt wird.
__________________

TeRp ist offline  
Alt 27.02.2013, 14:44   #5 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 03.07.2012
Beiträge: 118
Standard

Ok, für das Leichensack-Problem werde ich dann wohl einfach createVehicle nutzen, das ist dann wohl wirklich das simpelste, danke dir!


Für das Killhouse-Problem habe ich dann evtl doch noch eine bessere Lösung, wenn es geklappt hat schreibe ich diese hier rein!

Grüße
killshot ist offline  
Alt 06.03.2013, 20:31   #6 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 03.07.2012
Beiträge: 118
Standard

Ja, wollte nur kurz bescheid geben, dass jetzt alles wie erwünscht funktioniert.

Wollte erst über ne PublicVariable gehen, um das vielleicht auch Mal zu verstehen, aber du hattest natürlich schon recht ^^

Danke nochmal Terp!
killshot 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
Suche Mitstreiter für AAS-Turnier "Armed Global Warfare (AGW)" BCA Cat Toaster Die Litfaßsäule 36 30.10.2010 13:37


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