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

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

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

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

Мануал Паспорт на TextDraw ( Система получения/показа )

Non.Name

Нуль
Регистрация
13 Янв 2018
Сообщения
8
Лучшие ответы
0
Репутация
1
Здравствуйте уважаемые пользователи портала!
Сегодня мы сделаем систему получения паспорта. Получение/Показ.
Получить паспорт можно в мэрии.

Что используется:

DC_CMD


Возможные ошибки:
pinfo[playerid][name] - замените на своё
pinfo[playerid][passport] - запишите в enum об информации игрока passport[11]
ProxDetectorS -
Код:
forward ProxDetectorS(Float:radi, playerid, targetid);
public ProxDetectorS(Float:radi, playerid, targetid)
{
    if(IsPlayerConnected(playerid) && IsPlayerConnected(targetid))
    {
        new Float:posx, Float:posy, Float:posz;
        new Float:oldposx, Float:oldposy, Float:oldposz;
        new Float:tempposx, Float:tempposy, Float:tempposz;
        GetPlayerPos(playerid, oldposx, oldposy, oldposz);
        GetPlayerPos(targetid, posx, posy, posz);
        tempposx = (oldposx -posx);
        tempposy = (oldposy -posy);
        tempposz = (oldposz -posz);
        if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi))) return 1;
    }
    return 0;
}
[HR][/HR]
Создаём переменную для актёра:
Код:
new actorcityls;
Идём в OnGameModeInit и вставляем:
Код:
actorcityls = CreateActor(240, 356.2967, 169.0369, 1008.3762, 271.5972), SetActorVirtualWorld(actorcityls, 1); //Создаём актёра, и устанавливаем ему вирт.мир 1. Измените 1 - на вирт.мир входа в мэрию.
Create3DTextLabel("[Даниэль]\n{DFDFDF}Нажмите L.ALT для взаимодействия", -1, 356.2967,169.0369,1009.50, 6.0, 1, 0);//Создаём текст над головой актёра.
Идём в OnPlayerKeyStateChange
Код:
if(newkeys == KEY_WALK)//Если игрок нажал кнопку LALT
{
	//Происходят какие-то действия. Допустим: (Покажим игроку диалог с получением паспорта)
	if(IsPlayerInRangeOfPoint(playerid, 4.0, 356.2967,169.0369,1008.3762))//Если игрок находится в радиусе 4.0 от нашего бота.
	{
		if(pinfo[playerid][passport] != 0) return SendClientMessage(playerid, -1, !"У вас уже есть паспорт");//Если у игрока уже есть паспорт, выводим ему текст с ошибкой.
		if(GetPVarInt(playerid, "TimePass") == 1) return SendClientMessage(playerid, -1, !"Ожидайте, ваш паспорт готовится!"), 1;//Если паспорт готовится, то выводим игроку текст с ошибкой.
		else if(GetPVarInt(playerid, "TimePass") == 2)
		{
 			GetPVarString(playerid, "AddPass", pinfo[playerid][passport], 11);//Получаем наш PVar string с хранением данных о дне рождения игрока и запишем данные в pinfo[playerid][passport]
 			SendClientMessage(playerid, -1, !"Поздравляем! Вы получили паспорт");//Если же паспорт готов, то выводим текст с тем, что игрок получил паспорт.
	 		DeletePVar(playerid, "TimePass");
 			DeletePVar(playerid, "AddPass");
		}
		else ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, !"Получение паспорта", !"{FFFFFF}Для того, чтобы получить паспорт введите дату рождения вашего персонажа\n\n\t\tФормат: ДД.ММ.ГГГГ", !"Далее", !"Отмена");//Если же PVar не приравнивается ни одному, ни двум то показываем диалог с получением паспорта. У меня id диалога 1 - замените на свой.
	}
}
Идём в OnDialogResponse
Код:
switch(dialogid)
{
	case 1:
	{
		if(!response) return 1;//Если была нажата не левая кнопка, то вернём 1 и диалог закроется.
		if(!strlen(inputtext)) return ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, !"Получение паспорта", !"{FFFFFF}Для того, чтобы получить паспорт введите дату рождения вашего персонажа\n\n\t\tФормат: ДД.ММ.ГГГГ", !"Далее", !"Отмена"), SendClientMessage(playerid, -1, !"Вы ничего не ввели");//Если игрок ничего не ввёл, показываем ему диалог и выводим сообщения о том, что он ничего не ввёл.
		if(strlen(inputtext) > 10 || strlen(inputtext) < 10) return ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, !"Получение паспорта", !"{FFFFFF}Для того, чтобы получить паспорт введите дату рождения вашего персонажа\n\n\t\tФормат: ДД.ММ.ГГГГ", !"Далее", !"Отмена"), SendClientMessage(playerid, -1, !"Длина текста не может быть большее 10 или же меньше");//Если игрок ввёл больше 10 символов, показываем ему диалог и выводим сообщения о том, что он допустил ошибку.
		new regex:rg_passcheck = regex_new("^[0-9]{1,2}.[0-9]{1,2}.[0-9]{1,4}$");//Создаём проверку на введённые символы.
		if(regex_check(inputtext, rg_passcheck))//Если игрок ввёл всё правильно, то происходит какое-либо действие.
		{
			SendClientMessage(playerid, -1, !"Ваш паспорт будет готов через 1 минуту");//Отправляем сообщения игроку
			SetPVarString(playerid, "AddPass", inputtext);//Записываем данные о том, что ввёл игрок в PVarString.
			SetPVarInt(playerid, "TimePass", 1);//Поставим PVar для того, чтобы мы узнали на каком этапе получения паспорта находится игрок.
			SetTimerEx("TakePass", 60000, false, "d", playerid);//Создаём таймер для того, чтобы продолжить этап получения паспорта. Таймер на 1 минуту.
		}
		else//Если же игрок неверно ввёл данные, показываем ему диалог заного.
                {
			ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, !"Получение паспорта", !"{FFFFFF}Для того, чтобы получить паспорт введите дату рождения вашего персонажа\n\n\t\tФормат: ДД.ММ.ГГГГ", !"Далее", !"Отмена");
			SendClientMessage(playerid, -1, !"Введите дату рождения персонажа. Формат: ДД.ММ.ГГГГ");
			return regex_delete(rg_passcheck);
		}
		regex_delete(rg_passcheck);
	}
}
Далее ищем ваши forward, либо же в конец мода:
Код:
forward TakePass(playerid);
public TakePass(playerid) SetPVarInt(playerid, "TimePass", 2);//Поставим PVar для продолжения этапа. Далее подходим к актёры, и нажимаем LALT и получаем наш паспорт.
Создаём массив:
Код:
new Text:passport[15];
В OnGameModeInt
Код:
passport[0] = CreatePlayerTextDraw(playerid, 232.000000, 186.000000, "_");
PlayerTextDrawFont(playerid, passport[0], 1);
PlayerTextDrawLetterSize(playerid, passport[0], 0.666665, 12.500029);
PlayerTextDrawTextSize(playerid, passport[0], 405.500000, 24.000000);
PlayerTextDrawSetOutline(playerid, passport[0], 1);
PlayerTextDrawSetShadow(playerid, passport[0], 0);
PlayerTextDrawAlignment(playerid, passport[0], 1);
PlayerTextDrawColor(playerid, passport[0], -1);
PlayerTextDrawBackgroundColor(playerid, passport[0], 255);
PlayerTextDrawBoxColor(playerid, passport[0], 1380797040);
PlayerTextDrawUseBox(playerid, passport[0], 1);
PlayerTextDrawSetProportional(playerid, passport[0], 1);
PlayerTextDrawSetSelectable(playerid, passport[0], 0);

