Captain Hook - Antworten





Welche Screenshots stammen aus dem Spiel 'Die Siedler DEdK'?




Letzte Beiträge in diesem Thema

bobby #
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

Noigi #
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.

Noigi #
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.

yoq #
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 #
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.

SiteEngine v1.5.0 by nevermind, ©2005-2007
Design by SpiderFive (www.siedler-games.de) - English translation by juja

Impressum