Se connecter

Kerbal Space Program

Sujet : Équilibre vanilla/moddé
1
Pseudo supprimé
Niveau 4
26 août 2015 à 19:54:56

Bonjour / Bonsoir :)

Depuis que je joue à KSP, je n'ai jamais réussi à tenir en longueur mes saves.
- Soit je joue en vanilla, mais je me lasse après quelques semaines, et j'abandonne la partie, dû au manque de contenu.
- Soit je joue en ultra moddé, je m'amuse, et d'un coup, paf ! Mise à jour et mods non compatibles, qui entraîne les vaisseaux inutilisables.

Pour pallier ce problème, j'ai donc décidé d'intégrer dans les parts stock quatre mods améliorant fortement le gameplay, je nomme : Scansat, remote tech, tac life support et mechjeb2.
Le but de faire ça : Jouer avec les parts stock avec ces mods, et lors d'une mise à jour, la save est toujours utilisable, car aucune part manquante. Bon c'est vrai, on est pas près de voir la 1.1, mais au moins la save sera compatible avec cette future version, suffi d'enlever les plugins de ces mods, et le tour est joué.

Avantages :
- Aucune part supplémentaire venant de mods.
- Compatible avec les futures versions de ksp, donc une save pérenne.
Inconvénient :
- Limitations à cause des parts stock.

Je partage mon travail, peut être certains seront intéressés, et/ou me proposerons d'autres mods à adapter dans cette optique.

1) Je commence avec Mechjeb2. Les utilisateurs de ce dernier le savent, pour avoir accès à l’auto-pilote sur son vaisseau, il faut une part, une sorte de petit ordinateur de bord. Si on enlève le mod, le vaisseau sera inutilisable, car la part manquante. C'est donc ce que j'essaie d'éviter, en intégrant directement l'auto-pilote dans chaque module de commande stock.
- Ma solution technique : Ajouter dans le gamedata de ksp, un fichier .cfg (bloc note), ajoutant les bons modules aux bonnes parts.
Voici le code :

@PART[Mark1-2Pod|cupola|Mark1Cockpit|Mark2Cockpit|landerCabinSmall|mk2Cockpit_Inline|mk1pod|mk2LanderCabin|mk2Cockpit_Standard|mk3Cockpit_Shuttle|probeCoreCube|probeCoreHex|probeCoreOcto|probeCoreOcto2|roverBody|probeStackLarge|probeStackSmall|probeCoreSphere|]:FOR[MechJeb2]
{
MODULE
{
name = MechJebCore

MechJebLocalSettings
{
MechJebModuleCustomWindowEditor
{
unlockTechs = flightControl
}

MechJebModuleSmartASS
{
unlockTechs = flightControl
}

MechJebModuleManeuverPlanner
{
unlockTechs = advFlightControl
}

MechJebModuleNodeEditor
{
unlockTechs = advFlightControl
}

MechJebModuleTranslatron
{
unlockTechs = advFlightControl
}

MechJebModuleWarpHelper
{
unlockTechs = advFlightControl
}

MechJebModuleAttitudeAdjustment
{
unlockTechs = advFlightControl
}

MechJebModuleThrustWindow
{
unlockTechs = advFlightControl
}

MechJebModuleRCSBalancerWindow
{
unlockTechs = advFlightControl
}

MechJebModuleRoverWindow
{
unlockTechs = fieldScience
}

MechJebModuleAscentGuidance
{
unlockTechs = unmannedTech
}

MechJebModuleLandingGuidance
{
unlockTechs = unmannedTech
}

MechJebModuleSpaceplaneGuidance
{
unlockTechs = unmannedTech
}

MechJebModuleDockingGuidance
{
unlockTechs = advUnmanned
}

MechJebModuleRendezvousAutopilotWindow
{
unlockTechs = advUnmanned
}

MechJebModuleRendezvousGuidance
{
unlockTechs = advUnmanned
}

}
}

MODULE

{

name = MechJebPod

}
}

Avec ceci, tous les modules de commande, habités ou non, possède mechjeb !

2) Avec remote tech, j'ai modifié la portée des 3 antennes présentes dans le jeu, ainsi que chaque module non habité. J'ai donc supprimé toutes les antennes du mod. C'est donc un inconvénient, car ces dernières sont plutôt sympa.
Code :

