HX3 Foren

HX3 Foren (https://hx3.de/)
-   Editing & Scripting (https://hx3.de/editing-scripting-167/)
-   -   Weapon Save Config (https://hx3.de/editing-scripting-167/weapon-save-config-20416/)

Arni83 17.02.2011 14:43

Weapon Save Config
 
Hallo Leute

Ich habe eine frage zum Weapon save!

wenn man stirbt und wieder aufwacht das man die selbe ausrüstung hat wie vorher

könnt ihr mir evtl sagen wie das script aussieht bzw die config wie die geschrieben gehört.

danke

Pfandgiraffe 17.02.2011 16:59

Code:

if (!(local player)) exitWith {};

while {true} do {
    waitUntil {!alive player};
    _weapons = weapons player;
    _magazines = magazines player;
    waitUntil {alive player};
    _p = player;
    removeAllItems _p;
    removeAllWeapons _p;
    {_p addMagazine _x;} forEach _magazines;
    {_p addWeapon _x;} forEach _weapons;
    _primw = primaryWeapon _p;
    if (_primw != "") then {
        _p selectWeapon _primw;
        // Fix for weapons with grenade launcher
        _muzzles = getArray(configFile>>"cfgWeapons" >> _primw >> "muzzles");
        _p selectWeapon (_muzzles select 0);
    };
};

if (true) exitWith {};


Arni83 17.02.2011 17:01

Danke für die antwort für das muss ich eine eigene sqf datei machen oder muss ich das in der init sqf hinterlegen?

Xeno 17.02.2011 17:21

*deleted*

Xeno

Arni83 17.02.2011 17:34

danke für deine antwort ich werde es sofort testen ob es geht :daumen:

CptMike 18.02.2011 14:47

Zitat:

Zitat von Xeno (Beitrag 358023)
*deleted*

Hallo Xeno!
Hättest du noch was passendes bei der Hand wenn ich noch zusätzlich einen Rucksack hätte?
Sprich das nach dem Tod im Rucksack auch noch alles drin ist was man sich vorher ausgesucht hat?
Mfg.Mike

SmartGun 18.02.2011 17:30

Hi,

eine Lösung mit Rucksack könnte in die Richtung gehen:

Code:

if (!isDedicated) then {
    [] spawn {
        // JIP player ist null
        if (isNull player) then {waitUntil {!isNull player}};
 
        // zur Sicherheit wenn das Script mehrmals ausgeführt werden sollte...
        if (!isNil {player getVariable "x_weaponmagadd"}) exitWith {};
        player setVariable ["x_weaponmagadd", true];
 
        player addEventhandler["killed", {
            player setVariable ["x_weapons", weapons player];
            player setVariable ["x_magazines", magazines player];
           
            if (!isNull unitBackpack player) then {
                player setVariable ["x_packType", (typeOf unitBackpack player)];
                  player setVariable ["x_packMags", (getMagazineCargo unitBackpack player)];
                  player setVariable ["x_packWeps", (getWeaponCargo unitBackpack player)];           
        };
        }];
 
        player addEventhandler ["respawn", {
            private "_p";
            _p = player;
            removeAllItems _p;
            removeAllWeapons _p;
            {_p addMagazine _x} forEach (player getVariable "x_magazines");
            {_p addWeapon _x} forEach (player getVariable "x_weapons");
            _primw = primaryWeapon _p;
            if (_primw != "") then {
                _p selectWeapon _primw;
                // Fix for weapons with grenade launcher
                _muzzles = getArray(configFile>>"cfgWeapons" >> _primw >> "muzzles");
                _p selectWeapon (_muzzles select 0);
            };
           
            if (!isNil {player getVariable "x_packType"}) then {
                private ["_packMags", "_packWeps"];   
                _packMags = [];
                _packWeps = [];         
                _packMags = (player getVariable "x_packMags");
                _packWeps = (player getVariable "x_packWeps");           
                _p addBackpack (player getVariable "x_packType");
                clearMagazineCargo (unitBackpack _p);
                clearWeaponCargo (unitBackpack _p);           
           
                for "_i" from 0 to count (_packMags select 0) - 1 do {
                    (unitBackpack _p) addMagazineCargo [(_packMags select 0) select _i, (_packMags select 1) select _i];
                };
                for "_i" from 0 to count (_packWeps select 0) - 1 do {
                    (unitBackpack _p) addWeaponCargo [(_packWeps select 0) select _i, (_packWeps select 1) select _i];
                };
            };
        }];
    };
};

Nicht getestet!

Und nicht dass ihr denkt ich versteh das alles zu 100% was da steht!
Bin nur gut im Abschreiben und Rumprobieren :D

Xeno 18.02.2011 18:03

*deleted*

Xeno

CptMike 18.02.2011 18:35

Vielen Dank hilft mir und meinen Kameraden gut weiter.
Somit bleibt auch unsere Marschverpflegung in den Rucksäcken.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:01 Uhr.

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