User talk:Pcas1986
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).
Contents |
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.
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"); } } }