PDA

View Full Version : Random Contacts


Nanaki
04-01-2010, 02:15 PM
FOR THOSE WHO WANT TO DOWNLOAD THE FLEET MOD (http://forum.1cpublishing.eu/showpost.php?p=707182&postcount=144)
Edit: Updated to version .04

There are quite a few important files that you must go through in order to understand this script. These are the Randomcontacts.script, the create_flight_2.script, and the activate.script (located in each and every sector)

The Randomcontacts.script is highly interwoven with the create_flight_2.script, so if I say something without elaborating, chances are I am talking something in create_flight_2.

I have been doing a lot of researching of Random contacts as of late. My first initial expeirments consisted of merely doubling the number of random contacts (in order to better understand how they work) and adding KFNI patrols in certain MSF Systems. Both of these experiments have been successes (Well, adding the KFNI did not produce the desired results, oh well), and my study of the Randomcontacts script has yielded results.

Random contacts are -always- fighters, there is not even infestructure set in place for random contact bombers or capital ships (Although it should not be too difficult to set up). The only exception to the rule is trader flights, which consist of mixed capital ships (transports) and fighters.

Random contacts also have a 'strength' modifier. The strength modifier is different from the power modifier, in that it goes through a special script that generates a random number from the strength modifier, which than becomes the power modifier. The degree of randomization can be anywhere from Strength minus 4, to Strength plus 3. So a Random contact with a strength of 17 can generate flights with power levels as high as 20, and as low as 13.

Another thing that is important is Portals. Each randomcontact has a list of portals that they will enter and exit. They will ignore all other portals.

When Random contacts enter a sector, they have a specific set of waypoints that they must follow, and once they reach all the waypoints, they will than head to a portal and exit the sector.

Finally, there is a probability modifier. To better understand this, one must go to this little tidbit:
StartRandomContacts(80, 60);

All sectors with random contacts have this. It basically tells the random contacts to start. The first number is the initial interval, in which case, the game will wait 80 seconds before triggering the first spawn of random contacts.

The second number is all intervals after that. After the initial 80 seconds, it will call a spawn every 60 seconds. The 'probability' part of each registered random contact is the probability of that random contact spawning.

I know this might seem like cutting it short, but it is all I have for now. I have several goals I am considering going after, including:

1: Adding military convoys. These transport convoys will be carrying mainly weapons, equipment, and ships. Probably the easiest, since I can use the Trader code as a guideline.

2: Adding fleets.

3: Adding more conflict.

tsavo
04-01-2010, 02:49 PM
playing the second time,
run into a 5k hunting mission in the first session,
and a 10k hunting mission this time

in general, this piece of universi is tooooo quiet, is there any way to make a lot of noises(conversions) out of docking direction, rejection and confirmation; discover of enemy; call for help; priate's demand; and so on?

i do love to have a much more interactive space.

Nanaki
04-01-2010, 03:48 PM
Can I get the actions? Yeah. But the dialogue on top of that? Nope. All of the dialogue files seems to be under some kind of wierd encryption that I do not understand. It seems to be hex-based, but directly converting it to ascii has gone nowhere for me.

Goblin Wizard
04-01-2010, 05:44 PM
Dialog files that use coding have header "FILETYPE DYNAMIC". If you change it to "FILETYPE STANDART" you can write plain text messages. Of course, if you change existing coded dialog to STANDART you must copy all dialog options from the game and retype them, otherwise, you will see that strange sequences of signs in the game . That's why I've made new dialog files for my motherships buying script.

Rastix
04-01-2010, 08:24 PM
All of the dialogue files seems to be under some kind of wierd encryption that I do not understand. It seems to be hex-based, but directly converting it to ascii has gone nowhere for me.

New header "FILETYPE MODDING" will help you ;)

Dialog files that use coding have header "FILETYPE DYNAMIC". If you change it to "FILETYPE STANDART" you can write plain text messages. Of course, if you change existing coded dialog to STANDART you must copy all dialog options from the game and retype them, otherwise, you will see that strange sequences of signs in the game . That's why I've made new dialog files for my motherships buying script.


"FILETYPE STANDART" wouldn't work properly with "active dialogs" tasks

Goblin Wizard
04-01-2010, 09:17 PM
Thanks a lot! I was thinking why some of the dialogs work but others not. I wonder if you know another useful tricks?

tsavo
04-02-2010, 12:42 AM
so there is no way to add some sound file to make the space more "human"?

Nanaki
04-02-2010, 12:56 AM
http://img31.imageshack.us/img31/6814/starwolves7.jpg

Well, Mediocre success. I managed to fully impliment Pirate military convoys, however, my original plan called for the military convoys to be divided into four tiers, starting off with the rookie stuff and eventually ending with very high-quality gear (well, for pirates), with the level of escort determined by the quality of the goods inside the transports.

However, RandomContacts really, really, -really- dislikes tiered systems, and unless I modify large sections of randomcontacts.script (which I am not comfortable enough with Lua to do). On top of this, I had difficulty getting any of my scripts to work properly. They would properly add modules to a ship's inventory, but for some odd reason they would not add ships despite having the correct function.

I eventually gave up, and decided to modify the already-existing FillTraderSimple function to my needs. It works, quite well actually, but it means that the tiered system I originally planned for is gone (Although it works with randomcontacts now), thus all Pirate convoys are rather heavily guarded with Third and Fourth generation ships.

The only thing that is left is to clean up the mess I made a little, and impliment convoy fleets for all the major factions, and than modify all the location scripts so that they spawn.

So far, I only plan on introducing USS, Triada, Inoco, Patrol, Pirate, Old Empire, and New Empire convoy fleets (the remaining factions are too small to bother with). Convoys will be heavily defended, Pirate and Patrol convoys will have mainly third and fourth generation ships (mainly because neither faction has any fifth generation ships), while the rest will have fourth and fifth generation ships guarding them (corporates would be more fourth-generation heavy, while both Old and New Empires would be heavier on fifth generation). Loot inside the transports is randomized, and can be anywhere from First generation to fifth generation, weapons are randomized the same way.

Convoys will be mainly located in systems where the faction in question has a strong presence, mainly to prevent the situation of free loot coming about because an MSF fleet stumbled upon a New Empire convoy.

Ultimately, the reason why I implimented them is that I wanted to give the player more ways to acquire fighter hulls other than either buying them, or attacking a faction's warehouse for them. If you do not like a faction, you are free to whack their convoys for free ships and loot, and even law-abiding neutral citizens can join in the fun by whacking pirate convoys (Although Pirates and Imperial Patrols generally have lesser loot, you wont ever find any fifth generation ships)...

I am considering adding an SOS system for Military convoys, but that might be thinking too far ahead.

Rastix
04-02-2010, 08:21 AM
Thanks a lot! I was thinking why some of the dialogs work but others not. I wonder if you know another useful tricks?

what tricks do you want to know? ;)

so there is no way to add some sound file to make the space more "human"?

explain yourself please :)

tsavo
04-02-2010, 02:25 PM
what tricks do you want to know? ;)



explain yourself please :)

that is, to find a way adding radio comm sound file to docking procedure
say, if ok, u will hear a vioce "please go to docking bay 7"
if not, then u might hear "docking request denied", or what ever it suits the situation.

:rolleyes:

Rastix
04-02-2010, 04:42 PM
the internal code doesn't have such possibilities for now

Nanaki
04-02-2010, 07:08 PM
I just completed implimentation of the Military convoys. They can only be found in secure sectors (although a few iffy sectors have Patrol/Pirate convoys), and have approximately a 20% chance to spawn. Patrol convoys may spawn in some MSF-dominated systems, but with only a 10% chance. Pirate convoys may spawn in some Triada-dominated systems, but also with only a 10% chance. Convoys are mostly the same, having very heavy escorts.

In addition, I also made most stations in the universe indestructable. This is to solve issues with stations accumlating damage because of ship AIs (Random spawns, usually, although a few systems like Kruger even the normal spawns have this issue) colliding with them and causing them to slowly accumulate damage (as there is no way to repair stations, and stations themselves do not have self-repair) as they are collided with again and again.

Although I may replace the indestructable code with code that instead sets the HP of all alive stations in a sector to 100% every time you enter a system. This would solve the issue as well, and still allow you to blow up stations, but considering blowing up most stations produces no tangible award, it is kinda pointless (and I am not that good at lua, the more complex the code the more likely I will screw it up).

Cargo Containers are still destructable though, but they are largely exempt from the original issue since AI ships never get close to them.

Goblin Wizard
04-02-2010, 07:31 PM
that is, to find a way adding radio comm sound file to docking procedure
say, if ok, u will hear a vioce "please go to docking bay 7"
if not, then u might hear "docking request denied", or what ever it suits the situation.

the internal code doesn't have such possibilities for now

You can easily add sound nearly anywhere you want. You need only this line
PlaySound3D("wav filename", position, volume[0..1]);

Nanaki
04-02-2010, 07:35 PM
Is nobody interested in random contacts? :(

Goblin Wizard
04-02-2010, 07:44 PM
What these convoys do except bringing more life to the space. They give missions or something?

Nanaki
04-02-2010, 07:55 PM
You can kill them for fighters and weapons.

tsavo
04-03-2010, 12:28 AM
You can easily add sound nearly anywhere you want. You need only this line

PlaySound3D("wav filename", position, volume[0..1]);

wow!!!
in which file?
and what does position mean? is it only triggered by position?

Rastix
04-03-2010, 07:13 AM
You can easily add sound nearly anywhere you want. You need only this line

It's not the same thing ;)

Goblin Wizard
04-03-2010, 01:00 PM
It's not the same thing ;)
the same as what?

wow!!!
in which file?
and what does position mean? is it only triggered by position?
you place "wav" file in the ..\Data\SOUND folder.
position is the source of the sound e.g.:
PlaySound3D("horn3_2.wav", mothership:GetPosition(), 1);
will make horning mothership at max volume :grin:. You have to place it in the right function or create own trigger to activate it.

if you want to add this to trade station dialog you can search dockstation.script for function: "__TradeStationDock_Ok". This function is executed when you click "V" when asked for docking. Function should look like this:

function __TradeStationDock_Ok()
local MothershipPilot = mothership:GetPilot();
local MothershipFlight = MothershipPilot:GetFlight();
MothershipFlight:Stop();
PlaySound3D("horn3_2.wav", mothership:GetPosition(), 1);
UpdateTradeSystem(FALSE);
TradeStationDlg(_param);
end;
As example I've added horn3_2.wav that exists in the sound folder

for "X" there is function:
function __TradeStationDock_Cancel()
end;between these two lines you can add another sound.

Goblin Wizard
04-03-2010, 04:06 PM
New header "FILETYPE MODDING" will help you ;)

"FILETYPE STANDART" wouldn't work properly with "active dialogs" tasks

I don't know why but FILETYPE MODDING doesn't work at all for me. It gives "unknown file type MODDING" in the log.

Rastix
04-03-2010, 05:00 PM
I don't know why but FILETYPE MODDING doesn't work at all for me. It gives "unknown file type MODDING" in the log.wait for 1.12

Goblin Wizard
04-03-2010, 05:07 PM
wait for 1.12

Are you from dev team? Do you know something more about upcoming patch?

Nanaki
04-03-2010, 07:42 PM
Just got done doing some playtesting... the convoys are very strong, and their loot fairly reasonable. My early-game group of Ternie, my main character, and the Mastiff can barely take down a Pirate convoy, and this is with my Mastiff equipped with Kali, Smog, and Tungsten as well as a single Helios turret and a Vindicator turret (Yay for Paymaster's loot!), my fighters were first generation excaliburs equipped with third generation equipment (Stronghold, Squall, and Avenger cannon). The Pirate convoy was very difficult to deal with none the less, and required a lot of luck and quite a few retries in order to finally take down.

Killed about 3 convoys, from the first convoy I got two Pirate Yaris, a bit dissapointing considering the difficulty... from the second convoy I got a Naginata and a Cleaner, also somewhat dissapointing but at least the Cleaner was an improvement on the Excaliburs I was using. From the third convoy I got a Black Stormcrow and a Gunslinger.

Other than the ships, I got nothing really noteworthy, a lot of vendor food (containers) and a LOT of S-32 Hellstorm rockets.

Overall, the difficulty and the loot seem very balanced, with even pirate convoys (being the weakest as they lack fifth generation fighters and generally are poorly equipped) being quite a challenge.

If any of you guys want, I can post the mod.

Goblin Wizard
04-03-2010, 07:49 PM
What are you waiting for? Give us the link.:)

