Sign in to follow this  
Followers 0
Guest stibs

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

11 posts in this topic

Как понятно из названия, данная система позволит вам устанавливать рандомную погоду каждые 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

Share this post


Link to post
Share on other sites

А как сделать, что бы каждый 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?

Edited by HAPKOMAH

Share this post


Link to post
Share on other sites

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

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

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

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

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

 

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

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
20 часов назад, DEST сказал:

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
Только что, DEST сказал:

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

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

Share this post


Link to post
Share on other sites

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

SetRandomWeather();

 

Share this post


Link to post
Share on other sites

@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, не робит

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • Novaro.Vaiper
      By Novaro.Vaiper
      Приветствую.

      Условия:

      - Если вы надежный человек
      - Можете выходить на связь [Говорить, скайп дискорд.]
      - Если вы продуктивный и пунктуальный

      Обязанности:
      - Просто написать мод с нуля. [Естественно для начала просто под основу. На Основе самый новых и полезных плагинов которые могут быть]
      - Мы должны с вами сообщиться, понравится друг другу в делом подходе к нашему делу. То есть мы должны вызывать самое главное, доверие друг у друга.

      К слову.


      Безусловно большим плюсом в нашей с вами кампании будет ваше портфолио проделанной работы.
      Мы можем найди вам помощника. Одна голова хорошо, а две еще лучше!
      Естественно оплата будет оплачена после работы. Примечание, выплата может быть осуществлена два раза в месяц. Горы не обещаю конечно, для начала поработаем. На первое время помогу материально в случае прогресса развития мода.
      На момент работы будут оплачен хостинг самого сервера, для того, что бы мы могли еще с вами тестировать наш с вами сервер.
      Что входит под сленгам "Под основу" Я хочу видеть:
      Регистрацию: Тз есть
      Фракции: Тз будет ! 

      Работа есть!
      Пишите по делу! https://vk.com/sailencer
    • KAIF
      By KAIF


      Просмотр файла [0.3.7]GTA RolePlay-
      Здравствуйте, хотел бы продать переделанный игровой мод всем знакомого проекта GTA RolePlay
      Фракции:
      1)Правительство
      2)ГИБДД
      3)Полиция Южного
      4)ФСБ
      5)ЦГБ-А
      6)Автошкола
      7)ВВС
      8)СМИ
      9)ОМОН
      10)опг.Тукаевские
      11)опг.Тяп-Ляп
      12)Чеченская Мафия
      13)Американская Мафия
      14)Якудза
      15)Русская Мафия
      16)Итальянская Мафия
      Добавлено/исправлено:
      1)Добавлен ВЕСЬ ОПТИМИЗИРОВАННЫЙ маппинг GTA ROLEPLAY.(2018-2019г)
      2)Добавлены организации мафий.
      3)Перенесены все чекпоинты как на GTA ROLEPLAY.
      4)Добавил в донат покупку военного билета.
      5)Изменил название рангов во фракциях как на GTA ROLEPLAY/
      6)Изменен логотип GTA ROLEPLAY
      7)Переделан весь GPS, изменены все координаты.
      В моде - 6 уровней администрации.(если хотите можете увелить кол-во админок)
      Имеется фуллдоступ, выдаётся в pawno.
      Так же в комплекте будет идти мод-пак к серверу.
      После покупки вы получите архив с модом, а в самом архиве будет текстовый файл с ссылкой на скачивание модпака.
      Добавил KAIF Добавлено 27.12.2020 Категория Моды Автор Kytip  
    • danya1102
      By danya1102
      я хочу запустить локальный сервер, но с ним что-то
      вот лог
       
      server_log.txt