-
Content Count
99 -
Joined
-
Last visited
-
Medals
-
Medals
Posts posted by SpaydCBR
-
-
Hi Larrow, I finally had a chance to try out your mission after a pretty busy few days.
It seems to be working great! I tried it from the MP editor and on a local dedicated server and every time I respawned I saw the updated loadout in the correct spot, amazing! I haven't had a chance to test it with a friend yet.
I looked through your code a bit and I'm surprised how much work it required.
If I really wanted to nitpick, and I do :D , is that the new inventory icons in the respawn inventory menu don't get updated even though the "details" are correct. However, clicking on another loadout then clicking back will update said icons correctly. Is that something that can be fixed so that it shows the updated icons the first time?
Also, a big THANK YOU!!!
-
Can you show me your CfgRespawnInventory, CfgRoles and how and where exactly you are adding the respawn inventories.
This will allow me to better explain a solution for you, especially where your adding the respawn inventory as the data is shared globally and we will have to try
fudgingexpertly coercing a local update when the arsenal is closed and see if it holds.//description.ext class CfgRespawnInventory { // I'm actually using #include "loadouts_west.hpp" // but the following is the content of that file class Rifleman { displayName = "Rifleman"; // Name visible in the menu icon = "\A3\Ui_f\data\GUI\Cfg\Ranks\sergeant_gs.paa"; // Icon displayed next to the name role = "Assault"; // Loadout definition, uses same entries as CfgVehicles classes weapons[] = { "arifle_MXC_F", "Binocular" }; magazines[] = { "30Rnd_65x39_caseless_mag", "30Rnd_65x39_caseless_mag", "SmokeShell" }; items[] = { "FirstAidKit" }; linkedItems[] = { "V_Chestrig_khk", "H_Watchcap_blk", "optic_Aco", "acc_flashlight", "ItemMap", "ItemCompass", "ItemWatch", "ItemRadio" }; uniformClass = "U_B_CombatUniform_mcam_tshirt"; backpack = "B_AssaultPack_mcamo"; }; class MG { // Alternative configuration pointing to a CfgVehicles class. Loadout will be copied from it. displayName = "MG"; icon = "\A3\Ui_f\data\GUI\Cfg\Ranks\sergeant_gs.paa"; role = "Support"; // Loadout definition, uses same entries as CfgVehicles classes weapons[] = { "LMG_Mk200_F", "Binocular" }; magazines[] = { "200Rnd_65x39_cased_Box", "200Rnd_65x39_cased_Box" }; items[] = { "FirstAidKit" }; linkedItems[] = { "V_Chestrig_khk", "H_Watchcap_blk", "optic_Aco", "ItemMap", "ItemCompass", "ItemWatch", "ItemRadio" }; uniformClass = "U_B_CombatUniform_mcam_tshirt"; backpack = "B_AssaultPack_mcamo"; }; class Sniper { // Alternative configuration pointing to a CfgVehicles class. Loadout will be copied from it. displayName = "Sniper"; icon = "\A3\Ui_f\data\GUI\Cfg\Ranks\sergeant_gs.paa"; role = "Recon"; // Loadout definition, uses same entries as CfgVehicles classes weapons[] = { "srifle_LRR_F", "Binocular" }; magazines[] = { "7Rnd_408_Mag", "7Rnd_408_Mag", "7Rnd_408_Mag" }; items[] = { "FirstAidKit" }; linkedItems[] = { "V_Chestrig_khk", "H_Watchcap_blk", "optic_LRPS", "ItemMap", "ItemCompass", "ItemWatch", "ItemRadio" }; uniformClass = "U_B_GhillieSuit"; backpack = ""; }; #include "loadouts_east.hpp" }; class CfgRoles { class Assault { displayName = "Assault"; icon = "\A3\Ui_f\data\GUI\Cfg\RespawnRoles\assault_ca.paa"; }; class Support { displayName = "Support"; icon = "\A3\Ui_f\data\GUI\Cfg\RespawnRoles\support_ca.paa"; }; class Recon { displayName = "Recon"; icon = "\A3\Ui_f\data\GUI\Cfg\RespawnRoles\recon_ca.paa"; }; };
initServer.sqf
//initServer.sqf //Assign car limits ... //Initialize dynamic groups ... //Initialize assault loadouts [west,["Rifleman",5]] call BIS_fnc_addRespawnInventory; [east,["Rifleman",5]] call BIS_fnc_addRespawnInventory; //Initialize support loadouts [west,["MG",8]] call BIS_fnc_addRespawnInventory; [east,["MG",8]] call BIS_fnc_addRespawnInventory; //Initialize recon loadouts [west,["Sniper",2]] call BIS_fnc_addRespawnInventory; [east,["Sniper",2]] call BIS_fnc_addRespawnInventory; //Player connected handler ... //Player disconnected handler ...
-
I can't remember that stuff off the top of my head and I'm at work right now, so I'll post them when I get home tonight. Thanks!
If it helps for now, basically I have 3 custom roles ("Assault", "Support", "Recon"), and 1 custom Loadout/Inventory for each role respectively ("Rifleman","MG,"Sniper" - these are the display names and class names). These are just to test, there will be more in the future but I think there will always be only those 3 Roles, just more loadouts for each role.
In the initServer.sqf I have something like [west, ["Rifleman",5]] call BIS_fnc_addRespawnInventory for each of the Loadouts in the order they appear in CfgRespawnInventory.
I believe that's it. Everything looks and works as it should. I'd just like people to be able to modify these dynamically using the VA and keep the same look and feel for a better presentation and keep the correct limit count on those loadouts, since they have limits too if you noticed in that addRespawnInventory call.
In my head I imagined I would just have to get the reference to the current inventory I loaded then update it or re-create it when I quit the VA. Sounded simple. I tried looking through all the respawn inventory code this weekend myself. I actually learned a lot but didn't really get anywhere :(
Again, I'll post all that stuff you requested when I get home tonight.
-
This thread was very helpful.
May I make one request? Is there any way to dynamically change an existing loadout?
Meaning, I have custom Roles and RespawnInventory loadouts in the description.ext file, Let's say I have a "Medic" loadout under the "Support" role for example. The player selects this loadout, spawns, then proceeds to a nearby ammo box that starts the Virtual Arsenal with items I've whitelisted for medics. The player makes his changes to his loadout, closes the VA, goes to play for a bit and dies. Upon respawn, is there any way for the "Medic" loadout under the "Support" role to now be updated with the changes the player made in the VA in his previous life?
I tried using https://community.bistudio.com/wiki/BIS_fnc_saveInventory and https://community.bistudio.com/wiki/BIS_fnc_setRespawnInventory which seems to work fine, but even if I use the same name as an existing loadout it just creates a new loadout with the same name under a "Default" role.
-
Ah yes, I just found out that a vehicle changes locality to the client that is driving it. Thanks killzone_kid!
-
Thanks for the info guys. So basically I want to make sure any commands a client sends to the server is properly configured in CfgRemoteExec?
What about something like MP event handlers, are they safe to use, as opposed to managing regular event handlers? Like "Killed" vs "MPKilled" to run code upon someone's death. Or is BE really just good enough that I don't have to worry too much about this?
-
I was just wondering, is it any "safer" (from hackers) to run code on server rather than on clients? Like is it any less exploitable to create a vehicle on the server rather than on the client even though its effects are global and would work either way? Maybe that's a bad example but I think you get the idea of what I'm trying to ask. I have absolutely no idea how hackers manage to inject their own code into a game.
-
Ah, that seems to have worked. Thanks!
Would you mind explaining why the regular "Killed" EH wouldn't work?
-
I've added a "Killed" event handler to a vehicle created by the server. It seems that if a client destroys the vehicle, its EH doesn't trigger. Why such? I thought vehicles and damage done to them were global.
-
I found this in the code for BIS_fnc_dynamicGroups.
/** * Event for player group being disbanded */ case "OnGroupDisbanded" : { private ["_group", "_who", "_oldLeader"]; _group = _params param [0, grpNull, [grpNull]]; _who = _params param [1, objNull, [objNull]]; _oldLeader = _params param [2, objNull, [objNull]]; if (!isNull _oldLeader && {!isNull _who} && {_oldLeader != _who}) then { [["LocalShowNotification", ["DynamicGroups_GroupDisbanded", [name _oldLeader], _who]], "BIS_fnc_dynamicGroups", _who] call BIS_fnc_mp; }; // Log if (LOG_ENABLED) then { ["OnGroupDisbanded: %1 / %2 / %3", _group, _who, _oldLeader] call bis_fnc_logFormat; }; };
It doesn't help me though does it? It looks like it just shows a notification for when a group gets disbanded. I can't run my own code when it happens like for other event handlers right?
-
Thanks, but I don't think I see anything on there that helps me. I want to check if a group doesn't exist anymore.
-
I'm using the BIS dynamic groups system and was wondering if there's an event handler for when everybody in a group leaves it so that group no longer exists (disbanded). I want to be able to delete objects that were assigned to that group if the group gets disbanded.
-
Ah, thanks. I installed PBO Manager and seems to work well on Windows 10 if anyone else was curious.
Now I'm trying to figure out how to view these .paa files. Google mostly mentioned TexView 2. I installed it but it doesn't work. It crashes every time I try something. The only other one I found was a photoshop plugin, but I'd rather not go that route. Do you know any other tool that can easily view .paa files?
-
Hmm, forgive me, but where exactly is ui_f_data.pbo and how do I depbo it?
EDIT: I found the file, but I'm still not sure how to depbo it. I tried using a tool that used to work for Arma 2 (Pbo View), but doesn't seem to work for Arma 3. Says "It seems that it isn't ArmA pbo". What tool do you guys use?
-
Hello,
I've been trying to implement some of the icons I see on official Bohemia missions into my mission. How do I find them?
For example, I've been trying to find the icons they used for the different "Roles" (assault, support, recon) in the End Game game mode. Is there any easy way to view all the icons in the game that I can choose from?
-
Alright, thanks. I guess I'll use missionNamespace just to keep everything in one place
-
Hello, quick question.
Let's say a player can spawn an ATV through an addAction attached to a flag post. The player can only spawn 1 ATV at a time and when he dies, his ATV gets deleted so he can spawn another one at the flag post after he respawns.
My method is to assign the ATV to a variable that can reference the player so that I can retrieve the ATV "assigned" to him and delete it.
Is it better to use the player's namespace
player setVariable ["atv",_atv]
or missionNamespace?
missionNamespace setVariable [format["atv_%1",player],_atv]
I'm not sure which method to choose. Is there a reason to choose one over the other, or some preferred convention I should follow? Is there even a better way to do this?
-
This is my first time doing a GUI and after spending days getting absolutely no where I'm about to give up on my dialog and I was hoping someone here could walk me through this.
I'm trying to make a simple respawn dialog that pretty much looks exactly like the BIS one but without all their list boxes. I just want the map with the standard BIS respawn icons at each respawn position, and two buttons "Respawn" and "Arsenal". When you click "Respawn", you spawn at the position you've selected on the map, and when you click "Arsenal", it takes you to the Virtual Arsenal screen where you can select your gear, and when you close it, it should take you back to the Respawn screen.
I thought I could just copy all the BIS MenuPosition stuff and just remove the parts I don't want, but I couldn't get that to work. Then I decided to just do it from scratch and looking at the BIS stuff as a guide but that got a little overwhelming.
I guess my main problem right now is I can't figure out how to make the map a part of my dialog. I've been starting with "openMap[true,true]", then creating my dialog on top of it "_gui = createDialog "CBR_RespawnDialog" " which is just the two buttons. This "looks" right but I can't drag the map around, presumably because it's only allowing for input to my dialog (the buttons). So I THINK I need to include the map as part of my dialog but I'm not sure how. I found this https://community.bistudio.com/wiki/Dialog_Control_Map which looks like what I want but it hasn't been very helpful. I'm not sure what to put in the "text" attribute. I'm also confused because I saw that BIS also used openMap in their code somewhere too, so I'm not really sure how theirs is working.
Any help please? :D
Am I even on the right track here?
-
Lets just say its an "ARMA" thing...
Salt in a wound: It works for the other people I normally play with also.
Have you tried "verifing game cache"? -I hate even mentioning that, lol
And I assume your server is updated completely.
I actually don't have a server. I was using the old Revive for a mission I'm making, and I'm just a little concerned about why it wasn't working anymore. I don't like when things break man!
I've asked them several times in several places for updated documentation about this and those requests have been drowned out by complaints about whatever seemingly. Hopefully someone with knowledge of how it all works will update the biki.
Hmm, thanks for the info. The biki needs a lot of updating and I hope someone can clarify this issue on there :(
I just tried the revive with a friend in a multiplayer game and it works. So like he said, it only works when you have another player on the server. If you don't, it will tell you that the revive respawn template does not exist. And I checked the config viewer and I don't see revive either.
It doesn't really mater anyways, because revive is useless when you are alone.
Thanks for the confirmation. I haven't had a chance to try it with a friend yet to test what they said earlier. I guess I'll just assume it works then for now.
-
Well I should be able to find the code for it somewhere, right? If it's not defined in CfgRespawnTemplates, then where is it? Also why bother adding it under respawnTemplates in description.ext if it's not in CfgRespawnTemplates then?
-
I can't even understand how it's possible for it to be working at all for you guys. I mean the Revive template simply does not exist in CfgRespawnTemplates anymore. How do you guys think it's working for you then?
-
New revive is need to be 2 players for work.
if only 1 player in game, he can't bleeding and just die regardless revive settings.
it mean you can't check revive work fine if you alone. even if multiplayer mode.
i hope that is change in later version.
I'll try that when I get home tonight.
-
Last night I tried using the Revive settings in Eden and removed the "Revive" template in the Description.ext. It didn't give me any errors that time but it also didn't seem to do anything. My guy would just die and respawn with no bleeding out state. I remember selecting all the basic/default values for the Revive stuff.
-
Nope, I don't have it checked.
Yeah I didn't think that would make a difference. Like I said, the Revive template just doesn't exist anymore. If you go to the config file and check under CfgRespawnTemplates you'll see that Revive is gone!
Wasn't the new Revive stuff supposed to be one of the highlights of this update? Did they forget to add it? Haha :p
Modify Sector Module
in ARMA 3 - MISSION EDITING & SCRIPTING
Posted
Hi all, I was wondering if someone could help me modify the way the sector module handles captures.
Currently, if you set the "Ownership limit" to 1, and your team owns it, all the other team has to do is touch it and it will go to a neutral owner until they fully capture it. I want to modify this so that you can't lose it until the enemy teams captures it 100%. I don't want any neutral states. Also, if there was a way to do this while keeping everything else about the sector module the same like its attributes and UI elements that would be ideal.
Setting the Ownership limit to 0.5 gets rid of the neutral state problem but then there could potentially be an issue of ownership going back and forth too frequently when it's being contested, and i think that would just be annoying, especially since I have stuff getting enabled and disabled upon capture of these sectors.