Call of Duty: Black Ops 3 => Downloadable Items for Mappers => Custom Maps, Mods & Tools => Scripts => Topic started by: MakeCents on November 30, 2016, 02:36:26 pm
Title: Growing Soul Collectors v1.4
Post by: MakeCents on November 30, 2016, 02:36:26 pm
Rewards per soul collector can be randomized or collector specific. - script_string kvp on the collector will override level settings - Can change weapons rewarded or level reward without randomization Can play a looping animation of collectors - optional, requires uncommenting of a few lines Includes prefabs to get you started Only setup for one set of soul collectors and one final reward on a map Many level vars to edit, including fx and sounds (be sure to add fx to precache and zone if adding more fx)
v 1.1 - Added level var option to not grow - Added level vars to reward on completion the following: - gun - door - buyable ending
v1.2 - Fixed developer 2 errors
v1.3 - Added multiple soul collector support with multiple reward support, and individual sizing with script_noteworthy
v1.3.1 - Find player.cost and replace it with player.score to fix buyable ending
v1.4 - Added rotating door prefab, updated normal door prefab, fixed endgame trigger, and updated endgame text
Instructions
Title: Re: Growing Soul Collectors v1.3
Post by: IceGrenade on December 09, 2016, 04:54:22 pm
A tutorial I made on adding these soul chest to your map. :D
Title: Re: Growing Soul Collectors v1.4
Post by: qwerty195 on December 22, 2016, 07:10:32 pm
Hello, I was editing your script for the soul collectors and I ran into some problems that only you, the creator, might know how to fix. What I wanted to do was make it so that every time a soul collector was finished (in my case they are 4 different colored rocks) the rock of that soul collector would move to its pedestal, as well as the light that made them look glowing. This is currently my script: With most of the changes being in: I think the reason it doesn't work may be due to level.closest not actually being the closest soul collector. I looked through your script and I was fairly confused, being new to scripting and all, and I couldn't find a variable defined for the single soul collector the player has completed. I appreciate any help.
Title: Re: Growing Soul Collectors v1.4
Post by: MakeCents on December 22, 2016, 07:19:11 pm
Well your working off 1.1, some additions have been made since. such as multiple soul box systems. I'm up to 1.4 now.
It sounds like you could achieve this by just spawning the rock back and moving it. You could also change level.grow_soul_explode to false, and then in the MonitorGrowSouls function, add an else like this:
You could decide where to move the rock by distance or maybe even setting up a target of a struct, getting the struct, and moving it do that origin.
If you have an level.grow_soul_idlefx playing on the model, you can modify the to: and the fx will stay with the model when it moves then, if the fx is setup right
Title: Re: Growing Soul Collectors v1.4
Post by: qwerty195 on December 22, 2016, 08:24:55 pm
I appreciate your quick response, its very helpful, but I am a little confused. I inserted the script in MonitorGrowSouls and set level.grow_soul_explode to false, but I am a little confused where to put the struct and what KVPs it should have. Also, I don't have an FX for the rocks, but I do have a different colored light for each one of them that I would like to move with them, or at least delete themselves and then reappear at the end. I am know somewhat how to script but as you could see before, not very well. I'm just a little confused whats going on in the script right now, and if could explain it that would be awesome, and would help me become a better scripter in the long run.
Title: Re: Growing Soul Collectors v1.4
Post by: MakeCents on December 22, 2016, 09:52:26 pm
What I proposed, you would make the struct the target of the model. Select the prefab, stamp it, if necessary, then select the rock, then select the struct and press w. Then move the struct where you want the rock to end up. You can select one and then the other, enter the origin kvp and hit enter to line things up. Depending which you select first, depends which will go to the others origin. That's just for assignment purposes. Move the rock back once you have the struct aligned.
As far as the light. I've seen gsc scripting options on lights, but hasn't tried it yet. If you can get a light by target name, I would try linking it to the rock, our just moving it yourself, maybe to the struct + 0 0 30, or whatever. Or you can put the light in an fx, and do the play fx on tag thing I said.
I have a tut on script too radiant relationship on my YouTube, if you haven't seen it, check it out. I plan on adding two more parts before the end of next week.
Title: Re: Growing Soul Collectors v1.4
Post by: qwerty195 on December 24, 2016, 05:19:02 am
So I put in the script, set the level.grow_soul_explode to false, and created a struct where I want the rock to end up. I selected the rock (which has the targetname "grow_souls" like it should, and is a script model) and then selected the struct and pressed W, created a line with an arrow pointing from the rock to the struct. The problem is, when I go in game the rocks are all just where they end up, at the script struct, from the beginning, And you can't collect any souls. The magical door doesn't even open up.
Title: Re: Growing Soul Collectors v1.4
Post by: MakeCents on December 24, 2016, 05:30:38 am
So I put in the script, set the level.grow_soul_explode to false, and created a struct where I want the rock to end up. I selected the rock (which has the targetname "grow_souls" like it should, and is a script model) and then selected the struct and pressed W, created a line with an arrow pointing from the rock to the struct. The problem is, when I go in game the rocks are all just where they end up, at the script struct, from the beginning, And you can't collect any souls. The magical door doesn't even open up.
Well, I'm not sure why its doing that. This here:
Should not let it get to that part of the code until self.scale > finalscale.
Title: Re: Growing Soul Collectors v1.4
Post by: qwerty195 on December 30, 2016, 12:08:57 am
Alright I got the collectors to collect souls again. They collect souls, then move to the correct pedestal. Everything works except for the door. It doesn't open and the hintstring doesn't change.
Title: Re: Growing Soul Collectors v1.4
Post by: MakeCents on December 30, 2016, 05:37:12 pm
Alright I got the collectors to collect souls again. They collect souls, then move to the correct pedestal. Everything works except for the door. It doesn't open and the hintstring doesn't change.
Well, it sounds like either that ee is not complete, or maybe there is a string typo or something like that. You can add prints to see where it is getting hung up at.
Title: Re: Growing Soul Collectors v1.4
Post by: qwerty195 on December 30, 2016, 05:43:26 pm
Well, it sounds like either that ee is not complete, or maybe there is a string typo or something like that. You can add prints to see where it is getting hung up at.
What do you mean add prints?
Title: Re: Growing Soul Collectors v1.4
Post by: MakeCents on December 30, 2016, 05:46:06 pm
Like where the rewards are given and where it checks if the ee is done. Add things like:
then you can see where the code is running, and maybe why its not rewarding or if it is, but it may be a kvp issue in radiant instead.
Title: Re: Growing Soul Collectors v1.4
Post by: qwerty195 on March 09, 2017, 01:28:17 am
You know, I've been wondering how you call the script using: despite the name of the file being growing_soulbox.gsc.
I'm trying to add a second growing soulbox script (yes it has to be in its own .gsc to work) but I don't know how to reference it. Using: does not work.
Title: Re: Growing Soul Collectors v1.4
Post by: MakeCents on March 09, 2017, 01:31:21 am
You know, I've been wondering how you call the script using: despite the name of the file being growing_soulbox.gsc.
I'm trying to add a second growing soulbox script (yes it has to be in its own .gsc to work) but I don't know how to reference it. Using: does not work.
My system supports multiple soul box systems already, Just by adding the prefabs, and the line of script. But the reason I call it with that is because of name spaces. If a script declares a name space, you use that instead of the scripts name.
Title: Re: Growing Soul Collectors v1.4
Post by: qwerty195 on March 11, 2017, 02:42:20 am
ah , I understand now. I hadn't seen namespaces used yet. I need to have multiple .gsc's though because the level vars have to be different for the other set (as well as some extra script things I need to add in).
Title: Re: Growing Soul Collectors v1.4
Post by: kitos on July 31, 2017, 04:57:35 pm
can i put in cod waw?
Title: Re: Growing Soul Collectors v1.4
Post by: UsaidWutt on August 08, 2017, 05:07:31 am
yo anyone got a CLUe on wat this error is
UNRECOVERABLE ERROR: ^1SCRIPT ERROR: Preprocessor error, No generated data for 'scripts/zm/growing_soulbox.gsc' :44 : (-10) ERROR: Carriage return embedded in string literal
Title: Re: Growing Soul Collectors v1.4
Post by: simplyzak09 on October 21, 2017, 08:46:27 am
Hi, how would I go about altering the script to have so the player has to interact with a trigger first before the soul boxes appear on the map?
Title: Re: Growing Soul Collectors v1.4
Post by: brainWash000 on January 24, 2018, 11:00:12 pm
Hi Ppl , u do i make this in cod waw ?
any tut ?? or files to add ?
Title: Re: Growing Soul Collectors v1.4
Post by: alnoise on April 08, 2023, 10:18:39 pm
Hey! I don't think the buyable ending amount is correct. In the script it looks like the buyable ending should be 50k points but in game it shows 25k. When I change that it doesn't reflect in game either. I'm not sure if I'm doing it right or not. I know this is an old thread but if anyone could point me in the right direction that would be awesome :)