Steamをインストール
ログイン
|
言語
简体中文(簡体字中国語)
繁體中文(繁体字中国語)
한국어 (韓国語)
ไทย (タイ語)
български (ブルガリア語)
Čeština(チェコ語)
Dansk (デンマーク語)
Deutsch (ドイツ語)
English (英語)
Español - España (スペイン語 - スペイン)
Español - Latinoamérica (スペイン語 - ラテンアメリカ)
Ελληνικά (ギリシャ語)
Français (フランス語)
Italiano (イタリア語)
Bahasa Indonesia(インドネシア語)
Magyar(ハンガリー語)
Nederlands (オランダ語)
Norsk (ノルウェー語)
Polski (ポーランド語)
Português(ポルトガル語-ポルトガル)
Português - Brasil (ポルトガル語 - ブラジル)
Română(ルーマニア語)
Русский (ロシア語)
Suomi (フィンランド語)
Svenska (スウェーデン語)
Türkçe (トルコ語)
Tiếng Việt (ベトナム語)
Українська (ウクライナ語)
翻訳の問題を報告
I've no idea why though, perhaps it thought it had got into an infinite loop when it hits the end battle sequence for the second time? I see that Unity has a "pause on error" option but it was unchecked.
Presumably that won't affect the mod in play though and I can just leave it as is.
[ASSERT] on '<NULL>'
UnityEngine.Debug:LogError(Object, Object)
Defiant.Modding.DebugUtils:Assert(Boolean, GameObject, Object)
Defiant.Modding.DebugUtils:Assert(Boolean)
Defiant.Modding.CombatEncounter:ApplyCompleteContext(CompleteContext)
Defiant.Modding.CombatEncounter:Complete(CompleteContext)
Defiant.Modding.CombatEncounter:OnObjectiveComplete(CombatObjective, CompleteContext)
Defiant.Modding.CombatObjective:Complete(CompleteContext)
Defiant.Modding.CombatObjectiveKillAll:OnSpawnerComplete(AISpawner, GameObject, ICombatEffectContainer)
Defiant.Modding.AISpawner:Complete(GameObject, ICombatEffectContainer)
Defiant.Modding.AISpawnerSimple:OnAIDestroyed(Destroyable, ICombatEffectContainer)
Defiant.Modding.Destroyable:Die(ICombatEffectContainer)
Defiant.Modding.Destroyable:ApplyDamage(Damage, Boolean)
Defiant.Modding.CombatEffectDamage:Apply(ApplyContext)
Defiant.Modding.CombatEffect:Apply(ICombatEffectContainer, CombatTarget, Transform, Int32&, Int32&)
Defiant.Modding.CombatEffect:Apply(ICombatEffectContainer, CombatTarget, Transform)
Defiant.Modding.CombatProxy:ApplyEffects(CombatTarget, Transform)
Defiant.Modding.CombatProxyArea:UpdateAreaTarget(Targetable)
Defiant.Modding.CombatProxyArea:OnEnter(Targetable)
Defiant.Modding.CombatProxyArea:OnTriggerEnter(Collider)
Shadow map cache entry with NULL shadowmap?
UnityEditor.EditorGUIUtility:INTERNAL_CALL_RenderGameViewCamerasInternal(RenderTexture, Int32, Rect&, Vector2&, Boolean)
UnityEditor.EditorGUIUtility:RenderGameViewCamerasInternal(RenderTexture, Int32, Rect, Vector2, Boolean) (at C:\buildslave\unity\build\artifacts\generated\common\editor\EditorGUIUtilityBindings.gen.cs:642)
UnityEditor.GameView:OnGUI() (at C:\buildslave\unity\build\Editor\Mono\GameView\GameView.cs:747)
System.Reflection.MonoMethod:InternalInvoke(Object, Object[], Exception&)
System.Reflection.MonoMethod:Invoke(Object, BindingFlags, Binder, Object[], CultureInfo) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:222)
System.Reflection.MethodBase:Invoke(Object, Object[]) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MethodBase.cs:115)
UnityEditor.HostView:Invoke(String, Object) (at C:\buildslave\unity\build\Editor\Mono\HostView.cs:285)
UnityEditor.HostView:Invoke(String) (at C:\buildslave\unity\build\Editor\Mono\HostView.cs:278)
UnityEditor.HostView:InvokeOnGUI(Rect) (at C:\buildslave\unity\build\Editor\Mono\HostView.cs:245)
UnityEditor.DockArea:OldOnGUI() (at C:\buildslave\unity\build\Editor\Mono\GUI\DockArea.cs:383)
UnityEngine.Experimental.UIElements.IMGUIContainer:DoOnGUI(Event) (at C:\buildslave\unity\build\Runtime\UIElements\Managed\IMGUIContainer.cs:127)
UnityEngine.Experimental.UIElements.IMGUIContainer:HandleEvent(EventBase) (at C:\buildslave\unity\build\Runtime\UIElements\Managed\IMGUIContainer.cs:213)
UnityEngine.Experimental.UIElements.IMGUIContainer:DoRepaint(IStylePainter) (at C:\buildslave\unity\build\Runtime\UIElements\Managed\IMGUIContainer.cs:50)
UnityEngine.Experimental.UIElements.Panel:PaintSubTree(Event, VisualElement, Matrix4x4, Rect) (at C:\buildslave\unity\build\Runtime\UIElements\Managed\Panel.cs:447)
UnityEngine.Experimental.UIElements.Panel:PaintSubTree(Event, VisualElement, Matrix4x4, Rect) (at C:\buildslave\unity\build\Runtime\UIElements\Managed\Panel.cs:457)
UnityEngine.Experimental.UIElements.Panel:Repaint(Event) (at C:\buildslave\unity\build\Runtime\UIElements\Managed\Panel.cs:475)
UnityEngine.Experimental.UIElements.UIElementsUtility:DoDispatch(BaseVisualElementPanel) (at C:\buildslave\unity\build\Runtime\UIElements\Managed\UIElementsUtility.cs:192)
UnityEngine.Experimental.UIElements.UIElementsUtility:ProcessEvent(Int32, IntPtr) (at C:\buildslave\unity\build\Runtime\UIElements\Managed\UIElementsUtility.cs:72)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr) (at C:\buildslave\unity\build\Runtime\IMGUI\Managed\GUIUtility.cs:175)
Something is wrong with a shadow map? But it's the same combat in the same environment at the same time of day that I just did - it only throws an error on the second (and consecutive) instances.
The assert you're triggering is there to indicate that the combat encounter has already been marked complete by something else. Your scenario sounds similar to RaiderPrevention. You might try having a look at how it is setup versus yours. If you still can't figure it out, publish to the workshop privately and post your mod's steam id here and someone can take a look.
I don't understand all of it, it's got this feature I see quite a lot in the default encounters where the blackboard has actions which aren't start actions with no lines feeding in to them. How are those actions ever processed?
Where my encounter is different is that it's supposed to run several times. There's literally a loop that feeds back into the same combat node. So what's marking the combat encounter as complete is literally it being completed - that'd be why the error only occurs on the second and consecutive battles.
What variable does it set to mark the combat as complete? Presumably I could use a "set variable" action to undo it?
It's not practical to split the combat node into several combat nodes (one for each fight) because there can be arbitrarily many of them. After each fight the time limit increases and the number of enemies becomes double whatever survived the fight before. The fight repeats over and over until either the player manages to kill anything (scenario success) or doubling the survivors would result in too many enemies to put on the battlefield (scenario failure). In theory if a player killed exactly half of the enemies each time they could have infinity fights (In practice because the player gets more time each time you wouldn't expect that to happen - but if someone wants to use it as a means to get a lot of battles to farm good with the gladiators helm or some similar shenanigan then more power to them for exploiting the sceanrio)