Contrat (ore) à priori rempli mais non validé !?

Tout ce dont vous avez besoin, y compris de quoi posez vos questions, se trouve ici
Avatar de l’utilisateur
skypop
Messages : 65
Inscription : 07 février 2014, 05:36
Contact :

Contrat (ore) à priori rempli mais non validé !?

Message par skypop » 28 juillet 2015, 11:32

Il s'agit d'un contrat assez simple, et qui a motivé une bonne partie de mon projet de déploient sur Minmus. Grosso-modo :
Kerlington a écrit : Contract : Extract 550 units of ore from Minmus
We've detected some ore on Minmus. Extract 550 units of it.
  • Prestige: Trivial
    Objectives: Acquire 550 units of fresh ore from Minmus
(...)
Screenshot :arrow: https://dl.dropboxusercontent.com/u/389 ... minmus.jpg

Je passe les détails du déploient/prospection sur Minmus. Je conçois ma foreuse en tant que probe, équipée d'un réservoir Large de 1500.
Je l'ai laissé tourné un certain temps. Vu que j'étais assez loin des 550 unités, je suis allé poursuivre d'autres missions.
Quand je suis revenu à ma foreuse, elle avait récolté environ 1000/1500 unités, mais le contrat n'a pas été validé. Je n'ai pas cherché à comprendre sur le coups et je l'ai laissé continuer.

Désormais, le réservoir est rempli, mais le contrat ne réagis toujours pas.
Screenshot :arrow: https://dl.dropboxusercontent.com/u/389 ... minmus.jpg

Rien à signaler sur les contrats en général, c'est le seul qui semble bloquer.
Peut-être que le jeu s'attend à un événement pour contrôler les conditions (et les valider)

Et ce n'est pas une erreur d'interprétation : le contrat n'exige que la récolte du minerais, et pas son éventuelle expédition sur Kerbin.
J'ai dans la même partie, un autre contrat exigeant la récolte de minerais, sur Mun, et précise bien les conditions de retour sur Kerbin.
Integrated Integrals a écrit : Contract : Extract ore from the Mun and deliver it to Kerbin
We've detected some ore on the Mun. Extract 1,050 units of it and deliver it to Kerbin.
  • Prestige: Significant
    Objectives:
    Acquire 1,050 units of fresh ore from the Mun
    Have 1,050 units of ore in your vessel
    Land your Ore on Kerbin
    Maintain stability for ten seconds
(...)
Screenshot :arrow: https://dl.dropboxusercontent.com/u/389 ... ct-mun.jpg

Je ne comprend pas. Je pourrais envisager plein de bidouilles pour tenter de débloquer la situation, mais je tiens à garder une certaine rigueur et optimisation dans mon programme spatial. Gene Kranz dans Apollo 13 disait : "Ne perdons pas notre temps à jouer aux devinettes !" Mais bon voila une colle de posée, que j'aimerais bien résoudre.
Si vous avez déjà expérimenté ce genre de contrat, ou si vous avez déjà eu ce genre de soucis sous d'autres conditions...

Quelques détails, idées :
  • - J'ai accepté le contrat de Mun avant celui de Minmus, et il me semble qu'ils étaient apparus dans cet ordre

    - Ma foreuse est équipés de plusieurs ports de dock, prévu afin d'y intégrer d'autres éléments (pour la transformer en usine)
    :arrow: Si une part en particulier pourrait aider à débloquer la situation, ça m'intéresse (antenne, pod, réservoir... ?)

    - Le contrat sur Minmus ne précise pas que le minerais doit être stocké dans un vaisseau.
    :arrow: Donc à priori, il n'est pas nécessaire d'être équipé d'un réservoir, voir même tout récolter avec la même foreuse pour remplir ce contrat.

    - Je n'ai pas tenté de vidanger le réservoir (action "Jettison Tank Contents"), pour ne pas gâcher...
    :arrow: Est-ce que la teneur en minerais baisse au fur et à mesure des forages sur une lune ?

    - Peut-être que le jeu attend que les 550 unités soient récoltées en live et pas en différé.
    :arrow: En gros, il suffirait de mettre la foreuse en marche, et accélérer le temps jusqu'à récolter les 550 unités, sans switcher vers un autre vaisseau, ou retourner au KSC entre-temps ?..

