Jump to content

SKKmods

Premium Member
  • Posts

    2720
  • Joined

  • Last visited

Nexus Mods Profile

2 Followers

About SKKmods

Profile Fields

  • Website URL
    https://skkmods.com
  • Discord ID
    SKK50#0625
  • Country
    United Kingdom
  • Currently Playing
    Creation Kit
  • Favourite Game
    Fallout 4

Recent Profile Visitors

184255 profile views

SKKmods's Achievements

Grand Master

Grand Master (14/14)

3

Reputation

  1. Use condition GetWorkshopObjectCount on each of the objects to construct exclusion and inclusion recipe logic.
  2. Nope if it has a construction recipe that allow it to be built or moved it can always be stored. My workaround is for the main object that can be constructed once (recipie condition GetWorkshopObjectCount == 0) to detect workshop mode and swap itself out for the workshop movable proxy object that uses the same NIF, then manage that; ;******************************************************************************************** Event OnLoad() Self.RegisterForRemoteEvent(Self.GetLinkedRef(pWorkshopItemKeyword), "OnWorkshopMode") EndEvent ;******************************************************************************************** Event ObjectReference.OnWorkshopMode(ObjectReference akSender, bool aStart) If(aStart == true) Self.Disable() ObjectReference MyProxy = Self.PlaceAtMe(pMyProxyObject) Self.SetLinkedRef(MyProxy, None) Else ObjectReference MyProxy = Self.GetLinkedRef(None) Self.SetLinkedRef(None, None) If(MyProxy != None) && (myProxy.is3dloaded() == true) ; it has not been stored Self.MoveTo(MyProxy) MyProxy.Disable() MyProxy.Delete() EndIf Self.Enable() EndIf EndEvent ;********************************************************************************************
  3. Great core info as usual. In this case the map marker ObjectReferences are all persistent as the global finder quest can find them. The ObjectReferences to exclude are static CK drag n drops into the form list, verified in game with Debug.Trace iteration: SKK_TarkovQuestScript.GenerateEnableStateList 0 [Form < (0009B040)>].IsInList [FormList < (1C01477F)>] SKK_TarkovQuestScript.GenerateEnableStateList 1 [Form < (0010196C)>].IsInList [FormList < (1C01477F)>] SKK_TarkovQuestScript.GenerateEnableStateList 2 [ObjectReference < (0016349B)>].IsInList [FormList < (1C01477F)>] Unfortunatley console [ IsInList ] does not seem to return >> 1.0 for any form types in my games to validate. Appreciate the offer but I cant use any DLL injections
  4. I use a lot of quest conditional fils in object finder quests. Using IsInList > FormList to exclude base object forms works fine e.g. MiscObject, Weapon or ActorBase forms. If the FormList is of in game ObjectReferences, they seem to be ignored. Question: has anyone ever successfully used Condition.IsInList with a list of ObjectReferences ? The usecase: quest confitional fill finds all wordspace mapmarkers (GetIsId==Mapmarker that are enabled IsDisabed==0) fine. But needs to exclude a static list of those that are known to have EnableStateParents. There is no known condition or script function to dynamically detect an object has EnableStateParent. Therefore trying to use (IsInList==ListToExclude) but they are still included in the conditional quest fill.
  5. Whilst the MoveTo navmesh "marker" is not script addressible, just for fun I messed around with xEdit overrides of XNDP (Navigation Door Link - Navmesh) records. Had some unpredictable sucess/failures changing the target navmesh triangle to maintain NPC pathing and map portal targets. Oh well.
  6. I can get a handle to a load door ObjectReference in script and move that fine. Unfortunatley the associated/linked yellow actor teleport marker does not move with the door object (in CK render window or in game with script), the player keeps teleporting to the original teleport marker location. Before I waste a stack of time on this, does anyone KNOW absolutley if it is possible or impossible to get a handle to and move a teleport marker in script ? I was originally using activators with OnActivate scripted Moveto but the game doesnt know about that path for map marker display and npc pathing and I woudl like to have it all.
  7. *** THE ACTUAL ANSWER: For INTERIOR CELL workshops ground collision is provided by floor tiles like CaveRmFloor512Mid01 or DCKitMudGround01, building out a layer of them at -1.0 Z below the decorative floor works perfectly. If anyone knows the specific NIF or HAVOK collison property that makes those objects "workshop ground" let us know. ***
  8. > I can't compare a Global to a global Yes you can: if(myGlobalVariableA.GetValue() == myGlobalVariableB.GetValue()) > I can't compare a Global to an "int" Yes you can: if(myGlobalVariableA.GetValue() as Int == IntVariable) OR if(myGlobalVariableA.GetValue() == (IntVariable as Float)) Although if your Global actually does contain a decimal you may want to use the Math.Ceiling() or Math.Floor() Int conversions. > I can't make "int" = Global. Yes you can: myGlobalVariableA.SetValue(IntVariable as Float)
  9. I find that new textures (and FUZ audio) loose file are often not found in game until they are packed in BA2 archives. Not that the files are read/loaded from the archives with loose files enabled, but as if the game doesnt notice them until it is forced to scan a BA2 and like "oh, hello some new files to load".
  10. Unfortunately BldDecoSmFlrOnly01 also does not work ... but ... trusty old CaveRmFloor512Mid01 does ! And looking more closely at DmndPlayerHome01 it is underpinned by a bunch of DCKitMudGround01 tiles which are flatter than CaveRmFloor. So the answer appears to be that for INTERIOR workshops ground collision is provided by mud tiles and building out a layer below the set dressing pieces at -1.0 Z works perfectly.
  11. Unfortunatley the navmesh import configuration does not seem to have any impact (geddit?) on workshop build objects detecting interior floor piece ground collision. The same objects that will not detect ground in game (for example WorkshopNpcBedMetalLay01) will happily snap to the floor/ground in the CK render window.
  12. *** THE ACTUAL ANSWER: For INTERIOR CELL workshops ground collision is provided by floor tiles like CaveRmFloor512Mid01 or DCKitMudGround01, building out a layer of them at -1.0 Z below the decorative floor works perfectly. If anyone knows the specific NIF or HAVOK collison property that makes those objects "workshop ground" let us know. *** Created a new interior cell using BldWlpSmFlrCeil01 with finalised navmesh and added a workshop. In game workshop build mode can place objects that have AV WorkshopAnythingIsGround OK. But most workshop build objects do not have that AV and will not detect the in game floor, showing the red I AM FLOATING outline. Have tried the GroundPiece checkbox no effect. Have tried using ground pieces from DmndPlayerHouse01 no effect. Adding AV WorkshopAnythingIsGround works on any workshop build object, but is impractical to retrohack all buildable objects.
  13. By adjusting uGridsToLoad I have observed that when there are ~300 actors in the loaded area a save becomes unloadable.
  14. That also happens when healing friendly NPC actors like settlers from bleedout caused by actual hostile/enemies ~5% of the time they then turn hostile and aggro the player UNLESS this is called before bleedout recovery ends: (ThisREF as Actor).StopCombat() ;avoid hostility when bleedout ends (ThisREF as Actor).StopCombatAlarm() ;avoid hostility when bleedout ends NPC starts bleedout from combat; is hostile to player = false NPC recovers from bleedout without clearing combat state; is hostile to player = true
  15. I dont *KNOW* but have always inferred that base forms are NOT saved in a .FOS save, because when a mod is removed with thoise forms instantiated in the game the error log shows: Cannot open store for class THE_BASE_FORM_I_REMOVED, missing file? You could explore with a test; create mod with a new each base form type with a script that spawns one of each principle form into the world or uses a form (e.g. an actor that uses new level lists, perk, mgef, combat styles), save and remove the mod. See what errors you get.
×
×
  • Create New...