Half-Life и Adrenaline Gamer форум

Всё об игре в Халф-Лайф и АГ
Текущее время: 29 мар 2024, 00:05

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
 Заголовок сообщения: [ HL ] Тухнет нужный скин
СообщениеДобавлено: 22 дек 2022, 16:08 
Не в сети
Аватара пользователя
Зарегистрирован:
28 июн 2013, 06:53
Последнее посещение:
25 янв 2024, 04:41
Сообщения: 224
Откуда: Белая Церковь
Как я раньше давал пример на установку нужного скина на зимний период
Столкнулся с проблемой для HL.

Вот я вижу его заснеженного и живого

Изображение

Убиваю,и когда проходит чутка секунд и скин тухнет на стандартный у модели

Изображение

Я понимаю,что нужно загнать в событие мессаги трупов нужное значение,которое я загнал сюда

Код:
stock SetUserModel(id, szModelName[])
{
    if(map_type == 3)
    {
        set_pev(id, pev_skin, 1);
    }

    set_user_info(id, MODEL_KEY, szModelName)
    copy(g_szModel[id], charsmax(g_szModel), szModelName)
}

Но здесь оно реально не срабатывает вообще (((

Код:
public Message_ClCorpse()
{
    new id = get_msg_arg_int(12)

    if(g_szModel[id])
    {
        if(map_type == 3)
        {
            set_pev(id, pev_skin, 1);
            set_msg_arg_string(1, g_szModel[id])
        }
    }
}

На заметку: Вдруг что,такого нюанса с трупами в cs нету,только в hl
Или же мне нужно делать создание трупа и там прописывать это значение?

Есть решение?
Благодарю за внимание

 Весь Код

Вот к примеру Код прошлый на Трупы,который в кс работает и не тухнет установленный скин в мессаге создания их
Я подумал,раз уж в ХЛ нет рестарта раунда и нет выбора команды при заходе в игру,то я всё не нужное снёс включая pev_team
Но результата не принесло никакого (
Как буд-то код вообще не работает и даже нет того плавного исчезновения

Код:
#include <amxmodx>
#include <engine>
#include <fakemeta>
#include <hamsandwich>

#define PLUGIN_NAME    "REMOVE CORPSE"
#define PLUGIN_VERSION    "2.0"
#define PLUGIN_AUTHOR    "fl0wer | MayroN"

new const CORPSE_CLASSNAME[] = "ent_corpse";

#define MAX_CLIENTS    32

#define LIFE_CORPSE        1.0    //    Через сколько секунд удалять Труп игрока

new const Float:CORPSE_MINS[3] = { -24.0, -24.0, 0.0 };
new const Float:CORPSE_MAXS[3] = { 24.0, 24.0, 24.0 };

new g_iCorpse[MAX_PLAYERS + 1];

#define STEP 10.0

enum (+= 3591)
{
    STATUS_NONE = 0,
    STATUS_EFFECT,
    STATUS_KILL
}

new map_type;

public plugin_init()
{
    register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR);

    RegisterHam(Ham_Spawn, "player", "Corpse_Spawn", true);
    register_think("ent_corpse", "Remove_Corpse");
    register_message(get_user_msgid("ClCorpse"), "MSG_ClCorpse");
}

public ws_map_type(type)
{
    map_type = type;
}

public client_disconnected(id)
{
    Corpse_Remove(id);
}

public Corpse_Spawn(id)
{
    Corpse_Remove(id);
}

public MSG_ClCorpse(id, dest, player)
{
    new model[32];
    new Float:vecOrigin[3];
    new Float:vecAngles[3];

    get_msg_arg_string(1, model, charsmax(model));
 
    for (new i; i < 3; i++)
    {
        vecOrigin[i] = float(get_msg_arg_int(2 + i)) / 128.0;
        vecAngles[i] = get_msg_arg_float(5 + i);
    }

    new sequence = get_msg_arg_int(9);
    new playerId = get_msg_arg_int(12);
 
    Corpse_Create(fmt("models/player/%s/%s.mdl", model, model), vecOrigin, vecAngles, sequence, playerId);
    return PLUGIN_HANDLED;
}

Corpse_Create(model[], Float:vecOrigin[3], Float:vecAngles[3], sequence, owner)
{
    new ent = create_entity("info_target");
 
    if (!is_valid_ent(ent))
        return;
 
    g_iCorpse[owner] = ent;
 
    engfunc(EngFunc_SetModel, ent, model);
    engfunc(EngFunc_SetSize, ent, CORPSE_MINS, CORPSE_MAXS);
    engfunc(EngFunc_SetOrigin, ent, vecOrigin);
 
    set_pev(ent, pev_classname, CORPSE_CLASSNAME);
    set_pev(ent, pev_angles, vecAngles);
    set_pev(ent, pev_owner, owner);

    set_pev(ent, pev_sequence, sequence);
    set_pev(ent, pev_framerate, 1.0);
    set_pev(ent, pev_animtime, 0.0);

    if(map_type == 3)
    {
        set_pev(ent, pev_skin, 1);
    }
 
    set_pev(ent, pev_nextthink, get_gametime() + LIFE_CORPSE);
}

Corpse_Remove(id)
{
    new ent = g_iCorpse[id];
 
    if(is_valid_ent(ent)) set_pev(ent, pev_flags, pev(ent, pev_flags) | FL_KILLME);
 
    g_iCorpse[id] = 0;
}

public Remove_Corpse(ent)
{
    if (!is_valid_ent(ent) || pev(ent, pev_impulse) == STATUS_KILL)
        return;

    new Float:flOrigin[3]
    pev(ent,pev_origin,flOrigin)
 
    switch(pev(ent, pev_impulse))
    {
        case STATUS_NONE:
        {
            set_pev(ent, pev_movetype, MOVETYPE_NONE);
            set_pev(ent, pev_solid, SOLID_NOT);
            set_pev(ent, pev_rendermode, kRenderTransAlpha);       
            set_pev(ent, pev_renderamt, 100.0);
            set_pev(ent, pev_impulse, STATUS_EFFECT);   
        }

        case STATUS_EFFECT:
        {
            if (pev(ent, pev_renderamt) > 0.0)
            {
                set_pev(ent, pev_renderamt, floatmax(0.0, pev(ent, pev_renderamt) - STEP));
            }
            else
            {
                set_pev(ent, pev_impulse, STATUS_KILL);
            }
        }
     
        case STATUS_KILL:
        {
            set_pev(ent, pev_flags, pev(ent, pev_flags) | FL_KILLME);
        }
    }
 
    set_pev(ent,pev_nextthink,get_gametime() + 0.1)
}

_________________
Weapon Replacement HL
TimeLeft RUS
Sound Bomb
МультиМод CS 83.222.97.124:27015


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: [ HL ] Тухнет нужный скин
СообщениеДобавлено: 25 дек 2022, 00:13 
Не в сети
Аватара пользователя
Зарегистрирован:
27 дек 2019, 17:59
Последнее посещение:
26 мар 2024, 13:29
Сообщения: 273
Откуда: Иркутск
изображения не прогружаются ( . Если я тебя правильно понял, то мб это решение тебе поможет https://forums.alliedmods.net/showthread.php?t=60631

_________________
ВК: https://vk.com/pristavka2013
GitHub: https://github.com/mrglaster
Почта: [email protected]

Есть объективная реальность, а есть печенье.


Вернуться к началу
 Профиль 
  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


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

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB