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

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

    Проблема с mxINI

    Файл не создается.
    PHP код:
    public OnPlayerConnect(playerid

    SendClientMessage(playeridCOLOR_RED"Добро пожаловать на Box Play | Red"); 
    SetPlayerColor(playeridCOLOR_WHITE); 
    new 
    name[MAX_PLAYER_NAME]; 
    new 
    acc [128]; 
    GetPlayerName(playeridnamesizeof(name)); 
    format(acc,sizeof(acc),"players/%s.ini",name); 
    new 
    iniFile ini_openFile(acc); 
    if(
    iniFile 0){ 
    SendClientMessage(playeridCOLOR_RED"Зарегестрируйтесь, введя команду /register [пароль]"); 
    reg[playerid] = 0
    }else{ 
    SendClientMessage(playeridCOLOR_RED"Вы уже зарегестрированы. Введите /login [пароль]"); 
    reg[playerid] = 1

    return 
    1

    Сама команда:
    PHP код:
    CMD:register(playeridparams[]) // регистрация 

    if(
    reg[playerid] == 0){ 
    new 
    acc [128]; 
    new 
    password[64]; 
    new 
    name[MAX_PLAYER_NAME]; 
    sscanf(params,"d",password); 
    GetPlayerName(playeridnamesizeof(name)); 
    format(acc,sizeof(acc),"players/%s.ini",name); 
    new 
    iniFile ini_createFile(acc); 
    if(
    iniFile 0ini_openFile(acc); 

    ini_setString(iniFile"Password"password); 
    ini_closeFile(iniFile); 

    reg[playerid] = 2

    OnPlayerSpawn(playerid); 
    }else{ 
    return 
    1

    return 
    1


  2. #2
    Аватар для Daniel_Cortez
    "Это не хак, это фича"

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2589 ±
    В OnPlayerConnect вы открываете файл, а кто его закрывать будет? Потому-то в команде этот файл и не создаётся.
    Да и зачем открывать файл в OnPlayerConnect, когда нужно всего лишь проверить его существование? Это можно сделать с помощью fexist, без всяких там mxINI.

    P.S.: Идея с использованием числа вместо пароля (или 0, если введено не число) гениальна.
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

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

    Статус
    Оффлайн
    Регистрация
    09.03.2014
    Сообщений
    17
    Репутация:
    0 ±
    Цитата Сообщение от Daniel_Cortez Посмотреть сообщение
    В OnPlayerConnect вы открываете файл, а кто его закрывать будет? Потому-то в команде этот файл и не создаётся.
    Да и зачем открывать файл в OnPlayerConnect, когда нужно всего лишь проверить его существование? Это можно сделать с помощью fexist, без всяких там mxINI.

    P.S.: Идея с использованием числа вместо пароля (или 0, если введено не число) гениальна.
    Я новичок в павно, насчет численности пароля знаю. =D
    Я изменил OnPlayerConnect:
    PHP код:
    public OnPlayerConnect(playerid)
    {
        
    SendClientMessage(playeridCOLOR_RED"Добро пожаловать на Box Play | Red");
        
    SetPlayerColor(playeridCOLOR_WHITE);
        new 
    name[MAX_PLAYER_NAME];
        new 
    file[24];
        
    GetPlayerName(playeridnamesizeof(name));
        
    format(file,sizeof(file),"players/%s.ini",name);
        if(
    fexist(file)){
         
    SendClientMessage(playeridCOLOR_RED"Вы уже зарегестрированы. Введите /login [пароль]");
         
    reg[playerid] = 1;
         }else{
         
    SendClientMessage(playeridCOLOR_RED"Зарегестрируйтесь, введя команду /register [пароль]");
        
    reg[playerid] = 0;
         }
        return 
    1;

    Ничего не изменилось.

    - - - Добавлено - - -

    здесь что то не так с этим:
    PHP код:
    CMD:register(playeridparams[]) // регистрация
    {
        if(
    reg[playerid] == 0){
            new 
    acc [128];
            new 
    password[64];
            new 
    name[MAX_PLAYER_NAME];
            
    sscanf(params,"d",password);
            
    GetPlayerName(playeridnamesizeof(name));
            
    format(acc,sizeof(acc),"players/%s.ini",name);
            new 
    iniFile ini_createFile(acc);
            if(
    iniFile 0ini_openFile(acc);
            {
                
    ini_setString(iniFile"Password"password);
                
    ini_closeFile(iniFile);
            }
            
    reg[playerid] = 2;
            
    OnPlayerSpawn(playerid);
            
    SendClientMessage(playeridCOLOR_RED"hi");
        }else{
               return 
    1;
       }
        return 
    1;


  4. #4
    Аватар для MarioORG
    Пользователь

    Статус
    Оффлайн
    Регистрация
    09.03.2014
    Сообщений
    17
    Репутация:
    0 ±
    Проблема решена. Тему закрываем.
    Забыл создать папку.
    Последний раз редактировалось MarioORG; 22.06.2015 в 16:28.

  5. #5
    Аватар для Daniel_Cortez
    "Это не хак, это фича"

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2589 ±
    Цитата Сообщение от MarioORG Посмотреть сообщение
    Проблема решена. Тему закрываем.
    Сколько ж можно напоминать, ну не будьте вы такими эгоистами...
    Цитата Сообщение от Daniel_Cortez Посмотреть сообщение
    2. Если Вы сами решили проблему, обязательно напишите, в чём заключалась Ваша ошибка и какое Вы нашли решение (не исключено, что оно может оказаться неправильным - в этом случае остальные участники форума могут указать на это и подсказать более целесообразный вариант решения).
    3. Также в темах с вопросами запрещено удаление и/или изменение постов с целью скрыть их содержимое (например, замена содержимого поста на "delete" или любой другой бесполезный текст).
    Помните: на портале Вам помогают безвозмездно, не требуя ничего взамен - так помогите и Вы другим людям с таким же вопросом, дав им возможность найти ответ, посмотрев Вашу тему.
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

  6. #6
    Аватар для Desulaid
    лесоруб продакшен

    Статус
    Оффлайн
    Регистрация
    15.03.2015
    Адрес
    Slobodskoy
    Сообщений
    667
    Репутация:
    236 ±
    Я не профессионал и с sscanf знаком только на "он", разве "d" - это не целочисленная шняга?
    PHP код:
    CMD:register(playeridparams[]) // регистрация
    {
        if(
    reg[playerid] == 0){
            new 
    acc [128];
            new 
    password[64];
            new 
    name[MAX_PLAYER_NAME];
            
    sscanf(params,"s[63]",password);
            
    GetPlayerName(playeridnamesizeof(name));
            
    format(acc,sizeof(acc),"players/%s.ini",name);
            new 
    iniFile ini_createFile(acc);
            if(
    iniFile 0ini_openFile(acc);
            {
                
    ini_setString(iniFile"Password"password);
                
    ini_closeFile(iniFile);
            }
            
    reg[playerid] = 2;
            
    OnPlayerSpawn(playerid);
            
    SendClientMessage(playeridCOLOR_RED"hi");
        }else{
               return 
    1;
       }
        return 
    1;


  7. #7
    Аватар для Sp1ke
    Пользователь

    Статус
    Оффлайн
    Регистрация
    01.03.2015
    Сообщений
    245
    Репутация:
    55 ±
    Цитата Сообщение от Darge Посмотреть сообщение
    Я не профессионал и с sscanf знаком только на "он"
    Что, простите?
    Цитата Сообщение от Darge Посмотреть сообщение
    "d"
    id

  8. #8
    Аватар для Desulaid
    лесоруб продакшен

    Статус
    Оффлайн
    Регистрация
    15.03.2015
    Адрес
    Slobodskoy
    Сообщений
    667
    Репутация:
    236 ±
    Цитата Сообщение от Sp1ke Посмотреть сообщение
    Что, простите?

    id
    но суть то в пароле?
    PHP код:
    sscanf(params,"s[63]",password); 

  9. #9
    Аватар для Sp1ke
    Пользователь

    Статус
    Оффлайн
    Регистрация
    01.03.2015
    Сообщений
    245
    Репутация:
    55 ±
    s - читает строку
    Последний раз редактировалось Sp1ke; 02.06.2015 в 22:01.

  10. #10
    Аватар для A N D R E Y
    Пользователь

    Статус
    Оффлайн
    Регистрация
    07.12.2013
    Сообщений
    149
    Репутация:
    14 ±
    Цитата Сообщение от Sp1ke Посмотреть сообщение
    %s - читает строку
    Буквы.

 

 
Страница 1 из 2 1 2 ПоследняяПоследняя

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

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

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

Ваши права

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