Jump to content

DocClox

Members
  • Posts

    122
  • Joined

  • Last visited

Posts posted by DocClox

  1. Can you think of any reason that nifskope might not remember the resource paths I give it? I set the paths, save, exit the setup window, and when I go back it's forgotten them. It's most frustrating.

    Do I need to create a .nifskope folder somewhere to store setup data or something? (Then again, it remembers the game path just fine...)

  2. 7 hours ago, Jaimedarkfyr said:

    though the eventuality of the CK being released could solve some of these issues, we have no idea if it will or wont in full.

    It's always useful to know something about how a system works at a low level. If nothing else, it helps a lot when it comes to working out why something isn't working further down the line.

  3. 3 hours ago, TheManaVault said:

    Of course, the decision to actually get that content wether it's paid or free, is up to that same user base, this is simple supply and demand

    And that ought to include being able to offer the fruits of our efforts for free if we so choose. Nevertheless, there are people out there who take the position that offering anything for free is immoral, and I think that comes out a lot in these discussions.

    The worry is that once a corporation has a revenue stream, there is pressure to maximize that income. And the way to do that for paid mods is to make it progressively harder to release mods for free. No one is going to buy a value pack of sixteen vibrant mudcrab retextures for actual money if there's half a dozen equivalent mods on Nexus for free. But if those mods can be made to go away...

    3 hours ago, TheManaVault said:

    in the end, Nexusmods will not disappear, so neither will free mods

    Now, if I was the Evil Overlord, I'd look at changing the engine to only accept cryptographically signed mod packages. I'd set it up so the only way to get your mod signed would only be through the "verified creators" program. So if you wanted to publish your mod, you had to set a price and let Bethesda take a slice of the money.

    And I'd set it up so you could always run your own mods on your own machines. That way new modders could still learn their trade. And I'd encourage posting screenshots of unpublished mods, because peer pressure then encourages new modders to register, publish, and make money for Bethesda. And in due course, I'd change the EULAs to forbid distributing non-verified content, and use take-downs and the threat of lawsuits to force modding sites to either respect the licence or else go out of business.

    If I was the Evil Overlord that is. This isn't a prediction. But I believe it is a risk.

     

  4. And of course, once there are enough "verified" modders, it's going to be hard to argue against a band on non-verified modders. Because security, malware, lions and tigers and bears! Oh my! And the fact they they've finally managed to tax the hobby community will be quietly swept under the carpet.

  5. TSP would make sense here if the provisioners were physically carrying goods, and supplies didn't arrive until the provisoners did. As it stands though, all you need is connectivity. It doesn't matter where the provisioner is, or how often he visits his settlements, just so long as he works the route, So TSP doesn't really apply.

     

    The only case where you are actually interested in where your provisioners are, is if you're using them to flush out hostile spawns and keep the area around the route pacified. But if that's the intention, then what you really want is redundancy. Instead of a minimum connectivity tree, set up a mesh with each settlement having a route to all its near neighbours. That maximises the provisioners in the fiel, and again TSP doesn't really apply.

  6. I like the book by V. Vinge "Depth in the Sky".

    HI O WISE PRINCE. WHT TOOK U SO DAM LONG?

     

    Also, it's "deepness".

     

    There was the concept that software evolving and overgrown with code, centuries later, required such a profession as a programmer-archaeologist. This is exactly the kind of profession that is necessary to understand this engine.

    It's maybe not that complicated. You know it's not nifscope, and it's not the nif files. So what other variables are there? How are you using the two files in-game? There's either a difference in the in-game objects that two meshes are attached to, or else there's a difference in how you're triggering the animation.

     

    Or possibly, they're both the same, but it's not set up quite right so it doesn't work in all cases.

     

  7. After these objects get enabled, I’d like to switch two of the objects to a different Enable Marker. Can this be done via script?

     

     

    It might be simpler (if less elegant) to have a separate enable parent for the two objects in question.

     

  8. Been doing some work on this as well. I found a Max plugin HavokMax, and the library that drives it: HavocLib. I've got a modified version of Anton's Skyrim scripts to export from Blender to JSON. So if I can just get Havoc lib to compile and link with my own code, I can read the JSON and generate HKX files using (hopefully) proven code.

     

    Major hurdle at the moment is that CMake hates me. There are a doze different ways to configure a CMake build, almost all of which fail to compile at some point. The one that does compile, generates no output - which wouldn't be so bad, but it breaks if I try and compile for debug, so I can't debug into the library to see what needs doing.

     

    Oh well, if it was easy, everyone would want to do it...

  9. Ah, this reminds me of work.

    Lots of "workarounds" instead of fixing the actual problem ...

     

    Same as any software project ever. Everyone would love to take the time to overhaul the system and Do It Properly, but doing that takes time away from working on the game and deadlines take priority. So they work around problems and until such time as they get an opportunity to upgrade something.

     

    It's frustrating as hell for us modders, mainly because we can't lean back in our chairs, tap the guy responsible on the shoulder and say "how the hell do I do this?" But, that's the hobby. What can you do?

  10.  

    Don't use a global variable. Use a property on a quest. Make it a full property with getter and setter functions, so these are the only way the state variable can be altered.

    I am sorry for the "n00b" question, but how do I do that?

    I haven't really been doing much with "functions" in scripts ...

     

    Like this:

    scriptname statemachine  extends quest
    
    int START_STATE = 0 const
    int STEADY_STATE = 1 const
    int END_STATE = 2 const
    
    CustomEvent State_Changed
    
    int state_variable = START_STATE
    
    property StateVariable
            function get()
                    return state_variable
            endfunction
            function set(int value)
    ;
    ;               transition checking
    ;
                    if value == END_STATE
                            if state_variable != STEADY_STATE
                                    return          ; in any other language we'd raise an exception
                            endif                   ; as it is, there's no way to communcate the error
                    elsif value = STEADY_STATE
                            if state_variable != START_STATE
                                    return
                            endif
                    else
                            return  ; can't transition to start state, so anything else is an error
                    endif
    ;
    ;               set the state
    ;
                    int old_state = state_variable
                    state_variable = value
    ;
    ;               raise the event
    ;
                    var[] args = new var[2]
                    args[0] = state_variable
                    args[1] = state_variable
                    SendCustomEvent("State_Changed", args)
            endfunction
    endproperty
    
    

    That's for a simple 3-state machine, where START_STATE can only transition to STEADY_STATE and STEADY_STATE can only go to END_STATE. You'll want something more sophisticated, and probably end up putting the state checking in one or more separate functions.

     

    The property thing is the way all properties work "under the hood". Saying

    int property foo auto

    is just shorthand for

    int _foo
    int property foo
            int function get()
                    return _foo
            endfunction
            function set(int value)
                    _foo = value
            endfunction
    endproperty
    

    ... but you can use the long form to add extra processing to getting and or setting the value.

  11. zEdit. Not quite the same functionality as xEdit, but I find the UI a lot easier to work with.

     

    PyNifly Blender Export-Import. Next-Gen Nif import/export extension for Blender.

     

    Also, ConEmu, and Bash, and Make from Cygwin. Because I do a lot of scripting, and I'm not a big fan of IDEs. And the CK script editor is awful.

     

    And Inkscape for graphic design work, The Gimp for the bits that don't really lend themselves to vector art, and Paint.Net for loading and saving DDS files. There's a Gimp addon that works, but you need to change the extension to and from dds2 to get more recent compression formats to work, and it gets to be a pain.

  12. Use AttachTo to snap eight conduits onto the sides of your structure, and then (they being separate meshes) snap wires onto them?

     

    You might need a bit of scripting to make sure the game knows that the pole and all the conduits are connected, but apart from that, it should be doable.

  13. Well, the navmesh tells NPCs where they can and can't walk, So if the existing navmesh goes through one of your buildings, they'll try and walk through it. And if there's no navmesh where they find themselves standing, they'll teleport to somewhere that is navmeshed.

     

    You can handle stairs by navmeshing them as if they were a ramp. Set up one tri with two verts at the bottom of the stairs and one at the top. Then put another vert at the top and make the complementary triangle for the first one. You should end up with a ramp that joins the two levels. It'll clip the stairs a little, but that's OK.

     

    You might want to be a bit careful editing vanilla mesh, however. Deleted navmesh can cause CTDs, so you're probably better making a primitive with the "Cut Navmesh" option to suppress the existing mesh. It's a bit like the way should always disable vanilla objects rather than simply delete them,

  14. How close are the snap points to one another? If they're right on top of each other, the first wire to connect may block out the others in the same location.

     

    Can you put something like a ring around the top of the pole? Just wide enough that the CPs don't overlap. See if that helps.

  15. I think you need an empty OnLoad() handler in the DoNothing state

    State DoNothing
        Event OnLoad()
                ;do nothing
        EndEvent
    endState

    You might get away with it in Fo4, but Skyrim was always picky about that sort of thing.

     

     

    I think this would work as long as one used it on a single generator.

    Nah. Each placed generator is an objectref, and each one has its own script instance, and it's own state.

     

    That said, if you're placing them from the workshop, OnWorkshopObjectPlaced is a better solution, although may still want the state to stop the generator from turning off each time it's moved. (Or that might be useful behavior, depending on the situation). If you're placing from the CK, I'd go with OnLoad every time.

  16. Answered my own question: "No". zEdit will not let you edit a plugin which is not loaded, and you can't load a plugin with a missing master, so again there is no way to fix masters.

     

    Copy the "eyes of beauty.esp" file to "EYESOFBEAUTY.esp" or whatever it needs. Then load your broken esp in zEdit and change the name of the master file.Quit and save. Afterwards you can delete the all-caps version of the mod, which you only needed to get the broken mod to load.

     

    I know it can be done because I checked before I posted. Which still doesn't mean you wont end up with a bunch of broken references afterwards, of course, which is why I say to keep a backup.

     

    Used to be, you could do this with Wrye as well, but the option is greyed out on mine, so maybe it doesn't work for Fo4

×
×
  • Create New...