Question about adding turrets on custom made maps

Marshall Banana

First time out of the vault
Hi!

Sorry to bother you guys, but I was wondering if any of you have had the same issue where you try to add turrets to custom made maps with the fallout tactics level editor but the turrets wont shoot or do anything else if controlled by the AI. I am using FT Improver, and I have tried to copy the "set turret script state" from the main missions but I can't get them to work. Im using the basic turrets that are in the entities_0 file.

Anyone know what might be the most likely mistake Im doing? And thanks for reading this.
 
Oh yes that happens to me ALL THE TIME. I did setup turrets two or three times, and I think each time I had to spend countless time on making them work, sorry... I think it is because many stuff need to be working properly for the turrets to shoot.

1. Turret must be activated using triggers, meaning Turret must have a tagname.
2. Turret must have the correct ammo in inventory.
3. Turret must be on the right player/team, I mean a hostile one.
4. "Make dead" flag must not be flagged, and Turret must have at least 1 life point.
5. "Turret Armed" might be related to "Set Turret Script state", so I don't think you have to check that, but try it just in case.
6. "Enable Script Events" should not be ckecked.

Is the turret moving to follow the squad movements? Is there a red aiming icon on it? If so, It means that the turret is hostile but it does not have the correct weapon or ammos to attack. If not, it means that the turret is not activated properly using triggers or it is not hostile using player/team.
 
Thank you very much! The problem was that I had "enable script events" checked, I thought it was required for the the triggers to work for those entities, but when I simply took it off the turrets worked properly. :)

Oh and thanks for all of you for keeping these forums alive/working, I found some really cool older stuff, mods and guides that have helped me a lot. Wouldn't have gotten anywhere without this site. I was surprised to find out that some people are still modding fallout tactics tbh.

I would have one more question if you have the time, do you know if someone has managed to make headshots do more damage in FT? I'm sorry if this has an obvious answer, I couldn't find anything with a quick search. :confused:
 
Thank you very much! The problem was that I had "enable script events" checked, I thought it was required for the the triggers to work for those entities, but when I simply took it off the turrets worked properly. :)

Oh and thanks for all of you for keeping these forums alive/working, I found some really cool older stuff, mods and guides that have helped me a lot. Wouldn't have gotten anywhere without this site. I was surprised to find out that some people are still modding fallout tactics tbh.

I would have one more question if you have the time, do you know if someone has managed to make headshots do more damage in FT? I'm sorry if this has an obvious answer, I couldn't find anything with a quick search. :confused:

Hehe! Yep we are still a small bunch of core modders that continue having fun playing with Tactics. And appart from no Dialog tree and no online options whatsoever (its a lot, but this might change eventually) this engine is quite fantastic to work with in my opinion. Frustrations here and there and many pitfalls (like having a very logic flag checked like « enable script event », and realising that it prevents some actions from happening instead ha!

I know some guy a while ago adressed a bug concerning instant kills by shooting in the right leg, but I heard nothing about headshot damage. Maybe this will eventually be taken care of.
 
Hehe! Yep we are still a small bunch of core modders that continue having fun playing with Tactics. And appart from no Dialog tree and no online options whatsoever (its a lot, but this might change eventually) this engine is quite fantastic to work with in my opinion. Frustrations here and there and many pitfalls (like having a very logic flag checked like « enable script event », and realising that it prevents some actions from happening instead ha!

I know some guy a while ago adressed a bug concerning instant kills by shooting in the right leg, but I heard nothing about headshot damage. Maybe this will eventually be taken care of.

Thanks for the answer! I love the map maker in this game, for me it's kinda like building a battlefield out of lego-like pieces that function well with the prone,crouch, climb and multiple floor aspects that I think give the combat more depth, as you said though unfortunately the speech and other aspects might lack a little bit. Hmm I'll see if I can find some easy way to increase headshot damage at some point, I will tell you if I find anything. It's not important at all but it would balance single shot weapons compared to burst ones a little more I think. :)

I hate to keep bothering you so please ignore this question if you are busy, but I couldn't figure out how the music/sounds of the maps work on my own. I'm assuming there's an easy way to change the background music of a map? I checked every possible level editor tab and removed every trigger but the map (someone else made it) still played the same music. :question: I also tried the "play wav" trigger but it only played a very small part of the actual wav file as a loop and I didn't find that useful. The "import sound file" thing was also weird to me, as when I tried to export a sound file from another map I couldn't find a good way to edit it to use on my own map.:vatted:
 
Oh this is a bit more tricky, but I know all about this so allright, let's get started shall we? :D

1. "Play wav" trigger is only for script-related short sound effects, like alarms, a vertibird coming at that exact moment, etc. You can even localize them on a entity.
It is also heavy in file size (.wav instead of .mp3 for soundscapes), and it requires a sound ID which means that it can create problems if you use the same ID twice I imagine, like playing only the second scripted sound probably. So, I am quite sure you will not need that.

2. Sound file is a little bit more cryptic, but very customizable so it is great in fact. It is the core of the soundscape in Tactics. You don't import sound files using "Import sounds file" option bhahahha (This is true!), instead you import a code text file (.txt) that contains lists of .MP3s, their location within the map (sound zones), volume, etc. etc. etc. It looks like this :

Code:
ambientSoundTable =
{
    ambiant, //THE NAME OF THE SOUND ZONES
}

//FILES
ambiant_numOfFiles = {1}            //How many sound files in "ambiant" sound zone
ambiant_random = {false}            //Play files in random order     true or false
ambiant_file_0 = {sound/custom/AutorouteDetruite.mp3} //File path of course
ambiant_volume = {100}                //Default volume for ambient sound zone
    
//TIME OF THE DAY
ambiant_timeOfDay = {always}            //When this sound plays: day, dawn, dusk, night
ambiant_notTimeOfDay = {false}            //So you can do NOT night and it will play all other times

//PLACEMENT
ambiant_zone = {Ambiant}            //Limitation to a particuler zone
ambiant_overrideZone = {}             //Don't play this sound if in this zone, multiple zones are seperated by ';'
ambiant_useRadius = {false}            //this ambient has a position and radius
ambiant_position = {Integer3(0,0,0)}        //where in the map the ambient is - you can get the position for the sound in the level editor by holding the mouse over a tile and looking at the tiles bounding box.
ambiant_minDist = {0}                //Distance before volume starts to fall off
ambiant_maxDist = {15}                //Distance from ambient that sound cuts off                   
//LOOP
ambiant_looping = {true}                //If not looping we use minTime and maxTime
ambiant_minTime = {20}                //MinTime between non looping sounds (secs)
ambiant_maxTime = {120}                //MaxTime between non looping sounds (secs)

//VARIATION
ambiant_volumeVar = {0.0}                //Variation in volume 0.2 = 20% variation
ambiant_pitchVar = {0.0}                //Variation in pitch 0.2 = 20% variation

How to add an sound zone :

First you need to go to the map where you want soundscapes and create a sound zone. You enter Map editor, click on the Zone tab, Click "add", go to the bottom level you want to place your sound zone (meaning the lowest place the feet of the characters will walk for the zone to play the sound), using mouse wheel to go down to the desired level. You ckeck Bottom and you click on the map at a desired place. You will see your cube will change shape. You then do the same with Top and you have your soundZone localized. YOU THEN HAVE TO CHECK "SoundZone" in the bottom, imperative.

Here you go! If you :

1. Customized a sounds file using my code and added it to the map using "Import sounds zone" option.
2. Created sound zones that match the sounds file.

It will work I am sure of it.

NOTE : Changing the file will not update the soundscape. Sad to say, but you will have to go back to that map, reimport the sounds file, and only then it will be updated. This means the sounds file is integrated to the .mis file.

IMPORTANT : These soundscapes are permanent and always on, meaning that I don't know of any way to script them, make them stop, except by programming them for specific times of the day or location. If for example you setup an alarm as soundscape, there will never be a way for you to turn it off. So just use the Sounds file to program soundscapes that are permanent. Use the script "Play Wav" for all other sounds that could be turned on and off.
 
Oh this is a bit more tricky, but I know all about this so allright, let's get started shall we? :D

1. "Play wav" trigger is only for script-related short sound effects, like alarms, a vertibird coming at that exact moment, etc. You can even localize them on a entity.
It is also heavy in file size (.wav instead of .mp3 for soundscapes), and it requires a sound ID which means that it can create problems if you use the same ID twice I imagine, like playing only the second scripted sound probably. So, I am quite sure you will not need that.

2. Sound file is a little bit more cryptic, but very customizable so it is great in fact. It is the core of the soundscape in Tactics. You don't import sound files using "Import sounds file" option bhahahha (This is true!), instead you import a code text file (.txt) that contains lists of .MP3s, their location within the map (sound zones), volume, etc. etc. etc. It looks like this :

Code:
ambientSoundTable =
{
    ambiant, //THE NAME OF THE SOUND ZONES
}

//FILES
ambiant_numOfFiles = {1}            //How many sound files in "ambiant" sound zone
ambiant_random = {false}            //Play files in random order     true or false
ambiant_file_0 = {sound/custom/AutorouteDetruite.mp3} //File path of course
ambiant_volume = {100}                //Default volume for ambient sound zone
   
//TIME OF THE DAY
ambiant_timeOfDay = {always}            //When this sound plays: day, dawn, dusk, night
ambiant_notTimeOfDay = {false}            //So you can do NOT night and it will play all other times

//PLACEMENT
ambiant_zone = {Ambiant}            //Limitation to a particuler zone
ambiant_overrideZone = {}             //Don't play this sound if in this zone, multiple zones are seperated by ';'
ambiant_useRadius = {false}            //this ambient has a position and radius
ambiant_position = {Integer3(0,0,0)}        //where in the map the ambient is - you can get the position for the sound in the level editor by holding the mouse over a tile and looking at the tiles bounding box.
ambiant_minDist = {0}                //Distance before volume starts to fall off
ambiant_maxDist = {15}                //Distance from ambient that sound cuts off                  
//LOOP
ambiant_looping = {true}                //If not looping we use minTime and maxTime
ambiant_minTime = {20}                //MinTime between non looping sounds (secs)
ambiant_maxTime = {120}                //MaxTime between non looping sounds (secs)

//VARIATION
ambiant_volumeVar = {0.0}                //Variation in volume 0.2 = 20% variation
ambiant_pitchVar = {0.0}                //Variation in pitch 0.2 = 20% variation

How to add an sound zone :

First you need to go to the map where you want soundscapes and create a sound zone. You enter Map editor, click on the Zone tab, Click "add", go to the bottom level you want to place your sound zone (meaning the lowest place the feet of the characters will walk for the zone to play the sound), using mouse wheel to go down to the desired level. You ckeck Bottom and you click on the map at a desired place. You will see your cube will change shape. You then do the same with Top and you have your soundZone localized. YOU THEN HAVE TO CHECK "SoundZone" in the bottom, imperative.

Here you go! If you :

1. Customized a sounds file using my code and added it to the map using "Import sounds zone" option.
2. Created sound zones that match the sounds file.

It will work I am sure of it.

NOTE : Changing the file will not update the soundscape. Sad to say, but you will have to go back to that map, reimport the sounds file, and only then it will be updated. This means the sounds file is integrated to the .mis file.

IMPORTANT : These soundscapes are permanent and always on, meaning that I don't know of any way to script them, make them stop, except by programming them for specific times of the day or location. If for example you setup an alarm as soundscape, there will never be a way for you to turn it off. So just use the Sounds file to program soundscapes that are permanent. Use the script "Play Wav" for all other sounds that could be turned on and off.

Thank you so much!!! I will try this when I get back from work today. :dance:
 
Oh this is a bit more tricky, but I know all about this so allright, let's get started shall we? :D

1. "Play wav" trigger is only for script-related short sound effects, like alarms, a vertibird coming at that exact moment, etc. You can even localize them on a entity.
It is also heavy in file size (.wav instead of .mp3 for soundscapes), and it requires a sound ID which means that it can create problems if you use the same ID twice I imagine, like playing only the second scripted sound probably. So, I am quite sure you will not need that.

2. Sound file is a little bit more cryptic, but very customizable so it is great in fact. It is the core of the soundscape in Tactics. You don't import sound files using "Import sounds file" option bhahahha (This is true!), instead you import a code text file (.txt) that contains lists of .MP3s, their location within the map (sound zones), volume, etc. etc. etc. It looks like this :

Code:
ambientSoundTable =
{
    ambiant, //THE NAME OF THE SOUND ZONES
}

//FILES
ambiant_numOfFiles = {1}            //How many sound files in "ambiant" sound zone
ambiant_random = {false}            //Play files in random order     true or false
ambiant_file_0 = {sound/custom/AutorouteDetruite.mp3} //File path of course
ambiant_volume = {100}                //Default volume for ambient sound zone
  
//TIME OF THE DAY
ambiant_timeOfDay = {always}            //When this sound plays: day, dawn, dusk, night
ambiant_notTimeOfDay = {false}            //So you can do NOT night and it will play all other times

//PLACEMENT
ambiant_zone = {Ambiant}            //Limitation to a particuler zone
ambiant_overrideZone = {}             //Don't play this sound if in this zone, multiple zones are seperated by ';'
ambiant_useRadius = {false}            //this ambient has a position and radius
ambiant_position = {Integer3(0,0,0)}        //where in the map the ambient is - you can get the position for the sound in the level editor by holding the mouse over a tile and looking at the tiles bounding box.
ambiant_minDist = {0}                //Distance before volume starts to fall off
ambiant_maxDist = {15}                //Distance from ambient that sound cuts off                 
//LOOP
ambiant_looping = {true}                //If not looping we use minTime and maxTime
ambiant_minTime = {20}                //MinTime between non looping sounds (secs)
ambiant_maxTime = {120}                //MaxTime between non looping sounds (secs)

//VARIATION
ambiant_volumeVar = {0.0}                //Variation in volume 0.2 = 20% variation
ambiant_pitchVar = {0.0}                //Variation in pitch 0.2 = 20% variation

How to add an sound zone :

First you need to go to the map where you want soundscapes and create a sound zone. You enter Map editor, click on the Zone tab, Click "add", go to the bottom level you want to place your sound zone (meaning the lowest place the feet of the characters will walk for the zone to play the sound), using mouse wheel to go down to the desired level. You ckeck Bottom and you click on the map at a desired place. You will see your cube will change shape. You then do the same with Top and you have your soundZone localized. YOU THEN HAVE TO CHECK "SoundZone" in the bottom, imperative.

Here you go! If you :

1. Customized a sounds file using my code and added it to the map using "Import sounds zone" option.
2. Created sound zones that match the sounds file.

It will work I am sure of it.

NOTE : Changing the file will not update the soundscape. Sad to say, but you will have to go back to that map, reimport the sounds file, and only then it will be updated. This means the sounds file is integrated to the .mis file.

IMPORTANT : These soundscapes are permanent and always on, meaning that I don't know of any way to script them, make them stop, except by programming them for specific times of the day or location. If for example you setup an alarm as soundscape, there will never be a way for you to turn it off. So just use the Sounds file to program soundscapes that are permanent. Use the script "Play Wav" for all other sounds that could be turned on and off.

Hmm sorry but couldn't quite get this to work yet. :confused:

Can I keep the descriptions in the code for it to work? the parts with "// this part does this". Also I won't use the "import sound file" at all but only the "import soundzone", or is it the other way around? :scratch: I tried both ways but neither one did the trick yet. I'm sure I'll get it to work eventually though, thank you so much for all the help! :salute:
 
No prob it’s a real pleasure. Import soundzones probably just add a bunch of soundzones from another mission file, but I don’t even know where they place them. They could litterally appear anywhere. I never used it, so It must be usefull only if you have a big lot of soundzones to import and want somewhat to do batch work. You definitely need to use « import sound file » option, and import your customized .txt file with your code.

In it, yess you can erease anything after the //, they are just code comments.

Also even most of the parameters, in fact almost all can be ereased exept the firsts. So you can do this if it is a bit compliccated ans unuseful to you. I simply kept them to show you the various options.

Courage! I’m sure its just a small bug if that does not work properly. Maybe wrong zone placement, wrong zone name in the code, maybe you forgot to check the soundzones, things like that.
 
I am going again today through the pain of working with turrets... And I have new pointers to give to someone who would like to play with them.

You see, the problem is always to make turrets shoot and not stay idle doing nothing. In addition to need "enable script events" not being checked, you also must place them hostile, and have their "Object script state" checked in the scripts, even if it sounds contradictory.

And finally, you need to verify the the turret animation do exists. Turrets uses strange animations names to attack. For instance, their weapons, even if they are lasers, miniguns, etc, are tagged "Unarmed". I realized that, at least in my mod, there is a confusion between the various animation names used for different robot weapons. This means that some weapons will work only for some turrets, or only for humanoid robots, etc. This is a mess. Quite often, the animation name "Two" is set, which work for some turrets, but not all. No idea why the animation "One" (StandAttackUnarmedOne) is not the default one. I even saw an animation "Three" indicated somewhere, and only one turret have it.

I suggest you pass all this crap and make sure, using Sprite Creator, that you have StandAttackUnarmedOne, StandAttackUnarmedTwo and StandAttackUnarmedThree animations set to be able to use all those strange weapons at any given time.
 
I would have one more question if you have the time, do you know if someone has managed to make headshots do more damage in FT? I'm sorry if this has an obvious answer, I couldn't find anything with a quick search. :confused:
It's probably possible (and easy, if you know a little bit of programming) using the Fallout Tactics Scripting Engine.
 
Back
Top