Форум Pawn-Wiki.Ru - Воплоти мечту в реальность!: Простая регистрация на mxINI (new.pwn) - Форум Pawn-Wiki.Ru - Воплоти мечту в реальность!

Перейти к содержимому

Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

[ Scr ][ All ]
Простая регистрация на mxINI (new.pwn)
Оценка: -----

#1
Пользователь офлайн   Patrick Jane 

  • Вернусь 1 Июня 2014 Года
  • Вставить ник
  • Раскрыть информацию
Всем доброго времени суток. Моя первая работа. Выкладываю Готовое решение простой регистрации на mxINI new.pwn.

У кого нет этого include, то вот: Скачать

1) К include пропишем:
#include <mxINI>

Дальше после инклудов пропишем forward:
forward OnPlayerRegister(playerid, password[]);
forward OnPlayerLogin(playerid,password[]);

Ниже forward вставляем это:
enum pInfo
{
    pPass[64],
    pMoney
};
new PlayerInfo[MAX_PLAYERS][pInfo];
new PAccount[MAX_PLAYERS];

Дальше находим:
public OnPlayerRequestClass(playerid, classid)

И вставляем туда это:
    {
    if(PAccount[playerid] == 1) // аккаунт есть
    {
    ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Окно Входа","Здравствуйте\nВаш аккаунт зарегистрирован\nВведите свой пароль","Ввод","");// показываем диалог
    }
    else // если нет аккаунта в папке
    {
    ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Окно Регистрации","Здравствуйте\nВаш аккаунт не найден.\nЗарегистрируйтесь введя пароль в окошко","Ввод","");// Показываем диалог регистрации.
    }

Пример:
 
public OnPlayerRequestClass(playerid, classid)
    {
    if(PAccount[playerid] == 1) // аккаунт есть
    {
    ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Окно Входа","Здравствуйте\nВаш аккаунт зарегистрирован\nВведите свой пароль","Ввод","");// показываем диалог
    }
    else // если нет аккаунта в папке
    {
    ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Окно Регистрации","Здравствуйте\nВаш аккаунт не найден.\nЗарегистрируйтесь введя пароль в окошко","Ввод","");// Показываем диалог регистрации.
    }
    return 1;
}

Потом в
public OnPlayerConnect(playerid)
{

Вставляем вот этот код:
    new playername[MAX_PLAYER_NAME];// Масив для имени игрока
    new string[128];// Путь до папки с именем игрока
    GetPlayerName(playerid,playername,sizeof(playername));// Узнаём имя игрока
    format(string,sizeof(string),"users/%s.ini", playername);// Путь к файлу с аккаунтом
    if(fexist(string))// Проверка на файл, если он есть то выполняется следующее действие.
    {
        PAccount[playerid] = 1;// Аккаунт есть
    }
    else// Если файла с именем нет, то выполняется это действие.
    {
        PAccount[playerid] = 0;// Аккаунта нет
    }

Пример:
public OnPlayerConnect(playerid)
{
    new playername[MAX_PLAYER_NAME];// Масив для имени игрока
    new string[128];// Путь до папки с именем игрока
    GetPlayerName(playerid,playername,sizeof(playername));// Узнаём имя игрока
    format(string,sizeof(string),"users/%s.ini", playername);// Путь к файлу с аккаунтом
    if(fexist(string))// Проверка на файл, если он есть то выполняется следующее действие.
    {
        PAccount[playerid] = 1;// Аккаунт есть
    }
    else// Если файла с именем нет, то выполняется это действие.
    {
        PAccount[playerid] = 0;// Аккаунта нет
    }
    return 1;
}

Это в конец мода:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == 1)// Ид диалога Для Логина
    {
        if(response)// Если игрок нажал первую кнопку входа
        {
            if(!strlen(inputtext))// Если окно ввода пустое, выводим диалог снова
            {
                ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Окно Входа","Здравствуйте\nВаш аккаунт зарегистрирован\nВведите свой пароль в окошко","Ввод","");// Показываем диалог входа в игру.
                return 1;
            }
            new pass[64];// Масив с паролем
            strmid(pass,inputtext,0,strlen(inputtext),64);// считывание текста с диалога
            OnPlayerLogin(playerid,pass);//паблик входа
        }
        else// Если игрок нажал Escape,то покажем ему диалог
        {
            ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Окно Входа","Здравствуйте\nВаш аккаунт зарегистрирован\nВведите свой пароль в окошко","Ввод","");// Показываем диалог входа в игру.
        }
    }
    if(dialogid == 2)// Ид диалога для регистрации
    {
        if(response)// Если игрок нажал первую кнопку
        {
            if(!strlen(inputtext))// Если игрок не написал ничего,то выводим диалог снова
            {
                ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Окно Регистрации","Здравствуйте\nВаш аккаунт зарегистрирован.\nЗарегистрируйтесь введя пароль в окошко","Ввод","");// Показываем диалог регистрации.
                return 1;
            }
            new pass[64];// Масив с паролем
            strmid(pass,inputtext,0,strlen(inputtext),64);// Считываем текст с диалога
            OnPlayerRegister(playerid,pass);// Запускаем паблик регистрации
        }
        else// Если игрок нажал Escape
        {
            ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Окно Регистрации","Здравствуйте\nВаш аккаунт зрегистрирован.\nЗарегистрируйтесь введя пароль в окошко","Ввод","");// Показываем диалог регистрации.
        }
    }
    return 1;
}

