Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 15 из 19 ПерваяПервая ... 5 13 14 15 16 17 ... ПоследняяПоследняя
Показано с 141 по 150 из 187
  1. #141
    Аватар для Daniel_Cortez
    "Это не хак, это фича"

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2590 ±
    Цитата Сообщение от TheMallard Посмотреть сообщение
    Клиентские команды невозможно выполнять со стороны сервера.
    Когда игрок вводит /audiomsg, команду перехватывает клиент и она к серверу не идет.
    Спасибо, что разъяснили всем присутствующим здесь принцип работы клиентских команд в SA:MP.
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

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

    Статус
    Оффлайн
    Регистрация
    18.02.2014
    Сообщений
    93
    Репутация:
    1 ±
    плагин как то не любит работать с "strlen" (параметры) передаваемые кмд процессором.

  3. #143
    Аватар для VVWVV
    ?

    Статус
    Оффлайн
    Регистрация
    09.07.2015
    Сообщений
    731
    Репутация:
    353 ±
    Цитата Сообщение от Salik_Davince Посмотреть сообщение
    плагин как то не любит работать с "strlen" (параметры) передаваемые кмд процессором.
    У плагина совсем другая задача. Это связано с языком pawn.

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

    Статус
    Оффлайн
    Регистрация
    18.02.2014
    Сообщений
    93
    Репутация:
    1 ±
    так по мне было написано что принцип работы этого процессора схож с ZCMD, вот сним можно работать с strlen, а с dc_cmd никак.

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от Salik_Davince Посмотреть сообщение
    так по мне было написано что принцип работы этого процессора схож с ZCMD, вот сним можно работать с strlen, а с dc_cmd никак.
    Схож, но не идентичен.
    В каких ситуациях он не работает? Предоставь пример
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    18.02.2014
    Сообщений
    93
    Репутация:
    1 ±
    Простой пример -
    PHP код:
    CMD:test(playerid,params[])
        {
            if(
    sscanf(params"s[64]"params[0]))
                return 
    SendClientMessage(playeridCOLOR_WHITE"/test [Text]");
             if(
    strlen(params[0]) >= 64)
                 return 
    SendClientMessage(playeridCOLOR_GREY,"TEST: sokratite text.");
            static const
                
    test_msg[] = " %s %s";
            new
                
    test_stringsizeof(test_msg) - (2*2) + MAX_PLAYER_NAME 64 ]
            ;
            
    format(test_string,sizeof(test_string), test_msgPlayer[playerid][pName], params[0]);
            
    SetPlayerChatBubble(playerid,params[0],0xDD90FFFF,30.0,10000);
            return 
    true;
        } 

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от Salik_Davince Посмотреть сообщение
    Простой пример -
    PHP код:
    CMD:test(playerid,params[])
        {
            if(
    sscanf(params"s[64]"params[0]))
                return 
    SendClientMessage(playeridCOLOR_WHITE"/test [Text]");
             if(
    strlen(params[0]) >= 64)
                 return 
    SendClientMessage(playeridCOLOR_GREY,"TEST: sokratite text.");
            static const
                
    test_msg[] = " %s %s";
            new
                
    test_stringsizeof(test_msg) - (2*2) + MAX_PLAYER_NAME 64 ]
            ;
            
    format(test_string,sizeof(test_string), test_msgPlayer[playerid][pName], params[0]);
            
    SetPlayerChatBubble(playerid,params[0],0xDD90FFFF,30.0,10000);
            return 
    true;
        } 
    Начнём с того, что для чего ты обрабатываешь всего лишь 1 параметр через sscanf, если он в массиве params и так есть? Ты данные из строки в эту же строку и записываешь
    И закончим тем, что так проверка естественно не будет срабатывать, ибо ты в самом sscanf указал размер строки в 64 символа и sscanf будет записывать в массив именно 64 символа, а остальной текст отбрасывать, выплёвывая в консоль предупреждение об этом.

    Вот как твоя команда должна выглядеть
    PHP код:
    CMD:test(playerid,params[])
    {
        if(
    isnull(params))
        
    //if(!strlen(params))//Либо так, но первый вариант быстрее
            
    return SendClientMessage(playeridCOLOR_WHITE"/test [Text]");
        if(
    strlen(params) >= 64)
             return 
    SendClientMessage(playeridCOLOR_GREY,"TEST: sokratite text.");
        static const
            
    test_msg[] = " %s %s";
        new
            
    test_stringsizeof(test_msg) - (2*2) + MAX_PLAYER_NAME 64 ]
        ;
        
    format(test_string,sizeof(test_string), test_msgPlayer[playerid][pName], params);
        
    SetPlayerChatBubble(playerid,params,0xDD90FFFF,30.0,10000);
        return 
    true;

    А вот как твой вариант будет работать, хоть это и неправильная реализация
    PHP код:
    CMD:test(playerid,params[])
    {
        if(
    sscanf(params"s[65]"params[0]))
            return 
    SendClientMessage(playeridCOLOR_WHITE"/test [Text]");
        if(
    strlen(params[0]) >= 64)
             return 
    SendClientMessage(playeridCOLOR_GREY,"TEST: sokratite text.");
        static const
            
    test_msg[] = " %s %s";
        new
            
    test_stringsizeof(test_msg) - (2*2) + MAX_PLAYER_NAME 64 ]
        ;
        
    format(test_string,sizeof(test_string), test_msgPlayer[playerid][pName], params[0]);
        
    SetPlayerChatBubble(playerid,params[0],0xDD90FFFF,30.0,10000);
        return 
    true;

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

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

    Steve Pavlina

  8. 2 пользователя(ей) сказали cпасибо:
    Salik_Davince (22.03.2016) Unreal (25.04.2016)
  9. #148
    Аватар для Salik_Davince
    Пользователь

    Статус
    Оффлайн
    Регистрация
    18.02.2014
    Сообщений
    93
    Репутация:
    1 ±
    я привел простой пример с работой с sscanf, ну дело не в этом, спасибо.

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от Salik_Davince Посмотреть сообщение
    я привел простой пример с работой с sscanf, ну дело не в этом, спасибо.
    Эмм, так вставь мою команду в мод и посмотри. strlen прекрасно дружит с DC_CMD. Как она вообще может контачить с плагином, если плагин занимается лишь поиском нужной команды, а уже какой в команде код - плагин вообще не в курсе и ему, собственно, плевать
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

  11. #150
    Аватар для Unreal
    Пользователь

    Статус
    Оффлайн
    Регистрация
    24.09.2014
    Сообщений
    133
    Репутация:
    4 ±
    Обновление (оптимизация/добавление новых фишек) будет?
    Pro-pawn.ru

 

 
Страница 15 из 19 ПерваяПервая ... 5 13 14 15 16 17 ... ПоследняяПоследняя

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

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

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

Метки этой темы

Ваши права

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