Jump to content

[0.24][WIP] Extra Contracts


Arsonide

Recommended Posts

It is possible that the loading of the mod might have passed some threshold, or perhaps your GameData folder is configured improperly, how many mods are you running? Also, are you running 64 bit?

I have these mods: Environmental Visual Enhancements, Astronomer's pack, Raster Prop Monitor, Kerbal Alarm Clock, Kerbal Engineering Redux, KW Rocketry and Texture Replacer.

Your mod worked perfectly for me with the 32 bit version of the game and it gave me that bug for the 64 bit version. I've actually had encountered an issue with 64 bit so I will use 32 bit for now and will use your mod. There are also many small annoyances with 64 bit so I guess I won't be trying it again until the next hotfix/update.

I made a logic error, with "0 times out of 2 without the mod I had no trouble" I wanted to say I didn't have trouble without the mod.

Link to comment
Share on other sites

Maybe you could add contracts to place certain types of satellites in orbit?

Just a suggestion.

I'm thinking about building something like that. Tricky part is how not to count stuff already in orbit. Else you could just put a station in orbit with everything on it, and move it to the correct orbit for each contract. So you only want to count new launches after the contract was accepted. But not sure how to do that in code yet.

Link to comment
Share on other sites

64 bit

There is your problem. The mod was compiled for 32 bit. For now anyway.

I'm taking a look at the code. As it's a nice example on how to make new contracts. And I'm wondering something.

With the DriveParameter, what happens if you put 2 rovers on the planet and switch between them? Won't the parameters get messed up?

I considered this, but it would be okay, it would only count if they were both new rovers, and the objective says "chart x distance", and it's additive. So it would be rationalized as the player is charting the same distance with a fleet of rovers rather than one. Works for me.

The version from yesterday actually had some code on vessel switch events that I might reimplement. I ditched it when I rewrote the file this morning.

I'm thinking about building something like that. Tricky part is how not to count stuff already in orbit. Else you could just put a station in orbit with everything on it, and move it to the correct orbit for each contract. So you only want to count new launches after the contract was accepted. But not sure how to do that in code yet.

Look at my source. When the parameter is registered, I write down the date, then on any vessels I'm checking, I compare their launch dates to it to make sure they were launched after the contract was accepted. That launch date even persists through dockings and stuff, so it's a good way to fix this issue.

Edited by Arsonide
Link to comment
Share on other sites

Look at my source. When the parameter is registered, I write down the date, then on any vessels I'm checking, I compare their launch dates to it to make sure they were launched after the contract was accepted. That launch date even persists through dockings and stuff, so it's a good way to fix this issue.

Awesome. That's a simple fix. (didn't to trough all the checks that you had in place for a valid vessel, so missed that bit)

Link to comment
Share on other sites

I'm working on two additional contracts right now, work is going smoothly. Station and Base construction requests. These facilities will require you to have power, an antenna, and an open docking port. They will also ask that you support carrying a certain number of kerbals. Sometimes they will ask that you have a research lab, and much like the rover, both of them have rare side objectives.

For the station, that is building it into an asteroid.

For the base, it's making it a mobile base. (On wheels.)

Link to comment
Share on other sites

I can get on that. Tell me, what are all the planets that you can technically fly on? Eve, Kerbin, Laythe, Duna?

I do believe these are indeed the only planets that planes will work without becoming a rocket with wings (getting weird design idea ;) ) And I'm glad you are in favor of the contract idea :)

Link to comment
Share on other sites

Hey, love the mod, definitely makes things more interesting. And your planned features look pretty exciting as well.

If you want, I can try and work your contracts into my Coherent Contracts project.

Basically, all I need is the word used to refer to each contract type (so "rescue" for saving Kerbals, "test" for part tests, "flag" for planting flags etc.). Then I can start messing around and trying to make KSP produce sensible mission briefings.

Link to comment
Share on other sites

Hey, love the mod, definitely makes things more interesting. And your planned features look pretty exciting as well.

If you want, I can try and work your contracts into my Coherent Contracts project.

Basically, all I need is the word used to refer to each contract type (so "rescue" for saving Kerbals, "test" for part tests, "flag" for planting flags etc.). Then I can start messing around and trying to make KSP produce sensible mission briefings.

Erm, I guess that's the keyword setting. I haven't messed with it yet, but in the version after next I'll get them implemented.

