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

    Статус
    Оффлайн
    Регистрация
    11.08.2014
    Сообщений
    19
    Репутация:
    1 ±

    Команда с необязательным параметром

    1) Подскажите пожалуйста, как сделать параметр "Причина" необязательным?
    PHP код:
    CMD:kick(playeridparams[]){
        new 
    string[164];
        if(
    PlayerInfo[playerid][pAdmin] < 2) return 1;
        if(
    sscanf(params"u"params[0])) return SendClientMessage(playeridgray"Используй /kick [id игрока] [причина]");
        if(
    GetPVarInt(params[0], "LOGGED") == 0) return SendClientMessage(playeridCGRAY"Такого игрока нет");
        
    f(string"Администратор %s кикнул игрока %s. Причина: %s"GN(playerid), GN(params[0]), params[1]);
        
    SendClientMessageToAll(COLOR_LIGHTREDstring);
        
    Kick(params[0]);
        return 
    1;

    2)
    Что тут не так?
    PHP код:
    if(!response) return 1;
    new 
    string[90], mutetimemutereason[75];
    if(
    sscanf(inputtext"p<>ds[75]"mutetimemutereason)) return ShowPlayerDialog(playerid,41,DIALOG_STYLE_INPUT,"Быстрая затычка","Введите через пробел [время в минутах] [причину]","Готово","Отмена");
    format(string,sizeof(string),"/mute %d %d %s",PlayerSpectateID[playerid],mutetime,mutereason);
    JCMD(string); 
    PHP код:
    [13:39:13sscanf warningUnknown format specifier '('skipping.
    [
    13:39:13sscanf warningUnknown format specifier '-'skipping.
    [
    13:39:13sscanf warningUnknown format specifier '1'skipping.
    [
    13:39:13sscanf warningUnknown format specifier ')'skipping.
    [
    13:39:13sscanf warningUnknown format specifier '('skipping.
    [
    13:39:13sscanf warningUnknown format specifier '-'skipping.
    [
    13:39:13sscanf warningUnknown format specifier '1'skipping.
    [
    13:39:13sscanf warningUnknown format specifier ')'skipping

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

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Адрес
    Ярославль
    Сообщений
    1,366
    Репутация:
    774 ±
    1.
    PHP код:
    new
        
    targetid,
        
    reason[28];

    sscanf(params"I(-1)s[28]"targetidreason);
        
    if(
    targetid == -1)
        return 
    SendClientMessage(playerid, -1"Используйте: /kick [targetid] {reason}"); // В фигурных скобках - необязательный параметр

    if(isnull(reason))
        
    // Причина кика не введена
    else
        
    // Причина кика введена 
    Вместо params[0] используете targetid.

    2.
    В данном случае разделитель не нужен, sscanf по умолчанию разделяет слова до пробела.
    PHP код:
    if(sscanf(inputtext"p<>ds[75]"mutetimemutereason)) 
    замените на
    PHP код:
    if(sscanf(inputtext"is[75]"mutetimemutereason)) 

  3. Пользователь сказал cпасибо:
    Giffka (16.08.2014)
  4. #3
    Аватар для Giffka
    Пользователь

    Статус
    Оффлайн
    Регистрация
    11.08.2014
    Сообщений
    19
    Репутация:
    1 ±
    Цитата Сообщение от Londlem Посмотреть сообщение
    1.
    PHP код:
    new
        
    targetid,
        
    reason[28];

    sscanf(params"I(-1)s[28]"targetidreason);
        
    if(
    targetid == -1)
        return 
    SendClientMessage(playerid, -1"Используйте: /kick [targetid] {reason}"); // В фигурных скобках - необязательный параметр

    if(isnull(reason))
        
    // Причина кика не введена
    else
        
    // Причина кика введена 
    Вместо params[0] используете targetid.

    2.
    В данном случае разделитель не нужен, sscanf по умолчанию разделяет слова до пробела.
    PHP код:
    if(sscanf(inputtext"p<>ds[75]"mutetimemutereason)) 
    замените на
    PHP код:
    if(sscanf(inputtext"is[75]"mutetimemutereason)) 
    Эти ошибки всё равно остались при использовании затычки.
    PHP код:
    [13:39:13sscanf warningUnknown format specifier '('skipping
    [
    13:39:13sscanf warningUnknown format specifier '-'skipping
    [
    13:39:13sscanf warningUnknown format specifier '1'skipping
    [
    13:39:13sscanf warningUnknown format specifier ')'skipping
    [
    13:39:13sscanf warningUnknown format specifier '('skipping
    [
    13:39:13sscanf warningUnknown format specifier '-'skipping
    [
    13:39:13sscanf warningUnknown format specifier '1'skipping
    [
    13:39:13sscanf warningUnknown format specifier ')'skipping

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

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Адрес
    Ярославль
    Сообщений
    1,366
    Репутация:
    774 ±
    Пробовали обновлять sscanf до последней версии?

  6. Пользователь сказал cпасибо:
    Giffka (16.08.2014)
  7. #5
    Аватар для Giffka
    Пользователь

    Статус
    Оффлайн
    Регистрация
    11.08.2014
    Сообщений
    19
    Репутация:
    1 ±
    Цитата Сообщение от Londlem Посмотреть сообщение
    Пробовали обновлять sscanf до последней версии?
    Обновил. Ошибки пропали. Спасибо)

  8. #6
    Аватар для Salvacore
    Инжунер-погромист

    Статус
    Оффлайн
    Регистрация
    10.05.2013
    Адрес
    Аҧсуа бызшәа
    Сообщений
    2,271
    Репутация:
    418 ±
    Closed.

 

 

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

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

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

Ваши права

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