Download Lua/AutoAttachZulu.lua from sirnii/myspace: direct link, hf CLI and curl.
- Browser
- Download file 2.07 kB
-
https://huggingface.co/spaces/sirnii/myspace/resolve/main/Lua/AutoAttachZulu.lua
- Command line
-
hf download hf://spaces/sirnii/myspace/Lua/AutoAttachZulu.lua
-
curl -L -o AutoAttachZulu.lua https://huggingface.co/spaces/sirnii/myspace/resolve/main/Lua/AutoAttachZulu.lua
2.07 kB
| function AutoAttachObject:OnDestroy() | |
| if self:GetAutoAttachMode("OFF") ~= "" then | |
| self:SetAutoAttachMode("OFF") | |
| end | |
| end | |
| function AutoAttachObject:SetState(state, flags, crossfade, speed) | |
| self:DestroyAutoAttaches() | |
| self:ClearAttachMembers() | |
| -- Call original SetState | |
| if speed == nil and flags == nil and crossfade == nil then | |
| g_CObjectFuncs.SetState(self, state) | |
| elseif speed == nil and crossfade == nil then | |
| g_CObjectFuncs.SetState(self, state, flags) | |
| elseif crossfade == nil then | |
| g_CObjectFuncs.SetState(self, state, flags, crossfade) | |
| else | |
| g_CObjectFuncs.SetState(self, state, flags, crossfade, speed) | |
| end | |
| local mode = (state ~= "broken") and self:GetAutoAttachMode() or false | |
| self:SetAutoAttachMode(mode) | |
| end | |
| function AutoAttachObject:SetAutoAttachMode(value) | |
| if self.auto_attach_mode ~= value and value == "OFF" and self:IsKindOf("DecorStateFXObject") then | |
| PlayFX("DecorState", "end", self, self:GetStateText()) | |
| end | |
| local parent = self:GetParent() | |
| local floatingDummy = GetTopmostParent(self) | |
| if not IsKindOf(floatingDummy, "FloatingDummy") then | |
| floatingDummy = false | |
| end | |
| if floatingDummy then | |
| self:ForEachAttach("FloatingDummyCollision", RestoreFloatingDummyAttach) | |
| MapForEach(self:GetPos(), guim * 10, "FloatingDummyCollision", function(o) | |
| if o.clone_of == self then | |
| RestoreFloatingDummyAttach(o) | |
| end | |
| end) | |
| end | |
| self.auto_attach_mode = value | |
| self:DestroyAutoAttaches() | |
| self:ClearAttachMembers() | |
| self:AutoAttachObjects() | |
| if floatingDummy then | |
| AttachObjectToFloatingDummy(self, floatingDummy, parent ~= floatingDummy and parent or nil) | |
| end | |
| end | |
| function AutoAttachObject:OnEditorSetProperty(prop_id, old_value, ged) | |
| if prop_id == "AllAttachedLightsToDetailLevel" or prop_id == "StateText" then | |
| self:SetAutoAttachMode(self:GetAutoAttachMode()) | |
| if prop_id == "AllAttachedLightsToDetailLevel" then | |
| self:ForEachAttach(function(attach) | |
| if IsKindOf(attach, "Light") then | |
| Stealth_HandleLight(attach) | |
| end | |
| end) | |
| end | |
| end | |
| Object.OnEditorSetProperty(self, prop_id, old_value, ged) | |
| end | |