passport[1] = CreatePlayerTextDraw(playerid, 232.000000, 186.000000, "_");
PlayerTextDrawFont(playerid, passport[1], 1);
PlayerTextDrawLetterSize(playerid, passport[1], 0.483332, 0.000000);
PlayerTextDrawTextSize(playerid, passport[1], 404.500000, 17.000000);
PlayerTextDrawSetOutline(playerid, passport[1], 1);
PlayerTextDrawSetShadow(playerid, passport[1], 0);
PlayerTextDrawAlignment(playerid, passport[1], 1);
PlayerTextDrawColor(playerid, passport[1], -1);
PlayerTextDrawBackgroundColor(playerid, passport[1], 255);
PlayerTextDrawBoxColor(playerid, passport[1], 181);
PlayerTextDrawUseBox(playerid, passport[1], 1);
PlayerTextDrawSetProportional(playerid, passport[1], 1);
PlayerTextDrawSetSelectable(playerid, passport[1], 0);

passport[2] = CreatePlayerTextDraw(playerid, 232.000000, 299.000000, "_");
PlayerTextDrawFont(playerid, passport[2], 1);
PlayerTextDrawLetterSize(playerid, passport[2], 0.483332, 0.000000);
PlayerTextDrawTextSize(playerid, passport[2], 404.500000, 23.000000);
PlayerTextDrawSetOutline(playerid, passport[2], 1);
PlayerTextDrawSetShadow(playerid, passport[2], 0);
PlayerTextDrawAlignment(playerid, passport[2], 1);
PlayerTextDrawColor(playerid, passport[2], -1);
PlayerTextDrawBackgroundColor(playerid, passport[2], 255);
PlayerTextDrawBoxColor(playerid, passport[2], 181);
PlayerTextDrawUseBox(playerid, passport[2], 1);
PlayerTextDrawSetProportional(playerid, passport[2], 1);
PlayerTextDrawSetSelectable(playerid, passport[2], 0);

passport[3] = CreatePlayerTextDraw(playerid, 232.000000, 186.000000, "_");
PlayerTextDrawFont(playerid, passport[3], 1);
PlayerTextDrawLetterSize(playerid, passport[3], 0.066666, 12.500029);
PlayerTextDrawTextSize(playerid, passport[3], 232.000000, 27.500000);
PlayerTextDrawSetOutline(playerid, passport[3], 1);
PlayerTextDrawSetShadow(playerid, passport[3], 0);
PlayerTextDrawAlignment(playerid, passport[3], 1);
PlayerTextDrawColor(playerid, passport[3], -1);
PlayerTextDrawBackgroundColor(playerid, passport[3], 255);
PlayerTextDrawBoxColor(playerid, passport[3], 181);
PlayerTextDrawUseBox(playerid, passport[3], 1);
PlayerTextDrawSetProportional(playerid, passport[3], 1);
PlayerTextDrawSetSelectable(playerid, passport[3], 0);

passport[4] = CreatePlayerTextDraw(playerid, 408.000000, 186.000000, "_");
PlayerTextDrawFont(playerid, passport[4], 1);
PlayerTextDrawLetterSize(playerid, passport[4], 0.562500, 12.500029);
PlayerTextDrawTextSize(playerid, passport[4], 403.000000, 32.500000);
PlayerTextDrawSetOutline(playerid, passport[4], 1);
PlayerTextDrawSetShadow(playerid, passport[4], 0);
PlayerTextDrawAlignment(playerid, passport[4], 1);
PlayerTextDrawColor(playerid, passport[4], -1);
PlayerTextDrawBackgroundColor(playerid, passport[4], 255);
PlayerTextDrawBoxColor(playerid, passport[4], 181);
PlayerTextDrawUseBox(playerid, passport[4], 1);
PlayerTextDrawSetProportional(playerid, passport[4], 1);
PlayerTextDrawSetSelectable(playerid, passport[4], 0);

