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

Выбор скина при регистрации

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

Vladimir_Kulkov

Для начала создадим переменные new

new SelectedSkin[MAX_PLAYERS];
new Text: SelectSkin[3];

[spoiler=Открой]

Далее в public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])


 

 

[spoiler=Открой]

Далее в public OnPlayerClickTextDraw(playerid, Text: clickedid)

public OnPlayerClickTextDraw(playerid, Text: clickedid)
{
    if(clickedid == SelectSkin[1])//Выбор скина
	{
	    switch(SelectedSkin[playerid])
	    {
		    case 1:
		    {
		        SelectedSkin[playerid] = 2;
		        PlayerInfo[playerid][pSkin] = 79;
		        SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
		    }
			case 2:
		    {
		        SelectedSkin[playerid] = 3;
		        PlayerInfo[playerid][pSkin] = 137;
		        SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
		    }
		    case 3:
		    {
		        SelectedSkin[playerid] = 4;
		        PlayerInfo[playerid][pSkin] = 200;
		        SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
		    }
	        case 4:
		    {
		        SelectedSkin[playerid] = 5;
		        PlayerInfo[playerid][pSkin] = 160;
		        SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
		    }
		    case 5:
		    {
		        SelectedSkin[playerid] = 1;
		        PlayerInfo[playerid][pSkin] = 78;
		        SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
		    }
		    case 6:
		    {
		        SelectedSkin[playerid] = 7;
		        PlayerInfo[playerid][pSkin] = 129;
		        SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
		    }
		    case 7:
		    {
		        SelectedSkin[playerid] = 8;
		        PlayerInfo[playerid][pSkin] = 130;
		        SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
		    }
		    case 8:
		    {
		        SelectedSkin[playerid] = 9;
		        PlayerInfo[playerid][pSkin] = 10;
		        SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
		    }
	        case 9:
		    {
		        SelectedSkin[playerid] = 10;
		        PlayerInfo[playerid][pSkin] = 39;
		        SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
		    }
		    case 10:
		    {
		        SelectedSkin[playerid] = 6;
		        PlayerInfo[playerid][pSkin] = 77;
		        SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
		    }
		}
	}
	else if(clickedid == SelectSkin[0])//Выбор скина
	{
	    switch(SelectedSkin[playerid])
	    {
		    case 1:
		    {
		        SelectedSkin[playerid] = 5;
		        PlayerInfo[playerid][pSkin] = 78;
		        SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
		    }
		    case 5:
		    {
		        SelectedSkin[playerid] = 4;
		        PlayerInfo[playerid][pSkin] = 160;
		        SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
		    }
		    case 4:
		    {
		        SelectedSkin[playerid] = 3;
		        PlayerInfo[playerid][pSkin] = 200;
		        SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
		    }
	        case 3:
		    {
		        SelectedSkin[playerid] = 2;
		        PlayerInfo[playerid][pSkin] = 137;
		        SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
		    }
		    case 2:
		    {
		        SelectedSkin[playerid] = 1;
		        PlayerInfo[playerid][pSkin] = 79;
		        SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
		    }
		    case 6:
		    {
		        SelectedSkin[playerid] = 10;
		        PlayerInfo[playerid][pSkin] = 77;
		        SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
		    }
		    case 10:
		    {
		        SelectedSkin[playerid] = 9;
		        PlayerInfo[playerid][pSkin] = 39;
		        SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
		    }
		    case 9:
		    {
		        SelectedSkin[playerid] = 8;
		        PlayerInfo[playerid][pSkin] = 10;
		        SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
		    }
	        case 8:
		    {
		        SelectedSkin[playerid] = 7;
		        PlayerInfo[playerid][pSkin] = 130;
		        SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
		    }
		    case 7:
		    {
		        SelectedSkin[playerid] = 6;
		        PlayerInfo[playerid][pSkin] = 129;
		        SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
		    }
		}
	}
	else if(clickedid == SelectSkin[2])//Выбор скина
	{
	    for(new i; i != 3; i++) TextDrawHideForPlayer(playerid, SelectSkin[i]);
	    SelectedSkin[playerid] = 0;
		account[playerid] = false;
		MOROZ(1)
		SavePlayer(playerid);
	    CancelSelectTextDraw(playerid);
	    SetPlayerSpawn(playerid);
	}
	return true;
}

 

 

