Эффект брызг крови при попадании в союзника при mp_friendlyfire 0

GuSenoK

Участник
Сообщения
253
Реакции
8
Как сделать, чтобы при попадании по союзнику при mp_friendlyfire 0 из него вылетала кровь вместо искр? Как будто стреляешь во врага или же когда попадаешь в союзника при включенном дружелюбном огне. Это плагин такой или настройка? И если плагин, долго ли и сложно его делать?

Вместо такого:
de_dust20000.jpg


Такое:
de_dust20013.jpg
 

Paranoiiik

хачю клиентмод
Сообщения
2,047
Реакции
1,491
Такое есть, к примеру, в VIP от MyArena. Там для функции медика по команде нужен mp_friendlyfire "0". Ну и создаётся какая-то коллизия или что-то непонятное для меня, от чего и такой эффект
 

GuSenoK

Участник
Сообщения
253
Реакции
8
Да походу что это и есть gore. Но он действует только на врагов. От союзников всё также отскакивают искры.

Такое есть, к примеру, в VIP от MyArena. Там для функции медика по команде нужен mp_friendlyfire "0". Ну и создаётся какая-то коллизия или что-то непонятное для меня, от чего и такой эффект

То есть именно нужен медик встроенный в випку от майарены? Как бы издержки плагина? Я на других сервах тоже видел такое. На зомби например. Там же медика не было да и он ни к чему на зомбимоде. Люди стреляют в людей и также отлетает кровь. Мне кажется это специально написанный плагин а не баг.
 
Последнее редактирование:

Nekro

Терра инкогнита
Сообщения
4,087
Реакции
2,359
Как сделать, чтобы при попадании по союзнику при mp_friendlyfire 0 из него вылетала кровь вместо искр? Как будто стреляешь во врага или же когда попадаешь в союзника при включенном дружелюбном огне. Это плагин такой или настройка? И если плагин, долго ли и сложно его делать?

Вместо такого:
Посмотреть вложение 50745


Такое:
Посмотреть вложение 50746
Этот эффект создаётся при включённом уроне по своим. А вип от арены его блокирует. Тем самым кровь есть, а урона нет.
 
Последнее редактирование:

iLoco

Пишу плагины за печеньки 🍪🍪🍪
Сообщения
2,265
Реакции
1,323

Вложения

  • blockdamage.sp
    561 байт · Просмотры: 21
  • blockdamage.smx
    3.8 КБ · Просмотры: 11

Grey83

не пишу плагины с весны 2022
Сообщения
8,642
Реакции
5,115
Loco,а почему не вот так?
C-подобный:
#pragma semicolon 1
#pragma newdecls required

#include <sdkhooks>

public Plugin myinfo =
{
    name        = "Block damage on you team",
    author        = "ღ λŌK0ЌЭŦ ღ ™",
    version        = "1.0"
}

public void OnClientPostAdminCheck(int client)
{
    SDKHook(client, SDKHook_OnTakeDamage, OnDamaged);
}

public Action OnDamaged(int victim, int &client, int &inflictor, float &damage, int &damagetype)
{
    return client > 0 && client <= MaxClients && GetClientTeam(victim) == GetClientTeam(client) ? Plugin_Stop : Plugin_Continue;
}
 

iLoco

Пишу плагины за печеньки 🍪🍪🍪
Сообщения
2,265
Реакции
1,323
Loco,а почему не вот так?
C-подобный:
#pragma semicolon 1
#pragma newdecls required

#include <sdkhooks>

public Plugin myinfo =
{
    name        = "Block damage on you team",
    author        = "ღ λŌK0ЌЭŦ ღ ™",
    version        = "1.0"
}

public void OnClientPostAdminCheck(int client)
{
    SDKHook(client, SDKHook_OnTakeDamage, OnDamaged);
}

public Action OnDamaged(int victim, int &client, int &inflictor, float &damage, int &damagetype)
{
    return client > 0 && client <= MaxClients && GetClientTeam(victim) == GetClientTeam(client) ? Plugin_Stop : Plugin_Continue;
}
Оба варианта рабочие, просто понять новичку первый будет легче. Оффтоп
Сообщения автоматически склеены:

И ещё вариант с добавлением крови.
C++:
#pragma semicolon 1
#include <sdkhooks>
#include <sdktools>

public Plugin myinfo =
{
    name        = "Block damage on you team",
    author          = "ღ λŌK0ЌЭŦ ღ ™",
    version         = "1.0",
};

public void OnClientPostAdminCheck(int client)
{
    SDKHook(client, SDKHook_OnTakeDamage, OnDamaged);
}

public Action OnDamaged(int victim, int &client, int &inflictor, float &damage, int &damagetype, int &weapon, float damageForce[3], float damagePosition[3])
{
    if(client > 0 && client <= MaxClients)
    {   
        if(GetClientTeam(victim) == GetClientTeam(client))
        {
            Decals(victim, damagePosition);
            return Plugin_Stop;
        }
    }
    return Plugin_Continue;
}

stock void Decals(int client, float poss[3])
{
    int Blood = CreateEntityByName("env_blood");
    char dir[128];
    Format(dir, sizeof(dir), "%f %f %f", poss[0], poss[1], poss[2]);
    if(IsValidEdict(Blood))
    {
        DispatchSpawn(Blood);

        DispatchKeyValue(Blood, "color", "0");
        DispatchKeyValue(Blood, "amount", "1000");
        DispatchKeyValue(Blood, "spraydir", dir);
        DispatchKeyValue(Blood, "spawnflags", "12");
        AcceptEntityInput(Blood, "EmitBlood", client);
    }
}
 
Последнее редактирование:

GuSenoK

Участник
Сообщения
253
Реакции
8
Спасибо большое, все работает! Скажу, что получилось из тестов.
Если ещё не упомянул, у меня css v34.

1) Первая версия без крови от Loco не заработала, где он прикладывал smx и sp. В консоли серва написало Unable to load plugin: no debug string table
2) Версия от Grey83 в см 1.9 не скомпилировалась (25 ошибок показало. Я в этом не разбираюсь. Это критично или можно просто игнорировать?). На см 1.7.1 тоже не скомпилилось с 13 ошибками (писало про инклюд, что нужен новый синтаксис. Может это у меня корявый инклюд тогда? В вашем плагине по сути ошибок не должно быть там же пару строчек).
3) Версия с кровью заработала, скомпилилась на 1.7.1 см, на 1.9 не скомпилилась. Всё работает как надо! Но у меня установлен goremod на кровь, и не знаю будут ли эти плагины конфликтовать (кровь от этого плагина и от gore).
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,642
Реакции
5,115
В консоли серва написало Unable to load plugin: no debug string table
Это потому что надо компилить тем SM, что на сервере стоит, а не использовать прикреплённый *.smx
в см 1.9 не скомпилировалась ... На см 1.7.1 тоже не скомпилилось с 13 ошибками
...
скомпилилась на 1.7.1 см, на 1.9 не скомпилилась
Это потому что у тебя SM1.9 кривой
 

GuSenoK

Участник
Сообщения
253
Реакции
8
Это потому что надо компилить тем SM, что на сервере стоит, а не использовать прикреплённый *.smx
Это потому что у тебя SM1.9 кривой
Ну да, 1.9.0.6148 для 34. Только такую нашел для 34. И вот многие плагины не компилятся. Ты хочешь сказать, что для корректной работы плагинов, их надо самому под свой см компилить, а не просто качать smx? Я думал значение не играет где кем и когда скомпилино. Всегда качал smx...
 

iLoco

Пишу плагины за печеньки 🍪🍪🍪
Сообщения
2,265
Реакции
1,323
Ну да, 1.9.0.6148 для 34. Только такую нашел для 34. И вот многие плагины не компилятся. Ты хочешь сказать, что для корректной работы плагинов, их надо самому под свой см компилить, а не просто качать smx? Я думал значение не играет где кем и когда скомпилино. Всегда качал smx...
Если плагин был скомпилирован на версия выше чем у тебя стоит sm, то он в 100% случаях работать не будет, если скомпилирован на версиях ниже или равной твоей, то он будет работать. Самый лучший вариант, это скачивать плагины и самому их компилировать под свою версию sm.
 

Paranoiiik

хачю клиентмод
Сообщения
2,047
Реакции
1,491
Вообще-то, 1.9.0.6190 от MyArena, насколько я могу судить. Билда 6148 не существует для 34.
1) Первая версия без крови от Loco не заработала, где он прикладывал smx и sp. В консоли серва написало Unable to load plugin: no debug string table
2) Версия от Grey83 в см 1.9 не скомпилировалась (25 ошибок показало. Я в этом не разбираюсь. Это критично или можно просто игнорировать?). На см 1.7.1 тоже не скомпилилось с 13 ошибками (писало про инклюд, что нужен новый синтаксис. Может это у меня корявый инклюд тогда? В вашем плагине по сути ошибок не должно быть там же пару строчек).
3) Версия с кровью заработала, скомпилилась на 1.7.1 см, на 1.9 не скомпилилась. Всё работает как надо! Но у меня установлен goremod на кровь, и не знаю будут ли эти плагины конфликтовать (кровь от этого плагина и от gore).
Не вводи людей в заблуждение. У меня все три версии легко и даже без единого предупреждения скомпилировались именно на этой версии SourceMod.
Это потому что у тебя SM1.9 кривой
Дело тут в человеке, а не в SM
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,642
Реакции
5,115
GuSenoK, ошибка Unable to load plugin: no debug string table - это обычная ошибка при запуске плагина, скомпиленного с помощью SM 1.10 на сервере использующем SM 1.9, емнип.
 

GuSenoK

Участник
Сообщения
253
Реакции
8
Вообще-то, 1.9.0.6190 от MyArena, насколько я могу судить. Билда 6148 не существует для 34.

Не вводи людей в заблуждение. У меня все три версии легко и даже без единого предупреждения скомпилировались именно на этой версии SourceMod.

Дело тут в человеке, а не в SM
Я просто не на майарене. meta list в консоли выдал такую версию билда 1.9.0.6148
 

Paranoiiik

хачю клиентмод
Сообщения
2,047
Реакции
1,491
Я просто не на майарене.
Не имеет значения. Та версия не прикреплена на к какому хостингу, она просто портирована разработчиками MyArena.
meta list в консоли выдал такую версию билда 1.9.0.6148
Странно. Для 34 действительно не существует такого билда. Где он был взят?
 

GuSenoK

Участник
Сообщения
253
Реакции
8
Не имеет значения. Та версия не прикреплена на к какому хостингу, она просто портирована разработчиками MyArena.

Странно. Для 34 действительно не существует такого билда. Где он был взят?
[v34]Тестовый Sourcemod 1.9.0 отсюда качал. Карявый он нет? Может все беды мои от этой версии.
 

Paranoiiik

хачю клиентмод
Сообщения
2,047
Реакции
1,491
[v34]Тестовый Sourcemod 1.9.0 отсюда качал. Карявый он нет? Может все беды мои от этой версии.
Ах этот.. понял. Я не тестировал его, ибо он вроде под Windows, а я всегда держал сервера на Linux. Перекомпиливать не пробовал тоже
Сообщения автоматически склеены:

Я крч этот пока использую
Сообщения автоматически склеены:

@GuSenoK, ну и, кстати, даже на твоей версии SM я все три исходника без проблем скомпилировал
 

Вложения

  • SM 1.9.6190 by MyArena.zip
    19.9 МБ · Просмотры: 21
Последнее редактирование:
Сверху Снизу