passport[5] = CreatePlayerTextDraw(playerid, 408.000000, 175.000000, "_");
PlayerTextDrawFont(playerid, passport[5], 1);
PlayerTextDrawLetterSize(playerid, passport[5], 0.425000, 0.899999);
PlayerTextDrawTextSize(playerid, passport[5], 390.500000, 17.000000);
PlayerTextDrawSetOutline(playerid, passport[5], 1);
PlayerTextDrawSetShadow(playerid, passport[5], 0);
PlayerTextDrawAlignment(playerid, passport[5], 1);
PlayerTextDrawColor(playerid, passport[5], -1);
PlayerTextDrawBackgroundColor(playerid, passport[5], 255);
PlayerTextDrawBoxColor(playerid, passport[5], 181);
PlayerTextDrawUseBox(playerid, passport[5], 1);
PlayerTextDrawSetProportional(playerid, passport[5], 1);
PlayerTextDrawSetSelectable(playerid, passport[5], 0);

passport[6] = CreatePlayerTextDraw(playerid, 395.000000, 174.000000, "X");
PlayerTextDrawFont(playerid, passport[6], 1);
PlayerTextDrawLetterSize(playerid, passport[6], 0.366665, 1.050000);
PlayerTextDrawTextSize(playerid, passport[6], 402.500000, 12.500000);
PlayerTextDrawSetOutline(playerid, passport[6], 0);
PlayerTextDrawSetShadow(playerid, passport[6], 0);
PlayerTextDrawAlignment(playerid, passport[6], 1);
PlayerTextDrawColor(playerid, passport[6], -1);
PlayerTextDrawBackgroundColor(playerid, passport[6], 0);
PlayerTextDrawBoxColor(playerid, passport[6], 0);
PlayerTextDrawUseBox(playerid, passport[6], 1);
PlayerTextDrawSetProportional(playerid, passport[6], 1);
PlayerTextDrawSetSelectable(playerid, passport[6], 1);

passport[7] = CreatePlayerTextDraw(playerid, 267.000000, 202.000000, "_");
PlayerTextDrawFont(playerid, passport[7], 1);
PlayerTextDrawLetterSize(playerid, passport[7], 0.500000, 10.000000);
PlayerTextDrawTextSize(playerid, passport[7], 296.500000, 67.000000);
PlayerTextDrawSetOutline(playerid, passport[7], 1);
PlayerTextDrawSetShadow(playerid, passport[7], 0);
PlayerTextDrawAlignment(playerid, passport[7], 2);
PlayerTextDrawColor(playerid, passport[7], -1);
PlayerTextDrawBackgroundColor(playerid, passport[7], 255);
PlayerTextDrawBoxColor(playerid, passport[7], 180);
PlayerTextDrawUseBox(playerid, passport[7], 1);
PlayerTextDrawSetProportional(playerid, passport[7], 1);
PlayerTextDrawSetSelectable(playerid, passport[7], 0);

passport[8] = CreatePlayerTextDraw(playerid, 301.000000, 188.000000, "_");
PlayerTextDrawFont(playerid, passport[8], 1);
PlayerTextDrawLetterSize(playerid, passport[8], 0.541665, 1.299980);
PlayerTextDrawTextSize(playerid, passport[8], 299.500000, -1.000000);
PlayerTextDrawSetOutline(playerid, passport[8], 1);
PlayerTextDrawSetShadow(playerid, passport[8], 0);
PlayerTextDrawAlignment(playerid, passport[8], 2);
PlayerTextDrawColor(playerid, passport[8], -1);
PlayerTextDrawBackgroundColor(playerid, passport[8], 255);
PlayerTextDrawBoxColor(playerid, passport[8], 135);
PlayerTextDrawUseBox(playerid, passport[8], 1);
PlayerTextDrawSetProportional(playerid, passport[8], 1);
PlayerTextDrawSetSelectable(playerid, passport[8], 0);

