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

Тема: IsValidObjectModel

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±

    IsValidObjectModel

    Описание:
    Функция проверяет указанный ID модели объекта на валидность.
    В функции учтены все объекты, существующие как в GTA SA, так и добавленные в SA-MP.

    Параметры:
    modelid - ID модели объекта.

    Возвращаемое значение:
    1 - Модель существует
    0 - Модель не существует

    Код:
      Открыть/закрыть
    PHP код:
    stock IsValidObjectModel(modelid
    {
        if(
    modelid >= 321 && modelid <= 328 || modelid >= 330 && modelid <= 331)
            return 
    1;
        else if(
    modelid >= 333 && modelid <= 339 || modelid >= 341 && modelid <= 373)
            return 
    1;

        else if(
    modelid >= 615 && modelid <= 661 || modelid == 664)
            return 
    1;
        else if(
    modelid >= 669 && modelid <= 698 || modelid >= 700 && modelid <= 792)
            return 
    1;
        else if(
    modelid >= 800 && modelid <= 906 || modelid >= 910 && modelid <= 964)
            return 
    1;
        else if(
    modelid >= 966 && modelid <= 998 || modelid >= 1000 && modelid <= 1193)
            return 
    1;
        else if(
    modelid >= 1207 && modelid <= 1325 || modelid >= 1327 && modelid <= 1572)
            return 
    1;
        else if(
    modelid >= 1574 && modelid <= 1698 || modelid >= 1700 && modelid <= 2882)
            return 
    1;
        else if(
    modelid >= 2885 && modelid <= 3135 || modelid >= 3167 && modelid <= 3175)
            return 
    1;
        else if(
    modelid == 3178 || modelid == 3187 || modelid == 3193 || modelid == 3214)
            return 
    1;
        else if(
    modelid == 3221 || modelid >= 3241 && modelid <= 3244)
            return 
    1;
        else if(
    modelid == 3246 || modelid >= 3249 && modelid <= 3250)
            return 
    1;
        else if(
    modelid >= 3252 && modelid <= 3253 || modelid >= 3255 && modelid <= 3265)
            return 
    1;
        else if(
    modelid >= 3267 && modelid <= 3347 || modelid >= 3350 && modelid <= 3415)
            return 
    1;
        else if(
    modelid >= 3417 && modelid <= 3428 || modelid >= 3430 && modelid <= 3609)
            return 
    1;
        else if(
    modelid >= 3612 && modelid <= 3783 || modelid >= 3785 && modelid <= 3869)
            return 
    1;
        else if(
    modelid >= 3872 && modelid <= 3882 || modelid >= 3884 && modelid <= 3888)
            return 
    1;
        else if(
    modelid >= 3890 && modelid <= 3973 || modelid >= 3975 && modelid <= 4541)
            return 
    1;
        else if(
    modelid >= 4550 && modelid <= 4762 || modelid >= 4806 && modelid <= 5084)
            return 
    1;
        else if(
    modelid >= 5086 && modelid <= 5089 || modelid >= 5105 && modelid <= 5375)
            return 
    1;
        else if(
    modelid >= 5390 && modelid <= 5682 || modelid >= 5703 && modelid <= 6010)
            return 
    1;
        else if(
    modelid >= 6035 && modelid <= 6253 || modelid >= 6255 && modelid <= 6257)
            return 
    1;
        else if(
    modelid >= 6280 && modelid <= 6347 || modelid >= 6349 && modelid <= 6525)
            return 
    1;
        else if(
    modelid >= 6863 && modelid <= 7392 || modelid >= 7415 && modelid <= 7973)
            return 
    1;
        else if(
    modelid >= 7978 && modelid <= 9193 || modelid >= 9205 && modelid <= 9267)
            return 
    1;
        else if(
    modelid >= 9269 && modelid <= 9478 || modelid >= 9482 && modelid <= 10310)
            return 
    1;
        else if(
    modelid >= 10315 && modelid <= 10744 || modelid >= 10750 && modelid <= 11417)
            return 
    1;
        else if(
    modelid >= 11420 && modelid <= 11753 || modelid >= 12800 && modelid <= 13563)
            return 
    1;
        else if(
    modelid >= 13590 && modelid <= 13667 || modelid >= 13672 && modelid <= 13890)
            return 
    1;
        else if(
    modelid >= 14383 && modelid <= 14528 || modelid >= 14530 && modelid <= 14554)
            return 
    1;
        else if(
    modelid == 14556 || modelid >= 14558 && modelid <= 14643)
            return 
    1;
        else if(
    modelid >= 14650 && modelid <= 14657 || modelid >= 14660 && modelid <= 14695)
            return 
    1;
        else if(
    modelid >= 14699 && modelid <= 14728 || modelid >= 14735 && modelid <= 14765)
            return 
    1;
        else if(
    modelid >= 14770 && modelid <= 14856 || modelid >= 14858 && modelid <= 14883)
            return 
    1;
        else if(
    modelid >= 14885 && modelid <= 14898 || modelid >= 14900 && modelid <= 14903)
            return 
    1;
        else if(
    modelid >= 15025 && modelid <= 15064 || modelid >= 16000 && modelid <= 16790)
            return 
    1;
        else if(
    modelid >= 17000 && modelid <= 17474 || modelid >= 17500 && modelid <= 17974)
            return 
    1;
        else if(
    modelid == 17976 || modelid == 17978 || modelid >= 18000 && modelid <= 18036)
            return 
    1;
        else if(
    modelid >= 18038 && modelid <= 18102 || modelid >= 18104 && modelid <= 18105)
            return 
    1;
        else if(
    modelid == 18109 || modelid == 18112 || modelid >= 18200 && modelid <= 18859)
            return 
    1;
        else if(
    modelid >= 18860 && modelid <= 19274 || modelid >= 19275 && modelid <= 19595)
            return 
    1;
        else if(
    modelid >= 19596 && modelid <= 19999)
            return 
    1;
        else
            return 
    0;


    Пример использования:
    PHP код:
    public OnPlayerCommandText(playeridcmdtext[])
    {
        if (
    strcmp("/createobject"cmdtexttrue13) == 0)
        {
            if(!
    strlen(cmdtext[14]))
                return 
    SendClientMessage(playerid0xFF0000FF"Примечание: {FFFFFF}/createobject [ID модели объекта]");

            new 
    modelid strval(cmdtext[14]);
            if(!
    IsValidObjectModel(modelid))
                return 
    SendClientMessage(playerid0xFF0000FF"Ошибка: {FFFFFF}Вы указали несуществующий ID модели.");
            new 
                
    Float:pos_x,
                
    Float:pos_y,
                
    Float:pos_z,
                
    Float:angle;
            
    GetPlayerPos(playeridpos_xpos_ypos_z);    
            
    GetPlayerFacingAngle(playeridangle);
            
    CreateObject(modelidpos_xpos_ypos_z0.00.0angle);
            
    SendClientMessage(playerid, -1"Объект успешно создан!");    
            return 
    1;
        }
        return 
    0;

    Автор:
    DeimoS
    Последний раз редактировалось DeimoS; 08.05.2017 в 05:59. Причина: Включил в условия ID моделей оружия, которые так же можно создать в виде объекта
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

  2. 3 пользователя(ей) сказали cпасибо:
    Edwin (02.05.2017) Nash_Brigers (02.05.2017) Nurick (02.05.2017)
  3. #2
    Аватар для ziggi
    Проверенный

    Статус
    Оффлайн
    Регистрация
    14.05.2015
    Сообщений
    1,181
    Репутация:
    790 ±
    Через switch/case не будет проще?

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

    Статус
    Оффлайн
    Регистрация
    14.02.2014
    Адрес
    Беларусь
    Сообщений
    196
    Репутация:
    22 ±
    Это ты сидел загонялся, просматривал все объекты в редакторе, или как?)

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от ziggi Посмотреть сообщение
    Через switch/case не будет проще?
    switch/case на этапе компиляции раскрывается же, из-за чего к времени компиляции прибавляется почти полторы секунды (сейчас компилируется за 0.3 секунды в среднем). И это на компиляторе от Zeex =) С нативным всё может выйти ещё хуже

     Собственно, вот
    PHP код:
    stock IsValidObjectModel(modelid
    {
        switch(
    modelid
        {
            case 
                
    615..661664669..698700..792800..906910..964966..9981000..11931207..1325,
                
    1327..15721574..16981700..28822885..31353167..317531783187319332143221
                
    3241..324432463249..32503252..32533255..32653267..33473350..34153417..3428
                
    3430..36093612..37833785..38693872..38823884..38883890..39733975..4541
                
    4550..47624806..50845086..50895105..53755390..56825703..60106035..6253
                
    6255..62576280..63476349..65256863..73927415..79737978..91939205..9267
                
    9269..94789482..1031010315..1074410750..1141711420..1175312800..13563
                
    13590..1366713672..1389014383..1452814530..145541455614558..1464314650..14657
                
    14660..1469514699..1472814735..1476514770..1485614858..1488314885..14898
                
    14900..1490315025..1506416000..1679017000..1747417500..179741797617978
                
    18000..1803618038..1810218104..18105181091811218200..1885918860..19274
                
    19275..1959519596..19999
                    return 
    1;
        }
        return 
    0;



    Цитата Сообщение от Edwin Посмотреть сообщение
    Это ты сидел загонялся, просматривал все объекты в редакторе, или как?)
    Массив из инклуда + цикл + форматирование данных из массива в формат условий + print
    Чутка подправил то, что вышло в логах и получилось это :)

    Это, кстати говоря, не самый быстрый вариант. В одной из тем на forum.sa-mp.com нашёл вот этот вариант (автор - Slice)
      Открыть/закрыть
    PHP код:
    IsValidObjectModel(model)
    {
        static
            
    valid_model[] = //credits to Slice
            
    {
                
    0b111111111110111111101101111111100b00000000001111111111111111111111,
                
    0b000000000000000000000000000000000b00000000000000000000000000000000,
                
    0b000000000000000000000000000000000b00000000000000000000000000000000,
                
    0b000000000000000000000000000000000b00000000000000000000000000000000,
                
    0b000000000000000000000000000000000b11111111111111111111111110000000,
                
    0b111000010011111111111111111111110b11110111111111111111111111111111,
                
    0b111111111111111111111111111111110b11111111111111111111111111111111,
                
    0b000000011110000001111111111111110b11111111111111111111111111111111,
                
    0b111111111111111111111111111111110b11111111111111111111111111111111,
                
    0b111111111111111111000111111111110b11111111111111111111111111111111,
                
    0b111111111111111111111111110111110b11111111111111111111111101111111,
                
    0b111111111111111111111111111111110b11111111111111111111111111111111,
                
    0b111111111111111111111111111111110b11111111111111111111111111111111,
                
    0b111111111111111111111111111111110b11111111100000000000001111111111,
                
    0b111111111111111111111111111111110b11111111111010111101111111111111,
                
    0b111111111111111111111111111111110b11111111111111111001111111111111,
                
    0b111111111111111111111111111111110b10000000000011111111111111111111,
                
    0b111111111111111111111111111111110b11111111111111111111111111111111,
                
    0b111111111111111111111111111111110b11111111111111111111111111111111,
                
    0b111111111111111111111111111111110b11111111111111111111111111011111,
                
    0b111111111111111111111111111111110b11111111111111111111111111111111,
                
    0b111111111111111010111011111111110b11111111111111111111111111110111,
                
    0b111111111111111111111111111111110b11111111111111111111111111111111,
                
    0b111111111111111111111111111111110b11111111111111111111111111111111,
                
    0b111111111111111111111111111111110b11111111111111111111111111111111,
                
    0b111111111111111111111111111111110b11111111111111111111111111111111,
                
    0b111111111111111111111111111111110b11111111111111111111111111111111,
                
    0b111111111111111111111111111111110b11111111111111111111111111111111,
                
    0b111111111111111111111111111111110b11111111111111111111111111111111,
                
    0b111111111111111111111111111111110b11111111111111111111111111111111,
                
    0b111111111111111111111111111111110b11111111111111111111111111111111,
                
    0b111111111111111111111111111111110b11111111111111111111111111111111,
                
    0b111111111111111111111111111111110b11111111111111111111111111111111,
                
    0b111111111111111111111111111111110b11111111111111111111111111111111,
                
    0b111111111111111111111111111111110b11111111111111111111111111111111,
                
    0b111111111111111111111111111111110b11111111111111111111111111111111,
                
    0b111111111111111111111111111111110b11111111111111111111111111111111,
                
    0b111111111111111111111111111111110b11111111111111111111111111111111,
                
    0b111111111111111111111111111111110b11111111111111111111111111110011,
                
    0b111111111111111111111111111111110b11111111111111111111111111111111,
                
    0b111111111111111111111111111001110b11111111111111111111111111111111,
                
    0b111111111111111111111111111111110b11111111111111111111111111111111,
                
    0b111111111111111111111111111111110b11111111111111111111111111111111,
                
    0b111111111111111111111111111111110b11111111111111111011110111101111,
                
    0b100000000000000000000000000000000b00000010000010000000010011111111,
                
    0b000000000010000001000000000000000b11111111101101100101111000000000,
                
    0b011100001111111111111111111110110b00000000001111111111111111000000,
                
    0b100111111100000000000011110011000b11111111101111001100000000011110,
                
    0b000011101101111111001111111111110b11111111111111111111111111001110,
                
    0b111110000000111111111111111111110b11111111111111111110111101101011,
                
    0b010000000000000001111111011101110b11010111111111111111000001111100,
                
    0b111100111111111111111110011111110b01011111111111111111111111111111,
                
    0b011111101000011110111110101010110b10001001010101100100001000010000,
                
    0b101000000000000000010100001010100b00001000001111101010111100100000,
                
    0b111111111111111111111110101000010b00000000011111111111110101111111,
                
    0b000011111111111111111100001111000b11011110111111001111011011111011,
                
    0b111111111110011111111100110011100b11111111111111111111111111111111,
                
    0b011111111111111111111111101111110b01111000111111111111110111111111,
                
    0b000111000000000100000000000001110b00001111111100001000000000000000,
                
    0b101011110010011101111100111110000b01010101010101010110100000101011,
                
    0b011101111101010111111101001010010b01111111111100101110111011111011,
                
    0b111111111111111111001011110010000b11111111111111111111111111111111,
                
    0b111111111111111111111111111111110b11111111111111111111111111111111,
                
    0b000000000111111111111111111111110b00000000000000000000000000000000,
                
    0b000000000000000000000000000000000b00000000000000000000000000000000,
                
    0b111111110000000000000000000000000b00010100101000001111111111111111,
                
    0b111111111011110111111111110000000b00111111111111111111111100000001,
                
    0b111100000000000000000000000000000b00000101010101010111111111111111,
                
    0b111100101101110000111110100000000b11111110111110000111110111010000,
                
    0b000000000000000111111111111111110b00000000000000000000000000000000,
                
    0b111111111111111111111111110000000b11111111111111111111111111111111,
                
    0b110111111111111111111111111111110b00000000000000000000000000000111,
                
    0b000000000000000000000000000000000b11010111111000000000000000000000,
                
    0b101100110010001011111111111111110b00011000010111010101011111010111,
                
    0b110111111111111111110101011111110b11111111111111100000000000000011,
                
    0b111111111111111111111111111111110b11111111111111111100000101111111,
                
    0b000000000000000000000001111111110b00011000000001111000000000000000,
                
    0b111111111111111001111000000001000b11110100011011111111110000000000,
                
    0b111111100010011111111100000001110b11111111110110000100101010101000,
                
    0b111111111111111111000000000000000b11111111111111111111111111111111,
                
    0b111010111110111100111111111111110b11111111111111111111111111111111,
                
    0b000100010000011111000011111111110b00100000000000000000000000000000,
                
    0b000000000000000000000000000000000b11111101000000000000000000000000,
                
    0b111100011101010000011111111111110b00000000000001101111010000010010,
                
    0b111111111111111111111111100000000b11111111111111111111111111111111,
                
    0b111111111111111111111111111111110b11111111111111111111111111111111,
                
    0b111000011111000001111000000000000b11100110011111111101011111111011,
                
    0b000000000000000000000001001110010b00000000000000000000000000000000,
                
    0b000000000000000000000000000000000b00000100110000101100111111001100,
                
    0b111111111111100000000000000000000b00000000000001111111111111111111,
                
    0b110000011111110111000001100000000b00000111111101111111111111111111,
                
    0b000000000010000111100001110100100b00111000100111110011110000000000,
                
    0b001111111111101010000010011111100b00000000000000100001111100000000,
                
    0b111111111111111111111111000000000b01111111111111111111111111111111,
                
    0b010111000011111111101011111101110b11100010111111100000000000111111,
                
    0b110110000110001100111000111110010b01100110000011110001100000010000,
                
    0b000001111000000000000000000001000b00010111111101100011100001101010,
                
    0b000000000000000000000000000000000b00000000000000000000000000000000,
                
    0b000000000000000000000000000000000b00000000000000000000000000000000,
                
    0b000000000000000000000000000000000b00000000000000000000000000000000,
                
    0b000000000000000000000000000000000b00000000000000000000000000000000,
                
    0b000000000000000000000000000000000b00000000000000000000000000000000,
                
    0b111111111011111110000000000000000b01111000000111100000000111111111,
                
    0b000000000111111101111111101111110b11111111111111111111111111111111,
                
    0b000000001010011011111111111111110b11111111111111111111111111111110,
                
    0b101000010000001111111111111111110b11111111111111111111111111111011,
                
    0b000000000000000000000000000000110b00000000000000100000000000000000,
                
    0b011100011111110100000000000100000b11111101111101100011011111111111,
                
    0b100000000111111111111101010101110b11011111100000010011001010110111,
                
    0b110100111010111111111111111111110b10101010000010010000001111111000,
                
    0b111110001011111000001111100101100b11111111100000000000000000000001,
                
    0b111111111111111111111111111111110b01111111111111111111111111111111,
                
    0b111111111111111111111111111111110b11111111111111111111111111111111,
                
    0b111111111111111111111111111111110b11111111111111111111101111111111,
                
    0b111111111111111111111111111111110b00000000000001111111111111111111,
                
    0b001110000000000100010000000000100b00000000000011100000000000000000,
                
    0b000000000000000000001000000000000b00000000000000000000000000000000,
                
    0b111101010000000000000000000000000b00011111111000000101001000000111,
                
    0b111100000111101000110111010000000b01111110111111111111111111111111,
                
    0b101010000001111101001011110111000b11111111111111111111110000111010,
                
    0b000000000000000000000111111111110b11111111111111111111111111111110,
                
    0b000010001111111111111111111111110b00000000000000000000000000000000,
                
    0b000011111111100000000011111111010b00111110000001111111101110100000,
                
    0b000011111111011111000111110001000b11101010111101010011000111110000,
                
    0b111010100000000000000001110100010b10001110110101100101000001110101,
                
    0b110000111110101010111111111111110b11010110101111110000000000111111,
                
    0b000111111111111111111111110101000b11111111111111111111111111111111,
                
    0b001111111111111111111111111111110b11111111111111111111111111111111,
                
    0b111111111111111111111111111111110b11111111111111111111111111111111,
                
    0b100000000011111111111111111111110b11111111111111111111111111111111,
                
    0b111111111111111111111111111111110b00000000000000111111111111111111,
                
    0b000000000000000000000000010000000b00000000000000000000000000000000,
                
    0b000000000000000000000000000000000b00011111000000000000000000000000,
                
    0b000111111111111001111111111111110b00000011111111111111111111111110,
                
    0b000000000000000000000000000000000b00101100000110000000000000010000,
                
    0b111000001111100000000010000000000b11111000000000011111111100000000,
                
    0b110100001111111010111111111111110b11001101010100011100011101000011,
                
    0b111111111111010100111100111001110b01000000000111111001101111111111,
                
    0b000000001110101111111100100001110b11111111111000000000001111111111,
                
    0b111111111111111111111111111111110b11111111111011110111111111111111,
                
    0b111111111111111111111111111111110b11111111111111111111111111111111,
                
    0b000000000000011000000011111111110b00000000000000000000000000000000,
                
    0b111000000000000000000000000000000b00000000000000000000000000000001,
                
    0b111111111111111111111100000100000b00000111111111111111111111111111,
                
    0b111111111111111111101000000000000b11111111111111111111111110111111,
                
    0b000000111000011111111111111111110b00000000001100000000000000000000,
                
    0b011001100010110100000000000000000b11111111111111111111111111111111,
                
    0b000001111111111111111111111111110b00000000000000000000000011111110,
                
    0b111111111101000000000000000000000b00000000000000000111111111101011,
                
    0b011000000000000000000001100111000b11111111111111111111111111101010,
                
    0b111111000000000001111111111111110b00000000000000000000000001111111,
                
    0b111011110000000000000000000000000b11111110111111111111111111111111,
                
    0b111111111111111111110111111111110b11000000001000000000000011011001,
                
    0b110111111111111111111111111111110b11100000011000000000011111111110,
                
    0b000000000011111000111111111111110b00011110111111000000000000000000,
                
    0b110011111111000010010111111101000b00110001110001111000011101011110,
                
    0b000000000000000000000000011101100b11111111111111111100000000000000,
                
    0b111111111111111111111111111111110b11111111111111111111111111111111,
                
    0b111111111111111111111111111111110b00111111111111111111111111111111,
                
    0b000000000000000000000000000000000b11000000000000000000000000000000,
                
    0b000000000000000111111111111111110b11101111111111110100001000000000,
                
    0b000010100000000011111111111111110b00001100000110011000000000000000,
                
    0b010100111111111111111111110000000b11000001111111111100000000000100,
                
    0b111111111111111111111111111111110b11001111110000000000111111111111,
                
    0b111111111111111111111111111111110b00001111111111111111111111011111,
                
    0b000000111000000000001110001000000b11111111111111111110000000100000,
                
    0b111111111110011111111111111111110b11111111111111111111111111111111,
                
    0b000000000000000000000000111111110b10000000000000000000000000000000,
                
    0b111111111111111111111111111111110b11111111111111111111111111001111,
                
    0b000000000000000001111110000011110b00000000000000000000000000000000,
                
    0b111101111000000000000000000000000b00111111111100001011111111111111,
                
    0b101101111010100100000000000000000b11010000111111110001011011101010,
                
    0b100000111000001011010010110100000b11111111111110000100000010111101,
                
    0b111100110111111101000011000111110b11111111111111111111111111111111,
                
    0b111111111111111111111111111111110b11111111111111111111111111111111,
                
    0b111111111111111111111111111111110b00000000000110011111111111111111,
                
    0b000011111000000000000000000000000b10000000000000001011111010000000,
                
    0b111001000000011110000000000000000b00000000000000000000000000000011,
                
    0b000000000000000000000000000000000b00000000000000000000000000000000,
                
    0b000000000000000000000000000000000b00000000000000000000000000000000,
                
    0b000000000000000000000000000000000b00000000000000000000000000000000,
                
    0b000000000000000000000000000000000b00000000000000000000000000000000,
                
    0b000000000000000000000000000000000b00000000000000000000000000000000,
                
    0b000000000000000000000000000000000b00000000000000000000000000000000,
                
    0b000000000000000000000000000000000b00000000000000000000000000000000,
                
    0b000000000000000000000000000000000b00000000000000000000000000000000,
                
    0b000000000000000000000000000000000b00000000000000000000000000000000,
                
    0b000000000000000000000000000000000b00000000000000000000000000000000,
                
    0b000000000000000000000000000000000b00000000000000000000000000000000,
                
    0b000000000000000000000000000000000b00000000000000000000000000000000,
                
    0b000000000000000000000000000000000b00000000000000000000000000000000,
                
    0b000000000000000000000000000000000b00000000000000000000000000000000,
                
    0b000000000000000000000000000000000b00000000000000000000000000000000,
                
    0b000000000000000000000000000000000b00000000000000000000000000000000,
                
    0b000000000000000000000000000000000b00000000000000000000000000000000,
                
    0b111111111111111111111111111111110b11111111111111111111111111111011,
                
    0b111111111111111111111111111111110b11111111111111111111111111111111,
                
    0b111111111111111111111111111111110b11111111111111111111111111111111,
                
    0b111111111111111111111111111111110b00001110001111111101111001011011,
                
    0b000111100110000111000110001111000b11000000001011111111111110010001,
                
    0b011111111111111111011011111111110b00111111111111111010100001110010,
                
    0b011111111110000001000000010110000b00000000001110000000000000000000,
                
    0b000000000000000000000000000000000b00000000000000111000000000000000,
                
    0b010000010001000000111010000000010b11001111100110110000000000111010,
                
    0b000000000000000000000000000000000b11111000000000000100000000000000,
                
    0b010000000010000000011111101111110b11111111111011100111000000000000,
                
    0b111111111111111111111111111111110b00001111111111111111111111111111,
                
    0b111111111100000000000000000000000b11111111111111111111111111111111,
                
    0b111111111111111111111111111111110b11111111111111111111111100001111,
                
    0b111111111111111111111111111111110b01111111101111011111111111111111,
                
    0b001000010000000000000000000000100b10110111011001100111011000001000,
                
    0b000000000010000000000000100001110b10000100000000011000001111100000,
                
    0b000000000000000000000000000001000b00000000000000000000000000000000,
                
    0b000000000000000000000000000000000b00000000000000000000000000000000,
                
    0b000000000000000000000000000000000b00000000000000000000000000000000,
                
    0b000000000000000000000000000000000b00000000000000000000000000000000,
                
    0b000000000000000000000000000000000b00000000000000000000000000000000,
                
    0b000000000000000000000000000000000b00000000000000000000000000000000,
                
    0b000000000000000000000000000000000b00000000000000000000000000000000,
                
    0b000000000000000000000000000000000b11111111111111111000000000000000,
                
    0b111111111111111111111111111111110b11111111111111111111111111111111,
                
    0b111111111111111111111111111111110b11111111111111111111111111111111,
                
    0b110101111111111111111111111111010b11111111111111111111111111111111,
                
    0b111111111111111111111111111111110b11111100000011111111111111111111,
                
    0b111111111111111111111111111100110b11111111111111111111100011111111,
                
    0b111111111111111110000001111111110b11111111111111000011111111111111,
                
    0b111111111111111111111111111111110b11111111111111111111111111111111,
                
    0b111111111111111111111101111111110b00000000111101111111111111101111,
                
    0b000000000000000000000000000000000b00000000000000000000000000000000,
                
    0b000000000000000000000000000000000b11111111111111100000000000000000,
                
    0b000000011111111111111111111111110b00000000000000000000000000000000,
                
    0b000000000000000000000000000000000b00000000000000000000000000000000,
                
    0b000000000000000000000000000000000b00000000000000000000000000000000,
                
    0b000000000000000000000000000000000b00000000000000000000000000000000,
                
    0b000000000000000000000000000000000b00000000000000000000000000000000,
                
    0b000000000000000000000000000000000b00000000000000000000000000000000,
                
    0b000000000000000000000000000000000b00000000000000000000000000000000,
                
    0b000000000000000000000000000000000b00000000000000000000000000000000,
                
    0b000000000000000000000000000000000b00000000000000000000000000000000,
                
    0b000000000000000000000000000000000b00000000000000000000000000000000,
                
    0b000000000000000000000000000000000b00000000000000000000000000000000,
                
    0b000000000000000000000000000000000b00000000000000000000000000000000,
                
    0b000000000000000000000000000000000b00000000000000000000000000000000,
                
    0b000000000000000000000000000000000b00000000000000000000000000000000,
                
    0b000000000000000000000000000000000b00000000000000000000000000000000,
                
    0b111111111111111111111111111111110b11111111111111111111111111111111,
                
    0b111111111111111111111111111111110b11111111111111111111111111111111,
                
    0b111111111111111111111111111111110b11111111111111111111111111111111,
                
    0b111111111111111111111111111111110b11111111111111111111111111111111,
                
    0b111111110000000111111101111111110b11111111111111111111111111111111,
                
    0b111111111111111011111111111111110b00000111111111111111111111111111,
                
    0b000011111111111111111111111111110b01110100111101000100000111110000,
                
    0b101010000000000000000000000000010b00000000111101000000000000000011,
                
    0b000000001111110000000000000000000b00001001000111000000000000000000,
                
    0b001000101000001000000000000000000b11111111111110001100000000100100,
                
    0b111111111111111111111111111111110b01110000011101100011111001111010,
                
    0b111110000000000000000000000111100b11000001111101100000111111111111,
                
    0b000000000111111111111111111011100b00000000000000000000000000000000,
                
    0b000000000000000000000000000000000b00000000000000000000000000000000,
                
    0b000000000000000000000000000000000b00000000000000000000000000000000,
                
    0b000000000000000000000000000000000b11111111111111111111111100000000,
                
    0b111111100011111111111111111111110b11111111111111111111111111111111,
                
    0b111111111111111111111111111111110b01010111111111111111111111111111,
                
    0b010101010101010101010101010101010b01010101000101010101010101010101,
                
    0b010101010101010101010101010101010b10101010101010000101010101010101,
                
    0b011110101111111111111111111110100b00000000111010101101100000000000,
                
    0b000000000000000000000000000000000b00000000000000000000000000000000,
                
    0b000000000000000000000000000000000b10000000000000111100000000000000,
                
    0b111100000000000000000000000001010b11111111111111111111111011111111,
                
    0b111111111111111111111111111111110b11111101101101101100111111100001,
                
    0b111111111111111111111111111111110b11111111111111111111111111111111,
                
    0b111111111111111111111111111111110b00000000000000000000000000011111,
                
    0b000000000000000000000000000000000b00000000000000000000000000000000,
                
    0b000000000000001010110000000000000b01111011000000100000000000100000,
                
    0b110000111111110100001111110110000b11111011100011110110111001111001,
                
    0b110011011111111101100001111001110b00000101011110110000000001111110,
                
    0b111111111111111100000000000000000b11111111110111111111111111111111,
                
    0b111111111111111111111111111111110b00100011011111111111111111111111,
                
    0b000000000000000000000000000000010b00000000000000000000000000000000,
                
    0b111111110000000000000000000000000b11111111111111111111111111111111,
                
    0b111111111111111111111111111111110b11111111111111111111111111111111,
                
    0b111111111111111111111111111111110b11111111111111111111111111111111,
                
    0b000001111111111111111111111111110b00000000000000000000000000000000,
                
    0b111111111111111111111111111111110b00000000001111111111111111111111,
                
    0b000000000100000000000000000000010b00000011100000000000000000000000,
                
    0b000000000000000000000011111010100b11111111111111110000000000000000,
                
    0b111111111111111111111111111111110b11111111111111111111111111111111,
                
    0b111111111111111111111111111111110b11111111111111111111111111111111,
                
    0b111111111111111111111111111111110b11111111111111111111111111111111,
                
    0b101111111111111111111111111111110b11111111111111111100111111111111,
                
    0b111111111111111111111111111111110b11111111111111111111111111111111,
                
    0b111111111111111111111111111111110b11111111111111111111111111111111,
                
    0b111111111111111111111111111111110b11111111111111111111111111111111,
                
    0b111111111111111111111111111111110b11111111111111111111111111111111,
                
    0b111111111111111111111111111111110b01111111111111111111111111111111,
                
    0b111111111111111111111111111111110b11111111111111111111111111111111,
                
    0b111111111111111111100111111111110b11101111111111111111000111111111,
                
    0b111111111111111111111111111111110b11111111111111111111111111111111,
                
    0b111111111111111111111111111111110b11111111111111111111111111111111,
                
    0b111100000000011111111111111111110b00001111111111111111111111111111,
                
    0b000000000000000000000000000000000b00000000000000000000000000000000,
                
    0b000000000000000000000000000000000b00000000000000000000000000000000,
                
    0b000000000000000000000000000000000b00000000000000000000000000000000,
                
    0b000000000000000000000000000000000b00000000000000000000000000000000,
                
    0b000000000000000000000000000000000b00000000000000000000000000000000,
                
    0b000000000000000000000000000000000b00100000000000000000000000000000
            
    };
        if (
    model 19901)
        {
            return 
    0;
        }
        
    model -= 320;
        if (
    model 0)
        {
            return 
    0;
        }
        return (
    valid_model[model >> 5] & (<< (model 0x1F)));


    Он в разы быстрее, но тут нет больше 600 объектов (судя по всему, тут только те, что есть в GTA), что меня не устроило. Разбираться в том, какие тут объекты уже есть, было лень, поэтому сделал на обычных условиях
    Последний раз редактировалось DeimoS; 02.05.2017 в 20:09.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    17.11.2015
    Адрес
    Stavropol
    Сообщений
    1,369
    Репутация:
    113 ±
    Я думаю надо прикладывать 2 варианта, switch/if-else
    Так как есть люди которым на время компиляции начхать,
    а вот время выполнения в игре шустрее это +(да да да угадали это я ахах)
    [Anticheat]___Invisible Fly Hack
    [Anticheat]____Weapon/Ammo Hack
    [Function]______ResetPlayerWeaponSlot
    [Function]_______FIX_SetPlayerAmmo
    [ServerMod]______TDM | Zombie Apokalypse

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

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2589 ±
    Цитата Сообщение от vovandolg Посмотреть сообщение
    Я думаю надо прикладывать 2 варианта, switch/if-else
    Так как есть люди которым на время компиляции начхать,
    а вот время выполнения в игре шустрее это +(да да да угадали это я ахах)
    Не факт, что вариант со switch будет быстрее. Если список значений состоит из достаточно больших интервалов, то проще сравнить с крайними значениями из диапазона (min <= x && x <= max), чем последовательно с каждым из них.
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Вот тут Ziggi прикладывал списки того, в каких ситуациях switch/case быстрее.

    И да, когда у тебя скрипт по пол минуты компилируется ради 30 миллисекунд процессорного времени - не сказал бы, что это лучший выбор.
    Последний раз редактировалось DeimoS; 08.05.2017 в 13:57.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    14.05.2015
    Сообщений
    1,181
    Репутация:
    790 ±
    Да, в данном случае switch/case будет, скорее всего, сильно медленнее. Но надо бы обновить вариант от Slice, может займусь.

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

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

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

    Статус
    Оффлайн
    Регистрация
    04.01.2015
    Адрес
    Гомель, Беларусь
    Сообщений
    547
    Репутация:
    158 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    И да, когда у тебя скрипт по пол минуты компилируется ради 30 миллисекунд процессорного времени - не сказал бы, что это лучший выбор.
    Если switch не пихать где попало, то прироста в 30 секунд и близко не будет, в то время как прирост по времени ощущать будешь только ты, а не пользователи сервера.

    Хотя в данном случае действительно, как уже сказали выше, if скорее всего будет выгоднее из-за больших интервалов между значениями. На п-и или где-то на другом форуме также когда-то замеры этого всего были
    Не хотите постоянно проверять обновления моих скриптов?
    Подключите его последним, после всех остальных
    Nexius's Update Checker

 

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

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

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

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

Ваши права

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