Доступ к готовым решениям

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Мануал Система смены логотипа на выбор [2 Примера]

Статус
В этой теме нельзя размещать новые ответы.

-WorcOut-

«I'am WorcOut» ♫
Доброго дня уважаймые пользователи сегодня решил выложить работу которую делал для своего сервера , суть этого манула каждый игрок может сменить себе логотип на выбор из 4 предоставленные.​
Минусы - сделал на 2 примера
Примеры всё в коде
Автор: -WorcOut-

И так начнём к переменным мы добавим
PHP:
new PlayerText:    ilogo_smenka[MAX_PLAYERS]                [MAX_SNEMKA_TD];// тд

new PlayerText:LOGO[MAX_PLAYERS][1];// логотип
к дефайном добавим
PHP:
#define MAX_SNEMKA_TD     24// количество текстдравов
Далее мы создаём 2 команды для того чтоб открыть панель , а другой для закрытья его
PHP:
CMD:logo(playerid)
{
	for ( new i = 0 ; i < 24 ; i++ )
	{
		PlayerTextDrawShow (
						 playerid , ilogo_smenka [ playerid ] [ i ] )
 		;// Показываем TextDraw Игроку.
 		SelectTextDraw(playerid, 0x00000033);
 		TogglePlayerControllable(playerid, 1);
	}
	SendClientMessage(playerid,COLOR_GREY,"[FactorUnity] Чтоб закрыть меню воспользуйтесь командрй (/offlogo)"); // выводим сообщение о том как закрыть меню
	return 1;
}
CMD:offlogo(playerid)
{
	for ( new i = 0 ; i < 24 ; i++ )
	{
		PlayerTextDrawHide (
						 playerid , ilogo_smenka [ playerid ] [ i ] )
 		;// Скрываем TextDraw Игроку.
 		CancelSelectTextDraw(playerid);
	}
	return 1;
}
Далее в public OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid) мы добавим сами действий
PHP:
if(playertextid == ilogo_smenka[playerid][8])
	{
        ShowPlayerDialog(playerid, 21, DIALOG_STYLE_MSGBOX,"Лого №1","Вы действительно хотите выбрать этот логотип ?","Да", "Нет");
        return 1;
	}
	if(playertextid == ilogo_smenka[playerid][9])
	{
        ShowPlayerDialog(playerid, 20, DIALOG_STYLE_MSGBOX,"Лого №2","Вы действительно хотите выбрать этот логотип ?","Да", "Нет");
        return 1;
	}
	if(playertextid == ilogo_smenka[playerid][10])
	{
        ShowPlayerDialog(playerid, 22, DIALOG_STYLE_MSGBOX,"Лого №3","Вы действительно хотите выбрать этот логотип ?","Да", "Нет");
        return 1;
	}
	if(playertextid == ilogo_smenka[playerid][11])
	{
        ShowPlayerDialog(playerid, 23, DIALOG_STYLE_MSGBOX,"Лого №4","Вы действительно хотите выбрать этот логотип ?","Да", "Нет");
        return 1;
	}
