- Offizieller Beitrag
Melde dich mal im Native ts. Bin heute Dauer-Online ab jetzt. Einfach anschreiben. Dann schau ich mal drüber.
Falls ihr es löst dann gerne hier posten...
Melde dich mal im Native ts. Bin heute Dauer-Online ab jetzt. Einfach anschreiben. Dann schau ich mal drüber.
Falls ihr es löst dann gerne hier posten...
@Rom Weist du an was das liegen kann ? Kann es vill. doch an dem Perso liegen ?
Das mit den 5000 ist gefixt. Aber Das wenn die Alt+F4 Drücken dass die dann keine Sachen mehr haben usw.
Gibt es einen versteckten Key-Handler mit ALT+F4 der dein Gear wegen "rage quit" entfernt?
Gibt es einen versteckten Key-Handler mit ALT+F4 der dein Gear wegen "rage quit" entfernt?
Ich glaube nicht. auch wenn jemand Disconnectet also durch ein Restart gekickt wird dann verliert er seine sachen.
Habe noch eine Idee.
Vielleicht hilft das mal in der fn_escInterupt.sqf mach aber ein Backup!
#include <macro.h>
/*
File: fn_escInterupt.sqf
Author: Bryan "Tonic" Boardwine
Description:
Monitors when the ESC menu is pulled up and blocks off
certain controls when conditions meet.
*/
private["_abortButton","_respawnButton","_fieldManual","_escSync","_canUseControls"];
disableSerialization;
_escSync = {
private["_abortButton","_thread","_syncManager"];
disableSerialization;
_syncManager = {
disableSerialization;
private["_abortButton","_timeStamp"];
_abortButton = CONTROL(49,104);
_timeStamp = time + 10;
waitUntil {
_abortButton ctrlSetText format[localize "STR_NOTF_AbortESC",[(_timeStamp - time),"SS.MS"] call BIS_fnc_secondsToString];
_abortButton ctrlCommit 0;
round(_timeStamp - time) <= 0 || isNull (findDisplay 49)
};
_abortButton ctrlSetText localize "STR_DISP_INT_ABORT";
_abortButton ctrlCommit 0;
};
_abortButton = CONTROL(49,104);
[] call SOCK_fnc_updateRequest;
if(_this) then {
_thread = [] spawn _syncManager;
waitUntil{scriptDone _thread OR isNull (findDisplay 49)};
_abortButton ctrlEnable true;
};
};
_canUseControls = {
if(playerSide == west) exitWith {true};
if((player GVAR ["restrained",FALSE]) OR (player GVAR ["Escorting",FALSE]) OR (player GVAR ["transporting",FALSE]) OR (life_is_arrested) OR (life_istazed)) then {false} else {true};
};
while {true} do
{
waitUntil{!isNull (findDisplay 49)};
_abortButton = CONTROL(49,104);
_abortButton buttonSetAction "[[player],""TON_fnc_cleanupRequest"",false,false] call life_fnc_MP";
_respawnButton = CONTROL(49,1010);
_fieldManual = CONTROL(49,122);
//Block off our buttons first.
_abortButton ctrlEnable false;
_respawnButton ctrlEnable false;
_fieldManual ctrlEnable false;
_usebleCtrl = call _canUseControls;
_usebleCtrl spawn _escSync;
if(_usebleCtrl) then {
_respawnButton ctrlEnable true;
};
waitUntil{isNull (findDisplay 49)};
};
Alles anzeigen
Habe noch eine Idee.
Vielleicht hilft das mal in der fn_escInterupt.sqf mach aber ein Backup!
Code Alles anzeigen#include <macro.h> /* File: fn_escInterupt.sqf Author: Bryan "Tonic" Boardwine Description: Monitors when the ESC menu is pulled up and blocks off certain controls when conditions meet. */ private["_abortButton","_respawnButton","_fieldManual","_escSync","_canUseControls"]; disableSerialization; _escSync = { private["_abortButton","_thread","_syncManager"]; disableSerialization; _syncManager = { disableSerialization; private["_abortButton","_timeStamp"]; _abortButton = CONTROL(49,104); _timeStamp = time + 10; waitUntil { _abortButton ctrlSetText format[localize "STR_NOTF_AbortESC",[(_timeStamp - time),"SS.MS"] call BIS_fnc_secondsToString]; _abortButton ctrlCommit 0; round(_timeStamp - time) <= 0 || isNull (findDisplay 49) }; _abortButton ctrlSetText localize "STR_DISP_INT_ABORT"; _abortButton ctrlCommit 0; }; _abortButton = CONTROL(49,104); [] call SOCK_fnc_updateRequest; if(_this) then { _thread = [] spawn _syncManager; waitUntil{scriptDone _thread OR isNull (findDisplay 49)}; _abortButton ctrlEnable true; }; }; _canUseControls = { if(playerSide == west) exitWith {true}; if((player GVAR ["restrained",FALSE]) OR (player GVAR ["Escorting",FALSE]) OR (player GVAR ["transporting",FALSE]) OR (life_is_arrested) OR (life_istazed)) then {false} else {true}; }; while {true} do { waitUntil{!isNull (findDisplay 49)}; _abortButton = CONTROL(49,104); _abortButton buttonSetAction "[[player],""TON_fnc_cleanupRequest"",false,false] call life_fnc_MP"; _respawnButton = CONTROL(49,1010); _fieldManual = CONTROL(49,122); //Block off our buttons first. _abortButton ctrlEnable false; _respawnButton ctrlEnable false; _fieldManual ctrlEnable false; _usebleCtrl = call _canUseControls; _usebleCtrl spawn _escSync; if(_usebleCtrl) then { _respawnButton ctrlEnable true; }; waitUntil{isNull (findDisplay 49)}; };
Werde ich gleichmal ausprobieren
Es Geht immer noch nicht, bei den Cops funktioniert es. bei den Ziv´s nicht.
Hmm, Dann hätte ich so auch keine Lösung mehr. Einzigste Möglichkeit wäre das ich noch meine fn_saveGear hier reinschicke.
Mach aber wieder ein Backup.
#include <macro.h>
/*
File: fn_saveGear.sqf
Author: Bryan "Tonic" Boardwine
Full Gear/Y-Menu Save by Vampire
Edited: Itsyuka
Description:
Saves the players gear for syncing to the database for persistence..
*/
private["_return","_uItems","_bItems","_vItems","_pItems","_hItems","_yItems","_uMags","_vMags","_bMags","_pMag","_hMag","_uni","_ves","_bag","_handled"];
_return = [];
_return pushBack uniform player;
_return pushBack vest player;
_return pushBack backpack player;
_return pushBack goggles player;
_return pushBack headgear player;
_return pushBack assignedITems player;
if(playerSide == west || playerSide == civilian && {EQUAL(LIFE_SETTINGS(getNumber,"save_civ_weapons"),1)}) then {
_return pushBack RIFLE;
_return pushBack PISTOL;
} else {
_return pushBack [];
_return pushBack [];
};
_uItems = [];
_uMags = [];
_bItems = [];
_bMags = [];
_vItems = [];
_vMags = [];
_pItems = [];
_hItems = [];
_yItems = [];
_uni = [];
_ves = [];
_bag = [];
if(!(EQUAL(uniform player,""))) then {
{
if (_x in (magazines player)) then {
ADD(_uMags,[_x]);
} else {
ADD(_uItems,[_x]);
};
} forEach (uniformItems player);
};
if(!(EQUAL(backpack player,""))) then {
{
if (_x in (magazines player)) then {
ADD(_bMags,[_x]);
} else {
ADD(_bItems,[_x]);
};
} forEach (backpackItems player);
};
if(!(EQUAL(vest player,""))) then {
{
if (_x in (magazines player)) then {
ADD(_vMags,[_x]);
} else {
ADD(_vItems,[_x]);
};
} forEach (vestItems player);
};
if(count (primaryWeaponMagazine player) > 0 && alive player) then {
_pMag = SEL((primaryWeaponMagazine player),0);
if(!(EQUAL(_pMag,""))) then {
_uni = player canAddItemToUniform _pMag;
_ves = player canAddItemToVest _pMag;
_bag = player canAddItemToBackpack _pMag;
_handled = false;
if(_ves) then {
ADD(_vMags,[_pMag]);
_handled = true;
};
if(_uni && !_handled) then {
ADD(_uMags,[_pMag]);
_handled = true;
};
if(_bag && !_handled) then {
ADD(_bMags,[_pMag]);
_handled = true;
};
};
};
if(count (handgunMagazine player) > 0 && alive player) then {
_hMag = ((handgunMagazine player) select 0);
if(!(EQUAL(_hMag,""))) then {
_uni = player canAddItemToUniform _hMag;
_ves = player canAddItemToVest _hMag;
_bag = player canAddItemToBackpack _hMag;
_handled = false;
if(_ves) then {
ADD(_vMags,[_hMag]);
_handled = true;
};
if(_uni && !_handled) then {
ADD(_uMags,[_hMag]);
_handled = true;
};
if(_bag && !_handled) then {
ADD(_uMags,[_hMag]);
_handled = true;
};
};
};
if(count (RIFLE_ITEMS) > 0) then {
{
ADD(_pItems,[_x]);
} forEach (primaryWeaponItems player);
};
if(count (PISTOL_ITEMS) > 0) then {
{
ADD(_hItems,[_x]);
} forEach (handGunItems player);
};
{
//if(ITEM_VALUE(configName _x) > 0) then {
_val = ITEM_VALUE(_x);
if (_val > 0) then {
_yItems pushBack [_x,_val];
};
} forEach LIFE_SETTINGS(getArray,"allowedSavedVirtualItems");
_return pushBack _uItems;
_return pushBack _uMags;
_return pushBack _bItems;
_return pushBack _bMags;
_return pushBack _vItems;
_return pushBack _vMags;
_return pushBack _pItems;
_return pushBack _hItems;
//if(EQUAL(LIFE_SETTINGS(getNumber,"save_virtualItems"),1)) then {
_return pushBack _yItems;
//} else {
// _return pushBack [];
//};
life_gear = _return;
Alles anzeigen
Hmm, Dann hätte ich so auch keine Lösung mehr. Einzigste Möglichkeit wäre das ich noch meine fn_saveGear hier reinschicke.
Mach aber wieder ein Backup.
Code Alles anzeigen#include <macro.h> /* File: fn_saveGear.sqf Author: Bryan "Tonic" Boardwine Full Gear/Y-Menu Save by Vampire Edited: Itsyuka Description: Saves the players gear for syncing to the database for persistence.. */ private["_return","_uItems","_bItems","_vItems","_pItems","_hItems","_yItems","_uMags","_vMags","_bMags","_pMag","_hMag","_uni","_ves","_bag","_handled"]; _return = []; _return pushBack uniform player; _return pushBack vest player; _return pushBack backpack player; _return pushBack goggles player; _return pushBack headgear player; _return pushBack assignedITems player; if(playerSide == west || playerSide == civilian && {EQUAL(LIFE_SETTINGS(getNumber,"save_civ_weapons"),1)}) then { _return pushBack RIFLE; _return pushBack PISTOL; } else { _return pushBack []; _return pushBack []; }; _uItems = []; _uMags = []; _bItems = []; _bMags = []; _vItems = []; _vMags = []; _pItems = []; _hItems = []; _yItems = []; _uni = []; _ves = []; _bag = []; if(!(EQUAL(uniform player,""))) then { { if (_x in (magazines player)) then { ADD(_uMags,[_x]); } else { ADD(_uItems,[_x]); }; } forEach (uniformItems player); }; if(!(EQUAL(backpack player,""))) then { { if (_x in (magazines player)) then { ADD(_bMags,[_x]); } else { ADD(_bItems,[_x]); }; } forEach (backpackItems player); }; if(!(EQUAL(vest player,""))) then { { if (_x in (magazines player)) then { ADD(_vMags,[_x]); } else { ADD(_vItems,[_x]); }; } forEach (vestItems player); }; if(count (primaryWeaponMagazine player) > 0 && alive player) then { _pMag = SEL((primaryWeaponMagazine player),0); if(!(EQUAL(_pMag,""))) then { _uni = player canAddItemToUniform _pMag; _ves = player canAddItemToVest _pMag; _bag = player canAddItemToBackpack _pMag; _handled = false; if(_ves) then { ADD(_vMags,[_pMag]); _handled = true; }; if(_uni && !_handled) then { ADD(_uMags,[_pMag]); _handled = true; }; if(_bag && !_handled) then { ADD(_bMags,[_pMag]); _handled = true; }; }; }; if(count (handgunMagazine player) > 0 && alive player) then { _hMag = ((handgunMagazine player) select 0); if(!(EQUAL(_hMag,""))) then { _uni = player canAddItemToUniform _hMag; _ves = player canAddItemToVest _hMag; _bag = player canAddItemToBackpack _hMag; _handled = false; if(_ves) then { ADD(_vMags,[_hMag]); _handled = true; }; if(_uni && !_handled) then { ADD(_uMags,[_hMag]); _handled = true; }; if(_bag && !_handled) then { ADD(_uMags,[_hMag]); _handled = true; }; }; }; if(count (RIFLE_ITEMS) > 0) then { { ADD(_pItems,[_x]); } forEach (primaryWeaponItems player); }; if(count (PISTOL_ITEMS) > 0) then { { ADD(_hItems,[_x]); } forEach (handGunItems player); }; { //if(ITEM_VALUE(configName _x) > 0) then { _val = ITEM_VALUE(_x); if (_val > 0) then { _yItems pushBack [_x,_val]; }; } forEach LIFE_SETTINGS(getArray,"allowedSavedVirtualItems"); _return pushBack _uItems; _return pushBack _uMags; _return pushBack _bItems; _return pushBack _bMags; _return pushBack _vItems; _return pushBack _vMags; _return pushBack _pItems; _return pushBack _hItems; //if(EQUAL(LIFE_SETTINGS(getNumber,"save_virtualItems"),1)) then { _return pushBack _yItems; //} else { // _return pushBack []; //}; life_gear = _return;
Teste es Direkt!
@powerafro2 User Haben trotzdem probleme. mh..
Dann tut es mir Leid dann bin ich raus. Hatte so ein Problem noch nie...
Dann tut es mir Leid dann bin ich raus. Hatte so ein Problem noch nie...
.....
Also eine Idee hätte ich noch (nicht getestet):
Wenn das auch nicht geht, weiß ich auch nicht weiter.