passport[9] = CreatePlayerTextDraw(playerid, 245.000000, 189.000000, "Photo");
PlayerTextDrawFont(playerid, passport[9], 2);
PlayerTextDrawLetterSize(playerid, passport[9], 0.329165, 1.049999);
PlayerTextDrawTextSize(playerid, passport[9], 400.000000, 17.000000);
PlayerTextDrawSetOutline(playerid, passport[9], 0);
PlayerTextDrawSetShadow(playerid, passport[9], 0);
PlayerTextDrawAlignment(playerid, passport[9], 1);
PlayerTextDrawColor(playerid, passport[9], -1);
PlayerTextDrawBackgroundColor(playerid, passport[9], 255);
PlayerTextDrawBoxColor(playerid, passport[9], 0);
PlayerTextDrawUseBox(playerid, passport[9], 1);
PlayerTextDrawSetProportional(playerid, passport[9], 1);
PlayerTextDrawSetSelectable(playerid, passport[9], 0);

passport[10] = CreatePlayerTextDraw(playerid, 316.000000, 173.000000, "_");
PlayerTextDrawFont(playerid, passport[10], 1);
PlayerTextDrawLetterSize(playerid, passport[10], 0.600000, 1.199980);
PlayerTextDrawTextSize(playerid, passport[10], 298.500000, 75.000000);
PlayerTextDrawSetOutline(playerid, passport[10], 1);
PlayerTextDrawSetShadow(playerid, passport[10], 0);
PlayerTextDrawAlignment(playerid, passport[10], 2);
PlayerTextDrawColor(playerid, passport[10], -1);
PlayerTextDrawBackgroundColor(playerid, passport[10], 255);
PlayerTextDrawBoxColor(playerid, passport[10], 135);
PlayerTextDrawUseBox(playerid, passport[10], 1);
PlayerTextDrawSetProportional(playerid, passport[10], 1);
PlayerTextDrawSetSelectable(playerid, passport[10], 0);

passport[11] = CreatePlayerTextDraw(playerid, 283.000000, 173.000000, "PASSPORT");
PlayerTextDrawFont(playerid, passport[11], 2);
PlayerTextDrawLetterSize(playerid, passport[11], 0.320832, 1.100000);
PlayerTextDrawTextSize(playerid, passport[11], 400.000000, 17.000000);
PlayerTextDrawSetOutline(playerid, passport[11], 0);
PlayerTextDrawSetShadow(playerid, passport[11], 0);
PlayerTextDrawAlignment(playerid, passport[11], 1);
PlayerTextDrawColor(playerid, passport[11], -1);
PlayerTextDrawBackgroundColor(playerid, passport[11], 255);
PlayerTextDrawBoxColor(playerid, passport[11], 0);
PlayerTextDrawUseBox(playerid, passport[11], 1);
PlayerTextDrawSetProportional(playerid, passport[11], 1);
PlayerTextDrawSetSelectable(playerid, passport[11], 0);


passport[12] = CreatePlayerTextDraw(playerid, 230.000000, 204.000000, "Preview_Model");
PlayerTextDrawFont(playerid, passport[12], 5);
PlayerTextDrawLetterSize(playerid, passport[12], 0.600000, 2.000000);
PlayerTextDrawTextSize(playerid, passport[12], 69.500000, 88.500000);
PlayerTextDrawSetOutline(playerid, passport[12], 0);
PlayerTextDrawSetShadow(playerid, passport[12], 0);
PlayerTextDrawAlignment(playerid, passport[12], 1);
PlayerTextDrawColor(playerid, passport[12], -1);
PlayerTextDrawBackgroundColor(playerid, passport[12], 0);
PlayerTextDrawBoxColor(playerid, passport[12], 0);
PlayerTextDrawUseBox(playerid, passport[12], 0);
PlayerTextDrawSetProportional(playerid, passport[12], 1);
PlayerTextDrawSetSelectable(playerid, passport[12], 0);
PlayerTextDrawSetPreviewModel(playerid, passport[12], 299);
PlayerTextDrawSetPreviewRot(playerid, passport[12], -10.000000, 0.000000, -8.000000, 1.000000);
PlayerTextDrawSetPreviewVehCol(playerid, passport[12], 1, 1);

