shape1
shape2
shape3
shape4
shape7
shape8

Система изменения погоды


VEYYN

Новичок
Пользователь
08.06.2019
95
1
1
0
18
Добрый день! Хочу представить отредактированную систему изменения погоды на сервере. Оптимизация чутку испорчена для адекватной работы (между реалистичными погодными условиями в игре так же прописаны и более "игровые", которые в реальность встретить, скорее всего, не получиться). 

Погода изменяется рандомно, каждые 30 минут работы сервера.

И так, приступим к установке системы:

Ко всем define добавляем:

#define COLOR_RED  0xFF0000FF
В public OnGameModeInit() добавляем код:

SetTimer("ChangeWeather", 1000*60*30, 1);
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;
}
 




Не большое объяснение для новичков

SendClientMessageToAll(COLOR_RED,"{0da1e8}*{00ff00}*"); 

SendClientMessageToAll - функция отправляет сообщение в чат всем игрокам подключенным к серверу
COLOR_RED - стандартный цвет для этой строки (указывается обязательно, так как является обязательным параметром функции SendClientMessageToAll
{0da1e8} - голубой цвет. Устанавливает цвет для строки до следующего изменения (если есть. В нашем случае: {00ff00}). Используется для текстового оповещения о погодных условиях
{00ff00} - зеленый цвет. Используется для числового оповещения о температурных условиях

SetWeather(*);

SetWeather - функция изменения погодных условий на сервере
* - ID погодных условий (список - *тык*)

 
Последнее редактирование модератором: