Гость stibs

Рандомная смена погоды

В теме 11 сообщений

Как понятно из названия, данная система позволит вам устанавливать рандомную погоду каждые N-минут, при этом будет оповещать жителей города о предстоящей смене погоды.


В начало мода (можно просто new):

enum E_WEATHER_DATA
{
        weather_name[15],
        weather_id,
        weather_degrees
};
 
new weather[][E_WEATHER_DATA] =
{
        {"ясная погода", 18, 22},
        {"туман", 9, 15},
        {"гроза", 8, 17},
        {"ясная погода", 3, 21},
        {"ясная погода", 1, 23}
};

В OnGameModeInit

SetTimer("SetRandomWeather", 60000, false);

В конец мода:

forward SetRandomWeather();
public SetRandomWeather()
{
        new fmt_msg[55];
        new rand = random(sizeof weather);
 
        SendClientMessageToAll(0x3399FFFF, "[Прогноз погоды]");
 
        format(fmt_msg, sizeof fmt_msg, "В области ожидается %s {99CC00}(+%d °С)", weather[rand][weather_name], weather[rand][weather_degrees]);
        SendClientMessageToAll(-1, fmt_msg);
 
        SetWeather(weather[rand][weather_id]);
        return 1;
}

Автор: Barxan01

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А как сделать, что бы каждый PayDay ( час ) погода менялась? Или уже так сделано?

 

Хелп )

new.pwn(53330) : error 017: undefined symbol "weather"
new.pwn(53334) : error 017: undefined symbol "weather"
new.pwn(53334) : warning 215: expression has no effect
new.pwn(53334) : error 001: expected token: ";", but found "]"
new.pwn(53334) : error 029: invalid expression, assumed zero
new.pwn(53334) : fatal error 107: too many error messages on one line

 

И кстати, как сделать, что бы новость и смене погоды - была не в общий чат, а каждому игроку отдельно? Ну как информация о PayDay?

Отредактировано пользователем HAPKOMAH

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@HAPKOMAH к new добавьте то, что написано в начале темы. Из-за этого ошибки. 

34 минуты назад, HAPKOMAH сказал:

А как сделать, что бы каждый PayDay ( час ) погода менялась? Или уже так сделано?

Если каждый час, то в OnGameModeInit (строке) замените: 

SetTimer("SetRandomWeather", 1000*60*60, true);

 

36 минут назад, HAPKOMAH сказал:

И кстати, как сделать, что бы новость и смене погоды - была не в общий чат, а каждому игроку отдельно? Ну как информация о PayDay?

Зачем изобретать велосипед, если сообщение для всех игроков будет одинаково? Для этого и придумана функция отправки сообщений в общий чат. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@DEST Спасибо, а что по ошибкам скажите?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
20 часов назад, DEST сказал:

 к new добавьте то, что написано в начале темы. Из-за этого ошибки. 

Я уже говорил. Внимательней пост читайте. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@DEST Приношу извинения, не заметил.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подключил, ошибок нету, но в игре не работает

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@HAPKOMAH Вы ждали целый час после запуска мода и ничего не произошло, так? Или вы просто дождались пей дея? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Только что, DEST сказал:

@HAPKOMAH Вы ждали целый час после запуска мода и ничего не произошло, так? Или вы просто дождались пей дея? 

Ой, я просто дождался 22:00 ( а сам зашел в 21:40 вроде )

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@HAPKOMAH Если хотите чтобы он срабатывал в каждый пейдей, значит из OnGameModeInit строку с таймером снести, а в код срабатывания PayDay добавить: 
 

SetRandomWeather();

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@DEST Сделал, вот часть кода ( P.S. Строка которую ты дал с самого низу )

	SendClientMessage(i, COLOR_WHITE, "---------------{FFFF00}[Áàíêîâñêèé ÷åê]{FFFFFF}---------------");
			if(pInfo[i][pAdmin])
			{
			    new AdminSalary = 1000*(pInfo[i][pAdmin]+1);
				GiveBankMoney(i, AdminSalary, "AdminSalary");
		    	format(string, sizeof(string), "- Çàðïëàòà àäìèíèñòðàòîðà: {FF9900}%d$", AdminSalary);
				SendClientMessage(i, COLOR_WHITE, string);
			}
			format(string, sizeof(string), "- Çàðïëàòà: {FF9900}%d$", (pInfo[i][pPayCheck]>0)?(pInfo[i][pPayCheck]):(50));
			SendClientMessage(i, COLOR_WHITE, string);
			GiveBankMoney(i, (pInfo[i][pPayCheck]>0)?(pInfo[i][pPayCheck]):(50), "PayDay");
			format(string, sizeof(string), "- Òåêóùèé áàëàíñ ñ÷¸òà: {FF9900}%d$", pInfo[i][pBank]);
			SendClientMessage(i, COLOR_WHITE, string);
			SendClientMessage(i, COLOR_WHITE, "-----------------------------------------------------------");
			pInfo[i][pPayCheck] = 0;
			if(pInfo[i][pZakon] < 100)
			SetRandomWeather();
			{

 

12 минут назад, DEST сказал:

@HAPKOMAH Если хотите чтобы он срабатывал в каждый пейдей, значит из OnGameModeInit строку с таймером снести, а в код срабатывания PayDay добавить: 
 


SetRandomWeather();

 

Не работает, сделал сам PayDay + дождался ровно 23:00, не робит

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!


Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.


Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • dante34538
      От dante34538
      Группа ВКонтакте : vk.com/always_mobile
      В группе в описание находятся ссылки на сайт,а так-же на форум
      Добавляй наш IP-Aдрес в избранное: one.always-rp.9ab.ru:1177

      Запуск сервера планируется 28 апреля.

      На сервере имеется один город Los Santos,если онлайн будет повышаться буду открывать LV,SF и фракции добавлять в эти города.

      Будем стараться реализовывать все предложения

      Надеюсь на вашу поддержку, думаю что-то да и получится.

      (В скором времени будет сделан лаунчер и клиент на Android)

      Информация о проекте:
       
      Мод проекта в некоторых местах будет напоминать Samp RolePlay,но это не значит, что делается фулл копия Samp Rp, нет!
       
      На проекте делаются свои системы и они уже есть там, но некоторые функции систем напоминают Samp Rp

      Скриншоты проекта(мода) опубликовываются в группе ВКонтакте, так-же на форуме
       
      После открытия мы начнём делать свои обновления(именно свои!) и будем переписывать системы мода
    • gooding
      От gooding


      Скачать файл ELITE RP | МОД БОНУСНОГО ПРОЕКТА
      Доброго времени суток, уважаемые читатели, я выставил на продажу мод ELITE RP !
      Что же в этом моде уникального?
      - Работы из реальной жизни. (Яндекс Еда  CDEK  Инкассатор)
      - Кланы. (Тиктокеры, Блоггеры, Хамы, Министры, Звери, Сосиски, Сладкие, Ублюдки, Цари и Прокуроры)
      - Радужный, Мигающий клист.
      - Донат-плюшки.
      - Неон на автомобиль, Supreme-наклейка.
      - Брони-транспорт.
      - Кейсы. (SILVER, MEGA, SUPER)
      - ДМ-зона.
      - Эксклюзивные аксессуары.
      - Lamborgini Gold.
      - Новые мафии. (ОПГ)
      - Привилегии для машины. (10.000 HP, телепортация личного транспорта)
      - Система банкоматов.
      - Таксопарки. (VIP-класса и Business)
      - Уникальная система управления личным транспортом. (/cars)
      - Новая система казино.
      - Свой маппинг.
      И многое другое!

      Мод будет дополняться!
      Добавил gooding Добавлено 20.04.2024 Категория Моды Автор gooding  
    • tivan666ban
      От tivan666ban
      Скажите пожалуйста почему этот код(знаю что ещё не допиленный) 
      выдаёт эти ошибки