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

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

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

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

Регистрация для мода New.pwn(mxINI)

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

Ragdoll

Новичок
Доброго времени суток, Вот кто хочет!

PHP:
#include <mxINI>
PHP:
#define publics:%0(%1)  forward %0(%1); \
                                                public %0(%1)
PHP:
#define DIALOG_REGISTER 0
#define DIALOG_LOGIN 1
#define DIALOG_SEX 2
Ко всем Forward
PHP:
forward GiveMoney(playerid,money);
forward ServerGivePlayerHealth(playerid, Float:health);
forward ServerSetPlayerPos(playerid, Float:x, Float:y, Float:z);
ко все new
PHP:
new MoneyTime[MAX_PLAYERS];
new Logged[MAX_PLAYERS];
new HealthTime[MAX_PLAYERS];
new Float:PlayerHealth[MAX_PLAYERS];
Добавим OnPlayerConnect
PHP:
public OnPlayerConnect(playerid)
{
    PlayerInfo[playerid][pLevel] = 0;
    PlayerInfo[playerid][pAdmin] = 0;
        PlayerInfo[playerid][pReg] = 0;
        PlayerInfo[playerid][pSex] = 0;
        PlayerInfo[playerid][pOrigin] = 0;
        PlayerInfo[playerid][pExp] = 0;
        PlayerInfo[playerid][pMoney] = 0;
        PlayerInfo[playerid][pModel] = 0;
        PlayerInfo[playerid][pChar] = 0;
        PlayerInfo[playerid][pWanted] = 0;
        Logged[playerid] = 0;
        SetPlayerToTeamColor(playerid);
        SendClientMessage(playerid,COLOR_LIGHTRED,"{ff3300}[RPG] {FFFFFF}..:: Please Wait ::..");
        SetPlayerColor(playerid,COLOR_WHITE);
        return 1;
}
PHP:
enum pInfo{
//---------------------------
        pKey[128],
        pLevel,
        pAdmin,
        pReg,
        pSex,
        pOrigin,
    pExp,
        pMoney,
        pModel,
        pChar,
        pInt,
        pMember,
        pLeader,
        pWanted,
};
new PlayerInfo[MAX_PLAYERS][pInfo];
в конец мода
PHP:
public ServerSetPlayerPos(playerid, Float:x, Float:y, Float:z)
{
                SetPlayerPos(playerid, x, y, z);
                ReadPlayerPosition[playerid][ReadX] = x;
                ReadPlayerPosition[playerid][ReadY] = y;
                ReadPlayerPosition[playerid][ReadZ] = z;
                return 1;
}
public ServerGivePlayerHealth(playerid,Float:health)
{
        HealthTime[playerid] = 5;
        PlayerHealth[playerid] = health;
        SetPlayerHealth(playerid,health);
                return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
    HealthTime[playerid] = 10;
        return 1;
}

public GiveMoney(playerid,money)
{
        new string[20];
    MoneyTime[playerid] = 5;
        if(money > 0)
        {
                PlayerInfo[playerid][pMoney] += money;
            GivePlayerMoney(playerid,money);
            format(string, sizeof(string), "~g~$+%d", money);
                GameTextForPlayer(playerid, string, 2500, 1);
        }
        else if(money < 0)
        {
            GivePlayerMoney(playerid,money);
            PlayerInfo[playerid][pMoney] += money;
            format(string, sizeof(string), "~r~$%d", money);
                GameTextForPlayer(playerid, string, 2500, 1);
        }
        return 1;
}

stock bigstr(const string[], &idx)
{
    new length = strlen(string);
        while ((idx < length) && (string[idx] <= ' '))
        {
                idx++;
        }
        new offset = idx;
        new result[128];
        while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
        {
                result[idx - offset] = string[idx];
                idx++;
        }
        result[idx - offset] = EOS;
        return result;
}

public OnPlayerSpawn(playerid)
{
        ServerGivePlayerHealth(playerid,100);
        ResetPlayerWeapons(playerid);
        SetPlayerWantedLevel(playerid,PlayerInfo[playerid][pWanted]);
        SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]);
        SetPlayerToTeamColor(playerid);
        if(Logged[playerid] == 1)
        {
            if(PlayerInfo[playerid][pReg] == 0)
            {
                        TogglePlayerControllable(playerid, 0);
                        ServerSetPlayerPos(playerid,2268.6890,1633.8104,1084.2344);
                        SetPlayerFacingAngle(playerid, 1.0000);
                        SetPlayerInterior(playerid,1);
                        SetPlayerVirtualWorld(playerid, 1);
                        new listitems[] = "Мужчина\nЖенщина";
                        ShowPlayerDialog(playerid,DIALOG_SEX,DIALOG_STYLE_LIST,"Вы кто ?",listitems,"Играть","Отмена");
                        GiveMoney(playerid,5000);
                        return 1;
                }
                else if (PlayerInfo[playerid][pOrigin] == 0)// LS
                {
                        ServerSetPlayerPos(playerid,2268.6890,1633.8104,1084.2344);
                        SetPlayerFacingAngle(playerid, 1.0000);
                        SetPlayerInterior(playerid,1);
                        SetPlayerVirtualWorld(playerid, 1);
                        SetCameraBehindPlayer(playerid);
                        return 1;
                }
                else if (PlayerInfo[playerid][pOrigin] == 1)// SF
                {
                        ServerSetPlayerPos(playerid,-1971.7006,137.9194,27.6875);
                        SetPlayerFacingAngle(playerid, 90.0);
                        SetPlayerInterior(playerid,0);
                        SetPlayerVirtualWorld(playerid, 0);
                        SetCameraBehindPlayer(playerid);
                        return 1;
                        }
        }
        return 1;
}


public OnPlayerDisconnect(playerid, reason)
{
    if(Logged[playerid] == 0)return 1;
        OnPlayerSave(playerid);
        return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
        if(Logged[playerid] == 0)
        {
            new string[128],string1[512];
                new PlayerName[40];
                GetPlayerName(playerid, PlayerName, 40);
                format(string, sizeof(string), "accounts/%s.ini", PlayerName);
                SetPlayerCameraPos(playerid,1489.5111,-901.3726,81.8154);
                SetPlayerCameraLookAt(playerid,1415.6288,-818.8901,81.9115);
                SendClientMessage(playerid,COLOR_GREEN,"Загрузка данных успешно завершена.");
                if(fexist(string))
                {
                    format(string1, 512, "{33CCFF}_________________________________________{ffffff}\n\
                        Здравствуйте, %s!\n\
                        Ты зашёл на игровойсервер {33CCFF}SA:RPG{ffffff}\n\
                        Сайт нашего сервера {33CCFF}www.sa-rpg.ru{ffffff}\n\
                        Этот аккаунт зарегисирован!\n\
                        Введите пароль в окошке!\n\
                        {33CCFF}_________________________________________", PlayerName);
                        ShowPlayerDialog(playerid, DIALOG_LOGIN , DIALOG_STYLE_INPUT, "Авторизация", string1, "Войти", "Выйти");
                }
                else
                {
                    new idx;
                        new result[256];
                        result = bigstr(PlayerName, idx);
                        if(!strlen(result))return 0;
                        if(result[0] == '[' && result[1] == 'L' && result[2] == 'X' && result[3] == ']')
                        {
                                SendClientMessage(playerid,COLOR_LIGHTRED,"Ники, начинающиеся на [LX] доступны только для администрации.");
                                Kick(playerid);
                                return 1;
                        }
                        format(string1, 512, "{33CCFF}_________________________________________{ffffff}\n\
                        Здравствуйте, %s!\n\
                        Ты зашёл на игровойсервер {33CCFF}SA:RPG{ffffff}\n\
                        Сайт нашего сервера {33CCFF}www.sa-rpg.ru{ffffff}\n\
                        Этот аккаунт не зарегисирован!\n\
                        Введите пароль в окошке!\n\
                        Придумайте пароль и нажмите {33CCFF}'Далее'\n\
                        {33CCFF}_________________________________________", PlayerName);
            ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Регистрация", string1, "Далее", "Отмена");
                }
                return 1;
        }
        return 1;
}
PHP:
publics:OnPlayerSave(playerid)
{
    PlayerInfo[playerid][pMoney] = GetPlayerMoney(playerid);
    PlayerInfo[playerid][pWanted] = GetPlayerWantedLevel(playerid);
//------------------------------------------------------------------------------
    new string[128], PlayerName[40];
    GetPlayerName(playerid, PlayerName, 40);
    format(string, sizeof(string), "accounts/%s.ini", PlayerName);
    new iniFile = ini_openFile (string);
    ini_setInteger(iniFile, "Левел", PlayerInfo[playerid][pLevel]);
    ini_setInteger(iniFile, "Админка", PlayerInfo[playerid][pAdmin]);
    ini_setInteger(iniFile, "Рега", PlayerInfo[playerid][pReg]);
        ini_setInteger(iniFile, "Пол", PlayerInfo[playerid][pSex]);
    ini_setInteger(iniFile, "Прописка", PlayerInfo[playerid][pOrigin]);
        ini_setInteger(iniFile, "Экспа", PlayerInfo[playerid][pExp]);
    ini_setInteger(iniFile, "Деньги", PlayerInfo[playerid][pMoney]);
        ini_setInteger(iniFile, "Скин", PlayerInfo[playerid][pModel]);
    ini_setInteger(iniFile, "Скин2", PlayerInfo[playerid][pChar]);
    ini_setInteger(iniFile, "Интерьер", PlayerInfo[playerid][pInt]);
    ini_setInteger(iniFile, "Розыск", PlayerInfo[playerid][pWanted]);
    ini_closeFile(iniFile);
    return 1;
}

publics:OnPlayerLogin(playerid, password[])
{
    new string[512], PlayerName[40], Password[32];
    GetPlayerName(playerid, PlayerName, 40);
    format(string, 64, "accounts/%s.ini", PlayerName);
    if(fexist(string))
    {
            new iniFile = ini_openFile (string);
            ini_getString(iniFile, "Пароль", Password);
            if(!strcmp(Password, password, true))
            {
                HealthTime[playerid] = 10;
                ini_getInteger(iniFile, "Левел", PlayerInfo[playerid][pLevel]);
                ini_getInteger(iniFile, "Админка", PlayerInfo[playerid][pAdmin]);
                ini_getInteger(iniFile, "Рега", PlayerInfo[playerid][pReg]);
                        ini_getInteger(iniFile, "Пол", PlayerInfo[playerid][pSex]);
                        SetPVarInt(playerid,"Пол", PlayerInfo[playerid][pSex]);
                ini_getInteger(iniFile, "Прописка", PlayerInfo[playerid][pOrigin]);
                        ini_getInteger(iniFile, "Экспа", PlayerInfo[playerid][pExp]);
                ini_getInteger(iniFile, "Деньги", PlayerInfo[playerid][pMoney]);
                ini_getInteger(iniFile, "Скин", PlayerInfo[playerid][pModel]);
                ini_getInteger(iniFile, "Скин2", PlayerInfo[playerid][pChar]);
                ini_getInteger(iniFile, "Интерьер", PlayerInfo[playerid][pInt]);
                ini_getInteger(iniFile, "Розыск", PlayerInfo[playerid][pWanted]);
                ini_closeFile(iniFile);
                        //==================================================================
                SendClientMessage(playerid,COLOR_GREEN,"{ffffff}Добро пожаловать на сервер SA:RPG");
                    SendClientMessage(playerid,COLOR_GREEN,"Аккаунт успешно загружен.");
                if(PlayerInfo[playerid][pWanted] > 0)
                {
                        format(string,sizeof(string),"Ты вошел в игру с %d уровнем розыска.",PlayerInfo[playerid][pWanted]);
                        SendClientMessage(playerid,COLOR_YELLOW,string);
                    }
                GiveMoney(playerid, PlayerInfo[playerid][pMoney]);
                        SetPlayerScore(playerid, PlayerInfo[playerid][pLevel]);
                        Logged[playerid] = 1;
                        SpawnPlayer(playerid);
                        DateProp(playerid);
                        return 1;
            }
                else
                {
                    ini_closeFile(iniFile);
                    SendClientMessage(playerid,COLOR_WHITE,"Сервер: Неверный пароль");
            format(string, 512, "{33CCFF}_________________________________________{ffffff}\n\
                        Здравствуйте, %s!\n\
                        Ты зашёл на игровойсервер {33CCFF}SA:RPG{ffffff}\n\
                        Сайт нашего сервера {33CCFF}www.sa-rpg.ru{ffffff}\n\
                        Этот аккаунт зарегисирован!\n\
                        Введите пароль в окошке!\n\
                        {33CCFF}_________________________________________", PlayerName);
                        ShowPlayerDialog(playerid, DIALOG_LOGIN , DIALOG_STYLE_INPUT, "Авторизация", string, "Войти", "Выйти");
                        Logged[playerid] = 0;
                        return 1;
            }
        }
        else
        {
                SendClientMessage(playerid,COLOR_LIGHTRED,"Аккаунт не найден!");
        }
    return 1;
}

publics:OnPlayerRegister(playerid, password[])
{
    new string[255], PlayerName[40];
    GetPlayerName(playerid, PlayerName, 40);
    format(string, 64, "accounts/%s.ini", PlayerName);
    new iniFile = ini_createFile(string);
    if(iniFile < 0) iniFile = ini_openFile(string);
        ini_setString(iniFile, "Пароль", password);
        ini_setInteger(iniFile, "Левел", 0);
        ini_setInteger(iniFile, "Админка", 0);
        ini_setInteger(iniFile, "Рега", 0);
        ini_setInteger(iniFile, "Пол", 0);
        ini_setInteger(iniFile, "Возраст", 0);
        ini_setInteger(iniFile, "Прописка", 0);
        ini_setInteger(iniFile, "Экспа", 0);
        ini_setInteger(iniFile, "Деньги",0);
        ini_setInteger(iniFile, "Скин", 0);
        ini_setInteger(iniFile, "Скин2", 0);
        ini_setInteger(iniFile, "Интерьер", 0);
        ini_setInteger(iniFile, "Розыск", 0);
        ini_closeFile(iniFile);
    OnPlayerLogin(playerid, password);
        return 1;
}
Теперь диалог
PHP:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
        new string1[512],PlayerName[40];
        GetPlayerName(playerid, PlayerName, 40);
    if(dialogid == DIALOG_REGISTER) //
        {
        if(response)
                {
            if(!strlen(inputtext))
                        {
                            format(string1, 512, "{33CCFF}_________________________________________{ffffff}\n\
                                Здравствуйте, %s!\n\
                                Ты зашёл на игровойсервер {33CCFF}SA:RPG{ffffff}\n\
                                Сайт нашего сервера {33CCFF}www.sa-rpg.ru{ffffff}\n\
                                Этот аккаунт не зарегисирован!\n\
                                Введите пароль в окошке!\n\
                                Придумайте пароль и нажмите {33CCFF}'Далее'\n\
                                {33CCFF}_________________________________________", PlayerName);
                ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Регистрация", string1, "Далее", "Отмена");
                return 1;
            }
            OnPlayerRegister(playerid, inputtext);
            return 1;
                }
                else
                {
                    format(string1, 512, "{33CCFF}_________________________________________{ffffff}\n\
                        Здравствуйте, %s!\n\
                        Ты зашёл на игровойсервер {33CCFF}SA:RPG{ffffff}\n\
                        Сайт нашего сервера {33CCFF}www.sa-rpg.ru{ffffff}\n\
                        Этот аккаунт не зарегисирован!\n\
                        Введите пароль в окошке!\n\
                        Придумайте пароль и нажмите {33CCFF}'Далее'\n\
                        {33CCFF}_________________________________________", PlayerName);
            ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Регистрация", string1, "Далее", "Отмена");
        }
        return 1;
    }
//------------------------------------------------------------------------------
    if(dialogid == DIALOG_LOGIN)
        {
        if(response)
                {
            if(!strlen(inputtext))
            {
                    format(string1, 512, "{33CCFF}_________________________________________{ffffff}\n\
                                Здравствуйте, %s!\n\
                                Ты зашёл на игровойсервер {33CCFF}SA:RPG{ffffff}\n\
                                Сайт нашего сервера {33CCFF}www.sa-rpg.ru{ffffff}\n\
                                Этот аккаунт зарегисирован!\n\
                                Введите пароль в окошке!\n\
                                {33CCFF}_________________________________________", PlayerName);
                                ShowPlayerDialog(playerid, DIALOG_LOGIN , DIALOG_STYLE_INPUT, "Авторизация", string1, "Войти", "Выйти");
                                return 1;
                        }
            OnPlayerLogin(playerid, inputtext);
            return 1;
        }
                else
                {
            format(string1, 512, "{33CCFF}_________________________________________{ffffff}\n\
                        Здравствуйте, %s!\n\
                        Ты зашёл на игровойсервер {33CCFF}SA:RPG{ffffff}\n\
                        Сайт нашего сервера {33CCFF}www.sa-rpg.ru{ffffff}\n\
                        Этот аккаунт зарегисирован!\n\
                        Введите пароль в окошке!\n\
                        {33CCFF}_________________________________________", PlayerName);
                        ShowPlayerDialog(playerid, DIALOG_LOGIN , DIALOG_STYLE_INPUT, "Авторизация", string1, "Войти", "Выйти");
                        return 1;
                }
    }
//------------------------------------------------------------------------------
    else if(dialogid == DIALOG_SEX)// Выбор пола
        {
                if(response)
                {
                    PlayerInfo[playerid][pReg] = 1;
                        PlayerInfo[playerid][pChar] = PlayerInfo[playerid][pModel];
                        TogglePlayerControllable(playerid, 1);
                    OnPlayerSave(playerid);
                    PlayerInfo[playerid][pModel] = 50;
                SetPlayerSkin(playerid, 50);
                PlayerInfo[playerid][pSex] = 1;
                        SendClientMessage(playerid, COLOR_WHITE, "Отлично, вы мужчина, Приятной игры!");
                        return 1;
                }
                else
                {
                    PlayerInfo[playerid][pReg] = 1;
                        PlayerInfo[playerid][pChar] = PlayerInfo[playerid][pModel];
                        TogglePlayerControllable(playerid, 1);
                    OnPlayerSave(playerid);
                PlayerInfo[playerid][pSex] = 2;
                    PlayerInfo[playerid][pModel] = 192;
                SetPlayerSkin(playerid, 192);
                        SendClientMessage(playerid, COLOR_WHITE, "Отлично, вы женщина, Приятной игры!");
                        return 1;
                }
        }
        return 1;
}

Ну вот и урок окончен Не хотелось всё расписывать, Думаю если руки не из Жопы то сможите Вписаить!

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