Jump to content

Ulfgaar

Member
  • Content Count

    130
  • Joined

  • Last visited

  • Medals

Everything posted by Ulfgaar

  1. Greetings everyone! I've searched wide and far for a solution to a problem im having with my groups squad patches only occationally showing on our dedicated server games. I've searched the forum for similar topics, and found only an old one which didnt make too much sense to me - nor did it work as i hoped (tho, might just be me doing it wrong). However, its an old thread - and people seem to ignore it for that reason. We have two dedicated servers - one which is where our narrative campaigns are hosted. These campaigns are either a series of 4-5 missions connected to a campaign, or a persistent campaign with 4-5 phases. The other server is our training server, where people can log on and practice all sorts of things, from infantry tactics to vehicle and mod training/practice. We have our own modset, sporting squad insignias. We also operate with preset loadouts for each role - and would as such like to have the individual squad insignia show for each squad in multiplayer on a dedicated server, no matter if you've selected a loadout or not - and i want this to be JIP friendly, so that players connecting late can see the squad insignias of those already playing. We also want the players to have their radio frequencies (TFAR) be set when they select a loadout, to ensure a minimum of radio problems during out games (simplicity - as the TFAR module acts a bit spotty at times). This is what im operating with - the code is just for my testing mission, but the same code will be customized for the larger group, adding variable names for each role in the squad, once its made to work properly. Im am by no means a coder/scripter - so there are things i cannot do or understand yet. initPlayerLocal.sqf (This makes the players spawn in with their correct insignia showing on the dedicated server, before chosing a loadout). { if (str(player)in ['Wolf1']) then { [player,'SPAR_WOL1'] call BIS_fnc_setUnitInsignia; }; if (str(player)in ['Bear1']) then { [player,'SPAR_BEA2'] call BIS_fnc_setUnitInsignia; }; if (str(player)in ['Lion1']) then { [player,'SPAR_LIO3'] call BIS_fnc_setUnitInsignia; }; if (str(player)in ['Rhino1']) then { [player,'SPAR_RHI1'] call BIS_fnc_setUnitInsignia; }; if (str(player)in ['Scorpion1']) then { [player,'SPAR_SCO'] call BIS_fnc_setUnitInsignia; }; } remoteExec ["bis_fnc_call", 0, True]; onPlayerRespawn.sqf: (This makes the players respawn in with their correct insignia showing on the dedicated server, up until chosing a new loadout - proved insignia had to be removed first, then reapplied before showing after respawn). { if (str(player)in ['Wolf1']) then { [player,''] call BIS_fnc_setUnitInsignia; [player,'SPAR_WOL1'] call BIS_fnc_setUnitInsignia; }; if (str(player)in ['Bear1']) then { [player,''] call BIS_fnc_setUnitInsignia; [player,'SPAR_BEA2'] call BIS_fnc_setUnitInsignia; }; if (str(player)in ['Lion1']) then { [player,''] call BIS_fnc_setUnitInsignia; [player,'SPAR_LIO3'] call BIS_fnc_setUnitInsignia; }; if (str(player)in ['Rhino1']) then { [player,''] call BIS_fnc_setUnitInsignia; [player,'SPAR_RHI1'] call BIS_fnc_setUnitInsignia; }; if (str(player)in ['Scorpion1']) then { [player,''] call BIS_fnc_setUnitInsignia; [player,'SPAR_SCO'] call BIS_fnc_setUnitInsignia; }; } remoteExec ["bis_fnc_call", 0, True]; TFAR_Freq.sqf (This us the script that will set the players radio to preset frequencies). [(call TFAR_fnc_activeSwRadio), 1, "130.1"] call TFAR_fnc_SetChannelFrequency; [(call TFAR_fnc_activeSwRadio), 2, "131.1"] call TFAR_fnc_SetChannelFrequency; [(call TFAR_fnc_activeSwRadio), 3, "132.1"] call TFAR_fnc_SetChannelFrequency; [(call TFAR_fnc_activeSwRadio), 4, "133.1"] call TFAR_fnc_SetChannelFrequency; [(call TFAR_fnc_activeSwRadio), 5, "134.1"] call TFAR_fnc_SetChannelFrequency; [(call TFAR_fnc_activeSwRadio), 6, "135.1"] call TFAR_fnc_SetChannelFrequency; [(call TFAR_fnc_activeSwRadio), 7, "136.1"] call TFAR_fnc_SetChannelFrequency; [(call TFAR_fnc_activeSwRadio), 8, "137.1"] call TFAR_fnc_SetChannelFrequency; [(call TFAR_fnc_activeLrRadio), 1, "40.1"] call TFAR_fnc_SetChannelFrequency; [(call TFAR_fnc_activeLrRadio), 2, "41.1"] call TFAR_fnc_SetChannelFrequency; [(call TFAR_fnc_activeLrRadio), 3, "42.1"] call TFAR_fnc_SetChannelFrequency; [(call TFAR_fnc_activeLrRadio), 4, "43.1"] call TFAR_fnc_SetChannelFrequency; [(call TFAR_fnc_activeLrRadio), 5, "44.1"] call TFAR_fnc_SetChannelFrequency; [(call TFAR_fnc_activeLrRadio), 6, "45.1"] call TFAR_fnc_SetChannelFrequency; [(call TFAR_fnc_activeLrRadio), 7, "46.1"] call TFAR_fnc_SetChannelFrequency; [(call TFAR_fnc_activeLrRadio), 8, "47.1"] call TFAR_fnc_SetChannelFrequency; [(call TFAR_fnc_activeLrRadio), 9, "48.1"] call TFAR_fnc_SetChannelFrequency; SQL_2IC_Loadout.sqf (Example of preset loadout - used by infantry squad leader and their 2IC) comment "Exported from Arsenal by Ulfgaar"; comment "[!] UNIT MUST BE LOCAL [!]"; if (!local _this) exitWith {}; comment "Remove existing items"; removeAllWeapons _this; removeAllItems _this; removeAllAssignedItems _this; removeUniform _this; removeVest _this; removeBackpack _this; removeHeadgear _this; removeGoggles _this; comment "Add weapons"; _this addWeapon "rhs_weap_m16a4_imod_M203"; _this addPrimaryWeaponItem "rhsusf_acc_anpeq15side_bk"; _this addPrimaryWeaponItem "rhsusf_acc_eotech_552"; _this addPrimaryWeaponItem "rhs_mag_30Rnd_556x45_M855A1_Stanag"; _this addPrimaryWeaponItem "rhs_mag_M585_white"; _this addWeapon "MCC_TentDome"; _this addWeapon "rhsusf_weap_glock17g4"; _this addHandgunItem "rhsusf_mag_17Rnd_9x19_JHP"; comment "Add containers"; _this forceAddUniform "gear_OCP_kit02"; _this addVest "gear_platecarrier_OCP_02"; _this addBackpack "SPAR_tf_rt1523g_OCP"; comment "Add binoculars"; _this addWeapon "ACE_Vector"; comment "Add items to containers"; for "_i" from 1 to 5 do {_this addItemToUniform "ACE_fieldDressing";}; _this addItemToUniform "ACE_epinephrine"; for "_i" from 1 to 2 do {_this addItemToUniform "ACE_morphine";}; _this addItemToUniform "ACE_Flashlight_MX991"; _this addItemToUniform "ACE_IR_Strobe_Item"; _this addItemToUniform "ACE_EarPlugs"; for "_i" from 1 to 3 do {_this addItemToUniform "ACE_CableTie";}; _this addItemToUniform "ACE_microDAGR"; _this addItemToUniform "SPAR_Beret_Green"; _this addItemToUniform "ACE_MapTools"; _this addItemToUniform "G_Cigarette_F"; _this addItemToVest "ACE_tourniquet"; _this addItemToVest "rhsusf_acc_M952V"; _this addItemToVest "ACE_NVG_Gen4"; _this addItemToVest "ALIVE_Tablet"; for "_i" from 1 to 2 do {_this addItemToVest "HandGrenade";}; for "_i" from 1 to 2 do {_this addItemToVest "ACE_M84";}; _this addItemToVest "rhsusf_mag_17Rnd_9x19_JHP"; for "_i" from 1 to 6 do {_this addItemToVest "rhs_mag_30Rnd_556x45_M855A1_Stanag";}; _this addItemToVest "ACE_Chemlight_HiGreen"; _this addItemToVest "ACE_Chemlight_HiRed"; for "_i" from 1 to 2 do {_this addItemToVest "SmokeShell";}; _this addItemToVest "SmokeShellGreen"; _this addItemToVest "SmokeShellOrange"; for "_i" from 1 to 2 do {_this addItemToBackpack "1Rnd_SmokeRed_Grenade_shell";}; for "_i" from 1 to 2 do {_this addItemToBackpack "1Rnd_SmokeGreen_Grenade_shell";}; for "_i" from 1 to 5 do {_this addItemToBackpack "1Rnd_HE_Grenade_shell";}; _this addItemToBackpack "rhs_mag_M585_white"; _this addHeadgear "gear_ECH_OCP_14"; _this addGoggles "VSM_Shemagh_OD"; comment "Add items"; _this linkItem "ItemMap"; _this linkItem "ItemCompass"; _this linkItem "ItemWatch"; _this linkItem "tf_anprc152_1"; _handle = execVM "OnPlayerRespawn.sqf"; _handle = player execVM "TFAR_Freq.sqf"; waitUntil { isNull _handle }; The problem was initially that players lost their insignia when changing loadouts. This is why i've added this to the end of each preset loadout script: _handle = execVM "OnPlayerRespawn.sqf"; _handle = player execVM "TFAR_Freq.sqf"; waitUntil { isNull _handle }; This sorted the TFAR radio frequencies, and works well (to what i can see at least). The insignias however is a mystery - as the player changing the loadouts, can see his own, and others. But others can no longer see his. Example below: Going to operate with 3 Players to explain this. Player A, Player B and Player C - on dedidcated server. All 3 Players (A,B and C) spawn in - all can see their own and the others insignias. Player A goes to get a preset loadout. He can still see his own, and the others insignias - however Player B and C can no longer see Player A insignia. Player B then goes to get a presetloadout. Player B can see his own, and Player A and C insignias. Player C can also now see Player A insignia. However, Player A and C can no longer see player B insignia. Player C goes to get preset loadout - and same pattern repeats. C can now see his own, and both A and B's. A can now also see B's. A and B can however no longer see C's. So, this is my case and situation - and i feel im "close", but my lack of the actual coding language and scripting is holding me back - so i am now humbly coming before you guys in the great Arma 3 forum oracle, seeking help. Any help and pointers will be greatly appreciated - as i've been hitting my had through the wall with this issue for a long time now trying to figure it out. Best regards, - Ulfgaar
  2. Hello guys! Im trying to "simulate" that our players have a "PDA" or "Tablet" from where they can check the "ID" of certain AI they encounter in the game. These AI and their identity, those i want to be eligible for it - will ofc be arranged by me as the content creator. However, i'll be using an image file of a PDA/tablet - where i change the contents and convert them into a .paa file - which i then want to display to the player through pressing an addAction on the AI in question. I've tried to google a fair bit, and found that there are two types of "pop" up windows im interested in - which are the HintC, and the GUIMessage. I am now wondering what kind of code can i use to display a simple image using one of these? I saw one can use ParseText as part of the HintC, perhaps even as part of the GUIMessage - but this is where im falling off the track a bit - as i dont understand it that well. What i want is for the player to approach the AI, press the addAction - and then either a HintC window, or a GUIMessage window appears with my selected image. So in short, How to display an image to a player using an addAction by either HintC or GUIMessage? Hoping one of you guys can help me out with this 😊
  3. Never mind - i just cant read well: https://community.bistudio.com/wiki/BIS_fnc_initLeaflet This works: [this, ["Image.paa", -1, -1], "YourText"] call BIS_fnc_initInspectable; This will add an inspect function to your object, displaying your image - with no texture added to the object itself.
  4. Apparently https://community.bistudio.com/wiki/BIS_fnc_initInspectable does the exact same as: https://community.bistudio.com/wiki/BIS_fnc_initLeaflet Which means, they both apply said texture to the object as well - which means if i want to use this function to say display a tablet viewing said AI officer's ID - i end up applying the tablet texture to the said AI Officer...which is a real bummer. Still at a loss - any help appreciated.
  5. Cheers! Will do some digging. If anyone else has a bite more hands-on suggestions for codes that can be used to achieve what i want - i'd appreciate that too 😄 Im thinking something similar to the "leaflet" code, but one that lets you enter the "examine" object stage when pressing the action, rather than at the same time apply texture to the object. I found this: https://community.bistudio.com/wiki/BIS_fnc_initInspectable But uncertain on how to compile the code for it - as if i understand this right, this will let me "inspect" the certain object - displaying potentially a picture of my chosing. As said, any help is appreciated!
  6. InitPlayerLocal.sqf (Example of 4xSquads of 8 people - applies insignias at start) if (!isDedicated) then { if (str(player)in ['SQA1','SQA2','SQA3','SQA4','SQA5','SQA6','SQA7','SQA8']) then { [player,'YourLogoNameA'] call BIS_fnc_setUnitInsignia; }; if (str(player)in ['SQB1','SQB2','SQB3','SQB4','SQB5','SQB6','SQB7','SQB8']) then { [player,'YourLogoNameB'] call BIS_fnc_setUnitInsignia; }; if (str(player)in ['SQC1','SQC2','SQC3','SQC4','SQC5','SQC6','SQC7','SQC8']) then { [player,'YourLogoNameC'] call BIS_fnc_setUnitInsignia; }; if (str(player)in ['SQD1','SQD2','SQD3','SQD4','SQD5','SQD6','SQD7','SQD8']) then { [player,'YourLogoNameD'] call BIS_fnc_setUnitInsignia; }; }; OnPlayerRespawn.sqf (Removes insignia, before reapplying them again when players respawn) if (!isDedicated) then { if (str(player)in ['SQA1','SQA2','SQA3','SQA4','SQA5','SQA6','SQA7','SQA8']) then { [player,''] call BIS_fnc_setUnitInsignia; [player,'YourLogoNameA'] call BIS_fnc_setUnitInsignia; }; if (str(player)in ['SQB1','SQB2','SQB3','SQB4','SQB5','SQB6','SQB7','SQB8']) then { [player,''] call BIS_fnc_setUnitInsignia; [player,'YourLogoNameB'] call BIS_fnc_setUnitInsignia; }; if (str(player)in ['SQC1','SQC2','SQC3','SQC4','SQC5','SQC6','SQC7','SQC8']) then { [player,''] call BIS_fnc_setUnitInsignia; [player,'YourLogoNameC'] call BIS_fnc_setUnitInsignia; }; if (str(player)in ['SQD1','SQD2','SQD3','SQD4','SQD5','SQD6','SQD7','SQD8']) then { [player,''] call BIS_fnc_setUnitInsignia; [player,'YourLogoNameD'] call BIS_fnc_setUnitInsignia; }; }; With Preset Loadouts, loaded up through AddActions and the use of .sqf scripts containing the loadout preset: You'll need to add a line of code to each .sqf containing your loadout, and you'll need to add another .sqf as well. At the end of each loadout.sqf add this execVM "loadout_post.sqf"; This is the new .sqf you'll need to make (name it whatever you want, this is just what we use). loadout_post.sqf Sleep 1; SetInsignia = 1; You'll also need a repeatable trigger with this: Repeatable Trigger Condition: SetInsignia == 1; On Activation: if (!isDedicated) then {_handle = player execVM "onPlayerRespawn.sqf"; SetInsignia = 0;}; This is just an example of what we're using and its working on a dedicated server and will apply insignias when they connect, when they respawn and when they pick a kit from our preset loadout boxes - this way our squad insignias and rank insignias are displayed throughout the game we're having.
  7. I am, as a few others as i understood from what i've found in this thread and elsewhere - looking to make some sort of "command/communication center" where I want to have one or several long/short range radios transmitting on stereo. I've understood that there is something called "Static Radio", or was perhaps, as i cannot find any modules or Zeus options for this in game currently. I've looked into certain work arounds, but before digging deeper into potential work-arounds i'd like to check if there is any function or setup for where i can set an object/TFAR object to be a source of transmitting live radio feed from the players. I read somewhere that you were going to make a video tutorial of how to set up Static Radio, but cannot say i found any when googling for it. So, whats the latest and greatest on this particular function?
  8. Just to place this into context - i made a mission where the players will be supported by some cruise missile fire, fired by the AI. There are 3 different targets, and 3 different MK41 VLS launch pads firing at each their target. I found this script/code and its been working very "on/off". It works every time in singleplayer, but only "occational" in multiplayer on a dedicated server - so im approachig you guys, the mighty Arma 3 oracle, to see if you guys can help me improve this code so that it'll work more predictably and reliably on dedicated servers too. This is the code im using: ------------------------------------------------ // This is the script I'm using in an .sqf ------------------------------------------------ west reportRemoteTarget [HAA1_0, 3000]; HAA1_0 confirmSensorTarget [west, true]; west reportRemoteTarget [T2, 3000]; T2 confirmSensorTarget [west, true]; west reportRemoteTarget [T1, 3000]; T1 confirmSensorTarget [west, true]; Cruise1 fireAtTarget [HAA1_0, "weapon_vls_01"]; Cruise2 fireAtTarget [T2, "weapon_vls_01"]; Cruise3 fireAtTarget [T1, "weapon_vls_01"]; ------------------------------------------------ // This is basically the information provided for each launcher ------------------------------------------------ west reportRemoteTarget [HAA1_0, 3000]; HAA1_0 confirmSensorTarget [west, true]; Cruise1 fireAtTarget [HAA1_0, "weapon_vls_01"]; While developing the mission, i do my fair share of testing on a dedicated server - first time i tried it, all 3 missiles fires and hits their targets. Next time i did some changes to the mission, although nothing to the settings of the targets/missiles or script - suddenly all 3 missiles fires, but 1 goes straight up - while 2 hit their target. And ofc, during the offical playthrough of the mission with my Arma 3 group, all 3 missiles fires but all 3 goes straight up and none of them seemingly targeting their targets. This was mildly put rather annoying. So in short, if any of you script-wizzes know how to help me out with this to have it work more predictably and reliably on a dedicated server it would be absolutely epic, and much appreciated.
  9. Small update, incase others are wondering. I took what PierreMGI showed me and ended up making the .sqf script look like this in a different mission. This works on a dedicated server, and all 3 cruise missiles are fired and all 3 hit their targets. The sleep code is just there for some "effects" with them being fired in sequence, rather than all at once. Variable names are: VLS1, VLS2, VLS3 = The VLS Cruise missile launchers, 3 different. AA1, AA4, AA5 = 3 different targets i want destroyed. west reportRemoteTarget [AA1, 3600]; west reportRemoteTarget [AA4, 3600]; west reportRemoteTarget [AA5, 3600]; VLS1 doWatch AA1; waitUntil {AA1 confirmSensorTarget [west, true]; VLS1 aimedAtTarget [AA1] > 0}; VLS1 fireAtTarget [AA1, "weapon_vls_01"]; Sleep 5; VLS2 doWatch AA5; waitUntil {AA5 confirmSensorTarget [west, true]; VLS2 aimedAtTarget [AA5] > 0}; VLS2 fireAtTarget [AA5, "weapon_vls_01"]; Sleep 5; VLS3 doWatch AA4; waitUntil {AA4 confirmSensorTarget [west, true]; VLS3 aimedAtTarget [AA4] > 0}; VLS3 fireAtTarget [AA4, "weapon_vls_01"]; This might not be perfect, but it works - and is tested and verified on the dedicated server of my Arma 3 group. Links to relevant content: - FireAtTarget - ReportRemoteTarget - ConfirmSensorTarget - AimedAtTarget - DoWatch - WaitUntil Pretty neat and immersive to have the players go onto the deck of the aircraft carrier heading for their transport helicopters, while the surrounding escort destroyers fire their cruise missiles during dawn/dark 😉.
  10. Been trying to get vanilla support system to work on dedicated server game, and looked up what you made here - which is a great job, thank you! However, i edited it a bit so that you can assign specific variable names to it, so you dont just assign the support to class names, but specific roles if you want to. In the example below think of VN1, VN2, VN3, VN4 as the variable names of specific roles in a mission, such as the HQ, platoon commander etc. etc. if (str(player)in ['VN1','VN2','VN3','VN4']) then { [_this select 0, SupportRequester, ArtilleryProvider] call BIS_fnc_addSupportLink; [_this select 0, SupportRequester, TransportProvider] call BIS_fnc_addSupportLink; [_this select 0, SupportRequester, AmmoProvider] call BIS_fnc_addSupportLink; }; This is ofc put into the Initplayerlocal.sqf file just as you said. Seem to be working when im testing it on my dedicated server. The only thing thats pondering me now, is that when i as an example call in a supplydrop, the chopper that delivers it does not despawn afterwards for some reason. Anyone have any idea on why thats happening?
  11. Yeh, i'll do so once i've got bit more time - need to put it into "wording" that makes sense and not just ramble on 😄
  12. We resolved the case, by utilizing the condition fields of the waypoints instead - and our inhouse code-head. Thanks for all the efforts of helping tho, really appreciate it - if for nothing else it has -somewhat- made locallity clearer to me - which is a big deal 😄
  13. What im making here is an AI air-taxi for a persistent campaign thats been rolling for soon two months (with resets to server ofc) - but where we are now, players will still spawn at our HQ - but have an option for transport to the FOB in question when our flyboys are not online. To do this, i've placed an AI chopper having a pilot and co-pilot, following a circle of waypoints which will fly players to the FOB, and return to base for another run whenever needed. {_x In AllPlayers} count (crew Heli1) > 0) This part tho, is counting if all players are in the heli, no? As im not after having it as a requirement to have all the players be in, and thought that counting the crew of the helicopter being more than the two that is supposed to be there be what is counted. If i understood your suggestion right, its counting if there are more than 0, which would then make the 2 AI always present trigger that particular code, no? And what i need, is for the triggers "Set Waypoint Activation"-sync to the waypoint preventing it to leave to fire. As said, my version is giving me the hints, so the triggers are firing - but the trigger seemingly is not "releasing" said waypoint - so the chopper does not go anywhere.
  14. I tried a workaround, with a trigger just detecting if player was in the helicopter, that the helicopter is on the ground in the given trigger (covering the helipad) and that the hint is only broadcast to players within said trigger. This is the trigger that activates immediatly once conditions are met - hint shows up: Activation: BLUFOR Activation Type: Present Condition: {isTouchingGround Heli1} count thisList > 0 && count (crew Heli1) > 2 && (vehicle player) in thislist; On Activation: Hint "Transport helicopter will take off in 30 seconds. To abort - leave the helicopter."; On Deactivation: Hint "Transport helicopter - Take off aborted."; This is the trigger that activates after 30 seconds has passed, and which is "set Waypoint Activation" synced to the waypoint that releases the helicopter - once conditions are met, and the hint shows up: Activation: BLUFOR Activation Type: Present Condition: {isTouchingGround Heli1} count thisList > 0 && count (crew Heli1) > 2 && (vehicle player) in thislist; On Activation: Hint "Helicopter taking off!"; Timeout: 30 sec But again ,working on singleplayer and multiplayer through the editor - the hints show up on dedicated server, but does jack shit in regards to releasing the waypoint. Why the helicopter trigger does not release the waypoint of the helicopter however....it just breaks my head in. I've made dedicated server missions for years, using all sorts of conditions to activate triggers, which would put an AI group onto its planned path by using a trigger and its "set Waypoint Activation" - however, now all of a sudden this simply does not work.
  15. There seem to be some sort of delay with this on the server, where the hint is executed immediatly, while the "set Waypoint Activation" engages a fair time after...no idea why. But, i have on the server experienced some sort of delay in commands when playing as Zeus as well, like manually setting codes in the MCC init box of units (This SetVehicleAmmo 1; ...etc.). A more coding-savvy friend of mine helped me out with a different code which i'll be going with instead. Truth be told, the code is used previously is actually a code originally made for counting members of a group being inside a vehicle, i just did a hack-saw attempt at what i thought would be to count players, instead of a given group. This is the new code im going for to check if players are out (tho, not checking if players are out - but when there are only 2 left, all players are out - as pilot/co-pilot and helicopter are invulnerable so there should be no chance of either of them dying for some reason). count (crew Heli1) == 2;
  16. Yes, i know im responding to an old thread - but been "told off" before about not using "old threads" on the same topic. So either i cant make a new thread about the same topic, or i cant respond to old threads with the same topic. Anywho - its a recent thing, and this is just one example. I see no reason why it should not work on the dedicated server tho, when its working when testing it elsewise. And as said, the trigger fires - i can see the hint, but the helicopter does not move beyond waypoint 1. And then there are the other triggers not activating anymore, those that did just a few days ago - i cant figure out why not, and searched the web. This thread came up - so if said someone found a fix, i'd like to know what it was. @Larrow Ok right - so basically i dont need to refer to the helidpad at all, it'll just select it because thats where the waypoint it attached? I'll sort that out. edit: Changing that did nothing on the dedicated server - issue persists. But, basically what happens is that the triggers fires, hints are showing - but the effects of said triggers does nothing. This goes for both the trigger in question which i've written about above - but also on older triggers that have been working previously, for a very short time ago.
  17. I can comfirm, also having weird problems on my dedicated server now with trigger firing, but nothing happening still. Just discovered the issue when testing an "air-taxi" for the players to be moved from HQ, to the FOB by AI flying back and forth. AI helicopter with variable name "Heli1" with the following init field: Heli1 addAction["<t color='#6D1300'>Take Off</t>", {TakeOff = 1;}, [], 1.5, false, true, "", "true", 5, false, "", ""]; This AllowDamage False; nul = this spawn { waitUntil { if !(alive _this) exitWith {}; if (fuel _this < 0.50) then { _this setFuel 1 }; false }}; First Waypoint - on the helidpad (variable name BasePad1) with waypoint activation: Heli1 land "BasePad1"; Second waypoint - a regular "move" waypoint directly ontop of that again, "Set Wapypoint activation"-synced to a trigger with the following info: Repeatable: Yes Condition: TakeOff == 1; On Activation: Hint "Heli-Taxi Trigger Fired"; TakeOff = 0; Third waypoint - on the destination helipad (variable name FOBAPAD) with waypoint activation: Heli1 land "FOBAPAD"; Fourth waypoint - a regular "move" waypoint directly ontop of that again, "Set Wapypoint activation"-synced to a trigger with the following info: Repeatable: Yes Condition: {_x in Heli1} count (units player) == 0; Fifth waypoint - a "Cycle" waypoint linked to the first waypoint. Basically, when testing it in the editor both on single player and in multiplayer - you have the addAction "Take Off" available once you are close/in the helicopter, which is immune to damage (crew as well) and getting endlessly refuled once the heli reaches 50% fuel. It will then fly to the FOB helipad, land and stay there till all players have left the helicopter. It will then return to the HQ helipad, land and wait for another activation of the "Take Off" addAction. What happens when on trying this on the dedicated server - i get in the helicopter. I trigger the addAction command, i get the hint (Heli-Taxi Trigger Fired) telling me that the trigger has been activated - but nothing happens. Its like the triggers function of activating the waypoint did not happen, and as such we're stuck. I then noticed other triggers that previously were working, no longer working either - firing, but not executing as such. This only happens on my dedicated server, everything works fine as said when testing in singleplayer or multiplayer through the editor.
  18. We start off in our base, where people kit up for the mission. During mission when people die, they respawn in with the gear they had when they died - and they have a range of options for respawns, in anything from respawn tents of their squads - a forward medical vehicle, or back at HQ (whereupon they will need to be transported back to the front). So no, they dont reload their loudouts after each death - they for the most part continue the fight with what they had when they died up until ressupply points have been arranged. Also, gear is loaded using addAction options on gearcrates, which executes different loadout.sqf scripts. We do this to ensure that players only have what they are permitted depending on their role, with some extra boxes containing "limited" other gear which they can change out. Quick question too: Whats the difference between: private _unit = param [0, player]; vs _unit = this select 0; ? Will check new codes.
  19. I've tested your script @nkenny and it works for the InitLocalPlayer.sqf _handle = execVM "AssignInsignia.sqf"; - where players spawn in their default "base" uniform with patches and everyone can see their own and each others patches. However - when not using onPlayerRespawn.sqf players spawn in with no insignia. When i try to use it, and refer to your script in the same way with: _handle = execVM "AssignInsignia.sqf"; players still spawn in without their insignia (not visible to themselves, or others). However, when i do this to your script, adding the [_this,''] call BIS_fnc_setUnitInsignia; to remove the insignia before reapplying them: /* assignInsignia.sqf configures unit insignia Argument 1, unit <OBJECT> Return unit */ // init private _unit = param [0, player]; // switch-case private _insignia = _unit call { [_this,''] call BIS_fnc_setUnitInsignia; if (str(_this) in ['Wolf1']) exitWith {"SPAR_WOL1"}; if (str(_this) in ['Bear1']) exitWith {"SPAR_BEA2"}; if (str(_this) in ['Lion1']) exitWith {"SPAR_LIO3"}; if (str(_this) in ['Rhino1']) exitWith {"SPAR_RHI1"}; if (str(_this) in ['Scorpion1']) exitWith {"SPAR_SCO"}; }; // add insignia [_unit, _insignia] remoteExec ["bis_fnc_setUnitInsignia", 0]; // end _unit people respawn and can see their own insignia, but others cannot. When i add: _handle = execVM "AssignInsignia.sqf"; to the end of the loadout scripts, the same happens. You equip new gear - and you can see your own insignia, but other players cannot. So basically - same problem persists. And i've also have no idea on how these insignias will show for JIP players. The reason why i have it for both InitLocalPlayer.sqf and onPlayerRespawn.sqf - as well as when changing loadouts - is because in our games, we start the game with "base uniforms", i.e - a uniform with just the Unit branch beret. I still want players to show off what squad they are part of for the briefing etc. Once they start their missions, they will select their loadouts according to what role they have selected, and when that happens - i still want them to show their Squad identity. Then lastly, when they are killed in battle and spawn in with the gear they had when they died, and then try get back into the battle - i still want them to show the squad insignia. So i need 4 things to happen: - When players spawn into the server, they need to have their squad ID insignia applied. - When Players change loadouts, their squad ID insignia needs to be applied/reapplied. - When they respawn after death, their squad ID insignia needs to be applied/reapplied. - All players joining the game, should see the insignias present on the players already in the game, and vice versa. The list above is whats doing my head in tbh xD. So that throughout their game - they will always show and carry their squad ID insignia - from the role they selected from the lobby (aka, selecting a role within said squads).
  20. As said, i'm no scripter - so what i have is what i've adapted and put together like frankenstein from a myriad of threads and pages where this or similar things have been discussed. So with that in mind, when you @nkenny say that the "this string check could definitely be optimised"...im not sure how to. I'll do some testing with what you've provided me with here. And again, thanks folks - really appreciate the help!
  21. Thanks man, thats a good start - will do the changes and have a look. Luckily im not remote executing the SetUnitInsignia on the live server - but testing it on the test file.
  22. Too much to get into? Basically, im after a way to have shoulder insignias visible for players on a dedicated server, which is JIP friendly and "reliable" (or as reliable as you get them in Arma). Im not talking about the "Units" group badge, but custom squad patches.
  23. Could this be an option to ensure shoulder insignia visibility for all clients both connecting and respawning on the server? initPlayerLocal.sqf { if (str(player)in ['A1','A2']) then { [player,'TTB_Alpha'] call BIS_fnc_setUnitInsignia; }; if (str(player)in ['B1','B2','B3','B4','B5','B6']) then { [player,'TTB_Bravo'] call BIS_fnc_setUnitInsignia; }; if (str(player)in ['C1','C2','C3','C4']) then { [player,'TTB_Charlie'] call BIS_fnc_setUnitInsignia; }; } remoteExec ["bis_fnc_call", 0, True]; onPlayerRespawn.sqf: { if (str(player)in ['A1','A2']) then { [player,''] call BIS_fnc_setUnitInsignia; [player,'TTB_Alpha'] call BIS_fnc_setUnitInsignia; }; if (str(player)in ['B1','B2','B3','B4','B5','B6']) then { [player,''] call BIS_fnc_setUnitInsignia; [player,'TTB_Bravo'] call BIS_fnc_setUnitInsignia; }; if (str(player)in ['C1','C2','C3','C4']) then { [player,''] call BIS_fnc_setUnitInsignia; [player,'TTB_Charlie'] call BIS_fnc_setUnitInsignia; }; } remoteExec ["bis_fnc_call", 0, True]; And if I add into each script for each preset loadout to say execute the contents of one of these scripts, could it work then, to ensure that each player is wearing said roles shoulder insignia at all times? Or will i be fucking up some majorly with server performance or other shit? Im trying to put together stuff i dont really know too much about, so some help here would be nice :)
  24. Player load in with insignias, but as soon as they change to preset loadouts (loadouts which has no identity lines), it dissapears. Is there a way to script into preset loadouts that they will sport the insignia which was used by the person who cliked it?
  25. Alright, think i figured it out - just in case anyone else is looking for this - i'll show everyone the end result. So in the initPlayerLocal.sqf you have this: if (str(player)in ['A1','A2']) then { [player,'TTB_Alpha'] call BIS_fnc_setUnitInsignia; }; if (str(player)in ['B1','B2','B3','B4','B5','B6']) then { [player,'TTB_Bravo'] call BIS_fnc_setUnitInsignia; }; if (str(player)in ['C1','C2','C3','C4']) then { [player,'TTB_Charlie'] call BIS_fnc_setUnitInsignia; }; And then you have in the onPlayerRespawn.sqf: if (str(player)in ['A1','A2']) then { [player,''] call BIS_fnc_setUnitInsignia; [player,'TTB_Alpha'] call BIS_fnc_setUnitInsignia; }; if (str(player)in ['B1','B2','B3','B4','B5','B6']) then { [player,''] call BIS_fnc_setUnitInsignia; [player,'TTB_Bravo'] call BIS_fnc_setUnitInsignia; }; if (str(player)in ['C1','C2','C3','C4']) then { [player,''] call BIS_fnc_setUnitInsignia; [player,'TTB_Charlie'] call BIS_fnc_setUnitInsignia; }; initPlayerLocal.sqf will add insignias to the designated units as you enter the game, while onPlayerRespawn.sqf will first remove said insignia, and reapply them on respawn. I've tested it on dedicated server, solo however, but it seems to work on both loading in and on respawn. If its JIP friendly, or if other people can see the insignias remains to be seen. I think it will, as technically these scripts will fire every time someone logs onto the server, and on every respawn. I will update once i've gotten around to test it with multiple other players.
×