@PART[launchClamp1]:FOR[RemoteTech]
{
%MODULE[ModuleRTAntennaPassive] {
%OmniRange = 5000
}
}

@PART[longAntenna]:FOR[RemoteTech]
{
!MODULE[ModuleDataTransmitter] {}

@MODULE[ModuleAnimateGeneric]
{
%allowManualControl = false
}

%MODULE[ModuleRTAntenna] {
%Mode0OmniRange = 0
%Mode1OmniRange = 50000000
%MaxQ = 6000
%EnergyCost = 0.13

%DeployFxModules = 0

%TRANSMITTER {
%PacketInterval = 0.3
%PacketSize = 2
%PacketResourceCost = 15.0
}
}

%MODULE[ModuleSPUPassive] {}
}

@PART[mediumDishAntenna]:FOR[RemoteTech]
{
!MODULE[ModuleDataTransmitter] {}

@MODULE[ModuleAnimateGeneric]
{
%allowManualControl = false
}

%MODULE[ModuleRTAntenna] {
%Mode0DishRange = 0
%Mode1DishRange = 40000000000
%EnergyCost = 0.82
%MaxQ = 6000
%DishAngle = 45.0

%DeployFxModules = 0
%ProgressFxModules = 1

%TRANSMITTER {
%PacketInterval = 0.3
%PacketSize = 2
%PacketResourceCost = 15.0
}
}

%MODULE[ModuleSPUPassive] {}
}

@PART[commDish]:FOR[RemoteTech]
{
!MODULE[ModuleDataTransmitter] {}

@MODULE[ModuleAnimateGeneric]
{
%allowManualControl = false
}

%MODULE[ModuleRTAntenna] {
%Mode0DishRange = 0
%Mode1DishRange = 400000000000
%EnergyCost = 0.93
%MaxQ = 6000
%DishAngle = 0.06

%DeployFxModules = 0

%TRANSMITTER {
%PacketInterval = 0.3
%PacketSize = 2
%PacketResourceCost = 15.0
}
}

%MODULE[ModuleSPUPassive] {}
}

@PART[probeCoreSphere]:FOR[RemoteTech]
{
%MODULE[ModuleSPU] {
}

%MODULE[ModuleRTAntennaPassive] {
%TechRequired = unmannedTech
%OmniRange = 200000

%TRANSMITTER {
%PacketInterval = 0.3
%PacketSize = 2
%PacketResourceCost = 15.0
}
}
}

@PART[probeStackLarge]:FOR[RemoteTech]
{
%MODULE[ModuleSPU] {
%IsRTCommandStation = true
%RTCommandMinCrew = 6
}

%MODULE[ModuleRTAntennaPassive] {
%TechRequired = unmannedTech
%OmniRange = 200000

%TRANSMITTER {
%PacketInterval = 0.3
%PacketSize = 2
%PacketResourceCost = 15.0
}
}
}

@PART[probeStackSmall]:FOR[RemoteTech]
{
%MODULE[ModuleSPU] {
}

%MODULE[ModuleRTAntennaPassive] {
%TechRequired = unmannedTech
%OmniRange = 200000

%TRANSMITTER {
%PacketInterval = 0.3
%PacketSize = 2
%PacketResourceCost = 15.0
}
}
}

@PART[probeCoreOcto]:FOR[RemoteTech]
{
%MODULE[ModuleSPU] {
}

%MODULE[ModuleRTAntennaPassive] {
%TechRequired = unmannedTech
%OmniRange = 200000

%TRANSMITTER {
%PacketInterval = 0.3
%PacketSize = 2
%PacketResourceCost = 15.0
}
}
}

@PART[probeCoreOcto2]:FOR[RemoteTech]
{
%MODULE[ModuleSPU] {
}

%MODULE[ModuleRTAntennaPassive] {
%TechRequired = unmannedTech
%OmniRange = 200000

%TRANSMITTER {
%PacketInterval = 0.3
%PacketSize = 2
%PacketResourceCost = 15.0
}
}
}

