Пользователи, просматривающие тему (Пользователей: 0, Гостей: 0)

  1. ggg

    Регистрация:
    11.02.16
    Сообщения:
    150
    Симпатии:
    32
    Пол:
    Мужской
    Автор: s0h
    Источник: [Новогодний] Вместо бомбы снеговик (Анимация)
    Версия: 1.6

    Описание:
    Плагин заменяет бомбу на снеговика, актуально для нового года))


    Настройки:
    #define SOUND // Если не хотите слышать звуки, закомментируйте эту строку
    #define SNOW //Если вам не нужен снег, закомментируйте эту строку
    #define ANIMATION_DEFUSE //Если вам не нужна анимация во время разминирования бомбы, закомментируйте эту строку
    #define BLINK_BOMB //Если хотите чтобы бомба внизу снеговика мигала, закомментируйте эту строку


    Установка:
    Ждем Новый год, и устанавливаем как обычный плагин.

     

    Вложения:

    • 34h8co2.jpg
      34h8co2.jpg
      Размер файла:
      106,6 КБ
      Просмотров:
      16
    • bomb_ny_1_6.sma
      Размер файла:
      6,4 КБ
      Просмотров:
      42
    • res.zip
      Размер файла:
      326,8 КБ
      Просмотров:
      41
    umic, BaJIepbI4, pUzzlik и ещё 1-му нравится это.
  2. KoPa6JIuK

    Регистрация:
    27.02.15
    Сообщения:
    674
    Симпатии:
    54
    Пол:
    Мужской
    Без варнингов

    Код:
    #include <amxmodx>
    #include <amxmodx>
    #include <amxmisc>
    #include <fakemeta>
    #include <engine>
    
    #define PLUGIN "Snowman - Bomb"
    #define VERSION "1.6"
    #define AUTHOR "s0h"
    
    
    //Settings
    #define SOUND // Если не хотите слышать звуки, закоментируйте эту строку
    //#define SNOW //Если вам не нужен снег, закоментируйте эту строку
    #define ANIMATION_DEFUSE //Если вам не нужна анимация во время разминирования бомбы, закоментируйте эту строку
    #define BLINK_BOMB //Если хотите чтобы бомба внизу снеговика мигала, закоментируйте эту строку
    
    new iEntity;
    
    #if defined BLINK_BOMB
    new g_iLedSprite;
    #endif
    
    new const gClassname_bomb[] = "bomb_snow"
    new const g_szBombModels[][] = {
        "models/bomb_snowman.mdl"
    };
    #if defined SOUND 
    new const g_szBombSounds[][] = {
       
        "ny/bmb_defused.wav",
        "ny/bmb_defuse_failure.wav"
    };
    #endif
    public plugin_init()
    {
            register_event("HLTV", "eventHLTV", "a", "1=0", "2=0");
    
            register_plugin(PLUGIN, VERSION, AUTHOR);
        
        #if defined SNOW  
            register_clcmd("say /snowoff", "clcmd_snowoff")
            register_clcmd("say /snow", "clcmd_snowon")
        #endif
       
            register_forward(FM_SetModel, "fwd_SetModel", 1);
        
            register_logevent("logevent_BombDefused", 3, "2=Defused_The_Bomb");
       
        #if defined ANIMATION_DEFUSE
            register_event("BarTime", "_cansel", "b", "1=0") //Событие отмены минирования/разминирования бомбы
        #endif
       
            register_think(gClassname_bomb, "EntityThink")
       
        #if defined BLINK_BOMB
            register_message(SVC_TEMPENTITY, "message_TempEntity");
        #endif
    }
    
    public plugin_precache()
    {
        #if defined SNOW
        engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "env_snow"));
            #endif
    
        precache_model("models/hairt.mdl");
        new i;
        for(i = 0; i < sizeof g_szBombModels; i++)
        precache_model(g_szBombModels[i]);
           
        for(i = 0 ; i < sizeof g_szBombModels ; i++)
        precache_model(g_szBombModels[i]);
           
        #if defined SOUND
        for(i = 0 ; i < sizeof g_szBombSounds ; i++)
            precache_sound(g_szBombSounds[i]);
        #endif
       
        #if defined BLINK_BOMB
            g_iLedSprite = precache_model("sprites/ledglow.spr");
        #endif
    }
    
    #if defined BLINK_BOMB
    public message_TempEntity(msg_id, msg_dest, msg_ent)
    {
        if(get_msg_arg_int(1) == TE_GLOWSPRITE)
        {
            if(get_msg_arg_int(5) == g_iLedSprite)
                return PLUGIN_HANDLED;
        }
        return PLUGIN_CONTINUE;
    }
    #endif
    
    public eventHLTV()
    {
        clean()
    }
    
    public EntityThink(iEntity)
    {
        if(!pev_valid(iEntity))
        return PLUGIN_CONTINUE
       
        set_pev(iEntity, pev_nextthink, get_gametime() + 0.1)
               
        return PLUGIN_CONTINUE
    }
    
    
    #if defined SNOW  
    public client_putinserver(id)
    {
        client_cmd(id, "cl_weather 3")
    }
    public clcmd_snowoff(id)
    {
        client_cmd(id, "cl_weather 0")
    }
    public clcmd_snowon(id)
    {
        client_cmd(id, "cl_weather 3")
    }
    #endif
    
    public fwd_SetModel(ent, const szModel[])
    {
        if(!pev_valid(ent))
            return FMRES_IGNORED;
        
        if(equal(szModel, "models/w_c4.mdl"))
        {
            engfunc(EngFunc_SetModel, ent, "models/hairt.mdl");
           
            return FMRES_SUPERCEDE;
        }
        return FMRES_IGNORED;
    }
    
    public clean()
    {
        new entity = -1;
       
        while((entity = find_ent_by_class(entity, gClassname_bomb)))
        {
            remove_entity(entity);
        }
    }
    
    public bomb_planted(id)
    {
        #if defined SOUND  
        emit_sound(0, CHAN_AUTO, g_szBombSounds[1], VOL_NORM, ATTN_NORM, 0, PITCH_NORM);
        #endif
       
        new iOrigin[3] //Создаем массив для хранение координат
        get_user_origin(id, iOrigin, 0) //Получаем координаты куда смотрит игрок
    
        new Float:fOrigin[3] //Создаем массив для float коодинат
        IVecFVec(iOrigin, fOrigin) //Конвертируем координаты в дробные
       
        if( (pev(id, pev_flags) & FL_ONGROUND) && (pev(id, pev_button) & IN_DUCK ) )
            fOrigin[2] += 18.0;
    
        iEntity = create_entity("info_target") //Создаем объект info_target
      
        if(!pev_valid(iEntity)) //Проверяем сущетсвует ли, если нет
            return PLUGIN_HANDLED //Заканчиваем. Дальше нам делать нечего
           
        set_pev(iEntity, pev_origin, fOrigin) //Присваиваем координаты
    
        set_pev(iEntity, pev_classname, gClassname_bomb) //Присваиваем Classname
        set_pev(iEntity, pev_solid, SOLID_NOT) //Делаем его непроходимым
        set_pev(iEntity, pev_movetype, MOVETYPE_NONE) //Не задаем тип движения, во всяком случаи пока
        set_pev(iEntity, pev_sequence, 1) //Выставляем № анимации при создании
        set_pev(iEntity, pev_framerate, 1.0) //Выставляем скорость анимации
        set_pev(iEntity, pev_nextthink, get_gametime() + 1.0) //Создаем запуск think
           
        engfunc(EngFunc_SetModel, iEntity, g_szBombModels[0]) //Присваиваем модель
    
        return PLUGIN_HANDLED //Заканчиваем. Дальше нам делать нечего
    }
    
    public bomb_explode()
    {
        clean()
    }
    
    public bomb_defusing() // Момент когда бомбу начали разминировать
    {
        #if defined ANIMATION_DEFUSE
        if(pev_valid(iEntity)) __Anim(iEntity, 3, 1.0); //run
        #endif
    }
    
    #if defined ANIMATION_DEFUSE
    public _cansel()
    {
        if(pev_valid(iEntity)) __Anim(iEntity, 1, 1.0); //not run
    }
    #endif
    
    public logevent_BombDefused()
    {
        #if defined SOUND  
        emit_sound(0, CHAN_AUTO, g_szBombSounds[0], VOL_NORM, ATTN_NORM, 0, PITCH_NORM);
        #endif
       
        if(pev_valid(iEntity)) __Anim(iEntity, 104, 1.0); //dead
    }
    
    stock __Anim(index, sequence, Float: framerate = 1.0)
    {
        static className[32];
        entity_get_string(iEntity, EV_SZ_classname, className, charsmax(className))
        if(equali(className, gClassname_bomb) && pev_valid(index))
        {
            entity_set_float(index, EV_FL_animtime, get_gametime());
            entity_set_float(index, EV_FL_framerate, framerate);
            entity_set_float(index, EV_FL_frame, 0.0);
            entity_set_int(index, EV_INT_sequence, sequence);
        }
       
        if(sequence == 104)
        {
            set_task(1.0, "clean")
        }
    } 
     
  3. Ukraine_Ganibal

    Регистрация:
    08.12.15
    Сообщения:
    131
    Симпатии:
    23
    Пол:
    Мужской
    VKcom:
    cs_adekvat
    Skype:
    king21725
    Уже появился данный плагин под ReHLDS
     
  4. KoPa6JIuK

    Регистрация:
    27.02.15
    Сообщения:
    674
    Симпатии:
    54
    Пол:
    Мужской
    Fablo нравится это.
  5. Ukraine_Ganibal

    Регистрация:
    08.12.15
    Сообщения:
    131
    Симпатии:
    23
    Пол:
    Мужской
    VKcom:
    cs_adekvat
    Skype:
    king21725
    Вот плагин. Модельки и звуки такие же, названия без изменений.
     

    Вложения:

  6. KoPa6JIuK

    Регистрация:
    27.02.15
    Сообщения:
    674
    Симпатии:
    54
    Пол:
    Мужской
    @Ukraine_Ganibal, эм....если ты переименовал сам исходник, это не значит что он переделан под ReHLDS. Код один в один без изменений....
    Плагин после перехода на ReAMX тупит, а именно снеговиков 2-е после того как начинаю минировать бомбу, один стоит(без анимации) второй как положено с анимацией.
     
  7. Ukraine_Ganibal

    Регистрация:
    08.12.15
    Сообщения:
    131
    Симпатии:
    23
    Пол:
    Мужской
    VKcom:
    cs_adekvat
    Skype:
    king21725
    Смеешься? :D Вот мне делать нехрен) У меня стоит плагин, работает без багов.
    Вот ИСТОЧНИК
     
  8. KoPa6JIuK

    Регистрация:
    27.02.15
    Сообщения:
    674
    Симпатии:
    54
    Пол:
    Мужской
    @Ukraine_Ganibal, ору с тебя..... открой оба исходники и посмотри код 1в 1 какое б*я переделан то....
    Ты прежде чем писать прочти посты источника, у типочка были варнинги при компиляции на ReHLDS, и все паренек просто ликвидировал их
     
  9. umic VIP user

    Регистрация:
    08.04.16
    Сообщения:
    513
    Симпатии:
    40
    Пол:
    Мужской
    Что-то варнинги идут при компиляции на reamxx183
    //AMXXPC compile.exe
    // by the AMX Mod X Dev Team


    //// bomb_ny_1_6.sma
    //
    // C:\Games\╧ырушэ√\Compiler reamxx1.8.3\bomb_ny_1_6.sma(42) : warning 217: loose indentation
    // C:\Games\╧ырушэ√\Compiler reamxx1.8.3\bomb_ny_1_6.sma(51) : warning 217: loose indentation
    // C:\Games\╧ырушэ√\Compiler reamxx1.8.3\bomb_ny_1_6.sma(71) : warning 217: loose indentation
    // C:\Games\╧ырушэ√\Compiler reamxx1.8.3\bomb_ny_1_6.sma(75) : warning 217: loose indentation
    // C:\Games\╧ырушэ√\Compiler reamxx1.8.3\bomb_ny_1_6.sma(110) : warning 217: loose indentation
    // C:\Games\╧ырушэ√\Compiler reamxx1.8.3\bomb_ny_1_6.sma(112) : warning 217: loose indentation
    // C:\Games\╧ырушэ√\Compiler reamxx1.8.3\bomb_ny_1_6.sma(165) : warning 217: loose indentation
    // C:\Games\╧ырушэ√\Compiler reamxx1.8.3\bomb_ny_1_6.sma(167) : warning 217: loose indentation
    // C:\Games\╧ырушэ√\Compiler reamxx1.8.3\bomb_ny_1_6.sma(168) : warning 217: loose indentation
    // C:\Games\╧ырушэ√\Compiler reamxx1.8.3\bomb_ny_1_6.sma(170) : warning 217: loose indentation
    // C:\Games\╧ырушэ√\Compiler reamxx1.8.3\bomb_ny_1_6.sma(178) : warning 217: loose indentation
    // C:\Games\╧ырушэ√\Compiler reamxx1.8.3\bomb_ny_1_6.sma(181) : warning 217: loose indentation
    // C:\Games\╧ырушэ√\Compiler reamxx1.8.3\bomb_ny_1_6.sma(182) : warning 217: loose indentation
    // C:\Games\╧ырушэ√\Compiler reamxx1.8.3\bomb_ny_1_6.sma(183) : warning 217: loose indentation
    // C:\Games\╧ырушэ√\Compiler reamxx1.8.3\bomb_ny_1_6.sma(184) : warning 217: loose indentation
    // C:\Games\╧ырушэ√\Compiler reamxx1.8.3\bomb_ny_1_6.sma(185) : warning 217: loose indentation
    // C:\Games\╧ырушэ√\Compiler reamxx1.8.3\bomb_ny_1_6.sma(189) : warning 217: loose indentation
    // Header size: 1140 bytes
    // Code size: 4584 bytes
    // Data size: 1856 bytes
    // Stack/heap size: 16384 bytes
    // Total requirements: 23964 bytes
    //
    // 17 Warnings.
    // Done.
    //
    // Compilation Time: 0,23 sec
    // ----------------------------------------

    Press enter to exit ...
    Вот эта версия - все норм
    bomb_ny_1_6_rehlds.sma
     
  10. maFFyoZZyk

    Регистрация:
    14.01.16
    Сообщения:
    1.415
    Симпатии:
    620
    Пол:
    Мужской
    Вроде на форуме не первый день, а такие сообщения, выравнивание - это о чем нить говорит?
     
  11. Le$hiy VIP user

    Регистрация:
    13.06.15
    Сообщения:
    832
    Симпатии:
    226
    Пол:
    Мужской
    VKcom:
    leshiy_bannikoff
    @KoPa6JIuK, код не 1 в 1. В ре версии 5672 символов, в обычной - 5832.
     
  12. umic VIP user

    Регистрация:
    08.04.16
    Сообщения:
    513
    Симпатии:
    40
    Пол:
    Мужской
    I
    I,am speak English very bad.