mr.pibb 0 Posted February 21, 2004 Share Posted February 21, 2004 (edited) Hey all, I have spent the last few days putting together and testing a script for tanks targetting people with the main gun using Don Miguel's "dummytarget.veh". The script I have put together is designed only for patrolling tanks that have actors following them. Every time one of the actors following the tank is killed the target-vehicle is teleported to the shooter of that actor. Then of course the tank is supposed to target that vehicle and fire, which it does-about half the time though. The target vehicle always makes it to the shooter location, the sound of the vehicle is not yet removed and I can hear it after every kill of the tank followers, but for some reason the tank does not always train on the target. Hm. I have spent alot of time trying different stuff, with the same results. If some one could please help me here I would really appreciate it, I think just a bug need be addressed somewhere. Ok. Here is the script: Actors: Allied: Target Veh1 Enemy: Rus. Patrol1 T80 Follow-Step Plan=Follow T80 Patrol Tank1 T80 Patrol Tank1-Step Plan=speed1.5,paths Trigger Plans: Rus. Patrol Tank Combat Mode=Speed0 Rus. Troop Patrol Combat Mode=Alertness-combat,Formation-scattered- Combat Roe=Suppress,Movement Roe=hold T80 Destroy Target.veh1=Destroy TargetVeh1 Script: Group: Default Trigger:Startup Responses: Enable the Patrol Rus.1 Mem Killed Script blocks Group: Patrol Rus.1 Mem Killed Trigger: A member of Rus. Patrol1 T80 Follow has been killed Responses: Assign Rus. Troop Patrol Combat Mode to Rus. Patrol1 T80 Follow and execute Assign Rus. Patrol Tank Combat Mode to T80 Patrol Tank1 and execute Call Rus. Follow1 Mem killed after this block Enable the Combat Mode Rus.P.1.Killed script blocks Block Preserve Group:Combat Mode Rus.P.1.Killed Trigger:A member of Rus. Patrol1 T80 Follow has been killed Responses: Call Rus. Follow1 Mem Killed after this block Block preserve Group:Rus.Follow1 Mem Killed Trigger:This block has been called directly from the script Responses: Block Preserve Disable the Patrol Rus.1 Mem Killed script blocks If[[The inverse of [Actor 123 is active]] and [[The value of Rus.123 Dead] is equal to 0]], stop and queue a call to Rus. 123 Killed. If[[The inverse of [Actor 124 is active]] and [[The value of Rus.124 Dead] is equal to 0]], stop and queue a call to Rus. 124 Killed. If[[The inverse of [Actor 125 is active]] and [[The value of Rus.125 Dead] is equal to 0]], stop and queue a call to Rus. 125 Killed. If[[The inverse of [Actor 126 is active]] and [[The value of Rus.126 Dead] is equal to 0]], stop and queue a call to Rus. 126 Killed. If[[The inverse of [Actor 127 is active]] and [[The value of Rus.127 Dead] is equal to 0]], stop and queue a call to Rus. 127 Killed. Group:Rus. 123 Killed Trigger: This block has been called directly from the script Responses: Set Rus.123 Dead to 1. Teleport Target Veh1 to[The shooter who killed Actor 123]. Call T80 P.Tank1 Destroy Target after this block Call Rus. Follow1 Mem Killed after this block. Group:Rus. 124 Killed Trigger: This block has been called directly from the script Repsonses: Set Rus.124 Dead to 1. Teleport Target Veh1 to[The shooter who killed Actor 124]. Call T80 P.Tank1 Destroy Target after this block Call Rus. Follow1 Mem Killed after this block. Group:Rus. 125 killed Trigger: This block has been called directly from the script Responses: Set Rus.125 Dead to 1. Teleport Target Veh1 to[The shooter who killed Actor 125]. Call T80 P.Tank1 Destroy Target after this block. Call Rus. Follow1 Mem Killed after this block. Group:Rus. 126 Killed Trigger: This block has been called directly from the script Responses: Set Rus.126 Dead to 1. Teleport Target Veh1 to[The shooter who killed Actor 126]. Call T80 P.Tank1 Destroy Target after this block. Call Rus. Follow1 Mem Killed after this block. Group:Rus. 127 Killed Trigger: This block has been called directly from the script Responses: Set Rus.127 Dead to 1. Teleport Target Veh1 to[The shooter who killed Actor 127]. Call T80 P.Tank1 Destroy Target after this block. Call Rus. Follow1 Mem Killed after this block. Group:T80 P.Tank1 Destroy Target Trigger:This block has been called directly from the script Responses: Cancel execution of any plan assigned to T80 Patrol Tank1. Assign T80 Destroy Target.veh1 to T80 Patrol Tank1 and execute Thats it as if it aint enough eh. I would be happy to email the mission if someone wants to try it to see whats up, when it does work(50% of the time) its neat, the tank will target your last postion that you killed from, it will need some more tweaking and a proximity for the T80's distance from the Target Vehicle to reduce the chance of the T80 killing its own troops from close blasts, which happens alot right now. I will spend more time trying to resolve the issue myself, hopefully someone might see the problem here. Sincerely, Christian Edited February 22, 2004 by mr.pibb Quote Link to post Share on other sites
Jack57 0 Posted February 22, 2004 Share Posted February 22, 2004 Wow, that seems like awfully complex scripting to achieve something that should be relatively simple And why all the Call groups when not using BlockPreserve - just execute them in the same block unless you need to call them from more than one possible trigger. What about something more like this: Trigger: Death AnyActor Responses: BlockPreserve ContinueIf the team including AnyActor is equal to team Rus. Patrol1 T80 ContinuIf the platoon including the actor who killed AnyActor is equal to the PlayerPlatoon Teleport DummyTarget to the actor who killed AnyActor Assign T80 Destroy Target.veh1 to T80 Patrol Tank1 and execute Quote Link to post Share on other sites
mr.pibb 0 Posted February 22, 2004 Author Share Posted February 22, 2004 Thanks Jack, Will give it a go. Yea, I figured someone out there-hint-hint- might have an easier way Christian Quote Link to post Share on other sites
DonMiguel 11 Posted February 22, 2004 Share Posted February 22, 2004 also, I think that the dummytarget is using the v_bmp3.wav, if you want to silence it Quote Link to post Share on other sites
mr.pibb 0 Posted February 22, 2004 Author Share Posted February 22, 2004 (edited) Thanks Don, Yeah, I was trying to figure out which one it was, sounded like the diesel truck2. I have Jacks silenced .wav file from his target vehicle modification, so that should be universal for silencing any vehicle. Thanks guys, I look forward to implementing the new script. Christian Edited February 22, 2004 by mr.pibb Quote Link to post Share on other sites
mr.pibb 0 Posted February 22, 2004 Author Share Posted February 22, 2004 (edited) Wow, that seems like awfully complex scripting to achieve something that should be relatively simple And why all the Call groups when not using BlockPreserve - just execute them in the same block unless you need to call them from more than one possible trigger. Your right, I had forgotten to add the blockpreserve to the call groups, for the entire script application is intended to be used more than once if the situation arises. The script in the call groups could not be used in one block, they had to be seperate because the responses could not be placed with continueif(stopif, etc) because of the counters being set, they would have improperly set the "dead" counters as the check continued through the block, the counters were designed to declare that the particular call group script had been used and to not use it twice. Once one of the call groups is queued it would then set the counter in that seperate group to 1, causing it never to be called. Hence the tank will target the next player platoon member that kills another Rus. Patrol Member. I did not know deathanyactor could be used like that, nor did I know that you could compare a single actor to a team or platoon like that too to get the team or platoon the actor is from, I have used it only for number comparisons. So I see that anyactor becomes a reference to whichever actor tripped the deathanyactor trigger, wow. Good to know. I haven't yet tied the new script, will soon tho. Thanks again Jack, you havent just helped me out with the application here but you have shown me some new stuff I may want to use later too. Christian Edited February 22, 2004 by mr.pibb Quote Link to post Share on other sites
mr.pibb 0 Posted February 22, 2004 Author Share Posted February 22, 2004 Hey, The new script works, but, the random problem still exists. As before the target vehicle always gets teleported to the shooter, but the tank is not always targetting. Anyone got any ideas? Christian Quote Link to post Share on other sites
mr.pibb 0 Posted February 22, 2004 Author Share Posted February 22, 2004 Ok, I may have discovered the problem The map I am using is Vilnius, and basically the whole dang map is composed of rooms. I would say there is a very good chance this is the problem, teleporting the target vehicle from room to room. I need to test the teleporting within the confines of one room to make sure it does work everytime there. I will start digging into how to avoid teleporting between rooms, probably will have to use many additional target vehicles, one for each room, that will be assigned to teleport around only within the confines of the room its in. I like the results of the tank firing in this application so much it does seem worth all this. Christian Quote Link to post Share on other sites
mr.pibb 0 Posted February 23, 2004 Author Share Posted February 23, 2004 Gotta say for the last post in this topic- YESSSS! The new zones covering the seperate rooms works, the tank will target every time IF the zones are properly placed over the rooms, just need to move some zones around to get them all in the right places. 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.