Cryonic. 2 Posted January 27, 2018 onPlayerRespawn.sqf: _uniform = uniform player; if ("rhsgref_uniform_woodland" isEqualTo _uniform) then {execVM "medic.sqf"}; if ("rhsgref_uniform_og107_erdl" isEqualTo _uniform) then {execVM "grenadier.sqf"}; if ("rhsgref_uniform_woodland_olive" isEqualTo _uniform) then {execVM "marksman.sqf"}; if ("rhsgref_uniform_olive" isEqualTo _uniform) then {execVM "autorifleman.sqf"}; if ("rhsgref_uniform_og107" isEqualTo _uniform) then {execVM "squadleader.sqf"}; medic.sqf: player forceAddUniform "rhsgref_uniform_woodland"; player addVest "CUP_V_RUS_Smersh_1"; for "_i" from 1 to 8 do {player addItemToVest "CUP_30Rnd_556x45_Stanag";}; player addBackpack "CUP_B_AlicePack_Khaki"; for "_i" from 1 to 35 do {player addItemToBackpack "ACE_fieldDressing";}; for "_i" from 1 to 20 do {player addItemToBackpack "ACE_epinephrine";}; for "_i" from 1 to 20 do {player addItemToBackpack "ACE_tourniquet";}; for "_i" from 1 to 20 do {player addItemToBackpack "ACE_morphine";}; player addItemToBackpack "ACE_surgicalKit"; for "_i" from 1 to 4 do {player addItemToBackpack "ACE_salineIV_500";}; for "_i" from 1 to 4 do {player addItemToBackpack "ACE_salineIV_250";}; for "_i" from 1 to 4 do {player addItemToBackpack "ACE_salineIV";}; player addItemToBackpack "ACE_personalAidKit"; for "_i" from 1 to 35 do {player addItemToBackpack "ACE_packingBandage";}; for "_i" from 1 to 35 do {player addItemToBackpack "ACE_quikclot";}; for "_i" from 1 to 35 do {player addItemToBackpack "ACE_elasticBandage";}; player addItemToBackpack "ACE_EarPlugs"; player addHeadgear "CUP_H_USArmy_Helmet_M1_m81"; player addWeapon "CUP_arifle_M16A2"; player linkItem "ItemMap"; player linkItem "ItemCompass"; player linkItem "tf_microdagr"; player linkItem "tf_anprc152_1"; This script is only working locally and not for other players in the server. It is used to restock a player's loadout when they respawn. I'm pretty new to sqf so I really appreciate any help I receive. Thanks! Share this post Link to post Share on other sites
davidoss 550 Posted January 27, 2018 delete onPlayerRespawn.sqf method 1: create initPlayerLocal.sqf in mission root paste this there: player addEventHandler ["Respawn",{ 0 = [_this select 0, _this select 1] spawn { params [["_player",objNull,[objNull]], ["_body",objNull,[objNull]]]; [_body] joinSilent grpNull; hideBody _body; waitUntil {sleep .2; alive _player}; _uniform = uniform _player; switch _uniform do { case "rhsgref_uniform_woodland" : {0 = [_player] execVM "medic.sqf"}; case "rhsgref_uniform_og107_erdl" : {0 = [_player] execVM "grenadier.sqf"}; case "rhsgref_uniform_woodland_olive" : {0 = [_player] execVM "marksman.sqf"}; case "rhsgref_uniform_olive" : {0 = [_player] execVM "autorifleman.sqf"}; case "rhsgref_uniform_og107" : {0 = [_player] execVM "squadleader.sqf"}; default {}; }; }; }]; method 2: use init.sqf paste this there : if(hasInterface) then { player addEventHandler ["Respawn",{ 0 = [_this select 0, _this select 1] spawn { params [["_player",objNull,[objNull]], ["_body",objNull,[objNull]]]; [_body] joinSilent grpNull; hideBody _body; waitUntil {sleep .2; alive _player}; _uniform = uniform _player; switch _uniform do { case "rhsgref_uniform_woodland" : {0 = [_player] execVM "medic.sqf"}; case "rhsgref_uniform_og107_erdl" : {0 = [_player] execVM "grenadier.sqf"}; case "rhsgref_uniform_woodland_olive" : {0 = [_player] execVM "marksman.sqf"}; case "rhsgref_uniform_olive" : {0 = [_player] execVM "autorifleman.sqf"}; case "rhsgref_uniform_og107" : {0 = [_player] execVM "squadleader.sqf"}; default {}; }; }; }]; }; example medic.sqf: params [["_player",objNull,[objNull]]]; removeAllWeapons _player; removeAllItems _player; removeAllAssignedItems _player; removeUniform _player; removeVest _player; removeBackpack _player; removeHeadgear _player; _player forceAddUniform "rhsgref_uniform_woodland"; _player addVest "CUP_V_RUS_Smersh_1"; for "_i" from 1 to 8 do {_player addItemToVest "CUP_30Rnd_556x45_Stanag";}; _player addBackpack "CUP_B_AlicePack_Khaki"; for "_i" from 1 to 35 do {_player addItemToBackpack "ACE_fieldDressing";}; for "_i" from 1 to 20 do {_player addItemToBackpack "ACE_epinephrine";}; for "_i" from 1 to 20 do {_player addItemToBackpack "ACE_tourniquet";}; for "_i" from 1 to 20 do {_player addItemToBackpack "ACE_morphine";}; _player addItemToBackpack "ACE_surgicalKit"; for "_i" from 1 to 4 do {_player addItemToBackpack "ACE_salineIV_500";}; for "_i" from 1 to 4 do {_player addItemToBackpack "ACE_salineIV_250";}; for "_i" from 1 to 4 do {_player addItemToBackpack "ACE_salineIV";}; _player addItemToBackpack "ACE_personalAidKit"; for "_i" from 1 to 35 do {_player addItemToBackpack "ACE_packingBandage";}; for "_i" from 1 to 35 do {_player addItemToBackpack "ACE_quikclot";}; for "_i" from 1 to 35 do {_player addItemToBackpack "ACE_elasticBandage";}; _player addItemToBackpack "ACE_EarPlugs"; _player addHeadgear "CUP_H_USArmy_Helmet_M1_m81"; _player addWeapon "CUP_arifle_M16A2"; _player linkItem "ItemMap"; _player linkItem "ItemCompass"; _player linkItem "tf_microdagr"; _player linkItem "tf_anprc152_1"; You need also add some mags Share this post Link to post Share on other sites
Cryonic. 2 Posted January 27, 2018 11 hours ago, davidoss said: delete onPlayerRespawn.sqf method 1: create initPlayerLocal.sqf in mission root paste this there: player addEventHandler ["Respawn",{ 0 = [_this select 0, _this select 1] spawn { params [["_player",objNull,[objNull]], ["_body",objNull,[objNull]]]; [_body] joinSilent grpNull; hideBody _body; waitUntil {sleep .2; alive _player}; _uniform = uniform _player; switch _uniform do { case "rhsgref_uniform_woodland" : {0 = [_player] execVM "medic.sqf"}; case "rhsgref_uniform_og107_erdl" : {0 = [_player] execVM "grenadier.sqf"}; case "rhsgref_uniform_woodland_olive" : {0 = [_player] execVM "marksman.sqf"}; case "rhsgref_uniform_olive" : {0 = [_player] execVM "autorifleman.sqf"}; case "rhsgref_uniform_og107" : {0 = [_player] execVM "squadleader.sqf"}; default {}; }; }; }]; method 2: use init.sqf paste this there : if(hasInterface) then { player addEventHandler ["Respawn",{ 0 = [_this select 0, _this select 1] spawn { params [["_player",objNull,[objNull]], ["_body",objNull,[objNull]]]; [_body] joinSilent grpNull; hideBody _body; waitUntil {sleep .2; alive _player}; _uniform = uniform _player; switch _uniform do { case "rhsgref_uniform_woodland" : {0 = [_player] execVM "medic.sqf"}; case "rhsgref_uniform_og107_erdl" : {0 = [_player] execVM "grenadier.sqf"}; case "rhsgref_uniform_woodland_olive" : {0 = [_player] execVM "marksman.sqf"}; case "rhsgref_uniform_olive" : {0 = [_player] execVM "autorifleman.sqf"}; case "rhsgref_uniform_og107" : {0 = [_player] execVM "squadleader.sqf"}; default {}; }; }; }]; }; example medic.sqf: params [["_player",objNull,[objNull]]]; removeAllWeapons _player; removeAllItems _player; removeAllAssignedItems _player; removeUniform _player; removeVest _player; removeBackpack _player; removeHeadgear _player; _player forceAddUniform "rhsgref_uniform_woodland"; _player addVest "CUP_V_RUS_Smersh_1"; for "_i" from 1 to 8 do {_player addItemToVest "CUP_30Rnd_556x45_Stanag";}; _player addBackpack "CUP_B_AlicePack_Khaki"; for "_i" from 1 to 35 do {_player addItemToBackpack "ACE_fieldDressing";}; for "_i" from 1 to 20 do {_player addItemToBackpack "ACE_epinephrine";}; for "_i" from 1 to 20 do {_player addItemToBackpack "ACE_tourniquet";}; for "_i" from 1 to 20 do {_player addItemToBackpack "ACE_morphine";}; _player addItemToBackpack "ACE_surgicalKit"; for "_i" from 1 to 4 do {_player addItemToBackpack "ACE_salineIV_500";}; for "_i" from 1 to 4 do {_player addItemToBackpack "ACE_salineIV_250";}; for "_i" from 1 to 4 do {_player addItemToBackpack "ACE_salineIV";}; _player addItemToBackpack "ACE_personalAidKit"; for "_i" from 1 to 35 do {_player addItemToBackpack "ACE_packingBandage";}; for "_i" from 1 to 35 do {_player addItemToBackpack "ACE_quikclot";}; for "_i" from 1 to 35 do {_player addItemToBackpack "ACE_elasticBandage";}; _player addItemToBackpack "ACE_EarPlugs"; _player addHeadgear "CUP_H_USArmy_Helmet_M1_m81"; _player addWeapon "CUP_arifle_M16A2"; _player linkItem "ItemMap"; _player linkItem "ItemCompass"; _player linkItem "tf_microdagr"; _player linkItem "tf_anprc152_1"; You need also add some mags The script you provided still only works for the server host. Share this post Link to post Share on other sites
davidoss 550 Posted January 27, 2018 Obviously that's not the script problem.Problem is somewhere else. Init.sqf is executed by any client connected. initPlayerLocal is executed by any client. The code is for sure called by any client of this mission. Share this post Link to post Share on other sites
pierremgi 4736 Posted January 27, 2018 onPlayerRespawn.sqf or respawn EH is something similar, and working well. You absolutely don't need to wait for player in any case here. So, you don't need to pass <player> in a sub-sqf. Just use player in it. (player case) Except if you respawn some AIs too! > In this case onPlayerRespawn.sqf doesn't work. And you need to pass the new unit (1st param of the EH) Use always global command as addBackpackGlobal Check EG. If not, only the local player will see the item. (There is no so much things to check, but it's a good habit) Make sure your client have these items (of course). Share this post Link to post Share on other sites