Modding Help Need Help Changing Player Movement

Discussion in 'Starbound Modding' started by Morgman1, Dec 24, 2014.

  1. Morgman1

    Morgman1 Aquatic Astronaut

    Hi,

    I could use some help modifying the player stats - I can't seem to change it. I want to make the walkspeed be the same as run speed so that when I back up, it doesn't slow me down.

    Anyone know where to find this? Thanks in advance for your time.[DOUBLEPOST=1419404737][/DOUBLEPOST]I've tried changing the default_movement.config file, but adding "walkspeed" variables or anything like that doesn't work. No other variables inside that file change the walkspeed of my character.
     
    Last edited: Dec 24, 2014
  2. Claith

    Claith Big Damn Hero

    I don't know if adding "walkSpeed" to that file will actually work (if it did, it would be only for newly made characters), as the uncompressed version I have, doesn't even list that field.

    What you can do, is make a mod and put in a sampleMod.lua script of something like:
    Code:
    local oldUpdate = update
    
    function update(dt)
    oldUpdate(dt)
    mcontroller.controlParameters( { walkSpeed = 14.0  } )
    end
    to use this, you'd need a player.config.patch with:
    Code:
    [
    { "op" : "add", "path" : "/statusControllerSettings/primaryScriptSources/-", "value" : "/scripts/sampleMod.lua" }
    ]
    I haven't tested it, but that should work, just make sure the sampleMod.lua script is in the ./modName/scripts/ folder, or change the field above. This will only work for newly made characters as well. Might be able to attach such a script to a consumable item or equipment as a status effect. 14.0 is the standard runSpeed, in case you didn't know. 8.0 is the walkSpeed.
     
  3. Morgman1

    Morgman1 Aquatic Astronaut

    Thanks for the reply Claith. I tried as you suggested, but get a crash.

    "Improper conversion to VariantMap from null
    ClientApplication::postSplashInitialization()
    ClientApplication::update()
    StarApplicationBase::run()
    _SDL_main
    _console_main

    What I did: I made a lua file named movement.lua (and changed the name in the player config to match it). I then added the code line as you said but changing the lua file name (I tried without the brackets and with the brackets [ ] ). I added a "scripts" folder to my mod folder, which contains the player.config file that is 'patched.'

    Hah, I've been trying to set walkspeed = 14.0 for a while now. It definitely works when I change the default actor runspeed movement for NPCs, but for players, nope.

    I'm a little bummed that this will only work with new characters, and I'm sure if I do the item trick, it would probably need to be consumed each time I play the game?[DOUBLEPOST=1419432057][/DOUBLEPOST]Okay I figured it out. Thanks to understanding that it works on new characters only. Simply putting "walkSpeed" : 14.0, in the player.config under "movementParameters" does the trick.
    Thanks for the help.

    I'd love to know how to make it an item that permanently changes that stat value though!
     
    Last edited: Dec 24, 2014
    Claith likes this.
  4. Claith

    Claith Big Damn Hero

    Thanks for the heads up about just putting it in that field. I work with variable values for the movement parameters, so I didn't try that.

    If you went the script route, you could make a status effect (don't need to capture the old update function or add it to the player.config primary scripts) with a long duration to all sorts of consumables ( bandages, first aid stuff might be the easiest ) which can apply the effect. I don't know the upper limit for status effect duration... or actually you could apply it as a permanent status effect. Can't believe it took me until now to remember that. I think that reapplying a status effect just resets the duration and doesn't stack effects, so applying the walkSpeed increasing effect wouldn't cause any issues. This would be the only way I can think of to approach giving the effect to characters already made.
     

Share This Page