Перейти к содержанию
Авторизация  
eZscvirt

[ Вопрос ] Нужна ваша небольшая помощь.

Рекомендуемые сообщения

eZscvirt

В общем.

Уже всю голову сломал , не как не могу понять.

Суть в чём:

Вот я написал работу грузчика, и теперь мне нужно как то в эту работу запихнуть мини игру ( ну типо нажмите Y потом N ) после того как пройдет эта мини игра, он берет ящик и уносит его на склад. Не как не могу понять как это реализовать.

Заранее спасибо.

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


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

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

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


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

@Jobby42,Куда еще подробнее то ?

 

 

 

Вот я написал работу грузчика, и теперь мне нужно как то в эту работу запихнуть мини игру ( ну типо нажмите Y потом N ) 

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


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

Ну вот вы написали эту работу, а что за мини-игра то, примеры какие-нибудь рандомные или что?

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


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

@Jobby42,Он имеет ввиду что для того чтоб поднять ящик и отнести его на чекпойнт игрок должен по нажимать на кнопки ) 

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


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

Я так понимаю, игрок подходит на чекпойнт, нажимает Y и он поднимает ящик, несет его на чекпойнт снова нажимает Y и ящик ложится, правильно понял?

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


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

@Jobby42,Нет.

Когда он только собирается поднимать ящик, ему выскакивает TD. И уже там нужно нажимать Y или N. 

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


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

@eZscvirt, на TextDraw'e будет всего две кнопки. Нужно нажать одну из них. Если нажму, например, на Y, снова надо будет осуществлять выбор или груз уже как бы взят? Просто Вы так сказали

 

 

 

после того как пройдет эта мини игра

 

Будто осуществлять выбор нужно неоднократно.

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


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

, Поочередно нужно будет нажимать Y и N и набирается шкала , после персонаж берет ящик и несёт его.

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


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

@eZscvirt, то есть, например, игрок должен последовательно жать Y и N раз 10 (для примера), попутно будет подниматься шкала и только потом ящик берется? 

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


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

,Именно. 

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


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

@eZscvirt, попробуйте. Вроде все нормально тут...

#define GRUZ_AMOUNT_PRESS						5//Сколько раз нужно будет последовательно тыкать на кнопки (до 0 включительно. Т.е. 5,4,3,2,1,0)
#if GRUZ_AMOUNT_PRESS < 0
	#error GRUZ_AMOUNT_PRESS less than zero.//Если число GRUZ_AMOUNT_PRESS < 0, выдаем ошибку при компилировании.
#endif

new	GruzGame[MAX_PLAYERS];//В эту переменную будет записано куда последний раз нажал игрок и сколько нажатий ему осталось выполнить.
	Text:TextDrawGruzGame[количество TD];//TextDraw должен быть глобальный! (TextDrawCreate)
	
public OnGameModeInit()
{
	//Сюда добавьте код TextDraw'a
	return true;
}
public OnPlayerClickTextDraw(playerid, Text:clickedid)
{
	if(clickedid == Text:INVALID_TEXT_DRAW)
		return false;
	else if(clickedid == Text:TextDrawGruzGame[номер TD кнопки Y])//Для нечетных чисел
	{
		if(GruzGame[playerid] % 2 == 0)//Если в данный момент число кратное двум (четное)
			return true;//Пропускаем этот код (игрок не туда нажал)
		GruzGame[playerid]--;//Уменьшаем значение переменной
		if(GruzGame[playerid] == 0)//Проверим значение переменной
		{
			CancelSelectTextDraw(playerid);
			for(new i = sizeof(TextDrawGruzGame)-1; i != -1; --i)
				TextDrawHideForPlayer(playerid, TextDrawGruzGame[i]);
			GruzGame[playerid] = GRUZ_AMOUNT_PRESS;
			//Действия, когда игра закончена и ящик взят
		}	
		return true;
	}
	else if(clickedid == Text:TextDrawGruzGame[номер TD кнопки N])//Для четных чисел
	{
		if(GruzGame[playerid] % 2 != 0)//Если число некратное двум (нечетное)
			return true;//Пропускаем этот код (игрок не туда нажал)
		GruzGame[playerid]--;//Уменьшаем значение переменной
		if(GruzGame[playerid] == 0)//Проверяем значение переменной
		{
			CancelSelectTextDraw(playerid);
			for(new i = sizeof(TextDrawGruzGame)-1; i != -1; --i)
				TextDrawHideForPlayer(playerid, TextDrawGruzGame[i]);
			GruzGame[playerid] = GRUZ_AMOUNT_PRESS;			
			//Действия, когда игра закончена и ящик взят
		}
		return true;
	}
	return false;
}

//Перед тем, как игрок берет ящик, должно стоять это:
for(new i = sizeof(TextDrawGruzGame)-1; i != -1; --i)
	TextDrawShowForPlayer(playerid, TextDrawGruzGame[i]);
SelectTextDraw(playerid, 0xFF0000);//Цвет можете поменять на свой
GruzGame[playerid] = GRUZ_AMOUNT_PRESS;
Изменено пользователем Elrmrnt-Kritik
  • Like 1

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


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.
Авторизация  

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

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

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.