Captain Hook
» Siedler Map Source Forum » Siedler DEdK - Settlers HoK » Captain Hook
Zurück zu den Maps: Die Siedler DEdK » Ausgetrocknet (TechDemo)
Seiten: 1
totalwarANGEL
|
#1 14.12.2014 00:53 Beiträge: 2123 |
Captain Hook
Ein paar Leute (d.h. mehr als nur 1 ) fragen sich, ob es vielleicht irgend wann einen S6Hook gibt.
Also die Handlung ist mehr als nur... sagen wir mal fragwürdig.
Aber von deinen technischen Tricks bin ich hin und weg.
____________________
Die Welt ist arschlochförmig und wir leben in der Mitte.
Dieser Beitrag wurde von totalwarANGEL am 14.12.2014 um 01:05 editiert.
jugl
|
#2 14.12.2014 01:30 Beiträge: 803 |
Zitat von totalwarANGEL:
...
Also die Handlung ist mehr als nur... sagen wir mal fragwürdig.
Stimmt.
Zitat von totalwarANGEL:
...
Aber von deinen technischen Tricks bin ich hin und weg.
Nice to have.
Ich bin ganz gespannt,
wer es
wo
und
wie
und
warum
und
wann
in einer Karte einsetzt
____________________
Si tus vi late, in isse tabernit.
mcb
|
#3 14.12.2014 01:44 Beiträge: 1472 |
Wow. Vielleicht fällt mir dafür eine Verwendung in meiner nächsten Map ein (wenn die den irgendwann mal fertig wird...)
totalwarANGEL
|
#4 14.12.2014 03:55 Beiträge: 2123 |
@Jugl: Das ist ja nur eine Demo. Ich bin mir sicher, dass man die Technik dahinter auch für sinnvolle Dinge einsetzen kann.
____________________
Die Welt ist arschlochförmig und wir leben in der Mitte.
bobby
|
#5 14.12.2014 16:50 Beiträge: 393 |
Zitat von totalwarANGEL:
Ein paar Leute (d.h. mehr als nur 1 ) fragen sich, ob es vielleicht irgend wann einen S6Hook gibt.
Geplant ist nichts aber möglicherweise...
Zitat von jugl:
Ich bin ganz gespannt,
wer es
wo
und
wie
und
warum
und
wann
in einer Karte einsetzt
Ich auch, wobei ich das aber ein wenig optimistischer sehe
____________________
Tools und Verbesserungen für Siedler: settlers.pro
Neues:
Cutscene Editor
LuaDebugger v0.5.2
MadShadow
|
#6 16.12.2014 20:38 Beiträge: 372 |
Zitat von twA:
Aber von deinen technischen Tricks bin ich hin und weg.
Echt cool!
Auch wenn ich nicht verstehe wie man mit Pilgrim je auf einen grünen Zweig kommen soll. x)
Noigi
|
#7 27.12.2014 23:34 Beiträge: 772 |
Schönes Feature und suuuper Demomap!
Ich habe es jetzt mal ausprobiert und deinen Beispielcode mit dem Bildchen ("graphics\\textures\\gui\\onscreen_emotion_good" in eine Testmap kopiert, in der der Hook schon läuft, es passiert aber gar nichts - weder das Bild noch der Default-Text wird an irgend einer Entity angezeigt. Muss ich die OSI noch aktivieren o.Ä.? Danke!
yoq
|
#8 28.12.2014 11:49 Beiträge: 91 |
Ist S5Hook v0.6 eingebunden?
Das Bild aus dem Beispielcode ist schon in Siedler5 enthalten, und sollte somit ohne Bild einbinden funktionieren.
SetupOSI() darf erst aufgerufen werden wenn S5Hook geladen ist:
-- in FMA InstallHook(function() Message("S5Hook loaded!") SetupOSI() end)
Grundsätzliche Funktionsweise:
- Es wird per S5Hook.OSISetDrawTrigger(osiCallbackFn) ein Trigger registriert der für (fast) jedes Entity, dass derzeit auf dem Bildschirm ist einmal pro Frame aufgerufen wird.
- In osiCallbackFn() wird gezeichnet, dazu stehen S5Hook.OSIDrawText() und S5Hook.OSIDrawImage() zur Verfügung. Da die Funktion relativ oft aufgerufen wird sollte hier effizient programmiert werden. zB:
--langsam DrawFn(Mein.Verschachteltes[riesen].Table2.X, Mein.Verschachteltes[riesen].Table2.Y) --besser local pos = Mein.Verschachteltes[riesen].Table2 DrawFn(pos.X, pos.Y)
- Bilder müssen zuerst mit meinBild = S5Hook.OSILoadImage() geladen werden. Nach einem Speichern / Laden Zyklus wird meinBild = nil und muss neu geladen werden bevor es wieder verwendet werden kann.
- Auch der S5Hook muss neu geladen werden und in Folge auch der Trigger wieder gesetzt werden
____________________
S5 & S6: Lua Script Debugger (Thread) | bbaTool
S5: S5Hook (Thread) | S5 GUI Editor | S5 Grafikupgrade + nVidia fix | Win10 Creators Update
Noigi
|
#9 29.12.2014 13:14 Beiträge: 772 |
Ja, v0.6 war eingebunden, aber den Aufruf SetupOSI() hatte ich nicht drin - ist wohl an mir vorbei gegangen.
Danke!
Kommando zurück: SetupOSI() ist ja gar keine Framework-Funktion, sondern bloß der Name der Init-Wrapper-Funktion aus dem Beispiel. Ich habe nochmal drüber geschaut. So sieht es bei mir aus:
function S5Hook_OnLoad() -- ### Die Mapdatei wird ins Spiel geladen um alle Dateien verfügbar zu machen S5Hook.AddArchive("extra2/shr/maps/user/" .. Framework.GetCurrentMapName() .. ".s5x") myImg = S5Hook.OSILoadImage("graphics\\textures\\gui\\onscreen_emotion_good") myImgW, myImgH = S5Hook.OSIGetImageSize(myImg) S5Hook.OSISetDrawTrigger(OSICallbackTest); end function OSICallbackTest(_eID, _active, _posX, _posY) Message(_active); if _active then S5Hook.OSIDrawImage(myImg, x-myImgW/2, y-myImgH/2 - 40, myImgW, myImgH) else S5Hook.OSIDrawText("eID: " .. eID, 3, x+25, y, 255, 255, 128, 255) end end
Es kommt keine Messagt, also wird OSICallbackTest nicht aufgerufen.
Dieser Beitrag wurde von Noigi am 29.12.2014 um 13:25 editiert.
yoq
|
#10 29.12.2014 18:59 Beiträge: 91 |
Parameter nur zur Hälfte umbenannt => Lua Fehler
Und in S5Hook Callbacks werden keine Fehlermeldungen angezeigt.
Mit meinem Debugger könnten auch diese abgefangen werden.
Und Message() kann nur Strings und Zahlen ausgeben, bei bools gibt es keine Ausgabe. Dieser Code funktioniert bei mir:
function OSICallbackTest(_eID, _active, _posX, _posY) Message(_active) if _active then S5Hook.OSIDrawImage(myImg, _posX-myImgW/2, _posY-myImgH/2 - 40, myImgW, myImgH) else S5Hook.OSIDrawText("eID: " .. _eID, 3, _posX+25, _posY, 255, 255, 128, 255) end end
____________________
S5 & S6: Lua Script Debugger (Thread) | bbaTool
S5: S5Hook (Thread) | S5 GUI Editor | S5 Grafikupgrade + nVidia fix | Win10 Creators Update
Noigi
|
#11 30.12.2014 19:08 Beiträge: 772 |
Och mensch, muss ich jetzt auf Syntax achten - das ist doch Aufgabe des Interpreters!
Ein drittes Mal danke, jetzt klappt es auch.
Noigi
|
#12 30.12.2014 21:57 Beiträge: 772 |
Jetzt habe ich Blut geleckt: ist es auch möglich, bestehende OSI-Elemente auszublenden? Konkret ginge es mir um den Kram bei Gebäuden.
bobby
|
#13 31.12.2014 01:04 Beiträge: 393 |
Nein das ist mit zurzeit verfügbaren Mitteln leider noch nicht möglich.
____________________
Tools und Verbesserungen für Siedler: settlers.pro
Neues:
Cutscene Editor
LuaDebugger v0.5.2
Seiten: 1