Доступ к архиву

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

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

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

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

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

Zheka_Cheshev

Компетентный
Всем привет, вот решил выложить нормальную систему выбора скина при регистрации, делал для своего мода, решил выложить т.к забросил свой проэкт.
и так начнём!
шаг 1.
ко всем new:
PHP:
new ChosenSkin[MAX_PLAYERS];
new TutTime[MAX_PLAYERS];
new gOoc[MAX_PLAYERS];
new gFam[MAX_PLAYERS];
new gLogin[MAX_PLAYERS];
new Float:gInviteSpawns[0][4] = {
{222.3489,-8.5845,1002.2109,266.7302}
};
new Menu:Bomj;
new BomjPed[9][0] = {
{26},
{25},
{35},
{36},
{50},
{96},
{143},
{262},
{2}
};

new BomjPedMale[5][0] = {
{12},
{55},
{69},
{90},
{93}
};
BomjPed - скины мужчин бомжей in's можете заменить на свои
если добовляете то в new BomjPed[9][0],[9] прибавить столько сколько добавили скинов
например:
PHP:
new BomjPed[10][0] = {
{26},
{25},
{35},
{36},
{50},
{96},
{143},
{262},
{2},
{77}
};
BomjPedMale - женские скины in's можете заменить на свои
шаг 2.
в PlayerInfo :
PHP:
 pRega
в public OnPlayerRegister и в OnPlayerSave(ваш паблик сохранения) :
PHP:
ini_setInteger(iniFile, "Rega", PlayerInfo[playerid][pRega]);
в public OnPlayerRegister :
PHP:
PlayerInfo[playerid][pRega] = 0;
в public OnPlayerLogin :
PHP:
ini_getInteger(iniFile, "Rega", PlayerInfo[playerid][pRega]);
шаг 3.
в OnPlayerSpawn или SetPlayerSpawn(у кого как) :
PHP:
if(PlayerInfo[playerid][pRega] == 0)
    {
	SetPlayerInterior(playerid,0);
	SetPlayerHealthAC(playerid, 100);
	SetPlayerPos(playerid,222.3489,-8.5845,1002.2109);
	SetPlayerFacingAngle(playerid, 266.7302);
	PlayerInfo[playerid][pHealth] =100;
	SetPlayerCameraPos(playerid,-932.2150,573.0827,44.0786);
	SetPlayerCameraLookAt(playerid,-1856.5886,875.8010,198.8736);
	ShowPlayerDialog(playerid,15,DIALOG_STYLE_MSGBOX," Ваш пол  ","Какого пола будет Ваш персонаж:\n","Мужчина","Женщина");
    TogglePlayerControllable(playerid, 0);
    return 1;
    }
в public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) :
PHP:
if(dialogid == 15)//------------------------------------ [ Мужчина ] -------------------------------------------------//
{
        if(response)
        {
 			new rand = random(sizeof(gInviteSpawns));
			SetPlayerPos(playerid, gInviteSpawns[rand][0], gInviteSpawns[rand][1], gInviteSpawns[rand][2]);
			SetPlayerFacingAngle(playerid, gInviteSpawns[rand][3]);
			SetPlayerCameraPos(playerid,gInviteSpawns[rand][0] + 3, gInviteSpawns[rand][1], gInviteSpawns[rand][2]);
			SetPlayerCameraLookAt(playerid,gInviteSpawns[rand][0], gInviteSpawns[rand][1], gInviteSpawns[rand][2]);
		    PlayerInfo[playerid][pSex] = 0;//Парень
		 	PlayerInfo[playerid][pMember] = 0;
		 	PlayerInfo[playerid][pLeader] = 0;
		 	PlayerInfo[playerid][pRank] = 0;
   			SetPlayerInterior(playerid,5);
			ShowMenuForPlayer(Bomj,playerid);
			ChosenSkin[playerid] = 230;
			TutTime[playerid] = 0;
			gOoc[playerid] = 0; gFam[playerid] = 0; gLogin[playerid] = 0;
			TogglePlayerControllable(playerid, 0);
			SendClientMessage(playerid, COLOR_WHITE, "Используйте клавишу 'Быстрый бег'");
			SendClientMessage(playerid, COLOR_WHITE, "Используйте клавишу 'Вверх,вниз'");
			SetPlayerSkin(playerid,PlayerInfo[playerid][pSkin]);
			SelectChar[playerid] = 255;
			SelectCharPlace[playerid] = 1;
			PlayerInfo[playerid][pSkin] = ChosenSkin[playerid];
			new skin =2 + random(100);
			SetPlayerVirtualWorld(playerid,skin);
			OnPlayerSave(playerid);//заменяем на паблик сохранения
			return 1;
        }
        else//------------------------------------ [ Девушка] -------------------------------------------------
        {
  		    new rand = random(sizeof(gInviteSpawns));
			SetPlayerPos(playerid, gInviteSpawns[rand][0], gInviteSpawns[rand][1], gInviteSpawns[rand][2]); // Warp the player
			SetPlayerFacingAngle(playerid, gInviteSpawns[rand][3]);
			SetPlayerCameraPos(playerid,gInviteSpawns[rand][0] + 3, gInviteSpawns[rand][1], gInviteSpawns[rand][2]);
			SetPlayerCameraLookAt(playerid,gInviteSpawns[rand][0], gInviteSpawns[rand][1], gInviteSpawns[rand][2]);
		    PlayerInfo[playerid][pSex] = 1;
		 	PlayerInfo[playerid][pMember] = 0;
		 	PlayerInfo[playerid][pLeader] = 0;
		 	PlayerInfo[playerid][pRank] = 0;
		 	ChosenSkin[playerid] = 90;
   			SetPlayerInterior(playerid,5);
			ShowMenuForPlayer(Bomj,playerid);
			TutTime[playerid] = 0;
			gOoc[playerid] = 0; gFam[playerid] = 0; gLogin[playerid] = 0;
			TogglePlayerControllable(playerid, 0);
			SendClientMessage(playerid, COLOR_WHITE, "Используйте клавишу 'Быстрый бег'");
			SendClientMessage(playerid, COLOR_WHITE, "Используйте клавишу 'Вверх,вниз'");
			SetPlayerSkin(playerid,PlayerInfo[playerid][pSkin]);
			SelectChar[playerid] = 255;
			SelectCharPlace[playerid] = 1;
			PlayerInfo[playerid][pSkin] = ChosenSkin[playerid];
			new skin =2 + random(100);
			SetPlayerVirtualWorld(playerid,skin);
			OnPlayerSave(playerid);//заменяем на паблик сохранения
			return 1;
        }
      }