public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
	return 1;
}
public OnPlayerRegister(playerid, password[])// Паблик регистрации
{
    if(IsPlayerConnected(playerid))
    {
        new string[64];// Масив с путём для файла
        new playername[MAX_PLAYER_NAME];// Масив для получения имени игрока
        GetPlayerName(playerid, playername, sizeof(playername));// Получаем Имя игрока
        format(string,sizeof(string), "users/%s.ini", playername);// Добавляем имя игрока, в путь для сохранения
        new iniFile = ini_createFile(string);// Создаём файл с именем игрока в папке players
        if(iniFile < 0)// Если Файла нет
        {
            iniFile = ini_openFile(string);// Открываем
        }
        if(iniFile >= 0)// Если файл есть
        {
            strmid(PlayerInfo[playerid][pPass],password,0,strlen(password),255);
// Присваиваем масиву pPass, значение password[]
            ini_setString(iniFile,"Pass",PlayerInfo[playerid][pPass]
);// Записываем пароль игрока в файл
            ini_closeFile(iniFile);// Закрываем файл
            ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Окно Входа","Здравствуйте\nВаш аккаунт зарегистрирован\nВведите свой пароль в окошко","Ввод","");// Показываем диалог входа в игру.
        }
    }
    return 1;
}
stock SavePlayer(playerid)
{
    new string[64];// Масив с путём для файла
    new playername[MAX_PLAYER_NAME];// Масив для получения имени игрока
    GetPlayerName(playerid, playername, sizeof(playername));// Получаем Имя игрока
    format(string, sizeof(string), "users/%s.ini", playername);// Добавляем имя игрока, в путь для сохранения
    iniFile = ini_openFile(string);// Открываем файл по тому пути который указали.
    ini_setString(iniFile,"Pass",PlayerInfo[playerid][pPass]
);// Записываем пароль игрока в файл
    ini_closeFile(iniFile);// Закрываем файл
}
public OnPlayerLogin(playerid,password[])
{
    if(IsPlayerConnected(playerid))// Проверка на подключение игрока
    {
        new string[64];// Масив с путём для файла
        new pass[64];// Масив с паролем
        new playername[MAX_PLAYER_NAME];// Масив для получения имени игрока
        GetPlayerName(playerid, playername, sizeof(playername));// Получаем Имя игрока
        format(string,sizeof(string), "users/%s.ini", playername);// Добавляем имя игрока, в путь для загрузки
        new iniFile = ini_openFile(string);// Открываем файл
        ini_getString(iniFile,"Pass",pass,64);// Загружаем пароль
        if(strcmp(pass,password,true) == 0)// Если введёный пароль, соответсвует паролю при регистрации, то загружаем акк
        {
            ini_getString(iniFile,"Pass",PlayerInfo[playerid][pPass]
,64);// Загружаем пароль
            ini_closeFile(iniFile);// Закрываем файл
        }
        else// Если пароль не верен..
        {
            ini_closeFile(iniFile);// Закрываем файл
            ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Окно Входа","Здравствуйте\nВаш аккаунт зарегистрирован\nВведите свой пароль в окошко","Ввод","");// Показываем диалог входа в игру.
            return 1;
        }
        SendClientMessage(playerid,0xFF00000,"Добро пожаловать на наш сервер");// Выводим игрок сообщение
        SpawnPlayer(playerid);// Спавним игрока
    }
    return 1;
}


Нажимаем F5 и это все, регистрация готова. Автор я, + помощь от Clapse. Если будут ошибки, пишите, вместе исправим.
P.S. Код сразу построен лесенкой.


А вот и new.pwn с встроенной регистрацией.

Прикрепленные файлы


2

#2
Пользователь офлайн   Patrick Jane 

  • Вернусь 1 Июня 2014 Года
  • Вставить ник
  • Раскрыть информацию
Ах да, чуть не забыл, в папке scriptfiles создайте папку users. куда буду сохранятся все аккаунты.
0

#3
Пользователь офлайн   AK47CaHbKa 

  • Пользователь
  • Вставить ник
  • Раскрыть информацию
После окна авторизации будет ли доступ к выбору скина, при повторном заходе на сервер?
0

#4
Пользователь офлайн   Patrick Jane 

  • Вернусь 1 Июня 2014 Года
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияAK47CaHbKa (01 Июль 2013 - 15:08) писал:

После окна авторизации будет ли доступ к выбору скина, при повторном заходе на сервер?

Нет. Но постараюсь завтра выложить. Это моя первая работа. Я еще новичок в этом.

Послезавтра постараюсь сделать регистрацию для РП серверов с выбором скин. Ждите.
0

#5
Пользователь офлайн   Carl_Lorenzo 

  • Прохожий
  • Вставить ник
  • Раскрыть информацию
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\pawno\include\sscanf2.inc(203) : error 017: undefined symbol "SSCANF_OnPlayerConnect"
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\pawno\include\sscanf2.inc(227) : error 017: undefined symbol "SSCANF_OnPlayerDisconnect"
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(46) : error 029: invalid expression, assumed zero
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(47) : error 017: undefined symbol "DIALOG_STYLE_IMPUT"
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(49) : error 029: invalid expression, assumed zero
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(51) : error 017: undefined symbol "DIALOG_STYLE_IMPUT"
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(59) : warning 225: unreachable code
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(59) : warning 217: loose indentation
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(59) : error 029: invalid expression, assumed zero
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(59) : error 004: function "SSCANF_OnPlayerConnect" is not implemented
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(64) : warning 202: number of arguments does not match definition
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(76) : warning 225: unreachable code
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(76) : error 029: invalid expression, assumed zero
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(76) : error 004: function "SSCANF_OnPlayerDisconnect" is not implemented
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(81) : warning 225: unreachable code
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(81) : error 029: invalid expression, assumed zero
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(81) : error 004: function "OnPlayerSpawn" is not implemented
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(86) : warning 225: unreachable code
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(86) : error 029: invalid expression, assumed zero
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(86) : error 004: function "OnPlayerDeath" is not implemented
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(91) : warning 225: unreachable code
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(91) : error 029: invalid expression, assumed zero
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(91) : error 004: function "OnVehicleSpawn" is not implemented
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(96) : warning 225: unreachable code
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(96) : error 029: invalid expression, assumed zero
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(96) : error 004: function "OnVehicleDeath" is not implemented
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(101) : warning 225: unreachable code
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(101) : error 029: invalid expression, assumed zero
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(101) : error 004: function "OnPlayerText" is not implemented
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(106) : warning 225: unreachable code
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(106) : error 029: invalid expression, assumed zero
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(106) : error 004: function "dc_cmd_OnPlayerCommandText" is not implemented
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(111) : warning 225: unreachable code
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(111) : error 029: invalid expression, assumed zero
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(111) : error 004: function "OnPlayerEnterVehicle" is not implemented
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(116) : warning 225: unreachable code
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(116) : error 029: invalid expression, assumed zero
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(116) : error 004: function "OnPlayerExitVehicle" is not implemented
0