Nanaki
04-03-2010, 08:07 PM
This should contain everything it needs to work, on top of adding convoys it also makes all stations in the universe indestructable (except those that have to be destroyed for plot/objective purposes). The reasoning for this is that, for one, theres not much reason to destroy stations anyway, and the second reason is that stations have a tendancy to accumulate damage, that cannot be repaired, due to AI colliding with them.

In addition, it also doubles the rate of spawning in the universe, and fixes some bugged spawns.

Rastix
04-03-2010, 09:21 PM
Do you know something more about upcoming patch?

it's minor update
some mission bugfixed
modding option unlocked (filetype modding)

tsavo
04-04-2010, 02:18 AM
the same as what?


you place "wav" file in the ..\Data\SOUND folder.
position is the source of the sound e.g.:

will make horning mothership at max volume :grin:. You have to place it in the right function or create own trigger to activate it.

if you want to add this to trade station dialog you can search dockstation.script for function: "__TradeStationDock_Ok". This function is executed when you click "V" when asked for docking. Function should look like this:


As example I've added horn3_2.wav that exists in the sound folder

for "X" there is function:
between these two lines you can add another sound.

busy dis week, will try later
thanks anyway:cool:

Goblin Wizard
04-04-2010, 04:05 PM
I don't know why but FILETYPE MODDING doesn't work at all for me. It gives "unknown file type MODDING" in the log.
wait for 1.12
Yeah! I've managed to avoid this problem. The solution is simple. You can place your "loc" files in the main ..\LocData\English folder. All files there have "FILETYPE STANDART" header so your new file won't mess up the whole folder. It works there even it's not right place (mine should be in the Trade folder). This folder holds core loc files so I think all files there are executed at the start of the game.
At last I've got clear log.:-)

Rastix
04-04-2010, 05:05 PM
Yeah! I've managed to avoid this problem. The solution is simple. You can place your "loc" files in the main ..\LocData\English folder. All files there have "FILETYPE STANDART" header so your new file won't mess up the whole folder. It works there even it's not right place (mine should be in the Trade folder). This folder holds core loc files so I think all files there are executed at the start of the game.
At last I've got clear log.:-)

There are many ways to "avoid problem" :grin:

You can place all your loc-files in English folder
You can place all your text in ONE loc file
But all methods have their own issues



you place "wav" file in the ..\Data\SOUND folder.
position is the source of the sound e.g.:

will make horning mothership at max volume :grin:. You have to place it in the right function or create own trigger to activate it.

if you want to add this to trade station dialog you can search dockstation.script for function: "__TradeStationDock_Ok". This function is executed when you click "V" when asked for docking. Function should look like this:


As example I've added horn3_2.wav that exists in the sound folder

for "X" there is function:
between these two lines you can add another sound.

And you have tried this method?;)

Goblin Wizard
04-04-2010, 05:31 PM
There are many ways to "avoid problem" :grin:
You can place all your loc-files in English folder
You can place all your text in ONE loc file
But all methods have their own issues

"ONE loc file". Which one? Any special?
Could you tell more about these issues? I've got clear log so I assumed that's all right.

And you have tried this method?;)

Yes. I've tried. It works and gives clear log (I try to be serious when advising someone). I'm not so much interested in this so I haven't made more tests. I feel you have something to say about this, don't you? ;)

Rastix
04-04-2010, 07:51 PM
"ONE loc file". Which one? Any special?
Could you tell more about these issues? I've got clear log so I assumed that's all right.



Yes. I've tried. It works and gives clear log (I try to be serious when advising someone). I'm not so much interested in this so I haven't made more tests. I feel you have something to say about this, don't you? ;)

No, not special. Simple "loc" with all dialogs placed in one file
Dialogs aren't working properly, sometimes players answers are played as npc answres and vice versa


Yes, i have something to say ;) Your script isn't work properly. Activating docking procedures disabled wav file executing

Goblin Wizard
04-04-2010, 10:00 PM
I've just checked and you are wrong. Docking at station doesn't stop wav file playing. Playing second wav file doesn't stop first too. I can't see why my script isn't working properly. It does exactly what I've expected.

tomvd
04-13-2010, 06:24 PM
Thx a lot Nanaki, Random contact with major fleet was something which was lacking in the game !

Nanaki
04-13-2010, 07:19 PM
A bit of an update...

I have been studying the modded fleet random contacts script of the RealSW2 mod, All in all there is about 150 kilobytes worth of code, and unfortunately getting it to work with SW3 will not be easy, if possible at all. I studied the code a lot, and there are a lot of differences between it and similar SW3 code. Creating a hybrid of that and similar SW3 might be possible, but is far beyond my capabilities in lua.

The more I think about it, the more I am thinking I should tackle this problem in a different direction. Instead of trying to adapt a modded SW2 script to work with SW3, I think it would be easier to simply modify existing SW3 script.

gabriel_braun
04-17-2010, 12:02 AM
Is nobody interested in random contacts? :(

I'm very interested in where you're going with this Nanaki, I even stopped trolling and registered to dl your mod =)

Nanaki
04-17-2010, 11:42 PM
Lately I have been experimenting with number randomization and using them in createflight scripts. The results are encouraging.

The only thing left is to figure out how to properly spawn and delete escorts. Spawning them and giving them orders is easy enough. The hard part is getting them to recognize that the parent ship is despawned (after passing through a jumpgate) and despawning along with it.

Unfortunately, with the way I plan things out, if the parent capital ship is destroyed (and not despawned), the escort ships will permanently stick around in the sector. There is no way to avoid this, as the only alternative is even worse: Ships despawning the instant the mothership dies.

Goblin Wizard
04-18-2010, 12:15 PM
The hard part is getting them to recognize that the parent ship is despawned (after passing through a jumpgate) and despawning along with it.
You probably tried "died" and "f_died" triggers so what about despawning them simple by trigger when they are near the gate (while before escorted object jump). just an idea.


Unfortunately, with the way I plan things out, if the parent capital ship is destroyed (and not despawned), the escort ships will permanently stick around in the sector. There is no way to avoid this, as the only alternative is even worse: Ships despawning the instant the mothership dies.
What you really want them to do when the escorted ship is destroyed?

Nanaki
04-18-2010, 12:28 PM
You probably tried "died" and "f_died" triggers so what about despawning them simple by trigger when they are near the gate (while before escorted object jump). just an idea.


My current thinking is taking it along the lines of, when the mothership jumps, it will return a 'True' condition to the triggers of the escorts, causing them to jump as well.

I have not written the script yet, though. I spent most of yesterday doing additional experiments with specials.script.


What you really want them to do when the escorted ship is destroyed?


If the mothership dies, the escort Fighters will stick around until after the battle is finished (no more enemies on the scanner), than jump out.

Goblin Wizard
04-18-2010, 12:58 PM
If the mothership dies, the escort Fighters will stick around until after the battle is finished (no more enemies on the scanner), than jump out.

Yes, that's tricky. SetAllDied function needs all flights to be called by name but you don't know which flight the escort will meet. Now the only idea is time trigger like about 5 mins after escorted ship died all remaining escort goes out. It should be more than enough to end the battle. Not really a solution but still better than instant despawn or infinite hanging in space.

Nanaki
04-18-2010, 06:08 PM
Infinite hanging in space is probably not all that bad, it already occurs with trader fleets/Convoy fleets that lose their mothership, usually the remaining escorts are destroyed by other random contacts.

gabriel_braun
04-19-2010, 04:42 AM
True, and unless you can't manage to kill escorts within 5 mins then it means that you're running away!

Either way, once the host ship is killed either the escorts win or they have to rabbit... 5 mins is more than enough to see if a conflict is going your way, however I wonder at a random variable being introduced that might call for convoy-specific faction re-enforcements.... somewhat like ternie's call for precursors but occurs on a random 1-10 chance of the convoy host despawning/destroyed?

gabriel_braun
04-19-2010, 10:12 PM
Any further progress nanaki?

Nanaki
04-19-2010, 10:23 PM
I tried actually implimenting the script, and it ended up being a total failure. I cannot figure out why even a basic flight spawn script fails to spawn anything whatsoever. Logs are telling me nothing, so I have no clue why its not working.

At this point, I am very close to just giving up on the whole thing.

local escort1 = NewNavyFlight(groupName, "escort1_"..__formation_number, currentContact[3][portalStartIndex]:GetEntryPoint(10), 1, 6, currentContact[3][portalStartIndex]:GetOrientation());
local mainship;
mainship = getglobal("flight_randomformation_"..__formation_number);
local _pilot = mainship:GetPilotByNumber(1);
local _ship = _pilot:GetShip();
escort1:Escort(_ship);

This was directly inserted into the trigger generator function.

This is the most simplified script that generates no errors. This is -supposed- to spawn a Old Empire flight with every random contact, and escort the flight it spawns with. However, when I actually go in-game, nothing happens.

Goblin Wizard
04-19-2010, 10:47 PM
It's really hard to say anything. Looks like some tables are involved too. IMO If it works in SW2 you should start modifying there until you understand every part of the script.

Nanaki
04-19-2010, 10:54 PM
It's really hard to say anything. Looks like some tables are involved too. IMO If it works in SW2 you should start modifying there until you understand every part of the script.


I do not have SW2 installed.

I understand every part of the script, the Table is the randomcontacts list, which is stored in Randomcontacts.script and used multiple times in the function I modified (Check it out for yourself, look at the trigger_generator_Action function)

I inserted the code between
local flight = currentFunction(groupName, "randomformation_"..__formation_number, currentContact[3][portalStartIndex]:GetEntryPoint(10), strength, currentContact[3][portalStartIndex]:GetOrientation());

- This spawns the random contact.

and
__formation_number = __formation_number + 1;

- This adds 1 to the formation number (Each spawned random conctact will be named like Flight_Randomformation_1, Flight_Randomformation_2, etc. etc. etc.)

No reason why it should not work. None.

Goblin Wizard
04-20-2010, 11:01 AM
I do not have SW2 installed.
For higher purposes uncle Torrent can help you.;)

I understand every part of the script
No reason why it should not work. None.
I don't want to be rude or something but if this script is supposed to work but you can't managed it to work - you don't understand all of it. The engine has been changed (SW2/SW3) so it can handle same functions different way (guess work only). Maybe it collides with other flights in the system. Try to make your own blank system and add part by part. I think SW2 will be really helpful.
---- EDIT----
Hmm... the whole problem just get me interested. One thing I've found - your inserted code has the same variables names as are used for TRADER_FLIGHT (near the end of this function). This may effect with no escort and even no trader flights. IMO you should avoid using the same variables names for different purposes in the same function.

Nanaki
04-20-2010, 12:04 PM
For higher purposes uncle Torrent can help you.


I own the game from Steam, just I do not have it installed.


I don't want to be rude or something but if this script is supposed to work but you can't managed it to work - you don't understand all of it. The engine has been changed (SW2/SW3) so it can handle same functions different way (guess work only). Maybe it collides with other flights in the system. Try to make your own blank system and add part by part. I think SW2 will be really helpful.


I cannot see how SW2 will be useful when I never modded anything on it.


Hmm... the whole problem just get me interested. One thing I've found - your inserted code has the same variables names as are used for TRADER_FLIGHT (near the end of this function). This may effect with no escort and even no trader flights. IMO you should avoid using the same variables names for different purposes in the same function.


Tried changing variable names, still does not work.

--EDIT--

*HEADDESK*

MY SCRIPT WAS WORKING THIS ENTIRE TIME.

http://img442.imageshack.us/img442/5411/starwolves8.jpg

I edited the Tug the player gets in the beginning to have 100000 Sensor length (basically, the whole map) and 0.2 Sensor resolution. I figured that would be enough to detect anything.

Nope. Had to change sensor resolution to 0.0 for it to properly detect the escorts spawning becide the random contacts.

Rastix
04-20-2010, 12:29 PM
The engine has been changed (SW2/SW3) so it can handle same functions different way (guess work only).You are wrong:-P Some functions are added and none of them removed:) It's possible to remove all new optimized functions and copy old sw2 functions to have 95% working version of SW2 on more stable sw3 engine

Goblin Wizard
04-20-2010, 12:31 PM
At last good news:) Congratulations Nanaki.