passport[13] = CreatePlayerTextDraw(playerid, 305.000000, 193.000000, "NAME:_Ffffffffff_Ffffffffff");
PlayerTextDrawFont(playerid, passport[13], 2);
PlayerTextDrawLetterSize(playerid, passport[13], 0.158333, 1.299999);
PlayerTextDrawTextSize(playerid, passport[13], 400.000000, 17.000000);
PlayerTextDrawSetOutline(playerid, passport[13], 0);
PlayerTextDrawSetShadow(playerid, passport[13], 0);
PlayerTextDrawAlignment(playerid, passport[13], 1);
PlayerTextDrawColor(playerid, passport[13], -1);
PlayerTextDrawBackgroundColor(playerid, passport[13], 0);
PlayerTextDrawBoxColor(playerid, passport[13], 0);
PlayerTextDrawUseBox(playerid, passport[13], 1);
PlayerTextDrawSetProportional(playerid, passport[13], 1);
PlayerTextDrawSetSelectable(playerid, passport[13], 0);

passport[14] = CreatePlayerTextDraw(playerid, 353.000000, 293.000000, "_");
PlayerTextDrawFont(playerid, passport[14], 1);
PlayerTextDrawLetterSize(playerid, passport[14], 0.554166, -0.100018);
PlayerTextDrawTextSize(playerid, passport[14], 297.500000, 99.500000);
PlayerTextDrawSetOutline(playerid, passport[14], 1);
PlayerTextDrawSetShadow(playerid, passport[14], 0);
PlayerTextDrawAlignment(playerid, passport[14], 2);
PlayerTextDrawColor(playerid, passport[14], -1);
PlayerTextDrawBackgroundColor(playerid, passport[14], 255);
PlayerTextDrawBoxColor(playerid, passport[14], 135);
PlayerTextDrawUseBox(playerid, passport[14], 1);
PlayerTextDrawSetProportional(playerid, passport[14], 1);
PlayerTextDrawSetSelectable(playerid, passport[14], 0);
Поместить в команды, либо же в конец мода:​
Код:
CMD:showpass(playerid, params[])
{
    if(sscanf(params, "d", params[0])) return SendClientMessage(playerid, -1, !"Используйте /showpass [id]");//Если игрок допустил ошибку в написании, сообщаем ему об этом
    if(!IsPlayerConnected(params[0])) return SendClientMessage(playerid, -1, !"Данный игрок не в сети");//Если ID игрока не существует, то сообщаем игроку
    if(!ProxDetectorS(5.0, playerid, params[0])) return SendClientMessage(playerid, -1, !"Игрок слишком далеко");//Если ID игрока далеко, то сообщаем игроку
    if(pinfo[playerid][passport] == 0) return SendClientMessage(playerid, -1, !"У вас нету паспорта");//Если у игрока нету паспорта, сообщаем ему
    SelectTextDraw(params[0], -1);//Даём кликабельность TextDraw
    TextDrawSetPreviewModel(passport[params[12], GetPlayerSkin(playerid));//Можно заменить на pinfo[playerid][skin]. Устанавливаем скин игрока.

    static const
		textdraw[] = "~w~NAME: %s~n~DATE BIRTH: %s";
    new str[sizeof(textdraw)+(-2+MAX_PLAYER_NAME)+(-2+10)];
    format(str, sizeof(str), textdraw, pinfo[playerid][name], pinfo[playerid][passport]);
    TextDrawSetString(passport[13], str);
    for(new i; i < 15; i++) TextDrawShowForPlayer(params[0],passport[i]);
    SetPVarInt(params[0], "InPass", 1);//Ставим PVar для того, чтобы игрок не смог закрыть TextDraw нажав ESC
    return 1;
}
В OnPlayerClickTextDraw
Код:
if(_:clickedid == INVALID_TEXT_DRAW) 
{
    if(GetPVarInt(playerid, "InPass") == 1) for(new i; i < 15; i++) TextDrawShowForPlayer(playerid,passport[i]);, SelectTextDraw(playerid, -1);//Если игрок в textdraw паспорте и игрок нажал ESC, то вы заного показываем TextDraw, и даём кликабельность.
}
В OnPlayerClickPlayerTextDraw
Код:
if(playertextid == passport[playerid][6]) for(new i; i < 15; i++) TextDrawHideForPlayer(playerid, passport[i]), CancelSelectTextDraw(playerid), SetPVarInt(playerid, "InPass", 0);//Если игрок нажал на крестик, то скрываем TextDraw, и приравниваем PVar к 0.


Код:
[FONT=Arial Black]Если не грузит: [URL="https://i.imgur.com/QRtTakE.png"]клик[/URL][/FONT]

Создаём массив:​
Код:
new meria[2];
Идём в OnGameModeInit
Код:
meria[0] = CreateDynamicPickup(1314, 23, 1479.4409, -1772.3138, 18.7958, 0, 0);
meria[1] = CreateDynamicPickup(1314, 23, 390.7688, 173.8520, 1008.3828, 2, 3);
В OnPlayerPickUpDynamicPickup​
Код:
if(pickupid == meria[0])
{
    	SetPlayerPos(playerid, 387.1400,173.6527,1008.3828);//Телепортируем игрока по координатам.
	SetPlayerFacingAngle(playerid, 89.2356);//Устанавливаем угол поворота.
	SetPlayerVirtualWorld(playerid, 1);//Устанавливаем виртуальный мир.
	SetPlayerInterior(playerid, 3);//Устанавливаем интьер.
	SetCameraBehindPlayer(playerid);//Ставим камеру туда, куда смотрит игрок.
}
if(pickupid == meria[1])
{
	SetPlayerPos(playerid, 1478.8641,-1769.2697,18.7958);//Телепортируем игрока по координатам.
	SetPlayerFacingAngle(playerid, 359.4256);//Устанавливаем угол поворота.
	SetPlayerVirtualWorld(playerid, 0);//Устанавливаем виртуальный мир.
	SetPlayerInterior(playerid, 0);//Устанавливаем интьер.
	SetCameraBehindPlayer(playerid);//Ставим камеру туда, куда смотрит игрок.
}

В OnDialogResponse, там где else if(GetPVarInt(playerid, "TimePass") == 2):
Код:
static _query[] = "UPDATE `accounts` SET `passport` = '%e' WHERE `name` = '%e'";//accounts - заменить на свой столбец аккаунтов и name - заменить на своё
new query[sizeof(_query)+(-2+10)+(-2+MAX_PLAYER_NAME)];
mysql_format(handle, query, sizeof(query), _query, pinfo[playerid][passport], pinfo[playerid][name]);//pinfo[playerid][passport, name], handle - заменить на своё.
mysql_tquery(handle, query);//handle заменить на своё.
Или же можно так:​
Создадим сток с сохранением:
Код:
stock SavePlayer(playerid, const field[], const set[], const type[]
{
    static
        _query[] = "UPDATE `accounts` SET `%e` = '%d' WHERE `name` = '%e' LIMIT 1'",
        _query_2[] = "UPDATE `accounts` SET `%e` = '%s' WHERE `name` = '%e' LIMIT 1";

    new query[sizeof(_query_2)+(-2+17)+(-2+64)+(-2+MAX_PLAYER_NAME)];
    if(!strcmp(type, "d", true)) mysql_format(handle, query, sizeof(query), _query, field, set, pinfo[playerid][name]);
    if(!strcmp(type, "s, true)) mysql_format(handle, query, sizeof(query), _query_1, field, set, pinfo[playerid][name]);
    mysql_tquery(handle, query);
}
В OnDialogResponse, там где else if(GetPVarInt(playerid, "TimePass") == 2):​
Код:
И просто, пишем туда SavePlayer(playerid, "passport", pinfo[playerid][passport], "s");
Создаём в базе данных:​
Код:
passport( тип: varchar, длина: 11 )
В загрузку аккаунта
Код:
cache_get_value_name(0, "passport", pinfo[playerid][passport], 11);
 
Последнее редактирование:
Сверху Снизу