Форум Pawn.Wiki - Воплоти мечту в реальность!: Погода с предсказанием для репортёров - Форум Pawn.Wiki - Воплоти мечту в реальность!

Перейти к содержимому

Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

[ Scr ][ GF ]
Погода с предсказанием для репортёров
Оценка: -----

#1
Пользователь офлайн   Макс 

  • Местный
  • Вставить ник
  • Раскрыть информацию
Описание:
Погодные условия на нашем сервер такие же как и в реальной жизни: периоды ясной и солнечной погоды сменяются периодами пасмурной погоды и даже дождями. Каждые 12 часов сервер генерирует 144 10-минутных погодных цикла. Каждые 10 минут на сервере устанавливается новая погода. Чаще встречается солнечная погода, реже туман и не чаще раза в 2 часа - дожди.
Предсказание погоды - Эта функция доступна только репортерам, которые используя свои возможности могут проводить прогнозы погоды на радио. Для получения информации о погоде, репортеры используют метеостанцию.
Установка:
В начало мода где все DEFINE:
#define METEODIALOG 6543

Ко всем new's добавляем:
new weathtimer;//TIMER PAGODA
new currentweather = 13;//PAGODA SEICHAS
new futureweather = 13;//PAGODA POTOM
new weathercycle = 1;//CYCLE PAGODA
new weathercycle2 = 1;//CYCLE PAGODA
new stormweather = 1;//PAGODKA DOJD
new cloudweather = 3;//PAGODKA TYMAN
new hourscloud = 0;//CHASI TYMAN
new hoursstorm = 0;//CHASI STORM

Ко всем forward'ам
forward Weatherrand();

В public OnGameModeInit()
Weatherrand();
weathtimer = SetTimer("Weatherrand",1000*60*10,true);

В public GameModeExitFunc()
KillTimer(weathtimer);

В конец public PayDay()
	hourscloud --;
	hoursstorm --;
	if(hourscloud == 0)
	{
	    weathercycle2 = 1;
	    cloudweather = 3;
	}
	if(hoursstorm == 0)
	{
	    weathercycle = 1;
		stormweather = 1;
	}

В самый конец мода:
public Weatherrand()
{
	currentweather = futureweather;
	SetWeather(currentweather);
	new weathka = random(6);
	switch(weathka)
	{
	    case 0: futureweather = 13;
		case 1:
		{
			if(weathercycle == 1)
			{
			    if(stormweather == 0)
			    {
			        weathercycle = 0;
			        hoursstorm = 2;
			        Weatherrand();
				}
				else
				{
				    stormweather--;
					futureweather = 8;
				}
			}
			else Weatherrand();
		}
		case 2: futureweather = 13;
		case 3:
		{
		    if(weathercycle2 == 1)
		    {
		        if(cloudweather == 0)
		        {
		            weathercycle2 = 0;
					hourscloud = 2;
		            Weatherrand();
				}
				else
				{
				    cloudweather--;
				    futureweather = 9;
				}
			}
			else Weatherrand();
		}
		case 4: futureweather = 7;
		case 5: futureweather = 13;
	}
	return 1;
}

Ко всем командам (в public OnPlayerCommandText):
	if(strcmp(cmd, "/meteostat", true) == 0)
	{
		if(PlayerInfo[playerid][pMember] != 9) return SendClientMessage(playerid,-1,"PremiumGam: Вы не репортёр!");
	    if(!IsPlayerInRangeOfPoint(playerid,5.0,1458.6010,-778.0778,93.1008)) return SendClientMessage(playerid,-1,"Вы не у метеостанции!");
		new strokes[256];
		new weatherka[20],weatherka2[20];
		switch(currentweather)
		{
		    case 8: format(weatherka,sizeof(weatherka),"Дождливая");
			case 7: format(weatherka,sizeof(weatherka),"Пасмурная");
			case 13: format(weatherka,sizeof(weatherka),"Солнечная");
			case 9: format(weatherka,sizeof(weatherka),"Туманы");
		}
		switch(futureweather)
		{
		    case 8: format(weatherka2,sizeof(weatherka2),"Дождливая");
			case 7: format(weatherka2,sizeof(weatherka2),"Пасмурная");
			case 13: format(weatherka2,sizeof(weatherka2),"Солнечная");
			case 9: format(weatherka2,sizeof(weatherka2),"Туманы");
		}
		format(strokes,sizeof(strokes),">>  <<\n\nТекущаяя погода: %s\nПогода в следующие 10 минут: %s",weatherka,weatherka2);
	    ShowPlayerDialog(playerid,METEODIALOG,DIALOG_STYLE_MSGBOX,"Погода PremiumGame",strokes,"ОК","");
	    return 1;
	}


Автор: Неизвестно
2

Поделиться темой:


Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей


Яндекс.Метрика