Закрыть Привет! Если вы читаете это - Вы еще не зарегистрированы. Это займет не больше минуты. Нажмите здесь, чтобы пройти регистрацию в несколько простых шагов, чтобы пользоваться всеми возможностями нашего форума. Обратите внимание, запрещены непристойные, матерные, бессмысленные (цифры, случайный набор букв) ники. Удачи!

Тема: mxINI (уроки)

Показано с 1 по 10 из 41

  1. #1
    Пользователь

    Аватар для Andrey_Kiryuhin

    Статус: Оффлайн
    Регистрация:11.11.2010
    Адрес:г.Пенза
    Сообщений:515
    Репутация:153 [+/-] 

    Восклицание mxINI (уроки)

    Сначало качаем инклуд mxINI http://depositfiles.com/files/4zj1dhp98
    Теперь Закидываем в папку pawno/include !P.S Если нету его у вас
    Теперь вписываем в enum pInfo:
    PHP код:
      Kills,
      
    Deaths,
      
    Money 
    Примерно это будет выглядить так :
    PHP код:
    enum pInfo
    {
      
    Kills,
      
    Deaths,
      
    Money

    Если он уже у вас есть то просто добавьте в enum строчки Kills,Deaths,Money
    Под enum pInfo
    пишем
    PHP код:
    new pStats[MAX_PLAYERS][pInfo]; 
    Чтобы показывал статистику командой /stats
    Если у вас регистрация сделана по уроку Stunt-a тогда в public OnPlayerConnect2 добовляем
    PHP код:
     new pConfigpName[MAX_PLAYER_NAME], str[64];
         
    GetPlayerName(playeridpNamesizeof(pName));
         
    format(strsizeof(str), "%s.ini",pName);
        
    pConfig ini_openFile (str);

      if(
    pConfig == INI_OK)
        {
           
    ini_getInteger(pConfig,"Kills"pStats[playerid][Kills]);
           
    ini_getInteger(pConfig,"Deaths"pStats[playerid][Deaths]);
           
    ini_getInteger(pConfig,"Money"pStats[playerid][Money]);

            
    ini_closeFile(pConfig);

             
    SendClientMessage(playerid0xFFFFFF"[Сервер]: Файл найден.");
        }
        else
        {
            
    pConfig ini_createFile(str);
            
    SendClientMessage(playerid0xFFFFFF"[Сервер]: Файл отсуствует.");
            if (
    pConfig == INI_OK)
            {
            
    ini_setInteger(pConfig,"Kills"0);
            
    ini_setInteger(pConfig,"Deaths"0);
            
    ini_setInteger(pConfig,"Money"0);

                
    ini_getInteger(pConfig,"Kills"pStats[playerid][Kills]);
               
    ini_getInteger(pConfig,"Deaths"pStats[playerid][Deaths]);
               
    ini_getInteger(pConfig,"Money"pStats[playerid][Money]);
          
    ini_closeFile(pConfig);
          
    SendClientMessage(playerid0xFFFFFF"[Сервер]:Файл создан.");
            }
            else 
    SendClientMessage(playerid0xFFFFFF"[Сервер]: неудаёться создать файл");
        } 
    Ну а если своя тогдав public OnPlayerConnect!
    Теперь нам надо сделать чтоб при выходи все сохранялось в public OnPlayerDisconnect пихаем в самый низ перед return 1;
    PHP код:
     new pConfigpName[MAX_PLAYER_NAME], str[64];
         
    GetPlayerName(playeridpNamesizeof(pName));
         
    format(strsizeof(str), "%s.ini",pName);
        
    pConfig ini_openFile (str);
        if(
    pConfig == INI_OK)
        {
          
    ini_setInteger(pConfig,"Kills"pStats[playerid][Kills]);
            
    ini_setInteger(pConfig,"Deaths"pStats[playerid][Deaths]);
            
    ini_setInteger(pConfig,"Money"GetPlayerMoney(playerid));
            
    ini_closeFile(pConfig);
        }
        else print(
    "Ошибка при сохранений данных'");
        return 
    1;

    Теперь в public OnPlayerDeath добовляем чтоб довалось убийства и смерти ! ВОт это !Ну и конешно же чтоб в /stats показывало сколько убийств и смертей:
    PHP код:
    pStats[killerid][Kills]++;
      
    pStats[playerid][Deaths]++; 
    Ну и последнее добовляем в pubic OnPlayerCommandText команду /stats ВОт код :
    PHP код:
    if (strcmp("/stats"cmdtexttrue7) == 0)
        {
            new 
    str[256];
            
    format(strsizeof(str), "[Сервер]: Убийств: %d, Смертей: %d, Денег: %d"pStats[playerid][Kills], pStats[playerid][Deaths], GetPlayerMoney(playerid));
            
    SendClientMessage(playerid0xFFFFFFstr);
            return 
    1;
        } 
    ВОт и всё кому помог непожалейте для меня +!
    Учился по урокам Stunt спасибо ему!
    Урок окончен всем удачи!
    У кого какие ошибки пишите тут помогу!
  2. 10 пользователей сказали cпасибо Andrey_Kiryuhin за это полезное сообщение:

    legenda (21.11.2010), ReDDy ㋛ (25.11.2011), Ru[D]o (30.07.2011), shebelme (20.06.2011), sKeLeT (07.12.2011), Steve (27.09.2011), tankist (29.09.2011), Victor_Ananyev (19.06.2011), Vlad777 (24.01.2011), [H]ooligan[S] (19.11.2012)

  3. #2
    Пользователь

    Аватар для Andrey_Kiryuhin

    Статус: Оффлайн
    Регистрация:11.11.2010
    Адрес:г.Пенза
    Сообщений:515
    Репутация:153 [+/-] 
    И так продолжем урок связанный с инклудом mxINI!
    Меня просто один человек попросил выложить для ознакомления с инклудом!
    Сейчас мы сделаем регистрацию в диалоге для сервера!
    Поговорим немножко о инклуде mxINI!
    Инклуд mxINI чем то хорош от инклуда Dini а чем то плох даже на старых ресурсах сравнивали их!
    Ну мы сейчас говорим не об DINI а о mxINI.
    Так вот этот инклуд позволяет быстро читай,сохранять,записывать данные с файла!
    Ну так вот маленькое описание дали дальше я вам расскажу функции mxINI
    1. Работа с файлами.
    PHP код:
    ini_createFile("Путь/к/файлу.ini"); // Данная функция создаёт файл.
    ini_openFile("Путь/к/файлу.ini"); // Эта функция открывает существующий файл.
    ini_closeFile(ИД_открытого_файла); // Эта функция закрывает уже открытый файл. 
    2. Запись данных в файл.
    PHP код:
    ini_setString(ИД_открытого_файла"имя ключа""текст"); // Эта функция записывает текст в ключ.
    ini_setInteger(ИД_открытого_файла"имя ключа"123456 ); // Эта функция записывает целое число в ключ.
    ini_setFloat(ИД_открытого_файла"имя ключа"3.1416 ); // Эта функция записывает десятичное число в ключ. 
    3. Чтение ключей из файла.
    PHP код:
    ini_getString(ИД_открытого_файла"имя ключа"Нужная_вам_переменная); // Эта функция записывает текст в переменную из файла.
    ini_getInteger(ИД_открытого_файла"имя ключа"Нужная_вам_переменная); // Эта функция записывает целое число в переменную из файла.
    ini_getFloat(ИД_открытого_файла"имя ключа"Нужная_вам_переменная); // Эта функция записывает десятичное число в переменную из файла. 
    4. Остальные функции.
    PHP код:
    ini_removeKey(ИД_открытого_файла"имя ключа"); // Эта функция удаляет ключ из файла
    ini_getErrorInfo(Код_ошибки); // Эта функция возвращает ошибку, не как число, а как текст. 
    Вот вам я моленько дал информации о как открыть как сохранять файлы!
    Теперь делаем саму регистрацию!
    Так вот создаём enum pInfo как например в моём уроке по сохранению киллов и денег !
    Потом закидываем ко всем forward
    PHP код:
    forward OnPlayerRegistered(playeridpassword[]); /* Этот паблик нужен для создания аккаунта */
    forward OnPlayerLogged(playeridpassword[]); /* Этот паблик нужен для авторизации */
    forward OnPlayerSave(playerid); /* Этот паблик нужен для сохранения данных при выходе игрока */
    forward OnPlayerConnect2(playerid); /* Этот паблик нужен, чтобы показать диалоговое окно при подключении. */ 
    Теперь создаём public-и
    PHP код:
    public OnPlayerLogged(playeridpassword[])
    {
        new 
    string[255], PlayerName[40];
            
    GetPlayerName(playeridPlayerName40);
            
    format(string256"%s.ini"PlayerName);
        new 
    iniFile ini_openFile (string); /* Открываем файл */
        
    ini_getString(iniFile"Password"string);  /* Узнаём пароль аккаунта */
        
    if(strcmp(stringpasswordtrue10) == 0)
            {  
    /* Проверяем совпадает пароль или нет */
            
    ini_getInteger(iniFile"Admin"Player[playerid][pAdmin]);  /* Если пароль совпадает узнаём переменную админ  */
            
    ini_getInteger(iniFile"Money"Player[playerid][pMoney]);  /* Узнаём кол-во денег */
            
    GivePlayerMoney(playeridPlayer[playerid][pMoney]);  /* Выдаём деньги */
            
    ini_closeFile(iniFile);  /* Закрываем файл */
        
    } else {  /* Если пароль не верный выдаём опять диалоговое меню */
            
    ShowPlayerDialog(playerid1DIALOG_STYLE_INPUT"Авторизация.""Введите Пароль в окошко чтобы войти""Ок""Отмена");
            
    ini_closeFile(iniFile);  /* Закрываем файл */
        
    }
        return 
    1;

    public для регистрации
    PHP код:
    public OnPlayerRegistered(playeridpassword[])
    {
        new 
    string[255], PlayerName[40];
        
    GetPlayerName(playeridPlayerName40);
        
    format(string256"%s.ini"PlayerName);
        new 
    iniFile ini_createFile(string);  /* Создаём файл */
        
    if(iniFile 0)
        
    iniFile ini_openFile(string); /* Открываем файл */
        
    ini_setString(iniFile"Password"password); /* Записываем пароль в файл */
        
    ini_setInteger(iniFile"Admin"0);  /* Создаём переменную админа */
        
    ini_setInteger(iniFile"Money"100);  /*  Создаём переменную денег */
        
    ini_closeFile(iniFile);  /* Закрываем файл */
            
    OnPlayerLogged(playeridpassword);
        return 
    1;

    public для сохранения
    PHP код:
    public OnPlayerSave(playerid){
        
    Player[playerid][pMoney] = GetPlayerMoney(playerid); /* Узнаём кол-во денег */
        
    new string[255], PlayerNames[40];
         
    GetPlayerName(playeridPlayerNames40);
         
    format(string256"%s.ini"PlayerNames);
        new 
    iniFile ini_openFile (string); /* Открываем файл */
        
    ini_setInteger(iniFile"Money"Player[playerid][pMoney]); /* Сохраняем кол-во денег в файл */
        
    ini_closeFile(iniFile); /* Закрываем файл */
        
    return 1;

    Потом в public OnDialogResponce добовляем наш диалоговое меню
    PHP код:
        if(dialogid == 0){
            if(
    response){
                if(!
    strlen(inputtext)){
                    
    ShowPlayerDialog(playerid0DIALOG_STYLE_INPUT"Регистрация!Введите пороль чтобы зарегестрироваться на сервере.""Пароль""Ок""Отмена"); /* Если не ввёл текст выдаём окно заного */
                    
    return 1;
                }
                
    OnPlayerRegistered(playeridinputtext);
            }else{
                
    ShowPlayerDialog(playerid0DIALOG_STYLE_INPUT"Регистрация!Введите пороль чтобы зарегестрироваться на сервере.""Пароль""Ок""Отмена"); /* Если нажал отмена */
            
    }
            return 
    1;
        }
    //------------------------------------------------------------------------------
        
    if(dialogid == 1){
            if(
    response){
                if(!
    strlen(inputtext)){
                    
    ShowPlayerDialog(playerid1DIALOG_STYLE_INPUT"Авторизация.""Введите Пароль в окошко чтобы войти""Ок""Отмена"); /* Если не ввёл пароль для авторизации */
                    
    return 1;
                }
                
    OnPlayerLogged(playeridinputtext);
            }else{
                
    ShowPlayerDialog(playerid1DIALOG_STYLE_INPUT"Авторизация.""Введите Пароль в окошко чтобы войти""Ок""Отмена"); /* Если нажал отмена */
            
    }
            return 
    1;
        } 
    Примерно будет выглядить так
    PHP код:
    public OnDialogResponse(playeriddialogidresponselistiteminputtext[]){
    //------------------------------------------------------------------------------
        
    if(dialogid == 0){
            if(
    response){
                if(!
    strlen(inputtext)){
                    
    ShowPlayerDialog(playerid0DIALOG_STYLE_INPUT"Регистрация!Введите пороль чтобы зарегестрироваться на сервере.""Пароль""Ок""Отмена"); /* Если не ввёл текст выдаём окно заного */
                    
    return 1;
                }
                
    OnPlayerRegistered(playeridinputtext);
            }else{
                
    ShowPlayerDialog(playerid0DIALOG_STYLE_INPUT"Регистрация!Введите пороль чтобы зарегестрироваться на сервере.""Пароль""Ок""Отмена"); /* Если нажал отмена */
            
    }
            return 
    1;
        }
    //------------------------------------------------------------------------------
        
    if(dialogid == 1){
            if(
    response){
                if(!
    strlen(inputtext)){
                    
    ShowPlayerDialog(playerid1DIALOG_STYLE_INPUT"Авторизация.""Введите Пароль в окошко чтобы войти""Ок""Отмена"); /* Если не ввёл пароль для авторизации */
                    
    return 1;
                }
                
    OnPlayerLogged(playeridinputtext);
            }else{
                
    ShowPlayerDialog(playerid1DIALOG_STYLE_INPUT"Авторизация.""Введите Пароль в окошко чтобы войти""Ок""Отмена"); /* Если нажал отмена */
            
    }
            return 
    1;
        }
    //------------------------------------------------------------------------------
        
    return 1;

    Продолжение снизу
  4. 4 пользователей сказали cпасибо Andrey_Kiryuhin за это полезное сообщение:

    shebelme (20.06.2011), Steve (27.09.2011), tankist (29.09.2011), Victor_Ananyev (19.06.2011)

  5. #3
    Пользователь

    Аватар для Andrey_Kiryuhin

    Статус: Оффлайн
    Регистрация:11.11.2010
    Адрес:г.Пенза
    Сообщений:515
    Репутация:153 [+/-] 
    Теперь создаём ещё один паблик чтобы при коннекте выдавался диалог с регистрацией или логином
    PHP код:
    public OnPlayerConnect2(playerid)
    {
            new 
    string[255], PlayerName[40];
            
    GetPlayerName(playeridPlayerName40);
            
    format(string256"%s.ini"PlayerName);
        if(
    fexist(string)) /* Проверяем есть файл ( зарегистрирован ) или нет */
            
    {
            
    ShowPlayerDialog(playerid1DIALOG_STYLE_INPUT"Авторизация.""Пароль""Ок""Отмена"); /* Если файл есть то даём окно авторизации */
        
    }  else {
                     
    ShowPlayerDialog(playerid0DIALOG_STYLE_INPUT"Регистрация.""Пароль""Ок""Отмена"); /* Если он не зарегистрирован, даём окно регистрации  */
            
    }
        return 
    1;

    В public OnPlayerDisconnect добовляем
    PHP код:
    OnPlayerSave(playerid); /* Сохраняем данные при выходе из игры */ 
    Для сохранения при выходе из игры!
    Вот и всё половина материала взята с sa-mp.com
    Половина урока моя!
    Спасибо за внимание удачи вам с инклудом mxINI задавайте в эту тему свои вопросы по инклуду!
    Большую благодарность Stunt-у за обяснение этого инклуда и работу с ним!
    Специально для Pawno-Info
  6. 7 пользователей сказали cпасибо Andrey_Kiryuhin за это полезное сообщение:

    Ejikin91 (24.06.2011), IncoGnitO (22.01.2011), Role[x] (07.01.2011), shebelme (20.06.2011), Steve (27.09.2011), tankist (26.09.2011), Victor_Ananyev (19.06.2011)

  7. #4
    Пользователь

    Аватар для Role[x]

    Статус: Оффлайн
    Регистрация:19.12.2010
    Сообщений:21
    Репутация:0 [+/-] 
    Спасибо, лови +
  8. #5
    Пользователь

    Аватар для Andrey_Kiryuhin

    Статус: Оффлайн
    Регистрация:11.11.2010
    Адрес:г.Пенза
    Сообщений:515
    Репутация:153 [+/-] 
    да нз
  9. 2 пользователей сказали cпасибо Andrey_Kiryuhin за это полезное сообщение:

    Role[x] (07.01.2011), Steve (27.09.2011)

  10. #6
    Пользователь

    Аватар для IncoGnitO

    Статус: Оффлайн
    Регистрация:11.11.2010
    Сообщений:251
    Репутация:22 [+/-] 
    хорошый урок
  11. #7
    Пользователь

    Аватар для Vlad777

    Статус: Оффлайн
    Регистрация:12.11.2010
    Сообщений:131
    Репутация:0 [+/-] 
    ого спасибо за урок.
  12. #8
    Пользователь

    Аватар для D_ReMax

    Статус: Оффлайн
    Регистрация:11.02.2011
    Сообщений:7
    Репутация:0 [+/-] 
    Спасибо за урок , попробую сделать позже)
  13. #9
    Пользователь

    Аватар для TEKINQ

    Статус: Оффлайн
    Регистрация:11.02.2011
    Сообщений:3
    Репутация:0 [+/-] 
    Сори я нуб и у меня выходит вот что

    C:\SERVER\SA-MP\gamemodes\test.pwn(155) : error 017: undefined symbol "Player"
    C:\SERVER\SA-MP\gamemodes\test.pwn(155) : warning 215: expression has no effect
    C:\SERVER\SA-MP\gamemodes\test.pwn(155) : error 001: expected token: ";", but found "]"
    C:\SERVER\SA-MP\gamemodes\test.pwn(155) : error 029: invalid expression, assumed zero
    C:\SERVER\SA-MP\gamemodes\test.pwn(155) : fatal error 107: too many error messages on one line

    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


    4 Errors.

    ini_getInteger(iniFile, "Admin", Player[playerid][pAdmin]); /* Если пароль совпадает узнаём переменную админ */


    Помогите пожалуйста
    Последний раз редактировалось TEKINQ; 11.02.2011 в 23:11.
  14. #10
    Пользователь

    Аватар для Andrey_Kiryuhin

    Статус: Оффлайн
    Регистрация:11.11.2010
    Адрес:г.Пенза
    Сообщений:515
    Репутация:153 [+/-] 
    что то пропустил или неправильно копирнул и какой мод у тебя?
Страница 1 из 5 123 ... Последняя
  • К странице:

Пользователи, которые читали эту тему: 9

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
В обязанности Администрации не входит контроль легальности или нелегальности передаваемой информации (любой, включая, но не ограничиваясь, информацией передаваемой между пользователями, внутренней пересылки информации в виде различных ссылок, текстов или архивов), определение прав собственности или законности передачи, приема или использования этой информации.
Администрация не несёт никакой ответственности за пользователей и модер состав форума!
читы хаки samp-rp advanvce скачать pawn скриптинг моды скрипты гарант s0beit cs 1.6 0.3x читы World of Tanks Баги samp-rp,читы samp-rp,аккаунты самп-рп Скриптинг PAWNO SA-MP IV-MP MTA уроки помощь создание сервер моды скрипты плагины cleo читы читинг собейт s0beit sobeit моды для sa-mp скрипты для sa-mp pawno скриптинг pawno скрипты pawno моды iv-mp скриптинг iv-mp скрипты iv-mp моды мод godfather Моды SAMP как установить машины для gta 4 Моды гта 4 Моды GTA 4 скачать моды для GTA 4 скрипты и моды GTA 4 скачать скрипты SAMP моды SAMP на русском языке где можно скачать Pen1 LS скачать Pen1 Fugitive скачать The Godfather rp roleplay samp-rp скачать бесплатно создать sa-mp сервер создать мод sa-mp создать скрипт в pawno gta-iv gta-v gta-sa gta-3 gta-III gta-4 gta-5 gta-vc mta mta-dm mta-race mta-sa pawno инфо info информация ru помощь в pawno ошибки pawno сервер павно gta-iv крэк gta-iv патч gta-v демо gta-v трейлер gta-iv keygen скрипты gta sa gta 4 multiplayer gta san adnreas multiplayer sa-mp forum форум о sa-mp форум о pawno русский sa-mp русское pawno русификатор реклама раскрутка сервера пиар сервера sa-mp мониторинг gta-sa ошибки в pawno pawno errors sa-mp 0.3c SA-MP 0.3d Играть в гта по сети моды для сампа скрипты самп Моды гта 4 Моды GTA 4 скачать моды для GTA 4 скрипты и моды GTA 4 скачать скрипты SAMP моды SAMP на русском языке где можно скачать Pen1 LS скачать Pen1 Fugitive скачать The Godfather Все моды SAMP у нас взлом вк hack rat android instagram twitter хак хакер лайфхак рынок продажа ddos защита услуги администратор root linux ubuntu mac android андроид прошивка без ограничений advance arizona читы 4g безлимит