I don't know if I can do that, but my intention is just to help, sorry about anything.
I noticed that there is no update for a long time so I decided to help anyone who needs it.
First of all, we have to update the "config" file:
We have to add the follow category:
Look for:
I noticed that there is no update for a long time so I decided to help anyone who needs it.
First of all, we have to update the "config" file:
We have to add the follow category:
"Public CargoShip Announcements": {
"Despawn": true,
"Despawn Banner Color": "Red",
"Despawn Text": "The CargoShip has left.",
"Despawn Text Color": "White",
"Spawn": true,
"Spawn Banner Color": "Red",
"Spawn Text": "CargoShip Inbound!",
"Spawn Text Color": "Orange"
},If necessary, use a json validator here. Now in code ("cs" file):Look for:
public bool helicopterSpawnAnnouncement { get; private set; } = true;... and paste this above: //CargoShip Announcements
public bool cargoshipSpawnAnnouncement { get; private set; } = true;
public bool cargoshipDespawnAnnouncement { get; private set; } = false;
public string cargoshipSpawnAnnouncementText { get; private set; } = "CargoShip Inbound!";
public string cargoshipDespawnAnnouncementText { get; private set; } = "The CargoShip has left.";
public string cargoshipSpawnAnnouncementBannerColor { get; private set; } = "Red";
public string cargoshipSpawnAnnouncementTextColor { get; private set; } = "Orange";
public string cargoshipDespawnAnnouncementBannerColor { get; private set; } = "Red";
public string cargoshipDespawnAnnouncementTextColor { get; private set; } = "White";
Look for:helicopterSpawnAnnouncement = GetConfig("Public Helicopter Announcements", "Spawn", true);... and paste this above: //CargoShip Announcements
cargoshipSpawnAnnouncement = GetConfig("Public CargoShip Announcements", "Spawn", true);
cargoshipSpawnAnnouncementText = GetConfig("Public CargoShip Announcements", "Spawn Text", cargoshipSpawnAnnouncementText);
cargoshipSpawnAnnouncementTextColor = GetConfig("Public CargoShip Announcements", "Spawn Text Color", cargoshipSpawnAnnouncementTextColor);
ConvertTextColor(cargoshipSpawnAnnouncementTextColor, true);
if (!ConvertedTextColor)
{
ConvertedTextColor = true;
PrintWarning("\"Public CargoShip Announcements - Spawn Text Color: " + cargoshipSpawnAnnouncementTextColor + "\" is not a valid color, resetting to default.");
Config["Public CargoShip Announcements", "Spawn Text Color"] = "Orange";
ConfigUpdated = true;
}
cargoshipDespawnAnnouncement = GetConfig("Public CargoShip Announcements", "Despawn", cargoshipDespawnAnnouncement);
cargoshipDespawnAnnouncementText = GetConfig("Public CargoShip Announcements", "Despawn Text", cargoshipDespawnAnnouncementText);
cargoshipDespawnAnnouncementBannerColor = GetConfig("Public CargoShip Announcements", "Despawn Banner Color", cargoshipDespawnAnnouncementBannerColor);
ConvertBannerColor(cargoshipDespawnAnnouncementBannerColor, true);
if (!ConvertedBannerColor)
{
ConvertedBannerColor = true;
PrintWarning("\"Public CargoShip Announcements - Despawn Banner Color: " + cargoshipDespawnAnnouncementBannerColor + "\" is not a valid color, resetting to default.");
Config["Public CargoShip Announcements", "Despawn Banner Color"] = "Red";
ConfigUpdated = true;
}
cargoshipDespawnAnnouncementTextColor = GetConfig("Public CargoShip Announcements", "Despawn Text Color", cargoshipDespawnAnnouncementTextColor);
ConvertTextColor(cargoshipDespawnAnnouncementTextColor, true);
if (!ConvertedTextColor)
{
ConvertedTextColor = true;
PrintWarning("\"Public CargoShip Announcements - Despawn Text Color: " + cargoshipDespawnAnnouncementTextColor + "\" is not a valid color, resetting to default.");
Config["Public CargoShip Announcements", "Despawn Text Color"] = "White";
ConfigUpdated = true;
}
Look for this method:void OnEntitySpawned(BaseNetworkable entity)... and update: void OnEntitySpawned(BaseNetworkable entity)
{
if (helicopterSpawnAnnouncement && entity is BaseHelicopter)
{
CreateAnnouncement(helicopterSpawnAnnouncementText, helicopterSpawnAnnouncementBannerColor, helicopterSpawnAnnouncementTextColor);
}
if (stockingRefillAnnouncement && entity is XMasRefill)
{
CreateAnnouncement(stockingRefillAnnouncementText, stockingRefillAnnouncementBannerColor, stockingRefillAnnouncementTextColor);
}
if (cargoshipSpawnAnnouncement && entity is CargoShip)
{
CreateAnnouncement(cargoshipSpawnAnnouncementText, cargoshipSpawnAnnouncementBannerColor, cargoshipSpawnAnnouncementTextColor);
}
}
Look for method:void OnEntityKill(BaseNetworkable entity)... and update: void OnEntityKill(BaseNetworkable entity)
{
if (entity is BaseHelicopter)
{
var entityNetID = entity.net.ID;
timer.Once(2, () =>
{
if (HeliNetIDs.Contains(entityNetID))
HeliNetIDs.Remove(entityNetID);
else if (helicopterDespawnAnnouncement)
CreateAnnouncement(helicopterDespawnAnnouncementText, helicopterDespawnAnnouncementBannerColor, helicopterDespawnAnnouncementTextColor);
});
}
if (entity is CargoShip)
{
if (cargoshipDespawnAnnouncement)
CreateAnnouncement(cargoshipDespawnAnnouncementText, cargoshipDespawnAnnouncementBannerColor, cargoshipDespawnAnnouncementTextColor);
}
}
..and ready, done!