S5Hook & GUI Editor

» Siedler Map Source Forum » Siedler DEdK Script Forum » S5Hook & GUI Editor

Seiten: Zurück 1 2 3 4 5 6 7 Nächste Seite

wilma456
#51
07.07.2014 19:09
Beiträge: 460

Zitat von Zedeg:
Meinst du den GUI-Editor? Dann schau dir doch mal Beitrag 31 von bobby an, vielleicht hilft 's.



Bei dir war es ein Ladefehler, ich komme jedoch nicht zum laden.

____________________
Schlacht um Crawford

Wilmasmod

bobby
#52
12.07.2014 11:44
Beiträge: 393

@wilma:
Wie in Post 31 beschrieben mal unter Settings, Set Working Directory anklicken und neu auswählen.
Dann noch mal schauen ob es leer ist.
Falls ja stimmt irgendwas mit deiner Registry nicht.
D.h. das Spiel wurde auf deinem System nicht ordnungsgemäß installiert.
In diesem Fall bitte noch mal hier melden.

____________________
Tools und Verbesserungen für Siedler: settlers.pro

Neues:
Cutscene Editor
LuaDebugger v0.5.2

wilma456
#53
21.07.2014 16:44
Beiträge: 460

Zitat von bobby:
@wilma:
Wie in Post 31 beschrieben mal unter Settings, Set Working Directory anklicken und neu auswählen.
Dann noch mal schauen ob es leer ist.
Falls ja stimmt irgendwas mit deiner Registry nicht.
D.h. das Spiel wurde auf deinem System nicht ordnungsgemäß installiert.
In diesem Fall bitte noch mal hier melden.



Funktioniert immer noch nicht.

____________________
Schlacht um Crawford

Wilmasmod

yoq
#54
23.08.2014 16:05
Beiträge: 91

Update S5Hook v0.5:
- S5Hook.ChangeString() hat keine Begrenzung mehr und ist zuverlässiger

____________________
S5 & S6: Lua Script Debugger (Thread) | bbaTool
S5: S5Hook (Thread) | S5 GUI Editor | S5 Grafikupgrade + nVidia fix | Win10 Creators Update

Zedeg
#55
23.08.2014 16:21
Beiträge: 428

Zitat von yoq:
Update S5Hook v0.5:
- S5Hook.ChangeString() hat keine Begrenzung mehr und ist zuverlässiger



Das mit dem zuverlässiger kann ich bestätigen!

____________________
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

Noigi
#56
08.01.2015 22:49
Beiträge: 772

Ich wecke den Thread mal wieder auf.
Erstmal Danke für deine tolle Arbeit! Wie das so ist, die Leute kriegen was Schönes und wollen direkt mehr: Im Hinblick auf Multiplayer wäre es ja richtig cool, wenn der Hook auch unter Nebelreich liefe - ist das möglich, und wieviel Aufwand wäre das?

totalwarANGEL
#57
09.01.2015 13:54
Beiträge: 2123

Er benutzt ein Schaf und traktiert es mit SVs. Ich weiß ja nicht, ob das speziell diese Entity sein muss oder ob es mit jeder geht.

PS. Ich wüsste gern wie es überhaupt möglich ist, was er da macht. Vielleicht erklärt der liebe Bobby mir mal per PN, wie das funktioniert. Ist zum Teil auch interessant für meinen Werdegang. Als, lieber Bobby.



____________________
Die Welt ist arschlochförmig und wir leben in der Mitte.

bobby
#58
09.01.2015 23:00
Beiträge: 393

@Noigi: Kommentier den Check mal aus und probier es mit Nebelreich. Das sollte eigentlich, sofern die neuste Version drauf ist funktionieren:

if Framework.GetProgramVersion() ~= "1.06.0217 Extra2" then
    Message("Error: S5Hook requires version 1.06.0217 Extra2!")
    return
end



@twA:
Die ScriptingValues bieten zu unserem Glück einen direkten Zugang auf den Arbeitsspeicher und ermöglichen somit so gut wie Alles.
Das Schaf spielt keine Rolle, aber durch das "Traktieren" mit SVs wird an bestimmte Stellen im Arbeitsspeicher geschrieben.
Wer Interesse daran hat und möglicherweise selbst eine kleine Erweiterung programmieren möchte, kann sich jederzeit bei yoq dem Schöpfer von S5Hook melden.

____________________
Tools und Verbesserungen für Siedler: settlers.pro

Neues:
Cutscene Editor
LuaDebugger v0.5.2

Dieser Beitrag wurde von bobby am 10.01.2015 um 14:43 editiert.

Noigi
#59
13.01.2015 21:32
Beiträge: 772

Getestet und funktioniert! Super Sache
(Habe das Schaf durch eine Prinzessin ersetzt)

Noigi
#60
27.01.2015 20:12
Beiträge: 772

Ich habe bei den ganzen Neuerungen den Überblick verloren: gibt es mittlerweile eine Methode, um Grafikmodelle von Entity-Typen per Skript (ohne Ändern der Mapdatei) auszutauschen? Wichtig wäre, dass ein zu bauendes Gebäude schon am Mauszeiger das andere Modell hat, was ja mit SetModelAndAnimSet nicht geht.

mcb
#61
27.01.2015 20:32
Beiträge: 1472

Nicht das ich wüsste... Tut mir leid

bobby
#62
27.01.2015 20:34
Beiträge: 393

Neu erstellen ist nicht möglich, Austauschen jedoch schon. Da das über Skript aber natürlich wie du dir denken kannst sehr unberechenbar ist, würde ich es dir nicht empfehlen.

Das Ganze läuft darauf hinaus:
-> Map starten
-> Maparchiv als bba Archiv in der Ladereihenfolge ganz nach oben schieben
-> Map neustarten alle gemoddeten Entities erstellen
-> Beim Speichern alle gemoddeten Entities und ihre Attribute speichern und löschen
-> Beim Laden wieder Alles initialisieren

Die relevante Funktion dabei ist:

S5Hook.ReloadEntities()


Dabei kannst du auch nicht alles verändern und ich kann auch nicht versprechen das es ohne Fehler läuft.

Bevor du dir das antust mach lieber einen Mod durch die patchex.bba.

____________________
Tools und Verbesserungen für Siedler: settlers.pro

Neues:
Cutscene Editor
LuaDebugger v0.5.2

Noigi
#63
27.01.2015 21:50
Beiträge: 772

Danke für eure Hilfe! Die Änderungen sind für einen Mod und nicht für eine konkrete Karte, und müssten dann in jede Map einzeln eingebunden werden. :/
Im Zweifel lasse ich es lieber komisch aussehen und verzichte auf den Model-Change.

MadShadow
#64
26.09.2015 16:10
Beiträge: 372

Loading S5Hook failed!

Wenn ich Siedler in unterschiedlichen Auflösungen starte kommt bei manchen "Loading S5Hook failed" und bei manchen nicht. Kann man das beheben? Bei meiner standart Auflösung von 1920*1080*32 funktioniert es beispielsweise nicht.
Ist das bei anderen auch so?

mcb
#65
26.09.2015 16:44
Beiträge: 1472

Bei mir lädt er normal. Allerdings wähle ich die Auflösung vor jedem Start aus. (S5 crasht bei mir dann öfters, weiß aber nicht ob das am Hook oder am Debugger liegt...)

MadShadow
#66
26.09.2015 17:41
Beiträge: 372

Okay danke für die Rückmeldung. Ich wähle die Auflösung auch jedesmal neu aus und abstütze habe ich dadurch keine.
Ein Kollege hat mir auch schon bestätigt das er keine Probleme mit der Auflösung hat. Ärgerlich für mich.
Interessanterweise geht es ja mit ein paar Auflösungen. 1024*768*32 geht beispielsweise.

Edit:
Ich muss irgendwas selbst falsch gemacht haben, die Map "Ausgetrocknet" funktioniert bei mir und dort wird ja auch der S5 Hook verwendet...

Dieser Beitrag wurde von MadShadow am 26.09.2015 um 18:54 editiert.

MadShadow
#67
26.09.2015 19:46
Beiträge: 372

