Исправь Error while compiling: CombatBlock.cs(282,27): error CS1525: Unexpected symbol `void', expecting `class', `delegate', `enum', `interface', `partial', or `struct'
private class Configuration
{
public class CombatBlock
{
[JsonProperty(LanguageEn ? "Lockout time (seconds)" : "Время блокировки (секунды)")]
public int CombatBlockDuration = 150;
[JsonProperty(LanguageEn ? "Disable the combat block when receiving a raid block (true - yes/false - no)" : "Отключить комбат блок при получении рейд блока (true - да/false - нет)")]
public bool CombatBlockOnRaidBlock = true;
}
public class CombatBlockActionsBlocked
{
[JsonProperty(LanguageEn ? "Disable teleportation capability (true - yes/false - no)" : "Блокировать возможность телепортироваться (true - да/false - нет)")]
public bool CanTeleport = true;
[JsonProperty(LanguageEn ? "Disable the use of kits (true - yes/false - no)" : "Блокировать возможность использования китов (true - да/false - нет)")]
public bool CanUseKit = true;
[JsonProperty(LanguageEn ? "Disable trade functionality (true - yes/false - no)" : "Блокировать возможность обмена (Trade) (true - да/false - нет)")]
public bool CanTrade = true;
[JsonProperty(LanguageEn ? "List of prohibited commands during active lockdown [Specify them without a slash (/)]" : "Список запрещенных команд при активной блокировки [указывайте их без слэша (/)]", ObjectCreationHandling = ObjectCreationHandling.Replace)]
public List<string> BlockedCommands = new List<string>()
{
"commandExample",
};
}
public class CombatBlockDetect
{
[JsonProperty(LanguageEn ? "Activate combat mode upon NPC attack (true - yes/false - no)" : "Активировать комбат-блок при атаке NPC (true - да/false - нет)")]
public bool ActivateOnNpcAttack = true;
[JsonProperty(LanguageEn ? "Activate combat mode upon receiving damage from NPCs (true - yes/false - no)" : "Активировать комбат-блок при получении урона от NPC (true - да/false - нет)")]
public bool ActivateOnNpcDamageReceived = true;
[JsonProperty(LanguageEn ? "Activate combat block when dealing damage to a sleeping player (true - yes/false - no)" : "Активировать комбат-блок при нанесении урона спящему игроку (true - да/false - нет)")]
public bool ActivateOnSleeperAttack = false;
[JsonProperty(LanguageEn ? "Deactivate combat mode after death (true - yes/false - no)" : "Деактивировать комбат-блок после смерти (true - да/false - нет)")]
public bool DeactivateOnPlayerDeath = true;
}
public class CombatBlockUi
{
[JsonProperty(LanguageEn ? "Interface variant (0, 1, 2) - example: " : "Вариант интерфейса (0, 1, 2)")]
public int UiType = 0;
[JsonProperty(LanguageEn ? "Interface layer: Overlay - will overlay other UI, Hud - will be overlaid by other interfaces" : "Слой интерфейса : Overlay - будет перекрывать другие UI, Hud - будет перекрываться другим интерфейсом")]
public string Layers = "Hud";
[JsonProperty(LanguageEn ? "Vertical padding" : "Вертикальный отступ")]
public int OffsetY = 0;
[JsonProperty(LanguageEn ? "Horizontal padding" : "Горизонтальный отступ")]
public int OffsetX = 0;
[JsonProperty(LanguageEn ? "Interface settings for variant 0" : "Настройки интерфейса для варианта 0")]
public CombatBlockUiSettings InterfaceSettingsVariant0 = new()
{
BackgroundColor = "0.1921569 0.1921569 0.1921569 1",
IconColor = "0 0.7764706 1 1",
AdditionalElementsColor = "",
MainTextColor = "1 1 1 1",
SecondaryTextColor = "1 1 1 0.5019608",
ProgressBarMainColor = "0.3411765 0.5490196 0.9607843 1",
ProgressBarBackgroundColor = "1 1 1 0.1019608",
SmoothTransition = 0.222f,
};
[JsonProperty(LanguageEn ? "Interface settings for variant 1" : "Настройки интерфейса для варианта 1")]
public CombatBlockUiSettings InterfaceSettingsVariant1 = new()
{
BackgroundColor = "0.9607843 0.772549 0.7333333 0.7019608",
IconColor = "1 1 1 1",
AdditionalElementsColor = "0.9215686 0.3058824 0.172549 1",
MainTextColor = "0.1921569 0.192 0.1921569 1",
SecondaryTextColor = "0.1320755 0.1320755 0.1320755 1",
ProgressBarMainColor = "0.9215686 0.3058824 0.172549 1",
ProgressBarBackgroundColor = "1 1 1 0.4117647",
SmoothTransition = 0.222f
};
[JsonProperty(LanguageEn ? "Interface settings for variant 2" : "Настройки интерфейса для варианта 2")]
public CombatBlockUiSettings InterfaceSettingsVariant2 = new()
{
BackgroundColor = "0.1921569 0.1921569 0.1921569 1",
IconColor = "0.9411765 0.3137255 0.286 1",
AdditionalElementsColor = "0.9568627 0.3607843 0.2627451 1",
MainTextColor = "1 1 1 1",
SecondaryTextColor = "1 1 1 0.5019608",
ProgressBarMainColor = "1 1 1 1",
ProgressBarBackgroundColor = "1 1 1 0.4117647",
SmoothTransition = 0.222f
};
public class CombatBlockUiSettings
{
[JsonProperty(LanguageEn ? "Background color (RGBA)" : "Цвет фона (RGBA)")]
public string BackgroundColor;
[JsonProperty(LanguageEn ? "Icon color (RGBA)" : "Цвет иконки (RGBA)")]
public string IconColor;
[JsonProperty(LanguageEn ? "Color of additional elements (RGBA)" : "Цвет дополнительных элементов (RGBA)")]
public string AdditionalElementsColor;
[JsonProperty(LanguageEn ? "Main text color (RGBA)" : "Цвет основного текста (RGBA)")]
public string MainTextColor;
[JsonProperty(LanguageEn ? "Secondary text Color (RGBA)" : "Цвет второстепенного текста (RGBA)")]
public string SecondaryTextColor;
[JsonProperty(LanguageEn ? "Main color of the progress-bar (RGBA)" : "Основной цвет прогресс-бара (RGBA)")]
public string ProgressBarMainColor;
[JsonProperty(LanguageEn ? "Background Color of the Progress Bar (RGBA)" : "Цвет фона прогресс-бара (RGBA)")]
public string ProgressBarBackgroundColor;
[JsonProperty(LanguageEn ? "Delay before the UI appears and disappears (for smooth transitions)" : "Задержка перед появлением и исчезновением UI (для плавности)")]
public float SmoothTransition;
}
}
public class IQChat
{
[JsonProperty(LanguageEn ? "IQChat : Custom prefix in the chat" : "IQChat : Кастомный префикс в чате")]
public string CustomPrefix = "[<color=#C26D33>CombatBlock</color>]";
[JsonProperty(LanguageEn ? "IQChat : Custom avatar in the chat (If required)" : "IQChat : Кастомный аватар в чате(Если требуется)")]
public string CustomAvatar = "0";
[JsonProperty(LanguageEn ? "IQChat : Use UI notifications" : "IQChat : Использовать UI уведомления")]
public bool UIAlertUse = false;
public IQChat() {} // Добавляем пустой конструктор
}
public class YourClassName
{
[JsonProperty(LanguageEn ? "Primary combat settings" : "Основные настройки комбат-блока")]
public CombatBlock CombatBlockMain = new CombatBlock();
[JsonProperty(LanguageEn ? "Trigger settings" : "Настройка триггеров")]
public CombatBlockDetect BlockDetect = new CombatBlockDetect();
[JsonProperty(LanguageEn ? "Combat mode restrictions settings" : "Настройка ограничений во время комбат-блока")]
public CombatBlockActionsBlocked ActionsBlocked = new CombatBlockActionsBlocked();
[JsonProperty(LanguageEn ? "Interface settings" : "Настройки интерфейса")]
public CombatBlockUi CombatBlockInterface = new CombatBlockUi();
[JsonProperty(LanguageEn ? "Setting IQChat" : "Настройка IQChat")]
public IQChat IQChatSetting = new IQChat();
}
protected override void LoadConfig()
{
base.LoadConfig();
try
{
config = Config.ReadObject<Configuration>();
if (config == null)
{
throw new Exception();
}
SaveConfig();
}
catch
{
for (int i = 0; i < 3; i++)
{
PrintError("Configuration file is corrupt! Check your config file at
https://jsonlint.com/");
}
LoadDefaultConfig();
}
ValidateConfig();
SaveConfig();
}