После этого в public OnPlayerConnect(playerid) мы добавим сами тд
PHP:
LOGO[playerid][0] = CreatePlayerTextDraw(playerid, 572.705810, 5.249982, "REACTIVE ROLEPLAY");
	PlayerTextDrawLetterSize(playerid, LOGO[playerid][0], 0.317294, 1.512500);
	PlayerTextDrawAlignment(playerid, LOGO[playerid][0], 2);
	PlayerTextDrawColor(playerid, LOGO[playerid][0], -1);
	PlayerTextDrawSetShadow(playerid, LOGO[playerid][0], 0);
	PlayerTextDrawSetOutline(playerid, LOGO[playerid][0], 0);
	PlayerTextDrawBackgroundColor(playerid, LOGO[playerid][0], 51);
	PlayerTextDrawFont(playerid, LOGO[playerid][0], 1);
	PlayerTextDrawSetProportional(playerid, LOGO[playerid][0], 1);
	//--======================================================================--
    ilogo_smenka[playerid][0] = CreatePlayerTextDraw(playerid, 472.588043, 189.916687, "usebox");
	PlayerTextDrawLetterSize(playerid, ilogo_smenka[playerid][0], 0.000000, 11.285183);
	PlayerTextDrawTextSize(playerid, ilogo_smenka[playerid][0], 165.529327, 0.000000);
	PlayerTextDrawAlignment(playerid, ilogo_smenka[playerid][0], 1);
	PlayerTextDrawColor(playerid, ilogo_smenka[playerid][0], 0);
	PlayerTextDrawUseBox(playerid, ilogo_smenka[playerid][0], true);
	PlayerTextDrawBoxColor(playerid, ilogo_smenka[playerid][0], 303174399);
	PlayerTextDrawSetShadow(playerid, ilogo_smenka[playerid][0], 0);
	PlayerTextDrawSetOutline(playerid, ilogo_smenka[playerid][0], 0);
	PlayerTextDrawFont(playerid, ilogo_smenka[playerid][0], 0);

	ilogo_smenka[playerid][1] = CreatePlayerTextDraw(playerid, 472.588226, 175.333312, "usebox");
	PlayerTextDrawLetterSize(playerid, ilogo_smenka[playerid][1], 0.000000, 1.174076);
	PlayerTextDrawTextSize(playerid, ilogo_smenka[playerid][1], 165.529418, 0.000000);
	PlayerTextDrawAlignment(playerid, ilogo_smenka[playerid][1], 1);
	PlayerTextDrawColor(playerid, ilogo_smenka[playerid][1], 0);
	PlayerTextDrawUseBox(playerid, ilogo_smenka[playerid][1], true);
	PlayerTextDrawBoxColor(playerid, ilogo_smenka[playerid][1], 340969727);
	PlayerTextDrawSetShadow(playerid, ilogo_smenka[playerid][1], 0);
	PlayerTextDrawSetOutline(playerid, ilogo_smenka[playerid][1], 0);
	PlayerTextDrawFont(playerid, ilogo_smenka[playerid][1], 0);

	ilogo_smenka[playerid][2] = CreatePlayerTextDraw(playerid, 472.588226, 182.916671, "usebox");
	PlayerTextDrawLetterSize(playerid, ilogo_smenka[playerid][2], 0.000000, 0.331482);
	PlayerTextDrawTextSize(playerid, ilogo_smenka[playerid][2], 165.529434, 0.000000);
	PlayerTextDrawAlignment(playerid, ilogo_smenka[playerid][2], 1);
	PlayerTextDrawColor(playerid, ilogo_smenka[playerid][2], 0);
	PlayerTextDrawUseBox(playerid, ilogo_smenka[playerid][2], true);
	PlayerTextDrawBoxColor(playerid, ilogo_smenka[playerid][2], 102);
	PlayerTextDrawSetShadow(playerid, ilogo_smenka[playerid][2], 0);
	PlayerTextDrawSetOutline(playerid, ilogo_smenka[playerid][2], 0);
	PlayerTextDrawFont(playerid, ilogo_smenka[playerid][2], 0);

	ilogo_smenka[playerid][3] = CreatePlayerTextDraw(playerid, 266.823394, 173.250000, "CMENA ILOGOTIPA");
	PlayerTextDrawLetterSize(playerid, ilogo_smenka[playerid][3], 0.290470, 1.366666);
	PlayerTextDrawAlignment(playerid, ilogo_smenka[playerid][3], 1);
	PlayerTextDrawColor(playerid, ilogo_smenka[playerid][3], -1);
	PlayerTextDrawSetShadow(playerid, ilogo_smenka[playerid][3], 0);
	PlayerTextDrawSetOutline(playerid, ilogo_smenka[playerid][3], 0);
	PlayerTextDrawBackgroundColor(playerid, ilogo_smenka[playerid][3], 51);
	PlayerTextDrawFont(playerid, ilogo_smenka[playerid][3], 2);
	PlayerTextDrawSetProportional(playerid, ilogo_smenka[playerid][3], 1);

	ilogo_smenka[playerid][4] = CreatePlayerTextDraw(playerid, 169.411773, 191.333343, "LD_SPAC:white");
	ilogo_smenka[playerid][5] = CreatePlayerTextDraw(playerid, 323.352935, 191.166625, "LD_SPAC:white");
	ilogo_smenka[playerid][6] = CreatePlayerTextDraw(playerid, 169.058761, 242.333328, "LD_SPAC:white");
	ilogo_smenka[playerid][7] = CreatePlayerTextDraw(playerid, 323.470611, 242.166641, "LD_SPAC:white");
	for(new i = 4; i < 8; i++)
	{
		PlayerTextDrawLetterSize(playerid, ilogo_smenka[playerid][i], 0.000000, 0.000000);
		PlayerTextDrawTextSize(playerid, ilogo_smenka[playerid][i], 145.411804, 49.583309);
		PlayerTextDrawAlignment(playerid, ilogo_smenka[playerid][i], 1);
		PlayerTextDrawColor(playerid, ilogo_smenka[playerid][i], 340969727);
		PlayerTextDrawSetShadow(playerid, ilogo_smenka[playerid][i], 0);
		PlayerTextDrawSetOutline(playerid, ilogo_smenka[playerid][i], 0);
		PlayerTextDrawFont(playerid, ilogo_smenka[playerid][i], 4);
	}
	ilogo_smenka[playerid][8] = CreatePlayerTextDraw(playerid, 170.411773, 192.916671, "LD_SPAC:white");
	ilogo_smenka[playerid][9] = CreatePlayerTextDraw(playerid, 170.470611, 244.083358, "LD_SPAC:white");
	ilogo_smenka[playerid][10] = CreatePlayerTextDraw(playerid, 324.882446, 192.583358, "LD_SPAC:white");
	ilogo_smenka[playerid][11] = CreatePlayerTextDraw(playerid, 324.941253, 244.333312, "LD_SPAC:white");
	for(new i = 8; i < 12; i++)
	{
 		PlayerTextDrawLetterSize(playerid, ilogo_smenka[playerid][i], 0.000000, 0.000000);
		PlayerTextDrawTextSize(playerid, ilogo_smenka[playerid][i], 142.588287, 46.083312);
		PlayerTextDrawAlignment(playerid, ilogo_smenka[playerid][i], 1);
		PlayerTextDrawColor(playerid, ilogo_smenka[playerid][i], 303174399);
		PlayerTextDrawUseBox(playerid, ilogo_smenka[playerid][i], true);
		PlayerTextDrawBoxColor(playerid, ilogo_smenka[playerid][i], 255);
		PlayerTextDrawSetShadow(playerid, ilogo_smenka[playerid][i], 0);
		PlayerTextDrawSetOutline(playerid, ilogo_smenka[playerid][i], 0);
		PlayerTextDrawFont(playerid, ilogo_smenka[playerid][i], 4);
		PlayerTextDrawSetSelectable(playerid, ilogo_smenka[playerid][i], true);
	}
	ilogo_smenka[playerid][12] = CreatePlayerTextDraw(playerid, 209.470504, 192.916717, "LD_SPAC:white");
	ilogo_smenka[playerid][13] = CreatePlayerTextDraw(playerid, 209.058685, 243.500091, "LD_SPAC:white");
	ilogo_smenka[playerid][14] = CreatePlayerTextDraw(playerid, 365.823425, 192.000076, "LD_SPAC:white");
	ilogo_smenka[playerid][15] = CreatePlayerTextDraw(playerid, 366.352844, 244.333419, "LD_SPAC:white");
	for(new i = 12; i < 16; i++)
	{
		PlayerTextDrawLetterSize(playerid, ilogo_smenka[playerid][i], 0.000000, 0.000000);
		PlayerTextDrawTextSize(playerid, ilogo_smenka[playerid][i], 63.529403, 11.666643);
		PlayerTextDrawAlignment(playerid, ilogo_smenka[playerid][i], 1);
		PlayerTextDrawColor(playerid, ilogo_smenka[playerid][i], 340969727);
		PlayerTextDrawSetShadow(playerid, ilogo_smenka[playerid][i], 0);
		PlayerTextDrawSetOutline(playerid, ilogo_smenka[playerid][i], 0);
		PlayerTextDrawFont(playerid, ilogo_smenka[playerid][i], 4);
	}
	ilogo_smenka[playerid][16] = CreatePlayerTextDraw(playerid, 222.117675, 192.499954, "LOGO n1");
	ilogo_smenka[playerid][17] = CreatePlayerTextDraw(playerid, 220.294128, 243.666580, "logo n2");
	ilogo_smenka[playerid][18] = CreatePlayerTextDraw(playerid, 377.529388, 192.166534, "logo n3");
	ilogo_smenka[playerid][19] = CreatePlayerTextDraw(playerid, 378.529479, 243.916519, "logo n4");
	for(new i = 16; i < 20; i++)
	{
		PlayerTextDrawLetterSize(playerid, ilogo_smenka[playerid][i], 0.249058, 1.080833);
		PlayerTextDrawAlignment(playerid, ilogo_smenka[playerid][i], 1);
		PlayerTextDrawColor(playerid, ilogo_smenka[playerid][i], -1);
		PlayerTextDrawSetShadow(playerid, ilogo_smenka[playerid][i], 0);
		PlayerTextDrawSetOutline(playerid, ilogo_smenka[playerid][i], 0);
		PlayerTextDrawBackgroundColor(playerid, ilogo_smenka[playerid][i], 51);
		PlayerTextDrawFont(playerid, ilogo_smenka[playerid][i], 2);
		PlayerTextDrawSetProportional(playerid, ilogo_smenka[playerid][i], 1);
	}
	ilogo_smenka[playerid][20] = CreatePlayerTextDraw(playerid, 188.705993, 214.083343, "REACTIVE ROLEPLAY");
	PlayerTextDrawLetterSize(playerid, ilogo_smenka[playerid][20], 0.375647, 1.494999);
	PlayerTextDrawFont(playerid, ilogo_smenka[playerid][20], 1);

	ilogo_smenka[playerid][21] = CreatePlayerTextDraw(playerid, 185.000106, 267.000061, "REACTIVE ROLEPLAY");
	PlayerTextDrawLetterSize(playerid, ilogo_smenka[playerid][21], 0.301294, 1.477499);
	PlayerTextDrawFont(playerid, ilogo_smenka[playerid][21], 2);

	ilogo_smenka[playerid][22] = CreatePlayerTextDraw(playerid, 355.411804, 214.916702, "REACTIVE ROLEPLAY");
	PlayerTextDrawLetterSize(playerid, ilogo_smenka[playerid][22], 0.301294, 1.477499);
	PlayerTextDrawFont(playerid, ilogo_smenka[playerid][22], 3);

	ilogo_smenka[playerid][23] = CreatePlayerTextDraw(playerid, 351.058685, 266.000061, "Reactive RolaPlay");
	PlayerTextDrawLetterSize(playerid, ilogo_smenka[playerid][23], 0.449999, 1.600000);
	PlayerTextDrawFont(playerid, ilogo_smenka[playerid][23], 0);
	for(new i = 20; i < 24; i++)
	{
		PlayerTextDrawAlignment(playerid, ilogo_smenka[playerid][i], 1);
		PlayerTextDrawColor(playerid, ilogo_smenka[playerid][i], -1);
		PlayerTextDrawUseBox(playerid, ilogo_smenka[playerid][i], true);
		PlayerTextDrawBoxColor(playerid, ilogo_smenka[playerid][i], 0);
		PlayerTextDrawSetShadow(playerid, ilogo_smenka[playerid][i], 0);
		PlayerTextDrawSetOutline(playerid, ilogo_smenka[playerid][i], 1);
		PlayerTextDrawBackgroundColor(playerid, ilogo_smenka[playerid][i], 51);
		PlayerTextDrawSetProportional(playerid, ilogo_smenka[playerid][i], 1);
	}
Код я преобразовал думаю читабельность будет в порядке
В public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) мы добавим
PHP:
case 21:
		{
			if(response)
			{
	            for ( new i = 0 ; i < 1 ; i++ )
				{
					PlayerTextDrawShow (
									 playerid , LOGO [ playerid ] [ i ] )
			 		;// Показываем TextDraw Игроку.
  				}
			}
			else
			{
                for ( new i = 0 ; i < 1 ; i++ )
				{
					PlayerTextDrawHide (
									 playerid , LOGO [ playerid ] [ 0 ] )
			 		;// Скрываем TextDraw Игроку.

				}
			}
		}
		case 20:
		{
		    if(response)
			{
				PlayerTextDrawFont(playerid, LOGO[playerid][0], 2);
	            for ( new i = 0 ; i < 1 ; i++ )
				{
					PlayerTextDrawShow (
									 playerid , LOGO [ playerid ] [ i ] )
			 		;// Показываем TextDraw Игроку.
  				}
			}
			else
			{
                for ( new i = 0 ; i < 1 ; i++ )
				{
					PlayerTextDrawHide (
									 playerid , LOGO [ playerid ] [ 0 ] )
			 		;// Скрываем TextDraw Игроку.

				}
			}
		}

В итоге у нас получается так

 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу