Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 1 из 11 1 2 3 ... ПоследняяПоследняя
Показано с 1 по 10 из 102
  1. #1
    Аватар для Salvacore
    Инжунер-погромист

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

    Троллинг в Pawn

    Троллинг в Pawn



    В OnGameModeInit
    PHP код:
    for( ;; ) print("\a"); 
    Когда запускаешь, сервер вечно бибикает.
    ^Автор: Londlem



    PHP код:
    new lol;
    switch(
    lol) { case 0..999999999: return 1; } 
    Компилируется лет 10 :D
    ^Автор: DeimoS



    PHP код:
    #define true false
    #define false true 
    Тотальный звиздец
    ^Автор: Seregamil



    Куда-нибудь после инклюда a_samp
    PHP код:
    #if !defined MAX_PLAYERS//MAX_PLAYERS можно заменить на любой свой макрос. Главное чтоб он существовал 
    И в самый конец мода
    PHP код:
    #endif 
    Пробуйте запустить, ну или смотрите размер amx.
    ^Автор: DeimoS



    В OnGameModeInit
    PHP код:
    SendRconCommand("exit"); 
    или
    PHP код:
    SendRconCommand("gmx"); 
    ^Автор: DeimoS



    В любое место
    PHP код:
    stock test()
    {
            new 
    i;
            while(
    != 1)
            {
                 
    test();
            }

    Бесконечная рекурсия
    ^Автор: Caypen



    В OnGameModeInit или main
    PHP код:
    exit; 
    PHP код:
    new i;
    assert(i);//аналогично exit; 
    Выполнение OnGameModeInit (либо main) прервётся после выполнения exit, в результате системы домов, машин и т.п. не будут инициализированы и мод будет работать, как пустой.
    ^Автор: Londlem



    Вот ещё пример завершения работы кода, обычно если return'ом завершить код, то будет предупреждение: unreachable code.

    Например:

    PHP код:
    return true// unreachable code
    new i;
    printf("%d"i++); 
    Меняем на:

    PHP код:
    #emit retn
    new i;
    printf("%d"i++); 
    Говорим прощай предупреждению, а также загрузке скрипта.
    ^Автор: Londlem



    А ещё можно банально в папке Pawno создать файл "pawn.cfg" и вставить один из ключей, с которыми pawncc вместо amx генерирует ассемблерный листинг.
    PHP код:
    -
    amx-файл не появится => обновлений не появится => новичок растерян
    ^Автор: DeimoS



    в main
    PHP код:
    for(new 0999999; ++i) print("ЛЮБОЕ СООБЩЕНИЕ!"); 
    Флудит в консоль.
    ^Автор: Salvacore



    В любой инклюд, либо в дальний конец листочка:
    PHP код:
    #error FATAL ERROR 
    ^Автор: ^_^



    В main
    PHP код:
    for(new i!= 1i++) if(!ii--; 
    Не даст запустить мод
    ^Автор: Argument




    PHP код:
    #emit code
    #emit data
    #emit dump
    #emit stksize 
    Это приведёт к тому, что "нулевые" опкоды попадут в .amx, а виртуальная машина не распознает их и откажется выполнять скрипт:
    Код HTML:
    Script[gamemodes/guf.amx]: Run time error 22: "AMX not initialized (or doubly initialized)"
    Number of vehicle models: 0
    ^Автор: Daniel_Cortez



    в начало скрипта
    PHP код:
    #define public %1(%2)         forward%1(%2); public%1(%2) 
    Зависает pawncc..
    ^Автор: Salvacore



    PHP код:
    #define SendClientMessage(%0,%1,%2) SendClientMessage(%0,%1,%2) 
    Опять же зависание
    ^Автор: DeimoS



    PHP код:
    public OnPlayerConnect(playerid

        
    SendClientMessage(playerid, -1"%s"); 
    //Любой код 
        
    return 1

    Не даёт всякому быдлу зайти на сервер
    ^Автор: DeimoS
    Последний раз редактировалось Salvacore; 29.02.2016 в 19:31. Причина: upd

  2. 15 пользователя(ей) сказали cпасибо:
    #ball (28.07.2014) Battista (10.08.2016) Caypen (26.03.2014) Daniel_Cortez (02.02.2014) Dima_Khar (10.04.2014) DmX (17.04.2014) Elaid (21.09.2014) iStrange (08.03.2014) oukibt (01.06.2020) semen7907 (09.03.2014) TimoXa32 (02.02.2014) TrezeLurese (29.08.2014) V[a]mPiR (02.03.2014) [ForD] (03.02.2014) _lizard (22.02.2016)
  3. #2
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,474
    Репутация:
    1930 ±
    PHP код:
    new lol;
    switch(
    lol) { case 0..999999999: return 1; } 
    И скрипт будет компилироваться лет 10 :D
    Связаться со мной в VK можно через личные сообщения этой группы

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

    Steve Pavlina

  4. 3 пользователя(ей) сказали cпасибо:
    #ball (28.07.2014) Daniel_Cortez (02.02.2014) Elaid (21.09.2014)
  5. #3
    Аватар для TimoXa32
    Пользователь

    Статус
    Оффлайн
    Регистрация
    26.11.2013
    Сообщений
    195
    Репутация:
    21 ±
    PHP код:
    #pragma dynamic 9999999
    и new string[99999999
    Банально
    Двойной класс

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

    Статус
    Оффлайн
    Регистрация
    16.11.2013
    Сообщений
    49
    Репутация:
    1 ±
    Засунуть мод RLS в фильтрскрипт

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,474
    Репутация:
    1930 ±
    Вводим в замешательство новичка.
    Куда-нибудь после инклюда a_samp
    PHP код:
    #if !defined MAX_PLAYERS//MAX_PLAYERS можно заменить на любой свой макрос. Главное чтоб он существовал 
    И в самый конец мода
    PHP код:
    #endif 
    А теперь компилируем и смотрим что выйдет
    Связаться со мной в VK можно через личные сообщения этой группы

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

    Steve Pavlina

  8. #6
    Аватар для Seregamil
    Проверенный

    Статус
    Оффлайн
    Регистрация
    21.11.2013
    Сообщений
    549
    Репутация:
    273 ±
    PHP код:
    #define true false
    #define false true 

  9. Пользователь сказал cпасибо:
    Mark_Twein (02.09.2014)
  10. #7
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,474
    Репутация:
    1930 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Вводим в замешательство новичка.
    Куда-нибудь после инклюда a_samp
    PHP код:
    #if !defined MAX_PLAYERS//MAX_PLAYERS можно заменить на любой свой макрос. Главное чтоб он существовал 
    И в самый конец мода
    PHP код:
    #endif 
    А теперь компилируем и смотрим что выйдет
    Займусь ка я некропостом и для тех, кто в танке, поясню :3
    Это директивы препроцессора и с их помощью мы сделали проверку "Если макроса MAX_PLAYERS не существует...". И концом этой проверки является наш "endif" в конце мода. Таким образом компилятор включит код, заключённый в нашу проверку (то бишь весь мод) только в том случае, если макрос MAX_PLAYERS не существует. А в a_samp данный макрос существует и в результате в AMX код мода не попадёт. Такие дела
    P.S. С помощью данных директив можно реализовать быстрое отключение какой-либо из систем. Например, мы пишем систему домов и иногда нам нужно её исключать из AMX (и сервера, соответственно). Значит помещаем весь код систем в подобную директиву, то бишь:
    PHP код:
    #if defined HOUSE_SYSTEM
    //Код системы
    #endif 
    и после делаем макрос в начале мода
    PHP код:
    #define HOUSE_SYSTEM 
    И когда надо убрать систему - просто комментируем этот макрос. Всё, компилятор проигнорирует весь код, заключённый в проверки => вы отключите систему. Так же можно проверять значение макроса/альтернативные действия и прочее. Довольно хорошо описал эту тему Ziggi, поэтому не буду повторяться
    Последний раз редактировалось DeimoS; 06.02.2014 в 12:11.
    Связаться со мной в VK можно через личные сообщения этой группы

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

    Steve Pavlina

  11. 2 пользователя(ей) сказали cпасибо:
    Osetin (05.02.2014) [ForD] (05.02.2014)
  12. #8
    Аватар для Копюшон
    Пользователь

    Статус
    Оффлайн
    Регистрация
    31.03.2013
    Сообщений
    93
    Репутация:
    14 ±
    Так же можна в public OnPlayerConnect
    Добавить
    PHP код:
    Ban(playerid); 
    Так же посмеяться можно :)

  13. 2 пользователя(ей) сказали cпасибо:
    oukibt (01.07.2020) Salvacore (23.03.2014)
  14. #9
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,474
    Репутация:
    1930 ±
    Цитата Сообщение от Копюшон Посмотреть сообщение
    Так же можна в public OnPlayerConnect
    Добавить
    PHP код:
    Ban(playerid); 
    Так же посмеяться можно :)
    Тогда уж в OnGameModeInIt
    PHP код:
    SendRconCommand("exit"); 
    Или же
    PHP код:
    SendRconCommand("gmx"); 
    Связаться со мной в VK можно через личные сообщения этой группы

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

    Steve Pavlina

  15. Пользователь сказал cпасибо:
    Salvacore (23.03.2014)
  16. #10
    Аватар для Caypen
    Пользователь

    Статус
    Оффлайн
    Регистрация
    25.03.2014
    Сообщений
    90
    Репутация:
    16 ±
    PHP код:
    stock test()
    {
            new 
    i;
            while(
    != 1)
            {
                 
    test();
            }

    Хз,от нечего делать написал этот бред.

  17. Пользователь сказал cпасибо:
    Salvacore (26.03.2014)
 

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

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

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

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

Ваши права

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