Avatar de l’utilisateur
skypop
Messages : 65
Inscription : 07 février 2014, 05:36
Contact :

Re: Contrat (ore) à priori rempli mais non validé !?

Message par skypop » 28 juillet 2015, 11:43

Je double-post pour la bonne cause...
Après avoir publié, j'ai eu l'idée de jeter un oeil dans le fichier persistent.sfs de ma sauvegarde...

Voici le contenu du contrat en question :

Code : Tout sélectionner

CONTRACT
			{
				guid = c5dcca74-2d40-424d-8836-f0b69c0a628c
				type = ISRUContract
				prestige = 0
				seed = -1468685775
				state = Active
				agent = Kerlington Model Rockets and Paper Products Inc
				deadlineType = Floating
				expiryType = Floating
				values = 64800,161028000,86220,219725,86220,0,24,12,6042916.43076308,5978905.47074545,167006905.470745,0
				targetBody = 3
				gatherGoal = 550
				targetResource = Ore
				resourceTitle = ore
				isDelivering = False
				PARAM
				{
					name = ResourceExtractionParameter
					state = Incomplete
					values = 0,0,0,0,0
					targetBody = 3
					totalHarvested = 166.069102069327
					goalHarvested = 550
					resourceName = Ore
					resourceTitle = ore
					notifyLevel = 0.5
				}
			}
Le tableau "PARAM" contient les membres suivants :
  • totalHarvested = 166.069102069327
    goalHarvested = 550
    resourceName = Ore
Même si mon réservoir s'est rempli à 1500/1500, seulement 166.06 unités ont été comptabilisées.
Du coups je parie sur cette explication :
skypop a écrit :- Peut-être que le jeu attend que les 550 unités soient récoltées en live et pas en différé.
Du coups, je suppose qu'une autre bizarrerie pourrait se produire sur un contrat de type "récolter et rapporter sur Kerbin".
On pourrait valider la condition "Have 1,050 units of ore in your vessel", sans que la condition "Acquire 1,050 units of fresh ore from the Mun" n'ait été validée. Ce qui est stupide, mais logique pour le code du jeu.
J'ai lu dans une dev-note que les foreuse, comme les science-lab ne tournent pas en tâche de fond (ça fait moins de travail) Quand on les laisse de côté un moment, il ne se passe rien. Quand on décide de les rejoindre, le jeu calcule la somme récoltée en fonction du temps passé, et l'ajoute au stock.
Cet ajustement n'influe pas sur le contrat. Ou bien c'est que cet ajustement se fait au niveau du réservoir, et que le contrat attend cette donnée de la foreuse.

Bref, un petit bug de rien du tout. Néanmoins : à confirmer.

Avatar de l’utilisateur
Leren666
Messages : 80
Inscription : 20 juillet 2015, 21:25
Contact :

Re: Contrat (ore) à priori rempli mais non validé !?

Message par Leren666 » 28 juillet 2015, 15:46

J'ai le même problème que toi.

1500 unité de Ore a récolter sur la mun et renvois a Kerbin. Apres avoir bien lutter pour envoyer le matos j'ai lancé la récolte mais moi je suis rester sur le vaisseaux pendant tout le forage qui m'a pris 4 jours Munien (pas assez de réserve d’énergie pour tenir tout le cycle de nuit sur la Mun)

Et pareil que pour toi après renvois sur Kerbin le contrat n'est pas validé ...

Avatar de l’utilisateur
skypop
Messages : 65
Inscription : 07 février 2014, 05:36
Contact :

Re: Contrat (ore) à priori rempli mais non validé !?

Message par skypop » 28 juillet 2015, 16:30

Toutes les conditions sont cochées ou pas ? (cochées en vert)
à quelle(s) vitesse(s) tu as passé les 4 jours sur Mun ?

Est-ce que tu saurais aller fouiller dans ton fichier de sauvegarde comme je l'ai fait ?
ça permettrait de démystifier cette affaire.

