Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 5 из 8 ПерваяПервая ... 3 4 5 6 7 ... ПоследняяПоследняя
Показано с 41 по 50 из 75
  1. #41
    Аватар для Nexius_Tailer
    Пользователь

    Статус
    Оффлайн
    Регистрация
    04.01.2015
    Адрес
    Гомель, Беларусь
    Сообщений
    547
    Репутация:
    158 ±
    Цитата Сообщение от Anton Styazhkin Посмотреть сообщение
    Я тоже люблю мороженое с рыбой в одном рожке, ведь это все еда.

    Не вижу смысла в использовании оператора enum для такого извращения, да и код выглядит как-то не очень красиво. И вообще КТО ТАК ДЕЛАЕТ?!
    Кому так делать хочется. Может это как-то и необычно, но в целом как вариант довольно интересный.
    Да и тем более критерий "так не делает большинство" никак не портит удобность или юзабельность чего-либо.
    Не хотите постоянно проверять обновления моих скриптов?
    Подключите его последним, после всех остальных
    Nexius's Update Checker

  2. #42
    Аватар для Desulaid
    лесоруб продакшен

    Статус
    Оффлайн
    Регистрация
    15.03.2015
    Адрес
    Slobodskoy
    Сообщений
    667
    Репутация:
    236 ±
    Цитата Сообщение от Nexius_Tailer Посмотреть сообщение
    Кому так делать хочется. Может это как-то и необычно, но в целом как вариант довольно интересный.
    Да и тем более критерий "так не делает большинство" никак не портит удобность или юзабельность чего-либо.
    Но засовывать детородные предметы себе в зад тоже можно и не факт, что так не делает кто-нибудь.

  3. #43
    Аватар для Nexius_Tailer
    Пользователь

    Статус
    Оффлайн
    Регистрация
    04.01.2015
    Адрес
    Гомель, Беларусь
    Сообщений
    547
    Репутация:
    158 ±
    Цитата Сообщение от Anton Styazhkin Посмотреть сообщение
    Но засовывать детородные предметы себе в зад тоже можно и не факт, что так не делает кто-нибудь.
    Не знаю о чём ты, но я говорил о enum и конкретной реализации, а не о детородных предметах.
    Если это сравнение, то нелепое
    Не хотите постоянно проверять обновления моих скриптов?
    Подключите его последним, после всех остальных
    Nexius's Update Checker

  4. #44
    Аватар для Desulaid
    лесоруб продакшен

    Статус
    Оффлайн
    Регистрация
    15.03.2015
    Адрес
    Slobodskoy
    Сообщений
    667
    Репутация:
    236 ±
    Цитата Сообщение от Nexius_Tailer Посмотреть сообщение
    Не знаю о чём ты, но я говорил о enum и конкретной реализации, а не о детородных предметах.
    Если это сравнение, то нелепое
    Может это как-то и необычно, но в целом как вариант довольно интересный. Да и тем более критерий "так не делает большинство" никак не портит удобность или юзабельность чего-либо.


  5. #45
    Аватар для $continue$
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,487
    Репутация:
    276 ±
    - Алло, 2016 как слышно?
    - Мы тут для констант используем перечисляемый тип.

    Советую посмотреть реализацию enum'ов в C/C++/C#/Java, зачем оно и как юзаться.

    И таким образом ты конструируешь костыль и велосипед. Ты мне даешь гарантии, что скриптер писавший код в 03:00 по ошибке не забудет в enum инициализировать константу? (А перечисление идет с нуля)

    Пример кода, при котором скриптер просто сфлится:

    PHP код:
    enum
    {
        
    MAX_PLAYER_PASSWORD 32,
        
    MAX_PLAYER_EMAIL 64,
        
    MAX_PLAYER_CARS,
        
    MAX_PLAYER_HOUSE 512
    };
    main()
    {
        
    printf("MAX_PLAYER_PASSWORD = %d"MAX_PLAYER_PASSWORD);
        
    printf("MAX_PLAYER_EMAIL = %d"MAX_PLAYER_EMAIL);
        
    printf("MAX_PLAYER_CARS = %d"MAX_PLAYER_CARS);
        
    printf("MAX_PLAYER_HOUSE = %d"MAX_PLAYER_HOUSE);

    Да, да я опять прыгнуть выше головы. А, то сейчас налетят голодные волки.

    Хороший пример кода с enum - месяца года. Устанавливаешь январю = 1, а дальше автоматизированно будет (только, прописать название констант)
    Последний раз редактировалось $continue$; 25.06.2016 в 04:22.
    Value your freedom or you will lose it, teaches history. "Don't bother us with politics," respond those who don't want to learn. (c) Richard Stallman

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

    Статус
    Оффлайн
    Регистрация
    04.01.2015
    Адрес
    Гомель, Беларусь
    Сообщений
    547
    Репутация:
    158 ±
    Цитата Сообщение от $continue$ Посмотреть сообщение
    И таким образом ты конструируешь костыль и велосипед. Ты мне даешь гарантии, что скриптер писавший код в 03:00 по ошибке не забудет в enum инициализировать константу? (А перечисление идет с нуля)
    Тогда пусть не пишет код в три часа ночи и присваивает всем элементам значения. Лично мне этот вариант понравился.
    С дефайном или константой также можно забыть присвоить значение, и виноват будет в этом не способ, а ты. Не аргумент это.
    Не хотите постоянно проверять обновления моих скриптов?
    Подключите его последним, после всех остальных
    Nexius's Update Checker

  7. #47
    Аватар для Daniel_Cortez
    "Это не хак, это фича"

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2589 ±
    Цитата Сообщение от Nexius_Tailer Посмотреть сообщение
    С дефайном или константой также можно забыть присвоить значение
    По поводу дефайна согласен, но с константой, если объявлять её с помощью const - компилятор "напомнит".
    Кстати, если посмотреть на стандартные инклуды Pawn (core.inc, string.inc, float.inc), там ни одной константы не объявлено через #define, только через const (и ещё некоторые через enum, где это уместно).


    Цитата Сообщение от Nexius_Tailer Посмотреть сообщение
    и виноват будет в этом не способ, а ты
    ... в том, что выбрал способ, с которым легко ошибиться.


    Цитата Сообщение от Nexius_Tailer Посмотреть сообщение
    Тогда пусть не пишет код в три часа ночи и присваивает всем элементам значения.
    Нет, ну это уже просто смешно. Может вы ещё предложите не делать в коде ни единой ошибки? Чтобы прямо вообще ни одной и всё компилировалось с первой попытки?


    Цитата Сообщение от Nexius_Tailer Посмотреть сообщение
    Лично мне этот вариант понравился.
    А оно и было очевидно с самого начала, что "красота" и "необычность" метода для вас важнее, чем надёжность. Ваша отговорка из предыдущей цитаты только подтверждает это.
    Именно поэтому я даже и не рассчитываю вас переубедить - но всё же надеюсь, что у других, кто смотрит эту тему, хватит чувства здравого смысла, чтобы не повторять ваших ошибок.
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

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

    Статус
    Оффлайн
    Регистрация
    04.01.2015
    Адрес
    Гомель, Беларусь
    Сообщений
    547
    Репутация:
    158 ±
    Цитата Сообщение от Daniel_Cortez Посмотреть сообщение
    А оно и было очевидно с самого начала, что "красота" и "необычность" метода для вас важнее, чем надёжность. Ваша отговорка из предыдущей цитаты только подтверждает это.
    Именно поэтому я даже и не рассчитываю вас переубедить - но всё же надеюсь, что у других, кто смотрит эту тему, хватит чувства здравого смысла, чтобы не повторять ваших ошибок.
    Хах. Были бы ошибки, ибо я лично не использовал этот способ до сего.
    Красота и необычность не противоречит здесь надёжности, так что про важность первого тоже неверно.
    Если кому-то просто непривычно - господи, пусть использует то, что ему нравится, а то, что не нравится - просто не использует.
    Я лично не увидел ни одного реального недостатка этого, кроме разве что использования enum'а немного не по назначению. Но существенного от этого ничего не произойдёт, а если так кому-то ещё и удобно - то причины не использовать это нет вообще.

    П.с. Каким образом написали в core, string и float роли не играет. Опять-же это дело того, кто писал.
    Последний раз редактировалось Nexius_Tailer; 25.06.2016 в 16:48.
    Не хотите постоянно проверять обновления моих скриптов?
    Подключите его последним, после всех остальных
    Nexius's Update Checker

  9. #49
    Аватар для Edward Morra
    Пользователь

    Статус
    Оффлайн
    Регистрация
    06.10.2015
    Сообщений
    83
    Репутация:
    0 ±
    После подсчетов по этому методу , стала некорректно работать команда, да и не только команда. Код, где используется static const
    PHP код:
    CMD:engine(playerid,params[])
    {
        if(!
    IsPlayerLogged{playerid}) return SendMe(playerid,COLOR_GREY,!" * [A] - Сначала нужно авторизоваться!");
        if(
    GetPlayerState(playerid) == && IsPlayerInAnyVehicle(playerid))
        {
            if(
    IsVehicleBike(GetPlayerVehicleID(playerid))) return false;
            if(!
    Engine[GetPlayerVehicleID(playerid)])
            {
                if(
    Fuel[GetPlayerVehicleID(playerid)] > 0.0)
                {
                    if(!
    EngineTime[playerid])
                    {
                        new 
    Float:vHealth;
                        
    GetVehicleHealth(GetPlayerVehicleID(playerid),vHealth);
                        if(
    OrgCarInfo[GetPlayerVehicleID(playerid)][orgcFrac] == 15 && (PVar::GetInt(playerid,"Driving") == || PVar::GetInt(playerid,"Driving") == 6))
                        {
                            if(!
    SeatBelt{playerid} && !IsVehicleA(GetPlayerVehicleID(playerid)))
                            {
                                
    SendMe(playerid,COLOR_GREY,!" * Перед началом движения вы обязаны пристегнуть ремень безопасности. Вы провалили экзамен!");
                                
    PVar::SetInt(playerid,"Driving",0);
                                
    acc_RemovePlayerFromVehicle(playerid);
                                
    DisablePlayerRaceCheckpoint(playerid);
                                
    SetEngineOnOff(GetPlayerVehicleID(playerid),false);
                                
    AccountInfo[playerid][LoadCharacters{playerid}][acTestAS] = 0;
                                
    licCP{playerid} = 0;
                                
    licerror{playerid} = 0;
                                
    lictesttime{playerid} = 0;
                                return 
    false;
                            }
                        }
                        
    printf("заводим");
                        
    EngineTime[playerid] = 6;
                        
    FreezePlayer(playerid);
                        
    GameTextForPlayer(playerid"~w~€AЊYCKAEM ѓ‹…‚A¦E‡’..."50004);
                        static const 
    frm_str[]=" * %s пытается запустить двигатель.";
                        
    noinit:string[sizeof(frm_str)+(-2+MAX_PLAYER_NAME)];
                        
    format(string,sizeof(string),frm_str,PlayerName(playerid));
                        return 
    ProxDetector(playerid,5,string,COLOR_PURPLE);
                    }
                    else return 
    SendMe(playerid,COLOR_GREY,!" * Нельзя так часто заводить двигатель!");
                }
                else return 
    SendMe(playerid,COLOR_GREY,!" * Бензобак пуст. Вызовите механиков!");
            }
            else
            {
                
    printf("незаводим");
                static const 
    frm_engine[]=" * %s заглушил двигатель.";
                
    noinit:string[sizeof(frm_engine)+(-2+MAX_PLAYER_NAME)];
                
    format(string,sizeof(string),frm_engine,PlayerName(playerid));
                
    ProxDetector(playerid,5,string,COLOR_PURPLE);
                
    SetEngineOnOff(GetPlayerVehicleID(playerid),false);
                
    EngineTime[playerid] = 0;
            }
        }
        return 
    true;


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

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

 

 
Страница 5 из 8 ПерваяПервая ... 3 4 5 6 7 ... ПоследняяПоследняя

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

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

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

Ваши права

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