Для исправления ошибки CS1644, связанной с использованием функцииИсправь Error while compiling: AlwaysDay.cs(28,49): error CS1644: Feature `declaration expression' cannot be used because it is not part of the C# 6.0 language specification
out
в декларации переменной в TryParse
, которая не поддерживается в C# 6.0, вам нужно изменить способ объявления переменной currentTime
перед вызовом TryParse
. Вот обновленный код с исправлением: C#:
using System;
using UnityEngine;
namespace Oxide.Plugins
{
[Info("AlwaysDay", "YourName", "1.0.0")]
class AlwaysDay : RustPlugin
{
private Timer timeChangeTimer;
private void OnServerInitialized()
{
SetTimeOfDay(12); // Устанавливаем время суток на полдень
timeChangeTimer = timer.Every(60f, UpdateTimeOfDay); // Обновляем время каждые 60 секунд
}
private void SetTimeOfDay(float time)
{
ConsoleSystem.Run(ConsoleSystem.Option.Server, "env.time", time.ToString());
}
private void UpdateTimeOfDay()
{
string timeString = ConsoleSystem.Run(ConsoleSystem.Option.Server, "env.time");
float currentTime;
if (!float.TryParse(timeString, out currentTime))
{
Puts("Ошибка при преобразовании времени в число. Время: " + timeString);
return;
}
if (currentTime >= 19f && currentTime < 19.01f) // Если время достигло 19:00 и было меньше 19:01
{
SetTimeOfDay(10); // Меняем время на 10:00
Puts("Время суток сменилось на 10:00"); // Выводим сообщение о смене времени
}
}
private void Unload()
{
timeChangeTimer.Destroy(); // Уничтожаем таймер при выгрузке плагина
}
}
}
В этом обновленном коде переменная
currentTime
объявляется до вызова TryParse
, что исправляет ошибку, связанную с использованием функции out
в декларации переменной. Пожалуйста, используйте этот обновленный код и проверьте, решает ли он проблему с ошибкой CS1644.Если у вас возникнут дополнительные вопросы или потребуется дальнейшая помощь, не стесняйтесь обращаться. Готов помочь!