@PART[probeCoreHex]:FOR[RemoteTech]
{
%MODULE[ModuleSPU] {
}

%MODULE[ModuleRTAntennaPassive] {
%TechRequired = unmannedTech
%OmniRange = 200000

%TRANSMITTER {
%PacketInterval = 0.3
%PacketSize = 2
%PacketResourceCost = 15.0
}
}
}

@PART[probeCoreCube]:FOR[RemoteTech]
{
%MODULE[ModuleSPU] {
}

%MODULE[ModuleRTAntennaPassive] {
%TechRequired = unmannedTech
%OmniRange = 200000

%TRANSMITTER {
%PacketInterval = 0.3
%PacketSize = 2
%PacketResourceCost = 15.0
}
}
}

@PART[mk2DroneCore]:FOR[RemoteTech]
{
%MODULE[ModuleSPU] {
}

%MODULE[ModuleRTAntennaPassive] {
%TechRequired = unmannedTech
%OmniRange = 200000

%TRANSMITTER {
%PacketInterval = 0.3
%PacketSize = 2
%PacketResourceCost = 15.0
}
}
}

@PART[roverBody]:FOR[RemoteTech]
{
%MODULE[ModuleSPU] {
}

%MODULE[ModuleRTAntennaPassive] {
%TechRequired = unmannedTech
%OmniRange = 200000

%TRANSMITTER {
%PacketInterval = 0.3
%PacketSize = 2
%PacketResourceCost = 15.0
}
}
}

3) Avec Scan sat, j'ai rajouté toutes les technologies de scan dans une seule pièce stock, le survey scanner. Bon c'est un peu la solution de facilité, mais c'est la seule pièce logique. Pourquoi pas aussi avec l'orbital survey scanner, à voir. De même, j'ai supprimé tout les scan du mod.
Code :

@PART[SurveyScanner]:FOR[SCANsat]
{
title = M700 Survey and scan scanner
description = This orbital survey scanner uses a combination of advanced sensor technology and witchcraft to provide information on a planet or moons natural resources. These images can be viewed either in flight, or in relative safety and comfort back at the KSC. Be sure to bring an antenna capable of transmitting the information back, and sufficient power. He has all scan technology too.
MODULE
{
name = SCANsat
sensorType = 1 //2^0
fov = 5
min_alt = 5000
max_alt = 500000
best_alt = 5000
scanName = RADAR Scan
power = 0.1
animationName = Collapse_Antenna
}
MODULE
{
name = SCANsat
sensorType = 24 //2^3 + 2^4
fov = 4
min_alt = 5000
max_alt = 500000
best_alt = 250000
power = 1.5
scanName = Multispectral Scan
animationName = Multi_Antenna
}
MODULE
{
name = SCANsat
sensorType = 32 //2^5
fov = 1
min_alt = 0
max_alt = 2000
best_alt = 0
power = 0.1
scanName = BTDT Scan
}
MODULE
{
name = SCANsat
sensorType = 0
fov = 0
min_alt = 0
max_alt = 0
best_alt = 0
power = 0.05
scanName = Eyeball Scan
}
MODULE
{
name = SCANsat
sensorType = 2 //2^1
fov = 2
min_alt = 5000
max_alt = 800000
best_alt = 750000
power = 1
scanName = SAR Scan
animationName = Antenna
}
}