You are wrong:-P Some functions are added and none of them removed:) It's possible to remove all new optimized functions and copy old sw2 functions to have 95% working version of SW2 on more stable sw3 engine
Let me know one thing - Is it possible to have 2 pilots in mothership like in SW2? and how?

gabriel_braun
04-20-2010, 03:23 PM
Grats nanaki, good idea with the tug; excellent debugging tool!

Rastix
04-20-2010, 06:44 PM
At last good news:) Congratulations Nanaki.


Let me know one thing - Is it possible to have 2 pilots in mothership like in SW2? and how?

It's not possible at all. This functionality was remove. But are we speaking about engine or scripting ? ;)

Nanaki
04-20-2010, 06:55 PM
Well, now I have to figure out how to do the despawn script. Unfortunately, I have not the foggiest idea on where to start. I have been trying different ideas but all of them have failed so far.

Basically, I need the escort ships to despawn whenever the primary capital ship passes through a gate. The hardest part is making sure im despawning the correct escorts. My current attempt is focusing upon naming escort ships the exact same names as their parent ships, and adding an _escort1, _escort2, etc. etc. etc. at the end. Then, when the script is called to delete that random contact, it would also call deletion scripts for its escorts:

function trigger_inside2portal_Action()
--SLOG("Action done....");
local myTriggerContext = GetTriggerContext();
local flight = myTriggerContext:GetFlight();
flight:Delete();

local escort1 = flight.."_escort1"
escort1:Delete();
end;

