If you add
init = "yourcodethere";
to a unit class in mission.sqm it will trigger twice if you just log out and log in without leaving the server
If you add
init = "yourcodethere";
to a unit class in mission.sqm it will trigger twice if you just log out and log in without leaving the server
you can either use diag_log or download my debug_console extension http://killzonekid.com/arma-console-extension-debug_console-dll-v3-0/
create a mission with 1 playable unit
open mission.sqm and add this to your unit
init="'debug_console' callExtension str [isDedicated, time, this]";
Start dedicated server and join it.
Joining for the first time:
Server:
[true,0,B Alpha 1-1:1 (KK)]
Client:
[false,0,B Alpha 1-1:1 REMOTE]
Log out but do not leave the server. Log in:
Server:
[true,34.006,B Alpha 1-1:1]
Client:
[false,0,2e470080# 163950: b_soldier_01.p3d REMOTE]
[false,0.116,B Alpha 1-1:1 REMOTE]
^^^ double init execution right there ^^^
Log out and leave the server, rejoin the server:
Server:
[true,301.946,B Alpha 1-1:1]
Client:
[false,0.221,B Alpha 1-1:1 REMOTE]
Single execution again.
description.ext
respawn = 2;
respawndelay = 0;
joinUnassigned = 0;
disabledAI = 1;
respawnDialog = 0;
Further experiments show that leaving the server and joining again could also result in double execution.
I'm testing your theory .kju but in any case why would the dead body initialise on client on relogging?
OK .kju's theory checks out. I've waited longer in the lobby before logging back in and double execution did not happen. Also I looked at more properties and netId indeed shows that one of the inits is for the dead body.
new init
init="'debug_console' callExtension str [isDedicated, time, this, typeOf this, name this, getPlayerUID this, netId this]";
1st login
Server:
[true,0,B Alpha 1-1:1 (KK),"B_Soldier_F","KK","","2:3"]
Client:
[false,0,B Alpha 1-1:1 REMOTE,"B_Soldier_F","","","2:3"]
1st relogging
Server:
[true,17.657,B Alpha 1-1:1,"B_Soldier_F","Alfie Coburn","","2:25"]
Client:
[false,0,355f0080# 163950: b_soldier_01.p3d REMOTE,"B_Soldier_F","Error: No unit","","2:3"]
[false,0.122,B Alpha 1-1:1 REMOTE,"B_Soldier_F","Coburn","","2:25"]
2nd relogging
Server:
[true,186.555,B Alpha 1-1:1,"B_Soldier_F","Kyle James","","2:32"]
Client:
[false,0,3bd12040# 163952: b_soldier_01.p3d REMOTE,"B_Soldier_F","Error: No unit","","2:25"]
[false,0.227,B Alpha 1-1:1 REMOTE,"B_Soldier_F","James","","2:32"]
relogging with wait
Server:
[true,396.44,B Alpha 1-1:1,"B_Soldier_F","Andy Faulkner","","2:39"]
Client:
[false,0.198,B Alpha 1-1:1 REMOTE,"B_Soldier_F","Faulkner","","2:39"]
Also why is that server has a full name while client has only last name for identity?
Also note the net ids:
2:25, 2:32, 2:39
My client rpt gives errors on the same ids + 1
and this is server rpt
Client: Remote object 2:26 not found
Client: Remote object 2:27 not found
Client: Remote object 2:28 not found
LODShape::AddLoadHandler: Handler not present in shape [a3\weapons_f\empty.p3d]
Warn: 116.00 ms spent, NMT=5
Client: Remote object 4:0 not found
Client: Remote object 2:33 not found
Client: Remote object 2:34 not found
Client: Remote object 2:35 not found
Warn: 86.35 ms spent, NMT=5
Client: Remote object 2:40 not found
Client: Remote object 2:41 not found
Client: Remote object 2:42 not found
Hi, your debug console doesn't work on my pc. I do something wrong maybe. I created @console folder. I started arma with -mod=@console, but console didn't start with game. Did I miss something? Thank you for help.
Sorry @Astaroth, I have been already told that this could create a problem. For me using console is more convenient but if it causes problems installing it, the same could be done with diag_log:
init="diag_log [isDedicated, time, this]";
and in extended example
init="diag_log [isDedicated, time, this, typeOf this, name this, getPlayerUID this, netId this]";
The results will be logged in respective .rpt files
Thank you for fast answer.
I tried it and I am unable to reproduce in vanilla version of Arma 3.
Exe timestamp: 2013/12/10 14:34:44
Current time: 2013/12/10 14:35:15
Type: Public
Branch: Development
Version: 1.09.113420
AppId parsing successful. Using appId=107410
Updating base class ->Base, by a3\dubbing_radio_f\config.bin/CfgHQIdentities/PAPA_BEAR/
Updating base class ->Base, by a3\dubbing_radio_f\config.bin/CfgHQIdentities/AirBase/
Updating base class thingX->FloatingStructure_F, by a3\structures_f_epb\civ\camping\config.bin/CfgVehicles/Land_Camping_Light_F/
Updating base class ->RscText, by a3\ui_f\config.bin/RscDisplayCapture/controls/TimeLines/
Updating base class RscControlsGroup->RscControlsGroupNoScrollbars, by a3\ui_f\config.bin/RscDisplayMain/controls/ModIcons/
Updating base class RscPicture->RscPictureKeepAspect, by a3\ui_f\config.bin/RscDisplayMain/IconPicture/
Updating base class RscListBox->RscCombo, by a3\ui_f\config.bin/RscDisplayCustomizeController/Steepness/
Updating base class ->RscStandardDisplay, by a3\ui_f\config.bin/RscDisplayControlSchemes/
Updating base class ButtonOK->RscButtonMenuCancel, by a3\ui_f\config.bin/RscDisplayControlSchemes/controls/ButtonCancel/
Updating base class RscButton->RscButtonMenuOK, by a3\ui_f\config.bin/RscDisplayControlSchemes/controls/ButtonOK/
Updating base class RscPicture->RscPictureKeepAspect, by a3\ui_f\config.bin/RscDisplayFileSelectImage/controls/OverviewPicture/
Updating base class RscShortcutButton->RscButtonMenuCancel, by a3\ui_f\config.bin/RscDisplayFieldManual/controls/ButtonCancel/
Updating base class RscButton->RscButtonMenuCancel, by a3\ui_f\config.bin/RscDisplayPublishMission/controls/ButtonCancel/
Updating base class RscShortcutButton->RscButtonMenuOK, by a3\ui_f\config.bin/RscDisplayPublishMissionSelectTags/controls/ButtonOK/
Updating base class ButtonOK->RscButtonMenuCancel, by a3\ui_f\config.bin/RscDisplayPublishMissionSelectTags/controls/ButtonCancel/
Updating base class ->RscSubmenu, by a3\ui_f\config.bin/RscMainMenu/
Cannot update non class from class a3\ui_f\config.bin/RscCallSupport/Items/
Cannot update non class from class a3\ui_f\config.bin/RscRadio/Items/
Initializing Steam Manager
unable to load cached items meta info. save and update functionality will be broken
Steam Manager initialized.
dta\bin.pbo - unknown
dta\core.pbo - 0
dta\languagecore_f.pbo - 60330
addons\a3.pbo - unknown
addons\air_f.pbo - 60467
addons\air_f_beta.pbo - 60467
addons\air_f_epb.pbo - 60494
addons\air_f_gamma.pbo - 60451
addons\animals_f.pbo - 60167
addons\animals_f_beta.pbo - 60167
addons\anims_f.pbo - 60458
addons\anims_f_data.pbo - 60458
addons\anims_f_epa.pbo - 60245
addons\armor_f.pbo - 60167
addons\armor_f_beta.pbo - 60168
addons\armor_f_epb.pbo - 60461
addons\armor_f_gamma.pbo - 60390
addons\baseconfig_f.pbo - 43414
addons\boat_f.pbo - 60331
addons\boat_f_beta.pbo - 60168
addons\boat_f_gamma.pbo - 60168
addons\cargoposes_f.pbo - 60168
addons\characters_f.pbo - 60513
addons\characters_f_beta.pbo - 60346
addons\characters_f_epa.pbo - 60168
addons\characters_f_epb.pbo - 60641
addons\characters_f_gamma.pbo - 60303
addons\data_f.pbo - 60628
addons\drones_f.pbo - 60168
addons\dubbing_f.pbo - 55351
addons\dubbing_f_beta.pbo - 55170
addons\dubbing_f_epa.pbo - 58097
addons\dubbing_f_gamma.pbo - 55217
addons\dubbing_radio_f.pbo - 60561
addons\dubbing_radio_f_data.pbo - 60561
addons\editor_f.pbo - 53723
addons\functions_f.pbo - 60645
addons\functions_f_epa.pbo - 60381
addons\languagemissions_f.pbo - 59304
addons\languagemissions_f_beta.pbo - 59304
addons\languagemissions_f_epa.pbo - 59304
addons\languagemissions_f_gamma.pbo - 59304
addons\language_f.pbo - 60441
addons\language_f_beta.pbo - 60441
addons\language_f_epa.pbo - 60168
addons\language_f_epb.pbo - 60168
addons\language_f_gamma.pbo - 60441
addons\map_altis.pbo - 60189
addons\map_altis_data.pbo - 56204
addons\map_altis_data_layers.pbo - 56661
addons\map_altis_data_layers_00_00.pbo - 56661
addons\map_altis_data_layers_00_01.pbo - 56661
addons\map_altis_data_layers_01_00.pbo - 56661
addons\map_altis_data_layers_01_01.pbo - 56661
addons\map_altis_scenes_f.pbo - 56247
addons\map_data.pbo - 58448
addons\map_stratis.pbo - 60250
addons\map_stratis_data.pbo - 60227
addons\map_stratis_data_layers.pbo - 60227
addons\map_stratis_scenes_f.pbo - 56247
addons\misc_f.pbo - 58745
addons\missions_f.pbo - 60168
addons\missions_f_beta.pbo - 60260
addons\missions_f_beta_data.pbo - 55296
addons\missions_f_beta_video.pbo - 49010
addons\missions_f_data.pbo - 57085
addons\missions_f_epa.pbo - 60680
addons\missions_f_epa_data.pbo - 58219
addons\missions_f_epa_video.pbo - 58252
addons\missions_f_gamma.pbo - 60634
addons\missions_f_gamma_data.pbo - 55501
addons\missions_f_gamma_video.pbo - 52884
addons\missions_f_video.pbo - 52434
addons\modules_f.pbo - 60333
addons\modules_f_beta.pbo - 60170
addons\modules_f_beta_data.pbo - 56247
addons\modules_f_data.pbo - 59320
addons\modules_f_epb.pbo - 60488
addons\music_f.pbo - 60106
addons\music_f_epa.pbo - 56488
addons\music_f_epa_music.pbo - 56492
addons\music_f_music.pbo - 56442
addons\plants_f.pbo - 59944
addons\roads_f.pbo - 60121
addons\rocks_f.pbo - 58567
addons\signs_f.pbo - 59445
addons\soft_f.pbo - 60421
addons\soft_f_beta.pbo - 60537
addons\soft_f_gamma.pbo - 60670
addons\sounds_f.pbo - 60170
addons\sounds_f_epb.pbo - 60170
addons\sounds_f_vehicles.pbo - 59990
addons\sounds_f_weapons.pbo - 59990
addons\static_f.pbo - 60170
addons\static_f_beta.pbo - 60170
addons\static_f_gamma.pbo - 60170
addons\structures_f.pbo - 60431
addons\structures_f_data.pbo - 59943
addons\structures_f_epa.pbo - 60115
addons\structures_f_epb.pbo - 60663
addons\structures_f_households.pbo - 60536
addons\structures_f_ind.pbo - 60417
addons\structures_f_mil.pbo - 60412
addons\structures_f_wrecks.pbo - 59943
addons\uifonts_f.pbo - 56537
addons\uifonts_f_data.pbo - 56474
addons\ui_f.pbo - 60647
addons\ui_f_data.pbo - 60647
addons\weapons_f.pbo - 60527
addons\weapons_f_beta.pbo - 60337
addons\weapons_f_epa.pbo - 60597
addons\weapons_f_epb.pbo - 60597
addons\weapons_f_gamma.pbo - 60170
DX11 - Initializing DX11 engine.
DX11 - Using DXGI adapter 0 (detected in config).
DX11 - Using DXGI adapter 0.
Error: JoystickDevices - CoInitilizeEx return 80010106
Error: CoInitilizeEx (XAudio2-1st trial) return 80010106
PhysX3 SDK Init started ...
PhysX3 SDK Init ended.
SimulWeather - Cloud Renderer - noise texture file is not specified!
No more slot to add connection at 033057 (3386.8,5735.4)
Attempt to override final function - bis_functions_list
Attempt to override final function - bis_functions_listpreinit
Attempt to override final function - bis_functions_listpostinit
Attempt to override final function - bis_functions_listrecompile
Attempt to override final function - bis_fnc_missiontaskslocal
Attempt to override final function - bis_fnc_missionconversationslocal
Attempt to override final function - bis_fnc_missionflow
bin\config.bin/CfgMovesMaleSdr/States/AmovPknlMevaSrasWpstDr.InterpolateTo: Bad move AmovPknlMsprSlowWpstDf_AmovPpneMstpSrasWpstDnon bin\config.bin/CfgMovesMaleSdr/States/AmovPknlMevaSrasWpstDl.InterpolateTo: Bad move AmovPknlMsprSlowWpstDf_AmovPpneMstpSrasWpstDnon bin\config.bin/CfgMovesMaleSdr/States/AmovPercMstpSoptWbinDnon.ConnectTo: Bad move AmovPercMstpSoptWbinDnon_AmovPercMstpSrasWrflDnon bin\config.bin/CfgMovesMaleSdr/States/AmovPercMstpSoptWbinDnon.ConnectTo: Bad move AmovPercMstpSoptWbinDnon_AmovPercMstpSrasWpstDnon bin\config.bin/CfgMovesMaleSdr/States/AmovPercMstpSoptWbinDnon.ConnectTo: Bad move AmovPercMstpSoptWbinDnon_AmovPercMstpSrasWlnrDnon bin\config.bin/CfgMovesMaleSdr/States/AmovPercMstpSoptWbinDnon.ConnectTo: Bad move AmovPercMstpSoptWbinDnon_AmovPercMstpSnonWnonDnon bin\config.bin/CfgMovesMaleSdr/States/AmovPknlMstpSoptWbinDnon.ConnectTo: Bad move AmovPknlMstpSoptWbinDnon_AmovPknlMstpSrasWrflDnon bin\config.bin/CfgMovesMaleSdr/States/AmovPknlMstpSoptWbinDnon.ConnectTo: Bad move AmovPknlMstpSoptWbinDnon_AmovPknlMstpSrasWpstDnon bin\config.bin/CfgMovesMaleSdr/States/AmovPknlMstpSoptWbinDnon.ConnectTo: Bad move AmovPknlMstpSoptWbinDnon_AmovPknlMstpSrasWlnrDnon bin\config.bin/CfgMovesMaleSdr/States/AmovPknlMstpSoptWbinDnon.ConnectTo: Bad move AmovPknlMstpSoptWbinDnon_AmovPknlMstpSnonWnonDnon bin\config.bin/CfgMovesMaleSdr/States/AmovPpneMstpSoptWbinDnon.ConnectTo: Bad move AmovPpneMstpSoptWbinDnon_AmovPpneMstpSrasWrflDnon bin\config.bin/CfgMovesMaleSdr/States/AmovPpneMstpSoptWbinDnon.ConnectTo: Bad move AmovPpneMstpSoptWbinDnon_AmovPpneMstpSrasWpstDnon bin\config.bin/CfgMovesMaleSdr/States/AmovPpneMstpSoptWbinDnon.ConnectTo: Bad move AmovPpneMstpSoptWbinDnon_AmovPpneMstpSnonWnonDnon bin\config.bin/CfgMovesMaleSdr/States/AmovPercMstpSoptWbinDnon_AmovPknlMstpSoptWbinDnon.ConnectTo: Bad move AmovPknlMstpSoptWbinDnon_AmovPknlMstpSrasWrflDnon bin\config.bin/CfgMovesMaleSdr/States/AmovPercMstpSoptWbinDnon_AmovPknlMstpSoptWbinDnon.ConnectTo: Bad move AmovPknlMstpSoptWbinDnon_AmovPknlMstpSrasWpstDnon bin\config.bin/CfgMovesMaleSdr/States/AmovPercMstpSoptWbinDnon_AmovPknlMstpSoptWbinDnon.ConnectTo: Bad move AmovPknlMstpSoptWbinDnon_AmovPknlMstpSrasWlnrDnon bin\config.bin/CfgMovesMaleSdr/States/AmovPercMstpSoptWbinDnon_AmovPknlMstpSoptWbinDnon.ConnectTo: Bad move AmovPknlMstpSoptWbinDnon_AmovPknlMstpSnonWnonDnon bin\config.bin/CfgMovesMaleSdr/States/AmovPercMstpSoptWbinDnon_AmovPpneMstpSoptWbinDnon.ConnectTo: Bad move AmovPpneMstpSoptWbinDnon_AmovPpneMstpSrasWrflDnon bin\config.bin/CfgMovesMaleSdr/States/AmovPercMstpSoptWbinDnon_AmovPpneMstpSoptWbinDnon.ConnectTo: Bad move AmovPpneMstpSoptWbinDnon_AmovPpneMstpSrasWpstDnon bin\config.bin/CfgMovesMaleSdr/States/AmovPercMstpSoptWbinDnon_AmovPpneMstpSoptWbinDnon.ConnectTo: Bad move AmovPpneMstpSoptWbinDnon_AmovPpneMstpSnonWnonDnon bin\config.bin/CfgMovesMaleSdr/States/AmovPknlMstpSoptWbinDnon_AmovPercMstpSoptWbinDnon.ConnectTo: Bad move AmovPercMstpSoptWbinDnon_AmovPercMstpSrasWrflDnon bin\config.bin/CfgMovesMaleSdr/States/AmovPknlMstpSoptWbinDnon_AmovPercMstpSoptWbinDnon.ConnectTo: Bad move AmovPercMstpSoptWbinDnon_AmovPercMstpSrasWpstDnon bin\config.bin/CfgMovesMaleSdr/States/AmovPknlMstpSoptWbinDnon_AmovPercMstpSoptWbinDnon.ConnectTo: Bad move AmovPercMstpSoptWbinDnon_AmovPercMstpSrasWlnrDnon bin\config.bin/CfgMovesMaleSdr/States/AmovPknlMstpSoptWbinDnon_AmovPercMstpSoptWbinDnon.ConnectTo: Bad move AmovPercMstpSoptWbinDnon_AmovPercMstpSnonWnonDnon bin\config.bin/CfgMovesMaleSdr/States/AmovPknlMstpSoptWbinDnon_AmovPpneMstpSoptWbinDnon.ConnectTo: Bad move AmovPpneMstpSoptWbinDnon_AmovPpneMstpSrasWrflDnon bin\config.bin/CfgMovesMaleSdr/States/AmovPknlMstpSoptWbinDnon_AmovPpneMstpSoptWbinDnon.ConnectTo: Bad move AmovPpneMstpSoptWbinDnon_AmovPpneMstpSrasWpstDnon bin\config.bin/CfgMovesMaleSdr/States/AmovPknlMstpSoptWbinDnon_AmovPpneMstpSoptWbinDnon.ConnectTo: Bad move AmovPpneMstpSoptWbinDnon_AmovPpneMstpSnonWnonDnon bin\config.bin/CfgMovesMaleSdr/States/AmovPpneMstpSoptWbinDnon_AmovPercMstpSoptWbinDnon.ConnectTo: Bad move AmovPercMstpSoptWbinDnon_AmovPercMstpSrasWrflDnon bin\config.bin/CfgMovesMaleSdr/States/AmovPpneMstpSoptWbinDnon_AmovPercMstpSoptWbinDnon.ConnectTo: Bad move AmovPercMstpSoptWbinDnon_AmovPercMstpSrasWpstDnon bin\config.bin/CfgMovesMaleSdr/States/AmovPpneMstpSoptWbinDnon_AmovPercMstpSoptWbinDnon.ConnectTo: Bad move AmovPercMstpSoptWbinDnon_AmovPercMstpSrasWlnrDnon bin\config.bin/CfgMovesMaleSdr/States/AmovPpneMstpSoptWbinDnon_AmovPercMstpSoptWbinDnon.ConnectTo: Bad move AmovPercMstpSoptWbinDnon_AmovPercMstpSnonWnonDnon bin\config.bin/CfgMovesMaleSdr/States/AmovPpneMstpSoptWbinDnon_AmovPknlMstpSoptWbinDnon.ConnectTo: Bad move AmovPknlMstpSoptWbinDnon_AmovPknlMstpSrasWrflDnon bin\config.bin/CfgMovesMaleSdr/States/AmovPpneMstpSoptWbinDnon_AmovPknlMstpSoptWbinDnon.ConnectTo: Bad move AmovPknlMstpSoptWbinDnon_AmovPknlMstpSrasWpstDnon bin\config.bin/CfgMovesMaleSdr/States/AmovPpneMstpSoptWbinDnon_AmovPknlMstpSoptWbinDnon.ConnectTo: Bad move AmovPknlMstpSoptWbinDnon_AmovPknlMstpSrasWlnrDnon bin\config.bin/CfgMovesMaleSdr/States/AmovPpneMstpSoptWbinDnon_AmovPknlMstpSoptWbinDnon.ConnectTo: Bad move AmovPknlMstpSoptWbinDnon_AmovPknlMstpSnonWnonDnon
Animation o:\arma3\a3\anims_f_epa\data\anim\sdr\cts\hubcleaned\wave\hubwave_move1.rtm not found or empty
Animation o:\arma3\a3\anims_f_epa\data\anim\sdr\cts\hubcleaned\wave\hubwave_move2.rtm not found or empty
Animation a3\air_f_delta\plane_fighter_01\data\anim\kia_plane_fighter_01_pilot.rtm not found or empty
Animation a3\air_f_delta\plane_fighter_01\data\anim\plane_fighter_01_pilot.rtm not found or empty
Animation a3\air_f_beta\heli_attack_01\data\anim\heli_attack_01_pilot_kia.rtm not found or empty
Animation a3\air_f_beta\heli_attack_01\data\anim\pilot_heli_light_02_kia.rtm not found or empty
Animation a3\air_f_beta\heli_attack_01\data\anim\copilot_heli_light_02_kia.rtm not found or empty
Animation a3\air_f_delta\plane_transport_01\data\anim\kia_plane_transport_01_pilot.rtm not found or empty
Animation a3\air_f_delta\plane_transport_01\data\anim\plane_transport_01_pilot.rtm not found or empty
Animation animpath\kia_mi17_cargo02.rtm not found or empty
Animation animpath\mi17_cargo02_v0.rtm not found or empty
Animation animpath\mi17_cargo02_v1.rtm not found or empty
Animation animpath\mi17_cargo02_v2.rtm not found or empty
Animation animpath\mi17_cargo02_v3.rtm not found or empty
Animation animpath\mi17_cargo02_v4.rtm not found or empty
Animation animpath\mi17_cargo02_v5.rtm not found or empty
Animation animpath\mi17_cargo02_v6.rtm not found or empty
No default vars in bin\config.bin/CfgMovesMaleSdr/States/Acts_UnconsciousStandUp_part1.variantsPlayer
No default vars in bin\config.bin/CfgMovesMaleSdr/States/Acts_UnconsciousStandUp_part2.variantsPlayer
Warning: looped for animation: a3\anims_f\data\anim\sdr\idl\knl\stp\low\rfl\aidlpknlmstpslowwrfldnon_g01.rtm differs (looped now 1)! MoveName: aidlpknlmstpsraswrfldnon_g01
Warning: looped for animation: a3\anims_f\data\anim\sdr\idl\knl\stp\low\rfl\aidlpknlmstpslowwrfldnon_g02.rtm differs (looped now 1)! MoveName: aidlpknlmstpsraswrfldnon_g02
soldier[O_Soldier_AR_F]:Some of magazines weren't stored in soldier Vest or Uniform?
soldier[O_Soldier_LAT_F]:Some of magazines weren't stored in soldier Vest or Uniform?
soldier[O_Soldier_LAT_F]:Some of magazines weren't stored in soldier Vest or Uniform?
soldier[O_Soldier_AR_F]:Some of magazines weren't stored in soldier Vest or Uniform?
soldier[O_Soldier_AR_F]:Some of magazines weren't stored in soldier Vest or Uniform?
soldier[B_Soldier_TL_F]:Some of magazines weren't stored in soldier Vest or Uniform?
soldier[B_soldier_AR_F]:Some of magazines weren't stored in soldier Vest or Uniform?
soldier[B_Soldier_GL_F]:Some of magazines weren't stored in soldier Vest or Uniform?
soldier[B_Soldier_TL_F]:Some of magazines weren't stored in soldier Vest or Uniform?
soldier[B_soldier_AR_F]:Some of magazines weren't stored in soldier Vest or Uniform?
soldier[B_Soldier_GL_F]:Some of magazines weren't stored in soldier Vest or Uniform?
soldier[B_Soldier_TL_F]:Some of magazines weren't stored in soldier Vest or Uniform?
soldier[B_soldier_AR_F]:Some of magazines weren't stored in soldier Vest or Uniform?
soldier[B_Soldier_GL_F]:Some of magazines weren't stored in soldier Vest or Uniform?
LODShape::AddLoadHandler: Handler not present in shape [a3\weapons_f\empty.p3d]
LODShape::AddLoadHandler: Handler not present in shape [a3\weapons_f\empty.p3d]
LODShape::AddLoadHandler: Handler not present in shape [a3\weapons_f\acc\reticle_hamr.p3d]
LODShape::AddLoadHandler: Handler not present in shape [a3\weapons_f\empty.p3d]
LODShape::AddLoadHandler: Handler not present in shape [a3\weapons_f\empty.p3d]
LODShape::AddLoadHandler: Handler not present in shape [a3\weapons_f\empty.p3d]
LODShape::AddLoadHandler: Handler not present in shape [a3\weapons_f\empty.p3d]
LODShape::AddLoadHandler: Handler not present in shape [a3\weapons_f\acc\reticle_arco_f.p3d]
LODShape::AddLoadHandler: Handler not present in shape [a3\weapons_f\empty.p3d]
LODShape::AddLoadHandler: Handler not present in shape [a3\weapons_f\acc\reticle_arco_f.p3d]
LODShape::AddLoadHandler: Handler not present in shape [a3\weapons_f\empty.p3d]
LODShape::AddLoadHandler: Handler not present in shape [a3\weapons_f\acc\reticle_arco_f.p3d]
LODShape::AddLoadHandler: Handler not present in shape [a3\weapons_f\empty.p3d]
LODShape::AddLoadHandler: Handler not present in shape [a3\weapons_f\empty.p3d]
LODShape::AddLoadHandler: Handler not present in shape [a3\weapons_f\acc\reticle_hamr.p3d]
LODShape::AddLoadHandler: Handler not present in shape [a3\weapons_f\empty.p3d]
LODShape::AddLoadHandler: Handler not present in shape [a3\weapons_f\empty.p3d]
control[ListBoxLayouts]: Unexpected control type [5]
control[ListBoxLayouts]: Unexpected control type [5]
control[CA_ValueIsland]: Unexpected control type [4]
control[CA_ValueIsland]: Unexpected control type [4]
control[CA_ValueName]: Unexpected control type [4]
control[CA_ValueName]: Unexpected control type [4]
control[CA_ValueNameScripted]: Unexpected control type [5]
control[CA_ValueNameScripted]: Unexpected control type [5]
control[CA_ValueSide]: Unexpected control type [4]
control[CA_ValueSide]: Unexpected control type [4]
control[CA_ValueFaction]: Unexpected control type [4]
control[CA_ValueFaction]: Unexpected control type [4]
control[CA_ValueClass]: Unexpected control type [4]
control[CA_ValueClass]: Unexpected control type [4]
control[CA_ValueVehicle]: Unexpected control type [4]
control[CA_ValueVehicle]: Unexpected control type [4]
control[CA_ValueSpecial]: Unexpected control type [4]
control[CA_ValueSpecial]: Unexpected control type [4]
control[CA_ValueControl]: Unexpected control type [4]
control[CA_ValueControl]: Unexpected control type [4]
control[CA_ValueLock]: Unexpected control type [4]
control[CA_ValueLock]: Unexpected control type [4]
control[CA_ValueRank]: Unexpected control type [4]
control[CA_ValueRank]: Unexpected control type [4]
control[CA_ValueAge]: Unexpected control type [4]
control[CA_ValueAge]: Unexpected control type [4]
control[CA_ValueSkill]: Unexpected control type [3]
control[CA_ValueSkill]: Unexpected control type [3]
control[CA_ValueHealth]: Unexpected control type [3]
control[CA_ValueHealth]: Unexpected control type [3]
control[CA_ValueFuel]: Unexpected control type [3]
control[CA_ValueFuel]: Unexpected control type [3]
control[CA_ValueAmmo]: Unexpected control type [3]
control[CA_ValueAmmo]: Unexpected control type [3]
control[CA_ValuePresence]: Unexpected control type [3]
control[CA_ValuePresence]: Unexpected control type [3]
control[CA_ValueMode]: Unexpected control type [4]
control[CA_ValueMode]: Unexpected control type [4]
Attempt to override final function - bis_functions_list
Attempt to override final function - bis_functions_listpreinit
Attempt to override final function - bis_functions_listpostinit
Attempt to override final function - bis_functions_listrecompile
Attempt to override final function - bis_fnc_missiontaskslocal
Attempt to override final function - bis_fnc_missionconversationslocal
Attempt to override final function - bis_fnc_missionflow
soldier[O_Soldier_AR_F]:Some of magazines weren't stored in soldier Vest or Uniform?
soldier[O_Soldier_LAT_F]:Some of magazines weren't stored in soldier Vest or Uniform?
soldier[O_Soldier_LAT_F]:Some of magazines weren't stored in soldier Vest or Uniform?
soldier[O_Soldier_AR_F]:Some of magazines weren't stored in soldier Vest or Uniform?
soldier[O_Soldier_AR_F]:Some of magazines weren't stored in soldier Vest or Uniform?
soldier[B_Soldier_TL_F]:Some of magazines weren't stored in soldier Vest or Uniform?
soldier[B_soldier_AR_F]:Some of magazines weren't stored in soldier Vest or Uniform?
soldier[B_Soldier_GL_F]:Some of magazines weren't stored in soldier Vest or Uniform?
soldier[B_Soldier_TL_F]:Some of magazines weren't stored in soldier Vest or Uniform?
soldier[B_soldier_AR_F]:Some of magazines weren't stored in soldier Vest or Uniform?
soldier[B_Soldier_GL_F]:Some of magazines weren't stored in soldier Vest or Uniform?
soldier[B_Soldier_TL_F]:Some of magazines weren't stored in soldier Vest or Uniform?
soldier[B_soldier_AR_F]:Some of magazines weren't stored in soldier Vest or Uniform?
soldier[B_Soldier_GL_F]:Some of magazines weren't stored in soldier Vest or Uniform?
LODShape::AddLoadHandler: Handler not present in shape [a3\weapons_f\empty.p3d]
LODShape::AddLoadHandler: Handler not present in shape [a3\weapons_f\empty.p3d]
LODShape::AddLoadHandler: Handler not present in shape [a3\weapons_f\empty.p3d]
LODShape::AddLoadHandler: Handler not present in shape [a3\weapons_f\acc\reticle_hamr.p3d]
LODShape::AddLoadHandler: Handler not present in shape [a3\weapons_f\empty.p3d]
LODShape::AddLoadHandler: Handler not present in shape [a3\weapons_f\empty.p3d]
LODShape::AddLoadHandler: Handler not present in shape [a3\weapons_f\empty.p3d]
LODShape::AddLoadHandler: Handler not present in shape [a3\weapons_f\acc\reticle_arco_f.p3d]
LODShape::AddLoadHandler: Handler not present in shape [a3\weapons_f\acc\reticle_arco_f.p3d]
LODShape::AddLoadHandler: Handler not present in shape [a3\weapons_f\empty.p3d]
LODShape::AddLoadHandler: Handler not present in shape [a3\weapons_f\acc\reticle_arco_f.p3d]
LODShape::AddLoadHandler: Handler not present in shape [a3\weapons_f\empty.p3d]
LODShape::AddLoadHandler: Handler not present in shape [a3\weapons_f\empty.p3d]
LODShape::AddLoadHandler: Handler not present in shape [a3\weapons_f\empty.p3d]
LODShape::AddLoadHandler: Handler not present in shape [a3\weapons_f\acc\reticle_hamr.p3d]
LODShape::AddLoadHandler: Handler not present in shape [a3\weapons_f\empty.p3d]
LODShape::AddLoadHandler: Handler not present in shape [a3\weapons_f\empty.p3d]
Attempt to override final function - bis_functions_list
Attempt to override final function - bis_functions_listpreinit
Attempt to override final function - bis_functions_listpostinit
Attempt to override final function - bis_functions_listrecompile
Attempt to override final function - bis_fnc_missiontaskslocal
Attempt to override final function - bis_fnc_missionconversationslocal
Attempt to override final function - bis_fnc_missionflow
[false,0,B Alpha 1-1:1 REMOTE]
Fresnel k must be >0, given n=2.51,k=0
control[DebugConsole]: Unexpected control type [15]
control[DebugConsole]: Unexpected control type [15]
control[Feedback]: Unexpected control type [9]
control[Feedback]: Unexpected control type [9]
control[MessageBox]: Unexpected control type [15]
control[MessageBox]: Unexpected control type [15]
Attempt to override final function - bis_functions_list
Attempt to override final function - bis_functions_listpreinit
Attempt to override final function - bis_functions_listpostinit
Attempt to override final function - bis_functions_listrecompile
Attempt to override final function - bis_fnc_missiontaskslocal
Attempt to override final function - bis_fnc_missionconversationslocal
Attempt to override final function - bis_fnc_missionflow
[false,0,B Alpha 1-1:1 REMOTE]
control[DebugConsole]: Unexpected control type [15]
control[DebugConsole]: Unexpected control type [15]
control[Feedback]: Unexpected control type [9]
control[Feedback]: Unexpected control type [9]
control[MessageBox]: Unexpected control type [15]
control[MessageBox]: Unexpected control type [15]
Attempt to override final function - bis_functions_list
Attempt to override final function - bis_functions_listpreinit
Attempt to override final function - bis_functions_listpostinit
Attempt to override final function - bis_functions_listrecompile
Attempt to override final function - bis_fnc_missiontaskslocal
Attempt to override final function - bis_fnc_missionconversationslocal
Attempt to override final function - bis_fnc_missionflow
control[DebugConsole]: Unexpected control type [15]
control[DebugConsole]: Unexpected control type [15]
control[Feedback]: Unexpected control type [9]
control[Feedback]: Unexpected control type [9]
control[MessageBox]: Unexpected control type [15]
control[MessageBox]: Unexpected control type [15]
SimulWeather - Cloud Renderer - noise texture file is not specified!
c:\w\c_branch\poseidon\futura\lib\network\networkserver.cpp ClearNetServer:NOT IMPLEMENTED - briefing!
Ok I might have an idea. Does your server end mission when last player logs out?
My server keeps mission running because i have
persistent = 1;
in server.cfg
Try this. I think if server restarts the mission, then when you log out the dead body gets deleted straight away. If mission is still running (persistent = 1;) it takes more time.
Still unable to repro, could you please create some simple repro mission for this ?(mission which will log to .rpt will be best) Thank you.
I can also confirm the loadout scripts I have found that worked in ArmA 2 do work fine in ArmA 3 with jips gear working when the server is at persistent = 0; in the server.cfg
~Edit This doesn't work all the time it looks like.
I am not 100% sure what a repo mission is but I can send you a mission with a gear script that worked in ArmA 2 if it helps. Right now I see this is as a huge issue for groups that want to assign custom gear to units without an ammo box.
When disabledAI = 0 in description.ext double init also doesn't happen (and I think dissabledAI = 0 is default setting). So to make sure it happens every time
server.cfg should have
persistent = 1;
description.ext should have
disabledAI = 1;
Hope it will work for you this time
It looks like lots of people are having an issue assigning gear on dedicated servers. http://forums.bistudio.com/showthread.php?167860-Added-Uniform-Disappears-in-Multiplayer
Not sure if the double execution is related, but we are getting similar messages in our log files that are causing mass client to crash to desktops whenever a player joins the server. Log spams this constantly (on client):
Group B Alpha 1-1 (0x1a0d9300) - network ID 2:26
This is a massive issue for us right now.
Update: We removed all init lines from playable units and these errors have completely vanished from our logs. Frame rates are massively increased.
So far no crash to desktops when JIP players join. Will keep this post updated with any new information.
After recent modification to the engine that allows to keep bodies, the init field is triggered proportionally to the dead bodies left behind with each logout!!!!!
1st login
[false,0,B Alpha 1-1:1 REMOTE]
2nd login
[false,0,1f6cc080# 163956: b_soldier_01.p3d REMOTE]
[false,0.181,B Alpha 1-1:1 REMOTE]
3rd login
[false,0,1f6cc080# 163956: b_soldier_01.p3d REMOTE]
[false,0,2df0a040# 163961: b_soldier_01.p3d REMOTE]
[false,0.174,B Alpha 1-1:1 REMOTE]
4th login
[false,0,39a2a040# 163956: b_soldier_01.p3d REMOTE]
[false,0,2ebe8080# 163961: b_soldier_01.p3d REMOTE]
[false,0,1f652040# 163966: b_soldier_01.p3d REMOTE]
[false,0.169,B Alpha 1-1:1 REMOTE]
5th login
[false,0,2ebe8080# 163956: b_soldier_01.p3d REMOTE]
[false,0,2dfae040# 163961: b_soldier_01.p3d REMOTE]
[false,0,318e8080# 163966: b_soldier_01.p3d REMOTE]
[false,0,2df0a040# 163971: b_soldier_01.p3d REMOTE]
[false,0.133,B Alpha 1-1:1 REMOTE]
Or dear, BIS, what have you done???
After discussing this with SaMatra, this looks like expected behaviour and should not be altered. For anyone wanting to stop multiple executions of init, amend your int codes
instead of
init = "...yourcode...";
make it
init = "if (alive this) then {...your code...}";
This ticket can now be closed
So from now on we must put "if (alive this) then {...your code...};" for every init field of every unit? Does this include game logics? What about triggers?
Is there going to be an announcement made about this somewhere? This is quite a MASSIVE issue that I expect every mission maker is experiencing worldwide (it's just that those that run -noLogs don't notice it as much). If removing init lines/using "if (alive this)" prevents crash to desktops (even when running -noLogs) and major (major) RPT spam, I expect people should made aware of this, at least on the BI Wiki.
Killzone_Kid: Could you please go into detail why you/SaMatra consider this expected behaviour? I'm guessing you might have a use-case for the double execution in mind, so I'm wondering what it is.
Right. init param being init means that when a player joins game and instance of a unit created on his PC, if the unit has init, it will get executed on that PC. Therefore, unless you restrict it to the server execution with (isServer), every joining client will run init.
This was always the case, this is how init EH attached to a class works. Only before dead bodies where getting deleted when player logs out or soon after and new players didnt have to receive those. With recent change the bodies stay and so each dead body still has init attached, which will initialise whatever is in it for every joining player. Hence limiting it to alive units stops it executing for dead bodies. In fact limiting init to server execution also solves this.
init param should be used with caution in MP. I agree people should be made aware of how it works. Personally, unless you absolutely need it, init can be avoided, and using it I consider sort of a dirty hack. There should be a warning, "use init at your own risk".
I have suggested to Moricky already to have a box in editor that will write in init.sqf, so that you can easily add custom code, rather than use init EH, but not sure what happens.
In any case current functionality should not be changed as it provide powerful tool when you understand how it works.
There is no double execution, it works like it supposed to. You have a unit that has init line, you join and it executes. Dead units are object too and their lines execute as well.
@Killzone_Kid: Thank-you for your detailed reply. I shall refrain from using the init line box in the mission editor. A box that writes to the init.sqf would be brilliant, especially for amateur mission designers who feel more comfortable doing everything in the editor rather than creating scripts (plus this would also streamline the mission making process).
@SaMatra: If I want to apply a loadout to a unit when they spawn, I can call a function that gives them their kit (e.g. "[this] call f_fnc_assignGear"). Once this unit dies, won't it become an object that re-executes its init line everytime another player connects - reapplying the gear to the dead body? There are many scripts that rely on unit init lines (e.g. the f_fnc_assignGear example is taken from the very popular F3 Mission Development Framework). It seems many are unaware of this behavior you have described.
The point is the default behavior should not have been changed, but introduced as an option..
Agree with kju, there was a ticket somewhere. Probably the best solution aroun the problem. Leaving bodies around is needed but should have been an option.
@jamieg execute init on server only and you will be fine. Remove wepons, magazines etc commands are global, if you put them in init you are risking losing your gear every time someone logs in. Add weapons magazines etc require unit to be local. Your unit is local to the server when you log in, this is why command works and doesnt work when other prople join. In short, dont use init for giving people gear.
Thanks Killzone_Kid.
Note to those who may find this: We've found that it is possible to continue using init fields on units (that are also compatible with JIP) by using "if (local this) then { // code };
E.g:
if (local this) then {this addItemToVest "HandGrenade"};
This will only run the init line if the unit is local to the connecting client (i.e. only the player himself). In the case of AI, only the server will run AI init lines (unless the AI are grouped with the player, in which they will be local to the player and NOT the server).
However, all commands within this init line will have to be global or else the effects will not be seen by other clients.
As Killzone_Kid pointed out, this is quite a 'hacky' approach and it would be better to run this code via scripts/init.sqf rather than in init fields. However, for those that like to keep everything editor-centric, the above method is a possible option.
Init runs very early and if you put if (local this) condition then it will run it on the server because it will be local to the server at that moment. it is the same as do if (isServer)
Hmmm, are you sure this is the case? We just ran a test on our dedi server for applying loadouts (using unit's init lines - copy & pasting loadouts from the Arsenal). These are the results:
if (isServer) will only apply the loadout for all clients that are present at the start of the mission. JIP clients do not have their kit applied.
if (alive this) applies loadouts correctly for all units, but JIP clients cause all player's kit to be reapplied due to their init lines being processed again by the JIP client (this could be avoided by using local commands in init fields, but this does not correctly solve the issue).
if (local this) applies loadouts to all clients. JIP clients also have their kit correctly applied without reapplying everyone else's loadouts. This appears to be the best solution.
Perhaps you/someone else could also run tests to confirm this?
Edit: "Init runs very early" - I know this may be the case for objects that already exist on the server, but what about playable units? Surely they do not exist on the server until a player joins that slot (assuming AI is disabled). Therefore, as soon as the player joins that slot, the playable unit is created and the init lines are /then/ run (and not very early on). This may be why "if (local this)" works for JIP clients.
what can I say? I ran logging with following params from init:
[condition used, this, local this, isServer, time]
here are the results:
mission starts
["isServer",B Alpha 1-1:1 (KK),true,true,0]
["local",B Alpha 1-1:1 (KK),true,true,0]
jip1
["isServer",B Alpha 1-1:1,true,true,11.916]
["local",B Alpha 1-1:1,true,true,11.916]
jip2
["isServer",B Alpha 1-1:1,true,true,52.771]
["local",B Alpha 1-1:1,true,true,52.771]
they are identical for me. Are you using execVM by any chance?
Was just using "if (local unit) then {addItemToBackpack... //etc };" on init lines of units.
AFAIK, we were just using local commands in the init lines (copy & pasted loadouts from the Arsenal) and so the double-init was probably still occurring - it's just that we (clients) can't see this. However, this does seem to prevent the mass "no main subgroup" log spam as our logs were clean from such errors.
Mass-closing all resolved issues not updated in the last month.
Please PM me in BI Forums (http://forums.bistudio.com/member.php?55374-Fireball) if you feel your bug was closed in error.