4) Enfin, tac life support. J'ai supprimé tout les containers, ainsi que les recycleurs, car je n'ai pas encore trouvé de part stock pouvant avoir ce rôle. Pour remplacer les tank, j'ai utilisé 3 parts stock.
- Le hitchhiker Storage Container (crew cabine) : capacité : 5 ans avec 4 kerbals. ( temps kerbinien)
- Le structural fuselage : capacité : 4 fois moins que le crew cabine.
- Le tank monopropellant radial long : capacité : 4 fois moins que le structural fuselage. (J'y est donc supprimé le monopropellant)
- Plus tous les modules de commande habité, déjà géré par le mod.
Code :

@PART[crewCabin]:FOR[TacLifeSupport]
{
description = Crew cabin for store Kerbals and life support.
RESOURCE
{
name = Food
amount = 3115.12
maxAmount = 3115.12
}
RESOURCE
{
name = Water
amount = 2058.96
maxAmount = 2058.96
}
RESOURCE
{
name = Oxygen
amount = 315345.74
maxAmount = 315345.74
}
RESOURCE
{
name = CarbonDioxide
amount = 0
maxAmount = 272391.08
}
RESOURCE
{
name = Waste
amount = 0
maxAmount = 283.29
}
RESOURCE
{
name = WasteWater
amount = 0
maxAmount = 2622.03
}
}

@PART[Mk1FuselageStructural]:FOR[TacLifeSupport]
{
title = A medium life support tank / Structural fuselage.
description = Usefull for life support or just structural utilisation.
RESOURCE
{
name = Food
amount = 0
maxAmount = 778.78
}
RESOURCE
{
name = Water
amount = 0
maxAmount = 514.74
}
RESOURCE
{
name = Oxygen
amount = 0
maxAmount = 78836.43
}
RESOURCE
{
name = CarbonDioxide
amount = 0
maxAmount = 68097.77
}
RESOURCE
{
name = Waste
amount = 0
maxAmount = 70.82
}
RESOURCE
{
name = WasteWater
amount = 0
maxAmount = 655.5
}
}

@PART[rcsTankRadialLong]:FOR[TacLifeSupport]
{
category = Utility
title = Stratus-V Cylindrified life support Tank
description = The smaller container full of life support supplies.
!RESOURCE[MonoPropellant] {}
RESOURCE
{
name = Food
amount = 0
maxAmount = 194.69
}
RESOURCE
{
name = Water
amount = 0
maxAmount = 128.69
}
RESOURCE
{
name = Oxygen
amount = 0
maxAmount = 19709.1
}
RESOURCE
{
name = CarbonDioxide
amount = 0
maxAmount = 17019.44
}
RESOURCE
{
name = Waste
amount = 0
maxAmount = 17.7
}
RESOURCE
{
name = WasteWater
amount = 0
maxAmount = 163.875
}
}

Voilà ! Ces quatre mods sont jouables en stock et sans parts supplémentaires.

Installation :
- Télécharger module manager. (Pour les modification de parts)
- Télécharger les quatre mods.

Pour remote tech :
-Supprimer le dossier "parts"
-Supprimer les deux fichiers : "RemoteTech_Squad_Antennas.cfg" et "RemoteTech_Squad_Probes.cfg"
Pour scan sat :
-Suppr le dossier "part"
Pour mechjeb :
-Suppr le dossier "part"
Pour tac life support :
-Suppr tout les dossiers, à part "TacLifeSupport".

Pour finir, créez 4 fichier .cfg (bloc note), et copiez collez respectivement les contenus ci-dessus. (Il manque les espace, donc j'espère que ça marchera quand même) Mettez les ensuite directement dans le gamedata, ou bien regroupés dans un dossier, qui ira dans le gamedata. Nommez tout ça comme vous le voudrez.;

N’hésitez pas à me dire ce que vous en pensez, et si vous avez des idées pour d'autres mods, pour les adapter au stock comme cela :)

Pseudo supprimé
Niveau 4
26 août 2015 à 19:57:19

Désolé pour ma maladresse, j'ai supprimé le sujet original... et pas moyen de le restaurer.
J'en est donc recréé un.

Pour répondre aux messages :

Tatonf > Ta technique ne doit pas fonctionner pour le tout premier message d'un sujet :/ Pas grave, merci de l'astuce quand même ;)

Atmoz > Certains mods peuvent rester compatibles, faut test. Par exemple j'utilise texture replacer en 1.0.4, alors qu'il est prévu pour la 1.0.2, mais ça fonctionne parfaitement.

Malahx > Oui je comprend pour TACLS. Disons que je l'ai adapté au stock avec une méthode un peu radicale. Je ne conserve que le principe des tank mais pas les recycleurs.
Avec ce mod, on peux recycler l'oxygène et l'eau, mais pas la nourriture (confirme moi d'ailleurs si je me trompe, mais je ne pense pas.). Donc si il faut être dépendant, autant supprimer les recycleurs. C'est ce que je me suis dis, mais ça peut paraître un peu expéditif, c'est vrai XD

1
Sujet : Équilibre vanilla/moddé
   Retour haut de page
Consulter la version web de cette page