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

Тема: AccountID

  1. #1
    Аватар для BaBuIIIkaDrifteR
    Пользователь

    Статус
    Оффлайн
    Регистрация
    24.03.2014
    Адрес
    Ямайка
    Сообщений
    303
    Репутация:
    8 ±

    AccountID

    У меня возникла маленькая проблема.
    Сделал что бы в файл записывался № аккаунта кто регаеться.
    Допустим 1 зарегался у него №1 будут, 2 зарегался у него №2 будет и т.д.
    Но почему то не записывается №. В чем проблема?

    public OnPlayerRegister(playerid, password[])
    PHP код:
             new numbergame;
            
    numbergame +=1;
            
    Player[playerid][pNumG] = numbergame;

                    
    ini_setInteger(iniFile,"pNumG",numbergame += 1);                         //Çàïèñûâàåì Íîìåð Àêêàóíòà 
    И еще тут же вопросик как сделать пробел между деньгами? Допустим у меня денег 100000. В диалоге MSGBOX пишет у вас 100000 денег. А как сделать что бы писало с пробелом ? Типо у вас 100 000 денег?
    Последний раз редактировалось BaBuIIIkaDrifteR; 03.02.2015 в 06:32.
    ip adress: В разработке:7777
    My Skype: Skype Phone
    [В]контакте: Рома Уруру
    Разработка: EnergyDRIFT©|2015

  2. #2
    Аватар для I'm Cobra
    Пользователь

    Статус
    Оффлайн
    Регистрация
    29.10.2013
    Сообщений
    151
    Репутация:
    17 ±
    В бд нужно к 'ID' присвоить значение 'Auto_Increment', и не нужно будет сохранять ID, а просто загружать.

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

    Статус
    Оффлайн
    Регистрация
    27.11.2013
    Адрес
    Нижневартовск
    Сообщений
    256
    Репутация:
    63 ±
    Цитата Сообщение от I'm Cobra Посмотреть сообщение
    В бд нужно к 'ID' присвоить значение 'Auto_Increment', и не нужно будет сохранять ID, а просто загружать.
    Хороший совет, но у него на файлах аккаунты.

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

    Статус
    Оффлайн
    Регистрация
    14.11.2013
    Адрес
    Свердловская обл.
    Сообщений
    688
    Репутация:
    103 ±
    Я правда вообще хз что и как там,но может:
    Player[playerid][pNumG] += 1;
    ini_setInteger(iniFile,"pNumG",Player[playerid][pNumG]);
    PAWN Compiler делает то, что вы приказали ему сделать, а не то, что вы хотели, чтобы он сделал..

    25% времени в программировании уходит на размышления о том, что пользователь может сделать не так.[HR]/Брайан Хьюмс/





    #FIXSAMP

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

    Статус
    Оффлайн
    Регистрация
    24.03.2014
    Адрес
    Ямайка
    Сообщений
    303
    Репутация:
    8 ±
    Цитата Сообщение от [ForD] Посмотреть сообщение
    Я правда вообще хз что и как там,но может:
    Player[playerid][pNumG] += 1;
    ini_setInteger(iniFile,"pNumG",Player[playerid][pNumG]);
    Нет ) Я пробывал уже так
    ip adress: В разработке:7777
    My Skype: Skype Phone
    [В]контакте: Рома Уруру
    Разработка: EnergyDRIFT©|2015

  6. #6
    Аватар для [ForD]
    Пользователь

    Статус
    Оффлайн
    Регистрация
    14.11.2013
    Адрес
    Свердловская обл.
    Сообщений
    688
    Репутация:
    103 ±
    PHP код:
    #include <a_samp>
    #include <mxINI>

    enum PlayerData
    {
        
    pID
    }
    new 
    PlayerInf[MAX_PLAYERS][PlayerData];
    new 
    filestr[13 MAX_PLAYER_NAME];
    new 
    PlFile;

    main();

    public 
    OnGameModeInit()
    {
        
    SetGameModeText("Blank Script");
        
    format(filestr,sizeof(filestr),"PlayerID.ini");//общ кол-во id
        
    if(!fexist(filestr))
         {
            
    PlFile ini_createFile(filestr);
            if(
    PlFile 0)
            {
                
    PlFile ini_openFile(filestr);
            }
            if(
    PlFile >= 0)
            {
                
    ini_setInteger(PlFile,"PlayerID",0);
                
    ini_closeFile(PlFile);
            }
        }
        return 
    1;
    }


    public 
    OnPlayerConnect(playerid)
    {
        new 
    Name[MAX_PLAYER_NAME];
        
    GetPlayerName(playerid,Name,sizeof(Name));
        
    format(filestr,sizeof(filestr),"Players/%s.ini",Name);
        if(!
    fexist(filestr))
        {
            
    ini_closeFile(PlFile);
            
    format(filestr,sizeof(filestr),"PlayerID.ini");
            
    PlFile ini_openFile(filestr);
            
    ini_getInteger(PlFile,"PlayerID",PlayerInf[playerid][pID]);
            
    PlayerInf[playerid][pID]++;
            
    ini_setInteger(PlFile,"PlayerID",PlayerInf[playerid][pID]);
            
    ini_closeFile(PlFile);
            
    format(filestr,sizeof(filestr),"Players/%s.ini",Name);
              
    PlFile ini_createFile(filestr);
            if(
    PlFile 0)
            {
                
    PlFile ini_openFile(filestr);
            }
            if(
    PlFile >= 0)
            {
                
    ini_setInteger(PlFile,"PlayerID",PlayerInf[playerid][pID]);
                
    ini_setString(PlFile,"PlayerName",Name);
                
    ini_closeFile(PlFile);
            }
        }
         return 
    1;

    В общем должно работать,я не совсем соображаю в файлах,но вроде все работает.
    Последний раз редактировалось [ForD]; 16.02.2015 в 09:38.
    PAWN Compiler делает то, что вы приказали ему сделать, а не то, что вы хотели, чтобы он сделал..

    25% времени в программировании уходит на размышления о том, что пользователь может сделать не так.[HR]/Брайан Хьюмс/





    #FIXSAMP

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

    Статус
    Оффлайн
    Регистрация
    24.03.2014
    Адрес
    Ямайка
    Сообщений
    303
    Репутация:
    8 ±
    Смотрите переделал. Теперь все нормально работает.
    Но когда выключаю сервер и включаю опять номер аккаунта пишет 0.
    Вот весь код.
    PHP код:
    public OnPlayerRegister(playeridpassword[])
    {
        if(
    IsPlayerConnected(playerid))
        {
            new 
    playername[MAX_PLAYER_NAME], string[128];
            
    GetPlayerName(playeridplayernamesizeof(playername));
            
    format(string,128,"Accouns/%s.ini",playername);
            new 
    iniFile ini_createFile(string);
            
    ini_setString(iniFile,"Name",playername); 
            
    ini_setString(iniFile,"Pass",password); 
            
    ini_setInteger(iniFile,"pNumG",Player[playerid][pNumG]);//Номер Аккаунта
            
    ini_closeFile(iniFile);
        }
        return 
    1;

    PHP код:
    public OnPlayerLogin(playerid,password[])
    {
        if(
    IsPlayerConnected(playerid))
        {
            new 
    pass[64], string[128];
            
    format(string128"Accouns/%s.ini"pNick(playerid));
            new 
    iniFile ini_openFile(string);
            if(
    iniFile 0) print(ini_getErrorInfo(iniFile)), ini_closeFile(iniFile);
            
    ini_getString(iniFile"Pass"pass);
            if(
    strcmp(passpasswordfalse) == 0)// Если введёный пароль, соответсвует паролю при регистрации, то загружаем акк
            
    {
                
    ini_getString(iniFile,"Name",Player[playerid][Name], MAX_PLAYER_NAME);
                
    ini_getString(iniFile,"Pass",Player[playerid][Pass], 64);
                
    ini_getInteger(iniFile,"pNumG",Player[playerid][pNumG]);//Номер аккаунта
                
    ini_closeFile(iniFile);
                         }
                 }
        return 
    1;

    PHP код:
    public OnPlayerConnect(playerid)
    {
    Player[playerid][pNumG] ++; 
    return 
    1;

    В чем тут проблема я не понимаю. ???
    Использование, пример:
    PHP код:
    if(strcmp(cmd"/MyID"true) == 0)
    {
    format(string,sizeof(string),"%sAccount ID: (%d)",string,Player[playerid][pNumG]);
    SPD(playerid,0,DIALOG_STYLE_MSGBOX,"Номер аккаунта игрока",string,"Ok","Heok");
    return 
    1;

    ip adress: В разработке:7777
    My Skype: Skype Phone
    [В]контакте: Рома Уруру
    Разработка: EnergyDRIFT©|2015

  8. #8
    Аватар для BaBuIIIkaDrifteR
    Пользователь

    Статус
    Оффлайн
    Регистрация
    24.03.2014
    Адрес
    Ямайка
    Сообщений
    303
    Репутация:
    8 ±
    Проблема не решена. UP
    ip adress: В разработке:7777
    My Skype: Skype Phone
    [В]контакте: Рома Уруру
    Разработка: EnergyDRIFT©|2015

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

    Статус
    Оффлайн
    Регистрация
    24.03.2014
    Адрес
    Ямайка
    Сообщений
    303
    Репутация:
    8 ±
    UPUPUP
    ip adress: В разработке:7777
    My Skype: Skype Phone
    [В]контакте: Рома Уруру
    Разработка: EnergyDRIFT©|2015

  10. #10
    Аватар для Mazzilla
    Пользователь

    Статус
    Оффлайн
    Регистрация
    27.11.2013
    Адрес
    Нижневартовск
    Сообщений
    256
    Репутация:
    63 ±
    Зачем делать айди аккаунта при хранении данных от аккаунтов в файлах?

    Ну и мой вариант решения проблемы:
    Имеется глобальная переменная total_accounts; Выгружаем значение из файла, который будет хранить значение этой переменной. После регистрации нового персонажа значение total_accounts увеличиваем на единицу и приравниваем к Player[playerid][pNumG] значение total_accounts. При рестарте мода, либо можно сделать таймер, обновляем значение total_accounts в файле.

 

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

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

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

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

Ваши права

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