Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
scroton

[Zand] One Pickup Per Player (aka Serious Sam Style Pickups)

Recommended Posts

ONE PICKUP PER PLAYER (OPPP)

aka "SERIOUS SAM STYLE PICKUPS (SSSP)"

https://drive.google.com/file/d/0BxbbtKR5bll_U2NsX0pHM1QwVEE/view?usp=sharing

It's also up on BestEver as "oppp_v0.04.pk3"
http://www.best-ever.org/download?file=oppp_v0.04.pk3

This mod adds per-player pickups for all vanilla Doom items which only they can see for each and every vanilla pickup. Including ones dropped by enemies.

Won't be compatible with weapon mods, but doesn't change monsters so should work with any monster replacements.

Use with Coop or Coop Survival. Tested in Both.

It should work regardless of whether item respawn and weapon stay are on or off, with them not having any effect on it either way. Turn them off if you experience issues.

There is also now a version that allows you to use a puked script (default "L" key) while spectating to change what items you view to one of a player that is currently in the game, so that you can see the items that they see.
The puked script does cause a slight bit of lag when used, however, so it has an 8 second timer global for all players.
This version would probably be best to use when playing with friends, or in a passworded server, and not so much playing in a public server where people might try to use the puke to cause lag at an inopportune moment and kill you.

https://drive.google.com/file/d/0BxbbtKR5bll_cl9yaGhIeWplUFk/view?usp=sharing

It's also up on BestEver as "OPPP_spec_v0.02.pk3"
http://www.best-ever.org/download?file=OPPP_spec_v0.02.pk3


Feel free to use the code for this for anything.

For those wanting to use this to have similar pickups for their favorite mod: all you need to do is modify the ******_Pickup_00 actor at the top of each decorate file, for instance "Backpack_Pickup_00" to look the way it should in the "CanSee" state, and have the normal custominventory pickup checks starting from the "PickupSuccess", eg treat "PickupSuccess" as if it was the "Pickup" state in a normal pickup. You'd also need to edit the actor to have the pickup message and pickup sound you want. Note that you only need to know decorate to do this; no knowledge of acs is required!

CREDITS:
ijon tichy
--Helped troubleshoot 2 years ago, when I didn't know what ConsolePlayerNumber() was or how playernumber persistence worked.
--Helped troubleshoot recently when I was using acs_executewithresult instead of acs_executealways.
--Made the Samsara slot pickups which intentionally desync, the method which these copy and which I wouldn't know was possible if not for them.

Bloax
--Testing

Medicris
--Testing

BestEver
--Hosting of test servers

Share this post


Link to post

Whoa that's a really useful mod. Ammo rationing with other players was such a drag in coop.

Share this post


Link to post

Could this be applied so that weapons can be picked up by a newly spawned player, separately from other players, and then respawn normally in DM?

Share this post


Link to post
Marcaek said:

Could this be applied so that weapons can be picked up by a newly spawned player, separately from other players, and then respawn normally in DM?


I'm not sure what you mean. Does each player get a copy of the item, and then those respawn, or does it act like normal except new players can always grab the item?

I think I could do it though, the one that gets spawned would have to stick around and then keep track of the items it spawns.

Share this post


Link to post

Also, there's actually a server up now with this and Hell For Leather:

:: [BE] Montreal :: Hell For Leather - One Pickup Per Player - 2 lives survival

Share this post


Link to post

Updated OP with the fact that this is on BestEver.

Thinking about adding cvars for each category (health, ammo, armor) that control each category's pickup amount, and also thinking about adding a cvar that divides the pickup total by the number of players currently in game (not at start of game, but currently in game at time of pickup.) Thoughts/any other feature requests?

Also updated OP with section for those wanting to adapt this to their favorite mod. Note that you only need to know decorate to do this, no acs knowledge required!

Share this post


Link to post

Updated OP with version that allows you to use a puked script (default "L" key) while spectating to change what items you view to one of a player that is currently in the game, so that you can see the items that they see.

The puked script does cause a slight bit of lag when used, however, so it has an 8 second timer global for all players.

This version would probably be best to use when playing with friends, or in a passworded server, and not so much playing in a public server where people might try to use the puke to cause lag at an inopportune moment and kill you.

Share this post


Link to post

Updated with version that should work regardless of whether item respawn and weapon stay are on or off, with them not having any effect on it either way. Turn them off if you experience issues.

Share this post


Link to post

Here is a test version which should have slightly better performance both in survival and coop, as it has items that should be doing nothing doing a better job of doing nothing, and items that check for new players (in coop) now only do so when new players connect rather than regularly.

Not putting in OP yet because I don't have the time to test this yet other than in an offline skirmish.

Regular version:
https://drive.google.com/file/d/0BxbbtKR5bll_bGQ2NGRUZnhyeVU/view?usp=sharing

It's also up on BestEver as "oppp_v0.03.pk3"
http://www.best-ever.org/download?file=oppp_v0.03.pk3

Spectating version:
https://drive.google.com/file/d/0BxbbtKR5bll_cW95d09GLWpveEk/view?usp=sharing

It's also up on BestEver as "OPPP_spec_v0.03.pk3"
http://www.best-ever.org/download?file=OPPP_spec_v0.03.pk3

Share this post


Link to post

I just realized I forgot to have global array cleanup at map end in spec version and test version; non spec version in OP is okay. That will be in next version. Also delay during loop to spawn item during coop enter script will be added. Also inventory jumps where possible to reduce acs calls. Also in spec version track which items to which player since no need to state change all, and puked script will call client side acs for each state change item so fake console change only affects the player that requested it.

Share this post


Link to post

New regular version is up. Performance for it has been increased.
Now pickups use clientside inventory jumps instead of running the script again every time a player runs over them to determine whether they should be seen or not.
Global array has proper cleanup at map end.
Spawner actors themselves now never check if a new player has entered the map in coop. Instead, in coop an open script runs and determines if any new players have entered the map, and if so sets all spawner actors to the state where they spawn items. This state setting has been set to take place over 8+(longer the more items there are) seconds so that any effects on server are minimized.

OP has been updated.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×