Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.

Реклама


**Как получить V.I.P** (Перейти)
Чтобы заказать рекламу на Pro-Pawn.Ru, обращайтесь в Skype.
Баннерная реклама 200руб/мес, Текстовая 100руб/мес.
Страница 1 из 2 12 ПоследняяПоследняя
Показано с 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
    Адрес
    Восточный Мордор
    Сообщений
    3,931
    Репутация:
    1502 ±
    Очень много ошибок...
    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;

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

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

    Steve Pavlina

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

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

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

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

    Широко известно, что идеи стоят 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
    Адрес
    Восточный Мордор
    Сообщений
    3,931
    Репутация:
    1502 ±
    Скайп есть в моём профиле на форуме.
    Что вы хотите добавить и зачем? По имени и паролю вы 100% отыщите нужный аккаунт. Не будет же у вас на сервере двух игроков с одинаковым именем и паролем.
    Связаться со мной можно в личных сообщениях этой группы

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

    Steve Pavlina

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

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

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

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

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

    Steve Pavlina

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

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

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

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

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

    Steve Pavlina

 

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

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

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

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

Ваши права

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