Only problem was, it spat out an error:
[ScriptSystem] error: attempt to concat local `flight' (a table value)

So the triggers use tables? Getting data out of it is going to be harder than I thought, it seems.

Goblin Wizard
04-20-2010, 07:11 PM
It's not possible at all. This functionality was remove. But are we speaking about engine or scripting ? ;)
Thanks for the answer but I'm afraid this discussion will get us nowhere. Let's make it clear: You are generally right. The SW3 engine was changed but it can handle all functions the same way as previous SW2 engine.

Goblin Wizard
04-21-2010, 08:11 PM
It's not possible at all. This functionality was remove.

Your answer has encouraged me to check the whole thing. I've been thinking - IMPOSSIBLE?? I CAN DO IMPOSSIBLE;)). Short story - I have Brina and KT back with two perk trees combined. I can even tech them new perks. It's better - I can teach any AI new perks. It's a little tricky. Because AIs can't gain skill points they use points stored by one of your other pilots. When one of your pilot has gained enough exp you go to my maintenance station shop and buy a perk. Nice and simple. The only problem is that you have to keep track of all bought perks somewhere outside PC (you can't see AI perk tree). I'm just testing it. Script needs some polishing.

Nanaki
04-22-2010, 03:13 PM
Update:
Script is now fully operational. It properly spawns capital ships, their escorts, and properly despawns them as soon as they hit the jumpgate. It can spawn anywhere from one to four escort flights (two and one being the most common). Power has no effect on how many escorts spawn (so even a cap flight of a power level of 1 can have 4 escort flights... that is a lot of brigands)

Escort flights are random in power (although they do have an upper and lower cap, dependant on the Strength level of the randomcontact), and have a 66% chance of being a fighter flight, and a 33% chance of being a bomber flight.

After I finish making sure the script has no bugs, and perhaps cleaning it up a bit, I am likely going to revamp the ship spawning script, specifically the capital ship tables. As it is, almost half of the capital ships spawned in the table are freighters, and a freighter leading a fleet to the front lines is not really appropriate.

Nanaki
04-26-2010, 04:28 PM
Update:
The mod is mostly finished. I modified most of the location files and added fleets, convoys, and flights to many of them. Many of these random contacts also have additional waypoints, which means they will loiter in a system longer and visit more places. Certain randomcontacts in certain systems had broken waypoints, so that was fixed as well.

So far, in most systems, flights have a 50% chance to spawn every time it runs the script (varies by system, usually 60 seconds), Fleets and Convoys both have a 10% chance to spawn. Pirates in the Triada systems have a mostly 25% chance of spawning a flight, and a 5% chance of spawning a fleet/convoy, so caution is recommended when travelling in Triada systems.

My Convoy script was gutted and redone to be exactly like the Fleets, except that they have 2-3 escort flights as opposed to 1-4 escort flights. Convoy flights are easier to poach, but the added fleets make gate camping risky and forward reconnassiance a must, since you have no idea weither a convoy is going to come out of a gate, or a very angry fleet consisting of a capital ship and four flights of fighters.

Overall, the only thing that is left is making changes to capital ship loadouts (such as equipping GKGuns to Pirate motherships) and testing the mod.

Update2: It seems like something broke... escorts are not spawning anymore.

Trucidation
05-13-2010, 01:12 PM
I agree, space is entirely too damn quiet for a war to be going on - this mod sounds freaking awesome but is it still giving you trouble? I noticed that the convoy mod you posted a couple posts back is larger than the fleetmodbeta attachment.

Nanaki
05-13-2010, 02:48 PM
I agree, space is entirely too damn quiet for a war to be going on - this mod sounds freaking awesome but is it still giving you trouble? I noticed that the convoy mod you posted a couple posts back is larger than the fleetmodbeta attachment.

The fleetmodbeta attachment was meant for other people to look at to see if they can fix the issue, unfortunately im just not good enough with Lua to fix it myself. It only comes with the barebones script and does not completely work on its own (it is missing the randomcontact entries for the convoys and fleets). I did complete the work on the location files, but I figure theres no point in distributing a full version of the mod until I (or someone else) figures out how to fix this very serious bug that the mod has.

The issue lies with the GetRandomPortalIndexes function, listed below:

function GetRandomPortalIndexes(portalList)
local portalCount = getn(portalList);

if portalCount == 1
then
return {1, 1};
end;

local randomIndex = RAND(portalCount) + 1;
local newPortalIndex = randomIndex;

while (newPortalIndex == randomIndex)
do
randomIndex = RAND(portalCount) + 1; -- RAND is ZERO based
end;
return {randomIndex, newPortalIndex};
end;


The script works fine as long as portalCount does not equal 1. However, if Portalcount equals one, the despawn script for the flight's escorts prematurely triggers, which results in a capital ship's escorts despawning literally milliseconds after they spawn. Thus while this script works perfectly in certain systems (especially with multiple jumpgates), all capital ship spawns that are limited to only one jumpgate will spawn with no escorts whatsoever.

Here is the despawn trigger below:


local escort1 = getglobal("flight_randomformation_"..__formation_number.."_escort1");
if escort1 ~= null then
local escort1 = getglobal("flight_randomformation_"..__formation_number.."_escort1");
local trigger_deleteescort = CreateTrigger();
trigger_deleteescort:AttachEvent(_EVENT_FLIGHTINSI DEOBJECTVOLUME);
trigger_deleteescort:SetObjects(escort1, currentContact[3][portalEndIndex], 120);

trigger_deleteescort:AttachCondition(trigger_delet eescort_Condition);
trigger_deleteescort:AttachAction(trigger_deletees cort_Action);
trigger_deleteescort:Activate();
end;



function trigger_deleteescort_Condition()
local myTriggerContext = GetTriggerContext();
local portal = myTriggerContext:GetDestinationObject();
local flight = myTriggerContext:GetFlight();
local pos = flight:GetPosition();

portal:Start(5, 0);
return TRUE;
end;

function trigger_deleteescort_Action()
--SLOG("Action done....");
local myTriggerContext = GetTriggerContext();
local flight = myTriggerContext:GetFlight();
flight:Delete();
end;


It annoys me because I know what the problem is, but I have not the foggiest idea how to fix it.

skrzacik
05-18-2010, 06:13 AM
Nanaki
i need this mod !!!!
do anything what u cn becouse is a little to quiet in space
good luck with modding

Trucidation
05-18-2010, 09:24 AM
Nanaki, if I understand correctly, GetRandomPortalIndexes is to set a destination portal for a convoy/fleet? So in a system with only 1 portal, the destination portal = start portal, right?

I think the problem is when the fleet spawns it also runs through the "are we at the destination portal yet?" check, so it despawns immediately. We need a way of telling the fleet to NOT check for destination until it's reached at least 1 waypoint.

Nanaki
05-18-2010, 05:38 PM
The problem is that Triggers are the only way to have code remain with ships persistently... SW triggers are really limited in what they can do. The only decent solution I have come up with so far involves attaching a timer trigger to the despawn trigger, where it will only activate after 60-120 seconds. Now, if the spawned fleet hangs around the gate for longer than that for whatever reason (fighting, traffic, etc) then it will still bug out, but considering that is mostly rare for the most part, it will definatly reduce the issue to a minimum. Wont eliminate it entirely though, im afraid.

Trucidation
05-19-2010, 12:43 AM
So no flags to check whether they've moved at least 1 waypoint before triggering the despawn?

Oh well, a timer is fine too. The only issue I see is if the spawn is hostile; when the player portals in and fights them, they'll despawn in mid-battle when the timer is finished, right?

Nanaki
05-19-2010, 01:31 AM
So no flags to check whether they've moved at least 1 waypoint before triggering the despawn?


Nope. Triggers are rather limited on what they can and cannot do.


Oh well, a timer is fine too. The only issue I see is if the spawn is hostile; when the player portals in and fights them, they'll despawn in mid-battle when the timer is finished, right?

That is correct. As I said, its not a perfect solution, but its the best one that I can do given the limited knowlege and tools at my disposal.

skrzacik
05-19-2010, 11:47 AM
Is any way to incrase numbers of fighters in pirates patrol
i ask becouse fights are to easy even when i take hard difficult
max what i saw was 5 fighters
is any way to make 10 fighters patrols without complicated script modding?

Goblin Wizard
05-19-2010, 12:11 PM
Every sector has his own activate.script. You can find there lines like this:
NewPirateFlight("PiratesGroup_1", "pir01", Vector3(0, -10, 0), 1, 14, Vector3(3, 0, 1));
"14" stays for quantity and quality of fighters being spawned. It's further modified by difficulty level. You can choose value between 1 and 20. Without modifying tables you won't get more than 6 ships in a group.

Inside RandomContacts.script you can find:
local strength = ComputeRandomInvervalValue(power-4, power+3);
change this line to:
local strength = 20;
and randomly spawned groups will always have max power.

skrzacik
05-19-2010, 12:16 PM
six is better than five but what file i have to lookin for to make this changes?

im quite dummy with scripting

Goblin Wizard
05-19-2010, 12:27 PM
just try to find "activate.script" or "randomcontacts.script" file inside SW3 folder. When you will find these files just open it and search for the lines (given in my previous post).

skrzacik
05-19-2010, 02:25 PM
thank u Goblin Wizard

now i have a little more fun :)

Nanaki
05-19-2010, 05:27 PM
Huge Success.

I fixed the problem. Switching the trigger over to a timer trigger was trickier than I had originally expected, but it works like a charm. One thing I do recommend, however, is to not engage fleets near portals. Luckily, I set up the spawns so that NPCs usually will not fight eachother near gates, and most of the fighting (If there is any fighting) occurs in the middle of the sector or at mission-critical spots.

The only thing thats left is to finish setting up the spawns for the Debris cluster, and I am going to test this script some more and make sure no other nasty suprises come at me.

Goblin Wizard
05-19-2010, 05:57 PM
Nice, really nice. How big are the randomly spawned groups? From my experience any group that have more than 6 ships acts really strange. Looks like game engine has fixed group size to max 6 ships.

Nanaki
05-19-2010, 06:14 PM
You must mean flights, and no, no flight has more than 6 fighters assigned to them. Rather than assign all ships to one flight, like I did in my original Convoy mod, I am using triggers to spawn multiple flights to escort a central ship. These escorts are escorting either a capital ship (in the case of fleets) or a transport (in the case of convoys).

The size of the group depends on what the random generator spits out. Fleets can have anywhere from one to four escort flights. Convoys have 2-3 escort flights. Each escort flight has anywhere from 3-6 ships. So you can have a fleet with 25 ships total max. Although fleets with 1 or 4 escort flights are rather rare, 2 and 3 are more common numbers, which you will usually have roughly 10-15 ships.

Fleets can be found in many places, although convoys can only be found in systems where they are not likely to be destroyed by other random contacts. Certain systems are specifically designed to have the potential for opposing fleets to fight eachother.

Currently, both fleets and convoys are very rare, with a roughly 10% chance to spawn with each spawn check.

By the way, im reading Starrover.ru, I noticed you asked about specials.script, why didnt you ask me? I can help you with anything regarding that script. Would love to register to starrover.ru, but for some reason I am not getting the confirmation email.

Goblin Wizard
05-19-2010, 07:08 PM
By the way, im reading Starrover.ru, I noticed you asked about specials.script, why didnt you ask me? I can help you with anything regarding that script.
I figured out most of things by myself but I was curious if they know any more details.
Would love to register to starrover.ru, but for some reason I am not getting the confirmation email.
Do not change forum language to English during registration. You have to do all in russian layout. If this won't help send email to admin. He can register you manually. Just send him your desired login, pass and email. If he won't respond to mails let me know.

Nanaki
05-19-2010, 09:35 PM
I figured out most of things by myself but I was curious if they know any more details.


Or I could just give you my copy of the Specials.script, I used it to prototype many ideas I had for the Randomcontacts script, as well as doing many other things, such as:

1: Spawning fleets as opposed to single flights.
2: Randomizing the power and type flights spawn at.
3: Adding additional spawn abilities without altering previous abilities
4: Randomizing the faction flights spawn as.

Goblin Wizard
05-19-2010, 10:24 PM
Or I could just give you my copy of the Specials.script, I used it to prototype many ideas I had for the Randomcontacts script, as well as doing many other things, such as:

1: Spawning fleets as opposed to single flights.
2: Randomizing the power and type flights spawn at.
3: Adding additional spawn abilities without altering previous abilities
4: Randomizing the faction flights spawn as.

Sure. Send me a pm. I'll be very happy to see some new ideas. Thanks.

Nanaki
05-20-2010, 02:45 PM
Well, I just started testing under normal conditions again. I just watched a Pirate Fleet consisting of a heavily armed Mastiff (including GK Guns) along with four pirate fighter flights enter Torr and rip apart numerous NESF Squadrons stationed around the sector. Unfortunately I could not engage them myself, I only had the Hero, Ternie, and my poorly equipped Mothership. It was brutal, and unfortuantely for the NESF none of their fleets were around to stop the pirate rampage.

As far as the specials.script, here you go. I do not recommend using it in your mod, though, since it needs other files as well in order to work properly.

skrzacik
05-20-2010, 02:57 PM
it this mean that mod random contacts is almost ready?

im so happy

how long it take to prepare ready mod for us simple people??

Nanaki
05-20-2010, 04:09 PM
No idea. I would like to test through it some more, make sure no other serious issues crop up.

Edit:
Things are certainly better. However, two issues have cropped up.

1: Certain transport ships, Pirate Walruses to be specific, are faster than their escorts. This results in significant pathing issues and balance issues (it is very easy to kill a transport when its escorts are a mile behind it...). Best way to fix this would be to slow Pirate Walruses down.

2: Traders. Poor, poor traders. With all the firepower being thrown around between various factions, I have mostly left traders alone, which has resulted in their 2-4 fighter escorts looking woefully undergunned. This results in traders seldom ever reaching their destinations, and tradeship wrecks strewn across the sector.

Goblin Wizard
05-20-2010, 08:10 PM
I'm just reading your Specials.script and have questions:

1. Originally there are 3 types of global variables local_num and init_team (local_num, local_num1, local_num2). I've tried add local_num3 and got error (in line "local_num3 = local_num3 + 1;". You have this local_num3 and init_team3 in one of your functions. Is there any trick involved to get these to work?

2. What about level of summon perks? How to avoid disappearing lower level perks when get higher of the same type?

3. Every flight has two triggers that look nearly the same. What are their roles? First deletes flight when ... all enemies will be dead? But second?

Nanaki
05-21-2010, 12:31 AM
1. Originally there are 3 types of global variables local_num and init_team (local_num, local_num1, local_num2). I've tried add local_num3 and got error (in line "local_num3 = local_num3 + 1;". You have this local_num3 and init_team3 in one of your functions. Is there any trick involved to get these to work?


You have to define them at the beginning of the function, like so:
local_num3 = 0;
init_team3 = 0;


2. What about level of summon perks? How to avoid disappearing lower level perks when get higher of the same type?


Not possible. Each pilot can only have a maximum of 4 seperate summon perks (by using different levels of the four current perks). I attempted to add additional summoning perks a long time ago, but I found out the XML Schema files are hardcoded in the exe, so that is not possible either.


3. Every flight has two triggers that look nearly the same. What are their roles? First deletes flight when ... all enemies will be dead? But second?


One deletes the summoned flight, the other creates the portal glow special effects used when the summoned flight is deleted.

skrzacik
05-21-2010, 02:50 AM
just try to find "activate.script" or "randomcontacts.script" file inside SW3 folder. When you will find these files just open it and search for the lines (given in my previous post).

to be honest i found 114 files wit that name activate.scrpit
have i change them all???

Goblin Wizard
05-21-2010, 05:57 AM
Change these which sectors you want to have better pirate flights. If you want all you have to change every file.

Nanaki
05-22-2010, 12:59 PM
Okay, I refined my mod a bit.

Escort Flights, when approaching within 120 meters of the portal, will automatically fly towards the middle of the portal. When they fly within 10 meters, they will be removed. This is mainly a visual and balance improvement, as before they would be automatically removed within 120 meters, which made it easy to ambush a convoy at the portal.

Trader flights no longer have their built in escorts of 1-4 fighters. Instead they will have escort flights similer to the Convoy and Fleet scripts. As of now, they have 1 to 2 escort flights. I also disabled the SOS Command, as it is no longer necessary.

Pirate Walruses now move much slower, in order to remove the problem of these ships outrunning their escorts.

More testing will need to be done to see how these new changes would work. If the tests confirm these functions work, the mod will be packaged and released to you guys.

Nanaki
05-24-2010, 03:06 PM
Here it is, the first official release of the fleetmod. Like all mods, I highly recommend you backup your Scripts and Game folders (in your SW3 directory) before installing this mod.

My mod is, in its default form, is not compatable with Goblin Wizard's mod. However, the only conflicting file is Carcasses.xml. The only changes I made to Carcasses was editing the Pirate Walrus, and adding the Azure Stormcrow (stormcrow_mk3), so with a little editing you should be able to make our mods compatable with eachother.

DO NOT download and use Convoy mod anymore, as Fleet Mod improves on everything Convoy Mod has done.

Edit: I just realized I kinda screwed up, I forgot to include the english locdata file necessary to properly see the Azure Stormcrow's name and description...

skrzacik
05-24-2010, 08:32 PM
My mod is, in its default form, is not compatable with Goblin Wizard's mod. However, the only conflicting file is Carcasses.xml. The only changes I made to Carcasses was editing the Pirate Walrus, and adding the Azure Stormcrow (stormcrow_mk3), so with a little editing you should be able to make our mods compatable with eachother.



it means that i have to not copy carcasses file from ur mod and only copy goblin wizards mod instead with rest of ur files and should be compatible together????

or we have to wait till u or goblin wizard make them compatible

im not strong enough with scripting thats why i asking u guys

Nanaki
05-24-2010, 08:49 PM
Both our mods require the appropriate carcasses entries in order to work, mine because of the Azure Stormcrow and the Pirate Walrus changes, his because of the Raven, Mataris, Bastard, and Scolm he implimented from SW2.

The changes take five seconds to do, but ill upload the zip anyway. Also uploaded is the missing locdata from the original zip.

Download GoblinCompatable ONLY if you plan on using Goblin's Mothership Mod, and extract the file to your Game folder.

Everyone who downloads Fleet Mod should download Locdata.zip regardless of weither you plan on using Goblin's Mod or not, extract the contents into your locdata directory. Make sure you back up your locdata folder first.

skrzacik
05-24-2010, 10:42 PM
im just finish a little tes and is so happy becouse space is not empty

after few combats with pirate fleets i can say GREAT WORK NANAKI

thank u

now i have to wait for improwed gui by goblin wizard and this fantastic game take lots of my time again

thank u again Nanaki

Trucidation
06-09-2010, 01:06 PM
it's minor update
some mission bugfixed
modding option unlocked (filetype modding)
Hello Rastix, do you have any other information on version 1.12?

You can easily add sound nearly anywhere you want. You need only this line:
PlaySound3D("wav filename", position, volume[0..1]);
Was just revisiting some older posts when this reminded me of a side project, adding "locking on target" beeps to missile launches (I played too much Wing Commander when I was young, lol). Not priority though, I haven't found appropriate sound yet. Space is still too quiet.

Edit:
Just realised entries in Rockets.xml have <work_sound> tags. This is a bit odd, as the explosion sound is in the explosion script (need to read through the whole chain of files, it's in the last one iirc) -- so I'm not sure what the work_sound tag is for. Then I saw that Carcasses.xml also uses work_sound tags for some ships' engine sounds. So I'm guessing those tags missiles use is for when the missiles are in flight.

-
Guys, do you know the difference between text that activates the conversation screen (press "L") and text that just appears on top of the screen? It's not easy to explain, I'll show pictures. Screenshot #1 shows conversation screen dialog - I believe the game is paused at this time. Screenshot #2 shows "chatter" - it stays on top of the screen for a few seconds before disappearing, it doesn't take any input from the player, and it doesn't make the conversation screen pop down.

I was wondering whether it's possible to attach triggers to a flight so that, when you come within range, some "chatter" text will display. (Not worrying about sound yet, just trying to see if making chatter appear is possible.)

If making chatter text is possible then I volunteer to find enough text to put in. Heck, if we can find out the relationship / disposition of that flight's faction to the player we can vary the kind of chatter as well (friend greetings, neutral greetings, tell to get lost, etc).

Goblin Wizard
06-09-2010, 01:53 PM
Guys, do you know the difference between text that activates the conversation screen (press "L") and text that just appears on top of the screen?
For example function StartDialog("Dialog_file_name") activates conversation.
function pilot:Message("#string_name") just displays text window with pilot face on the left.

I was wondering whether it's possible to attach triggers to a flight so that, when you come within range, some "chatter" text will display. (Not worrying about sound yet, just trying to see if making chatter appear is possible.)

If making chatter text is possible then I volunteer to find enough text to put in. Heck, if we can find out the relationship / disposition of that flight's faction to the player we can vary the kind of chatter as well (friend greetings, neutral greetings, tell to get lost, etc).
All you said is possible. The problem is that trigger reacts only on certain object. Trigger function checks object by id/name. You have to know the object id to set the trigger. You can't make trigger like "if an object in the area is frindly - say this, if hostile say that."
To get it works, you need to redone all flights creation scripts. Every newly created flight (id) has to be added to the dynamic table. Instead of one object the trigger will check the whole table. It's a lot of work. You will have to change every loacation script and all quests.

Trucidation
06-09-2010, 02:09 PM
Oh, only wanted them to "chatter" to player, not to each other -- that would be nice but too much work. Hmm, ID... for the player that would be the mothership right? That's how quests seem to trigger - if you fly to the target area with a fighter nothing happens.

Little things like traders greeting you, pirates telling you to stay out of their way, mercenaries bragging how much they made in the last job, the MSF warning you not to idle around busy flight lanes. If cannot detect relationship (friendly/neutral/etc) is ok, simply stick to using neutral greetings.

Goblin Wizard
06-09-2010, 07:04 PM
Little things like traders greeting you, pirates telling you to stay out of their way, mercenaries bragging how much they made in the last job, the MSF warning you not to idle around busy flight lanes. If cannot detect relationship (friendly/neutral/etc) is ok, simply stick to using neutral greetings.
You can detect relationship by GetTeamRelation() function.
If you only want other ships say something to you (mothership) it's easy. You attach trigger to certain flight which activates when near mothership.
My explanation was about situation when you want to attach trigger to mothership which activates when near other ship. This is much harder.

Nanaki
06-09-2010, 07:29 PM
You can detect relationship by GetTeamRelation() function.
If you only want other ships say something to you (mothership) it's easy. You attach trigger to certain flight which activates when near mothership.


In fact this is already in-game and used with the Trader random contacts.

Trucidation
06-09-2010, 09:42 PM
In fact this is already in-game and used with the Trader random contacts.
Yes, exactly. I just want other ships to say something when the mothership comes within range. Can this text be chosen randomly from a list? I haven't really looked at this part of scripts.

Rastix
06-09-2010, 09:44 PM
Hello Rastix, do you have any other information on version 1.12?


It's delay due some minor additional tweaks

Trucidation
06-10-2010, 12:46 PM
Dialog files that use coding have header "FILETYPE DYNAMIC". If you change it to "FILETYPE STANDART" you can write plain text messages. Of course, if you change existing coded dialog to STANDART you must copy all dialog options from the game and retype them, otherwise, you will see that strange sequences of signs in the game . That's why I've made new dialog files for my motherships buying script.
I'm feeling sufficiently annoyed with my frustrations on the other scripts to take a break and tackle these instead. However, I haven't looked at missions at all so I'll need some starting clues:

1) \Data\Scripts\Quests\mission_1\ seems like the first place to look, yes? The Dialog files also seem to correspond to the conversations which happen at the start of the game. However... why is there a huge 85kb script ReturnHero.script inside mission_1 folder?

2) Even though the scripts are in that folder, the text appears to be in a different path altogether, \Data\LocData\English\Quests\mission_1\. I can match the various start_message_name (in the script xml) to the corresponding L_D1_msg/ans# (in the FILETYPE DYNAMIC dialog loc). This is correct, yes?

The encoding probably won't be simple but after a few comparisons we'll know. But even if we can't decode them, I'll just try replacing the loc files with custom written FILETYPE STANDART using plaintext and see if it works.

Edit:
There's a chance that will not work, however, according to the German modder Tech who posted at the Elite-Games forum (http://www.elite-games.ru/conference/viewtopic.php?t=42928&sid=5e3a645749fb4dbb76eda5bf77a21e4e) about 3 years ago. Looks like he was trying to mod SW2.

Update:
Well call me Cirno's uncle, that was unexpectedly easy. I decided to forgo deciphering the text first (mainly because each line of dialog was crammed onto one line, like 1,300+ characters) and simply do the FILETYPE STANDART replacement test (screenshot 2). Looks like it worked (screenshot 1).

For reference, this is the original line:
#L_D1_msg00=755C292929292828285C2929285D285B285C2C 5A2C2D2929292F282C285C292E292D285B292F29292C5C2C2D 2B292928292F285C2C2D285B282B282B2C2D295D285B292829 2F2C2D2828285C282A285D285C2828292E2C2D282C285C2829 2C2D292D292F2828292D282C292F28282C2D282B285B292F2C 2D2828295E282C2859285D285C282C2929285D285B285C2C5C 5A5C5A2F592F292C656E0B07
(There aren't supposed to be any blank space in that gunk, I think the forum inserts them to avoid breaking the display.)

That translates into "Attention, transport. Turn off your engines and prepare for examination."

encoded: 312 characters
decoded: 72 characters

Well, didn't say it was gonna be easy. Any crypto guys here feel like taking a crack at this? :D

Trucidation
06-10-2010, 01:36 PM
Tracking down the pilot was easy. Dialog xml file gives <pilot_name>, which you look up in \Data\Game\Pilots.xml, which points to a string in \Data\LocData\English\m_pilots.loc.

In this guy's case, just match the blue stuff:
1) Dialog.xml: <pilot_name> --> VksOfficer
2) Pilots.xml: <GamePilot name="VksOfficer">; and callsign --> #M_pilot_Name_VksOfficer
3) m_pilots.loc: #M_pilot_Name_VksOfficer = MSF lieutenant (whom I renamed, as seen in the screenshot)

The pilot's icon, perks, and all other crap are in Pilots.xml so if you feel like changing more stuff it's all in there.

Nanaki
06-10-2010, 01:58 PM
The pilot's icon, perks, and all other crap are in Pilots.xml so if you feel like changing more stuff it's all in there.


Changing perk trees is a helluva rollercoaster, considering that you have to also edit pilotdefinitions.script as well as the texture file for the Pilot perks. Although I did make a perk tree with practically every perk in the game on it.

You can also change the pilot face icon for the pilot perks.

Goblin Wizard
06-10-2010, 02:25 PM
"FILETYPE STANDART" wouldn't work properly with "active dialogs" tasks
This is actually true. Not only active dialogs are affected. It's hard to explain because not each dialog is displayed wrong. From time to time you'll see "#string_name String not found".

Trucidation
06-10-2010, 03:47 PM
Changing perk trees is a helluva rollercoaster, considering that you have to also edit pilotdefinitions.script as well as the texture file for the Pilot perks.
Hmm, the definitions are in \Data\Scripts\include\PilotProperties.script, you mean, not "pilotdefinitions.script"? couldn't find that.

I understand what you mean about the UI. \Data\TEXTURE\Interface\Pilot\PerkTree\ pretty much tells me each pilot has to have their own graphic, and the .ini file to show which perk slot goes where.

But this doesn't tell us the prerequisites perks, right? E.g. to learn skill X, skill Y must be learned first <-- where is this determined?
Edit:
Hmm, is it those ugly properties_<pilot name> = { ... } structures inside PilotProperties.script? That does look likely but I don't understand the { numbers } stuff. Wait, I think I got it... the number is the perk's cost in exp points, then anything following that in the nested {} are the prerequisites. Ok, I think I understand.

Nanaki
06-10-2010, 03:57 PM
Hmm, the definitions are in \Data\Scripts\include\PilotProperties.script, you mean, not "pilotdefinitions.script"? couldn't find that.


Yeah, I must have been half-asleep when I originally typed that.


But this doesn't tell us the prerequisites perks, right? E.g. to learn skill X, skill Y must be learned first <-- where is this determined?


Pilotproperties.script.


Hmm, is it those ugly properties_<pilot name> = { ... } structures inside PilotProperties.script? That does look likely but I don't understand the { numbers } stuff.


Lets grab an example.

F_Weapon_Laser = {50,{"Gunnery_2"},{"F_Weapon_HC","F_Weapon_AC"}},

F_weapon_Laser is the perk.
50 is the amount of skill points required to purchase the perk.
{"Gunnery_2"} is the skill required to purchase the perk. You can have multiple pre-requisites.
{"F_Weapon_HC","F_Weapon_AC"} is rarely used in most perks (usually blank), and it means that if you purchase either F_Weapon_HC Perk, or F_Weapon_AC Perks, then you cannot get F_Weapon_Laser perk.

Trucidation
06-10-2010, 04:08 PM
Haha, edited while edited. Thanks, looks like I got it.

Hmm, it looks like { exp cost, { pre-req1, pre-req2, ... }, { choose one of these1, choose one of these2 }.

The third {} appears to be used only by the gun specialisations (choose HC / AC / Laser). I wonder if we can put other perks in here as well. E.g. choose between Criticals_1 or Hard_to_Kill.

Nanaki
06-10-2010, 04:47 PM
The third {} appears to be used only by the gun specialisations (choose HC / AC / Laser). I wonder if we can put other perks in here as well. E.g. choose between Criticals_1 or Hard_to_Kill.


You can.

Rastix
06-10-2010, 06:02 PM
This is actually true. Not only active dialogs are affected. It's hard to explain because not each dialog is displayed wrong. From time to time you'll see "#string_name String not found".

I know 2 ways to avoid filetype_dynamic if you'll want to make your own story but i am recommend waiting for patch 1.12 as it gives new filetype specially for modding

Goblin Wizard
06-10-2010, 06:45 PM
I know 2 ways to avoid filetype_dynamic if you'll want to make your own story but i am recommend waiting for patch 1.12 as it gives new filetype specially for modding
I'm not good at waiting so what's your solutions?

"To be 100% sure everything works you have to type whole text in the xml file." - Is that kind of solution? ;)

Rastix
06-10-2010, 09:16 PM
I don't know anything about THIS method ;)

Trucidation
06-11-2010, 12:30 AM
Perhaps you mean entering the text directly into the Dialog xml instead of making it refer to a loc file? I'm not sure if that works, I'll go test if it allows you to enter text instead of a #string in the <message> and <answer> tags.

Edit:
Ah, yes it seems to work. I edited the XML and replaced the #string with plaintext (screenshot 1) and tried it in the game (screenshot 2). I guess this is what he meant by putting the text directly into the XML.

The xml file doesn't specify the name of the loc file it refers to, I guess the game simply recycles the name. I suppose if we put all the text into the xml, you still need the loc file but we can leave empty except for the header comments.

Edit:
Fixed the screenshot, was using an old one.

Goblin Wizard
06-11-2010, 07:18 AM
I don't know anything about THIS method ;)

What about your solutions? Please, share your secrets.:)

Trucidation
06-11-2010, 03:35 PM
Too bad the perk display visuals appear to be limited by that display rectangle. I was thinking of a single tree with every freaking thing on it (with suitably modified requisites), problem is the display.

Just compiled our scripts together (mothership, fleet, missiles), then I threw in some test parameters: shield modules (increase /2, regen rate +13 then /2), and I halved all fighter-only combat pulse laser damage.

Nanaki
06-11-2010, 03:51 PM
Too bad the perk display visuals appear to be limited by that display rectangle. I was thinking of a single tree with every freaking thing on it (with suitably modified requisites), problem is the display.


Actually, that is not much of a problem at all. The problem is that once you have enough abilities, your ability drop-down (or drop-up, in SW's case) gets so crowded that your no longer able to use some abilities or toggle your missiles on/off, as they have gone off the screen.

Trucidation
06-17-2010, 05:38 AM
It struck me that we've mostly been just moving the perks around (i.e. editing the perk trees), or in your case changing the summon perks. The actual behaviour of the perks themselves, especially the passive ones, appear to be hardcoded. (Well, hardcoded inside editable script files, so they're not un-editable, but it makes changing them a huge pain in the ass especially since we don't know what else may be referenced.)

\Data\Scripts\AI\CalculatePilotSkills.script shows some damning evidence. It's littered with stuff like

if pilot:HavePerk("Gunnery_1")
then
amplifier = amplifier + .2;
end;

...instead of simply looping through the pilot's skills and checking what each one is for. This sample code is basically saying that Gunnery_1 perk will always modify some amplifier value by 0.2.

Further incriminating evidence can be found in \Data\Scripts\AI\perkDispatcher.script:

if pilot:HavePerk("Learner")
then
amplifier = amplifier + .1
end;

Again, it's making a fixed assumption - in this case, perk "Learner" will always cause a +0.1 value. I'll go through a few more files and see if we can identify what else touches perks.

\Data\Game\Perks.xml:
This supposedly defines each perk, its description, exp point cost, requirements. But if you look, all the PerkRequirement child tags for all entries are empty. (And why is pilot_name inside PerkRequirement? o_O)

\Data\Game\Pilots.xml:
This supposedly defines each pilot, points(?), kills(?), morale(?), and perks. The four value tags ("piloting", "guns", "rockets", "electronic_warfare") match the tags in the PerkRequirement sections of Perks.xml above.

Speculation: it seemed they planned to have a points-based requirement perk tree originally - i.e. instead of buying the skills directly with the pilot's exp, you used the exp to put into one of the four categories, and when you had enough to meet a skill's requirements then that pilot learned it.

A little later along the line they probably realised that with enough points in each category, the player would automatically unlock all the skills which meet those requirements. So in order to avoid this, they decided to make skills require direct skill prerequisites instead. I'm making an educated guess here based on how this explains the structure of the perk definitions inside \Data\Scripts\include\PilotProperties.script which was mentioned earlier by Nanaki.

Of course, I'm stumped by non-controllable pilots, i.e. NPCs. They don't have skill trees and they don't have entries in PilotProperties.script. Example, Hero's old classmate, the USS bigshot Ethan Fry. The only perk entries I can find for him are the ones inside Pilots.xml. So I'm guessing that for NPCs the game does use these. They don't have prerequisites or skill trees to worry about, but can't learn any more skills anyway. I assume that if you want to change their skills you have to do it here.

-
Summary
If you want to change the actual effects of perks, you'll have to go down and dirty into perkDispatcher.script and CalculatePilotSkills.script. Say for example you create a combo skill "Strafe_1" which gives both a maneuverability bonus and an accuracy bonus. You'll have to go into these two files and add it.

But it's not that simple, this is all theory only! If I'm not mistaken others have mentioned that we can't actually add new skills (guys, please correct me here if you can! - I've only taken a look at the pilot/perk scripts, haven't actually tested editing them!).

So let's say you play safe and just mod an existing skill, for example changing Gunnery_1 to give critical hits as well and not just accuracy. This looks within our reach: all you have to do is go to where the function for critical hits is, and create an additional check for Gunnery_1. I'm fairly sure this will work. However, it will affect ALL pilots who have this Gunnery_1 skill.

NOTE: This is only for passive skills! I've seen mention of the active ones elsewhere in other scripts.

Nanaki
06-17-2010, 11:00 AM
You can add new skills as long as they do not require any editing to the XMLSchema files. Editing the XML Schema files is necessary if you want to use custom parameters in the XML file.

So, you can add new skills as long as they do not require any custom parameters.

Trucidation
06-17-2010, 12:38 PM
Yes, AllSpecials.xsd has the definitions for active perks. If I wanted to duplicate the effects of a passive skill - for example create an active perk called Concentrate_1, and give it the effect of Criticals_3 (an existing passive perk) - I don't think that's possible because nowhere in AllSpecials.xsd is there provision for critical hits.

I'm somewhat sure I can figure out how to mod the various passive perk, but active skills are out of my reach due to the XML schema limitations.

Goblin Wizard
06-17-2010, 05:17 PM
You don't need to change any file to add a pilot one of the existing perks. Function pilot:SetPerk("perk_name") is enough and overrides any requirements. You can activate it by e.g. dialog option. This function works with any pilot not only controlled by you or with a perk tree.
Pilots.xml file contains only starting perks for a pilot.
PilotProperties.script keeps definitions for GUI perk tree (with perks costs). Other important parts are two tables inside SaveParks and RestorePerks functions. Their names are self-explainable and are called when pilot leaves/come back under your control.

Marodeur
07-01-2010, 05:34 PM
Hi.

Is there any overview what this script is changing right now?

Nanaki
07-01-2010, 09:46 PM
Hi.

Is there any overview what this script is changing right now?

It primarily adds fleets and convoys to the list of random contacts you can encounter on the field.

Marodeur
07-02-2010, 12:57 PM
Ah ok. Thx for the work.

I loved SW 1 and played it with the easy mod and mothership mod. For SW2 i tried "real SW2". But the small german modding community is dead after frogster interactive changed their business model and closed the forum. :(

SuperiorX
07-08-2010, 01:18 AM
great job guys gona have a ton of fun with this and goblins mod to.

stivoknis
07-20-2010, 11:56 PM
Thanks Nanaki and Goblin Wizard!:grin:
Your mods have finally added some more life to this rather silent game.
I just hope you mods didn't change the difficulty of the missions too much. However if I'm having trouble doing a certain mission I sure can blow up convoys for some added cash.
Thanks again, your mods are amazing.;)

Nanaki
07-21-2010, 12:20 PM
Thanks Nanaki and Goblin Wizard!:grin:
Your mods have finally added some more life to this rather silent game.
I just hope you mods didn't change the difficulty of the missions too much. However if I'm having trouble doing a certain mission I sure can blow up convoys for some added cash.
Thanks again, your mods are amazing.;)

My mod does not change any of the mission encounters, the worst that could happen is that a randomly generated hostile fleet gets the jump on you while you are in the middle of a hairy battle, but the chances of that happening are extremely small (it has never happened to me).

The fleets and convoys themselves are very tough for random enemies, but still weak compared to what many of the missions will throw at you. If anything, if you are able to bust convoys than the game becomes easier. My recommendation is to head to some of the more pirate-infested sectors, preferably equipped with very good sensors. Avoid the pirate fleets, and smash the pirate convoys. You not only get a ton of money, but you can also get decent ships and decent equipment.

SuperiorX
07-23-2010, 12:58 PM
My mod does not change any of the mission encounters, the worst that could happen is that a randomly generated hostile fleet gets the jump on you while you are in the middle of a hairy battle, but the chances of that happening are extremely small (it has never happened to me).

The fleets and convoys themselves are very tough for random enemies, but still weak compared to what many of the missions will throw at you. If anything, if you are able to bust convoys than the game becomes easier. My recommendation is to head to some of the more pirate-infested sectors, preferably equipped with very good sensors. Avoid the pirate fleets, and smash the pirate convoys. You not only get a ton of money, but you can also get decent ships and decent equipment.

hahaha u wanna know what hapens to me when i get the red mastiff and i have to escort that guy in elinor, the msf random patrols spawn fairly often and own my ass as i have to travel a fair way thry the system it didnt help that nsf were hostile towards me as well, the great thing was that sometimes msf duked it out with nsf and id get some sweet gear but i could never survive and make it to the guy that fixes the id.

Even after the id is fixed the msf was still hostlie towards me and guess what they always owned the nsf patrols and spawns and i just couldnt get out of the system alive to make them neutral towards me.

so i edited the mastiff to 15000hp/20000 sp 20sp regen and even with this i could berly get out of the system alive as i had set the thingy in random contacts for random spawn strenght 20 and evrything was kicking my ass due to all ships being 4th/5th gen untill i geared up fully and still i get blown up a lot but im having a blast.

also using goblins ms mod which great.

NANAKI u have done a great job and thanks for making the game more lively and enjoyable and props go to GOBLIN VIZARD for his awsome ms mod.

Nanaki
07-24-2010, 01:54 AM
When you have the pirate mastiff it is easy to avoid the patrols. While your still in Achilles, you can visit the Achilles station and get the engine booster and the sensor booster equipped. With those devices, you can detect enemy ships before they reach your mothership and take evasive manuvers to avoid them.

stivoknis
07-30-2010, 07:53 PM
I haven't played that much with the fleet mod, but could someone tell me what type of capital ships there are? So far, I have only seen stone arrows and pirate mastiffs.

Nanaki
07-31-2010, 12:27 AM
I haven't played that much with the fleet mod, but could someone tell me what type of capital ships there are? So far, I have only seen stone arrows and pirate mastiffs.

There is also the Linkor Battleship, and I believe the Lion MK1 has a very rare chance of showing up, but I have not looked at the script in awile.

There are, unfortunately, not very many capital ships in this game, and my mod almost uses them all.

Drakalu
08-06-2010, 06:30 PM
Is there any chance you can edit your OP with the latest version(s) of this mod? From what I can tell v0.1 BETA on Page 9 and a second missing file are the latest published versions. Is this correct? Am I missing something?

(For the record, I did read every message on all 13 pages on this and a few other modding threads. Great info and was quite interesting. Thanks!)

cursor
08-15-2010, 05:21 PM
Theres a link somewhere in the thread saying dont download the beta and he attached the fixed version. BTW awesome mod Nanaki thanks!!! Finally get to see some big battles lol

Drakalu
08-15-2010, 06:16 PM
I did find the correct version eventually... though you still need to download the LocData fix for the correct M_carcasses.loc file. I was just curious if there was a newer (or final version) you've completed.

All in all, I love this mod. It adds a lot of flavor to the game and more interactions in a system. Though the spawn rate may be only 10% for fleets or convoys per check it's more like a 60% chance of encountering one or more in any given system.

On side note, the only other mod I'm using at the moment is changing the exp coefficient from 0.1 to 0.2 to ramp up exp gains. With the fleet mod it almost feels like I'm gaining exp too quickly.

Thanks again to the modders on this forum. :)

Szpaku
08-18-2010, 03:47 PM
is it possible to make a script to make the corvette buyable? (that big ship that apears when you fly and get ambushed by triad ships)

if yes can some one make a script that will make it buy able at a station like fighter?:confused;

i am a dummy when it goes to scripting:grin:

Nanaki your mods are GREAT at last some good battles in space

Goblin Wizard
08-18-2010, 04:12 PM
check here (http://forum.1cpublishing.eu/showthread.php?t=13859&highlight=butcher&page=2) (valky post 3rd from the top) and next page.

nidov
08-19-2010, 03:01 PM
Hi, nice mod here, will there be modified mercenary proficiency? Like changing low level fighters in recruit.xml with new things added and defined in ship_description.xml (or something, not sure the name). I managed to fiddle around and got me a squadron of mercenaries-riding butchers for 200k hiring fee.

Nanaki
08-23-2010, 02:24 AM
I may end up releasing a new version of this mod mainly removing the Azure Stormcrow, which would substantially improve compatability with other mods and would mean a lot less stuff to fit in a zip. The next release will probably be the final version, since I have no other ideas on how to improve this mod, and it seems to be as bug-free as I can get it. Although I do not know about any release dates, between inlaws and my computer breaking down, I have not done much with it yet.


is it possible to make a script to make the corvette buyable? (that big ship that apears when you fly and get ambushed by triad ships)


You have to convert it to interceptor form first in carcasses, then you have to make it buyable in the shops, or run a script to spawn one in your inventory.


Is there any chance you can edit your OP with the latest version(s) of this mod? From what I can tell v0.1 BETA on Page 9 and a second missing file are the latest published versions. Is this correct? Am I missing something?


The second version will be posted on the front page.


Though the spawn rate may be only 10% for fleets or convoys per check it's more like a 60% chance of encountering one or more in any given system.


It runs the spawn check very often, and there are so many random contacts listed that the chances of one spawning are very good. That is why you will see lots of random flights, and even convoys/fleets are not that uncommon. I tried to make sure starsystems were populated just right, not feeling crowded or empty, and I think I succeeded at that.


Hi, nice mod here, will there be modified mercenary proficiency? Like changing low level fighters in recruit.xml with new things added and defined in ship_description.xml (or something, not sure the name). I managed to fiddle around and got me a squadron of mercenaries-riding butchers for 200k hiring fee.


The only personal changes I did to my own version of Star Wolves was make mercenaries dirt-cheap, and increase the maximum number of mercs per hiring to 12. But overall, the mercenaries script file is very simple, so I never bothered to release it to the public, figuring that people could change things themselves.

Griefheart
03-27-2011, 08:40 PM
I don't suppose anyone knows how I can remove the Stormcrow MK3 from this mod, or at least from appearing ingame as part of convoys? I like the idea of this mod but I'd like to remove any ships from the game which werent included by default.
.
Also I thought these spawns were supposed to be around 10-20% chance of happening per system, are you sure this 10-20% isnt per system per gate? I seem to see a convoy spawn pretty much every other system/

Nanaki
03-28-2011, 01:15 AM
I intended to remove the MK3 in a 1.1 patch... I was planning on doing it, but with the expansion just around the corner I decided to wait for the expansion, and code the compatability patch and any fixes.


Also I thought these spawns were supposed to be around 10-20% chance of happening per system, are you sure this 10-20% isnt per system per gate? I seem to see a convoy spawn pretty much every other system/


It depends on the number of fleet/convoy spawns, each fleet/convoy spawn has a 10-20% chance and if you have a lot of fleet/convoy spawns it can really add up. Still, a convoy/fleet every other system is about exactly how I wanted it.

Sing_In_Silence
09-03-2011, 11:01 PM
Very very nice mod.

Adds, well, life to the universe.
Makes the 'Civil War' more real.
Add the occasional challenge early on, and a good source of exp/income (and the occasional inconvenient ambush :p) later on.


Eventually I'll post a recent savegame for others to enjoy.
This is the scenario:

Engineer hero. Hard mode.
In the Achilles system.
Just got Ternie, bought Ace, got the mastiff.
Broke, as I hadn't realised that Hard reduces item sale-value.
A Gen4 Pirate convoy had arrived. (1 Walrus, 6 4-5 sized wings.)

Tried taking it on a few times, got slaughtered.
Head for portal, have a Gen2 Trader convoy warp in.
Hmm. I wonder.
As I'm about to try 'recruiting' their help against the pirates, a gen2/3(?) 4wing NESF patrol warps in.
...
Let's do this! :D

Took ~40 minutes in total (with reloading), but was great fun.

Sing_In_Silence
10-04-2011, 05:21 PM
Eventually I'll post a recent savegame for others to enjoy.
This is the scenario:
<snip>

Belated double-post for the 'promised' savegame.
Requires Trucidation's missile mod, but get the modpack, just incase.
Also, it's worth it :)
Edit:
Actually, that's dumb.
Ace requires the Mothership mod, the missiles require the Missile mod, and for all I know, the convoys require the Convoy mod.
That settles it. Get the modpack :P

Zipped by neccessity, just dropping it into your profile's savefolder should work.

Nanaki
03-07-2014, 10:55 PM
Well, I was waiting for Ashes of Victory hoping I could make v0.2 of my Fleet Mod for it, but it looks like we wont ever be seeing it, so, here it is. No huge changes.

- Azure Stormcrow has been removed
- Added minor Randomcontacts tweak from SW3 patch

wildbill1552
07-13-2014, 06:46 AM
Tried to download files and the link keeps directing me to a login screen. Is this thread dead or is some sort of special permission needed?

Nanaki
07-13-2014, 10:24 AM
You should be able to download those files with a forum account.

GrimreaperDK
09-02-2014, 05:15 PM
Hello Nanaki,

I noticed the fleet mod beta 2 is newer than goblin's Mothershipmod (0.27), are these two compatible? with this being newer i guess that installation order is MS mod and then fleet mod? i believe the latest MS mod (0.27) overwrites som fleet mod files for compability reasons?

nocalora29
09-15-2014, 02:18 AM
Yes they should be OK, but one or two Files are of course Conflicting but no Major ones.

But if you want to go Sure you can get this Right Here:

https://mega.co.nz/#!goA0BQbB!YdQRe_KDdG5zRXP3owUJjUdECGbXUvLcHKiarxa kddk

I took the 2 Mods and tried Combining them as good as I Could, Normally if you would just Drag&Drop them the Sector xt23 wouldn't survive that, well atleast the Fleet Mod's Version of it hehe.

You could also just wait for Nanaki's Response, maybe he has an Better way to solve this :D

Nanaki
09-29-2014, 10:28 PM
Probably wont be compatable, but all I did was remove the Stormcrow MK3.

Nanaki
10-22-2014, 03:15 PM
MAKE SURE YOU BACK UP YOUR ORIGINAL FILES BEFORE INSTALLING THIS MOD

New version of the Fleet Mod. Since Ashes of Victory is dead (may it rest in peace) I have decided to work on improving Civil War. One of the big changes is that bigship spawns for the MSF, NESF, Triada, Inoco, and USS can spawn either a capital ship, which will always be either a Stone Arrow or a Stalingrad battleship, or a Corvette, which will always be a Butcher. Alongside this I have made equipment tweaks to capital ship and corvette layouts of the above five factions. Expect capital ship opposition to be far better equipped, including a lot more heavy weapons capable of blasting holes in your mothership.

Aside from the balance changes, fighters are unchanged. Mod is relatively untested, I only just started a new game and got past the Mastiff aquisition mission without problems. Unfortunately, with this version this mod is 100% incompatable with the Mothership Mod. If anyone wishes to assist me, I could use suggestions on capital ship layouts. Halfway through my brain gave up and just started randomly throwing components on.

I will not be including the Astarte, Lion, or Manticore class in random scripts because those ship classes are supposed to be extremely rare. Though I might give the Manticore to higher level Berserks because their Chimeras/Super Chimeras are such pushovers.

If the developers of Star Wolves are reading this, please resume development on Ashes of Victory.

Patch notes:
- Reduced damage of missiles by half
- Tripled storage capacity of missile mounts on fighters
- Buffed remote repair modules to 5/10/20/40 hp/sec, previously 1/2/4/10 hp/sec
- Doubled projectile speed for all kinetic weapons
- Optimized Randomcontact script
- Added 'FillConvoySimple' function which spawns levelled loot for convoys
- Corporate and Government Bigship spawn can now spawn either a corvette or a capital ship, 50% chance for either
- Overhauled layouts of capital ships and corvettes, expect a lot more capital weapons
- Pirate bigship script only spawns Butchers, while transport script only spawns Mastiffs
- Added +2 System Slots to Stone Arrow, +1 System Slot to Stalingrad and Stone Arrow Capital weapon variant

Good Hunting.

nocalora29
10-22-2014, 05:11 PM
Awesome, I thought everything Mod-Related would be Dead by Now :D

Suggestions:
- I Think reducing the Missile Damage isn't really needed, It should have been Increased because when Fleets fight Fleets there needs to be some Bang Bang with high DMG going on, But thats just my Opinion

Another Info:

In case anyone is Interested into Playing with GoblinWizard's Maintance Station Mod, Here you go
But please just.... MAKE A BACKUP
Downloadlink (MEGA.co.nz) -v0.3-
https://mega.co.nz/#!4lQmGS4L!qXpiqTF5n4p560nKIAqd1URcJ2lv9DOY51kDd9J CT8c
Downloadlink (MEGA.co.nz) -v0.4- (Latest)
https://mega.co.nz/#!IkQxXS4B!ImUxjPNdPY_dof_enn5f2CTTv0iETNFhZqoEAvp _Fpw

When there are Problems with the Mod-Merging-Pack i've just posted, Let me know and Im gonna Fix it.


One Lasty thing:
Can you give me the Permission to use this Mod's Content in my Mod I will probably Release sometime in the Future? [Check]

Nanaki
10-22-2014, 07:35 PM
Go ahead. So long as credits are given I am perfectly fine with people using this mod.

Note that while I did reduce missile damage I also enormously increased missile capacity. Basically I improved missile ships endurance in combat while reducing their burst potential, which I felt was too much as they could far too easily oneshot ships. So far the results from testing are fairly good. AI missile ships are even better since they are no longer useless after the first 2-3 seconds of missile exchanges.

However the remote repair change was too much of a buff. I will probably nerf them to values in between. So far 2/4/8/16 are working out fairly well.

nocalora29
10-22-2014, 08:10 PM
Alright, Credits are an obvious thing

Aside from that the overall Update of your Mod is fun to Play with to this Point, I am really happy to see such an good Modder back in business ^^

Keep it Up.

Nanaki
10-29-2014, 06:18 PM
MAKE SURE YOU BACK UP YOUR ORIGINAL FILES BEFORE INSTALLING THIS MOD

New version. No huge overhauls, just some bugfixes. I noticed that the original developers made an error with their random number generator script, I could fix it, but it might result in additional problems popping up, so I left it alone for now. However the random number generator for the mod's loot tables have been fixed.

Balance was tweaked some more. The original numbers were too extreme, so I decided to reduce them a bit. Overall, the idea is that you want to use lasers against unshielded targets, but cannons against shielded targets.

I planned on doing some other changes, but a major bug with the Inoco bigship spawn script has prompted me to release this a bit early.

Patch notes:
- Fixed bug preventing end of table items from spawning
- Nerfed remote repair modules to 2/4/8/20 hp/sec
- Buffed individual repair modules to 2/4/8/16 hp/sec
- Expanded Pirate Corvette Loadouts
- Reduced Pulse Laser Cannon prevalence among Pirates
- Reduced missile storage capacity from 300% to 200%
- Increased missile damage from 50% to 75%
- Reduced projectile speed for all kinetic weapons from 200% to 150%
- Fixed bug with Inoco capital ship spawns

Good Hunting.

nocalora29
10-29-2014, 08:51 PM
Awesome !

I Will try your Mod as soon as I Can :D

- Suggestions -
- Is it Possible to Create some kind of Robbing system?, Like Pirates will first try to Get some Money off of you and When they Don't get what they want, They will Simply Kill the Player, Is that Possible?

it would be an very Nice Features to Add.

Aside from That:
- How about some Rebels?, We hear it all the time... Hell, even the Game's name is "Star Wolves 3: Civil War", So... Where are the Rebels?, I know they are in Some lone System I've forgotten the name of, but there should be More Rebels just roaming around.

Last Suggestions:
- How about Huger Fleets?, Like some InoCo Convoy recovering Artifacts from the Border-Sectors Guarded by several Smaller Fleets or even Battleships. This would Really be Nice.

- Strike Squads!: You can see several HighTech Strike-Squad like Bomber-Wings with Cloak and Deadly Missiles roaming by on Story-Missions, So my Suggestion would be to Add them, So they can Also Roam-around in some Pirates Controlled sectors or maybe even in Enemy Territories, The NAVY seems to have Lots of 'Em, heh.

Some Questions: (Little off-topic)
Is there an Way to Increase the max merc Cap from 24 to something Higher?
Is there an functioning Way to add more than 6 Ships in an Wing without them like Breaking the AI?

Keep it Up.

Nanaki
10-30-2014, 10:13 AM
- Is it Possible to Create some kind of Robbing system?, Like Pirates will first try to Get some Money off of you and When they Don't get what they want, They will Simply Kill the Player, Is that Possible?


This is already in the vanilla game. There is a random event where Pirates will approach you, demand money, and if you refuse then they will attack. They only attack in a single squad so usually they are only a threat to the player early game. Unfortunately buffing them up is probably not a good idea because there is no limit to how early they can spawn, infact they can technically spawn when a player has just left Hephestus with Ternie and the Hero in a broken down Mastiff.


- How about some Rebels?, We hear it all the time... Hell, even the Game's name is "Star Wolves 3: Civil War", So... Where are the Rebels?, I know they are in Some lone System I've forgotten the name of, but there should be More Rebels just roaming around.


The Civil War is between the NESF (New Empire) and the MSF (Old Empire). The New Empire is ruled by Astra whom is a pretender to the throne which is currently held by Emperor Asov.


- How about Huger Fleets?, Like some InoCo Convoy recovering Artifacts from the Border-Sectors Guarded by several Smaller Fleets or even Battleships. This would Really be Nice.


InoCo lacks any battleship designs, the only faction with any battleships at all are the MSF and NESF. Both use the Stalingrad design which appears in the randomcontacts script. The MSF also recently developed the Lion series, Lion MK1, Lion MK2, and Lion MK3. Lion MK1 is mainly seen with MSF Admirals like Trump and Heder and is probably the most common Lion out there. Lion MK2 is a possible player ship if they side with Alex or Admiral Trump, and can also be piloted by an NPC Admiral Trump depending on which storyline you go on. Lion MK3 is only found with the player if they side with Viper.

None of the Lions appear in the randomcontacts script, because they are extremely rare and limited production ships. Infact, a top secret MSF Project to win the war against the New Empire consisted of 9 Lion MK2s and MK3s.

As for your suggestion. There are two kinds of spawns, there are the sector spawns that are specific to each sector, and then there are the randomcontact spawns which can be found in every sector that calls them and consist of single fleets that spawn from portals, wander around a bit, then return to a portal. What you are asking for sounds like a sector spawn.


- Strike Squads!: You can see several HighTech Strike-Squad like Bomber-Wings with Cloak and Deadly Missiles roaming by on Story-Missions, So my Suggestion would be to Add them, So they can Also Roam-around in some Pirates Controlled sectors or maybe even in Enemy Territories, The NAVY seems to have Lots of 'Em, heh.


They exist. Just that, without plot power behind them they are far less deadly.


Is there an Way to Increase the max merc Cap from 24 to something Higher?


I believe I experimented with this once upon a time but I am not sure what came of it.


Is there an functioning Way to add more than 6 Ships in an Wing without them like Breaking the AI?


No.

nocalora29
10-30-2014, 11:48 AM
Good Points.

Thanks for taking your Time and Answering to my Suggestions ;)

for my first Suggestion:
And yeah... Being robbed as soon you left Hephestus is pretty Shitty, I Admit that.

for my third Suggestion:
Yes I was talking about an Sector Spawn, I just had this Idea because InoCo really puts alot into Research in General, Seeing them Recovering some Stuff from somewhere would really make sense to me, And yeah You're right, InoCo doesn't really have their own Battleships, oops... The standard Equipment of InoCo fighters are probably enough of Defence for an Convoy :D.

Nanaki
11-15-2014, 07:38 PM
What is going on in your screenshot? I noticed you have more than 6 pilots listed in your game, I remember Goblin Wizard doing research on having more than 6 pilots and got absolutly nowhere.

To update on whats going on with my mod: I did a full playthrough, there seems to be no other major issues. There was a minor issue with Triada convoys/fleets being far too easy to dispatch, so I solved it by doubling the number of potential squads that can be escorting a Triada ship.

I also decided to nerf the blast radius of the T3 Torpedo by 25%, as it was far too large, both making it overpowered against Active ECM and very dangerous for friendlies. I found that Hrimthurs with T3 torpedoes were far more likely to kill itself and other friendlies than enemies unfortunately.

nocalora29
11-15-2014, 09:32 PM
I Just experimented abit on the InitTeamScript and Copy&Pasted these Lines:

mothership = CreateCarcass("NOVA_Battleship",Vector3(0, 0, 0), Vector3(0,0,1));

MothershipPilot=CreatePilot("BasePilot");
AddPilotToPlayer(MothershipPilot);
mothership:AssignPilot(MothershipPilot);
MothershipFlight=PlayerGroup:CreateFlight(PLAYER_M OTHERSHIP);
MothershipFlight:AddShip(mothership);

--
mothership2 = CreateCarcass("Invincible",Vector3(0, 0, 0), Vector3(0,0,1));
MothershipPilot2=CreatePilot("BasePilot");
AddPilotToPlayer(MothershipPilot2);
mothership2:AssignPilot(MothershipPilot2);
MothershipFlight2=PlayerGroup:CreateFlight(PLAYER_ MOTHERSHIP2);
MothershipFlight2:AddShip(mothership2);
mothership3 = CreateCarcass("Invincible",Vector3(0, 0, 0), Vector3(0,0,1));
MothershipPilot3=CreatePilot("BasePilot");
AddPilotToPlayer(MothershipPilot3);
mothership3:AssignPilot(MothershipPilot3);
MothershipFlight3=PlayerGroup:CreateFlight(PLAYER_ MOTHERSHIP3);
MothershipFlight3:AddShip(mothership3);
mothership4 = CreateCarcass("Invincible",Vector3(0, 0, 0), Vector3(0,0,1));
MothershipPilot4=CreatePilot("BasePilot");
AddPilotToPlayer(MothershipPilot4);
mothership4:AssignPilot(MothershipPilot4);
MothershipFlight4=PlayerGroup:CreateFlight(PLAYER_ MOTHERSHIP4);
MothershipFlight4:AddShip(mothership4);
mothership5 = CreateCarcass("Invincible",Vector3(0, 0, 0), Vector3(0,0,1));
MothershipPilot5=CreatePilot("BasePilot");
AddPilotToPlayer(MothershipPilot5);
mothership5:AssignPilot(MothershipPilot5);
MothershipFlight5=PlayerGroup:CreateFlight(PLAYER_ MOTHERSHIP5);
MothershipFlight5:AddShip(mothership5);
mothership6 = CreateCarcass("Invincible",Vector3(0, 0, 0), Vector3(0,0,1));
MothershipPilot6=CreatePilot("BasePilot");
AddPilotToPlayer(MothershipPilot6);
mothership6:AssignPilot(MothershipPilot6);
MothershipFlight6=PlayerGroup:CreateFlight(PLAYER_ MOTHERSHIP6);
MothershipFlight6:AddShip(mothership6);
mothership7 = CreateCarcass("Invincible",Vector3(0, 0, 0), Vector3(0,0,1));
MothershipPilot7=CreatePilot("BasePilot");
AddPilotToPlayer(MothershipPilot7);
mothership7:AssignPilot(MothershipPilot7);
MothershipFlight7=PlayerGroup:CreateFlight(PLAYER_ MOTHERSHIP7);
MothershipFlight7:AddShip(mothership7);
mothership8 = CreateCarcass("Invincible",Vector3(0, 0, 0), Vector3(0,0,1));
MothershipPilot8=CreatePilot("BasePilot");
AddPilotToPlayer(MothershipPilot8);
mothership8:AssignPilot(MothershipPilot8);
MothershipFlight8=PlayerGroup:CreateFlight(PLAYER_ MOTHERSHIP8);
MothershipFlight8:AddShip(mothership8);
mothership9 = CreateCarcass("Invincible",Vector3(0, 0, 0), Vector3(0,0,1));
MothershipPilot9=CreatePilot("BasePilot");
AddPilotToPlayer(MothershipPilot9);
mothership9:AssignPilot(MothershipPilot9);
MothershipFlight9=PlayerGroup:CreateFlight(PLAYER_ MOTHERSHIP9);
MothershipFlight9:AddShip(mothership9);
mothership10 = CreateCarcass("Invincible",Vector3(0, 0, 0), Vector3(0,0,1));
MothershipPilot10=CreatePilot("BasePilot");
AddPilotToPlayer(MothershipPilot10);
mothership10:AssignPilot(MothershipPilot10);
MothershipFlight10=PlayerGroup:CreateFlight(PLAYER _MOTHERSHIP10);
MothershipFlight10:AddShip(mothership10);
mothership11 = CreateCarcass("Invincible",Vector3(0, 0, 0), Vector3(0,0,1));
MothershipPilot11=CreatePilot("BasePilot");
AddPilotToPlayer(MothershipPilot11);
mothership11:AssignPilot(MothershipPilot11);
MothershipFlight11=PlayerGroup:CreateFlight(PLAYER _MOTHERSHIP11);
MothershipFlight11:AddShip(mothership11);
mothership12 = CreateCarcass("Invincible",Vector3(0, 0, 0), Vector3(0,0,1));
MothershipPilot12=CreatePilot("BasePilot");
AddPilotToPlayer(MothershipPilot12);
mothership12:AssignPilot(MothershipPilot12);
MothershipFlight12=PlayerGroup:CreateFlight(PLAYER _MOTHERSHIP12);
MothershipFlight12:AddShip(mothership12);
mothership13 = CreateCarcass("Invincible",Vector3(0, 0, 0), Vector3(0,0,1));
MothershipPilot13=CreatePilot("BasePilot");
AddPilotToPlayer(MothershipPilot13);
mothership13:AssignPilot(MothershipPilot13);
MothershipFlight13=PlayerGroup:CreateFlight(PLAYER _MOTHERSHIP13);
MothershipFlight13:AddShip(mothership13);
mothership14 = CreateCarcass("Invincible",Vector3(0, 0, 0), Vector3(0,0,1));
MothershipPilot14=CreatePilot("BasePilot");
AddPilotToPlayer(MothershipPilot14);
mothership14:AssignPilot(MothershipPilot14);
MothershipFlight14=PlayerGroup:CreateFlight(PLAYER _MOTHERSHIP14);
MothershipFlight14:AddShip(mothership14);
mothership15 = CreateCarcass("Invincible",Vector3(0, 0, 0), Vector3(0,0,1));
MothershipPilot15=CreatePilot("BasePilot");
AddPilotToPlayer(MothershipPilot15);
mothership15:AssignPilot(MothershipPilot15);
MothershipFlight15=PlayerGroup:CreateFlight(PLAYER _MOTHERSHIP15);
MothershipFlight15:AddShip(mothership15);
mothership16 = CreateCarcass("Invincible",Vector3(0, 0, 0), Vector3(0,0,1));
MothershipPilot16=CreatePilot("BasePilot");
AddPilotToPlayer(MothershipPilot16);
mothership16:AssignPilot(MothershipPilot16);
MothershipFlight16=PlayerGroup:CreateFlight(PLAYER _MOTHERSHIP16);
MothershipFlight16:AddShip(mothership16);
mothership17 = CreateCarcass("Invincible",Vector3(0, 0, 0), Vector3(0,0,1));
MothershipPilot17=CreatePilot("BasePilot");
AddPilotToPlayer(MothershipPilot17);
mothership17:AssignPilot(MothershipPilot17);
MothershipFlight17=PlayerGroup:CreateFlight(PLAYER _MOTHERSHIP17);
MothershipFlight17:AddShip(mothership17);
mothership18 = CreateCarcass("Invincible",Vector3(0, 0, 0), Vector3(0,0,1));
MothershipPilot18=CreatePilot("BasePilot");
AddPilotToPlayer(MothershipPilot18);
mothership18:AssignPilot(MothershipPilot18);
MothershipFlight18=PlayerGroup:CreateFlight(PLAYER _MOTHERSHIP18);
MothershipFlight18:AddShip(mothership18);
mothership19 = CreateCarcass("Invincible",Vector3(0, 0, 0), Vector3(0,0,1));
MothershipPilot19=CreatePilot("BasePilot");
AddPilotToPlayer(MothershipPilot19);
mothership19:AssignPilot(MothershipPilot19);
MothershipFlight19=PlayerGroup:CreateFlight(PLAYER _MOTHERSHIP19);
MothershipFlight19:AddShip(mothership19);
mothership20 = CreateCarcass("Invincible",Vector3(0, 0, 0), Vector3(0,0,1));
MothershipPilot20=CreatePilot("BasePilot");
AddPilotToPlayer(MothershipPilot20);
mothership20:AssignPilot(MothershipPilot20);
MothershipFlight20=PlayerGroup:CreateFlight(PLAYER _MOTHERSHIP20);
MothershipFlight20:AddShip(mothership20);



The Result ended up me Dying of laughter, because this is pretty damn funny to have 19 Lion's just flying around and being able to command them is even Better.

I did actually saw that the AI can actually handle up to 7 Ships in an Squad without Breaking, Pretty interesting.

-Good to hear that your Mod does work, Can't say that to my Mod unfortunately. (Unofficial) ;|

-Oh and yeah, Good thing that you nerfed the Torps, in the Lategame I mostly decided to Try out Typical Squads from Factions and that, My favourite always was the Navy's Bomber Squad (3 Hrimthurs, 1 Trident) But... the only Problem to that was the High Suicide rate that my Pilots have gone through because of the Torpedos ^^.

Nanaki
11-16-2014, 01:13 AM
If I remember correctly, the problem that Goblin had was that he was unable to make the pilot skill allocation screen display more than 6 pilots.


The Result ended up me Dying of laughter, because this is pretty damn funny to have 19 Lion's just flying around and being able to command them is even Better.


The Invincible is a pretty lousy ship. It has an insane amount of HP and Shields, mainly because it appears as a boss battle for MSF Players, but it has no GK Cannons which means its ability to deal out damage is nonexistant. It lost pretty badly to my MSF Supply Ship which only has a single GK Gun slot. But I buffed the Invincible's loadout enormously that hopefully you need more than your mothership to take it down.

nocalora29
11-16-2014, 01:55 AM
That seems to be something more complex of an thing to do. Heck, I've allready got problems of doing simple LUA scripts.

Finally... Sounds Like I can expect an real fight again when I decide to replay the Game once again :)

BTW: What happened to the Starrover Team?

It unfortunately seems like the Site would be Dead (I can't even access the Website)

EDIT: And yeah before I forget it:

Could you give an Hint or two to Create an Simple "Fly to this Sector and Visit X Station and then go Back to X Sector" Quest?, I really could need a Sample or just an Advice ^^

Nanaki
11-16-2014, 11:46 AM
I can still access Starrover without a problem. Still, unfortunately there has always been a bit of a language barrier between the Russian and English/German communities.


Heck, I've allready got problems of doing simple LUA scripts.


Best way, for me at least, to learn is to look at what the developers did and try to figure out how it works from there. I have not messed with quest scripts a whole bunch so unfortunately I have very little insight to offer.

nocalora29
11-16-2014, 03:16 PM
Hmpf, weird... the Site was temporarily down it seems.

-Too bad, But I Will definitely look into it, Thanks.

Oststurm
12-21-2014, 08:45 PM
Hi !

Is the "Fleet Mod" and "Random Contacts" the same ?

And you say: You can kill them for fighters and weapons.

Can I get new fighters from a fight ?

Thank you !

Nanaki
12-31-2014, 05:57 AM
Yes. Random contacts was the name of the project before it recieved the Fleet Mod name.


Can I get new fighters from a fight ?


Only convoys will drop new fighters, and usually only a couple.

Hal2003
03-08-2015, 01:38 PM
Hmm In last patch its looking that MSF cruisers are totaly owerpovered, i am at the conwoy mission for Alex and in XT93 i am facing the MSF forces, they are at nomral dif. taking Astarte down in 5 sec. (eq. Kali, Tungsten, Quasar + 3 x Helios + Falconet + Basilica).

Nanaki
03-20-2015, 01:03 AM
You should have the 'Sixth Sense' perk on your hero by then, activate that and use the time to take down the cruisers before they can seriously harm your mothership.

It is very deliberate design that capital ships are extremely difficult opponents even for a fully kitted out squad. Luckily mandatory capital ship fights are few and far between, so you should be okay using your abilities and missiles on them because you should be able to (in theory) recharge and restock before you fight another one.

Also, I recommend getting the best System Firmware you can get. Capital ships were designed in a way that they pretty much excel as tanks, and nothing else, and System firmware fits in with that. Weapon and flight firmwares are unfortunately useless.

Hal2003
03-20-2015, 07:04 AM
I have system mk3 firmware. I targeted first cruiser and was only able to make about 30 % damage on first cruiser even my pilosts have high damage weapons like MD-4 Asmodeus or Armagedon plasma guns and using topedos.

Nanaki
04-09-2015, 11:51 PM
Hard to say exactly what is going on... I usually play on hard difficulty, but I also never fought that MSF battlegroup in that mission.