所以我有5个变量
string name, int health, bool alarm, float someFloat, int dirt
空区(void VehicleInfo()
(
如何使这些变量每秒刷新一次?我找了好几天的答案都找不到。。
void VehicleInfo(){
string name = Game.Player.Character.CurrentVehicle.DisplayName;
int health = Game.Player.Character.CurrentVehicle.Health;
bool alarm = Game.Player.Character.CurrentVehicle.AlarmActive;
float someFloat = Game.Player.Character.CurrentVehicle.DirtLevel;
int dirt = (int)Math.Round(someFloat);
UIMenu VehInfo = modMenuPool.AddSubMenu(mainMenu, "Vehicle Info");
UIMenuItem Name;
UIMenuItem Health;
UIMenuItem Dirt;
UIMenuItem Alarm;
Name = new UIMenuItem("Vehicle Name: " + name);
VehInfo.AddItem(Name);
Health = new UIMenuItem("Vehicle Health: " + health);
VehInfo.AddItem(Health);
Dirt = new UIMenuItem("Vehicle Dirt Level: " + dirt);
VehInfo.AddItem(Dirt);
Alarm = new UIMenuItem("Does This Vehicle Have Alarm: " + alarm);
VehInfo.AddItem(Alarm);`
我需要刷新来自游戏值的变量
看看github 上的例子
您可以从Script
继承
然后在构造函数中指定一个时间间隔(每X毫秒(和一个事件处理程序,用于标记发生的时间。
public YourClass()
{
Tick += OnTick;
Interval = 1000; // Every Second
}
// This method is called every 1 second, based on the Interval
private void OnTick(object sender, EventArgs e)
{
string name = Game.Player.Character.CurrentVehicle.DisplayName;
int health = Game.Player.Character.CurrentVehicle.Health;
bool alarm = Game.Player.Character.CurrentVehicle.AlarmActive;
float someFloat = Game.Player.Character.CurrentVehicle.DirtLevel;
int dirt = (int)Math.Round(someFloat);
// The rest of your code
}
请参阅脚本类的源代码以获得更好的理解。