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

    Статус
    Оффлайн
    Регистрация
    21.02.2014
    Адрес
    г.Старый Оскол
    Сообщений
    2
    Репутация:
    0 ±

    Перевод команды на DC_CMD

    PHP код:
     if(strcmp(cmd"/ans"true) == 0)
        {
            if(
    PlayerInfo[playerid][pHelper] == 1)
            {
                
    tmp strtok(cmdtextidx);
                if(!
    strlen(tmp)) return SendClientMessage(playeridCOLOR_WHITE"Введите: /ans [id] [текст]");
                
    giveplayerid ReturnUser(tmp);
                if(
    IsPlayerConnected(giveplayerid))
                {
                    if(
    giveplayerid != INVALID_PLAYER_ID)
                    {
                        
    GetPlayerName(playeridsendernamesizeof(sendername));
                        
    GetPlayerName(giveplayeridgiveplayersizeof(giveplayer));
                        new 
    length strlen(cmdtext);
                        while((
    idx length) && (cmdtext[idx] <= ' ')) idx ++;
                        new 
    offset idx;
                        new 
    result[64];
                        while((
    idx length) && ((idx offset) < (sizeof(result) - 1)))
                        {
                            
    result[idx offset] = cmdtext[idx];
                            
    idx ++;
                        }
                        
    result[idx offset] = EOS;
                        if(!
    strlen(result)) return SendClientMessage(playeridCOLOR_WHITE"Ââåäèòå: /ans [id] [îòâåò]");
                        
    format(stringsizeof(string), "Вопрос от %s[%d]: %s"sendernameplayerid, (result));
                        
    SendClientMessage(giveplayerid0xD97700AAstring);
                        
    format(stringsizeof(string), "<-Ответ к %s[%d]: %s"giveplayergiveplayerid, (result));
                        
    SBroadCast(0xD97700AAstring1);
                    }
                }
                else return 
    SendClientMessage(playeridCOLOR_GREY"Игрок не найден");
            }
            return 
    true;
        } 
    Как его перевести на DC_CMD и SSCANF ?

    Я пробовал так

    PHP код:
    CMD:ans(playeridparams[])
    {
            if(
    PlayerInfo[playerid][pHelper] == 0) return SendClientMessage(playeridCOLOR_GREY " {F70000}x {ADAEAD}Вы не хелпер! ");
            if(
    sscanf(params"s[128]" params[0])) return SendClientMessage(playeridCOLOR_RED" Введите /ans [id] [текст]");
            if(
    sscanf(params"u" params[0])) return SendClientMessage(playeridCOLOR_RED" Игрок не найден ");
            new 
    sendername[MAX_PLAYER_NAME];
            new 
    giveplayer[MAX_PLAYER_NAME];
            new 
    string[128];
            
    GetPlayerName(playeridsendernamesizeof(sendername));
            
    GetPlayerName("u"giveplayersizeof(giveplayer));
            
    format(stringsizeof(string), "Вопрос от %s[%d]: %s"sendernameplayeridparams[0]);
            
    SendClientMessage("u"0xD97700AAstring);
            
    format(stringsizeof(string), "<-Ответ к %s[%d]: %s"giveplayer"u"params[0]);
            
    SBroadCast(0xD97700AAstring1);
            return 
    true;

    Ну меня появляются эрроры
    PHP код:
    (39721) : error 035argument type mismatch (argument 1)
    (
    39723) : error 035argument type mismatch (argument 1
    Строчки
    PHP код:
    GetPlayerName("u"giveplayersizeof(giveplayer)); 
    PHP код:
    SendClientMessage("u"0xD97700AAstring); 
    Работаю с DC_CMD и sscanf второй день. Пока ещё всей структуры не изучил.

    Я знаю в каких аргументах допустил ошибку,но я не понимаю,как в sscanf использовать функцию подобную
    PHP код:
    giveplayerid ReturnUser(tmp); 
    Последний раз редактировалось Romavend; 21.02.2014 в 16:15.

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,415
    Репутация:
    1908 ±
    PHP код:
    CMD:ans(playeridparams[])
    {
        if(
    PlayerInfo[playerid][pHelper] == 0) return SendClientMessage(playeridCOLOR_GREY " {F70000}x {ADAEAD}Вы не хелпер! ");
        if(
    sscanf(params"us[128]"params[0], params[1])) return SendClientMessage(playeridCOLOR_RED" Введите /ans [id] [текст]");
        if(!
    IsPlayerConnected(strval(params[0]))) return SendClientMessage(playeridCOLOR_GREY"Игрок не найден");
        
    GetPlayerName(playeridsendernamesizeof(sendername));
        
    GetPlayerName(strval(params[0]), giveplayersizeof(giveplayer));
        
    format(stringsizeof(string), "Вопрос от %s[%d]: %s"sendernameplayeridparams[1]);
        
    SendClientMessage(strval(params[0]), 0xD97700AAstring);
        
    format(stringsizeof(string), "<-Ответ к %s[%d]: %s"giveplayerstrval(params[0]), params[1]);
        
    SBroadCast(0xD97700AAstring1);
        return 
    true;

    И прочти о sscanf. В интернете полно информации о данной функции
    Связаться со мной в VK можно через личные сообщения этой группы

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

    Steve Pavlina

  3. 2 пользователя(ей) сказали cпасибо:
    Romavend (21.02.2014) Salvacore (21.02.2014)
  4. #3
    Аватар для Romavend
    Пользователь

    Статус
    Оффлайн
    Регистрация
    21.02.2014
    Адрес
    г.Старый Оскол
    Сообщений
    2
    Репутация:
    0 ±
    Гуглил,нормальной ( полезной ) не нашел.
    Большое спасибо за помощь в решении проблемы.

  5. #4
    Аватар для ^_^
    Übermensch

    Статус
    Оффлайн
    Регистрация
    25.11.2013
    Сообщений
    157
    Репутация:
    243 ±
    Цитата Сообщение от Romavend Посмотреть сообщение
    Гуглил,нормальной ( полезной ) не нашел.
    Большое спасибо за помощь в решении проблемы.
    КЛАЦ.

  6. Пользователь сказал cпасибо:
    Salvacore (21.02.2014)
  7. #5
    Аватар для Salvacore
    Инжунер-погромист

    Статус
    Оффлайн
    Регистрация
    10.05.2013
    Адрес
    Аҧсуа бызшәа
    Сообщений
    2,272
    Репутация:
    418 ±
    Цитата Сообщение от Romavend Посмотреть сообщение
    Гуглил,нормальной ( полезной ) не нашел.
    Большое спасибо за помощь в решении проблемы.
    Проблема решена.
    Закрыто.

 

 

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

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

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

Ваши права

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