Armed-Assault.de Twitter
Antwort
 
Themen-Optionen Ansicht
Alt 18.01.2014, 22:43   #1 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 03.07.2012
Beiträge: 118
Standard JIP - Ausrüstung

Moin Leute!

Ich habe folgendes Problem:

Es sollten alle Einheiten komplett ohne Klamotten, Waffen und Ausrüstung starten und ein vorgefertigtes Loadout via Actionmenüklick zugeteilt bekommen. Von daher wurde im Editor in jeder Initzeile der playableUnits der dementsprechende Code (removeHeadGear, removeGoggles, removeAllAssignedItems, removeBackpack, removeVest, removeUniform) eingetragen und man ist danach dann zu seinem "Spind" gelaufen und hat sich seine Komplettmontur abgeholt. Dabei kam dann das Problem auf, dass bei jedem JoinInProgress die Bekleidung der Spieler entfernt wurde, alle halt wieder nur in Boxershorts und Unterhemd dastanden.

Wie hier auf dem Feedbacktracker schon reportet wurde.
0015779: Losing clothes as Blufor on Multiplayer. - Arma 3 Feedback Tracker

Ich habe jetzt die Initialisierungszeilen der Einheiten alle geleert und starte in der init.sqf ein Script mit -> gearless.sqf:

Code:
If (local player) then {

{player removeWeapon _x} forEach (weapons player);
removeAllAssignedItems player;
removeAllContainers player;
removeHeadgear player;
removeGoggles player;

};
Das Gute vorweg: anscheinend und nach mehrmaligem Testen ist das Problem mit dem Klamottenverlieren dadurch behoben. Weder eine Einheit, die von Anfang an komplett angezogen ist, noch eine, die sich ein Komplettloadout übers Actionmenü zaubert, verliert bei einem JIP ihre Klamotten.

Das Schlechte ist leider noch, dass nur der erste Player, der auf den Server connectet "nackt" spawnt. Bei allen nachfolgenden wird das Script vielleicht nicht ausgeführt!?

Kurz gesagt: ich möchte alle playableUnits "nackt" starten lassen und gleichzeitig unterbinden, dass sie bei einem JoinInProgress ihre Klamotten verlieren!

Danke für eure Hilfe und Gruß
killshot ist offline   Mit Zitat antworten
Alt 20.01.2014, 11:22   #2 (permalink)
Newbie
 
Registriert seit: 15.05.2012
Beiträge: 27
Standard

Probier mal:
Code:
//init.sqf: 
if (!isServer) then
{
execVM "gearless.sqf";
};
//gearless.sqf:
{ 
removeAllWeapons _x;
removeallAssignedItems _x;
removeAllContainers _x;
removeHeadgear _x;
removeGoggles _x;
} forEach playableUnits;
und berichte bitte mal wie sich das o.g. auf ein JIP auswirkt.
b0rnkilla ist offline   Mit Zitat antworten
Alt 20.01.2014, 14:28   #3 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 03.07.2012
Beiträge: 118
Standard

Ok, werds nachher mal probieren, danke schonmal soweit!

Im Moment sind wir auf dem Stand, dass wir die gearless.sqf in der Initialisierungszeile jeder im Editor gesetzten playableUnit über nul = [this] execVM "gearless.sqf"; starten.

Die gearless.sqf sieht jetzt bei uns gerade folgendermaßen aus:

Code:
private ["_LocalPlayer","_x"];

_LocalPlayer = _this select 0;
waitUntil {!isNull _LocalPlayer};

if (local _LocalPlayer) then {
    {_LocalPlayer removeWeapon _x} forEach (weapons _LocalPlayer);
    removeAllAssignedItems _LocalPlayer;
    removeAllContainers _LocalPlayer;
    removeHeadgear _LocalPlayer;
    removeGoggles _LocalPlayer;

};
Das hat eigentlich genau den Effekt gehabt, den wir wollten. Jede Einheit wird "nackt" gespawnt zu Beginn und alle bleiben angezogen, wenn jemand nachjoint. Allerdings hatten wir immer nur zu zweit und nur JoinInProgress getestet.

Gestern sind wir dann Mal gleichzeitig connectet und da wurde das Script dann nur für denjenigen, der als erstes connectet hat ausgeführt, der nachfolgende Spieler war angezogen und bewaffnet, etc.

Werden dann Mal die Variante von b0rnkilla testen, gucken was passiert.

Gruß
killshot ist offline   Mit Zitat antworten
Alt 20.01.2014, 15:31   #4 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 03.07.2012
Beiträge: 118
Standard

Hier die Lösung falls es noch jemand benötigen sollte:

gearless.sqf
Code:
private ["_LocalPlayer","_x"];

_LocalPlayer = _this select 0;
waitUntil {!isNull _LocalPlayer};

    {_LocalPlayer removeWeapon _x} forEach (weapons _LocalPlayer);
    {_LocalPlayer removeMagazine _x} forEach (magazines _LocalPlayer);
    removeAllAssignedItems _LocalPlayer;
    removeAllContainers _LocalPlayer;

if (local _LocalPlayer) then {
    removeHeadgear _LocalPlayer;
    removeGoggles _LocalPlayer;
};
killshot ist offline   Mit Zitat antworten
Alt 22.01.2014, 08:51   #5 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 02.11.2010
Beiträge: 113
Standard

Danke für die Info, ist sicherlich für den einen oder anderen brauchbar.
JanIs 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
Riesiges Problem mit der Lokalität im MP (Ausrüstung) Drunken Officer Editing & Scripting 4 22.12.2013 14:25
nach Respawn Ausrüstung behalten whatever828 Editing & Scripting 18 04.03.2013 11:38
Ausrüstung bleibt + "Teamstatus" bleibt erhalten Nova Editing & Scripting 1 01.08.2012 19:51
Probleme mit der A.C.E. Ausrüstung Warmachine91 Mods & Addons 4 24.06.2012 12:50
Freie Slots für Ausrüstung Buliwyf Editing & Scripting 2 05.09.2010 07:21


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