Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 1 из 2 1 2 ПоследняяПоследняя
Показано с 1 по 10 из 20
  1. #1
    Аватар для DoN_SancheS
    Пользователь

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

    Вылет сервера после несуществующей команды.

    Друзья, на сервере всё отлично работает, но хватит мне написать несуществующую команду например /makehelper 7
    и сервер тут же вылетает, и есть еще кое что, если просто написать /makehelper нечего не случится но если после /makehelper написать хоть одну букву или цифру то сразу сервер отключается.

    [17:47:27] [debug] Server crashed while executing new.amx
    [17:47:27] [debug] AMX backtrace:
    [17:47:27] [debug] #0 native DC_CMD () from dc_cmd.so
    [17:47:27] [debug] #1 0000c5d8 in public OnPlayerCommandText (playerid=0, cmdtext[]=@00146418 "/MAKEHELPER L") at C:\Users\Karen\Desktop\SERERON\pawno\include\dc_cmd.inc:28
    [17:47:27] [debug] Native backtrace:
    [17:47:27] [debug] #0 f7460ca0 in _Z13GetStackTraceRSt6vectorI10StackFrameSaIS0_EEPv () from plugins/crashdetect.so
    [17:47:27] [debug] #1 f7459d22 in _ZN11CrashDetect20PrintNativeBacktraceERSoPv () from plugins/crashdetect.so
    [17:47:27] [debug] #2 f745a314 in _ZN11CrashDetect20PrintNativeBacktraceEPv () from plugins/crashdetect.so
    [17:47:27] [debug] #3 f745c964 in _ZN11CrashDetect11OnExceptionEPv () from plugins/crashdetect.so
    [17:47:27] [debug] #4 f74605cd in ?? () from plugins/crashdetect.so
    [17:47:27] [debug] #5 f774c420 in ?? ()
    [17:47:27] [debug] #6 f77483ee in ?? () from plugins/dc_cmd.so
    [17:47:27] [debug] #7 080950b4 in ?? () from ./samp03svr
    [17:47:27] [debug] #8 f745b7b3 in _ZN11CrashDetect13DoAmxCallbackEiPiS0_ () from plugins/crashdetect.so
    [17:47:27] [debug] #9 00146418 in ?? () from `hq÷fq÷\Z3 \Z3 ]\3 \Z3 Ò\3 \^3 4ãq÷

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

    Статус
    Оффлайн
    Регистрация
    13.06.2016
    Адрес
    Одесса, Украина
    Сообщений
    281
    Репутация:
    51 ±
    Цитата Сообщение от DoN_SancheS Посмотреть сообщение
    Друзья, на сервере всё отлично работает, но хватит мне написать несуществующую команду например /makehelper 7
    и сервер тут же вылетает, и есть еще кое что, если просто написать /makehelper нечего не случится но если после /makehelper написать хоть одну букву или цифру то сразу сервер отключается.

    [17:47:27] [debug] Server crashed while executing new.amx
    [17:47:27] [debug] AMX backtrace:
    [17:47:27] [debug] #0 native DC_CMD () from dc_cmd.so
    [17:47:27] [debug] #1 0000c5d8 in public OnPlayerCommandText (playerid=0, cmdtext[]=@00146418 "/MAKEHELPER L") at C:\Users\Karen\Desktop\SERERON\pawno\include\dc_cmd.inc:28
    [17:47:27] [debug] Native backtrace:
    [17:47:27] [debug] #0 f7460ca0 in _Z13GetStackTraceRSt6vectorI10StackFrameSaIS0_EEPv () from plugins/crashdetect.so
    [17:47:27] [debug] #1 f7459d22 in _ZN11CrashDetect20PrintNativeBacktraceERSoPv () from plugins/crashdetect.so
    [17:47:27] [debug] #2 f745a314 in _ZN11CrashDetect20PrintNativeBacktraceEPv () from plugins/crashdetect.so
    [17:47:27] [debug] #3 f745c964 in _ZN11CrashDetect11OnExceptionEPv () from plugins/crashdetect.so
    [17:47:27] [debug] #4 f74605cd in ?? () from plugins/crashdetect.so
    [17:47:27] [debug] #5 f774c420 in ?? ()
    [17:47:27] [debug] #6 f77483ee in ?? () from plugins/dc_cmd.so
    [17:47:27] [debug] #7 080950b4 in ?? () from ./samp03svr
    [17:47:27] [debug] #8 f745b7b3 in _ZN11CrashDetect13DoAmxCallbackEiPiS0_ () from plugins/crashdetect.so
    [17:47:27] [debug] #9 00146418 in ?? () from `hq÷fq÷\Z3 \Z3 ]\3 \Z3 Ò\3 \^3 4ãq÷
    Наверно потому что нужно делать проверку на разрешенные символы для ввода в конкретной команде?
    самая распространенная - if(sscanf())
    Лучше лишний раз показаться глупым и что то узнать, чем вы*бнуться и обосраться.

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

    Статус
    Оффлайн
    Регистрация
    30.11.2016
    Сообщений
    64
    Репутация:
    0 ±
    Цитата Сообщение от qwezert Посмотреть сообщение
    Наверно потому что нужно делать проверку на разрешенные символы для ввода в конкретной команде?
    самая распространенная - if(sscanf())
    ну например где? как? (прости просто ты уже наверное понял что я пока мало знаю в pawn)

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

    Статус
    Оффлайн
    Регистрация
    13.06.2016
    Адрес
    Одесса, Украина
    Сообщений
    281
    Репутация:
    51 ±
    Цитата Сообщение от DoN_SancheS Посмотреть сообщение
    ну например где? как? (прости просто ты уже наверное понял что я пока мало знаю в pawn)
    К примеру как это реализовано у меня
    Каманда выдачи админки
    PHP код:
    CMD:setadmin(playerid,params[] )
    {
        new 
    targetid,level;
        if(
    IsAdmin(playerid) < ) return 1;
        if(
    sscanf(params,"ud",targetid,level)) return SCM(playerid,0,"Введите /setadmin [id] [lvl]"); // Вот тут ты проверяешь данные которые //вводит игрок после самой команды /setadmin через пробел. Если он ввел данные неверного формата(к примеру вместо цифр - буквы)
    //ему придет сообщение о том что он неверно ввел данные
    ......
    return 
    1;

    Лучше лишний раз показаться глупым и что то узнать, чем вы*бнуться и обосраться.

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

    Статус
    Оффлайн
    Регистрация
    30.11.2016
    Сообщений
    64
    Репутация:
    0 ±
    Цитата Сообщение от qwezert Посмотреть сообщение
    К примеру как это реализовано у меня
    Каманда выдачи админки
    PHP код:
    CMD:setadmin(playerid,params[] )
    {
        new 
    targetid,level;
        if(
    IsAdmin(playerid) < ) return 1;
        if(
    sscanf(params,"ud",targetid,level)) return SCM(playerid,0,"Введите /setadmin [id] [lvl]"); // Вот тут ты проверяешь данные которые //вводит игрок после самой команды /setadmin через пробел. Если он ввел данные неверного формата(к примеру вместо цифр - буквы)
    //ему придет сообщение о том что он неверно ввел данные
    ......
    return 
    1;

    Ясно, спасибо

    - - - Добавлено - - -

    Цитата Сообщение от qwezert Посмотреть сообщение
    К примеру как это реализовано у меня
    Каманда выдачи админки
    PHP код:
    CMD:setadmin(playerid,params[] )
    {
        new 
    targetid,level;
        if(
    IsAdmin(playerid) < ) return 1;
        if(
    sscanf(params,"ud",targetid,level)) return SCM(playerid,0,"Введите /setadmin [id] [lvl]"); // Вот тут ты проверяешь данные которые //вводит игрок после самой команды /setadmin через пробел. Если он ввел данные неверного формата(к примеру вместо цифр - буквы)
    //ему придет сообщение о том что он неверно ввел данные
    ......
    return 
    1;

    Но у меня везде есть if(sscanf,
    Проблема не в этом, и кажется ты не понял меня, я говорю вылет после любой не существующей команды + если есть пробел например /awdwafwafwad 78 (будет вылет) но вот если просто написать /awdwafwafwad то ни че не будет, но спасибо за помощь

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

    Статус
    Оффлайн
    Регистрация
    13.06.2016
    Адрес
    Одесса, Украина
    Сообщений
    281
    Репутация:
    51 ±
    Цитата Сообщение от DoN_SancheS Посмотреть сообщение
    Ясно, спасибо

    - - - Добавлено - - -



    Но у меня везде есть if(sscanf,
    Проблема не в этом, и кажется ты не понял меня, я говорю вылет после любой не существующей команды + если есть пробел например /awdwafwafwad 78 (будет вылет) но вот если просто написать /awdwafwafwad то ни че не будет, но спасибо за помощь
    код паблика OnPlayerCommandText скинь.
    Лучше лишний раз показаться глупым и что то узнать, чем вы*бнуться и обосраться.

  9. Пользователь сказал cпасибо:
    DoN_SancheS (18.01.2017)
  10. #7
    Аватар для DoN_SancheS
    Пользователь

    Статус
    Оффлайн
    Регистрация
    30.11.2016
    Сообщений
    64
    Репутация:
    0 ±
    Цитата Сообщение от qwezert Посмотреть сообщение
    код паблика OnPlayerCommandText скинь.
    PHP код:
    publics OnPlayerCommandPerformed(playeridcmdtext[], success)
    {
        if(
    success == -1)
        {
            return 
    OnPlayerCommandText(playeridcmdtext);
        }
        return 
    1;

    А ещё
    PHP код:
    publics OnPlayerCommandText(playeridcmdtext[])
    {
        return 
    true;


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

    Статус
    Оффлайн
    Регистрация
    23.12.2016
    Адрес
    Казахстан
    Сообщений
    148
    Репутация:
    26 ±
    Цитата Сообщение от DoN_SancheS Посмотреть сообщение
    PHP код:
    publics OnPlayerCommandPerformed(playeridcmdtext[], success)
    {
        if(
    success == -1)
        {
            return 
    SendClientMessage(playerid, -1"Такой команды нет");
        }
        return 
    1;

    Попробуй так

  12. 2 пользователя(ей) сказали cпасибо:
    DoN_SancheS (18.01.2017) qwezert (18.01.2017)
  13. #9
    Аватар для DoN_SancheS
    Пользователь

    Статус
    Оффлайн
    Регистрация
    30.11.2016
    Сообщений
    64
    Репутация:
    0 ±
    Цитата Сообщение от Seviel Посмотреть сообщение
    Попробуй так
    Не помог, но спасибо, рейтинг всё равно подниму. (вам обеим)

  14. #10
    Аватар для vovandolg
    Пользователь

    Статус
    Оффлайн
    Регистрация
    17.11.2015
    Адрес
    Stavropol
    Сообщений
    1,369
    Репутация:
    113 ±
    Почему нельзя просто скинуть код?
    Почему нельзя написать версию плагинов движка кмд и sscanf который комбинируется там?
    [Anticheat]___Invisible Fly Hack
    [Anticheat]____Weapon/Ammo Hack
    [Function]______ResetPlayerWeaponSlot
    [Function]_______FIX_SetPlayerAmmo
    [ServerMod]______TDM | Zombie Apokalypse

 

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

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

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

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

Ваши права

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