Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 7 из 7
  1. #1
    Аватар для den4is01
    Пользователь

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

    Помогите с переводом команды на sccanf

    Добрый день. Пожалуйста помогите перевести на sccanf желательно с пояснениями. За ранее спасибо.

    Код HTML:
    if(strcmp(cmd, "/saveadmin", true) == 0)
        {
            new strings[MAX_STRING];
            if(IsPlayerConnected(playerid))
            {
                if(PlayerInfo[playerid][pAdmin] != 10)
                {
                    SendClientMessage(playerid, COLOR_GREY, "   Вы не уполномочены использовать эту команду!");
                    return 1;
                }
                tmp = strtok(cmdtext, idx);
                if(!strlen(tmp))
                {
                    SendClientMessage(playerid, COLOR_GRAYWHITE, "USAGE: /saveadmins [PlayerName]");
                    return 1;
                }
                new playername[MAX_PLAYER_NAME+1];
                format(playername, sizeof(playername), "Admins/%s.cfg", tmp);
                if(!fexist(playername))
                {
                    new File: hFile = fopen(playername, io_write);
                    if (hFile)
                    {
                        fclose(hFile);
                        format(strings, sizeof(strings), "Аккаунт администратора %s успешно создан.", tmp);
                        SendClientMessage(playerid, COLOR_RED, strings);
                    }
                }
                else if(fexist(playername))
                {
                    format(strings, sizeof(strings), "Администратор %s уже существует, выберите другое имя !", tmp);
                    SendClientMessage(playerid, COLOR_GRAYWHITE, strings);
                    return 1;
                }
            }
            return 1;
        }
        if(strcmp(cmd, "/deleteadmin", true) == 0)
        {
            new playername[MAX_PLAYER_NAME+1];
            if(IsPlayerConnected(playerid))
            {
                if(PlayerInfo[playerid][pAdmin] != 10)
                {
                    SendClientMessage(playerid, COLOR_GREY, "   Вы не уполномочены использовать эту команду!");
                    return 1;
                }
                tmp = strtok(cmdtext, idx);
                if(!strlen(tmp))
                {
                    SendClientMessage(playerid, COLOR_GRAYWHITE, "USAGE: /deleteadmin [PlayerName]");
                    return 1;
                }
                giveplayerid = ReturnUser(tmp);
                format(playername, sizeof(playername), "Admins/%s.cfg", tmp);
                if(!fexist(playername))
                {
                    SendClientMessage(playerid, COLOR_GREY, "   Этого админ- аккаунта не существует !");
                    return 1;
                }
                else if(fexist(playername))
                {
                    fremove(playername);
                    format(string, sizeof(string), "[Server]: %s был удалён из администрации %s.", tmp, PlayerName(playerid));
                    new lH, lM, lS; gettime(lH,lM,lS);
                    format(string, sizeof(string), "[%d:%02d:%02d] %s", lH,lM,lS, string);
                    SendClientMessageToAll(COLOR_RED, string);
                    Kick(giveplayerid);
                    return 1;
                }
            }
            return 1;
        }
    Последний раз редактировалось den4is01; 17.02.2015 в 18:00.

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

    Статус
    Оффлайн
    Регистрация
    15.06.2014
    Сообщений
    651
    Репутация:
    106 ±
    В php код закинь... Переведу, а так не хочу)

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

    Статус
    Оффлайн
    Регистрация
    16.02.2015
    Сообщений
    8
    Репутация:
    0 ±
    Ок за комп сяду закину

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

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

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

    Статус
    Оффлайн
    Регистрация
    16.02.2015
    Сообщений
    8
    Репутация:
    0 ±
    Я смотрел урок у меня чёт не получилось вот и думал что если бы на примере этих команда кто нить мне объяснил я бы понял.

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

    Статус
    Оффлайн
    Регистрация
    27.11.2013
    Адрес
    Нижневартовск
    Сообщений
    256
    Репутация:
    63 ±
    Цитата Сообщение от den4is01 Посмотреть сообщение
    Я смотрел урок у меня чёт не получилось вот и думал что если бы на примере этих команда кто нить мне объяснил я бы понял.
    Что там непонятного? Добавить в мод 3 строчки и использовать везде params в командах - верх трудности?
    PHP код:
    if(strcmp(cmd"/saveadmin"true) == 0)
    {
        if(!
    IsPlayerConnected(playerid))        return true;
        if(
    PlayerInfo[playerid][pAdmin] != 10)    return SendClientMessage(playeridCOLOR_GREY"   Вы не уполномочены использовать эту команду!");
        new 
    playername[MAX_PLAYER_NAME];
        if(
    sscanf(params"s[24]"playername))    return SendClientMessage(playeridCOLOR_GRAYWHITE"USAGE: /saveadmins [PlayerName]");
        new 
    string[54+MAX_PLAYER_NAME];
        
    format(stringsizeof string"Admins/%s.cfg"playername);
        if(!
    fexist(string))
        {
            new 
    FilehFile fopen(stringio_write);
            if (
    hFile)
            {
                
    fclose(hFile);
                
    format(stringsizeof string"Аккаунт администратора %s успешно создан."playername);
                
    SendClientMessage(playeridCOLOR_REDstring);
                return 
    true;
            }
        }
        else if(
    fexist(string))
        {
            
    format(stringsizeof string"Администратор %s уже существует, выберите другое имя !"playername);
            
    SendClientMessage(playeridCOLOR_GRAYWHITEstring);
            return 
    true;
        } 
        return 
    true;
    }
    if(
    strcmp(cmd"/deleteadmin"true) == 0)
    {
        if(!
    IsPlayerConnected(playerid))        return true;
        if(
    PlayerInfo[playerid][pAdmin] != 10)    return SendClientMessage(playeridCOLOR_GREY"   Вы не уполномочены использовать эту команду!");
        new 
    playername[MAX_PLAYER_NAME];
        if(
    sscanf(params"s[24]"playername))    return SendClientMessage(playeridCOLOR_GRAYWHITE"USAGE: /deleteadmin [PlayerName]");
        new 
    string[59+MAX_PLAYER_NAME*2];
        
    format(stringsizeof string"Admins/%s.cfg"playername);
        if(!
    fexist(string))                        return SendClientMessage(playeridCOLOR_GREY"   Этого админ- аккаунта не существует !");
        else if(
    fexist(string))
        {
            
    fremove(string);
            new 
    lHlMlS;
            
    gettime(lH,lM,lS);
            
    format(stringsizeof string "[%d:%02d:%02d] [Server]: %s был удалён из администрации %s."lH,lM,lSplayernamePlayerName(playerid));
            
    SendClientMessageToAll(COLOR_REDstring);
            for(new 
    ii<MAX_PLAYERSi++)
                if(!
    strcmp(PlayerName(i), playernametrue))
                    return 
    Kick(i);
            return 
    true;
        }
        return 
    true;

    Объяснять не буду - анализируйте код, думайте.

  7. Пользователь сказал cпасибо:
    den4is01 (20.02.2015)
  8. #7
    Аватар для den4is01
    Пользователь

    Статус
    Оффлайн
    Регистрация
    16.02.2015
    Сообщений
    8
    Репутация:
    0 ±
    Цитата Сообщение от Mazzilla Посмотреть сообщение
    Что там непонятного? Добавить в мод 3 строчки и использовать везде params в командах - верх трудности?
    PHP код:
    if(strcmp(cmd"/saveadmin"true) == 0)
    {
        if(!
    IsPlayerConnected(playerid))        return true;
        if(
    PlayerInfo[playerid][pAdmin] != 10)    return SendClientMessage(playeridCOLOR_GREY"   Вы не уполномочены использовать эту команду!");
        new 
    playername[MAX_PLAYER_NAME];
        if(
    sscanf(params"s[24]"playername))    return SendClientMessage(playeridCOLOR_GRAYWHITE"USAGE: /saveadmins [PlayerName]");
        new 
    string[54+MAX_PLAYER_NAME];
        
    format(stringsizeof string"Admins/%s.cfg"playername);
        if(!
    fexist(string))
        {
            new 
    FilehFile fopen(stringio_write);
            if (
    hFile)
            {
                
    fclose(hFile);
                
    format(stringsizeof string"Аккаунт администратора %s успешно создан."playername);
                
    SendClientMessage(playeridCOLOR_REDstring);
                return 
    true;
            }
        }
        else if(
    fexist(string))
        {
            
    format(stringsizeof string"Администратор %s уже существует, выберите другое имя !"playername);
            
    SendClientMessage(playeridCOLOR_GRAYWHITEstring);
            return 
    true;
        } 
        return 
    true;
    }
    if(
    strcmp(cmd"/deleteadmin"true) == 0)
    {
        if(!
    IsPlayerConnected(playerid))        return true;
        if(
    PlayerInfo[playerid][pAdmin] != 10)    return SendClientMessage(playeridCOLOR_GREY"   Вы не уполномочены использовать эту команду!");
        new 
    playername[MAX_PLAYER_NAME];
        if(
    sscanf(params"s[24]"playername))    return SendClientMessage(playeridCOLOR_GRAYWHITE"USAGE: /deleteadmin [PlayerName]");
        new 
    string[59+MAX_PLAYER_NAME*2];
        
    format(stringsizeof string"Admins/%s.cfg"playername);
        if(!
    fexist(string))                        return SendClientMessage(playeridCOLOR_GREY"   Этого админ- аккаунта не существует !");
        else if(
    fexist(string))
        {
            
    fremove(string);
            new 
    lHlMlS;
            
    gettime(lH,lM,lS);
            
    format(stringsizeof string "[%d:%02d:%02d] [Server]: %s был удалён из администрации %s."lH,lM,lSplayernamePlayerName(playerid));
            
    SendClientMessageToAll(COLOR_REDstring);
            for(new 
    ii<MAX_PLAYERSi++)
                if(!
    strcmp(PlayerName(i), playernametrue))
                    return 
    Kick(i);
            return 
    true;
        }
        return 
    true;

    Объяснять не буду - анализируйте код, думайте.
    Спасибо большое. С большего разобрался

 

 

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

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

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

Ваши права

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