Custom weather array
This commit is contained in:
@@ -387,7 +387,7 @@ function applyConfigToServer(tempServerConfig) {
|
||||
|
||||
if (isWeatherSupported()) {
|
||||
logToConsole(LOG_DEBUG, `[AGRP.Config]: Setting weather to ${tempServerConfig.weather}`);
|
||||
game.forceWeather(tempServerConfig.weather);
|
||||
game.forceWeather(getWeatherData(tempServerConfig.weather).weatherId);
|
||||
}
|
||||
|
||||
updateServerRules();
|
||||
@@ -583,19 +583,19 @@ function setWeatherCommand(command, params, client) {
|
||||
return false;
|
||||
}
|
||||
|
||||
let weatherId = getWeatherFromParams(getParam(params, " ", 1));
|
||||
let weatherIndex = getWeatherFromParams(getParam(params, " ", 1));
|
||||
|
||||
if (!weatherId) {
|
||||
if (!getWeatherData(weatherIndex)) {
|
||||
messagePlayerError(client, `That weather ID or name is invalid!`);
|
||||
return false;
|
||||
}
|
||||
|
||||
game.forceWeather(toInteger(weatherId));
|
||||
getServerConfig().weather = weatherId;
|
||||
game.forceWeather(getWeatherData(weatherIndex).weatherId);
|
||||
getServerConfig().weather = weatherIndex;
|
||||
|
||||
getServerConfig().needsSaved = true;
|
||||
|
||||
announceAdminAction("ServerWeatherSet", getPlayerName(client), getGameConfig().weatherNames[getGame()][toInteger(weatherId)]);
|
||||
announceAdminAction("ServerWeatherSet", getPlayerName(client), getWeatherData(weatherIndex).name);
|
||||
updateServerRules();
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -134,11 +134,18 @@ function thirtyMinuteTimerFunction() {
|
||||
checkPayDays();
|
||||
}
|
||||
|
||||
checkInactiveVehicleRespawns();
|
||||
|
||||
if (isGameFeatureSupported("snow")) {
|
||||
checkSnowChance();
|
||||
setSnowWithChance();
|
||||
}
|
||||
|
||||
checkInactiveVehicleRespawns();
|
||||
if (isGameFeatureSupported("weather")) {
|
||||
setRandomWeather();
|
||||
}
|
||||
|
||||
updateServerRules();
|
||||
|
||||
saveServerDataToDatabase();
|
||||
}
|
||||
|
||||
@@ -330,7 +337,7 @@ function checkInactiveVehicleRespawns() {
|
||||
if (getVehicleData(vehicles[i]).lastActiveTime != false) {
|
||||
if (getCurrentUnixTimestamp() - getVehicleData(vehicles[i]).lastActiveTime >= getGlobalConfig().vehicleInactiveRespawnDelay) {
|
||||
respawnVehicle(vehicles[i]);
|
||||
getVehicleData(vehicles[i]).lastActiveTime = false;
|
||||
//getVehicleData(vehicles[i]).lastActiveTime = false;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@@ -342,13 +349,31 @@ function checkInactiveVehicleRespawns() {
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function checkSnowChance() {
|
||||
function setSnowWithChance() {
|
||||
let date = new Date();
|
||||
|
||||
let shouldBeSnowing = getRandomBoolWithProbability(getGlobalConfig().monthlyChanceOfSnow[date.getMonths()]);
|
||||
let shouldBeSnowing = getRandomBoolWithProbability(getGlobalConfig().monthlyChanceOfSnow[date.getMonth()]);
|
||||
getServerConfig().groundSnow = shouldBeSnowing;
|
||||
getServerConfig().fallingSnow = shouldBeSnowing;
|
||||
|
||||
updatePlayerSnowState(null);
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function setRandomWeather() {
|
||||
let randomWeatherIndex = getRandom(0, getGameConfig().weather[getGame()].length - 1);
|
||||
|
||||
if (getServerConfig().fallingSnow == true) {
|
||||
while (getWeatherData(randomWeatherIndex).allowWithSnow == false) {
|
||||
randomWeatherIndex = getRandom(0, getGameConfig().weather[getGame()].length - 1);
|
||||
}
|
||||
}
|
||||
|
||||
game.forceWeather(getWeatherData(weatherIndex).weatherId);
|
||||
getServerConfig().weather = weatherIndex;
|
||||
|
||||
getServerConfig().needsSaved = true;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
@@ -101,8 +101,8 @@ function updateServerRules() {
|
||||
|
||||
if (isWeatherSupported()) {
|
||||
if (getServerConfig() != false) {
|
||||
if (typeof getGameConfig().weatherNames[getGame()] != "undefined") {
|
||||
let tempText = getGameConfig().weatherNames[getGame()][getServerConfig().weather];
|
||||
if (getWeatherData(getServerConfig().weather) != false) {
|
||||
let tempText = getWeatherData(getServerConfig().weather).name;
|
||||
timeWeatherRule.push(tempText);
|
||||
}
|
||||
}
|
||||
@@ -124,14 +124,16 @@ function updateServerRules() {
|
||||
|
||||
function getWeatherFromParams(params) {
|
||||
if (isNaN(params)) {
|
||||
for (let i in getGameConfig().weatherNames[getGame()]) {
|
||||
if (toLowerCase(getGameConfig().weatherNames[getGame()][i]).indexOf(toLowerCase(params)) != -1) {
|
||||
for (let i in getGameConfig().weather[getGame()]) {
|
||||
if (toLowerCase(getGameConfig().weather[getGame()][i].name).indexOf(toLowerCase(params)) != -1) {
|
||||
return i;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (typeof getGameConfig().weatherNames[getGame()][params] != "undefined") {
|
||||
return toInteger(params);
|
||||
for (let i in getGameConfig().weather[getGame()]) {
|
||||
if (typeof getGameConfig().weather[getGame()][i].weatherId != "undefined") {
|
||||
return toInteger(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -29,6 +29,16 @@ class AnimationData {
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
class WeatherData {
|
||||
constructor(weatherId, name, allowWithSnow) {
|
||||
this.weatherId = weatherId;
|
||||
this.name = name;
|
||||
this.allowWithSnow = allowWithSnow;
|
||||
}
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
let supportedFeatures = {
|
||||
// Invalid, GTAIII, GTAVC, GTASA, Invalid, GTAIV, Invalid, Invalid, Invalid, M1, M2, M3, M1DE
|
||||
time: {
|
||||
@@ -563,77 +573,79 @@ let gameData = {
|
||||
|
||||
}
|
||||
},
|
||||
weatherNames: {
|
||||
weather: {
|
||||
[AGRP_GAME_GTA_III]: [ // GTA III
|
||||
"Clear",
|
||||
"Overcast",
|
||||
"Thunderstorm",
|
||||
"Fog",
|
||||
"Clear",
|
||||
"Rainy",
|
||||
"Dark/Cloudy",
|
||||
"Light/Cloudy",
|
||||
"Overcast/Cloudy",
|
||||
"Grey/Cloudy"
|
||||
new WeatherData(0, "Clear", true),
|
||||
new WeatherData(1, "Overcast", false),
|
||||
new WeatherData(2, "Thunderstorm", false),
|
||||
new WeatherData(3, "Fog", true),
|
||||
new WeatherData(4, "Clear", false),
|
||||
new WeatherData(5, "Rainy", false),
|
||||
new WeatherData(6, "Dark/Cloudy", false),
|
||||
new WeatherData(7, "Light/Cloudy", false),
|
||||
new WeatherData(8, "Overcast/Cloudy", true),
|
||||
new WeatherData(9, "Grey/Cloudy", false),
|
||||
],
|
||||
[AGRP_GAME_GTA_VC]: [ // GTA Vice City
|
||||
"Partly Cloudy",
|
||||
"Overcast",
|
||||
"Thunderstorm",
|
||||
"Fog",
|
||||
"Sunny",
|
||||
"Hurricane",
|
||||
"Dark/Cloudy",
|
||||
"Light/Cloudy",
|
||||
"Overcast/Cloudy",
|
||||
"Grey/Cloudy"
|
||||
new WeatherData(0, "Clear", true),
|
||||
new WeatherData(1, "Overcast", false),
|
||||
new WeatherData(2, "Thunderstorm", false),
|
||||
new WeatherData(3, "Fog", true),
|
||||
new WeatherData(4, "Sunny", false),
|
||||
new WeatherData(5, "Hurricane", false),
|
||||
new WeatherData(6, "Dark/Cloudy", false),
|
||||
new WeatherData(7, "Light/Cloudy", false),
|
||||
new WeatherData(8, "Overcast/Cloudy", true),
|
||||
new WeatherData(9, "Grey/Cloudy", false),
|
||||
],
|
||||
[AGRP_GAME_GTA_SA]: [ // GTA San Andreas
|
||||
"Blue Skies",
|
||||
"Blue Skies",
|
||||
"Blue Skies",
|
||||
"Blue Skies",
|
||||
"Blue Skies",
|
||||
"Blue Skies",
|
||||
"Blue Skies",
|
||||
"Blue Skies",
|
||||
"Thunderstorm",
|
||||
"Cloudy/Foggy",
|
||||
"Clear Blue Skies",
|
||||
"Heatwave",
|
||||
"Dull/Colorless",
|
||||
"Dull/Colorless",
|
||||
"Dull/Colorless",
|
||||
"Dull/Colorless",
|
||||
"Dull/Rainy",
|
||||
"Heatwave",
|
||||
"Heatwave",
|
||||
"Sandstorm",
|
||||
"Greenish/Foggy"
|
||||
new WeatherData(0, "Blue Skies", false),
|
||||
new WeatherData(1, "Blue Skies", false),
|
||||
new WeatherData(2, "Blue Skies", false),
|
||||
new WeatherData(3, "Blue Skies", false),
|
||||
new WeatherData(4, "Blue Skies", false),
|
||||
new WeatherData(5, "Blue Skies", false),
|
||||
new WeatherData(6, "Blue Skies", false),
|
||||
new WeatherData(7, "Blue Skies", false),
|
||||
new WeatherData(8, "Thunderstorm", false),
|
||||
new WeatherData(9, "Cloudy/Foggy", false),
|
||||
new WeatherData(10, "Clear Blue Skies", false),
|
||||
new WeatherData(11, "Heatwave", false),
|
||||
new WeatherData(12, "Dull/Colorless", false),
|
||||
new WeatherData(13, "Dull/Colorless", false),
|
||||
new WeatherData(14, "Dull/Colorless", false),
|
||||
new WeatherData(15, "Dull/Colorless", false),
|
||||
new WeatherData(16, "Dull/Rainy", false),
|
||||
new WeatherData(17, "Heatwave", false),
|
||||
new WeatherData(18, "Heatwave", false),
|
||||
new WeatherData(19, "Sandstorm", false),
|
||||
new WeatherData(20, "Greenish/Foggy", false),
|
||||
],
|
||||
[AGRP_GAME_GTA_IV]: [ // GTA IV
|
||||
"Extra Sunny",
|
||||
"Sunny",
|
||||
"Sunny/Windy",
|
||||
"Cloudy",
|
||||
"Rain",
|
||||
"Light Rain",
|
||||
"Foggy",
|
||||
"Thunderstorm",
|
||||
"Extra Sunny",
|
||||
"Sunny/Windy",
|
||||
new WeatherData(1, "Blue Skies", false),
|
||||
new WeatherData(2, "Extra Sunny", false),
|
||||
new WeatherData(3, "Sunny", false),
|
||||
new WeatherData(4, "Sunny/Windy", false),
|
||||
new WeatherData(5, "Cloudy", false),
|
||||
new WeatherData(6, "Rain", false),
|
||||
new WeatherData(7, "Light Rain", false),
|
||||
new WeatherData(8, "Foggy", false),
|
||||
new WeatherData(9, "Thunderstorm", false),
|
||||
new WeatherData(10, "Extra Sunny", false),
|
||||
new WeatherData(11, "Sunny/Windy", false),
|
||||
],
|
||||
[AGRP_GAME_GTA_IV_EFLC]: [ // GTA IV EFLC
|
||||
"Extra Sunny",
|
||||
"Sunny",
|
||||
"Sunny/Windy",
|
||||
"Cloudy",
|
||||
"Rain",
|
||||
"Light Rain",
|
||||
"Foggy",
|
||||
"Thunderstorm",
|
||||
"Extra Sunny",
|
||||
"Sunny/Windy",
|
||||
new WeatherData(1, "Blue Skies", false),
|
||||
new WeatherData(2, "Extra Sunny", false),
|
||||
new WeatherData(3, "Sunny", false),
|
||||
new WeatherData(4, "Sunny/Windy", false),
|
||||
new WeatherData(5, "Cloudy", false),
|
||||
new WeatherData(6, "Rain", false),
|
||||
new WeatherData(7, "Light Rain", false),
|
||||
new WeatherData(8, "Foggy", false),
|
||||
new WeatherData(9, "Thunderstorm", false),
|
||||
new WeatherData(10, "Extra Sunny", false),
|
||||
new WeatherData(11, "Sunny/Windy", false),
|
||||
],
|
||||
[AGRP_GAME_GTA_V]: [
|
||||
|
||||
|
||||
Reference in New Issue
Block a user