Yes it does, ticket can be considered resolved and closed.
- Queries
- Arma 3 Activity
- All Stories
- Search
- Advanced Search
Advanced Search
May 10 2016
Also mentioned here along with other examples: http://feedback.arma3.com/view.php?id=15670
Amazing! Thanks a ton, George_! This is exactly what I was requesting in the ticket!
Sounds like exactly what we need, George_, full scripted control over unit when player leaves. I assume there will be new scripting command to assign event handler code for it similar to "onPlayerConnected" and "onPlayerDisconnected"?
I prefer option 1 - let mission designer handle the unit and kill them\delete them\anything else.
Currently there is "onPlayerDisconnected" scripting command that sets event handler code that fires when player leaves. If you will modify it to provide called script with unit that player was controlling as well as let result of the script decide further engine action (leave unit as is or perform default\current actions), it will be fine with me.
Hi. Event handler should be server-side as client might be disconnected by that time. I believe that event handler should handle all disconnecting players and setup through addMissionEventHandler, preferably containing info on player that left - their uid, name, client id and unit that they were controlling.
Thanks, George_. It might be a solution but I'd say have it as parameter in description.ext if these bodies should deleted right away like it is now or be put into bodyDisposeManager so it couldn't potentially break existing missions. Another thing I wonder about, if is there a way to expand onPlayerDisconnected event handler to also provide with unit that player had when they left the game to easy things out for mission developer in finding which unit player controlled to handle it?
Speaking of bodyDisposeManager it seems to work only with player bodies as it never deletes bodies of AI units but that's a topic for another ticket.
Also any ideas about #18398 as it is probably operated with same code in the game and might be solved as same time?
Thanks.
Identity issue ticket: #18398
Thanks, will do.
Unit body sinks into the ground only when body is controlled by player on the moment of leaving the game, body dead or alive. Before doing the sink, game should check if player is already dead and if they are, body should not sink. Additionally I strongly suggest to let mission designer handle this themselves and have an option to disable sinking on quitting completely as it is EXTREMELY counter-productive for loot oriented missions, sinking deletes ALL player gear. Well, I'm repeating myself, my suggestion is described in "Additional Information", I would really prefer if decision making if body should sink or not will be handled by result from "PlayerLeftUnit" server-side mission event handler. Thank you.
Also George_, may I ask you a somewhat related question: is there any way NOT to change player identity on previous body when they respawn\leave the game? Units changing face and skin color just as they respawn looks extremely stupid and greatly breaks the immersion. (Example: Player plays BLUFOR soldier, has white skin set in profile identity, dies, respawns, his body now has black skin because it is original identity of unit that player was controlling.) Thanks again.
It is valid and was valid from ArmA 1 times. What you failed to reproduce? Body didn't sink into the ground? It will sink if you leave BEFORE respawn timer ends.
Also I really would like to request an option to disable this because its a HUGE trouble for missions oriented on looting and careful ammo consumption - player leaves the game and hardcoded game behavior just deletes player and his entire inventory! Give mission designers a choice to handle this ourselves.
Since this problem is difficult to reproduce and only happens after long uptime I would suggest you to cooperate with Dwarden as he hosts Wasteland on his servers and these servers experience this problem each time after long uptime.
Yes it is still present, happens each and every time and been happening since early versions of A3.
Duplicate of #16979 (which is private)
class CfgSurfaces {
class Default;
class GdtStratisBeach:Default {maxSpeedCoef = 0.85;};
class GdtStratisThistles:Default {maxSpeedCoef = 0.85;};
class GdtStratisForestPine:Default {maxSpeedCoef = 0.85;};
class GdtRubble:Default {maxSpeedCoef = 0.85;};
class GdtForestPine:Default {maxSpeedCoef = 0.85;};
class GdtRock:Default {maxSpeedCoef = 0.85;};
};
This is config fix to this problem. I failed to fix Hatchback itself but changing surfaces maxSpeedCoef from 0.8 to 0.85 fixed the problem, Hatchbacks no longer completely stuck but move at very low speed on these surfaces.
2015
still not fixed
I did tests with following settings in description.ext:
corpseLimit = 1;
corpseRemovalMinTime = 1;
Second corpse always got deleted right away after player control switched to respawned unit. In other words, problem is solved and ticket can be closed. Thanks a lot for the help, this "bug" been bothering us for long time.
Thank you for the explanation. I was completely unaware about built-in corpse removal feature, now I've googled it and turns out it was only ever mentioned once on BI Forums, probably unknowingly copied from official mission. The only thing that still bothers me is that we've clearly had AI corpses right next to player corpses and none of AI corpses disappear by themselves yet player corpses were gone in few seconds after death. Thank you, I'll try to perform tests with these parameters and let you know if it fixed the problem.
enableWeaponDisassembling <bool>;
To disable disassemble action locally for client. Otherwise all static weapons are borderline useless in public servers.
Still broken, now on stable. This issue breaks everything that relies on cursorTarget inside and near buildings and must be fixed ASAP.
Example 1:
http://cloud-3.steampowered.com/ugc/3334093094596418401/B7E852D6D7F76A0528CA2CF76B6482C64DA9E776/
Looking at ground weaopn holder with weapon, I have inventory actions but cursor target still reports "Inn garden"
http://cloud-2.steampowered.com/ugc/3334093094596433616/04D032E96F1810137D84283D6718D9813FEEEEE9/
Looking bit higher, now cursor target is ground weapon holder as it should have been in both cases
Example 2:
http://cloud-4.steampowered.com/ugc/3334093094596472141/AAF16AEFFF24B821F5EC0ED0A9124FE3E8E52692/
Looking through 3 objects: Laptop, Camping table and Garden Inn. Cursor target reports Garden Inn, laptop functions are inaccesible.
http://cloud-3.steampowered.com/ugc/3334093094596486445/21F0C7D4FFB380D598FA83608CFAF51827E08D45/
Now there is nothing but laptop in line of sight, cursor target reports it properly
Still not fixed in 1.18. A massive issue in towns.
Failed to test this issue on dev version as there are no populated servers with good testing environment. Local tests with two players are not enough to see if this was fixed or not.
Year later ticket still needs attention.
Some of these are fixed. There are still 2 dupes that let anyone dupe anything.
- Two players take same item at the same time: Player 1 right clicks on it to equip, Player 2 quickly drags it on to ground tab. Somewhat difficult but possible.
- Two players drop item on to ground at the same time. Much easier than previous method.
Video for both methods: http://youtu.be/bOjMS3NJN4Q
Tested on 1.18 stable.
Stable or dev? I'll test it.
Please use dedicated server, not in-game LAN server
Shoudln't matter, works in any kind of multiplayer game for me
When you disconnect, make sure you disconnect completely, not lobby.
Leaving to lobby was enough for us
BIS_Iceman, if repro is still needed, let me know.
Did repro anyway: setdamagejip_repro.Stratis
Steps:
- Start with 2 players
- Player 1 (Host) activates "setDamage 1 everything around you" action
- Both players observe that everything got destroyed
- Player 2 (Client) goes back to lobby
- Player 2 (Client) joins back into the game
- Player 2 (Client) observes that everything is untouched while Player 1 (Server) sees everything destroyed
On the video: http://www.youtube.com/watch?v=g3ZLTI6WX1E
- Host applies setDamage 1 to everything around (both models and objects with classes)
- Client observes that everything destroys
- Client goes to lobby and joins again
- Client observes that everything is untouched
japapatramtara, you are the god!
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.
Just happened again, might be related to Alt+Tabbing since I Alt+Tabbed quite often. Also Heisenberg what mission did you play when it happened?
Good point, I also did several restarts and at some point chat disappeared, maybe it is related to restarts\lobby.
I think so, but I definitely experienced disappearing chat yesterday.
Actually I noticed same thing yesterday, called "showChat true" and it appeared again.
Thanks a lot for new commands hladas, these will come extremely helpful for our missions.
I've written a test case code to display icons on player heads and now they follow players silky smoothly compared to usage of simulation scope commands.
removeMissionEventHandler ["Draw3d", eh];
eh = addMissionEventHandler ["Draw3d", {
{
drawIcon3D ["A3\ui_f\data\map\diary\icons\playerWest_ca.paa", [1,1,1,1], _x modeltoworldvisual (_x selectionPosition "head"), 0.8, 0.8, 0, "", 2];
} forEach allUnits;
}];
However problem when working with units that are inside vehicles still persists, it seems that modelToWorld command returns coordinates of future visual state of one frame ahead and also looks choppy like in simulation scope.
Here is a video comparison that first shows smooth ideal follow of icons over player heads and then how it works when units are inside vehicle. Is there anything that can be done to improve command functionality when working with units inside vehicles?
Sounds amazing, would be great to see render time scope versions of modelToWorld, worldToModel, getDir, vectorDir and vectorUp.
This ticket needs comments from the developers, we must know what's going on.
All my vote up. Will be amazing if it could accept models from the mission.
To display server name in the game since at the moment the only way to find which server you are on is to look at scoreboard which is not available on higher difficulties and also crops server name if it is too long. This command will let mission designers display server name elsewhere: on HUD, on custom scoreboard, in welcome message, in diary on the map, etc.
Biggest issue with this stuff is that units\players can walk through and hide inside these knocked over walls.
I expanded the ticket with suggestion to rerended all weapon icons and include proper lighting as weapons are rendered for arma3.com
I refer to UI image, it looks the same as it is in the game and it has no visual artifacts.
It looks the same as it does in the game and that's fine for me.
Great, thanks, looks like they added proper documentation about a year ago, I've been messing with the command earlier than that and wasn't able to find any proper documentation by that time.
I don't think name matters much, we just need functionality
As far as I remember you can set angular velocity with http://community.bistudio.com/wiki/setVelocityTransformation Proper documentation is non-existant though, but I think I remember I managed to set angular velocity with this command.
You are correct, just double tested it and it didn't seem to apply any kind of angular velocity to the object and just set its rotation (vector up\down) right away.
#6783
Pre-placed map HBarriers are not vehicles, they are just models, like rocks or trees, they are not actually vehicles in that kind that you create with createVehicle, they simply have same model as their vehicle counterparts. Try to get these HBarriers with [] and then call typeOf on them you will see that they return no class (""), meaning that these are objects with very simple simulation, just models (thats why you can't set their position, attach them, etc.).
The thing is that pre-placed Land_HBarrier_1_F are not actually vehicles but just "models", you cannot do anything them with (apart from setVectorUp). Before last patch they were vehicles and had classnames, last patch changed all these HBarriers into simple models like it was on Stratis from release.
Indeed, my bad that I didn't read entire comments section.
So how do you emulate event handler with current tools? Have a key handler for pressing inventory key if cursorTarget vehicle is not supposed to be open? If yes then what about selecting "Inventory" from menu with the mouse? What about opening Inventory from the map?
Well it was just a suggestion, it can be called anything.
And how?
Thank you for the fix Nesquick. If the fix was fairly simple i will LOVE if you could port the fix over to ArmA 2 which still has this bug. Thank you.
Awesome! Thanks for the fix, can't wait to have it on stable.
Here is list of my suggested inventory manipulation commands. Up for discussion and comments. When finalized, I'll move this into new ticket.
Getting contents and indexes
- Weapons ---------------------------
Exists, https://community.bistudio.com/wiki/weaponCargo
- Magazines ---------------------------
Exists, https://community.bistudio.com/wiki/magazineCargo
- Items ---------------------------
Exists, https://community.bistudio.com/wiki/itemCargo
- Backpacks ---------------------------
Exists, https://community.bistudio.com/wiki/backpackCargo
Getting contents details by index
- Weapons ---------------------------
Suggested syntax:
<vehicle> getWeaponCargoDetails <weapon_index>
Returns:
Array with full details on weapon by index inside container. Empty array if weapon doesn't exists under this index.
Array format is same as weaponsItems returns
[
Weapon classname,
Muzzle Item,
Flashlight Item,
Optics Item,
[
Magazine classname, Current ammo count
],
... more loaded mags ...
]
- Magazines ---------------------------
Suggested syntax:
<vehicle> getMagazineCargoDetails <magazine_index>
Returns:
Array with magazine details. Empty array if magazine doesn't exists for specified index.
Array format with magazine classname and ammo count. Additionally if loaded magazines are returned by this command it should return if magazine is loaded and where it is loaded (similar to magazinesAmmoFull)
[
Magazine classname,
Current ammo count
]
- Items ---------------------------
Suggested syntax:
<vehicle> getItemCargoDetails <item_index>
Returns:
Array with item details. Empty if no item on this index.
Array format should return item classname, item type (uniform, vest, attachment, goggles, etc. preferably as Number) and uniform\vest container if it is uniform or vest
[
Item classname,
Item type (Number type or however it is defined within the engine and easier to indicate type of item),
Item container (Only if uniform or vest)
]
- Backpacks ---------------------------
Exists, possible to get details of certain backpack with https://community.bistudio.com/wiki/everyBackpack command
Deleting contents details by index
- Weapons ---------------------------
Suggested syntax:
<vehicle> removeWeaponCargo <weapon_index>
Works only where <vehicle> is local to simpliy things. If there is a technical possibility of having this command to work on remote vehicles without desyncronizing contents then it will be a plus.
Returns:
Nothing.
- Magazines ---------------------------
Suggested syntax:
<vehicle> removeMagazineCargo <magazine_index>
Works only where <vehicle> is local to simpliy things. If there is a technical possibility of having this command to work on remote vehicles without desyncronizing contents then it will be a plus.
Returns:
Nothing.
- Items ---------------------------
Suggested syntax:
<vehicle> removeItemCargo <item_index>
Works only where <vehicle> is local to simpliy things. If there is a technical possibility of having this command to work on remote vehicles without desyncronizing contents then it will be a plus.
Returns:
Nothing.
- Backpacks ---------------------------
Suggested syntax:
<vehicle> removeBackpackCargo <backpack_index>
Works only where <vehicle> is local to simpliy things. If there is a technical possibility of having this command to work on remote vehicles without desyncronizing contents then it will be a plus.
Returns:
Nothing.
Adding contents with full details
- Weapons ---------------------------
Suggested syntax:
<vehicle> addWeaponCargoDetails <details_array>
Where <details_array> have to be an array of:
[
Weapon classname,
Muzzle Item,
Flashlight Item,
Optics Item,
[
Loaded magazine classname, Current ammo count
],
... more loaded magazines ...
]
Command should be able to add weapons with loaded magazines for each muzzle. If more magazines than muzzles were supplied, it should ignore these magazines. If no magazines supplied in <details_array>, weapon should be unloaded. Broadcasted over network (global). Should work with both local and remote vehicles, if possible.
Returns:
Index of newly added weapon. -1 if failed.
- Magazines ---------------------------
Suggested syntax:
<vehicle> addMagazineCargoDetails <details_array>
Where <details_array> has to be an array of:
[
Magazine classname,
Current ammo count
]
Broadcasted over network (global). Should work with both local and remote vehicles, if possible.
Returns:
Index of newly added weapon. -1 if failed.
- Items ---------------------------
Exists, new command is not needed. https://community.bistudio.com/wiki/addItemCargoGlobal
- Backpacks ---------------------------
Exists, new command is not needed. https://community.bistudio.com/wiki/addBackpackCargoGlobal
Changing contents details by index
- Weapons ---------------------------
Two things that should be controlled on weapons by mission designer - attachments and loaded magazines. I suggest to have two separate commands to do these manipulations.
- Modifying attachments
Suggested syntax:
<vehicle> setWeaponCargoItems [<weapon_index>, <items_array>]
Where <items_array> is an array of:
[
Muzzle Item,
Flashlight Item
Optics Item
]
Works only where <vehicle> is local to simpliy things. If there is a technical possibility of having this command to work on remote vehicles without desyncronizing contents then it will be a plus.
Returns: Nothing
- Modifying loaded magazines
Suggested syntax:
<vehicle> setWeaponCargoMagazines [<weapon_index>, <magazines_array>]
Where <magazines_array> is an array of:
[
[
Loaded magazine classname, Current ammo count
],
... more loaded magazines ...
]
If <magazines_array> is empty then it should unload magazines from the weapon. If more magazines than muzzles was supplied then command should ignore these extra magazines.
Returns: Nothing
- Magazines ---------------------------
Suggested syntax:
<vehicle> setMagazineCargoDetails [<magazine_index>, <current_ammo_count>]
Works only where <vehicle> is local to simpliy things. If there is a technical possibility of having this command to work on remote vehicles without desyncronizing contents then it will be a plus.
Returns: Nothing
- Items ---------------------------
No need to modify items as there isn't much to modify about them.
- Backpacks ---------------------------
No need to modify backpacks as there isn't much to modify about them.
Nope, its not in 1.20
Lets have a discussion here and when we'll come to a conclusion lets make a separate ticket as this one is a big pile of everything :)
Is the issue with possibility of having local contents in the crate? Then just warn that these should not be used with crates that could have local contents in them.
Thanks a lot, its a very useful command and works exactly as I expected it to work!
Now we need to be able to manipulate weapons and magazines inside containers :)
japapatramtara, doesn't looks like that there is such command, is it going to be added? And how are you going to tell which container belongs to which uniform or vest?
Non-global commands can be kind of handy when you want to have same crate appear to have items that only certain clients can see. Usually it is implemented in the way of creating local crate for each client on the same exact spot and then using addItemCargo(nonGlobal) commands on it. Maybe we can just leave everything as is and advise mission designers to use local commands with local vehicles and just not to use removeItemByIDGlobal on global vehicles if there might be some local items in it.
Is there any way to operate with items by some kind of global id, maybe even client-specific id instead of internal container index? Is there such a thing?
Another suggestion, maybe forbid removal of non-local items? Is there any kind of flag with the item if it is local or global?
japapatramtara, when you will be able to switch to gear command, can you please comment on suggestions in http://feedback.arma3.com/view.php?id=12782 ? Operating weapons\magazines\items by their IDs will be extremely useful and flexible.
Tested, everything is fixed. Thanks a lot, japapatramtara! We look forward to see these changes appear in stable patch.
It is same bug as weapondupe_repro.Altis
Thanks a lot for the fix, japapatramtara! We eagerly wait for patch to hit public release so we can finally have dupe-free game!
For some reason we are unable to reproduce Bug №7 situation 1 ourselves now and it functions exactly like situation 2. We definitely had both situations working yesterday and tested it several times in different environments before uploading. Either way both situations are probably caused by same bug and both should be resolved as you fix situation 2.
weapondupe_repro.Stratis.rar:
http://www.youtube.com/watch?v=ZgnHsEStbuA
about weapondupe_repro.Altis - are you really sure, that it have not been fixed? Because I'm unable to reproduce that situation in current DEV?
Yes, we just tried again and it definitely works
NOTE: for future bugs, please try to make repros on a Stratis island, I'm using internal debug version which is about 10x slower than your Steam DEV exe and loading Altis takes 10min approx :-)
Will do, also uploaded Stratis versions of bugs 6 and 7.
Videos for bug №6 and №7 situation 1 are coming soon.
Thank you again, japapatramtara, we really looking forward to have full spectrum of inventory scripting commands.
Thanks, japapatramtara, bugs №1-5 are fixed in last dev patch.
Bug №6 (weapondupe_repro.Altis) still works and lets you dupe weapons.
We also discovered another bug that makes weapons disappear and prevents you from swapping weapons from non-local containers. I added bug №7 (crateinventorybugs_repro.Altis) into the ticket with two situations.
Thanks a lot, japapatramtara! Inventory will go through intensive testing as soon as fixes will be in stable release. We will make sure to report if any more problems will arise.
(Can inventory-related #4644 and #5414 tickets get some attention please?)
New repro for another inventory bug added: weapondupe_repro.Altis
Thank you, japapatramtara! Should I add that weapon dupe that I mentioned in #7824 into this ticket or you already noted it?
Thanks a lot! Looking forward to see all inventory bugs and dupes gone so we can finally have fair games in loot-oriented missions.
I'm not sure if changing it in real time is possible right now but it will be fine if this could be defined in description.ext so it would process it before loading the mission.