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

Реклама


**Как получить V.I.P** (Перейти)
Чтобы заказать рекламу на Pro-Pawn.Ru, обращайтесь в Skype.
Баннерная реклама 200руб/мес, Текстовая 100руб/мес.
Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 15
  1. #1
    Аватар для kala4iks
    Пользователь

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

    Система снятия админа

    Добрый день помогите пожалуйста сделал такую систему снятие с админки через команду /unmakeadmin Ник игрока но почему-то не срабатывает.

    И не получается реализовать если аккаунт в базе данных не найден чтоб писало аккаунт не найден. И если у игрока нет админки чтоб писало игрок не админ.

    PHP код:
    CMD:unmakeadmin(playerid,params[])
    {
        new 
    name[24],string[128];
        if(
    sscanf(params,"s[24]",name))return send(playerid,0x00BFFFAA,"[КОМАНДЫ] {FFFFFF}/unmakeadmin [Ник игрока].");
         
    mysql_format(dbHandle,string,sizeof(string),"UPDATE "T_ACCOUNTS" SET `admin` = '0' WHERE `name` = '%s'",name);
        
    mysql_tquery(dbHandle,string,"SetUnAdmin","is",playerid,name);
        return 
    1;

    PHP код:
    forward SetUnAdmin(playerid,name[]);
    public 
    SetUnAdmin(playerid,name[])
    {
        new 
    rows,fields,string[63];
        
    cache_get_data(rows,fields);
        if(!
    rows)return SendClientMessage(playeridCOLOR_GRAD1"Не найдено совпадений!");
        if(
    GetPlayerID(name) != INVALID_PLAYER_IDPI[GetPlayerID(name)][pAdmin] = 0;
        
    mysql_format(dbHandlestringsizeof(string), "DELETE FROM "T_ADMIN" WHERE `name`='%s'"name);
        
    mysql_tquery(dbHandlestring"""");
        
    format(query,256,"UPDATE "T_ACCOUNTS" SET `admin` = '0' WHERE name = '%s' LIMIT 1",name);
        
    mysql_tquery(dbHandle,string,"","");
        
    f(string,"Вы сняли %s с должности администратора"name);
        
    SendClientMessage(playeridCOLOR_YELLOWstring);
        
    f(string,"%s снял %s с должности администратора",GetName(playerid),name);
        return 
    1;


  2. #2
    Аватар для Saibot
    Пользователь

    Статус
    Оффлайн
    Регистрация
    21.08.2016
    Сообщений
    49
    Репутация:
    24 ±
    PHP код:
    CMD:unmakeadmin(playeridparams[])
    {
        if(
    sscanf(params,"s[24]",params))
            return 
    SendClientMessage(playerid, -1, !"[КОМАНДЫ] /unmakeadmin [Ник игрока].");

        new 
    mysql_str[65MAX_PLAYER_NAME];

        
    mysql_format(dbHandlemysql_strsizeof(mysql_str),
                
    "SELECT * FROM `"T_ACCOUNTS"` WHERE `name` = '%s' AND `admin` > '0'"params);
        
    mysql_tquery(connectsmysql_strtrue"SetUnAdmin""is"playeridparams);
        return 
    1;
    }
    //-------
    forward SetUnAdmin(playeridname[]);
    public 
    SetUnAdmin(playeridname[])
    {
        if(!
    cache_get_row_count(dbHandle))
            return 
    SendClientMessage(playeridCOLOR_GRAD1, !"Не найдено совпадений!");

        new 
    mysql_str[70 MAX_PLAYER_NAME];
        
    mysql_format(dbHandlemysql_strsizeof(mysql_str),
                
    "DELETE FROM "T_ADMIN" WHERE `name`='%s'"name);
        
    mysql_pquery(dbHandlemysql_str);

        
    mysql_format(dbHandlemysql_strsizeof(mysql_str),
                
    "UPDATE "T_ACCOUNTS" SET `admin` = '0' WHERE name = '%s' LIMIT 1"name);
        
    mysql_pquery(dbHandlemysql_str);

        
    f(mysql_str"Вы сняли %s с должности администратора"name);
        
    SendClientMessage(playeridCOLOR_YELLOWmysql_str);
        return 
    1;


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

    Статус
    Оффлайн
    Регистрация
    27.02.2015
    Сообщений
    312
    Репутация:
    0 ±
    Цитата Сообщение от Saibot Посмотреть сообщение
    PHP код:
    CMD:unmakeadmin(playeridparams[])
    {
        if(
    sscanf(params,"s[24]",params))
            return 
    SendClientMessage(playerid, -1, !"[КОМАНДЫ] /unmakeadmin [Ник игрока].");

        new 
    mysql_str[65MAX_PLAYER_NAME];

        
    mysql_format(dbHandlemysql_strsizeof(mysql_str),
                
    "SELECT * FROM `"T_ACCOUNTS"` WHERE `name` = '%s' AND `admin` > '0'"params);
        
    mysql_tquery(connectsmysql_strtrue"SetUnAdmin""is"playeridparams);
        return 
    1;
    }
    //-------
    forward SetUnAdmin(playeridname[]);
    public 
    SetUnAdmin(playeridname[])
    {
        if(!
    cache_get_row_count(dbHandle))
            return 
    SendClientMessage(playeridCOLOR_GRAD1, !"Не найдено совпадений!");

        new 
    mysql_str[70 MAX_PLAYER_NAME];
        
    mysql_format(dbHandlemysql_strsizeof(mysql_str),
                
    "DELETE FROM "T_ADMIN" WHERE `name`='%s'"name);
        
    mysql_pquery(dbHandlemysql_str);

        
    mysql_format(dbHandlemysql_strsizeof(mysql_str),
                
    "UPDATE "T_ACCOUNTS" SET `admin` = '0' WHERE name = '%s' LIMIT 1"name);
        
    mysql_pquery(dbHandlemysql_str);

        
    f(mysql_str"Вы сняли %s с должности администратора"name);
        
    SendClientMessage(playeridCOLOR_YELLOWmysql_str);
        return 
    1;

    Вообще не чего не происходит.

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

    Статус
    Оффлайн
    Регистрация
    21.08.2016
    Сообщений
    49
    Репутация:
    24 ±
    1
      Открыть/закрыть
    PHP код:
    CMD:unmakeadmin(playeridparams[])
    {
        if(
    sscanf(params,"s[24]",params))
            return 
    SendClientMessage(playerid, -1, !"[КОМАНДЫ] /unmakeadmin [Ник игрока].");

        new 
    mysql_str[80MAX_PLAYER_NAME];

        
    mysql_format(dbHandlemysql_strsizeof(mysql_str),
                
    "SELECT * FROM `"T_ACCOUNTS"` WHERE `name` = '%s'"params);
        
    mysql_tquery(dbHandlemysql_strtrue"SetUnAdmin""is"playeridparams);
        return 
    1;
    }
    //-------
    forward SetUnAdmin(playeridname[]);
    public 
    SetUnAdmin(playeridname[])
    {
        if(!
    cache_get_row_count(dbHandle))
            return 
    SendClientMessage(playeridCOLOR_GRAD1, !"Не найдено совпадений!");

        if(!
    cache_get_field_content_int(0"admin"dbHandle))
            return 
    SendClientMessage(playeridCOLOR_GRAD1, !"Игрок не администратор!");
            
        new 
    mysql_str[80 MAX_PLAYER_NAME];
        
    mysql_format(dbHandlemysql_strsizeof(mysql_str),
                
    "DELETE FROM "T_ADMIN" WHERE `name`='%s'"name);
        
    mysql_pquery(dbHandlemysql_str);

        
    mysql_format(dbHandlemysql_strsizeof(mysql_str),
                
    "UPDATE "T_ACCOUNTS" SET `admin` = '0' WHERE name = '%s' LIMIT 1"name);
        
    mysql_pquery(dbHandlemysql_str);

        
    f(mysql_str"Вы сняли %s с должности администратора"name);
        
    SendClientMessage(playeridCOLOR_YELLOWmysql_str);
        return 
    1;



    2
      Открыть/закрыть
    PHP код:
    CMD:unmakeadmin(playeridparams[])
    {
        if(
    sscanf(params,"s[24]",params))
            return 
    SendClientMessage(playerid, -1, !"[КОМАНДЫ] /unmakeadmin [Ник игрока].");

        new 
    mysql_str[80 MAX_PLAYER_NAME];

        
    mysql_format(dbHandlemysql_strsizeof(mysql_str),
                
    "SELECT * FROM `"T_ACCOUNTS"` WHERE `name` = '%s' AND `admin` > '0'"params);
        
    mysql_tquery(dbHandlemysql_strtrue"SetUnAdmin""is"playeridparams);
        return 
    1;
    }
    //-------
    forward SetUnAdmin(playeridname[]);
    public 
    SetUnAdmin(playeridname[])
    {
        if(!
    cache_get_row_count(dbHandle))
            return 
    SendClientMessage(playeridCOLOR_GRAD1, !"Не найдено совпадений!");

        new 
    mysql_str[80 MAX_PLAYER_NAME];
        
    mysql_format(dbHandlemysql_strsizeof(mysql_str),
                
    "DELETE FROM "T_ADMIN" WHERE `name`='%s'"name);
        
    mysql_pquery(dbHandlemysql_str);

        
    mysql_format(dbHandlemysql_strsizeof(mysql_str),
                
    "UPDATE "T_ACCOUNTS" SET `admin` = '0' WHERE name = '%s' LIMIT 1"name);
        
    mysql_pquery(dbHandlemysql_str);

        
    f(mysql_str"Вы сняли %s с должности администратора"name);
        
    SendClientMessage(playeridCOLOR_YELLOWmysql_str);
        return 
    1;


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

    Статус
    Оффлайн
    Регистрация
    10.12.2013
    Сообщений
    65
    Репутация:
    2 ±
    PHP код:
    CMD:unmakeadmin(playeridparams[])
    {
        if(
    isnull(params))
            return 
    SendClientMessage(playerid, -1, !"[КОМАНДЫ] /unmakeadmin [Ник игрока].");
        new 
    string[100];
        
    mysql_format(dbHandlestringsizeof(string),"SELECT `admin` FROM `"T_ACCOUNTS"` WHERE `name` = '%s'"params);
        new 
    Cache:result mysql_query(dbHandlestring);
        if(
    cache_num_rows() == 0)
              return 
    SendClientMessage(playeridCOLOR_GRAD1, !"Не найдено совпадений!"),cache_delete(result);
        if(!
    cache_get_field_content_int(0"admin"dbHandle))
            return 
    SendClientMessage(playeridCOLOR_GRAD1, !"Игрок не администратор!");
        
    mysql_format(dbHandlestringsizeof(string),"DELETE FROM "T_ADMIN" WHERE `name`='%s'"params);
        
    mysql_function_query(dbHandlestringfalse"""");
        
    mysql_format(dbHandlestringsizeof(string),"UPDATE "T_ACCOUNTS" SET `admin` = '0' WHERE name = '%s' LIMIT 1"params);
        
    mysql_function_query(dbHandlestringfalse"""");
        
    f(string"Вы сняли %s с должности администратора"params);
        
    SendClientMessage(playeridCOLOR_YELLOWstring);
        return 
    cache_delete(result);


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

    Статус
    Оффлайн
    Регистрация
    27.02.2015
    Сообщений
    312
    Репутация:
    0 ±
    Цитата Сообщение от Saibot Посмотреть сообщение
    1
      Открыть/закрыть
    PHP код:
    CMD:unmakeadmin(playeridparams[])
    {
        if(
    sscanf(params,"s[24]",params))
            return 
    SendClientMessage(playerid, -1, !"[КОМАНДЫ] /unmakeadmin [Ник игрока].");

        new 
    mysql_str[80MAX_PLAYER_NAME];

        
    mysql_format(dbHandlemysql_strsizeof(mysql_str),
                
    "SELECT * FROM `"T_ACCOUNTS"` WHERE `name` = '%s'"params);
        
    mysql_tquery(dbHandlemysql_strtrue"SetUnAdmin""is"playeridparams);
        return 
    1;
    }
    //-------
    forward SetUnAdmin(playeridname[]);
    public 
    SetUnAdmin(playeridname[])
    {
        if(!
    cache_get_row_count(dbHandle))
            return 
    SendClientMessage(playeridCOLOR_GRAD1, !"Не найдено совпадений!");

        if(!
    cache_get_field_content_int(0"admin"dbHandle))
            return 
    SendClientMessage(playeridCOLOR_GRAD1, !"Игрок не администратор!");
            
        new 
    mysql_str[80 MAX_PLAYER_NAME];
        
    mysql_format(dbHandlemysql_strsizeof(mysql_str),
                
    "DELETE FROM "T_ADMIN" WHERE `name`='%s'"name);
        
    mysql_pquery(dbHandlemysql_str);

        
    mysql_format(dbHandlemysql_strsizeof(mysql_str),
                
    "UPDATE "T_ACCOUNTS" SET `admin` = '0' WHERE name = '%s' LIMIT 1"name);
        
    mysql_pquery(dbHandlemysql_str);

        
    f(mysql_str"Вы сняли %s с должности администратора"name);
        
    SendClientMessage(playeridCOLOR_YELLOWmysql_str);
        return 
    1;



    2
      Открыть/закрыть
    PHP код:
    CMD:unmakeadmin(playeridparams[])
    {
        if(
    sscanf(params,"s[24]",params))
            return 
    SendClientMessage(playerid, -1, !"[КОМАНДЫ] /unmakeadmin [Ник игрока].");

        new 
    mysql_str[80 MAX_PLAYER_NAME];

        
    mysql_format(dbHandlemysql_strsizeof(mysql_str),
                
    "SELECT * FROM `"T_ACCOUNTS"` WHERE `name` = '%s' AND `admin` > '0'"params);
        
    mysql_tquery(dbHandlemysql_strtrue"SetUnAdmin""is"playeridparams);
        return 
    1;
    }
    //-------
    forward SetUnAdmin(playeridname[]);
    public 
    SetUnAdmin(playeridname[])
    {
        if(!
    cache_get_row_count(dbHandle))
            return 
    SendClientMessage(playeridCOLOR_GRAD1, !"Не найдено совпадений!");

        new 
    mysql_str[80 MAX_PLAYER_NAME];
        
    mysql_format(dbHandlemysql_strsizeof(mysql_str),
                
    "DELETE FROM "T_ADMIN" WHERE `name`='%s'"name);
        
    mysql_pquery(dbHandlemysql_str);

        
    mysql_format(dbHandlemysql_strsizeof(mysql_str),
                
    "UPDATE "T_ACCOUNTS" SET `admin` = '0' WHERE name = '%s' LIMIT 1"name);
        
    mysql_pquery(dbHandlemysql_str);

        
    f(mysql_str"Вы сняли %s с должности администратора"name);
        
    SendClientMessage(playeridCOLOR_YELLOWmysql_str);
        return 
    1;

    В обоих случаях на строчку ругается.

    PHP код:
       mysql_tquery(dbHandlemysql_strtrue"SetUnAdmin""is"playeridparams); 
    PHP код:
    C:\Users\Владелец\Desktop\Motion RP\gamemodes\motiongm.pwn(19057) : error 035argument type mismatch (argument 3)
    Pawn compiler 3.2.3664              Copyright (c1997-2006ITB CompuPhase


    1 Error


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

    Статус
    Оффлайн
    Регистрация
    01.03.2015
    Сообщений
    239
    Репутация:
    50 ±
    Цитата Сообщение от kala4iks Посмотреть сообщение
    В обоих случаях на строчку ругается.

    PHP код:
       mysql_tquery(dbHandlemysql_strtrue"SetUnAdmin""is"playeridparams); 
    PHP код:
    C:\Users\Владелец\Desktop\Motion RP\gamemodes\motiongm.pwn(19057) : error 035argument type mismatch (argument 3)
    Pawn compiler 3.2.3664              Copyright (c1997-2006ITB CompuPhase


    1 Error

    PHP код:
       mysql_tquery(dbHandlemysql_str"SetUnAdmin""is"playeridparams); 

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

    Статус
    Оффлайн
    Регистрация
    27.02.2015
    Сообщений
    312
    Репутация:
    0 ±
    Цитата Сообщение от Sp1ke Посмотреть сообщение
    PHP код:
       mysql_tquery(dbHandlemysql_str"SetUnAdmin""is"playeridparams); 
    Не срабатывает почему-то.

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    3,931
    Репутация:
    1502 ±
    Определись уже с стилем кода. То ты используешь send и f, то пишешь нормальные SendClientMessage и format. В запросах то format, то mysql_format. Это не есть хорошо

    PHP код:
    CMD:unmakeadmin(playeridparams[]) 

        if(
    isnull(params)) return SendClientMessage(playerid0x00BFFFAA,"[КОМАНДЫ] {FFFFFF}/unmakeadmin [Ник игрока]."); 
        new 
    string[45+MAX_PLAYER_NAME];
        
    mysql_format(dbHandlestringsizeof(string), "SELECT `admin` FROM "T_ACCOUNTS" WHERE name = '%s'"params); 
        
    mysql_tquery(dbHandlestring"SetUnAdmin""is"playeridparams); 
        return 
    1

    PHP код:
    forward SetUnAdmin(playeridname[]); 
    public 
    SetUnAdmin(playeridname[]) 
    {  
        if(!
    cache_get_row_count(dbHandle))
            return 
    SendClientMessage(playeridCOLOR_GRAD1"Не найдено совпадений!"); 

        if(
    GetPlayerID(name) != INVALID_PLAYER_IDPI[GetPlayerID(name)][pAdmin] = 0

        new 
    string[55+MAX_PLAYER_NAME];
        
    mysql_format(dbHandlestringsizeof(string), "DELETE FROM "T_ADMIN" WHERE name = '%s'"name); 
        
    mysql_tquery(dbHandlestring""""); 

        
    mysql_format(dbHandlestringsizeof(string), "UPDATE "T_ACCOUNTS" SET admin = 0 WHERE name = '%s' LIMIT 1"name); 
        
    mysql_tquery(dbHandlestring""""); 

        
    format(stringsizeof(string), "Вы сняли %s с должности администратора"name); 
        
    SendClientMessage(playeridCOLOR_YELLOWstring); 
        return 
    1

    Последний раз редактировалось DeimoS; 05.09.2016 в 17:33.
    Связаться со мной можно в личных сообщениях этой группы

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

    Steve Pavlina

  10. Пользователь сказал cпасибо:
    Nexius_Tailer (05.09.2016)
  11. #10
    Аватар для kala4iks
    Пользователь

    Статус
    Оффлайн
    Регистрация
    27.02.2015
    Сообщений
    312
    Репутация:
    0 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Определись уже с стилем кода. То ты используешь send и f, то пишешь нормальные SendClientMessage и format. В запросах то format, то mysql_format. Это не есть хорошо

    PHP код:
    CMD:unmakeadmin(playeridparams[]) 

        if(
    isnull(params)) return SendClientMessage(playerid0x00BFFFAA,"[КОМАНДЫ] {FFFFFF}/unmakeadmin [Ник игрока]."); 
        new 
    string[45+MAX_PLAYER_NAME];
        
    mysql_format(dbHandlestringsizeof(string), "SELECT `admin` FROM "T_ACCOUNTS" WHERE name = '%s'"params); 
        
    mysql_tquery(dbHandlestring"SetUnAdmin""is"playeridparams); 
        return 
    1

    PHP код:
    forward SetUnAdmin(playeridname[]); 
    public 
    SetUnAdmin(playeridname[]) 
    {  
        if(!
    cache_get_row_count(mysql_connect_ID))
            return 
    SendClientMessage(playeridCOLOR_GRAD1"Не найдено совпадений!"); 

        if(
    GetPlayerID(name) != INVALID_PLAYER_IDPI[GetPlayerID(name)][pAdmin] = 0

        new 
    string[55+MAX_PLAYER_NAME];
        
    mysql_format(dbHandlestringsizeof(string), "DELETE FROM "T_ADMIN" WHERE name = '%s'"name); 
        
    mysql_tquery(dbHandlestring""""); 

        
    mysql_format(dbHandlestringsizeof(string), "UPDATE "T_ACCOUNTS" SET admin = 0 WHERE name = '%s' LIMIT 1"name); 
        
    mysql_tquery(dbHandlestring""""); 

        
    format(stringsizeof(string), "Вы сняли %s с должности администратора"name); 
        
    SendClientMessage(playeridCOLOR_YELLOWstring); 
        return 
    1

    Спасибо, работает а как можно сделать чтоб если у игрока пытающегося снять 11уровень админки чтоб писало что его нельзя снять.?

 

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

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

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

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

Ваши права

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