MantisBT - Zandronum
View Issue Details
0000616Zandronum[All Projects] Suggestionpublic2011-11-05 18:152023-01-03 15:31
cq75 
 
normalfeatureN/A
acknowledgedopen 
LinuxUbuntu10.04 x86
98d 
 
0000616: An option for Clientside ammo in Survival/Co-op [hard to describe in the title, read on]
Instead of all the players sharing the ammo on the map, each player would get a copy of the ammo on the map that only they could pick up.

When you ran over a clip on the map, you would pick up a clip, but there would still be a clip there for everyone else who didn't pick it up.

If this was implemented, you would have the exact same amount of ammo online as you would offline.
~It was a good idea, Carn.
No tags attached.
has duplicate 0003922closed  Individual player pickups for ammo in Survival/Co-op 
? oppp-tribute-75-r3.pk3 (14,554) 2023-01-03 15:31
https://zandronum.com/tracker/file_download.php?file_id=2820&type=bug
Issue History
2011-11-05 18:15cq75New Issue
2013-09-11 17:32WatermelonNote Added: 0007164
2013-09-11 18:14ToxicityNote Added: 0007170
2013-09-12 07:54DuskAssigned To => Watermelon
2013-09-12 07:54DuskStatusnew => assigned
2013-09-14 15:32Dark-AssassinNote Added: 0007188
2014-05-05 23:04WatermelonAssigned ToWatermelon =>
2014-05-05 23:04WatermelonStatusassigned => new
2014-05-06 16:45jamNote Added: 0008722
2014-06-15 16:33WatermelonStatusnew => acknowledged
2014-07-30 00:07IvanNote Added: 0010093
2014-07-30 02:03WatermelonNote Added: 0010094
2014-07-30 02:25PopsoapNote Added: 0010095
2014-08-01 03:37ZzZomboNote Added: 0010101
2015-02-05 03:21Dark-AssassinNote Added: 0011600
2016-02-10 14:09KorshunNote Added: 0014411
2017-03-30 04:38MarcaekNote Added: 0017065
2017-03-30 05:43FilysteaNote Added: 0017066
2017-03-30 07:19FusedNote Added: 0017067
2021-11-08 22:46WaTaKiDRelationship addedhas duplicate 0003922
2021-11-10 16:58BasingaNote Added: 0021828
2021-11-28 08:43arkoreNote Added: 0021838
2023-01-03 15:28cq75Note Added: 0022624
2023-01-03 15:30cq75Note Edited: 0022624bug_revision_view_page.php?bugnote_id=22624#r13865
2023-01-03 15:30cq75Note Edited: 0022624bug_revision_view_page.php?bugnote_id=22624#r13866
2023-01-03 15:31cq75File Added: oppp-tribute-75-r3.pk3

Notes
(0007164)
Watermelon   
2013-09-11 17:32   
I'm going to attempt to see if I can create a patch for this.
(0007170)
Toxicity   
2013-09-11 18:14   
You can do this with a PWAD by replacing ALL pickups with custom actors, but that would be a pain in the ass and wouldn't be compatible with other mods so I agree that this would be useful as a server flag.
(0007188)
Dark-Assassin   
2013-09-14 15:32   
Having it for all items could be better than just for ammo.
All possibly separated by separate flags.
Just so you can pick your own combination from all 6 main item types. General Items, Weapons, Health, Armor, Ammo and Powerups (Including Runes).

Though, maybe too much item types to separate it all in to separate svars.

Just an idea.
(0008722)
jam   
2014-05-06 16:45   
This has actually been done in games like Serious Sam's co-op mode. Every client will have it's own pickup and once picked, it won't be there for THAT client but the other clients will still have the pickup unless they pick it up on their own clients.
(0010093)
Ivan   
2014-07-30 00:07   
I've got a prototype working for a mod I'm making called DnD, where health items have copies of players assigned per player. They can only be picked up by their respective players and seen by them. An approach with similar behavior is the way to go IMO.
(0010094)
Watermelon   
2014-07-30 02:03   
I had an idea of making each Inventory item having a MAXPLAYERS boolean array of who has picked it up, and upon going over it, it is sent to the client who touched it as picked up. Then a check is done where if the player picked it up runs over it, it wont allow any more picking up (and will be invisible on the client).

This would have to be disabled if respawn items is on.
(0010095)
Popsoap   
2014-07-30 02:25   
Quote from "Watermelon"
I had an idea of making each Inventory item having a MAXPLAYERS boolean array of who has picked it up, and upon going over it, it is sent to the client who touched it as picked up. Then a check is done where if the player picked it up runs over it, it wont allow any more picking up (and will be invisible on the client).

This would have to be disabled if respawn items is on.

I think having a flag that allows for an item to be affected by this would make this more usable. Then a mod could set up items like ammo to respawn, but health to be shared between players.
(0010101)
ZzZombo   
2014-08-01 03:37   
^ Even more for items that are picked up no matter what (ever played Stronghold when some dick just picks up all the backpacks?). Also, I think that should be rather a property of player structure, because people may join and leave, and their slot number may be taken by another player, so your check would deny newly joined players ammo.
(0011600)
Dark-Assassin   
2015-02-05 03:21   
^ Then clear the data completely for that Player ID when they leave, if it doesn't already do that. And possibly just the pickup data if they spectate as they pretty much start again anyway.
(0014411)
Korshun   
2016-02-10 14:09   
This is NOT CLIENTSIDE. The issue should be renamed.

This is SERVERSIDE items that can be picked once and only once by each player. Serious Sam implements this.

It would make coop a lot more fair and eliminate the hassle of deciding who takes which item and make it impossible to take all items for yourself, leaving your teammates with nothing.

This should be a server setting for all items that can be picked up.

"on pickup" triggers should be triggered on the first pickup of the given item, just like in Serious Sam. If one of the players picks up a trapped item, it triggers the trap, the rest of the players can pick up this item without it triggering anything.

There should probably be a decorate flag to exclude an item from this system, if required by some really special item, but I can't think of a use case for such a flag, so, maybe, it isn't really needed.
(0017065)
Marcaek   
2017-03-30 04:38   
This is a great idea and it's a shame nothing came of it in 6 years
(0017066)
Filystea   
2017-03-30 05:43   
Please do it as optional.
Not something by default, it is a bad feature.

Thx.
(0017067)
Fused   
2017-03-30 07:19   
Quote
Please do it as optional.
Not something by default, it is a bad feature.

Thx.


Well yeah, if you actually read the ticket properly you would have noticed it requested an option, and not something by default.
(0021828)
Basinga   
2021-11-10 16:58   
Hoping we get this feature. Would help with balancing coop without making it either 1 person grabs everything or having respawning pickups
(0021838)
arkore   
2021-11-28 08:43   
One time a person approached me about having the functionality for his friend to pickup the same health and ammo as him, essentially having 2 copies of each item for 2 players.

So, I made him a wad that naturally respawns items 2 times for 2 players, using a respawn time of 2 seconds.

I feel that a universal mod can be made by utilizing CVARS and SERVER.CFG.

But, if this behavior is implemented into Zandronum, I would expect it be designed the same way, using respawning, not "stay" ("sv_weaponsstay") behavior. Keep it simple.

METHOD #1:
Server Variable "sv_itemrespawnlimit" to set as 2 (for 2 players.)
Server Variable "sv_itemrespawntime" to set as 2 (for 2 seconds.) (If Zandronum doesn't decide to set a standard by hardcoding 2.)
9 out of 10 times this would be meet a server owner's needs and expectations.

Or something more specific:
METHOD 0000002:
(based on sv_respawnsuper)
sv_respawnhealth true (default: false)
sv_respawnarmor true (default: false)
sv_respawnammo true (default: false)
sv_respawnhealthlimit 2 // for 2 players (default: 0 for unlimited)
sv_respawnarmorlimit 2 // for 2 players (default: 0 for unlimited)
sv_respawnammolimit 2 // for 2 players (default: 0 for unlimited)
sv_respawnhealthtime 2 // for 2 seconds (default: 0 for unlimited)
sv_respawnarmortime 2 // for 2 seconds (default: 0 for unlimited)
sv_respawnammotime 2 // for 2 seconds (default: 0 for unlimited)
This requires "sv_itemrespawn" to be false, which already is by default.


I'm not in favor of special behavior like "stay" or visible only on their screen, clientside, or whatever. I feel that just complicates things, and even looks complicated in-game for anyone playing or watching. Everyone knows that only weapons have ever had "stay" behavior. Let's not make ammo look weird in-game too when a player runs over it and it doesn't disappear (get picked up). Looks unnatural. Respawning is better. The item can be picked up, everyone can see it be picked up, and the item simply respawns, everyone sees it respawns, and they see and understand what's going on, and players even have the option to let eachother pickup both copies of an item, for that unexpected bonus of flexibility. And less risky to code, or support demo recording.
(0022624)
cq75   
2023-01-03 15:28   
(edited on: 2023-01-03 15:30)
Just FYI, this seems to work ok so far, as a pwad solution'http://ifocserv.net/ftp/Random/oppp-tribute-75-r3.pk3 [^]'

Bob found a wad that implemented one pickup per player and I tweaked it a bit and fixed some bugs. It works for the vanilla weapons at least.