BLOG | Вопросы от MayroN'а | и не только...

Сообщения
1,481
Реакции
1,476
Помог
2 раз(а)
DEVV, можно же настроить конфиги карт, где нет снега, не включать плагин.....
Да именно на снежных картах и запускать реализацию.
Я посмотрю,если удастся всё исправить - то выложу плагин с моделью.
 
Сообщения
909
Реакции
186
Помог
4 раз(а)
MayroN, Где песоооок? Когда уже заставишь в движок это добавить?
 
Последнее редактирование:
Сообщения
909
Реакции
186
Помог
4 раз(а)
MayroN, Ради эксперимента ?
Просто интересно как выглядеть будет на том же дасте
 
Сообщения
1,481
Реакции
1,476
Помог
2 раз(а)
Просто интересно как выглядеть будет на том же дасте
Фигня это всё (((
У клиента может быть кастомный ( изменённый вадовский файл декстур дастовых ) и приветики
Вообщем не для всех (
Ну вообщем смотри )

 
Сообщения
909
Реакции
186
Помог
4 раз(а)
MayroN, Не плохо для теста, но такой звук :D
Надо подумать на счёт wad файла
 
Сообщения
1,481
Реакции
1,476
Помог
2 раз(а)
MayroN, Не плохо для теста, но такой звук :D
Надо подумать на счёт wad файла
Можешь попробовать вариант с пылью из под ног сыпать спрайтом
Я уже пробовал раньше при падении рисовку - мне чёт не понравилось (

Или как тест сделать опять ? )
 
Сообщения
909
Реакции
186
Помог
4 раз(а)
MayroN, Да не, я уже примерно представил
Хм, а если следу + пыль? ток следы слишком четкие, в песке вроде они не такие
 
Сообщения
1,481
Реакции
1,476
Помог
2 раз(а)
MayroN, Да не, я уже примерно представил
Хм, а если следу + пыль? ток следы слишком четкие, в песке вроде они не такие
Не знаю,не знаю - нужно смотреть
Ну у меня как сейчас - 3 режима погодных условий
Ясно - практически ничего нет,кроме спрайта солнца и неба
Дождь
Снег

И вот на дожде я рисую брызги воды при ходьбе - этого достаточно
На снегу - тот пар ( что ты видел на видео ) + будут следы шагов

Вот.
Правда на светлых участках ничего почти и не видно.
Размер сам спрайта и всё такое...

 

Вложения

Последнее редактирование:
Сообщения
1,481
Реакции
1,476
Помог
2 раз(а)
Имеется
Код:
new BODY_RAIN_TORNADO;

public plugin_precache()
{
    BODY_RAIN_TORNADO = random_num(12, 13);
}
Загружается Спавн Энтити

Код:
public ShowEnt(ent)   
{
    new Float:fGameTime = get_gametime();

    if(fGameTime > pev(ent, pev_fuser3))   
    {
        new iNum = SPAWN_MODEL_NUM;
        for(new a = 0; a < iNum; a++)   
        {
            CreateEnt(a);
        }
        set_pev(ent, pev_fuser3, fGameTime + SPAWN_MODEL_TIME);
    }
}
И создание

Код:
public CreateEnt(i)
{
    new Float:fOrigin[3];
    if (!SsGetOrigin(fOrigin))
        return;
    
    new ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"))
    
    if (!pev_valid(ent)) return
    
    set_pev(ent, pev_classname, "WeatherBox");
    set_pev(ent, pev_solid, SOLID_TRIGGER);
    
    engfunc(EngFunc_SetModel, ent, MODEL_WEATHER);
    engfunc(EngFunc_SetOrigin, ent, fOrigin);

    set_pev(ent, pev_body, (g_iWeatherSound == WeatherSound_Snow) ? BODY_SNOW : BODY_RAIN_TORNADO);

    if(pev(ent, pev_body) != 13)
    {
        set_pev(ent, pev_rendercolor, Float:{0.0, 0.0, 0.0});
        set_pev(ent, pev_rendermode, kRenderTransAlpha);
        set_pev(ent, pev_renderamt, 0.0);
    }

    set_pev(ent, pev_sequence, 2);
    set_pev(ent, pev_framerate, 1.0);

    if(pev(ent, pev_body) == 13)
    {
        emit_sound(ent, CHAN_STATIC, weather_sound[6], 1.0, ATTN_NORM, 0, PITCH_NORM);
    }

    drop_to_floor(ent);
    
    set_pev(ent, pev_impulse, CREATE);
    set_pev(ent, pev_nextthink, get_gametime() + 0.2);
}
И вот,если выбирается из рандома 12 ( Модель Лужи )
BODY_RAIN_TORNADO = random_num(12, 13);

То создаётся по карте
#define SPAWN_MODEL_NUM random(15)

И мне нужно сделать так,что-бы когда выбирался из рандома номер 13 ( Модель Торнадо ) то действовал Макрос на одну Энтити

К примеру так
#define SPAWN_MODEL_NUM_TORNADO random(1)

Прошу помощи
 
Сообщения
909
Реакции
186
Помог
4 раз(а)
MayroN, Ну тут либо проверять BODY_RAIN_TORNADO на 13 через if и делать break в цикле
Либо же просто в условии вызвать создание энтити без цикла
Ждемс более опытных
 
Сообщения
1,481
Реакции
1,476
Помог
2 раз(а)
Сделал модель шагов.
Всё,что получилось по работоспособности - результат на видео
Не пойму,как можно закрыть баг над пропастью,когда ходит игрок и,что-бы они внизу не рисовались + также парят у воздухе


Код:
#include <amxmodx>
#include <engine>
#include <fun>
#include <fakemeta_util>
#include <hamsandwich>
#include <xs>

#define CLASSNAME_FOOTSTEPS_SNOW    "footsteps_snow"
#define FOOTSTEPS_SNOW    "models/footsteps_snow.mdl"

#define STEAM        "sprites/steam.spr"
new g_steam

new Float:g_iNextStep[33];

public plugin_precache()
{
    precache_model(FOOTSTEPS_SNOW);
  
    register_think(CLASSNAME_FOOTSTEPS_SNOW, "Close_Footsteps");
  
    register_forward(FM_PlayerPreThink, "Snow_Sound", 0); 

    g_steam = precache_model(STEAM);
}

public Snow_Sound(id)
{
    if(!is_user_alive(id))return FMRES_IGNORED;
  
    if(g_iNextStep[id] < get_gametime()) {
        new iOrigin[3];
        new Float:fAngles[3];
        get_user_origin(id, iOrigin);
        pev(id, pev_angles, fAngles);

        Create_Footsteps_Snow(iOrigin, fAngles);
      
        message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
        write_byte(TE_SPRITE);
        write_coord(iOrigin[0]);
        write_coord(iOrigin[1]);
        write_coord(iOrigin[2] -= 30);
        write_short(g_steam);
        write_byte(2);
        write_byte(255);
        message_end();
        g_iNextStep[id] = get_gametime() + 3.0;
    }

    return FMRES_IGNORED;
}

public Create_Footsteps_Snow(iOrigin[3], const Float:fAngles[3])
{
    new iEntity = create_entity("info_target");

    if(!pev_valid(iEntity)) return PLUGIN_HANDLED;
  
    new Float:fEntAngles[3], Float:fOrigin[3];
  
    IVecFVec(iOrigin, fOrigin);
  
    set_pev(iEntity, pev_origin, fOrigin);
    set_pev(iEntity, pev_classname, CLASSNAME_FOOTSTEPS_SNOW);
    set_pev(iEntity, pev_solid, SOLID_NOT);
  
    pev(iEntity, pev_angles, fEntAngles);
    fEntAngles[1] = fAngles[1];
    set_pev(iEntity, pev_angles, fEntAngles);

    engfunc(EngFunc_SetModel, iEntity, FOOTSTEPS_SNOW);

    //engfunc(EngFunc_SetSize, iEntity, Float:{ -1.0, -1.0, -1.0 }, Float:{ 1.0, 1.0, 1.0 } );

    drop_to_floor(iEntity);

    set_pev(iEntity, pev_nextthink, get_gametime() + 3.0);
  
    return PLUGIN_HANDLED;
}
Касательно этого - появилась проблема такого рода на Зомби Моде и тупо не знаю что делать

Как только выставить включение SET MODELINDEX OFFSET = 1
Тупо не работает drop_to_floorи шаги рисует у воздухе на уровне игрока

Причём проблема наблюдается на кастомных моделях ( но опять таки - не на всех )
Со стандартными порядок

Но и на кастомных - бывает через раз рисовка - то на земле,то у воздухе

Как можно фикснуть это не подскажите,или реализовать шаги не через FM_PlayerPreThink ?

Или модели уже править только ?
 
Сообщения
1,661
Реакции
1,486
Помог
24 раз(а)
Касательно этого - появилась проблема такого рода на Зомби Моде и тупо не знаю что делать

Как только выставить включение SET MODELINDEX OFFSET = 1
Тупо не работает drop_to_floorи шаги рисует у воздухе на уровне игрока

Причём проблема наблюдается на кастомных моделях ( но опять таки - не на всех )
Со стандартными порядок

Но и на кастомных - бывает через раз рисовка - то на земле,то у воздухе

Как можно фикснуть это не подскажите,или реализовать шаги не через FM_PlayerPreThink ?

Или модели уже править только ?
код нужен
 

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

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу