Иконка ресурса

Drumanid

Нестандартное звание
Сообщения
1,862
Реакции
1,748
  • Автор ресурса
  • #1
Пользователь Lisoh разместил новый ресурс:

[Shop] Glow - Позволяет установить на модель эффект свечения

Позволяет установить на модель игрока эффект свечения

PHP:
"Glow" 
{
    "name"            "Свечение"
    "description"    ""
   
    "White"
    {
        "name"            "Белый"
        "color"            "255 255 255 255"
        "price"            "500"
        "duration"        "0"
    }
    "Green"
    {
        "name"            "Зеленый"
        "color"            "0 255 0 255"
        "price"            "500"...

Узнать больше об этом ресурсе...
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #2
@Lisoh,
1. Вот тут ошибка:
upload_2018-4-2_1-52-54.png

Проверять жив ли игрок нужно только перед установкой ему свечения, а перед загрузкой цвета.
2.
upload_2018-4-2_1-53-50.png

Зачем лишняя переменная? Почему не сделать сразу:
PHP:
g_hKv.GetColor("color", g_iClientColor[client][0], g_iClientColor[client][1], g_iClientColor[client][2], g_iClientColor[client][3]);

3.
upload_2018-4-2_1-55-20.png

перед получением индекса из ссылки желательно бы проверить != 0 ссылка.
--- Добавлено позже ---
4.
PHP:
    SetEntData(iEntity, GetEntSendPropOffs(iEntity, "m_clrGlow"), g_iClientColor[client][0], _, true);
    SetEntData(iEntity, GetEntSendPropOffs(iEntity, "m_clrGlow") + 1, g_iClientColor[client][1], _, true);
    SetEntData(iEntity, GetEntSendPropOffs(iEntity, "m_clrGlow") + 2, g_iClientColor[client][2], _, true);
    SetEntData(iEntity, GetEntSendPropOffs(iEntity, "m_clrGlow") + 3, g_iClientColor[client][3], _, true);

PHP:
GetEntSendPropOffs(iEntity, "m_clrGlow")
можно получить 1 раз в переменную и затем использовать её. Еще можно использовать цикл (не обязательно, но как вариант)
 
  • Мне нравится
Реакции: MaZa

Drumanid

Нестандартное звание
Сообщения
1,862
Реакции
1,748
  • Автор ресурса
  • #3
@Lisoh,
1. Вот тут ошибка:
Посмотреть вложение 29622
Проверять жив ли игрок нужно только перед установкой ему свечения, а перед загрузкой цвета.
2. Посмотреть вложение 29623
Зачем лишняя переменная? Почему не сделать сразу:
PHP:
g_hKv.GetColor("color", g_iClientColor[client][0], g_iClientColor[client][1], g_iClientColor[client][2], g_iClientColor[client][3]);

3. Посмотреть вложение 29624
перед получением индекса из ссылки желательно бы проверить != 0 ссылка.
--- Добавлено позже ---
4.
PHP:
    SetEntData(iEntity, GetEntSendPropOffs(iEntity, "m_clrGlow"), g_iClientColor[client][0], _, true);
    SetEntData(iEntity, GetEntSendPropOffs(iEntity, "m_clrGlow") + 1, g_iClientColor[client][1], _, true);
    SetEntData(iEntity, GetEntSendPropOffs(iEntity, "m_clrGlow") + 2, g_iClientColor[client][2], _, true);
    SetEntData(iEntity, GetEntSendPropOffs(iEntity, "m_clrGlow") + 3, g_iClientColor[client][3], _, true);

PHP:
GetEntSendPropOffs(iEntity, "m_clrGlow")
можно получить 1 раз в переменную и затем использовать её. Еще можно использовать цикл (не обязательно, но как вариант)
Лень было перебирать весь плагин 'Neon'.
 

MaZa

Участник
Сообщения
1,732
Реакции
980
добавь если можешь "sell" "250"
я думаю ты понял к чему я
 

Svoboda

Помощь по CSS v92
Сообщения
393
Реакции
56
я установил себе на сервер,и когда покупаешь свечение, то перед тобой появляется моделька твоя
 

Вложения

  • 20180402123018_1.jpg
    20180402123018_1.jpg
    140.6 КБ · Просмотры: 194

Drumanid

Нестандартное звание
Сообщения
1,862
Реакции
1,748
  • Автор ресурса
  • #9
добавь если можешь "sell" "250"
я думаю ты понял к чему я
в конфиг под каждым идентификатором предмета.
PHP:
"sellprice"        "цена"

я установил себе на сервер,и когда покупаешь свечение, то перед тобой появляется моделька твоя
в режим мода твоего (там где все квары)
PHP:
sv_disable_immunity_alpha 1
 

Allen

love society
Сообщения
352
Реакции
274
  • Команда форума
  • #10
в конфиг под каждым идентификатором предмета.
PHP:
"sellprice"        "цена"


в режим мода твоего (там где все квары)
PHP:
sv_disable_immunity_alpha 1
PHP:
g_hIgnoreImmunity = FindConVar("sv_disable_immunity_alpha");
if(g_hIgnoreImmunity != null)
{
    g_hIgnoreImmunity.SetBool(true);
    g_hIgnoreImmunity.AddChangeHook(ConVar_OnDisableImmunityAlphaChanged);
}

public void ConVar_OnDisableImmunityAlphaChanged(ConVar convar, const char[] oldValue, const char[] newValue)
{
    if(!convar.BoolValue)
    {       
        convar.SetBool(true);
    }
}
 

Drumanid

Нестандартное звание
Сообщения
1,862
Реакции
1,748
  • Автор ресурса
  • #11
я установил себе на сервер,и когда покупаешь свечение, то перед тобой появляется моделька твоя
PHP:
g_hIgnoreImmunity = FindConVar("sv_disable_immunity_alpha");
if(g_hIgnoreImmunity != null)
{
    g_hIgnoreImmunity.SetBool(true);
    g_hIgnoreImmunity.AddChangeHook(ConVar_OnDisableImmunityAlphaChanged);
}

public void ConVar_OnDisableImmunityAlphaChanged(ConVar convar, const char[] oldValue, const char[] newValue)
{
    if(!convar.BoolValue)
    {      
        convar.SetBool(true);
    }
}
Ну так запили отдельный плагином, помоги ребятам, тут чу чуть осталось дописать... :pioneer_smoke:
Где моя конфета? :ac:
 

Svoboda

Помощь по CSS v92
Сообщения
393
Реакции
56
в режим мода твоего (там где все квары)
PHP:
sv_disable_immunity_alpha 1

Я прописал и всё равно тоже самое
 

Alraune

Участник
Сообщения
216
Реакции
52
Жаль нельзя использовать на сервере CS:S....((
 

Drumanid

Нестандартное звание
Сообщения
1,862
Реакции
1,748
  • Автор ресурса
  • #14
в режим мода твоего (там где все квары)
PHP:
sv_disable_immunity_alpha 1
Я прописал и всё равно тоже самое
Тогда не знаю, возможно какой то из ваших плагинов ведет конфликт с этим :ab:
Каким образом? Сам пока не понимаю. Хотя есть пару догадок.

Жаль нельзя использовать на сервере CS:S....((

Вряд ли получится... Хотя, это надо спрашивать у тех кто шарит в этой игре. @R1KO help me please.
 

kilroy

:clown:
Сообщения
1,065
Реакции
606
  • Команда форума
  • #15
Вряд ли получится... Хотя, это надо спрашивать у тех кто шарит в этой игре. @R1KO help me please.
Насколько я знаю, в CS:S нету такой функции (как минимум пропы, подсветка которых прописана через карту, не подсвечиваются).
 

MaZa

Участник
Сообщения
1,732
Реакции
980
Если у чувака кастомная моделька, то будет проблема при обводке с ней.
Так-же,видно в смоку.
 
Последнее редактирование:

Disaster

Не ждите чуда. Чудите сами!
Сообщения
173
Реакции
81
Кастомные скины нормально работают в вип от @R1KO
В shop core криво
 

komashchenko

Идиот
Сообщения
916
Реакции
2,569
Поскольку плагин всеравно будет работать только в ксго, исправить баг при смене модели можно так
а насчет того что может появляться перед лицом то нужен SDKHook_SetTransmit
 

Drumanid

Нестандартное звание
Сообщения
1,862
Реакции
1,748
  • Автор ресурса
  • #19
Поскольку плагин всеравно будет работать только в ксго
Насколько я знаю, в CS:S нету такой функции (как минимум пропы, подсветка которых прописана через карту, не подсвечиваются).
Плохо.

исправить баг при смене модели можно так
Извини феникс, но подключать ptah не горю желанием, можно исправить таймером.

а насчет того что может появляться перед лицом то нужен SDKHook_SetTransmit
А вот тут можно по подробнее... Скрывать эффект от своих соперников - это понятно, а можно ли обойтись каким нибудь другим способом?

Демонстрация плагина:



Тестируйте пока эту версию...

Световой эффект будет обновляться каждые 5 секунд.
Если модель игрока не изменена - ничего не произойдет.

P.S Эффект виден только вашим тиммейтам, дабы избежать бага с просветом через дым.
 

Вложения

  • shop_glow.smx
    10.2 КБ · Просмотры: 34
Последнее редактирование модератором:

komashchenko

Идиот
Сообщения
916
Реакции
2,569
Исходника нет, но по декомпилу
C-подобный:
public Action:Event_OnPlayerSpawn(Event:event, String:name[], bool:silent)
{
    new client = GetClientOfUserId(Event.GetInt(event, "userid", 0));
    new var1;
    if (client > 0 && g_bGlow[client])
    {
        g_sModel[client][0] = MissingTAG:0;
        DeleteTimer(client);
        g_hTimer[client] = CreateTimer(5.0, TimerSetGlow, client, 3);
    }
    return Action:0;
}
CreateTimer(5.0, TimerSetGlow, client, 3); напрямую клиента передавать нельзя, передавай UserId или Serial
C-подобный:
public Action:TimerSetGlow(Handle:timer, client)
{
    new var1;
    if (IsClientInGame(client) && IsPlayerAlive(client))
    {
        new String:sBuffer[128];
        GetClientModel(client, sBuffer, 128);
        if (!StrEqual(sBuffer, g_sModel[client], true))
        {
            SetGlow(client);
        }
    }
    return Action:0;
}
SetGlow(client); для чего что мешает просто использовать SetEntityModel

ну и для скрытия модели от самого себя, противников и тех кто наблюдает за тобой от первого лица
C-подобный:
public Action Hook_TrailShouldHide(int entity, int client)
{
    static int owner;
    owner = GetEntPropEnt(entity, Prop_Send, "m_hOwnerEntity");
    if (owner != -1 && (owner == client || GetClientTeam(owner) != GetClientTeam(client) || (GetEntProp(client, Prop_Send, "m_iObserverMode") == 4 && owner == GetEntPropEnt(client, Prop_Send, "m_hObserverTarget")))) return Plugin_Handled;
    return Plugin_Continue;
}
 
Сверху Снизу