шаг 4.
в public OnPlayerSelectedMenuRow(playerid, row) :
PHP:
if(Current == Bomj)
 {
          switch(row)
        {
                case 0:// при нажатии на Next
                 {
                     if(PlayerInfo[playerid][pSex] == 0)//Если игрока мужик то..
                    {
                        ChangeSkin[playerid]++;//Увелчиваем переменную..
                        if(ChangeSkin[playerid] >= 9)//Если переменная равна ил более 6 то..
                        {
                            ChangeSkin[playerid] = 0;//Обнуляем её.. т.е. переходим к скину 0
                        }
                        SetPlayerSkin(playerid,BomjPed[ChangeSkin[playerid]][0]);//Меняем игроку скин на тот каторый он выбрал
                    }
                    if(PlayerInfo[playerid][pSex] == 1)//Если игрока мужчина то
                    {
                        ChangeSkin[playerid]++;//увеличиваем переменную
                        if(ChangeSkin[playerid] >= 5)//Если переменная равна или больше 5 то
                        {
                            ChangeSkin[playerid] = 0;//Обнуляем её т.е. переходим к скину 0
                        }
                        SetPlayerSkin(playerid,BomjPedMale[ChangeSkin[playerid]][0]);//Меняем её скин на выбраный
                    }
                    ShowMenuForPlayer(Bomj, playerid);//показываем игроку меню
                }
                case 1://Если нажал на кнопку Назад
                {
                    if(PlayerInfo[playerid][pSex] == 0)//Если игрока мужчина то:
                    {
                        ChangeSkin[playerid]--;//Увелчиваем переменную
                        if(ChangeSkin[playerid] <= 0)//Если переменная равна ил больше 6 то:
                        {
                            ChangeSkin[playerid] = 9;//Обнуляем её.. т.е. переходим к скину 0
                            ShowMenuForPlayer(Bomj, playerid);//Показываем меню игроку
					    }
                        SetPlayerSkin(playerid,BomjPed[ChangeSkin[playerid]][0]);//Меняем игроку скин на тот каторый он выбрал
                    }
                    if(PlayerInfo[playerid][pSex] == 1)//Если игрока мужик то..
                    {
                        ChangeSkin[playerid]--;//велчиваем переменную
                        if(ChangeSkin[playerid] <= 0)//Если переменная равна или более 5 то
                        {
                            ChangeSkin[playerid] = 5;//Обнуляем её т.е. переходим к скину 0
                            ShowMenuForPlayer(Bomj, playerid);//Показываем меню игроку
						}
                        SetPlayerSkin(playerid,BomjPedMale[ChangeSkin[playerid]][0]);//Меняем её скин на выбранный
                    }
                    ShowMenuForPlayer(Bomj, playerid);//Показываем меню игроку
                }
                case 2://Если игрока нажал на кнопку << Back
                 {
                    if(PlayerInfo[playerid][pSex] == 0)//Если он мужчина то:
                    {
                            PlayerInfo[playerid][pSkin] = GetPlayerSkin(playerid);//Узнаём его скин и записываем в акаунт
                            SetPlayerSkin(playerid,PlayerInfo[playerid][pSkin]);//Меняем ему скин на тот каторый он выбрал
                            TogglePlayerControllable(playerid, 1);//Размораживаем его
                            SetCameraBehindPlayer(playerid);//Ставим нормально камеру
                            SetPlayerPos(playerid,221.7944,-8.4229,1002.2109);//Меняем позицию
                            SetPlayerFacingAngle(playerid,273.5792);//Меняем поворот головы
                            SetPlayerInterior(playerid,5);//Даём 5 интерьер
                            OnPlayerSave(playerid);//заменяем на паблик сохранения
                            PlayerInfo[playerid][pRega] = 1;
                    }
                    if(PlayerInfo[playerid][pSex] == 1)//Если игрока девушка то :
                    {
                            PlayerInfo[playerid][pSkin] = GetPlayerSkin(playerid);//Узнаём её скин и записваем в акаунт
                            SetPlayerSkin(playerid,PlayerInfo[playerid][pSkin]);//Меняем ей скин каторый она выбрала
                            TogglePlayerControllable(playerid, 1);//Размораживаем
                            SetCameraBehindPlayer(playerid);//Ставим камеру нормально
                            SetPlayerPos(playerid,221.7944,-8.4229,1002.2109);//Меняем позицию
                            SetPlayerFacingAngle(playerid,273.5792);//Меняем поворт головы
                            SetPlayerInterior(playerid,5);//Даём 5 интерьер
                            OnPlayerSave(playerid);//заменяем на паблик сохранения
                            PlayerInfo[playerid][pRega] = 1;
                    }

                }
        }
    }
в public OnGameModeInit :
PHP:
Bomj = CreateMenu("Victim", 1, 50.0, 160.0, 90.0);
	AddMenuItem(Bomj ,0,">> Next");
	AddMenuItem(Bomj ,0,"<< Back");
	AddMenuItem(Bomj ,0,"Save");
в public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) :
PHP:
 	if(newkeys == 16)
	{
	if(PlayerInfo[playerid][pRega] == 0)
	{
	ShowMenuForPlayer(Bomj,playerid);
	}
	}
Автор системы:Zheka_Cheshev
за основу брал магазин одежды от Barni

если понравилось от +сиков не откажусь!
будут ошибки пишите помогу исправить!
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу