Get goodwill-based reward packages to find using an RF Receiver! (Crash Fix)
I was looking through the item_radio.script and felt that the RF Receiver isn't used enough, so created this addon to add something fun to the game and for me to learn more Lua. (Arrays are fun!)
Please feel free to make suggestions for this addon. I personally enjoy the exploration and finding things (which you may have guessed from my previous addons). Also, please comment if something isn't working as is supposed to be intended!
See below for the changelog and future plans
NOTE ABOUT THE "DELIVER THE PACKAGE TO SOMEONE" QUESTS: If you transfer the packages into a stash one by one, you can find out which one you are supposed to deliver when your PDA beeps the task list update! Another future plan is to try and avoid this confusion with custom images.
How does it work?
Firstly, this does not require a new game start.
This addon runs in parallel with the standard gameplay, adding the following:
Once you obtain enough goodwill points for a faction, they will drop a useful package in a nearby level. The placement of the package is picked at random from a reasonably sized list of coordinates for that chosen level, so you will need an RF Receiver to help you find it!
This addon is designed to work with whichever faction you choose to play, as the quest is given based on goodwill points accrued for any faction.
Currently, only one package can be in existence at once, so a queuing system is included. If you obtain more goodwill points with any faction while a package already exists, a package will be queued for that faction and current location.
The RF Receiver will also sound some additional beeping, depending on how close the player is to the package being located.
It also takes into consideration if you have yet obtained the Psy-Helmet, so that the package placement is in levels that don't fry your brain. If you obtain the Psy-Helmet, then levels such as Radar are considered.
A demo video of what to expect
Difficulty
In Anomaly, the progression setting "Tourist" gives higher goodwill points, "Scavenger" is normal and "Survivalist" gives lower points. Depending on what you choose to play, the package messages will be more or less often.
PDA Messages
I have not yet worked out how to add entries to the PDA Task List, however the messages themselves seem to be sufficient.
Obtaining 50 goodwill points with any faction will show this message:
Obtaining 250 points will show this message:
The player will receive an occasional reminder:
New icons for each "anonymous" faction messenger are included for the PDA messages:
The packages themselves are pseudo-package items that use various in-game object models (the closest I could find to match the quest package inventory images). Once picked up, they turn into one of the eight standard quest packages. I have done this because the standard quest packages all share the same "expert toolset" objects, which looks silly.
Also, by using the standard quest packages, NPCs will not pick them up if they find them first (although I may try coding a time limit, something like "Find the package before someone else does!").
If you forget where the package is or which frequency it can be found on, simply check the history in the Messages tab in your PDA!
Changelog
Fixed another crash related to underground levels. This time it was if the player had accrued more goodwill points while in an underground level, this was added to the package queue, of which when selected the underground map didn't have linked levels, so it crashed.
Thanks to ptolthegoodguy for spending the time to help me work out where I had miscoded the script!
Added all the RF Receiver sound effects as -10dB variants, I find that all the radio sounds are a bit too loud, not just the default static sound.
Fixed the OGG comments for each sound with SAV&T.
Added a flag to hopefully prevent a rare bug, maybe?
Expanded the "Hidden loot!" message to actually show you what the hidden loot was:
Also, fixed the endless package queue bug and added a function for upgrading from v1.5 to clear the package queue, leaving a few in the queue based on the current factions in the queue. I have added a console message to show you how big the queue was, and what it is now (much more sensible).
If you, for any reason, want to keep your big queue (my queue size was 3112 in my current game!), you can comment out line 818 in TB_RF_Receiver_Packages.script like so:
if not m_data.tb_radio_1_6_has_run_once then
--COMMENT OUT CALL TO fix_queue_from_1_5_to_1_6 TO KEEP THE BIG QUEUE
--(which should never have happened anyway)
--fix_queue_from_1_5_to_1_6() --<-- Put 2 dashes (--) at the start of this line
m_data.tb_radio_1_6_has_run_once = true --<-- Keep this line
end
Thanks to Aorushome for noticing this bug!
Totally forgot to consider if the player gets more goodwill points while they are in an underground level. (What a stupid mistake!) This has been fixed.
Also, added a check to see if an emission or psy-storm is occurring, and if so to not send the message until after the event.
ALSO, I had a message from someone explaining that they had a crash at the end of the story during "Operation Afterglow", where something (Anomaly script or other mod script) had removed the package, or at least the package could not be found!
I have added in a check to make sure that if there is supposed to be a package in a level and the object number doesn't exist, then to message the player via PDA to check the console, so you can send me some information that may help catch this bug if it happens again!
Forgot to add a RemoveTimeEvent for the reminder message, hopefully this will stop the PDA message flooding issue. Thanks Real_leaper for pointing this out!
Edited the default item_radio.script to make the default beep for the packages different to that when searching for dead people. The three extra stages of beeps still exist with sound files changed to "beep", "beep, beep" and "beep, beep, beep" for distance to the package.
Added a chance to get some extra bonus loot items when opening the package (by hooking into the itms_manager.use_package_random(obj) function). Nothing excessive other than some medical supplies, potential upgrade kits and perhaps a junky artefact.
A couple of enemy NPCs now have a 50% chance to spawn at the package location, but I still haven't worked out the AI system yet, so they start walking randomly away from the package spot.
Better than nothing, but of course, not yet finished.
Altered some package coordinates so that the NPCs don't get stuck in a wall, which may still happen, but work is in progress! ;)
HUGE thanks go to HarukaSai for offering to help with the Russian translation. All text is now properly formatted in XML files, and the sentences are pieced together from these.
Also have added a little extra text for a clue to where the package can be found in each level. The new texts are e.g. "... somewhere in the southeastern region of [level name]" or "... somewhere in the northern region of [level name]".
Currently, this still applies to the larger level like Jupiter and Zaton, but the initial default radio beeping noise range is 150 m before the extra proximity beeps come into play. Yes, there is some running around, but this is what it's all about for those who like the challenge!
Future plans include:
Also, I highly recommend Brian_Damage's Less Eardrum-Blasting RF Receiver addon. Thank's Brian, my ears also thank you as that default radio static is indeed a bit too much!
Average
9.791 votes submitted.
Wow you've been churning out a lot of great mods recently good sir, props to you! <3
This one's gonna be another essential for me.
Thank you! After playing the series for a while now, I thought it was time to learn the scripting, such fun too! :)
This is why imo stalker modding is at the top of modding! i think that the rewards or the amount of reputation needed should be choosed with different presets, 50 and 250 seems like too little needed for me, amazing idea though! making near useless objects useful is something anomaly really needs.
Edit: im dumb, it's actually 50 to only show the message, i think it's well balanced then, altough some options for the amount of reputation needed would be good!
Thanks for the feedback! I agree, I will try and tackle some kind of menu option as you have suggested for the next version :)
This sounds like a great addition for the almost useless rf receiver. Great work! Gonna test this out!
Cheers! It all seems to work, but just let me know if something goes weird, and I'll get straight on it :)
This looks fun to play, thanks for this great idea
You're welcome! A little extra gameplay with a garnish of beeps :)
Another great mod bro, good job!
Based on the video, are the packages labeled slightly different than the regular "Package" you'd deliver to other stalkers? If not, I think it would be helpful to give the packages a different title or icon (if possible) to help differentiate the two items, so you don't accidentally open a package you're delivering to someone else.
Also, +1 to having it be like a race to grab the package. Would be fun to have to run over to the location and you can see other stalkers roaming around looking for it too. Dynamic content is always fun in these sorts of games.
Thank you dude! This is great feedback too, good point about the doubling up of delivery packages. It looks like the 'items_quest.ltx', 'itms_manager.ltx' and 'itms_manager.script' would need to be edited to sort this out, which may collide with other inventory-based addons, but it is worth a shot!
I'm hoping to be able to add a time limit, I really want to spawn in a couple of members from an opposing faction, one of them doing the 'looking with binoculars' animation and the other doing the 'searching a corpse' animation near where the package is! :D
This is what I've been wanting for so long! The packages could spawn in unused buildings around the maps, giving a purpose to the urban areas. There would be a reason to search the buildings in Dead city and Pripyat with the risk of running in to opposition.
I really appreciate the work you're putting in.
I totally agree! There is still so many places a thing can be found. I was worried with my 475 extra stashes addon, but I could probably squeeze half again and still have them difficult to find :)
1) Does it work if I have all message popups disabled?
2) Does it work if I play a non-storyline game?
Good questions! In theory, yes, I'll test that out now...
Edit: That is a yes and a yes :)
This comment is currently awaiting admin approval, join now to view.
Now it makes sense to take RF-RECEIVER. Thank you ;)
You're welcome, I like the RF Receiver a lot, I wonder what else it can be used for?
This mod would be great alongside lootboxes!
Is that the lootboxes addon by Artifax? That would be interesting...
awesome!
Cheers! :)
Addon is great!
But,Will Russian be added?
I will attempt this. I'll need to use Google Translate, but this is possible, thanks for suggesting!
Great addon but would be cool if the location could be more specified - "There is a package in Great Swamps, somewhere near the old church" something like that would be amazing because right now I spend 5 minutes fast traveling around till I hear a beep.
Another great suggestion and I agree. Perhaps something like "...somewhere in the Southern Great Swamps" or "...somewhere in the North-East Great Swamps"?
I think as the radius for the initial beeping is 150 m, this will still allow for some searching opposed to it telling you where it is.
Thanks for raising this one! :)
This should be very doable. There's already some code for giving directional locations ("<direction> of <location name>"), because you get messages using this feature all the time ("Heard shotgun at Garbage, east of Depot").
Can't wait to try this one out! Thanks! Finally some more use for the RF Receiver! It was getting almost useless already, with only one mission for it.
EDIT, 7/8/21: Just tested it twice, in Agroprom and Wild Territory, works fine! I'm using MO2 with more than 100 mods, didn't conflict with anything.
Just a thought. Perhaps the loot could be a little bit better, seeing the time necessary to find the package, and the risk it involves running around. Especially for other players like myself, as I usually play mostly Ironman mode these days. But even without Ironman, I don't think it would be bad pimping it up a little, lol!
Thanks for trying it out! I agree with the loot perhaps being a little better. At the moment it just uses the default contents for the quest packages, but I will consider doing some bonus loot.
I like playing on the hardest modes, so getting a package with a bundle of glues and gun oils really makes the difference, but some balance is definitely needed! :)
i like the idea of this mod a lot! have you considered making it a rarer quest reward too that can replace the stash coordinates you occasionally get?
Yes! I am still learning the ropes with Lua coding, but eventually I would like to have something like what you are describing. I'm trying not to touch any existing files in case of compatibility issues with other addons, but so far so good!
wow the idea to make other stalkers to search for the package is awesome!
I'm currently attempting to learn how to use AI Schemes and logic... it's... well... halp!
Hopefully will get something occuring though! :D
Compatible with grock stash overhaul?
There is no reason it isn't compatible, this addon's script runs separate from everything else, so should be fine :)
Great addon! Nicely fits in and rewards you for being on a faction's good side. Keep up the good work man!
Thank you! I'm still learning how to control AI logic (it's rather weird), but hopefully we will have a chance for some enemy faction NPCs to be looking around the area the package is in... hopefully...
Had a weird bug. Picked up a package. Got the next one (I delayed going after packages for a long time, since I had no RF receiver, so there's a lot of packages queued up at the moment; I always get the next package message almost immediately after picking the current package), but ignored it and went to do other things. That was at Agroprom. Then, while I was approaching the southern exit from the location, my PDA started to get a continuous flood of "don't forget the package" messages (the package was at Yantar). Looks like the variable that controls the delay between reminders was stuck at zero or something. Saving and loading fixed that.
Thanks for letting me know!
I'm glad the old save/reload trick fixed this. I've recently been let know that using time events can be buggy, so I will look into comparing against the in-game time instead for the reminders.
Just make sure you don't forget that package!
Just make sure you don't forget that package!
Just make sure you don't forget that package!
Just make sure you don't forget that package!
Just make sure you don't forget that package!
:D
The addon is very useful, offering a different way to get thematic loot (you might not get what you want, but when you do, it's a lot of stuff).
I'm torn between demanding easier locatability and just keeping this as-is. Thing is, if you approach the search methodically, it's very easy to figure out where the package is, with roughly 10m precision. Here's how to do this:
0) Get a map of the level (I'm using the maps from the 4K PDA addon, but you can use any other accurate map), open it in any decent graphics editor, add a transparent layer on top.
1) Take out your RF receiver (adjusted to the right frequency) and walk around. Static gets quieter and the signal gets louder as you approach the package - this should give you some general idea as to where the package is.
2) Listen attentively to the second beep overlay. It only appears when you're even closer to the package. Unlike the first beep, it doesn't just get louder, it also gets more frequent as you zero in on the package.
3) When you hear the second beep, stop, and go back a bit. This far from the package the second beep will be very infrequent (about 10 seconds between beeps), so you need to walk back and forth a bit to find the place where the beep appears.
4) Draw an "X" at the map you've opened in place where your character is (doesn't need to be very precise, though precision does help).
5) Walk away from the package (by now you should know the general area where it is), then approach it from a somewhat different direction.
6) Go back to step 2 and repeat everything, until you get at least 3 "X"es on the map. Then draw a circle that touches each of the 3 points (obviously, use the right tool that allows you to draw a circle, not an ellipsis!). The center of the circle is where the package is. Go there, and look in the bushes or other likely places for someone to hide a package. Tap the "use" button ("F" by default) often, it should highlight pickable items.
I'm not entirely sure I like going through this process for every package, hence the "easier locatability" thoughts. But if it were to be made any easier, it wouldn't be any different from normal stashes, so there's that. I wish there was a way to semi-automate this process somehow (more time playing the game, less time mucking around in a graphical editor), or maybe make an upgraded RF receiver that helps with the search somehow. Any "dumb" scripted help (such as revealing the package location after you spend enough time in its general vicinity) is just too easy to abuse.
I'd go for the easier version. Maybe with the second beeps having an even higher frequency to about 10m or so. I am currently searching my first package but can't find it since the beeps are not precisely enough in all this tons of grass in Dark Scape... :(
Edit: Found the package finally in the grass. And I gotta agree with the other comments that the reward is a bit too small for the time it takes to travel there and find it. The idea of the Addon is great - however it needs a little bit of tweaking.
Glad you finally found it, Darkscape is rather overgrown! (Is it overgrown undergrowth or undergrown overgrowth?)
I'm adding a few extra potential prize loot items, however what kind of items would you like to see in these packages? Cheers!
Thank you for replying! If you ask me, instead of the ammo I found, I would like to find something I could always make use of or at least sell for a good price. Maybe a weapon in at least medium condition or even some health items and food if possible. Or maybe an artifact. I really had fun going to the place and search for the loot, however it took me over an hour, so I think it could have been a little more rewarding.
I also read that you try to change the default radio sound. This is a really good idea I think. Because the current sound has a recognisable loop gap. It would be awesome if you were able to get rid of that gap. :)
Again- great work!!
An artefact is a double-edge sword. If you have no container, you'll have to drop it to avoid soaking up radiation - and it will disappear immedaitely. Also, this has to work correctly with artefact ranking and spawn probability (some artefacts might be more or less valuable with certain addons installed).
A weapon sounds cool, but TB has to make sure that it works well with weapon drop system (that is, to make sure that you can't cheat balanced weapon drop addons, such as Weapon Parts Overhaul, with these packages).
I'd also second a suggestion made earlier by someone else - make the packages distinct. I don't care if they all look the same, that's fine. Just make sure they can't be confused with quest packages in the inventory. Nothing is worse than failing a delivery task just because you unpacked the wrong thing.
It's true what you say. Then maybe some food, drinks, meds or even mutant parts would be cool. Ammunition is not that much rewarding if you don't have a weapon that fits.
Good luck in further development - I will follow this! :)
This is what I like to see... people going to extraordinary lengths to achieve a goal! Thank you for putting such effort into your feedback as this genuinely impressive.
I totally agree with what you said, so perhaps instead of an "easier finding method", at least a "different" one.
How about instead of the 3 current sets of additional beeps/boops for the distance to the package, maybe a general beeping speed increase between 150m and 10m of the package location?
Ideally, I would like to overwrite the default radio beeping with my own, although I would have to edit the existing radio "item_radio.script" to do this, I haven't yet seen another mod that edits this script so should be okay. I prefer to avoid editing existing scripts to avoid future incompatibility.
All in all this is very helpful, and all ideas are welcome, thanks!
Hard to say. This needs to be playtested, obviously. But audible frequency change is a tried and true method (artefact hunting with the Echo detector works this way), should work fine, in theory.
Here is an idea, I would update the text to say "supply drop". And I would make it sound like the supply drop is meant for everybody that is able to receive the message on a "special channel". You get access to that channel if your goodwill is high enough. So now to listen for supply drops messages you have to have the RF receiver out and be on the right channel. And it should be that if a drop is available it gets announced every x minutes. You can then introduce the idea that bandits or mercenaries, even monoliths may be tapping into the channel, and thus you might find them searching for it. And the channel can be dynamic, changing once every couple of days to simulate them trying to counter the hacking attempts. It should also change if your goodwill goes below the minimum.
very nice. +1
What a brilliant idea, that all sounds really good! Once I've eventually worked out the AI schemes, this is worth thinking about. Thanks for the feedback! :)
Just tried the 1.3 update and them extra new beep surely helped alot for fidning the loot cash, good change 8D
Glad to hear!
I just got taken out by a couple of Renegades when I searched for a package in my game, they had walked away from the package, up and around a building and totally caught me off guard!
Haha, i ahve not run into something like such myself yet but i surely will soon