#6
Пользователь офлайн   mxINI 

  • Даун какой-то
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияCarl_Lorenzo (21 Сентябрь 2017 - 10:15) писал:

C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\pawno\include\sscanf2.inc(203) : error 017: undefined symbol "SSCANF_OnPlayerConnect"
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\pawno\include\sscanf2.inc(227) : error 017: undefined symbol "SSCANF_OnPlayerDisconnect"
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(46) : error 029: invalid expression, assumed zero
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(47) : error 017: undefined symbol "DIALOG_STYLE_IMPUT"
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(49) : error 029: invalid expression, assumed zero
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(51) : error 017: undefined symbol "DIALOG_STYLE_IMPUT"
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(59) : warning 225: unreachable code
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(59) : warning 217: loose indentation
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(59) : error 029: invalid expression, assumed zero
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(59) : error 004: function "SSCANF_OnPlayerConnect" is not implemented
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(64) : warning 202: number of arguments does not match definition
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(76) : warning 225: unreachable code
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(76) : error 029: invalid expression, assumed zero
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(76) : error 004: function "SSCANF_OnPlayerDisconnect" is not implemented
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(81) : warning 225: unreachable code
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(81) : error 029: invalid expression, assumed zero
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(81) : error 004: function "OnPlayerSpawn" is not implemented
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(86) : warning 225: unreachable code
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(86) : error 029: invalid expression, assumed zero
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(86) : error 004: function "OnPlayerDeath" is not implemented
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(91) : warning 225: unreachable code
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(91) : error 029: invalid expression, assumed zero
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(91) : error 004: function "OnVehicleSpawn" is not implemented
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(96) : warning 225: unreachable code
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(96) : error 029: invalid expression, assumed zero
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(96) : error 004: function "OnVehicleDeath" is not implemented
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(101) : warning 225: unreachable code
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(101) : error 029: invalid expression, assumed zero
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(101) : error 004: function "OnPlayerText" is not implemented
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(106) : warning 225: unreachable code
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(106) : error 029: invalid expression, assumed zero
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(106) : error 004: function "dc_cmd_OnPlayerCommandText" is not implemented
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(111) : warning 225: unreachable code
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(111) : error 029: invalid expression, assumed zero
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(111) : error 004: function "OnPlayerEnterVehicle" is not implemented
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(116) : warning 225: unreachable code
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(116) : error 029: invalid expression, assumed zero
C:\Users\??????\Desktop\??????? ??????? ?.?.?\???????? - ?????\gamemodes\Mod.pwn(116) : error 004: function "OnPlayerExitVehicle" is not implemented

Убей себя
1

#7
Пользователь офлайн   mashkov 

  • Прохожий
  • Вставить ник
  • Раскрыть информацию
C:\Users\???\Desktop\???? ??????\gamemodes\mashkov.pwn(257) : error 021: symbol already defined: "OnDialogResponse"
C:\Users\???\Desktop\???? ??????\gamemodes\mashkov.pwn(298) : error 021: symbol already defined: "OnPlayerClickPlayer"
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase


2 Errors.
0

#8
Пользователь офлайн   Sonic X 

  • Эксперт
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияmashkov (14 Январь 2018 - 02:12) писал:

Нажмите сюда, чтобы прочитать это сообщение. [Показать]


Не стоит делать регистрацию по данному уроку. Можешь посмотреть мой урок, называет "Лучшие использование файлов". Если всё поймёшь, то будет легко
0

Поделиться темой:


Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей