Jump to content

deadbeeftffn

Members
  • Posts

    173
  • Joined

  • Last visited

Posts posted by deadbeeftffn

  1. LinkedRef is the way to success ;-)

    Scriptname ZW_GMccT_BaseActivator extends ObjectReference Default
    
    Form Property GMccT_PA_Dummy Auto Const ;The base object of the one to be created
    Keyword Property theKey Auto Const
    
    Event OnInit()
        self.BlockActivation(True, True)
        ObjectReference GMccT = self as objectreference
        ObjectReference newItem = GMccT.PlaceAtNode("PA_Attach", GMccT_PA_Dummy) ;new object placed
        newItem.SetLinkedRef(GMccT, theKey)
    endEvent
    Scriptname ZW_GMccT_PA extends ObjectReference Default
    
    Keyword Property theKey Auto Const
    
    Event OnActivate(ObjectReference ActivateRef)
        ObjectReference myMaster = GetLinkedRef(theKey)
        SetLinkedRef(none, theKey) ; unlink myMaster (see Edit)
        myMaster.DisableNoWait()
        myMaster.Delete()
    EndEvent
    

    Well, i didn't test it. I wrote this quickly from memory, thus it could be totally wrong.

    Maybe it will also work without a keyword since keywords are optional. Not sure...

     

    Edit: It would be a good idea to unlink the master object since it will not be available any longer after Delete()

  2.  

    Thanks for the tip. Second question, I can't seem to find the scripts in the CK...

     

    You can access any scripts easily via Gameplay->Papyrus Script Manager. Though, if you want to change the scripts properties you have to find out where the scripts are used (Items or Quests).

    As far as i know, workshopscript will only be included by other scripts, namely workshopparentscript which is attached to a Quest: WorkshopParent (0x0002058E).

    However i'd like to stress what damanding wrote: Don't mess arround with the workshop system ;-)

  3. Hi,

     

    there's a gap between 4 and 6. This will hapen if the BSTriShape (6) is referencing something which doesn't exist (any longer). Most likely this causes the CTD.

     

    Also, you should update NifScope to pre-alpha 6. This version does some more error-checking on NIFs.

  4. So, this is interesting. I tried to use GetDistance() to measure the distance between an Actor and an ObjectReference and i observed the same problem.

     

    Using

    distance = theActor.GetDifference(theObject)

    sometimes work and sometimes returning ridiculous numbers.

     

    Whereas

    distance = theObject.GetDistance(theActor)
    

    seems to always return the correct distance.

     

    Thanks a lot for the hint :-)

  5. You have to tell getLinkedRef() where to search for linked references. In case of a terminal try:

    localContainer = akTerminalRef.GetLinkedRef(WorkshopParent.WorkshopLinkContainer)
    

    If this is in a terminal script there should be a fragment too: (something like)

    Function Fragment_Terminal_03(ObjectReference akTerminalRef)
    ;BEGIN CODE
    calcPowerGrid(akTerminalRef)
    ;END CODE
    EndFunction
    

    The function (here: calcPowerGrid()) is called with an ObjectReference as parameter of the attached terminal. This is your anchor to access the terminal.

     

    NB. it's okay to delclare localContainer as

    ObjectReference localContainer

    No need for a property

  6. Hi,

     

    you can make the property "auto", in this case the get/set routines are defined "auto"-matically and you can't redefine then. Trying to do so, causes an error.

    Alternatively you can define the property to be non-auto. Then you have to define get/set routines yourself. Though keep in mind, that non-auto properties can't have initial values.

  7. Your fragment will be called (or at least should be called) with something like "akTerminalRef" as parameter.

    Thus change

    Self.AddTextReplacementData("ScrapToggle", ScrapToggleOn)

    to

    akTerminalRef.AddTextReplacementData("ScrapToggle", ScrapToggleOn)

     

    AFAIK, there is no "Self" in a fragment.

     

    HTH

  8. I didn't find a solution either. :sad: The close anim won't play. I've used PlayGamebryoAnimation() in some mods and it works fine. Don't know, if it is deprecated though.

    However, i found a different approach to implement this "my container is everywhere". It uses standard containers (with additional keyword) and doesn't need a hidden one. The contents will be copied to the container nearest to the player.

    Sine this is your idea, i will not publish this mod :no: Let me know, if you want the source.

  9. AFAIK a NIF needs to have a BehaviorGraph (BGED) if you want to use PlayAnimantion(AndWait). If this is missing only PlayGamebryoAnimation will work.

    You will find the animation names in the NIF too. Open the NiControllermanager section. There shoul be at least one NiControllerSequence section. The fist TXT entry (Name) is the name of the animation.

    Anyway, is there a reason to use an Activatior instead of a container? Yust curious ;-)

     

    (Edit:) There is not neccessarily a NiControllermanager section if the NIF has a BGED. Maybe you will find the anim-names in the Behavior Graph File.

  10. The correct way, at least for the german version, is to add

     

     

    sLanguage=de

     

    under the [General] category within the CreationKit.ini (located in you install directory). Skyrim had a similar issue (except it didn't completely crash on loading). For every other language you have to replace de with the shortcut of your language files found in your Data\Strings folder (Fallout4_XX.DLSTRINGS)

    Great! Thanks :thumbsup:

  11. Hmm. Running Windows 7 64bit. CK crashes every time while initializing archive, no matter if I launch through Bethesda.net launcher or via the exe. Anyone else having issues?

    I have the same Problem (W10)

    CK tries to access some language files which are not (any longer) present on my system. These are:

    data\strings\Fallout4_en.DLSTRINGS

    data\strings\Fallout4_en.ILSTRINGS

    data\strings\Fallout4_en.STRINGS

    I do have the german version of this files and thus i copied these files and renamed them. With this "dummy-files" CK does load an archive however it throws some hundred errors because of the UTF-8 characters which it can't process. I'm prety sure that creating an archive will fail. Didn't tested it right now.

×
×
  • Create New...