Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 2 из 2
  1. #1
    Аватар для Mike_Tree
    Пользователь

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

    Помогите исправить, целый день сижу...

    PHP код:
    /*============================================*/
    /*..................Инклуды...................*/
    #include <a_samp>
    #include <dc_cmd>
    #include <mxINI>
    #include <sscanf2>
    /*============================================*/

    /*============================================*/
    /*..................Дефайны...................*/
    #define DSL DIALOG_STYLE_LIST
    #define DSI DIALOG_STYLE_INPUT
    #define DSM DIALOG_STYLE_MSGBOX
    #define DSP DIALOG_STYLE_PASSWORD
    /*============================================*/
    enum pInfo
    {
        
    pMoney,
        
    Float:pHeal,
        
    pAdmin,
    }
    forward SaveAccounts();

    new 
    Player [MAX_PLAYERS] [pInfo];
    new 
    logged [MAX_PLAYERS];
    new 
    bool:gPlayerAccount [MAX_PLAYERS];
    new 
    saveacctimer// таймер для сохранения акков

    main()
    {
        print(
    "\n=====================================");
        print(
    "   Мод: Gold Role Play - Запущен!");
        print(
    " Разработка мода началась 13.04.2017");
        print(
    "=====================================\n");
    }

    /*============================================*/
    /*..................Паблики...................*/
    public OnFilterScriptExit()
    {
        return 
    1;
    }

    public 
    OnGameModeInit()
    {
        
    SetGameModeText("Gold RP v0.1");
        
    DisableInteriorEnterExits(); //отключает жёлтые стрелочки
        
    EnableStuntBonusForAll(0); // отключает бонусы за трюки
        
    saveacctimer SetTimer("SaveAccounts"5000,1);// Таймкр сохранения акков
        
    AddPlayerClass(0,1766.8654,-1895.6343,13.5629,271.3498,0,0,0,0,0,0);
        return 
    1;
    }

    public 
    OnGameModeExit()
    {
        
    KillTimer(saveacctimer);
        
    SaveAccounts();
        return 
    1;
    }

    public 
    OnPlayerRequestClass(playeridclassid)
    {
        
    SetPlayerPos(playerid1477.9594,-1675.2646,-5.5426);
        
    SetPlayerCameraPos(playerid1376.9772,-1535.4904,129.4320);
        
    SetPlayerCameraLookAt(playerid1480.2061,-1678.2762,41.8443);
        return 
    1;
    }

    public 
    OnPlayerConnect(playerid)
    {
        
    SendClientMessage(playerid,0xFFFF00,"Добро пожаловать на сервер Garex Role Play!");
        new 
    PlayerName [MAX_PLAYER_NAME], account[128];
        
    GetPlayerName(playeridPlayerNamesizeof(PlayerName)); // Узнаём ник игрока
        
    format(account,sizeof(account), "users/%s.ini",PlayerName); // создание аккаунта
        
    if(!fexist(account)) //Если аккаунта нет, то...
        
    {
        
    gPlayerAccount[playerid] = false;
        
    ShowPlayerDialog(playerid2DSI"Регистрация""Добро пожаловать на сервер Gold Role Play!\nДанного аккаунта не существует,\nпройдите простую регистрацию!\nПридумайте пароль:");
        }
        else 
    //аккаунт есть
        
    {
        
    gPlayerAccount[playerid] = true
        ShowPlayerDialog
    (playerid3DSI"Авторизация""Добро пожаловать на сервер Gold Role Play\nДанный аккаунт зарегестрирован\nВведите пароль:");
        }
        return 
    1;
    }

    public 
    OnPlayerDisconnect(playeridreason)
    {
        return 
    1;
    }

    public 
    OnPlayerSpawn(playerid)
    {
        return 
    1;
    }

    public 
    OnPlayerDeath(playeridkilleridreason)
    {
        return 
    1;
    }

    public 
    OnVehicleSpawn(vehicleid)
    {
        return 
    1;
    }

    public 
    OnVehicleDeath(vehicleidkillerid)
    {
        return 
    1;
    }

    public 
    OnPlayerText(playeridtext[])
    {
        return 
    1;
    }

    public 
    OnPlayerCommandText(playeridcmdtext[])
    {
    return 
    1;
    }
    CMD:tp(playerid)
    {
        if(
    Player[playerid][pAdmin] > 0)
        {
            
    ShowPlayerDialog(playerid1DSL"Список телепортов","");
        }
        else
            {return 
    1;}
    }


    public 
    OnPlayerEnterVehicle(playeridvehicleidispassenger)
    {
        return 
    1;
    }

    public 
    OnPlayerExitVehicle(playeridvehicleid)
    {
        return 
    1;
    }

    public 
    OnPlayerStateChange(playeridnewstateoldstate)
    {
        return 
    1;
    }

    public 
    OnPlayerEnterCheckpoint(playerid)
    {
        return 
    1;
    }

    public 
    OnPlayerLeaveCheckpoint(playerid)
    {
        return 
    1;
    }

    public 
    OnPlayerEnterRaceCheckpoint(playerid)
    {
        return 
    1;
    }

    public 
    OnPlayerLeaveRaceCheckpoint(playerid)
    {
        return 
    1;
    }

    public 
    OnRconCommand(cmd[])
    {
        return 
    1;
    }

    public 
    OnPlayerRequestSpawn(playerid)
    {
        return 
    1;
    }

    public 
    OnObjectMoved(objectid)
    {
        return 
    1;
    }

    public 
    OnPlayerObjectMoved(playeridobjectid)
    {
        return 
    1;
    }

    public 
    OnPlayerPickUpPickup(playeridpickupid)
    {
        return 
    1;
    }

    public 
    OnVehicleMod(playeridvehicleidcomponentid)
    {
        return 
    1;
    }

    public 
    OnVehiclePaintjob(playeridvehicleidpaintjobid)
    {
        return 
    1;
    }

    public 
    OnVehicleRespray(playeridvehicleidcolor1color2)
    {
        return 
    1;
    }

    public 
    OnPlayerSelectedMenuRow(playeridrow)
    {
        return 
    1;
    }

    public 
    OnPlayerExitedMenu(playerid)
    {
        return 
    1;
    }

    public 
    OnPlayerInteriorChange(playeridnewinterioridoldinteriorid)
    {
        return 
    1;
    }

    public 
    OnPlayerKeyStateChange(playeridnewkeysoldkeys)
    {
        return 
    1;
    }

    public 
    OnRconLoginAttempt(ip[], password[], success)
    {
        return 
    1;
    }

    public 
    OnPlayerUpdate(playerid)
    {
        return 
    1;
    }

    public 
    OnPlayerStreamIn(playeridforplayerid)
    {
        return 
    1;
    }

    public 
    OnPlayerStreamOut(playeridforplayerid)
    {
        return 
    1;
    }

    public 
    OnVehicleStreamIn(vehicleidforplayerid)
    {
        return 
    1;
    }

    public 
    OnVehicleStreamOut(vehicleidforplayerid)
    {
        return 
    1;
    }

    public 
    OnDialogResponse(playeriddialogidresponselistiteminputtext[])
    {
        if(
    dialogid == 2)
        {
            if(!
    strlen(inputtext)) return ShowPlayerDialog(playerid2DSI"Регистрация""Добро пожаловать на сервер Gold Role Play!\nДанного аккаунта не существует,\nпройдите простую регистрацию!\nПридумайте пароль:");
            if(
    response)
            {
                new 
    PlayerName[MAX_PLAYER_NAME];new account[128];
                
    GetPlayerName(palyerid,PlayerNamesizeof(PlayerName)); // Узнаём ник игрока
                
    format(account,sizeof(account), "users/%s.ini",PlayerName); // ищем акк
                
    if (fexist(account)) return ShowPlayerDialog(playerid3DSI"Авторизация""Добро пожаловать на сервер Gold Role Play!\nДанный аккаунт зарегестрирован!\nВведите пароль:");
                new 
    iniFile ini_createFile(account); // создаём акк
                
    if(iniFile 0ini_openFile (account); // если файл пустой, то...
                
    {
                    
    ini_setString(iniFile,"Пароль",inputtext); // сохраняем пароль
                    
    ini_setInteger(iniFile,",Money"100); // кол-во денег
                    
    ini_setFloat(iniFile,"Heal"100.0); // кол-во хп
                    
    ini_setInteger(iniFile,"Admin"0); // лвл админки
                    
    ini_closeFile(inifile);
                    
    SetPVarInt(playerid,"Logged"0); // переменная авторизации
                    
    SpawnPlayer(playerid);
                }
            }
        }
        if(
    dialogid == 3)
        {
            if(!
    strlen(inputtext)) return Kick(playerid);
            if(
    response// проверка на кнопку "ОК" и Enter
            
    {
                new 
    PlayerName[MAX_PLAYER_NAME], password[64];new account[128];
                
    GetPlayeName(palyerid,PlayerNamesizeof(PlayerName)); // Узнаём ник игрока
                
    format(account,sizeof(account), "users/%s.ini",PlayerName); // ищем акк
                
    if (IsPlayerName(playerid))return 1;
                new 
    iniFile ini_openFile(account);
                
    ini_getString(iniFile"Пароль",password); // узнаём пароль
                
    if(!strcmp(inputtextpasswordtrue))
                {
                    
    ini_getInteger(iniFile,",Money",Player[playerid][pMoney]); // кол-во денег
                    
    ini_getFloat(iniFile,"Heal",Player[playerid][pHeal]); // кол-во хп
                    
    ini_getInteger(iniFile,"Admin",Player[playerid][pAdmin]); // лвл админки
                    
    ini_closeFile(inifile);
                    
    SetPlayerHealth(playeridPlayer[playerid][pHeal]);
                    
    logged[playerid] = 1;
                    
    SpawnPlayer(playerid);
                    
    GivePlayerMoney(playeridPlayer[playerid][pMoney])
                    
    SendClientMessage(playerid0x33CCFFAA"[/mm] - Меню сервера");
                    return 
    1;
                }
                else
                {
                
    SendClientMessage(playerid0xFFFF00AA"Server: Неверный пароль!");
                
    "Авторизация""Добро пожаловать на сервер Gold Role Play!\nДанный аккаунт зарегестрирован!\nВведите пароль:");
                return 
    1;
            }
            else
            {
                
    Kick(playreid);
            }
            
        }
        return 
    1;
    }

    public 
    OnPlayerClickPlayer(playeridclickedplayeridsource)
    {
        return 
    1;
    }

    public 
    SaveAccounts()
    {
        for(new 
    f<GetMaxPlayers(); f++)
        {
            if(!
    IsPlayerConnected(f))continue;
            
    SaveAccount
        
    }
    }
    /*============================================*/

    stock SaveAccount(playerid)
    {
        new 
    PlayerName[MAX_PLAYER_NAME], account[128];
        
    GetPlayrName(playerid,PlayerName,sizeof(PlayerName));
        
    format(account,sizeof(account), "users/%s.ini"PlayerName);
        new 
    iniFile ini_openFile(account);
        
    ini_setInteger(iniFile"Money",GetPlayerMoney(playeid));
        
    ini_seyFloat(iniFile"Heal"Player[playerid][pHeal]);
        
    ini_setInterger(iniFile"Admin"Player[playerid][pAdmin]);
        
    ini_closeFile(iniFile);
        
    GetPlayerHealth(playeridPlayer[playerid][pHeal]);
        return 
    1;


  2. #2
    Аватар для Guldan
    Пользователь

    Статус
    Оффлайн
    Регистрация
    22.11.2016
    Сообщений
    43
    Репутация:
    2 ±
    Смешно

 

 

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

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

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

Ваши права

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