Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.

Реклама


**Как получить V.I.P** (Перейти)
Чтобы заказать рекламу на Pro-Pawn.Ru, обращайтесь в Skype.
Баннерная реклама 200руб/мес, Текстовая 100руб/мес.
Показано с 1 по 7 из 7
  1. #1
    Аватар для Dimon_Fanat
    Пользователь

    Статус
    Оффлайн
    Регистрация
    01.06.2014
    Сообщений
    81
    Репутация:
    -1 ±

    Как сделать сохранение админ-пароля, который игрок ввёл в диалоговое окно?

    Сделал команду /aduty для администрации.
    Когда выдаю админку игроку иесли у него доступ в админ центр 0 ему для начала предлогается придумать пароль для того чтобы в следующий раз при вводе /aduty ему уже надо было вводить этот пароль который он сам себе придумал но он не сохроняется я пробовал не получалось кто может помочь в pawn я не спец так что прошу вашей помощи.

    PHP код:
        if(strcmp(cmd"/aduty"true) == 0)
        {
            if(
    Player[playerid][pAdmin] == 0) return NoRights;
            if(
    Player[playerid][pAdutydostup] == 0) return ShowPlayerDialog(playerid,DIALOG_ADUTYPASS,DIALOG_STYLE_INPUT,"{33CCFF}Администраторские права","{FFE4B5}Придумайте себе пароль для дольнейшего использования /aduty.","Ввести","Закрыть");
            if(
    aDuty[playerid] == false)
            {
            
    ShowPlayerDialog(playerid,DIALOG_ADUTY,DIALOG_STYLE_PASSWORD,"{33CCFF}Администраторские права","{FFE4B5}Введи свой пароль для получения администраторских прав.","Ввести","Закрыть");
            return 
    true;
            }
            else
            {
            new 
    arank[64];
            switch(
    Player[playerid][pAdmin])
            {
            case 
    1arank "Помощник";
            case 
    2arank "Ст.Помощник";
            case 
    3arank "Мл.Администратор";
            case 
    4arank "Администратор";
            case 
    5arank "Ст.Администратор";
            case 
    6arank "Администратор фракций";
            case 
    7arank "Администратор банов";
            case 
    8arank "Администратои ивентов";
            case 
    9arank "Зам.Гл.Алминистратора";
            case 
    10arank "Гл.Администратор";
            case 
    11arank "Гл.Администратор";
            }
            
    format(stringsizeof(string), "%s %s[%d] завершил(а) дежурство.",arankRPN(playerid),playerid);
            
    SendAdminMessage(COLOR_YELLOW,string,1);
            
    aDuty[playerid] = false;
            
    AdutyPas[playerid] = 0;
            }
            return 
    true;
        } 
    PHP код:
        else if(dialogid == DIALOG_ADUTY)
        {
            if(
    response)
            {
                if(!
    strlen(inputtext)) return ShowPlayerDialog(playerid,DIALOG_ADUTY,DIALOG_STYLE_PASSWORD,"{33CCFF}Администраторские права","{FFE4B5}Введи свой пароль для получения администраторских прав.","Ввести","Закрыть");
                
    Adutydostup[playerid] = strval(inputtext);
                if(
    Adutydostup[playerid] == Player[playerid][pAdutydostup])
                {
                    new 
    arank[50];
                    switch(
    Player[playerid][pAdmin])
                    {
                        case 
    1arank "Помощник";
                        case 
    2arank "Ст.Помощник";
                        case 
    3arank "Мл.Администратор";
                        case 
    4arank "Администратор";
                        case 
    5arank "Ст.Администратор";
                        case 
    6arank "Администратор фракций";
                        case 
    7arank "Администратор банов";
                        case 
    8arank "Администратор ивентов";
                        case 
    9arank "Зам.Гл.Администратора";
                        case 
    10arank "Гл.Администратор";
                        case 
    11arank "Гл.Администратор";
                    }
                    
    format(string,sizeof(string), "%s %s[%d] заступил(а) на дежурство.",arank,RPN(playerid),playerid);
                    
    ABroadCast(COLOR_YELLOW,string,1);
                    
    format(string,sizeof(string), "%s %s[%d] заступил(а) на дежурство.",arank,RPN(playerid),playerid);
                    
    SendClientMessage(playerid,COLOR_YELLOWstring);
                    
    //AdminLogin[playerid] = 1;
                    
    aDuty[playerid] = true;
                }
                else
                {
                
    AdutyPas[playerid]++;
                
    format(stringsizeof(string), "[ОШИБКА] {FFFFFF}Неверный пароль от ''/aduty''. Осталось попыток {FF0000}%d{FFFFFF}."3-AdutyPas[playerid]);
                
    SendClientMessage(playerid,COLOR_RED,string);
                if(
    AdutyPas[playerid] >= 3)
                {
                new 
    playername[32];
                
    GetPlayerName(playeridplayernamesizeof(playername));
                
    format(stringsizeof(string), "Античит: %s[%d] был(а) кикнут(а). Причина: Не верный пароль от ''/aduty''."playername,playerid);
                
    ABroadCast(COLOR_YELLOW,string,1);
                
    SendClientMessage(playerid,COLOR_YELLOW,"Ты был(а) кикнут(а) античитом. Причина: Не верный пароль от ''/aduty''.");
                
    Kick(playerid);
                }}
                return 
    1;}} 
    PHP код:
        else if(dialogid == DIALOG_ADUTYPASS)
        {
        if(
    response)
        {
        if(!
    strlen(inputtext))return ShowPlayerDialog(playerid,DIALOG_ADUTYPASS,DIALOG_STYLE_INPUT,"{33CCFF}Администраторские права","{FFE4B5}Придумай себе пароль для дальнейшего использования /aduty.","Ввести","Закрыть");

    //Вот тут я не знаю что прописать так как раньше я делал сохронение в папку а теперь надо в masql
        
    SaveAccount(playerid);
        }} 
    Последний раз редактировалось DeimoS; 15.11.2014 в 18:52.

  2. #2
    Аватар для gangzone.ini
    Модератор

    Статус
    Оффлайн
    Регистрация
    15.06.2014
    Сообщений
    650
    Репутация:
    105 ±
    SaveAccount stock нужен
    Модератор с 19.03.2015

  3. #3
    Аватар для Dimon_Fanat
    Пользователь

    Статус
    Оффлайн
    Регистрация
    01.06.2014
    Сообщений
    81
    Репутация:
    -1 ±
    PHP код:
    stock SaveAccount(playerid)
    {
        if(
    Player[playerid][pLogged] == true)
        {
            
    CheckMySQLConnection();
            new 
    str[1500];
            new 
    sqlname[MAX_PLAYER_NAME];
            
    mysql_real_escape_string(Player[playerid][pName], sqlname);
            
    format(strsizeof(str), "UPDATE `Accounts` SET `Nickname`= '%s',`Level`= '%i', `Admin`= '%i', `Reg`= '%i', `Sex`= '%i', `Spawn`= '%i', `Exp`= '%i', `BankPass`= '%i', `Money` = '%i', `Bank` = '%i', `MuteTime` = '%i', `Job`= '%i',",
            
    sqlname,
            
    Player[playerid][pLevel],
            
    Player[playerid][pAdmin],
            
    Player[playerid][pReg],
            
    Player[playerid][pSex],
            
    Player[playerid][pSpawn],
            
    Player[playerid][pExp],
            
    Player[playerid][pBankPass],
            
    Player[playerid][pMoney],
            
    Player[playerid][pBank],
            
    Player[playerid][pMuteTime],
            
    Player[playerid][pJob]);
            
    format(strsizeof(str), "%s `PayCheck` = '%i',`Jailed` = '%i',`JailTime`= '%i',`MedicTime` = '%i',`Mats` = '%i',`Drugs`= '%i',`JobTime`= '%i',`Member` = '%i',`Leader` = '%i',`Zam` = '%i',`Rank` = '%i',`Model` = '%i',`Char` = '%i',`Phousekey` = '%i',`Carkey1` = '%i',",
            
    str,
            
    Player[playerid][pPayCheck],
            
    Player[playerid][pJailed],
            
    Player[playerid][pJailTime],
            
    Player[playerid][pMedicTime],
            
    Player[playerid][pMats],
            
    Player[playerid][pDrugs],
            
    Player[playerid][pJobTime],
            
    Player[playerid][pMember],
            
    Player[playerid][pLeader],
            
    Player[playerid][pZam],
            
    Player[playerid][pRank],
            
    Player[playerid][pModel],
            
    Player[playerid][pChar],
            
    Player[playerid][pPhousekey],
            
    Player[playerid][pCarkey1]);
            
    format(strsizeof(str), "%s `Carkey2` = '%i',`Pbiskey` = '%i',`TWarns` = '%i',`CarLic` = '%i',`MotoLic` = '%i',`TruckLic` = '%i',`TruckELic` = '%i',`FlyLic` = '%i',`BoatLic` = '%i',`SD` = '%i',",
            
    str,
            
    Player[playerid][pCarkey2],
            
    Player[playerid][pPbiskey],
            
    Player[playerid][pTWarns],
            
    Player[playerid][pCarLic],
            
    Player[playerid][pMotoLic],
            
    Player[playerid][pTruckLic],
            
    Player[playerid][pTruckELic],
            
    Player[playerid][pFlyLic],
            
    Player[playerid][pBoatLic],
            
    Player[playerid][pSD]);
            
    format(strsizeof(str), "%s `GunLic` = '%i',`TaxiLic`= '%i',`GruzSkill` = '%i',`DrugSkill` = '%i',`GunSkill` = '%i',`CarSkill` = '%i',`JackSkill` = '%i',`RobSkill` = '%i',`RobHouseSkill` = '%i',`TimePizdanul` = '%i',`RobHouseTime` = '%i',`MechSkill` = '%i',`TruckSkill` = '%i',`DetSkill` = '%i',`HeadValue` = '%i',`HunterValue` = '%i',`TruckTime` = '%i',`TruckETime` = '%i',",
            
    str,
            
    Player[playerid][pGunLic],
            
    Player[playerid][pTaxiLic],
            
    Player[playerid][pGruzSkill],
            
    Player[playerid][pDrugSkill],
            
    Player[playerid][pGunSkill],
            
    Player[playerid][pCarSkill],
            
    Player[playerid][pJackSkill],
            
    Player[playerid][pRobSkill],
            
    Player[playerid][pRobHouseSkill],
            
    Player[playerid][pTimePizdanul],
            
    Player[playerid][pRobHouseTime],
            
    Player[playerid][pMechSkill],
            
    Player[playerid][pTruckSkill],
            
    Player[playerid][pDetSkill],
            
    Player[playerid][pHeadValue],
            
    Player[playerid][pHunterValue],
            
    Player[playerid][pTruckTime],
            
    Player[playerid][pTruckETime]);
            
    format(strsizeof(str), "%s `PayDay` = '%i',`Warns`= '%i',`Boxing` = '%i',`Kunfu` = '%i',`Kneehead` = '%i',`Grabkick` = '%i',`FStyle` = '%i',`Rope` = '%i',`CheatPassword` = '%i',`GPS` = '%i',`Sigs` = '%i',`Pivo` = '%i',`Wanted` = '%i',`RobTime` = '%i',`JackTime` = '%i',`Vipe` = '%i',`AdminOnline` = '%i',`Vip` = '%i', `MissionKeis` = '%i', `Donate` = '%i', `Adutydostup` = '%i'  WHERE `ID` = '%i'",
            
    str,
            
    Player[playerid][pPayDay],
            
    Player[playerid][pWarns],
            
    Player[playerid][pBoxing],
            
    Player[playerid][pKunfu],
            
    Player[playerid][pKneehead],
            
    Player[playerid][pGrabkick],
            
    Player[playerid][pFStyle],
            
    Player[playerid][pRope],
            
    Player[playerid][pCheatPassword],
            
    Player[playerid][pGPS],
            
    Player[playerid][pSigs],
            
    Player[playerid][pPivo],
            
    Player[playerid][pWanted],
            
    Player[playerid][pRobTime],
            
    Player[playerid][pJackTime],
            
    Player[playerid][pVipe],
            
    Player[playerid][pAdminOnline],
            
    Player[playerid][pVip],
            
    Player[playerid][pMissionKeis],
            
    Player[playerid][pDonate],
            
    Player[playerid][pAdutydostup],
            
    Player[playerid][pID]);
            
    mysql_query(str);
        }
        return 
    1;


  4. #4
    Аватар для gangzone.ini
    Модератор

    Статус
    Оффлайн
    Регистрация
    15.06.2014
    Сообщений
    650
    Репутация:
    105 ±
    Что-то я не наблидаю структуры AdutyPass, создай её) И вместо SaveAccount(playerid);, сделай сохранение пароля...
    Модератор с 19.03.2015

  5. #5
    Аватар для Dimon_Fanat
    Пользователь

    Статус
    Оффлайн
    Регистрация
    01.06.2014
    Сообщений
    81
    Репутация:
    -1 ±
    Цитата Сообщение от #Azumi Посмотреть сообщение
    Что-то я не наблидаю структуры AdutyPass, создай её) И вместо SaveAccount(playerid);, сделай сохранение пароля...
    Можешь раскозать что да как я с этими сохранениями не очень дружу...

  6. #6
    Аватар для gangzone.ini
    Модератор

    Статус
    Оффлайн
    Регистрация
    15.06.2014
    Сообщений
    650
    Репутация:
    105 ±
    Если начали сами делать, думаете за Вас будут делать ?
    Посмотрите код, и все поймете
    Модератор с 19.03.2015

  7. #7
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    3,931
    Репутация:
    1502 ±
    Радует фраза "Я новичок в Pawn, поэтому прошу вашей помощи". В школе/универе/на работе вы тоже подходите к преподавателю/работодателю и говорите "Ну я новичок, поэтому сделай всё за меня"? Пока сам не пройдёшь через серию попыток и неудач, опыта ты не наберёшься и навеки останешься "новичком". Знания сами по себе не придут
    P.S. Автору устное предупреждение. Изучи правила форума. Следующая тема, нарушающая правила данного форума, будет нещадно удаляться
    Связаться со мной можно в личных сообщениях этой группы

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •