Hallo,
ich probiere mich gerade an einem Mod der nicht gut umzusetzen ist, ohne den aktuellen Zustand bestimmter Felder auszulesen.
Also im Prinzip genau die Informationen die man sich auf der Kartenansicht einblenden kann.
Welche Frucht gepflanzt ist, wie der Zustand des Bodens ist. Den Wachstumsstand usw. So das man am besten sogar eine prozentuale Anzeige errechnen könnte.
Ich suche mich bereits seit Tagen durch die Script Doku und durch die files verschiedener Mods um schlauer zu werden.
Am einfachsten wäre es natürlich wenn die Daten der Kartenansicht bereits hübsch aufbereitet in einem Table zu finden wären
Aber da ich das fast bezweifle, habe ich gedacht könnte ich über die Felddefinitionen, den fruitTypeManager usw. die Daten auslesen indem ich Methoden wie:
-setDensityCompareParams(id, "between", desc.minHarvestingGrowthState+1, desc.maxHarvestingGrowthState+1);
-getDensityParallelogram(g_currentMission.fruitsList[1].id, field.x0, field.z0, field.widthX, field.widthZ, field.heightX, field.heightZ, 1, 4);
benutze und so an die Daten komme.
Dabei ist nur das Problem, das beide Methoden mir als nil zurückgemeldet werden. Sind die nur in FS17 noch verfügbar gewesen?
Was mich leider auch noch nicht wirklich zum Ziel geführt hat, war die Methode:
-FSDensityMapUtil.getFruitArea(1, field.x0, field.z0, field.widthX, field.widthZ, field.heightX, field.heightZ, true, false);
Die habe ich auf alle Feldpartitionen (field.getFieldStatusPartitions()) angewendet und erkenne auch Unterschiede je nach Wachstumszustand aber ganz selbsterklärend waren die Werte für mich leider noch nicht. Wenn ich einen Teil der Pflanzen gegrubbert habe, hat sich teilweise nichts an den Werten geändert, das hat mich dann stutzig gemacht. Kann mir da jemand weiterhelfen?
FieldUtil.getFruitArea() sieht auch nach einer passenden Funktion aus um den Fruchtzustand des Feldes auszulesen, aber auch dort ist die Parameterliste ellenlang und Parameter wie 'terrainDetailRequiredValueRanges' und 'terrainDetailProhibitValueRanges' nicht ganz selbsterklärend
Hat sich mit der groben Thematik schon jemand im LS19 auseinander gesetzt?
Ich wäre hier für jede Hilfe bzw. Schubs in die richtige Richtung dankbar
Feldzustand in Lua auslesen
4 posts
Page 1 of 1
Re: Feldzustand in Lua auslesen
Ich habe selbst gar keine Ahnung davon, aber es gibt einen Mod mit dem man sich einige Felddaten anzeigen lassen kann.
Vielleicht hilft dir das ja auf die richtige Fährte zu kommen?
Vielleicht hilft dir das ja auf die richtige Fährte zu kommen?
Code: Select all
https://www.modhoster.de/mods/fielddata-mod-zeigt-felddaten-menge-preis-uvm
mfg twizzle
Re: Feldzustand in Lua auslesen
Vielen Dank für die Antwort. Da habe ich schon nachgesehen. Der einzige halbwegs relevante Wert dort ist der Fruittype der auf dem Feld wächst, der ist gut zu finden. Aber die tatsächlichen Zustände wie ich sie brauche werden dort nicht abgefragt. Aber trotzdem danke!
Re: Feldzustand in Lua auslesen
Ok,
im GDN Forum hat mich ein freundlicher Nutzer auf die Funktion:
FSDensityMapUtil.getFieldStatusAsync()
hingewiesen.
Diese wird von FieldInfoDisplay genutzt. Und das Resultat wird an:
FieldInfoDisplay.onFieldDataUpdateFinished()
geschickt.
Das konnte ich wiederum abfangen mit:
FieldInfoDisplay.onFieldDataUpdateFinished = Utils.appendedFunction(FieldInfoDisplay.onFieldDataUpdateFinished, MyMod.onFieldDataUpdateFinished);
Die Informationen sind auch genau das was ich gesucht habe:
Hat nun jemand eine gute Idee oder gar einer der GIANTS Mitarbeiter eine Info welche Parameter die Funktion
FSDensityMapUtil.getFieldStatusAsync()
braucht? Diese ist leider nicht dokumentiert.
Ich habe bereits die Feldnummer, Feld rootNode und die Table für das Feld an sich genutzt. Ohne Erfolg.
Probiert habe ich es mit der FSDensityMapUtil.getFieldStatus(), da ich vermeiden wollte das es noch an dem weiteren Parameter für den Callback scheitert.
Jemand eine gute Idee?
Ich probiere es heute Abend noch weiter.
Wenn ich etwas erreiche melde ich mich nochmal. Vielleicht sind die Infos ja noch für andere Modder interessant.
im GDN Forum hat mich ein freundlicher Nutzer auf die Funktion:
FSDensityMapUtil.getFieldStatusAsync()
hingewiesen.
Diese wird von FieldInfoDisplay genutzt. Und das Resultat wird an:
FieldInfoDisplay.onFieldDataUpdateFinished()
geschickt.
Das konnte ich wiederum abfangen mit:
FieldInfoDisplay.onFieldDataUpdateFinished = Utils.appendedFunction(FieldInfoDisplay.onFieldDataUpdateFinished, MyMod.onFieldDataUpdateFinished);
Die Informationen sind auch genau das was ich gesucht habe:
FSDensityMapUtil.getFieldStatusAsync()
braucht? Diese ist leider nicht dokumentiert.
Ich habe bereits die Feldnummer, Feld rootNode und die Table für das Feld an sich genutzt. Ohne Erfolg.
Probiert habe ich es mit der FSDensityMapUtil.getFieldStatus(), da ich vermeiden wollte das es noch an dem weiteren Parameter für den Callback scheitert.
Jemand eine gute Idee?
Ich probiere es heute Abend noch weiter.
Wenn ich etwas erreiche melde ich mich nochmal. Vielleicht sind die Infos ja noch für andere Modder interessant.
4 posts
Page 1 of 1