In a few hours there will be four new contract types: "rover", "base", "station", "asteroid". I will use those keywords.

Rover: Driving rovers to chart areas of places.

Base: Build a base on a planet.

Station: Build a station in space around a planet.

Asteroid: Move an asteroid somewhere.

I might add more keywords later for the optional objectives, like "mobileBase" or whatever.

Link to comment
Share on other sites

Erm, I guess that's the keyword setting. I haven't messed with it yet, but in the version after next I'll get them implemented.

In a few hours there will be four new contract types: "rover", "base", "station", "asteroid". I will use those keywords.

Rover: Driving rovers to chart areas of places.

Base: Build a base on a planet.

Station: Build a station in space around a planet.

Asteroid: Move an asteroid somewhere.

I might add more keywords later for the optional objectives, like "mobileBase" or whatever.

Cool, you couldn't let me know if you can see all the other keywords as well, could you? I've worked some out through trial and error, but thinks like exploration missions I'm still struggling with.

Link to comment
Share on other sites

I'm thinking about building something like that. Tricky part is how not to count stuff already in orbit. Else you could just put a station in orbit with everything on it, and move it to the correct orbit for each contract. So you only want to count new launches after the contract was accepted. But not sure how to do that in code yet.

Look at my source. When the parameter is registered, I write down the date, then on any vessels I'm checking, I compare their launch dates to it to make sure they were launched after the contract was accepted. That launch date even persists through dockings and stuff, so it's a good way to fix this issue.

While it does solve the issue, it's quite different behavior from stock. It's quite normal to go to the space center and check for any additional contracts you can accept and do with stuff that's already there (wherever 'there' may be). How about not giving out 'big' contracts that can be instantly fulfilled, like for space stations or research outposts or the like? For satellites it would probably be good to stick with the launch date entry though, as you can't ever have too many of those :cool:

Link to comment
Share on other sites

While it does solve the issue, it's quite different behavior from stock. It's quite normal to go to the space center and check for any additional contracts you can accept and do with stuff that's already there (wherever 'there' may be). How about not giving out 'big' contracts that can be instantly fulfilled, like for space stations or research outposts or the like? For satellites it would probably be good to stick with the launch date entry though, as you can't ever have too many of those :cool:

The main issue with that is that if I build a station in orbit of Kerbin, I will keep getting contracts to build stations around Kerbin (eventually). What I can do is complete those contracts by just firing up the station I already launched and sitting in the cockpit long enough for the contract to register all the objectives complete. The launch time specifier prevents this, and I make it clear by putting the words "new station" in every objective/description.

By the way:

2014-07-21_2138.png

Link to comment
Share on other sites

Version 0.4a of the mod is out now, and this is the last version before I submit it to Curse so pleease put it through the ringer. I want to know if you disagree with reward amounts, and I want to know if you find any bugs. Please let me know here.

If you had an older version of the mod, you need to delete it before extracting this. I renamed some things. Also it is 32 bit, so I'm not sure how it will react to the 64 bit version. Not many things react well to it right now.

https://dl.dropboxusercontent.com/u/1032313/ExtraContracts-04a.zip

Changelog:

Added three new mission types.

Base Building: this will require you to build a vessel with a large crew capacity and sometimes research labs on the surface of a planet. Occasionally you will be asked to make it a mobile base.

Station Building: this will require you to put a vessel with a large crew capacity and sometimes research labs in orbit of something. Occasionally you will be asked to build it into an asteroid.

ARM: This will ask you to capture an asteroid, and put it into orbit of Kerbin, another planet, or even put it on an extrasolar orbit.

Edited by Arsonide
Link to comment
Share on other sites

2/3 of the feature requests are implemented. Now the contract still requires you to drive 6 kilometers, but after 3 kilometers, you will receive a message from the agency that says you are half way. At that point, the mod stops keeping track of where you are in relation to the landing site, but continues to record how far you are driving. Essentially what this means is that the path of the rover can be a round trip circle that ends back where you started, at the ship, and the contract will still succeed. The message also serves the purpose of keeping you updated with feedback so you know you are accomplishing the objective properly.

With regards to driven distances, are they required to be in a straight line? What if I drive in a circular path that meets the distance requirements, but brings me back to my starting point?

Link to comment
Share on other sites

Hey Arsonide, great work so far. While you're around, can I ask you if you're considering station resupply contracts? Sending up cargo or Kerbals. You'll have to figure out if you'll want to use a preexisting station or spawn one with a .craft file of sorts.

Link to comment
Share on other sites

With regards to driven distances, are they required to be in a straight line? What if I drive in a circular path that meets the distance requirements, but brings me back to my starting point?

Initially this was the case with that patch, I enabled round trips, but then I got to thinking about it, and that was basically a dressed up version of saying the same thing. Enabling round trips is basically cutting the distance of the missions in half. You still have to drive out there and drive back. So I cut that change, as it needlessly complicated things.

Hey Arsonide, great work so far. While you're around, can I ask you if you're considering station resupply contracts? Sending up cargo or Kerbals. You'll have to figure out if you'll want to use a preexisting station or spawn one with a .craft file of sorts.

If I'm being honest I'd have to say there are a few things there that I'd need to do some research on before I can answer you. I don't know how to spawn objects on the system map. I might be able to check for kerbals entering a ship though.

My plan is to add one last mission type right as I upload the addon to Curse, so I can officially say I doubled Squad's contract type count, but I'm not sure what the last mission will be yet.

Link to comment
Share on other sites

I'm wondering is it possible to disable the science awards for all contracts? I'm partial to using contracts to fund the space program that allows me to run science missions to unlock the tech tree. As it is now, contracts greatly reduce the need for running specialized science missions.

Link to comment
Share on other sites

Initially this was the case with that patch, I enabled round trips, but then I got to thinking about it, and that was basically a dressed up version of saying the same thing. Enabling round trips is basically cutting the distance of the missions in half. You still have to drive out there and drive back. So I cut that change, as it needlessly complicated things.

If I'm being honest I'd have to say there are a few things there that I'd need to do some research on before I can answer you. I don't know how to spawn objects on the system map. I might be able to check for kerbals entering a ship though.

My plan is to add one last mission type right as I upload the addon to Curse, so I can officially say I doubled Squad's contract type count, but I'm not sure what the last mission will be yet.

I posted this in the suggestion thread, but thought to post it here too:

If it's possible to spawn beacons/flags, it would be a cool mission to generate a cluster of 3-5 or so beacons within a few km of each other, and generate a mission that asks you to get really close to them (close as in <5m) while bringing along a piece of heavy scientific equipment (that's otherwise useless). It would give players a bit of extra challenge to lift and land this equipment at a precise location, and make rovers useful without artificially requiring that your wheels touch ground at all times (if you're a badass pilot, you can certainly fly to each location and land).

Link to comment
Share on other sites

Great looking mod! Really excited to see where it goes.

One idea/suggestion I had (and I'm just throwing this out here) was for multiple part contracts. For example in the last few years NASA gave SpaceX the contract to resupply the ISS. However the contract was for multiple launches and resupplies. Would it be possible to create that sort of mission? e.g. "Launch 3-5 satellites of set weights into specified orbits in the next 6 months."

I just feel personally that contracts currently are leaning towards the NASA style of space program rather than the more commercial style of space program, it would be great to have more of a balance so you could choose the style of your play-through.

Edited by Snillum101
Clarification
Link to comment
Share on other sites

Initially this was the case with that patch, I enabled round trips, but then I got to thinking about it, and that was basically a dressed up version of saying the same thing. Enabling round trips is basically cutting the distance of the missions in half. You still have to drive out there and drive back. So I cut that change, as it needlessly complicated things.

This is just a thought, but in a later update, if you decide to fine-tune these exploration contracts further, you could involve something similar to ScanSat. Now, I'm not saying that there should be an actual satellite feed window, or anything of the sort, but in the background you could run a similar simulation to that which unlocks portions of the map in ScanSat. You could include a module that lets players "begin exploration" and with that, in a ScanSat fashion, a background function would keep track of what areas have been visited by the rover since that module was activated. Instead of an X km requirement in the code, it would keep track of the area considered to be visited on the surface, and announce completion based on that.

Link to comment
Share on other sites

Here's an idea once you get the claw:

"We detected something on the surface of [planet]. Go get it and bring it back to Kerbin."

It'll spawn ... something. Maybe a small asteroid, or even a custom made part. All you know before you go is its location. You could show up and find out it's 100 tons, or 1 ton. If possible, your contract earnings could have a percentage off based on distance you land from KSC.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...