так её нет, сервер запускается, но не с первого раза, а раза с 10-15, иногда раньше иногда позжеcheck your bind make sure its 127.0.0.1 or just Remove the Bind
так её нет, сервер запускается, но не с первого раза, а раза с 10-15, иногда раньше иногда позжеcheck your bind make sure its 127.0.0.1 or just Remove the Bind
и куда это в писывать подробней можноВыключить снег - нужно заменить число 13 на 1.
Файл - dotnet\resources\NeptuneEvo\Main.cs
Посмотреть вложение 7360
UPD:
Теперь это делается на клиенте с помощью кода:
JavaScript:mp.game.invoke("0x6E9EF3A33C8899F8", true); // Enable snow textures // или mp.game.invoke("0x6E9EF3A33C8899F8", false); // Disable snow textures
Приветствую! У меня появился вопрос с установкой RedAge 3.0, когда я пытаюсь забилдить через powershell то ничего не получается и вылетает Fatal Error
Посмотреть вложение 17482
[INFO] Loading NodeJS packages...
[INFO] Starting packages...
[DONE] Server packages have been started.
Initializing Bootstrapper.dll (1.1.0.0)..
-> SERVER STARTED AT 02.01.2025 12:49:44
Unable to load acl.xml
ACLEnabled: False
Loaded 667 entries from vehicleData.json
Loading resources..
-> Starting NeptuneEvo resource..
NeptuneEvo: loading scripts.. found 1 script(s)
Could not load file or assembly 'D:\redage_v3-main\dotnet\resources\NeptuneEvo\bin\Debug\netcoreapp3.1\linq2db.dll'. Не удается найти указанный файл.
Could not load file or assembly 'D:\redage_v3-main\dotnet\resources\NeptuneEvo\bin\Debug\netcoreapp3.1\linq2db.dll'. Не удается найти указанный файл.
Could not load file or assembly 'D:\redage_v3-main\dotnet\resources\NeptuneEvo\bin\Debug\netcoreapp3.1\linq2db.dll'. Не удается найти указанный файл.
Could not load file or assembly 'D:\redage_v3-main\dotnet\resources\NeptuneEvo\bin\Debug\netcoreapp3.1\linq2db.dll'. Не удается найти указанный файл.
Could not load file or assembly 'D:\redage_v3-main\dotnet\resources\NeptuneEvo\bin\Debug\netcoreapp3.1\linq2db.dll'. Не удается найти указанный файл.
Could not load file or assembly 'D:\redage_v3-main\dotnet\resources\NeptuneEvo\bin\Debug\netcoreapp3.1\linq2db.dll'. Не удается найти указанный файл.
Unable to load one or more of the requested types.
Could not load file or assembly 'linq2db, Version=3.3.0.0, Culture=neutral, PublicKeyToken=e41013125f9e410a'. Не удается найти указанный файл.
Could not load file or assembly 'linq2db, Version=3.3.0.0, Culture=neutral, PublicKeyToken=e41013125f9e410a'. Не удается найти указанный файл.
Could not load file or assembly 'linq2db, Version=3.3.0.0, Culture=neutral, PublicKeyToken=e41013125f9e410a'. Не удается найти указанный файл.
Could not load file or assembly 'linq2db, Version=3.3.0.0, Culture=neutral, PublicKeyToken=e41013125f9e410a'. Не удается найти указанный файл.
Could not load file or assembly 'linq2db, Version=3.3.0.0, Culture=neutral, PublicKeyToken=e41013125f9e410a'. Не удается найти указанный файл.
Could not load file or assembly 'linq2db, Version=3.3.0.0, Culture=neutral, PublicKeyToken=e41013125f9e410a'. Не удается найти указанный файл.
-> Error starting NeptuneEvo due to missing assemblies.
Exception message: Unable to load one or more of the requested types.
Could not load file or assembly 'linq2db, Version=3.3.0.0, Culture=neutral, PublicKeyToken=e41013125f9e410a'. Не удается найти указанный файл.
Could not load file or assembly 'linq2db, Version=3.3.0.0, Culture=neutral, PublicKeyToken=e41013125f9e410a'. Не удается найти указанный файл.
Could not load file or assembly 'linq2db, Version=3.3.0.0, Culture=neutral, PublicKeyToken=e41013125f9e410a'. Не удается найти указанный файл.
Could not load file or assembly 'linq2db, Version=3.3.0.0, Culture=neutral, PublicKeyToken=e41013125f9e410a'. Не удается найти указанный файл.
Could not load file or assembly 'linq2db, Version=3.3.0.0, Culture=neutral, PublicKeyToken=e41013125f9e410a'. Не удается найти указанный файл.
Could not load file or assembly 'linq2db, Version=3.3.0.0, Culture=neutral, PublicKeyToken=e41013125f9e410a'. Не удается найти указанный файл.
System.IO.FileNotFoundException: Could not load file or assembly 'linq2db, Version=3.3.0.0, Culture=neutral, PublicKeyToken=e41013125f9e410a'. Не удается найти указанный файл.
File name: 'linq2db, Version=3.3.0.0, Culture=neutral, PublicKeyToken=e41013125f9e410a'
System.IO.FileNotFoundException: Could not load file or assembly 'linq2db, Version=3.3.0.0, Culture=neutral, PublicKeyToken=e41013125f9e410a'. Не удается найти указанный файл.
File name: 'linq2db, Version=3.3.0.0, Culture=neutral, PublicKeyToken=e41013125f9e410a'
System.IO.FileNotFoundException: Could not load file or assembly 'linq2db, Version=3.3.0.0, Culture=neutral, PublicKeyToken=e41013125f9e410a'. Не удается найти указанный файл.
File name: 'linq2db, Version=3.3.0.0, Culture=neutral, PublicKeyToken=e41013125f9e410a'
System.IO.FileNotFoundException: Could not load file or assembly 'linq2db, Version=3.3.0.0, Culture=neutral, PublicKeyToken=e41013125f9e410a'. Не удается найти указанный файл.
File name: 'linq2db, Version=3.3.0.0, Culture=neutral, PublicKeyToken=e41013125f9e410a'
System.IO.FileNotFoundException: Could not load file or assembly 'linq2db, Version=3.3.0.0, Culture=neutral, PublicKeyToken=e41013125f9e410a'. Не удается найти указанный файл.
File name: 'linq2db, Version=3.3.0.0, Culture=neutral, PublicKeyToken=e41013125f9e410a'
System.IO.FileNotFoundException: Could not load file or assembly 'linq2db, Version=3.3.0.0, Culture=neutral, PublicKeyToken=e41013125f9e410a'. Не удается найти указанный файл.
File name: 'linq2db, Version=3.3.0.0, Culture=neutral, PublicKeyToken=e41013125f9e410a'
У пакета "Newtonsoft.Json" 12.0.3 есть известная уязвимость https://github.com/advisories/GHSA-5crp-9r3c-p9vr (уровень серьезности: высокий)
"ConfigBD" не содержит определения "ClothesFemaleDecals", и не удалось найти доступный метод расширения "ClothesFemaleDecals", принимающий тип "ConfigBD" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
"ConfigBD" не содержит определения "ClothesMaleDecals", и не удалось найти доступный метод расширения "ClothesMaleDecals", принимающий тип "ConfigBD" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
"ConfigBD" не содержит определения "BarberFemaleHair", и не удалось найти доступный метод расширения "BarberFemaleHair", принимающий тип "ConfigBD" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
"ConfigBD" не содержит определения "BarberMaleHair", и не удалось найти доступный метод расширения "BarberMaleHair", принимающий тип "ConfigBD" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
"ConfigBD" не содержит определения "BarberFemaleBeard", и не удалось найти доступный метод расширения "BarberFemaleBeard", принимающий тип "ConfigBD" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
"ConfigBD" не содержит определения "BarberMaleBeard", и не удалось найти доступный метод расширения "BarberMaleBeard", принимающий тип "ConfigBD" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
"ConfigBD" не содержит определения "BarberFemaleBody", и не удалось найти доступный метод расширения "BarberFemaleBody", принимающий тип "ConfigBD" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
"ConfigBD" не содержит определения "BarberMaleBody", и не удалось найти доступный метод расширения "BarberMaleBody", принимающий тип "ConfigBD" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
"ConfigBD" не содержит определения "BarberFemaleEyebrows", и не удалось найти доступный метод расширения "BarberFemaleEyebrows", принимающий тип "ConfigBD" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
"ConfigBD" не содержит определения "BarberMaleEyebrows", и не удалось найти доступный метод расширения "BarberMaleEyebrows", принимающий тип "ConfigBD" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
"ConfigBD" не содержит определения "BarberFemaleEyes", и не удалось найти доступный метод расширения "BarberFemaleEyes", принимающий тип "ConfigBD" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
"ConfigBD" не содержит определения "BarberMaleEyes", и не удалось найти доступный метод расширения "BarberMaleEyes", принимающий тип "ConfigBD" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
"ConfigBD" не содержит определения "BarberFemaleLips", и не удалось найти доступный метод расширения "BarberFemaleLips", принимающий тип "ConfigBD" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
"ConfigBD" не содержит определения "BarberMaleLips", и не удалось найти доступный метод расширения "BarberMaleLips", принимающий тип "ConfigBD" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
"ConfigBD" не содержит определения "BarberFemaleMakeup", и не удалось найти доступный метод расширения "BarberFemaleMakeup", принимающий тип "ConfigBD" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
"ConfigBD" не содержит определения "BarberMaleMakeup", и не удалось найти доступный метод расширения "BarberMaleMakeup", принимающий тип "ConfigBD" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
"ConfigBD" не содержит определения "BarberFemalePalette", и не удалось найти доступный метод расширения "BarberFemalePalette", принимающий тип "ConfigBD" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
"ConfigBD" не содержит определения "BarberMalePalette", и не удалось найти доступный метод расширения "BarberMalePalette", принимающий тип "ConfigBD" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
"ConfigBD" не содержит определения "TattooHead", и не удалось найти доступный метод расширения "TattooHead", принимающий тип "ConfigBD" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
"ConfigBD" не содержит определения "TattooTorso", и не удалось найти доступный метод расширения "TattooTorso", принимающий тип "ConfigBD" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
"ConfigBD" не содержит определения "TattooLeftarm", и не удалось найти доступный метод расширения "TattooLeftarm", принимающий тип "ConfigBD" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
"ConfigBD" не содержит определения "TattooRightarm", и не удалось найти доступный метод расширения "TattooRightarm", принимающий тип "ConfigBD" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
"ConfigBD" не содержит определения "TattooLeftleg", и не удалось найти доступный метод расширения "TattooLeftleg", принимающий тип "ConfigBD" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
"ConfigBD" не содержит определения "TattooRightleg", и не удалось найти доступный метод расширения "TattooRightleg", принимающий тип "ConfigBD" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
"ConfigBD" не содержит определения "Roulette", и не удалось найти доступный метод расширения "Roulette", принимающий тип "ConfigBD" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
"ConfigBD" не содержит определения "BusProducts", и не удалось найти доступный метод расширения "BusProducts", принимающий тип "ConfigBD" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
"Everydayawards" является переменная, но используется как тип.
"ConfigBD" не содержит определения "Everydayaward", и не удалось найти доступный метод расширения "Everydayaward", принимающий тип "ConfigBD" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
"Everydayawards" является переменная, но используется как тип.
Не удается преобразовать группу методов "Count" в тип, не являющийся делегатом "int". Предполагалось вызывать этот метод?
Не удалось найти тип или имя пространства имен "Systemstates" (возможно, отсутствует директива using или ссылка на сборку).
"ConfigBD" не содержит определения "Systemstate", и не удалось найти доступный метод расширения "Systemstate", принимающий тип "ConfigBD" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
Не удалось найти тип или имя пространства имен "Systemstates" (возможно, отсутствует директива using или ссылка на сборку).
Не удалось найти тип или имя пространства имен "Ores" (возможно, отсутствует директива using или ссылка на сборку).
"ConfigBD" не содержит определения "Ores", и не удалось найти доступный метод расширения "Ores", принимающий тип "ConfigBD" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
Не удалось найти тип или имя пространства имен "Ores" (возможно, отсутствует директива using или ссылка на сборку).
"ConfigBD" не содержит определения "ClothesFemaleTops", и не удалось найти доступный метод расширения "ClothesFemaleTops", принимающий тип "ConfigBD" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
Распаковка-преобразование вероятного значения NULL.
Переменная "e" объявлена, но ни разу не использована.
несоответствие между архитектурой процессора проекта "MSIL", сборка которого выполняется, и архитектурой процессора ссылки "Bootstrapper", "AMD64". Это несоответствие может привести к ошибкам во время выполнения. Рекомендуется изменить целевую архитектуру процессора для проекта с помощью диспетчера конфигураций, чтобы согласовать архитектуры процессоров для проекта и ссылок, или использовать зависимость от ссылок с архитектурой процессора, соответствующей целевой архитектуре процессора проекта.
У пакета "Newtonsoft.Json" 12.0.3 есть известная уязвимость https://github.com/advisories/GHSA-5crp-9r3c-p9vr (уровень серьезности: высокий)
В данном асинхронном методе отсутствуют операторы await, поэтому метод будет выполняться синхронно. Воспользуйтесь оператором await для ожидания неблокирующих вызовов API или оператором await Task.Run(...) для выполнения связанных с ЦП заданий в фоновом потоке.
В данном асинхронном методе отсутствуют операторы await, поэтому метод будет выполняться синхронно. Воспользуйтесь оператором await для ожидания неблокирующих вызовов API или оператором await Task.Run(...) для выполнения связанных с ЦП заданий в фоновом потоке.
В данном асинхронном методе отсутствуют операторы await, поэтому метод будет выполняться синхронно. Воспользуйтесь оператором await для ожидания неблокирующих вызовов API или оператором await Task.Run(...) для выполнения связанных с ЦП заданий в фоновом потоке.
"ConfigBD" не содержит определения "Bptask", и не удалось найти доступный метод расширения "Bptask", принимающий тип "ConfigBD" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
"ConfigBD" не содержит определения "Bpawards", и не удалось найти доступный метод расширения "Bpawards", принимающий тип "ConfigBD" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
Аргумент 1: не удается преобразовать из "группа методов" в "bool".
"ConfigBD" не содержит определения "Bpawardspremium", и не удалось найти доступный метод расширения "Bpawardspremium", принимающий тип "ConfigBD" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
Аргумент 1: не удается преобразовать из "группа методов" в "bool".
"ConfigBD" не содержит определения "ClothesBugs", и не удалось найти доступный метод расширения "ClothesBugs", принимающий тип "ConfigBD" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
"ConfigBD" не содержит определения "ClothesFemaleMasks", и не удалось найти доступный метод расширения "ClothesFemaleMasks", принимающий тип "ConfigBD" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
"ConfigBD" не содержит определения "ClothesMaleMasks", и не удалось найти доступный метод расширения "ClothesMaleMasks", принимающий тип "ConfigBD" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
"ConfigBD" не содержит определения "ClothesFemaleHats", и не удалось найти доступный метод расширения "ClothesFemaleHats", принимающий тип "ConfigBD" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
"ConfigBD" не содержит определения "ClothesMaleHats", и не удалось найти доступный метод расширения "ClothesMaleHats", принимающий тип "ConfigBD" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
"ConfigBD" не содержит определения "ClothesFemaleAccessories", и не удалось найти доступный метод расширения "ClothesFemaleAccessories", принимающий тип "ConfigBD" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
"ConfigBD" не содержит определения "ClothesMaleAccessories", и не удалось найти доступный метод расширения "ClothesMaleAccessories", принимающий тип "ConfigBD" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
"ConfigBD" не содержит определения "ClothesFemaleEars", и не удалось найти доступный метод расширения "ClothesFemaleEars", принимающий тип "ConfigBD" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
"ConfigBD" не содержит определения "ClothesMaleEars", и не удалось найти доступный метод расширения "ClothesMaleEars", принимающий тип "ConfigBD" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
"ConfigBD" не содержит определения "ClothesFemaleGlasses", и не удалось найти доступный метод расширения "ClothesFemaleGlasses", принимающий тип "ConfigBD" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
"ConfigBD" не содержит определения "ClothesMaleGlasses", и не удалось найти доступный метод расширения "ClothesMaleGlasses", принимающий тип "ConfigBD" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
"ConfigBD" не содержит определения "ClothesFemaleLegs", и не удалось найти доступный метод расширения "ClothesFemaleLegs", принимающий тип "ConfigBD" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
"ConfigBD" не содержит определения "ClothesMaleLegs", и не удалось найти доступный метод расширения "ClothesMaleLegs", принимающий тип "ConfigBD" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
"ConfigBD" не содержит определения "ClothesFemaleShoes", и не удалось найти доступный метод расширения "ClothesFemaleShoes", принимающий тип "ConfigBD" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
"ConfigBD" не содержит определения "ClothesMaleShoes", и не удалось найти доступный метод расширения "ClothesMaleShoes", принимающий тип "ConfigBD" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
"ConfigBD" не содержит определения "ClothesFemaleTops", и не удалось найти доступный метод расширения "ClothesFemaleTops", принимающий тип "ConfigBD" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
"ConfigBD" не содержит определения "ClothesMaleTops", и не удалось найти доступный метод расширения "ClothesMaleTops", принимающий тип "ConfigBD" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
"ConfigBD" не содержит определения "ClothesFemaleWatches", и не удалось найти доступный метод расширения "ClothesFemaleWatches", принимающий тип "ConfigBD" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
"ConfigBD" не содержит определения "ClothesMaleWatches", и не удалось найти доступный метод расширения "ClothesMaleWatches", принимающий тип "ConfigBD" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
"ConfigBD" не содержит определения "ClothesFemaleBracelets", и не удалось найти доступный метод расширения "ClothesFemaleBracelets", принимающий тип "ConfigBD" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
"ConfigBD" не содержит определения "ClothesMaleBracelets", и не удалось найти доступный метод расширения "ClothesMaleBracelets", принимающий тип "ConfigBD" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
"ConfigBD" не содержит определения "ClothesFemaleTorsos", и не удалось найти доступный метод расширения "ClothesFemaleTorsos", принимающий тип "ConfigBD" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
"ConfigBD" не содержит определения "ClothesMaleTorsos", и не удалось найти доступный метод расширения "ClothesMaleTorsos", принимающий тип "ConfigBD" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
"ConfigBD" не содержит определения "ClothesFemaleBodyarmors", и не удалось найти доступный метод расширения "ClothesFemaleBodyarmors", принимающий тип "ConfigBD" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
"ConfigBD" не содержит определения "ClothesMaleBodyarmors", и не удалось найти доступный метод расширения "ClothesMaleBodyarmors", принимающий тип "ConfigBD" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
Проблема перевода. Непонятно, что хочешь. Можешь на скриншоте выделить что желаешь?В скрипте Electrician.cs написано, что слово prop удалено, но оно все еще там. Любое предложение, как это исправить
NAPI.World.DeleteWorldProp(1046551856, new Vector3(732.2359, 133.4224, 79.84549), 30f);Translation problem. It is not clear what you want. Can you highlight what you want on the screenshot?
Ну ты как бы в VS Code сборку не пересобираешь. Тут не предположение, тут 100% факт.В скрипте Electrician.cs написано, что слово prop удалено, но оно все еще там. Любое предложение, как это исправить
Я перестроил в Visual Studio, но проблема все еще существует.Ну ты как бы в VS Code сборку не пересобираешь. Тут не предположение, тут 100% факт.
Тебе нужна Visual Studio.
Ты же когда сборку ставил, указывал данные к БД, а потом сборку пересобирал? Вот и сейчас надо серверную часть пересобрать
Еще недавно ездил на метро,все работало.Всем привет, фикс на метро походу не пашет, вылетает с
Uncaught TypeError: Cannot read property 'x' of null
уже все у меня просто крашит рейдж без ошибокЕще недавно ездил на метро,все работало.
да вот сам понять не могу скачал последнею версию решил потестить не пашетЕще недавно ездил на метро,все работало.
А он случаем часть кода не показывает?Всем привет, фикс на метро походу не пашет, вылетает с
Uncaught TypeError: Cannot read property 'x' of null
Да, но я код переписывал. Только авто. Для шмоток где-то скрипт валялсяКто либо пытался ранее заменить отображение названий товаров / авто в салоне / магазине?
Через замены строк в массиве объектов, или добавлением новой переменной classname для функция replaceClassNames?
Что бы отображаемая вещь /авто перезаписывалось в своем файле
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?