Soo, nach einem kleinen Test kann ich den Bug näher beschreiben und zwar hängt der Erfolg bei mir von der Mapgröße ab.
Klingt kurios?
Bei meinen Tests konnte ich den S5Hook bei einer Kartengröße von 128 (entspricht der Kartengröße von Ausgetrocknet) nicht laden. Während hingegen bei einer Kartengröße von 768 konnte ich meine eigene GUI auch bei 1920*1080*32 laden.

Andererseits wird der S5Hook in der Ausgetrocknet-Karte auch verwendet und wenn ich die normal starte gehts. Bin soweit ratlos.

Kantelo
#68
27.09.2015 23:10
Beiträge: 357

Vielleicht liegt das auch wieder daran, dass man die Kamera auf die AdressEntity richten muss, damit bei Logic.GetEntityScriptingValue(id,67) auch der passende Pointer zurückgegeben wird.

MadShadow
#69
28.09.2015 21:26
Beiträge: 372

Muss ich dann die Kamera auf die Entity ausrichten oder die Entity zur Kameraposition setzen?
&Wann muss das gemacht werden?

Zedeg
#70
28.09.2015 21:35
Beiträge: 428

Zitat von PN von Kantelo am 1.9.15:
Das mit der neuen AdressEntity Funktion lassen wir lieber mal, da es nach meinen Tests auch mit einer Neuerstellung einer Adress Entity erst zu 100% klappt wenn man die Kamera darauf richtet.

Zitat von mcb im Thread DVS_Battle:
Bei meiner Testmap braucht der S5Hook kaum Zeit, InitAdressEntity aber ein paar Minuten...
Hab mir jetzt ein Ladescript geschrieben, dass die Position aufdeckt, dorthinspringt, auf S5Hook und InitAdressEntity wartet und dann zurückspringt und die Position wieder verdeckt. Mit nur Kamera oder nur Sichtbar bringt das keine Vorteile, Beides zusammen funktioniert aber.

Klärt hoffentlich deine Frage.

____________________
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

MadShadow
#71
29.09.2015 19:46
Beiträge: 372

Danke, das probiere ich dann sobald das nächste mal Zeit ist.

Siedler1997
#72
19.10.2015 18:08
Beiträge: 132

Hallo zusammen
erstmal muss ich sagen, dass der hook echt praktisch ist, auch wenn bislang nur die Änderung der Namensanzeige über den Köpfen für mich von Interesse ist.
Respekt für das Teil.

Nun aber zu einem Problem:
Ich gehöre wohl mit zu jenen, die Abstürze beim Beenden einer Map bekommen, wenn sie den hook nutzen.

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")
  -- Für alle Namen wird ein table erstellt bei dem als key der Name und als Value der neue Name steht.
  --DemoNames = { ["dario"] = "Klaus", ["slaver"] = Umlaute("Sklavenhändler") }
  -- Die neuen Namen werden initialisiert
  --S5Hook.SetCustomNames(DemoNames)
  -- Alle CU_Leonardo's werden zu Horatio umbenannt, da dieser erst später spawnt/respawnt; genauso mit Dario/Finn
  S5Hook.ChangeString("names/pu_hero2", Umlaute(""..gvSpieler..""))
  S5Hook.ChangeString("names/cu_leonardo", "Horatio")
  S5Hook.ChangeString("names/pu_hero1a", "Finn Halqvist")
  S5Hook.ChangeString("names/cu_Barbarian_Hero", "Axayacatl")
  S5Hook.ChangeString("names/pb_beautification01", "Finn Halqvist Statue")
end


Dieser coder erfüllt zwar super seinen Zweck, doch die Abstürze sind ein wenig unpraktisch. Zudem ist das alles, wofür ich den hook aktuell verwende.

Gibts mittlerweile eine Lösung für dieses Problem oder bin ich mal wieder blind und habe sie nur nicht gesehen.

MfG
Siedler1997

____________________
"Sieh mal, ein dreiköpfiger Affe!"
- Guybrush Threepwood, ein mächtiger Pirat

mcb
#73
19.10.2015 20:16
Beiträge: 1472

Wenn du nur die Namen ändern willst, kannst du das AddArchive weglassen. Ich weiß aber nicht, ob das die Crashes behebt...

Falls es nicht hilft, kannst du das hier probieren:

	GUIAction_RestartMap_EndSaveOrig = GUIAction_RestartMap
	GUIAction_RestartMap = function()
		Trigger.DisableTriggerSystem(1)
		GUIAction_RestartMap_EndSaveOrig()
	end
	MainWindow_LoadGame_DoLoadGame_EndSaveOrig = MainWindow_LoadGame_DoLoadGame
	MainWindow_LoadGame_DoLoadGame = function(...)
		Trigger.DisableTriggerSystem(1)
		MainWindow_LoadGame_DoLoadGame_EndSaveOrig(unpack(arg))
	end
	QuitGame_EndSaveOrig = QuitGame
	QuitGame = function()
		Trigger.DisableTriggerSystem(1)
		QuitGame_EndSaveOrig()
	end
	QuitApplication_EndSaveOrig = QuitApplication
	QuitApplication = function()
		Trigger.DisableTriggerSystem(1)
		QuitApplication_EndSaveOrig()
	end


Das behebt einen anderen Fehler im originalen S5, der bei rechenintensiven Triggern (insbesondere auf Multicore-Rechnern) zu Crashes führt.

Siedler1997
#74
20.10.2015 13:52
Beiträge: 132

Danke mcb

Das rausnehmen von AddArchive hat gereicht, um die Abstürze zu unterbinden.
Es war wie immer. Auf die einfachsten Lösungen komme ich nicht.

Jetzt heißt es weiter mappen...



edit: Korrigiere. Die Abstürze sind nicht ganz weg, aber zumindest treten sie nicht mehr ständig beim Beenden auf, sondern nur noch abundzu. Ist aber dennoch ein Fortschritt.

Und ja, ich habe auch die andere Lösung von dir (mcb) probiert

____________________
"Sieh mal, ein dreiköpfiger Affe!"
- Guybrush Threepwood, ein mächtiger Pirat

Dieser Beitrag wurde von Siedler1997 am 20.10.2015 um 17:15 editiert.

yoq
#75
04.11.2015 20:47
Beiträge: 91

Nach längerer Pause mal ein wieder ein kleines Update für S5Hook: v0.8

1. MusicFix: ermöglicht es Music.Start(..) mit Soundfiles aus dem internen Dateisystem zu verwenden. Im Gegensatz zu Stream.Start(..) welches meist für Effekte verwendet wird, gibt es hier einen sanften Übergang (überlappend) für Hintergrundmusik. Ermöglicht es somit eigene Hintergrundmusik einzubinden oder bestehende Soundfiles im Spiel gefadet abzuspielen.
Zum testen im Debugger einfach mal folgendes eingeben:

S5Hook.PatchMusicFix()
Music.Start("sounds/ambientsounds/crickets_rnd_1.wav", 127, true)

Die Hintergrundmusik sollte langsam in Grillengezirpe untergehen...

2. Überarbeiteter Lademechanismus, Win10 Kompatibilität (behebt evtl. auch die Probleme von MadShadow)
Ich hatte für den Ladevorgang einige Annahmen getroffen die jedoch je nach
Betriebsystem / Arbeitsspeichersituation wohl nicht immer zutreffen.
Ob es dein Problem löst kann ich nur vermuten. Bitte um Rückmeldung

@Siedler1997
Wo genaue treten die Abstürze auf, beim Klick auf welchen Button? Auch in der neuesten Version? Ein Screenshot dieser Art könnte mir evtl. helfen das Problem zu finden. Aufklappen nicht vergessen.

Zum SCV Lademechanismus:
Was ist der Grund das "Opfer"-Entity fix in die Map einzubauen? Bei S5Hook erzeuge ich es einfach per Skript und hatte damit nie Probleme - auch ohne Kameraverschiebung, was spricht gegen diesen Ansatz?

____________________
S5 & S6: Lua Script Debugger (Thread) | bbaTool
S5: S5Hook (Thread) | S5 GUI Editor | S5 Grafikupgrade + nVidia fix | Win10 Creators Update

Dieser Beitrag wurde von yoq am 04.11.2015 um 21:30 editiert.

Seiten: Zurück 1 2 3 4 5 6 7 Nächste Seite

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

Impressum