|
|
| 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");
| + | |
| − | }
| + | |
| − | }
| + | |
| − |
| + | |
| − | }
| + | |