Tanks turn really slowly on the spot

Discussion in 'Bug Reports' started by Sitka, Apr 30, 2015.

  1. Lazybum

    Lazybum :D Staff Member Moderator

    Messages:
    4,827
    Likes Received:
    190
    Trophy Points:
    0
    I tried it. I tried it on the be med and found nothing changed which I expected.

    Then I pulled my old heavy that could actually shift and found it stuck on first, meaning it never shifted which is what I expected.

    So what I gather is that it does exactly what it says. If there's something more to this I'd like to hear it.
     
  2. 101010

    101010 Member

    Messages:
    996
    Likes Received:
    2
    Trophy Points:
    0
    I think part of the issue is how fast your accelerating. Hitting max speed in under a few seconds. So it's hard to notice gears shifting.
    Also Vhehicle scripts limit maxrpm lower then engine script to shift up rpm
    "maxrpm" "1500"
    "Shift Up RPM" "1600"


    In case this helps.
    here is some options with vehicles.Most are already used, some not, and some used wrong.
    There are more but not sure if I am allowed to post :P
    Also I noticed people limit scripts to a=b only able to changing b.
    but there are other ways to set b.
    like if speed is 0
    and rpm=maxrpm
    then torqueFactor = .5,.5
    //you just kicked in 4wd and got unstuck.

    bodyparams-
    Vector massCenterOverride; // leave at vec3_origin for no override
    float massOverride; // leave at 0 for no override
    float addGravity; // keeps car down
    float tiltForce; // keeps car down when not on flat ground
    float tiltForceHeight; // where the tilt force pulls relative to center of mass
    float counterTorqueFactor;
    float keepUprightTorque;
    float maxAngularVelocity; // clamp the car angular velocity separately from other objects to keep stable

    wheelparams-
    float radius;
    float mass;
    float inertia;
    float damping; // usually 0
    float rotdamping; // usually 0
    float frictionScale; // 1.5 front, 1.8 rear
    int materialIndex;
    int brakeMaterialIndex;
    int skidMaterialIndex;
    float springAdditionalLength; // 0 means the spring is at it's rest length


    suspensionparams-
    float springConstant;
    float springDamping;
    float stabilizerConstant;
    float springDampingCompression;
    float maxBodyForce;

    axleparams -
    Vector offset; // center of this axle in vehicle object space
    Vector wheelOffset; // offset to wheel (assume other wheel is symmetric at -wheelOffset) from axle center
    Vector raytraceCenterOffset; // offset to center of axle for the raytrace data.
    Vector raytraceOffset; // offset to raytrace for non-wheel (some wheeled) vehicles
    float torqueFactor; // normalized to 1 across all axles
    // e.g. 0,1 for rear wheel drive - 0.5,0.5 for 4 wheel drive
    float brakeFactor; // normalized to 1 across all axles
    float degreesSlow; // angle in degrees of steering at slow speed
    float degreesFast; // angle in degrees of steering at fast speed
    float degreesBoost; // angle in degrees of steering at fast speed
    float steeringRateSlow; // this is the speed the wheels are steered when the vehicle is slow
    float steeringRateFast; // this is the speed the wheels are steered when the vehicle is "fast"
    float steeringRestRateSlow; // this is the speed at which the wheels move toward their resting state (straight ahead) at slow speed
    float steeringRestRateFast; // this is the speed at which the wheels move toward their resting state (straight ahead) at fast speed
    float speedSlow; // this is the max speed of "slow"
    float speedFast; // this is the min speed of "fast"
    float turnThrottleReduceSlow; // this is the amount of throttle reduction to apply at the maximum steering angle
    float turnThrottleReduceFast; // this is the amount of throttle reduction to apply at the maximum steering angle
    float brakeSteeringRateFactor; // this scales the steering rate when the brake/handbrake is down
    float throttleSteeringRestRateFactor; // this scales the steering rest rate when the throttle is down
    float powerSlideAccel; // scale of speed to acceleration
    float boostSteeringRestRateFactor; // this scales the steering rest rate when boosting
    float boostSteeringRateFactor; // this scales the steering rest rate when boosting
    float steeringExponent; // this makes the steering response non-linear. The steering function is linear, then raised to this power

    bool isSkidAllowed; // true/false skid flag
    bool dustCloud; // flag for creating a dustcloud behind vehicle

    engineparams-
    float horsepower;
    float maxSpeed;
    float maxRevSpeed;
    float maxRPM; // redline RPM limit
    float axleRatio; // ratio of engine rev to axle rev
    float throttleTime; // time to reach full throttle in seconds

    // transmission
    int gearCount; // gear count - max 10
    float gearRatio[VEHICLE_MAX_GEAR_COUNT]; // ratio for each gear

    // automatic transmission (simple auto-shifter - switches at fixed RPM limits)
    float shiftUpRPM; // max RPMs to switch to a higher gear
    float shiftDownRPM; // min RPMs to switch to a lower gear
    float boostForce;
    float boostDuration;
    float boostDelay;
    float boostMaxSpeed;
    float autobrakeSpeedGain;
    float autobrakeSpeedFactor;
    bool torqueBoost;
    bool isAutoTransmission; // true for auto, false for manual
     
    Last edited: May 5, 2015
  3. ViroMan

    ViroMan Black Hole (*sniff*) Bully

    Messages:
    8,382
    Likes Received:
    4
    Trophy Points:
    0
    "autotransmission" "0"

    then you didn't notice the 10% HP boost it mysteriously gives?

    I set up a heavy that couldn't make the hill in first gear if you were starting on the hill but no problems if you were already going. Disabled shifting and it crawled up the hill from start no problem.


    hmm... I wonder about that.
     
  4. Lazybum

    Lazybum :D Staff Member Moderator

    Messages:
    4,827
    Likes Received:
    190
    Trophy Points:
    0
    I remember toying with gear count, I don't think it did anything. Or at least I couldn't get it to do anything. I don't think all those values can be used in the vehicle scripts.

    Nope didn't notice any extra hp. I can't really give an answer as to why either. It doesn't do much in the long run though. Setting it to manual means no shifting at all, assuming no one figures out the shift buttons, and if you did want to increase horsepower might as well just increase horsepower.
     
  5. ViroMan

    ViroMan Black Hole (*sniff*) Bully

    Messages:
    8,382
    Likes Received:
    4
    Trophy Points:
    0
    true.
    I will see about fumbling with the scripts on the weekend.
    "float throttleTime; // time to reach full throttle in seconds"
    could be useful in mimicking shifting if it works right. set it to 3 seconds to reach full engine hp.
     
  6. Lazybum

    Lazybum :D Staff Member Moderator

    Messages:
    4,827
    Likes Received:
    190
    Trophy Points:
    0
    Don't bother, it feels like stalling to the average user. Note that I only had it to one sec and it felt like stalling, more than that and it felt like overheat.

    Admittedly, you could try upping the horse power so it reaches the point where it moves sooner, then have it shift to a lower gear(or is it higher? I keep forgetting) to limit how fast it accelerates so it isn't like a rocket.

    Though I think it kinda fails on inclines, can't remember, and you still lose responsiveness anyway which a lot of players wouldn't like.
     

Share This Page