|
|
| Line 1: |
Line 1: |
| These are examples of solutions for common and simple obsolete Trainzscript functions. This is not an exhaustive list. Solutions for more complex obsolete functions can be found (TBD).
| | test space only |
| | |
| =class Train=
| |
| | |
| ==GetVelocity()==
| |
| | |
| GetVelocity obsolete error or warning: <kuid:0000:0000> : VE267: somescript.gs(299) : function GetVelocity is obsolete in object Train.
| |
| | |
| | |
| '''Repair'''
| |
| | |
| You have two replacement options in the Train class (train.gs):
| |
| | |
| | |
| ''float GetSmoothedVelocity(void);''
| |
| | |
| This function return the train's velocity in metres per second and is suitable for human viewing such as a cab display.
| |
| | |
|
| |
| ''float GetTrainVelocity(void);''
| |
|
| |
| This function provides the instantaneous velocity for vehicles in this train, which is good for physics calculations but not good for human-readable display.<br><br>
| |
|
| |
| '''Usage example:'''
| |
| | |
| float mySpeed;
| |
| mySpeed = GetSmoothedVelocity(); // this is the more likely option but depends on what the overall script is trying to do.
| |
|
| |
| // or the more accurate version
| |
| mySpeed = GetTrainVelocity();
| |
|
| |
| =class Vehicle=
| |
| | |
| ==GetFacingRelativeToTrain()==
| |
| | |
| ???GetFacingRelativeToTrain obsolete error or warning: <kuid:0000:0000> : VE267: somescript.gs(450) : function GetFacingRelativeToTrain is obsolete in object Vehicle.
| |
| | |
| | |
| '''Repair'''
| |
| | |
| You have one replacement option in the Vehicle class (vehicle.gs):
| |
| | |
| | |
| ''bool GetDirectionRelativeToTrain(void);''
| |
| | |
| This function returns true if the vehicle faces the same way as the Train, false otherwise. This function is a bit tricky to understand and especially when a vehicle, such as a coach/carriage, is involved.
| |
|
| |
| '''Usage example1:'''
| |
| | |
| Vehicle myVehicle;
| |
| bool sameDirectionAsTrain;
| |
|
| |
| sameDirectionAsTrain = GetDirectionRelativeToTrain();
| |
|
| |
| '''Usage example2:'''
| |
| | |
| Vehicle[] trainVehicles;
| |
| Vehicle myVehicle;
| |
| bool sameDirectionAsTrain;
| |
| int i;
| |
|
| |
| trainVehicles = GetMyTrain().GetVehicles();
| |
|
| |
| if (trainVehicles) { //unlikely to be null but ...
| |
|
| |
| for (i = 0; i < trainVehicles.size(); ++i) {
| |
| //get direction of this vehicle in the train
| |
| sameDirectionAsTrain = trainVehicles[i].GetDirectionRelativeToTrain();
| |
| if (sameDirectionAsTrain) {
| |
| // do what is necessary here
| |
| Interface.Print("Vehicle "+ (i+1) + " is facing forward"); // add 1 so that the first vehicle is number 1 and not 0 (zero)
| |
| } else {
| |
| Interface.Print("Vehicle "+ (i+1) + " is facing backwards");
| |
| }
| |
| }
| |
|
| |
| }
| |