Les contrats en cours figurent en premier dans le fichier de ma sauvegarde (c'est probablement pareil sur la tienne) du coups ça ne devrait pas être trop laborieux de la retrouver. Utilise le bloc note de windows pour l'ouvrir (ou simpletext si tu es sur Mac). Ouvre-le mais ne modifie rien, et n'enregistre pas (comme ça, pas de soucis)

Pour trouver facilement, tu peux utiliser la fonction de recherche : Menu Edition > rechercher
et cherche le terme suivant :

Code : Tout sélectionner

type = ISRUContract
Au pire, si tu peux me transmettre ton fichier persistent.sfs (via dropbox, dl.free.fr ou wetransfert ou autre) je peux le faire pour toi.

Voici le contenu de mon second contrat sur Mun (j'ai encore rien foré sur cet astre)

Code : Tout sélectionner

CONTRACT
			{
				guid = 25d4f886-a9ca-49c5-b8a0-060096f2304d
				type = ISRUContract
				prestige = 1
				seed = -1014156989
				state = Active
				agent = Integrated Integrals
				deadlineType = Floating
				expiryType = Floating
				values = 63529.4118404388,126296470.738792,160171.386966557,448994.208630212,179643.203893662,0,54.83636,29,5713480.32779848,5704235.15727304,132000705.896065,0
				targetBody = 2
				gatherGoal = 1050
				targetResource = Ore
				resourceTitle = ore
				isDelivering = True
				deliveryBody = 1
				deliverySituation = 0
				PARAM
				{
					name = ResourceExtractionParameter
					state = Incomplete
					values = 0,0,0,0,0
					targetBody = 2
					totalHarvested = 0
					goalHarvested = 1050
					resourceName = Ore
					resourceTitle = ore
					notifyLevel = 0.25
				}
				PARAM
				{
					name = ResourcePossessionParameter
					state = Complete
					disableOnStateChange = False
					values = 0,0,0,0,0
					goalResource = 1050
					resourceName = Ore
					resourceTitle = ore
					vesselName = vessel
				}
				PARAM
				{
					name = LocationAndSituationParameter
					state = Incomplete
					disableOnStateChange = False
					values = 0,0,0,0,0
					targetBody = 1
					targetSituation = 0
					noun = Ore
					finalObjective = False
				}
				PARAM
				{
					name = StabilityParameter
					state = Complete
					disableOnStateChange = False
					values = 0,0,0,0,0
					holdSeconds = 10
				}
			}
Pour l'instant, je constate juste (comme je l'avais supposé) qu'il contient les membres :

Code : Tout sélectionner

totalHarvested = 0
goalHarvested = 1050
à mon avis, tant que "totalHarvested" n'est pas supérieur à "goalHarvested", ça ne peut pas être validé. Et à l'évidence, le compteur de "totalHarvested" ne fonctionne pas comme on est en droit de l'attendre.

Je vais reprendre ma partie d'ici peu, et remettre ma foreuse en route, même si le réservoir est déjà plein, et que les ressources seront perdues.
Comme ça, je pourrais vérifier dans le fichier de sauvegarde si le "totalHarvested" a pu augmenter.

Avatar de l’utilisateur
skypop
Messages : 65
Inscription : 07 février 2014, 05:36
Contact :

Re: Contrat (ore) à priori rempli mais non validé !?

Message par skypop » 28 juillet 2015, 18:17

De retour après ce premier test.
- Je n'ai pas vidangé mon réservoir, qui est resté plein (1500/1500)
- La foreuse m'indique "Full" (qu'elle n'a plus de réserve à remplir)
- J'ai laissé fonctionner la foreuse, approximativement 5 min en temps réel (sans accélérer le temps)
- D'après la teneur en minerais à ce emplacement, j'ai estimé que 5min de forage devait rapporter une unité de minerais (ou presque)

Résultat, dans mon fichier de sauvegarde, la valeur de totalHarvested est identique au premier relevé : 166.069102069327
Probablement que le stockage de la récolte a son importance dans le décompte de la récolte.
Je démystifierais ça dès ma prochaine partie (mon camion citerne est prêt, plus qu'à l'envoyer sur place)

J'espère quand même que le jeu ne tienne pas à ce que l'on reste sur son vaisseau en temps réel pour effectuer la récolte.
Le meilleur endroit que j'ai trouvé sur Minmus a un taux de minerais détecté à 8,72% en surface, et ma foreuse indique un rendement de 0.004358/sec
:shock: Soit environ 35h temps réel pour atteindre l'objectif des 550 unités... (soit 1h si je déploie 35 foreuses...)
Si c'est ça, je cheat, et j'expliquerais comment faire ici même (faut pas déconner)

Avatar de l’utilisateur
Leren666
Messages : 80
Inscription : 20 juillet 2015, 21:25
Contact :

Re: Contrat (ore) à priori rempli mais non validé !?

Message par Leren666 » 28 juillet 2015, 21:27

Tien, voila le contrat tel qu'il est dans ma sauvegarde.

Code : Tout sélectionner

CONTRACT
			{
				guid = 0c9bc558-fcf9-479e-98d7-916eaf1f729b
				type = ISRUContract
				prestige = 2
				seed = -1148213335
				state = Active
				agent = Umbra Space Industries
				deadlineType = Floating
				expiryType = Floating
				values = 108000,128822400,658574.750167251,1930050.3205892,757360.946990693,0,106.8636,33.48837,2840407.21556969,2829577.96853486,131651977.968535,0
				targetBody = 2
				gatherGoal = 2300
				targetResource = Ore
				resourceTitle = ore
				isDelivering = True
				deliveryBody = 1
				deliverySituation = 5
				PARAM
				{
					name = ResourceExtractionParameter
					state = Incomplete
					values = 0,0,0,0,0
					targetBody = 2
					totalHarvested = 0.252225533353366
					goalHarvested = 2300
					resourceName = Ore
					resourceTitle = ore
					notifyLevel = 0.25
				}
				PARAM
				{
					name = ResourcePossessionParameter
					state = Incomplete
					disableOnStateChange = False
					values = 0,0,0,0,0
					goalResource = 2300
					resourceName = Ore
					resourceTitle = ore
					vesselName = vessel
				}
				PARAM
				{
					name = LocationAndSituationParameter
					state = Incomplete
					disableOnStateChange = False
					values = 0,0,0,0,0
					targetBody = 1
					targetSituation = 5
					noun = Ore
					finalObjective = False
				}
				PARAM
				{
					name = StabilityParameter
					state = Incomplete
					disableOnStateChange = False
					values = 0,0,0,0,0
					holdSeconds = 10
Par contre je ne me souvien plus du Time Set pendant la recolte. mais je faisait passer un jour munien en une minute environ. et bizarrement les 2 dernier objectif avait été validé dans le jeu mais là il apparaisse incomplet.

Je remarque aussi que mon quota de ressource colecté est d'environ 0.25 alors que mon cargo de 2500 unité était remplis a max pour cette mission. Peut etre une piste a exploité?

Avatar de l’utilisateur
skypop
Messages : 65
Inscription : 07 février 2014, 05:36
Contact :

Re: Contrat (ore) à priori rempli mais non validé !?

Message par skypop » 28 juillet 2015, 23:12

Leren666 a écrit :Je remarque aussi que mon quota de ressource colecté est d'environ 0.25
Nuance qui a son importance, le nom de la variable n'indique pas un "quota" mais un "total" (totalHarvested)
Autre détail parlant (de mon humble expérience en programmation) Le bloc principal, et le bloc "Param" tenant compte de la quantité collecté ne fait pas mention d'un vaisseau ou d'un réservoir particulier. Ce serait donc une variable relative à l'astre et non à un lander/fusée particulier.

à tes dires, c'est assez étonnant que StabilityParameter ne soit pas validé.
Dans mon contrat de récolte sur Mun, alors même que je n'ai rien entrepris, ce paramètre est validé.

ça doit dépendre d'où tu te trouves au moment où la sauvegarde est faite. On est d'accord que ton contrat n'a pas été validé, au moins sur une condition (totalHarvested), donc le contrat dans la sauvegarde n'a pas été transformé en CONTRACT_FINISHED, il est toujours en cours.
Peut-être qu'après tu as switché de vaisseau, vers un vaisseau qui n'a pas satisfait ce critère de stabilité (rester stable durant 10 secondes d'affilée il me semble..) Du coups cette condition, que tu as pu constater validée à un moment, a pu se retrouver invalidée plus tard, et la sauvegarde se faire dans cet instant là.

Le prochain test à faire maintenant, c'est de faire fonctionner une foreuse, en temps réel, avec un réservoir pouvant accueillir suffisamment de minerais.

De ton côté, si tu as ramené ton vaisseau sur Kerbin avec son stock de minerais, ce que tu peux faire, c'est eviter de le récupérer (recovery) Attendre que la foreuse sur Mun ait bien ramassé le total de minerais escompté par le contrat. Et lorsque c'est fait, visiter ton vaisseau sur Kerbin, vérifier si toutes les conditions du contrat sont remplies, et si c'est le cas, récupérer le vaisseau. (Tu seras quitte de refaire le transport, enfin, peut-être)

edit : je viens de relire ta sauvegarde. Il semble que tu ai récupéré le vaisseau, et que du coups le contrat ait été remis à zéro, sauf la condition de récolte restée à 0.252225533353366.

Avatar de l’utilisateur
skypop
Messages : 65
Inscription : 07 février 2014, 05:36
Contact :

Re: Contrat (ore) à priori rempli mais non validé !?

Message par skypop » 28 juillet 2015, 23:30

J'ai jeté un oeil sur le forum anglais, il y a bien quelques questions sur ces contrats, mais aucun ne relève l'éventualité d'un bug.

Enfin, il y en a un qui a trouvé une drôle d'astuce pour truander la condition de "retour sur Kerbin" :
http://forum.kerbalspaceprogram.com/thr ... ost1966110
Grosso-modo :
  • - le jeu ne vérifie pas d'où proviens le minerais (ce qui confirme ma thèse)
    - il suffit de valider la première condition (avoir globalement récolté tant de minerais sur tel astre)
    - aller au VAB, assembler des réservoir de minerais et les remplir de la quantité demandée, et envoyer au pas de tir
    - sur le pas de tir, patienter le temps que la condition de stabilité soit validée
    - récupérer le vaisseau, mission accomplie :P

Avatar de l’utilisateur
Leren666
Messages : 80
Inscription : 20 juillet 2015, 21:25
Contact :

Re: Contrat (ore) à priori rempli mais non validé !?

Message par Leren666 » 28 juillet 2015, 23:58

Je suis pas vraiment au fait du temps de révolution de la Mun mais 4 révolution complète en TR ça fait un sacré bout de temps lol

J'espère que pour le contrat il ne demande pas de les récolter en temps réel ... et comme tu dis il ne précise pas de vaisseaux particulier donc je te suis dans ton raisonnement qu'il faut récolter 2300 ore quelque soit le vaisseaux. Je vais donc renvoyer en vaisseaux miner un peu voir s'il y'a une différence entre le récolter en TD et en TR.

Faire un test genre cinq minute TR ça fait évoluer mon totalharvest de tant et 5 min en X10 par exemple pour voir si ça change quelque chose.

Juste que je gagne quelque credit avant car je commence a manquer de sous. mais bon j'ai 1.5 M qui devrait arriver bientôt. Je ferais mon rapport une fois fait.

Pour l'astuce c'est une idée mais je suis plus adepte du RP donc je le ferais seulement en dernier recour ^^

Avatar de l’utilisateur
skypop
Messages : 65
Inscription : 07 février 2014, 05:36
Contact :

Re: Contrat (ore) à priori rempli mais non validé !?

Message par skypop » 29 juillet 2015, 15:15

Note : Un truc que j'ignorais complètement
http://wiki.kerbalspaceprogram.com/wiki ... ction_rate
Le taux d'extraction, dépend bien du taux de concentration dans le sol, mais pas seulement. La présence d'un ingénieur à bord influe sur le rendement, et non des moindres. Un seul ingénieur suffit, c'est le level de l'ingénieur le plus expérimenté qui influe sur le rendement.

Apparemment, c'était dit dans la description de la pièce... je suis passé à côté
Designed to help extract valuable resources from the crust of planets and asteroids, the Drill-O-Matic uses a rotary drill combined with an internal transfer auger to pull crushed regolith into holding tanks for later processing. When operated by a skilled engineer, you will be able to operate with better efficiency.

Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit