CME4WHOIAM 0 Posted September 28, 2003 Share Posted September 28, 2003 every time i set damage effect with a proximity it only works once. Is there away to make it last forever. I'm having the ghost get bombed and one of the bombs goes off course and starts a fire. I want if you go withing 0 meters of the fire at any time you die. Quote Link to post Share on other sites
*NexuS* 0 Posted September 28, 2003 Share Posted September 28, 2003 Try a proximity, ie.. trigger a member of player platoon is within 5 meters of bomb effect response kill actor<query> get actor nearest bomb effect I've used one before for a similar job, but can't find the damn thing now... Quote Link to post Share on other sites
AO3_Chucky 0 Posted September 28, 2003 Share Posted September 28, 2003 (edited) every time i set damage effect with a proximity it only works once. Is there away to make it last forever. I don't think so I read some where that that's the case? only have prorximity, timeExpired, TimeElapsed Counter, timeSet Ect. try em all and see or wait till Jack or Stalker get on even EricJ maybe BlockPreseve might cause it to loop also? but not sure Edited September 28, 2003 by AO3_Chucky Quote Link to post Share on other sites
AO3_Chucky 0 Posted September 28, 2003 Share Posted September 28, 2003 Try a proximity, ie.. trigger a member of player platoon is within 5 meters of bomb effect response kill actor<query> get actor nearest bomb effect there you go that will work I can see just by reading it good job alphasquad nexus " Chucky Quote Link to post Share on other sites
Jack57 0 Posted September 28, 2003 Share Posted September 28, 2003 I do it this way: Trigger: A member of PlayerPlatoon is within 10 metres of DamageEffect Responses: BlockPreserve EffectActivate (DamageEffect) Simple Quote Link to post Share on other sites
Mamon 0 Posted September 29, 2003 Share Posted September 29, 2003 Trigger: A member of PlayerPlatoon is within 10 metres of DamageEffect Responses: BlockPreserve EffectActivate (DamageEffect) Wouldn't this sort of create an infinite/recurrent loop because a player could be in the zone indefinitely...unless it checks this block after a few seconds. From my C++ experience this looks like it would continually process the Block and drain resources. Of course, if its a damage effect continually processed then the only way a player could stay in that zone is if "superman" effect is on, but it might happen. Quote Link to post Share on other sites
Jack57 0 Posted September 29, 2003 Share Posted September 29, 2003 You sort of answered it for yourself - if anyone uses superman mode to play a mission then all bets are off It is true that it is a loop - that is the intention. The difference with GR is that it only processes proximity checks (amongst others) once per second, precisely to manage resources. As long as a player remains within the trigger distance the effect will continue to active once per second. As soon as he dies or leaves it stops. It won't use many resources at all really. Open up a gtf in Igor - Hamburger Hill would be a good example - and have a look at the script. You will see there a number of QueueLoops running continuously while the game is progress with little effect on performance. The number of active actors on a map will have a far greater effect on resources than polling and processing loops will. One can only guess at how many loops are continuously running to have an AI actor strut his stuff and behave 'intelligently' - probably more than the whole of our mission script for just one AI. Maybe you were thinking of a runaway loop like this: Group: LoopTest Trigger: Call Responses: BlockPreserve Increment LoopTestCounter QueCall LoopTest after this block That will lock GR up solid as it is executing as fast as the CPU can process it - probably many millions of times a second - and it only ends when the PC runs out memory and the application stops responding. Hope that explains it a little, Cheers, Jack Quote Link to post Share on other sites
Mamon 0 Posted September 29, 2003 Share Posted September 29, 2003 (edited) Thanks Jack, yeah I was under the impression that from your original post Trigger: A member of PlayerPlatoon is within 10 metres of DamageEffect Responses: BlockPreserve EffectActivate (DamageEffect) that GR would try to process it as fast as possible, but I wasn't aware that the .exe only does so once per second. I guess that's the same thing with "PlatoonSeenByPlatoon" queries and such, being 2 seconds if I believe. Yeah doing so every few seconds wouldnt drain resources at all btw, how did you find out the number of times GR checks those Triggers? Edit: Here's another question, slightly off topic. I've noticed a large number of enemies putting a huge burden on my PC(which is pretty good). So for one actor, the .exe is continually processing whether: 1. The actor is currently alive(is that the same thing as Valid in Igor scripting?) 2. The environment might change his alertness: bored/alert/combat or panic. 3. Combat ROE, Movement ROE, Pace, and Stance 4. A script reference allows use of nades Anything else I'm not aware of besides the Team plan? Another question, how does the mission check the script? Is there an inherent loop that simply checks through all Enabled Triggers to see if one is valid? If so it would need to process continuously also. Edited September 29, 2003 by Mamon Quote Link to post Share on other sites
Jack57 0 Posted September 29, 2003 Share Posted September 29, 2003 Most of these things are covered in the Scripting Reference under the Help menu in Igor Another question, how does the mission check the script? Is there an inherent loop that simply checks through all Enabled Triggers to see if one is valid? If so it would need to process continuously also This is an interesting question actually. It would appear most of the triggers that can only execute once per second are parsed by the program once per second - for example to see if a player is in a zone that calls for a proximity trigger. This is why it is possible for a player to run through a trigger zone without triggering it, if it is too small. Other triggers appear to report their condition to the program. A good example is the death trigger - if, for example, you use a death actor trigger you will notice that it executes the instant the actor dies (same for team, platoon, company). Jack Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.