Etwas, das ich mich auch noch frage:
Ist es eigentlich performanter, wenn man z.B. in Actor-Effects Conditions nimmt oder wenn man das scriptet?
Ich zitiere dazu mal mein Actor-Effekt-Script, das dem Player Ghul-Begleiter gibt:
Code:
scn wlwEffectPerkGhoulAddFollowerScript
short DoOnce
Begin GameMode
If DoOnce == 0 && GetInFaction wlwTypeFollowerGhoulFaction == 0
If Player.GetInFaction wlwTypePlayerGhoulFaction2 == 1 && Player.HasPerk wlwPerkGhoulFollower && wlwQuestIntoxication.FollowerCount < wlwQuestIntoxication.FollowerMax && GetDistance Player < 1500
Set wlwQuestIntoxication.FollowerCount To wlwQuestIntoxication.FollowerCount + 1
PlaceAtMe wlwSpawnGhoulFollower 1
Set DoOnce To 1
EndIf
EndIf
End
Theoretisch könnte man alle Bedingungen auch als Condition im Actor-Effekt abbilden. Es macht halt mehr Arbeit, sich durch die Dialog-Boxen zu wühlen, als alles in ein Script zu pflanzen.
Beim obigen Script bringt das Return gar nichts, hier könnte allerdings ein Timer Sinn machen, der die Abfragen nur alle 20 Sekunden zulässt. Dieses Script können bis zu dreissig Kreaturen laufen haben und es wird ein mal pro Frame durchlaufen.
Theoretisch könnte man das auch in Begin ScriptEffectStart, statt GameMode nehmen, da das nur ein Mal durchlaufen wird. Nur werden Actors prinzipbedingt in grossem Radius geladen und ich möchte, dass der Player in die Sichtweite der Ghule muss, damit sie folgen.
Man muss es allerdings auch sehen, dass ich in Kombination mit Ghul-Horden keinerlei Slowdowns habe. Aber wenn man sparen kann, sollte man es tun.