Ausbau-% über Gebäuden
» Siedler Map Source Forum » Siedler DEdK Script Forum » Ausbau-% über Gebäuden
Seiten: 1
Fire_Bird
|
#1 02.04.2016 17:14 Beiträge: 719 |
Fortschritt-% über Gebäuden
Ich bin mir nicht sicher, ob es dieses Thema hier im Forum schon gibt, die Suche hat zu Mindest nichts gefunden
Bei den Gebäuden, die etwas erforschen können, aber auch die, die ausgebaut werden können, haben ja ein OverheadWidget mit dem Fortschritt in Prozent.
Ist es möglich, diese Prozentanzeige zu manipulieren und eigene Zahlen anzeigen zu lassen?
Danke schon mal!
castleplayer
|
#2 02.04.2016 18:39 Beiträge: 243 |
Ich hab zwar konkret keine Ahnung wie das gehen soll, aber diese Prozentzahl hängt ja mit dem Balken im Gebäude zusammen. Möglicherweise ändert die Prozentanzeige sich, wenn du den Balken manipulierst. Das würde zwar keine eigenen Zahlen zulassen, aber man kann trotzdem schonmal die Zahlen veränden.
____________________
Wenn die KI immer frontal angreift, wofür steht dann Das I in Künstliche Intelligenz?
Das neueste vom Nebelvolk!
Fire_Bird
|
#3 03.04.2016 10:21 Beiträge: 719 |
Ne, leider hat das keine Auswirkung, habe ich schon probiert
mcb
|
#4 03.04.2016 13:06 Beiträge: 1472 |
Die ProgressBar wird auch über Lua mit den Werten aus Logic verstellt.
Also eine normale Funktion gibt es dafür nicht, vielleicht lässt sich da was mit den ScriptingValues machen.
Noigi
|
#5 03.04.2016 17:23 Beiträge: 772 |
Ich habe in TRIBE mit Hilfe der S5Hook-OnScreenInformation diese Prozentanzeige künstlich erzeugt (an der Burg, Fortschritt der Leibi-Ausbildung). Ist das für dich auch eine Option? Die bestehenden OnScreen-Widgets auszublenden oder zu manipulieren geht meines Wissens nicht.
Fire_Bird
|
#6 03.04.2016 18:05 Beiträge: 719 |
Zitat von Noigi:
Ist das für dich auch eine Option?
Ehrlich gesagt ist es dafür dann nicht wichtig genug
Zitat von Noigi:
Die bestehenden OnScreen-Widgets auszublenden oder zu manipulieren geht meines Wissens nicht.
Schade, ich hatte gehofft dass die Prozentzahl vielleicht über die SVs gesetzt werden könnte (wie mcb schon vorgeschlagen hat)
Aber danke euch drei für die Antworten!
Zedeg
|
#7 03.04.2016 19:53 Beiträge: 428 |
Zitat von Fire_Bird:
Schade, ich hatte gehofft dass die Prozentzahl vielleicht über die SVs gesetzt werden könnte (wie mcb schon vorgeschlagen hat)
Natürlich werden sie das:
Logic.SetEntityScriptingValue(id, 20, Float2Int(progress))
1=100% (glaube ich noch zu wissen)
So zeige ich auch den Produktionsfortschritt bei Sense, Schleifstein & Co an.
____________________
Journalisten erkundigen sich bei Wissenschaftlern meist nicht nach Grundlagen, sondern eher nach Ergebnissen und Folgerungen. Das erklärt womöglich auch, warum sich Forschungsberichte in den Medien so häufig als feststehende Erkenntnisse lesen, nicht aber als Ideen, Entdeckungen oder Indizien, um die es sich genau genommen in den meisten Fällen handelt. -Axel Bojowski
Play4FuN
|
#8 03.04.2016 21:50 Beiträge: 704 |
Gerade auch mal getestet, interessierte mich auch mal so spontan
Ich habe Zedegs Code mit mehreren Werten zwischen 0 und 1 für "progress" probiert, funktioniert wunderbar. Sogar Werte > 1 werden akzeptiert, es erscheint dann eben z.B. 290% bei einem Wert von 2.9 ... auch nicht schlecht.
Nur 0.01 (1%) funzt irgendwie nicht. Das ist mMn zwar nicht schlimm, wundert mich aber nun doch, hat das mal jemand anderes ausprobiert? Kommt mir etwas spanisch vor.
(ja, andere Werte wie 0.02 funktionieren wunderbar)
____________________
LG Play4FuN
Siedler DEdK Mapping + Scripting Tutorials
Zedeg
|
#9 03.04.2016 22:11 Beiträge: 428 |
Bei mir wird %1 ganz normal angezeigt. o.O Beispielskript:
local prod for v, w in pairs(Sawmill.Id) do Sawmill.Time[v] = Sawmill.Time[v]-Logic.GetBuildingWorkPlaceUsage(Sawmill.Id[v]) if Sawmill.Time[v] <= 0 and Sawmill.Work[v] > 1 then Sawmill.Time[v] = Sawmill.Stick.Time Sawmill.Work[v] = Sawmill.Work[v]-1 DVS_ProdAndTech_StickProduced() elseif Sawmill.Time[v] <= 0 and Sawmill.Work[v] == 1 then Sawmill.Time[v] = -10 Sawmill.Work[v] = Sawmill.Work[v]-1 DVS_ProdAndTech_StickProduced() Logic.SetEntityScriptingValue(w, 20, Float2Int(0)) if GUI.GetSelectedEntity() == Sawmill.Id[v] then XGUIEng.ShowWidget("PowerPlant", 0) XGUIEng.ShowWidget("ResearchInProgress", 0) end end if Sawmill.Work[v] > 0 then Logic.SetEntityScriptingValue(w, 20, Float2Int((Sawmill.Stick.Time-Sawmill.Time[v])/Sawmill.Stick.Time)) prod = true end end
____________________
Journalisten erkundigen sich bei Wissenschaftlern meist nicht nach Grundlagen, sondern eher nach Ergebnissen und Folgerungen. Das erklärt womöglich auch, warum sich Forschungsberichte in den Medien so häufig als feststehende Erkenntnisse lesen, nicht aber als Ideen, Entdeckungen oder Indizien, um die es sich genau genommen in den meisten Fällen handelt. -Axel Bojowski
Zedeg
|
#11 04.04.2016 14:12 Beiträge: 428 |
Bedank dich bei Kantelo (es sei denn, er hat es wiederum von jemand anderem ).
____________________
Journalisten erkundigen sich bei Wissenschaftlern meist nicht nach Grundlagen, sondern eher nach Ergebnissen und Folgerungen. Das erklärt womöglich auch, warum sich Forschungsberichte in den Medien so häufig als feststehende Erkenntnisse lesen, nicht aber als Ideen, Entdeckungen oder Indizien, um die es sich genau genommen in den meisten Fällen handelt. -Axel Bojowski
Fire_Bird
|
#12 16.04.2016 13:15 Beiträge: 719 |
Weiß jemand, wie man die Anzeige tiefer setzen kann? Könnte es helfen, wenn das Gebäude per SV verkleinert wird? Oder bleibt das OHW dann auf seinem Platz?
Kantelo
|
#13 17.04.2016 13:26 Beiträge: 357 |
Das bleibt dann an seinem Platz;
Wenn ich das noch richtig in Erinnerung habe, dann ist das tiefer setzen ein ziemlicher Aufwand, da ähnlich wie bei der Z-Koordinate die Höhe des Widgets geupdatet wird und man es immer wieder aufs neue setzen muss wenn die Kamera auf das Gebäude gerichtet wird.
Seiten: 1