[spoiler=Открой]

Создадим сами TD в конец мода.

stock TextDraws()
{
	// Выбор скина
	SelectSkin[0] = TextDrawCreate(50.0, 200.0, "LD_BEAT:left");
    TextDrawFont(SelectSkin[0], 4);
    TextDrawTextSize(SelectSkin[0], 50, 25);
    TextDrawColor(SelectSkin[0], -16776961);
    TextDrawSetSelectable(SelectSkin[0], 1);

    SelectSkin[1] = TextDrawCreate(530.0, 200.0, "LD_BEAT:right");
    TextDrawFont(SelectSkin[1], 4);
    TextDrawTextSize(SelectSkin[1], 50, 25);
    TextDrawColor(SelectSkin[1], -16776961);
    TextDrawSetSelectable(SelectSkin[1], 1);

	SelectSkin[2] = TextDrawCreate(290.581390, 377.916748, "Select");
	TextDrawLetterSize(SelectSkin[2], 0.491228, 2.224167);
	TextDrawAlignment(SelectSkin[2], 1);
	TextDrawColor(SelectSkin[2], -16776961);
	TextDrawSetShadow(SelectSkin[2], 0);
	TextDrawSetOutline(SelectSkin[2], 0);
	TextDrawBackgroundColor(SelectSkin[2], 51);
	TextDrawFont(SelectSkin[2], 2);
	TextDrawSetProportional(SelectSkin[2], 1);
    TextDrawSetSelectable(SelectSkin[2], 1);
}

 

 

в public OnGameModeInit()

	TextDraws();//Сток с TD

Ко всем #define

#define     SCM     			SendClientMessage//Отправка сообщения в чат
#define     SPD             	ShowPlayerDialog//Показ диалога
#define     DSL             	DIALOG_STYLE_LIST//Тип диалога(Список)
#define     DSM             	DIALOG_STYLE_MSGBOX//Тип диалога(Информация)
#define     DSI             	DIALOG_STYLE_INPUT//Тип диалога(Ввод чего-либо)
#define 	MOROZ(%0) 			TogglePlayerControllable(playerid, %0);

Надеюсь все понимают для чего юзается pSkin и pSex, pSkin - это скин. pSex - это пол

Автор : Vano Glad

p.s. Либо полетел сайт либо хз, что, через некоторое время выложу диалог,

https://imgur.com/a/rE53i

https://imgur.com/a/S6u6w

Вот такая хрень.

//удалите потом то что русским написано case 7:
  {
		    if(response)
		    {
		        if(PlayerInfo[playerid][pSex] == 1)
				{
					SelectdSkin[playerid] = 1;
					PlayerInfo[playerid][pSkin] = 79;
				}
		        else
				{
					SelectdSkin[playerid] = 6;
					PlayerInfo[playerid][pSkin] = 77;
				}
		        Login[playerid] = 1;
		        SpawnPlayer(playerid);
		        SetPlayerPos(playerid, 222.3489,-8.5845,1002.2109);
		        SetPlayerFacingAngle(playerid, 266.7302);
		        SetPlayerCameraPos(playerid, 222.3489 + 3,-8.5845,1002.2109);
		        SetPlayerCameraLookAt(playerid, 222.3489,-8.5845,1002.2109);
				MOROZ(0)
				SetPlayerVirtualWorld(playerid, playerid);
				SetPlayerInterior(playerid, 5);
				SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
				for(new i; i != 3; i++) TextDrawShowForPlayer(playerid, SelectSkin[i]);
				SelectTextDraw(playerid, 0xFF0000AA);
		    }
		    else
			{
                SPD(playerid, 2, DSI, "{FFFF00}Skype", "{FFFFFF}Введите свой Skype\nSkype потребуется для восстановления данных", "Далее", "Выход");
			} 
		}
Изменено пользователем Vladimir_Kulkov

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


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

Login[playerid] это проверка авторизован ли игрок или нет.

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


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

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

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

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

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

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

Войти

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

Войти
Авторизация  

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

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

×

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

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