Jump to content

Surilindur

Premium Member
  • Posts

    1576
  • Joined

  • Last visited

Posts posted by Surilindur

  1. Now this is not directly related to your issue (which I think KunoMochi solved, since I cannot see anything else that could be wrong in your script), but another idea for tweaking the script, considering the large number of discrete ObjectReferences that each have their own Property, could be to try out an array or a FormList. An array is basically just a list of objects of a specific type, for example integer, float, Actor, ObjectReference and whatnot. With all the ObjectReferences stored in a list of sorts (array), you could easily loop through the list and disable or enable everything in it. For example like this:

    ScriptName RE_BurialScript Extends ObjectReference
    
    ObjectReference[] Property ToEnable Auto ; brackets make it an array, put the things to enable here
    ObjectReference[] Property ToDisable Auto ; an array of all the things to disable
    
    Event OnActivate(ObjectReference akActionRef)
    
        If (akActionRef == Game.GetPlayer())
    
            Int i = ToEnable.Length  ; each array has this property which contains its length
    
            While (i > 0)    ; indexes go from 0 to length-1
                i -= 1       ; decrease i by one, as in, move to the next index, towards 0
                If (ToEnable[i] && ToEnable[i].IsDisabled())
                    ToEnable[i].Enable()
                EndIf
            EndWhile
    
            i = ToDisable.Length
    
            While (i > 0)
                i -= 1
                If (ToDisable[i] && ToDisable[i].IsEnabled())
                    ToDisable[i].Disable()
                EndIf
            EndWhile
    
        Endif
    
    Endevent

    Filling an array property works just like filling any other property, except that it will look like a list, and you can add a whole bunch of objects (of the type of the array, in this case, ObjectReferences) in that list (although there might be a size limit of 128).

     

    The wiki page on arrays is here: http://www.creationkit.com/index.php?title=Arrays_(Papyrus)

     

    Another solution could be to:

    • have one ObjectReference property in the script, pointing at one ObjectReference in the gameworld (for example the tombstone) and set that in-game ObjectReference (tombstone) as "intially disabled" to have it disabled at first
    • set the "enable parent" for each ObjectReference in-game to be enabled with the tombstone to point to that tombstone, and make sure the "state opposite to parent" (or such, cannot remember exatly) is NOT checked (this will make the ObjectReferences copy the enable/disable status of the enable parent, in this case, the tombstone)
    • for the items to be disabled with the tombstone, also set the tombstone as the enable parent, but make sure the "state opposite to parent" (or such) IS CHECKED (this will make the items to copy the state of the enable parent, but invert it, so that when the tombstone is enabled, they are disabled, and when the tombstone is disabled, they are enabled)

    With the enable parent system, you could make your script with just one ObjectReference:

    ScriptName RE_BurialScript Extends ObjectReference
    
    ObjectReference Property EnableParentOfAll Auto ; this one points to the enable parent of all the refs
    
    Event OnActivate(ObjectReference akActionRef)
    
        If (akActionRef == Game.GetPlayer() && EnableParentOfAll.IsEnabled())
            EnableParentOfAll.Disable()
        EndIf
    
    EndEvent

    There might even be an existing in-game script for a single ObjectReference, I think (I have not checked) that you could use. It sounds like something the game developers could have used themselves in many places (by reusing the same script thanks to Properties).

     

    Also, those are both just ideas, something to think about, in case you one day end up having to enable and disable a massive amount of ObjectReferences. There is nothing wrong with your current script as it is (except for that one pointed out by KunoMochi). :thumbsup:

     

    Edit: Ooops. The text editor makes one incredible mess out of lists... :tongue: Now it should look like a list again.

  2. Great! And yes, the package is to blame, especially if the actors have low level processing enabled (I think). Something must be updating their status based on the package and somehow moving them all to their target (player). Disabling the actors prevents them from doing anything funny when they are not needed.

     

    Sounds like your project is getting closer to finished all the time. :thumbsup:

  3. When the summon ends, the actor(s) should be moved to a holding cell and disabled. If the issue is your summonings appearing even when the spell is not active, you should make sure they are disabled after the summon ends and they are moved to the holding cell. I would guess the actors are not being disabled properly somehow and that is why they appear like that. You could also make sure the summonable actor references are marked "initially disabled" so that they would start disabled. Maybe. Of course it could be something completely different that is causing the issue. That is another part of modding: figuring out why something does not work as intended, and learning something new in the process. :)

  4. I do not know if there is a way to do it in the Construction Set, someone else would need to answer that. :blush:

     

    If you do not want to use OBSE, you could add dispel statements to the spell effect script. For example if you have three spells: SpellA, SpellB and SpellC, you could try adding to SpellA, commands to dispel SpellB and SpellC, for example.

    begin ScriptEffectStart ; the one in spell A script
    
        Dispel SpellB ; dispel spell B
        Dispel SpellC ; dispel spell C
    
        <the rest of the ScriptEffectStart block here>
    
    end

    It could help dispel other summons before continuing with the new one. But that is just an idea. I am not sure if Dispel is safe to use if the spell to be dispelled is not currently applied to the actor, but I suppose it is. If someone else knows of a clever workaround for the dispel method, then that would be great. That one is the best I could think of at the moment with base game scripting... :confused:

  5. Ah, hmm. Well. There could be two options:

    1. Have several spells, one for each summonable actor. When casting one summon spell, it would dispell all other summon spells (this should get rid of the actor as well).
    2. Have one single spell with a menu for selecting the actor to summon.

    Would the menu option be reasonable, or do the spells need to be separate spells?

  6. To display a message instead of using a messagebox, you can use the Message command:

    MessageBox "This is a messageBox"
    Message "This is a Message"

    The function list in the Construction Set wiki is handy when looking for scripting commands. Both Message and MessageBox are listed there.

     

    As for the other questions:

    1. Yes, it is possible. To change the text - as in, the effect name of the magic effect on your spell, which happens to be script effect - you can use OBSE. I cannot remember which command it was, but maybe something like SetNthEffectItemName would work (more in the OBSE Command Documentation).
    2. Yes, it can be changed. To change the spell icon, you could use CustomSpellIcons (an OBSE plugin and more, requires OBSE). I cannot remember the command name, but it is very easy to change the icon with CustomSpellIcons.
    3. Yes, you can have an NPC equip everything in their inventory. It only takes about three lines of script with OBSE.

    With OBSE, the limit of what can be done is moving closer and closer to the sky. It also makes scripting, in general, a lot more straightforward. If you do not want to use OBSE, you could try equipping the items one by one with the EquipItem command, but that is a very clumsy way of going about doing it (in my opinion). If you do not want to use OBSE, you cannot change the effect name as far as I know, and you cannot change the spell Icon, either. You can equip an item, but it will have to be "hardcoded" for every item separately. But if you want to use OBSE in a reasonable manner, you will need to learn how to use it. It makes scripting very easy, but there is a learning curve, I think. Programming background helps, though (something I did not have when I started modding, so it made learning a bit slower).

     

    For reference, with OBSE, you can define your own custom functions (object script) and call them on an actor. For example a function to equip items of a specific type in a potentially unordered fashion:

    scriptname EquipItemsByType
    
    short Type
    array_var a
    
    begin _Function { Type }
    
        ; the thing below should work with compiler override applied (underscore before block name)
        ; since similar things do work, but I have not tested that specific one so it might have
        ; an issue or two - the fix would be to add in a "ref" variable for storing a["value"] in
        ; which should fix any issues - however that would mean one additional variable
        foreach a <- ( GetItems Type )
            if eval !( GetEquipped a["value"] )
                EquipItemSilent a["value"]
            endif
        loop
    
    end

    And it could be called like:

    SomeActorRef.call EquipItemsByType 20 ; armour
    SomeActorRef.call EquipItemsByType 22 ; clothing
    SomeActorRef.call EquipItemsByType 33 ; weapon
    SomeActorRef.call EquipItemsByType 33 ; ammo

    But that is just an idea for what a function could look like. The main point is the underscore before the script block name to allow the use of more reasonable expressions, so adding the underscore to the spell effect start block would make it possible to move the equip things there and save one script. With OBSE, you could even build a system to dynamically fetch the summon target based on spell name and a StringMap in a maintenance quest. OBSE is great. However it can also take a bit more learning.

     

    Hopefully that helps a bit. Again, if someone knows of a great tutorial for scripting with OBSE (and scripting in general), then that would be great.

     

    Is the issue in the video the one with spell names and icons? Or is it something else?

  7. Ah. Hmm. I see. I still cannot test anything myself before the weekend (so much real life things to do). Thank you for the video, though, it was useful.

     

    Judging by the video, it looks like the summon is actually killed as soon as it is "spawned" a second time, so it could be something related to the old effect ending, the actor script, and the new effect starting. Maybe adjusting the spell and actor scripts would do. Again I have not tested this, because I do not have the time before the weekend (I only have the time to boot up my gaming PC in the weekends now).

     

    An alternative spell script idea:

    scriptname YourSpellEffectScript
    
    begin ScriptEffectStart
        if ( YourDremoraRef.GetDisabled )
            YourDremoraRef.Enable
        endif
        if ( YourDremoraRef.GetDead )
            YourDremoraRef.Resurrect 0
        endif
        YourDremoraRef.ResetHealth
        YourDremoraRef.MoveTo PlayerRef
        YourDremoraRef.PlayMagicEffectVisuals DZRE 2.0 ; <-- REMEMBER EFFECT DURATION IN SECONDS!
        MessageBox "Summoning the Dremora"
    end
    
    begin ScriptEffectFinish
        YourDremoraRef.DispelAllSpells ; <-- this one might not be necessary?
        YourDremoraRef.MoveTo SomeXMarkerInYourHoldingCell
        YourDremoraRef.Disable
        MessageBox "Dremora moved away"
    end
    
    begin ScriptEffectUpdate ; this one might have issues, although it should work I think
        if ( YourDremoraRef.GetDead )
            Dispel <editor-ID-of-this-spell> ; <-- should also run the finish block or else this will not work?
        endif
    end

    And an alternative actor script idea (with just this in it - to prevent activation):

    scriptname YouDremoraActorScript
    
    begin OnActivate
    end

    Maybe something like that should work better. Again, I have not tested it, I do not have the time to do it at the moment. If there is an issue somewhere, you could also try tracking it down yourself. It is one great way to learn scripting. :thumbsup:

  8. To prevent conversation you could try adding an empty OnActivate block in the script for the Dremora. That one might also fix all your dialogue issues:

    begin OnActivate
        ; either nothing here or just a "return" if it requires something to be here
    end

    Almost all dialogue in the game, as far as I know, is tied to a quest. As in, a quest "owns" topics, so to say. That is why a new quest with high priority would be handy, because you would not need to touch any existing quests or dialogue. I do not have the time to explain now, but there should be something in the wiki, for example on this page: http://cs.elderscrolls.com/index.php?title=Category:Dialogue. Also see how the dialogue things that already exist in the game have been made (for example the dialogue for some miscellaneous quest you remember well to be able to track how the progression of dialogue has been implemented under the hood). Test things out. It is the best way to learn. Quests are also something you might want to look at if working with dialogue. Actually, you will run into quests with quite a lot of things. And as a general tip, when making a mod, you should generally try to change as little existing things as possible, to maintain compatibility. Altering existing dialogue could potentially affect anything else that uses the same dialogue, so it is a very likely source of incompatibilities with both other mods and the base game itself (like accidentally breaking something). The way I learned how to mod was by playing around in the Construction Set and seeing what worked and how. If someone knows of a good tutorial somewhere, then hopefully they will link you to it. The wiki also has some tutorials I think. Right now I need to start working on my assignments or else I will be very very busy tomorrow.

  9. You could, in theory, try something like:

    1. make a new quest
    2. to that quest, add new dialogue that specifically requires the actor (GetIsID) to be your Dremora
    3. set the priority to something higher than all the other quests that control dialogue
    4. maybe use "AddTopic <TopicID>" to add the new topics in case they are not there at first

    Something like that should force an actor to always use the custom dialogue, I think. If I remember correctly.

     

    As for why the summon fails: I cannot test it at the moment, too much other things to do. I will only be booting up my desktop in the weekend again. Hopefully someone else can help you with that. But does it work as intended when summoning the Dremora again after the spell has ended (and the Dremora vanished)? So that the issue is only when casting the spell before the timer runs out?

     

    Edit: As in, you probably want to add a new GREETING (yes, it is in caps right there in the game files, see for yourself :P) line for your Dremora specifically (GetIsID) with the "Goodbye" tickbox checked, so that when the topic has been said, the actor will exit dialogue.

  10. Ooops, my bad. HasSpell is an OBSE function, apparently (I always use OBSE so I did not even think about it). :blush: Removing the check could be enough, it should not matter.

    scriptname DMRSpellBookScript
    
    begin OnEquip PlayerRef
        PlayerRef.AddSpell DMRChest
    end

    The issue with the NPC not following... is the follow package the only one on the actor? Does the package have any conditions on it that would disqualify it when the NPC is finding a new package to run from the list it has? Each actor has a list of packages on it, and when an actor is looking for a new package to run, it picks the first one possible (determined by the conditions on the AI package itself) with the highest priority (the packages in the list have an order). Each package has, in addition to conditions, a type, a target, a location and all that. I am not really all that good with AI packages, but I have noticed that it sometimes takes quite a bit of testing to get the correct type of outcome from a package. Maybe someone with more knowledge on AI packages can help you with that. The first thing to check would be that your actor only has one package (the follow package) since it is supposed to always follow player, and that the follow package does not contain any conditions that would prevent if from running under some circumstances.

     

    And a tip: you can use the EvaluatePackage command both in your scripts and the console if you need to have an actor immediately re-assess its AI package list and select the currently best package. In the console, you can select the NPC and use:

    evp

    In scripts, you could use:

    SomeActorRef.EvaluatePackage

    Although an actor usually should automatically pick a package, I think, without too much delay. You can try removing all the other packages from the actor, only leaving the follow package, and then use "evp" on it in-game and see what happens.

     

    Oh and in case you have not yet found it, there is this wiki page that is handy when scripting (if you just need to see what is available): http://cs.elderscrolls.com/index.php?title=List_of_Functions

     

    Hopefully that helps a bit. :thumbsup:

  11. For the book script, you could use OnEquip:

    scriptname DMRSpellBookScript
    
    begin OnEquip PlayerRef
        if ( PlayerRef.HasSpell DMRChest == 0 )
            PlayerRef.AddSpell DMRChest
        endif
    end

    As for the summon: you could also use a permanent, sort of "static" actor. Just like the chest. You can have it stored away in a special holding cell, disabled, and then enable and move it to player when the player summons it. When the spell ends, you can move it back to the cell, reset its stats and inventory and such, and then disable it again. Of course it will not work if you need more than one actor to use the spell, but assuming it is for the player only, it might work (getting other actors to use it might also take somemore work).

    scriptname DMRSummonDremoraEffectScript
    
    begin ScriptEffectStart
        YourStaticDremoraRef.Enable
        ; perform any inventory and stat resets here, maybe?
        YourStaticDremoraRef.MoveTo PlayerRef
        YourStaticDremoraRef.PlayMagicEffectVisuals ZDRE
    end
    
    begin ScriptEffectFinish
        YourStaticDremoraRef.Kill
    end

    You could then add all the death-related things to your Dremora itself. For example an actor script:

    scriptname YourDremoraActorScript
    
    begin OnDeath ; you might want to add a delay somewhere here... OnDeath triggers almost immediately!
        Resurrect 0 ; this might also reset something
        MoveTo AnXMarkerPlacedInYourHoldingCell
        Disable
    end

    None of that has been tested, though, but maybe it could give you an idea of what the thing might look like. The actor script needs some serious rework, as the OnDeath block executes almost immediately and does not look too great. And I would not recommend running lots of commands in the same frame for one actor, either, if the commands are complicated, as it cometimes can cause an issue or two (crashing). It could also work fine, though. Using a static actor ref would make the spell usable by only player, but it would solve both the issue with two actors being summoned and the use of PlaceAtMe. RemoveMe is for items, not actors. There is currently no scripting command to delete an actor.

  12. Is the DremoraCache a container that you have placed in the world, and that is marked as "persistent" (there is a checkbox). The container needs to be a reference (an instance of its base object) placed in the gameworld. The reference needs to be marked as "persistent", and the reference needs to have a unique Editor ID, and you need to use the reference Editor ID in your script (not the base object Editor ID for example). Hopefully that make sense.

     

    If you want to use a magic effect script, then you could use it a bit like this:

    scriptname ChestSummoningSpellScript
    
    begin ScriptEffectStart
        ; this is the start block if you want to do something here,
        ; like playing visuals as below (uncomment of you want to test them)
        ; they are called on the ref on which this spell effect script runs,
        ; presumably only player at the moment
        ;PlayMagicShaderVisuals effectEnchantMysticism 2.0
        ;PlayMagicEffectVisuals DSPL 2.0
    end
    
    begin ScriptEffectFinish
        DremoraCacheRef.Activate PlayerRef ; activate the reference by its editor ID
    end

    Good luck with your mod! :thumbsup:

     

    Edit: Oooops. Removed a variable from the script.

  13. I first got Oblivion in 2011 as a disc version for PC, and I have not tracked the time playing it. Probably some huge number as well, it is one of the few games I have played over and over again. I play so few titles anymore, maybe two or so at a time. If I had to estimate the time spent on it, then maybe something upwards of 2,000 I think, although during the last few years I have just been modding it, not playing much.

     

    Skyrim I got in 2012 I think it was, for PlayStation 3. Despite the subpar performance and constant freezing of the entire console, I think I scored closer to 1,800 hours on it. The PC version I have not played as much, and only bought it some time after the PS3 version (when I had a PC that was able to run it).

     

    Morrowind is one I have only played for around... ten hours I think, in total. The lack of a proper mod manager is one thing that has kept me from playing it. The plan is to play it through at some point, though. It feels great, both despite and thanks to being a bit different to either Oblivion or Skyrim.

     

    For food, I had... hmm... spaghetti bolognese according to Google. With salad, to try and make it somewhat healthy. :laugh:

  14. Of all the voices, I think my favourite one is that of Haskill, the chamberlain of Lord Sheogorath. Maybe it is not just the voice, though. The overall appearance also matters. The entry to the Isles is definitely an unforgettable one and the character of Haskill is the single greatest contributor to that. :happy:

  15. From what I have read, using ENB with Oblivion Reloaded (OBGE) requires some additional work, although I must admit I have never tried it myself. Oblivion Reloaded also features the option to prevent game settings from being saved. Maybe you could read the documentation again for that one, to make sure you have the settings set correctly.

     

    Also, the latest version (6.0.0) has some issues with the shaders, and needs some sort of workaround for it (I still have the old version, I have not had the time to update). The comments section should have some information in it already, lots of people keep asking about the same issue, so you could check the replies for other people and try the things suggested there. And remember to read the sticky posts, if they have some relevant info on them.

     

    Your load order also looks like you could maybe consider sorting it again, if you have not yet sorted it. One other thing to check could be water mods' compatibility with Oblivion Reloaded. Oblivion Reloaded features water shader changes, and it might make your water mods redundant. But then again, the Oblivion Reloaded water changes might conflict with ENB I think. Or they might not. The Oblivion Reloaded documentation and all that should have info on it, I think.

     

    Hopefully that helps a bit. :thumbsup:

  16. If it did not write a logfile, then it most likely did not launch at all. If I have understood your writings correctly, you do did not have obse_loader.exe because you did not think it was necessary with the Steam version of the game? If so, you need to make sure you install OBSE with the loader executable so that you can launch the CSE. After that, since you wrote that you had the game installed under Program Files (in the default Steam library folder), you would probably need to move the game elsewhere, considering how the CSE will refuse to launch due to the install location when you will finally manage to start it. Assuming I have understood it all correctly, which of course I might not have. :tongue:

     

    Anyway, I think I will leave the assistance part to TesaPlus now, it looks like I cannot be of any assistance. Good luck, and I hope you will manage to get it working! :thumbsup:

  17. Here is a screenshot of my CSE setup in the spoiler with a couple of things highlighted, if it helps. Not too professional-looking, but at least it is something. :laugh:

     

     

    http://i.imgur.com/XE0qTRV.jpg

     

     

    Also, I noticed TesaPlus has offered to help you in the CSE comments section. I hope you will get your issues sorted out one day. Good luck! :thumbsup:

  18. Ah, great. No problem, happy to help. :)

     

    If I one day have the time to play Fallout 4 again, I will definitely need to try the logic gate things. I had no idea the game even had those things.

  19. It is not possible to use the CSE inside a Program Files folder. If you try to launch the CSE inside a Program Files folder, it will tell you that there was an issue, and that the Construction Set Extender log will have more info. The info in the file will most likely tell you that you should not run the CSE inside a protected folder of sorts, and that means you should not be running it inside a Program Files folder. In Windows 7, there used to be an option to run a batchfile (.bat) in Windows XP SP3 compatibility mode which allowed one to bypass that limitation in the CSE, but I cannot find any compatibility options on batchfiles in Windows 10 anymore.

     

    You will also need the obse_loader.exe with the Steam version of Oblivion. While you cannot launch the game with it, you still need it to launch the Construction Set Extender. If you do not have obse_loader.exe, then you cannot launch the CSE (as far as I know). The "Launch CSE.bat" basically does the thing I mentioned previously (you can open it in whichever text editor you want to check):

    obse_loader.exe -editor -notimeout

    So if you do not have obse_loader.exe, then the "Launch CSE.bat" will not do anything, either. I think that is the first one if your issues, and the reason why you cannot start the CSE. As I mentioned, with a Steam version of Oblivion, you do not need obse_loader.exe to launch the game, but you will need it to run the CSE. :thumbsup:

     

    When I have the time later today, I will take a screenshot of my Oblivion folder and highlight the important things in it.

  20. Hmm. Have you made sure that

    • you have the latest version of the Construction Set installed (1.2, not 1.0)
    • the game and CS are installed outside the Program Files folder
    • all the prerequisites really are met (you will need the x86 version of the VC++ redistributables as well, even on a 64-bit system, since the programs are 32-bit)
    • you have renamed d3d9.dll to d3d9_banana.dll (to make sure it does not get loaded, because it will cause issues with the CSE)
    • you are starting the editor with Launch CSE.bat (it came with the CSE)

    Does the CSE say anything before it crashes? Is there some kind of a message shown? Or does it just crash when you launch it?

  21. Apparently the mod by MannyGT comes with a bsa archive. Considering how the base game stuff also comes in bsa archives, and that the game loads them when they have been listed in the Creation Kit ini file (cannot remember which one, there should be some archive lists in one of the two), one might think the CK can be instructed to load bsa archives by listing them in the ini. As in, "think", I have not tested it myself. :tongue: Maybe you could try adding the "Gray Fox Cowl.bsa" at the end of one of the lists (one that seems appropriate and has space in it, in case there is a character limit), to see what happens?

     

    Edit: If that does not work, you could maybe try temporarily extracting the bsa somewhere. With something like Mod Organizer it should be easy to swap in loose files when working in the CK. The CK definitely does load loose files. But if the archive list solution works then that would be neat.

     

    Edit: Typos... where do they come from?! Someone must be planting them in my texts when I look the other way. :facepalm:

  22. Have you tried the suggestion by TheMastersSon? About the full actor thing before sliders or such (the first reply to this thread)? If not, you should try it first, to see if it helps. If it works, then that might be the easiest solution.

     

    About the CSE... it needs to be launched through obse_loader.exe like this:

    obse_loader.exe -editor -notimeout

    There is a "Launch CSE.bat" file that comes with the CSE and does that for you. You will also need to right-click the properties of obse_loader.exe and check the compatibility section checkbox to run it as administrator.

     

    Does it say anything before it closes? As in, does it just crash/close/something, or is there a message displayed? The CSE can display an error message if

    1. obse_loader.exe is not run with administrator rights (can be fixed by changing the compatibility options)
    2. you have the CS/CSE/game installed under a Program Files folder (one workaround for this used to be running the "Launch CSE.bat" in Windows XP SP3 compatibility mode but not anymore, I think)

    If you have ENB or something like it installed, you need to rename the "d3d9.dll" to something else (like "_d3d9.dll") before starting the CSE.

  23. a short list of common gates that fallout likely uses.

    and - all inputs on = on, no inputs or some inputs on = off

    nand - no inputs or some inputs on = on, all inputs on = off

    or - some inputs on = on, all or no inputs on = off

    nor - no inputs or all inputs on = on, some inputs on = off

    xor - one input on = on, two or more, or all inputs on = off

    not - input on = off, input off = on

     

    As far as I know (which is not much), OR is always true unless all the inputs are off, hence the ≥1 symbol in logic gates. As in, x1 ∨ x2 ∨ x3 ∨ ... ∨ xn = 1 if x1 + x2 + x3 + ... + xn ≥ 1 which is true also when all the inputs are on/true/1. NOR, on the other hand, is basically the negation of OR, and is true only when all inputs are false/off/0, and false when one or more inputs are on/true/1.

     

    But then again, I might also be missing something here, which happens a lot. Feel free to correct me. :blush:

  24. Have you tried the Construction Set Extender?

     

    I use the CS (with CSE) on a fully updated 64-bit Windows 10 and I have not had any issues. Editing an NPC face also works like a charm. But I have not tested the original Construction Set by itself, only with the Construction Set Extender, so it could be that original CS has some issues. But then again, that would hardly come as a surprise... :whistling:

     

    Edit: According to the CSE comments section, you had some issues getting the CSE to work. Did you remember to install all the prerequisites (listed in the readme)?

     

    Edit 2: You should try the suggestion by TheMastersSon first.

×
×
  • Create New...