Добрый день! Хочу представить отредактированную систему изменения погоды на сервере. Оптимизация чутку испорчена для адекватной работы (между реалистичными погодными условиями в игре так же прописаны и более "игровые", которые в реальность встретить, скорее всего, не получиться).
Погода изменяется рандомно, каждые 30 минут работы сервера.
И так, приступим к установке системы:
Погода изменяется рандомно, каждые 30 минут работы сервера.
И так, приступим к установке системы:
Ко всем define добавляем:
#define COLOR_RED 0xFF0000FF
SetTimer("ChangeWeather", 1000*60*30, 1);
ChangeWeather();
ChangeWeather();
В конце мода добавляем:
forward ChangeWeather();
public ChangeWeather()
{
new weather;
weather = random(9);
switch(weather)
{
case 0: {SendClientMessageToAll(COLOR_RED,"{0da1e8}В области ожидается ясная погода {00ff00}(+1)"); SetWeather(0);}
case 1: {SendClientMessageToAll(COLOR_RED,"{0da1e8}В области ожидается ясная погода {00ff00}(-7)"); SetWeather(1);}
case 2: {SendClientMessageToAll(COLOR_RED,"{0da1e8}В области ожидается ясная погода {00ff00}(-10)"); SetWeather(2);}
case 3: {SendClientMessageToAll(COLOR_RED,"{0da1e8}В области ожидается ясная погода {00ff00}(-2)"); SetWeather(3);}
case 4: {SendClientMessageToAll(COLOR_RED,"{0da1e8}В области ожидается ясная погода {00ff00}(-18)"); SetWeather(4);}
case 5: {SendClientMessageToAll(COLOR_RED,"{0da1e8}В области ожидается ясная погода {00ff00}(-12)"); SetWeather(5);}
case 6: {SendClientMessageToAll(COLOR_RED,"{0da1e8}В области ожидается ясная погода {00ff00}(-11)"); SetWeather(6);}
case 7: {SendClientMessageToAll(COLOR_RED,"{0da1e8}В области ожидается ясная погода {00ff00}(-24)"); SetWeather(7);}
case 8: {SendClientMessageToAll(COLOR_RED,"{0da1e8}В области ожидаются осадки {00ff00}(-2)"); SetWeather(16);}
}
return 1;
}
public ChangeWeather()
{
new weather;
weather = random(9);
switch(weather)
{
case 0: {SendClientMessageToAll(COLOR_RED,"{0da1e8}В области ожидается ясная погода {00ff00}(+1)"); SetWeather(0);}
case 1: {SendClientMessageToAll(COLOR_RED,"{0da1e8}В области ожидается ясная погода {00ff00}(-7)"); SetWeather(1);}
case 2: {SendClientMessageToAll(COLOR_RED,"{0da1e8}В области ожидается ясная погода {00ff00}(-10)"); SetWeather(2);}
case 3: {SendClientMessageToAll(COLOR_RED,"{0da1e8}В области ожидается ясная погода {00ff00}(-2)"); SetWeather(3);}
case 4: {SendClientMessageToAll(COLOR_RED,"{0da1e8}В области ожидается ясная погода {00ff00}(-18)"); SetWeather(4);}
case 5: {SendClientMessageToAll(COLOR_RED,"{0da1e8}В области ожидается ясная погода {00ff00}(-12)"); SetWeather(5);}
case 6: {SendClientMessageToAll(COLOR_RED,"{0da1e8}В области ожидается ясная погода {00ff00}(-11)"); SetWeather(6);}
case 7: {SendClientMessageToAll(COLOR_RED,"{0da1e8}В области ожидается ясная погода {00ff00}(-24)"); SetWeather(7);}
case 8: {SendClientMessageToAll(COLOR_RED,"{0da1e8}В области ожидаются осадки {00ff00}(-2)"); SetWeather(16);}
}
return 1;
}
Не большое объяснение для новичков:
SendClientMessageToAll(COLOR_RED,"{0da1e8}*{00ff00}*");
SendClientMessageToAll - функция отправляет сообщение в чат всем игрокам подключенным к серверу
COLOR_RED - стандартный цвет для этой строки (указывается обязательно, так как является обязательным параметром функции SendClientMessageToAll
{0da1e8} - голубой цвет. Устанавливает цвет для строки до следующего изменения (если есть. В нашем случае: {00ff00}). Используется для текстового оповещения о погодных условиях
{00ff00} - зеленый цвет. Используется для числового оповещения о температурных условиях
SetWeather(*);
SetWeather - функция изменения погодных условий на сервере
* - ID погодных условий (список - *тык*)
SendClientMessageToAll - функция отправляет сообщение в чат всем игрокам подключенным к серверу
COLOR_RED - стандартный цвет для этой строки (указывается обязательно, так как является обязательным параметром функции SendClientMessageToAll
{0da1e8} - голубой цвет. Устанавливает цвет для строки до следующего изменения (если есть. В нашем случае: {00ff00}). Используется для текстового оповещения о погодных условиях
{00ff00} - зеленый цвет. Используется для числового оповещения о температурных условиях
SetWeather(*);
SetWeather - функция изменения погодных условий на сервере
* - ID погодных условий (список - *тык*)
Последнее редактирование модератором: