darthsLair on 30/12/2013 at 17:31
Quote Posted by cardia1
How can i set a goal like "Don´t load a save game"?
Quote Posted by Yandros
I only figured it out then with help from NV as I recall. Go look at the setup in The Summit to be sure, but I think it required an emitter set to emit one arrow, in a blueroom, aimed at something which incremented a QVar each time it was hit. The emitter actually fires once on mission start and every game load, so if the QVar > 1 then they have reloaded and you can fail the objective.
Quote Posted by R Soul
I'm torn between trying to solve a technical challenge and not encouraging someone to annoy the player.
You can also use the NVRelayTrap script to increment the QVar. Design note: NVRelayTrapOn="BeginScript". However, like Yandros I advise against it. It's okay for an 'Iron Man' mode since players can choose it, but if you just take away the reload ability a lot of players would move on to another FM.
For the benefit of the doubt, since Pedro asked how to do it:
1.Create an emitter trap under emitter trap (-2555) Name it ReloadEmitter. EmitterState: on, Emit: Continue, AnimC :, Sim Rate: 500, MaxFrames: 1, EmitWhat: broadhead change sript 0 to: ReloadTweqEmit
2.Create another emitter trap under the one you just created and name it UselessEmitter , EmitterState: on,
AnimC:None, MiscC:None,CurveC: none, Rate:500,MaxFrames: 1, EmitWhat: broadhead Save your gamesys.
Now, create the ReloadEmitter in a blue room, and adjacent to it create a banner about 1o units away, and so the ReloadEmitter is aimed at the center of the banner.
To the banner add: Material Tags:leave blank, NoMin 0, NoMax(checked) Add Receptrons: PokeStim, Set Property:TargetObject: Type in ReloadEmitter,or the Archetype number(-xxxx) AgentObject: Type in UselessEmitter, or the Archetype number(-xxxx) Now under Edit Effect: CfgTweqEmit
Create a button in this blueroom and name it: IronManButton
To the same banner add Receptrons: PokeStim, NoMin 0, and NoMax(checked), add: FrobObject, and Use Target Object: type in IronManButton or the concrete object number.
Link the IronManButton using a cd link to a qvartrap named IncLoadCounter >trap: +1:LoadCounter
Create a questvartrigger (-4370) and name it:IronManChecker, trap: >1:LoadCounter
Use a cd link from IronManChecker to a Mechanist Blue Alarm (-1901) Cd link IronManChecker to a Qvartrap named IronManFailer, add>Trap: =3:goal_state_x, where x is the number of the goal "Do not reload save"
For your goal, use a notype, Incomplete because you will use a qvartrap to fail the goal.(In Yandros Mission Data there is no reverse set, as in a "don't do this" type objective.) I didn't add it here.
After you start the mission, exit the game, and in dromed check Mission Quest Data: LoadCounter 0
As Yandros stated above, when the game starts the Emitter will fire once, and the button is cdlinked to the Load Counter +1:LoadCounter If another load is attempted say during the game it would change the value, and fail the mission. The only load allowed is at game start.
Cardia on 31/12/2013 at 19:20
Quote Posted by darthsLair
For the benefit of the doubt, since Pedro asked how to do it:
1.Create an emitter trap under emitter trap (-9211) Name it ReloadEmitter. EmitterState: on, Emit: Continue, AnimC :, Sim Rate: 500, MaxFrames: 1, EmitWhat: broadhead change sript 0 to: ReloadTweqEmit
2.Create another emitter trap under the one you just created and name it UselessEmitter , EmitterState: on,
AnimC:None, MiscC:None,CurveC: none, Rate:500,MaxFrames: 1, EmitWhat: broadhead Save your gamesys.
Now, create the ReloadEmitter in a blue room, and adjacent to it create a banner about 1o units away, and so the ReloadEmitter is aimed at the center of the banner.
To the banner add: Material Tags:leave blank, NoMin 0, NoMax(checked) Add Receptrons: PokeStim, Set Property:TargetObject: Type in ReloadEmitter,or the Archetype number(-xxxx) AgentObject: Type in UselessEmitter, or the Archetype number(-xxxx) Now under Edit Effect: CfgTweqEmit
Create a button in this blueroom and name it: IronManButton
To the same banner add Receptrons: PokeStim, NoMin 0, and NoMax(checked), add: FrobObject, and Use Target Object: type in IronManButton or the concrete object number.
Link the IronManButton using a cd link to a qvartrap named IncLoadCounter >trap: +1:LoadCounter
Create a questvartrigger (-4370) and name it:IronManChecker, trap: >1:LoadCounter
Use a cd link from IronManChecker to a Mechanist Blue Alarm (-1901) Cd link IronManChecker to a Qvartrap named IronManFailer, add>Trap: =3:goal_state_x, where x is the number of the goal "Do not reload save"
For your goal, use a notype, Incomplete because you will use a qvartrap to fail the goal.(In Yandros Mission Data there is no reverse set, as in a "don't do this" type objective.) I didn't add it here.
After you start the mission, exit the game, and in dromed check Mission Quest Data: LoadCounter 0
As Yandros stated above, when the game starts the Emitter will fire once, and the button is cdlinked to the Load Counter +1:LoadCounter If another load is attempted say during the game it would change the value, and fail the mission. The only load allowed is at game start.
Wow! let´s see if i can set this right :D :eek:
Many thanks Rod :thumb:
Yandros on 31/12/2013 at 20:29
R Soul's suggestion above will eliminate over half that mess. :cheeky:
LarryG on 31/12/2013 at 21:46
Yeah. I was going to say. That's serious old school. With NVScripts, it should be much easier.
darthsLair on 31/12/2013 at 23:44
Quote Posted by LarryG
Yeah. I was going to say. That's serious old school. With NVScripts, it should be
much easier.
yes it is. I had to use old school Doors to control the error alarm in CCR. the smelters. It is reliable at least.
I am sure that Pedro would welcome an example of NvScript to implement the same thing! That is if anyone knows how to do it. In other words, a tested method using NVScript and not some untested theory. If it worked for Russ, then it will work for Pedro.
The Watcher on 1/1/2014 at 19:03
So's NVScript, and it doesn't require something that'd make W. Heath-Robinson exclaim "Steady on". :p
R Soul on 1/1/2014 at 21:37
Quote Posted by darthsLair
I am sure that Pedro would welcome an example of NvScript to implement the same thing!
I already did, but for the sake of clarity, the NVRelayTrap object replaces the IronManButton object you suggested, and there is no need for the emitter trap.
Cardia on 3/1/2014 at 18:43
o how does it work with Nv scritp? Anyone knows where i can find a spiral turmoil sfx effect?
LarryG on 3/1/2014 at 23:50
As R Soul said:
Quote Posted by R Soul
You can also use the NVRelayTrap script to increment the QVar. Design note: NVRelayTrapOn="BeginScript". However, like Yandros I advise against it. It's okay for an 'Iron Man' mode since players can choose it, but if you just take away the reload ability a lot of players would move on to another FM.
The checking of the qvar is the same as darthsLair suggested.
I think though that NVTrapSetQVar might be a better and more direct route, using NVTrapSetQVar="BeginScript" and <var>Trap>Quest Var: +1:LoadCounter
</var>That will increment the <var>LoadCounter</var> qvar each time a "BeginScript" message is received. Which you can then detect with either <var>TrigQVar </var>or <var>NVTrigQVar</var> and respond appropriately by failing the goal.
Again, like Yandros and R Soul, I would strongly urge you not to do this. It is not good gameplay.
R Soul on 4/1/2014 at 00:23
Quote Posted by LarryG
As R Soul said:I think though that NVTrapSetQVar might be a better and more direct route, using NVTrapSetQVar="BeginScript" and <var>Trap>Quest Var: +1:LoadCounter</var>.
You're right. Well spotted.