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

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

    Система админки.

    Здраствуйте.Пишу я мод с нуля,написал систему администрации,в базе данных поставил себе лвл 10,захожу ничего,я не админ.
    Я решил другим способом,прописать админ систему на ники,и я зашел,мой ник дал себе админку,
    В Базе Данных я проверил поставил значение 10,а в игре прописал себе 0 лвл админки,захожу обновляю,и оно стало на 0.
    И так пару раз проверял.
    А когда назначаю там типо на 10... лвл или иначе..оно не записывает в таблицу число 10.
    А когда на 0 прописываю,ставит число на 0.
    И скажите ещё,я в мускуле на шарю так,как сделать на мускуле,чтобы в базе данных я прописал админку 10 уровня,и я был им,в максини я такое легко делаю,но на мускуле нет.

    помогите.

    Вот код.

    PHP код:
    CMD:makeadmin(playeridparams[])
    {
    new 
    PlayerName[MAX_PLAYER_NAME],adminlvl,pleer,adminname[128],string[128],string2[128];
    GetPlayerName(pleer,PlayerName,sizeof(PlayerName));
    GetPlayerName(playerid,adminname,sizeof(adminname));
    if(
    sscanf(params,"ud",pleer,adminlvl)) return SendClientMessage(playerid,COLOR_GRAD2,"**Используйте: /makeadmin [id] [уровень] **");
    new 
    redname[MAX_PLAYER_NAME];
    GetPlayerName(playeridrednamesizeof(redname));
    if(!
    strcmp(redname"Fernando_Capraso"true) || PlayerInfo[playerid][pAdmin] == 10)
    {
    if(
    adminlvl == 0)
    {
    new 
    query[186];
    PlayerInfo[playerid][pAdmin] = adminlvl;
    format(string,sizeof(string),"Администратор %s снял с вас должность администратора",adminname);
    format(string2,sizeof(string2),"Вы сняли с %s должность администратора",PlayerName);
    SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
    SendClientMessage(playerid,COLOR_LIGHTBLUE,string2);
    format(query,sizeof(query),"UPDATE `accounts` SET `Admin` = '0'",adminlvl);
    mysql_query(query);
    }
    if(
    adminlvl >= 1  && adminlvl <= 10)
    {
    new 
    query[386];
    format(string,sizeof(string),"Администратор %s назначил Вас администртором %d уровня",adminname,adminlvl);
    format(string2,sizeof(string2),"Вы назначили %s администратором %d уровня",PlayerName,adminlvl);
    SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
    SendClientMessage(playerid,COLOR_LIGHTBLUE,string2);
    format(query,sizeof(query),"SELECT * FROM `accounts` SET `Admin` = '%d'",adminlvl);
    mysql_query(query);
    }
    if(
    adminlvl >10)
    {
    SendClientMessage(playerid,COLOR_GRAD2,"Максимальный уровень админки 10!"); // Можно и удалить,неважно.
    }
    }
    return 
    1;

    Последний раз редактировалось Vincent_Alonso; 02.06.2014 в 19:29.

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Очень много ошибок...
    1) Нет проверки на онлайн. Могут случится проблемы, если некоторые функции вызывать для несуществующих игроков
    2) Запрос... Такого запроса в природе не существует. Изучите повторно документацию к MySQL. Там не так уж и много видов запросов.
    3) Зачем вы сразу делаете запись в БД, если при выходе всё равно уровень админки сохраняется?
    4) Куча лишнего. Код нелогичен. Ужс, одним словом.
    Вот. Не проверял:
    PHP код:
    CMD:makeadmin(playeridparams[])
    {
        if(
    sscanf(params"ud"params[0], params[1])) return SendClientMessage(playeridCOLOR_GRAD2"**Используйте: /makeadmin [id] [уровень] **");
        if(!
    IsPlayerConnected(strval(params[0]))) return SendClientMessage(playeridCOLOR_GRAD2"**Игрок не найден");
        new 
    PlayerName[MAX_PLAYER_NAME], string[54+MAX_PLAYER_NAME+3];
        
    GetPlayerName(playeridstringMAX_PLAYER_NAME);
        
    GetPlayerName(strval(params[0]), PlayerNameMAX_PLAYER_NAME);
        if(
    strcmp(PlayerName"Fernando_Capraso"true) && PlayerInfo[playerid][pAdmin] != 10) return SendClientMessage(playeridCOLOR_GRAD2"**Нет доступа");
        switch(
    strval(params[1]))
        {
            case 
    0:
            {
                
    format(string,sizeof(string),"Администратор %s снял с вас должность администратора",string);
                
    SendClientMessage(strval(params[0]), COLOR_LIGHTBLUEstring);
                
    format(string,sizeof(string),"Вы сняли с %s должность администратора",PlayerName);
                
    SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
            }
            case 
    1..10:
            {
                
    format(string,sizeof(string),"Администратор %s назначил Вас администртором %d уровня"stringstrval(params[1]));
                
    SendClientMessage(strval(params[0]),COLOR_LIGHTBLUE,string);
                
    format(string,sizeof(string),"Вы назначили %s администратором %d уровня"PlayerNamestrval(params[1]));
                
    SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
            }
            default: return 
    SendClientMessage(playerid,COLOR_GRAD2,"Максимальный уровень админки 10!");
        }
        
    PlayerInfo[playerid][pAdmin] = strval(params[1]);
        return 
    1;

    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    20.05.2014
    Сообщений
    23
    Репутация:
    0 ±
    Скажите,что делать,чтобы в базе данных админ был привязан к игре,а из игры в базу данных.

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от Vincent_Alonso Посмотреть сообщение
    Скажите,что делать,чтобы в базе данных админ был привязан к игре,а из игры в базу данных.
    Эмм, то есть?
    При входе грузите данные из таблицы (в том числе и уровень админки), а при выходе сохраняйте
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    20.05.2014
    Сообщений
    23
    Репутация:
    0 ±
    Можете ли вы дать мне свой скайп ?

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

    Либо добавить меня romkas3ua

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

    Обычно в меня LoadAccount записано вот так format(query, sizeof(query), "SELECT * FROM `accounts` WHERE `Password` = '%s' AND `ID` = '%i'", sqlpass, playerVariable[playerid][aID]);

    Когда добавляю после AND ещё одну данную,либо просто через запятую,оно при входе и вводе пароля пишет что неверный пароль.Вот так.

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

    Добавьте меня в скайп romkas3ua

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Скайп есть в моём профиле на форуме.
    Что вы хотите добавить и зачем? По имени и паролю вы 100% отыщите нужный аккаунт. Не будет же у вас на сервере двух игроков с одинаковым именем и паролем.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    20.05.2014
    Сообщений
    23
    Репутация:
    0 ±
    Так я так и непонел,как сделать так чтобы я в базе данных мог прописать себе админку ? ато прописываю и нефига!

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от Vincent_Alonso Посмотреть сообщение
    Так я так и непонел,как сделать так чтобы я в базе данных мог прописать себе админку ? ато прописываю и нефига!
    Эмм, как и в случае с файлами, нужно перезаходить на сервер. При том, если вы уже на сервере, нужно сначала выйти, потом выдать себе админку и только потом зайти
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    20.05.2014
    Сообщений
    23
    Репутация:
    0 ±
    Можно ли сделать так,чтобы вы посмотрели на мой мод,может там что-то не так ?

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от Vincent_Alonso Посмотреть сообщение
    Можно ли сделать так,чтобы вы посмотрели на мой мод,может там что-то не так ?
    Для начала попытайтесь определиться с тем, что там не так. А потом уже посмотрим
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

 

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

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

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

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

Ваши права

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