No Block Grenades

mihaput

Участник
Сообщения
694
Реакции
166
Ребят, сделайте пожалуйста доброе дело. Вырежьте все не нужное с плагина, что бы осталась только функция noblock для гранат. И если можно, noblock сделать только для своих, т.е чтобы через противника граната не пролетала. Заранее спасибо :yes:
 

Вложения

  • noblock.sp
    4.5 КБ · Просмотры: 80

KorDen

Atra esterní ono thelduin!
Сообщения
2,142
Реакции
1,424
Загрузил свою версию NoBlock для игроков и гранат в [Любая игра] - Lite Plugins
Фактически получается тоже самое... По командам сделать в данном случае не удастся, только брать Team Noblock и переделывать, а там есть глюки.
 
Последнее редактирование модератором:

mihaput

Участник
Сообщения
694
Реакции
166
Дело в том, что у меня на сервере уже стоит ноблок и только для своей команды, т.е через противника не проходит игрок, так удобней в случае если режешь ножом например.
А отдельного плагина для ноблок гранат я не нашел, только в этом плагине, но в нем так же присутствует и ноблок для игроков, а зачем он мне если уже есть.
Не сложно, конечно, отключить в плагине ноблок для игроков, но все же, хотелось бы просто, без лишнего, по -этому и хотел попросить чтобы сделали\переделали плагин только на гранаты...
 

KorDen

Atra esterní ono thelduin!
Сообщения
2,142
Реакции
1,424
А, так только для гранат? Так в чем проблема...
PHP:
#include <sourcemod>
#include <sdktools>
new g_offsCollisionGroup=-1;
public OnPluginStart()
{
	g_offsCollisionGroup = FindSendPropOffs("CBaseEntity", "m_CollisionGroup");
	if (g_offsCollisionGroup == -1)
		SetFailState("[NoBlock] Failed to get offset");
}
public OnEntityCreated(entity, const String:classname[])
	if(StrContains(classname, "_projectile", false)!=-1)
		SetEntData(entity, g_offsCollisionGroup, 2, 4, true);
 

mihaput

Участник
Сообщения
694
Реакции
166
KorDen,
Все прекрасно работает, еще раз спасибо.
 

Felton

Участник
Сообщения
799
Реакции
59
Скинте пожалуйста полный код Team No Block Grenades а то я не сильно разбираюсь куда это заменять что написал @KorDen.Буду благодарен.
 

Felton

Участник
Сообщения
799
Реакции
59
@AlmazON,
Сори разобрался.Видел что в исходниках в конце есть скобки а тут нет вот и подумал что не полный.Всё работает на Counter-Strike Source (старушке)
 

code++

Участник
Сообщения
367
Реакции
129
А, так только для гранат? Так в чем проблема...
PHP:
#include <sourcemod>
#include <sdktools>
new g_offsCollisionGroup=-1;
public OnPluginStart()
{
    g_offsCollisionGroup = FindSendPropOffs("CBaseEntity", "m_CollisionGroup");
    if (g_offsCollisionGroup == -1)
        SetFailState("[NoBlock] Failed to get offset");
}
public OnEntityCreated(entity, const String:classname[])
    if(StrContains(classname, "_projectile", false)!=-1)
        SetEntData(entity, g_offsCollisionGroup, 2, 4, true);
plugin.sp(6) : warning 234: symbol "FindSendPropOffs" is marked as deprecated: Use FindSendPropInfo instead, or HasEntProp if you just want to check for existence.
компилятор Spider - SourcePawn Compiler
 

EPacker2

3D-моделист
Сообщения
1,040
Реакции
760
plugin.sp(6) : warning 234: symbol "FindSendPropOffs" is marked as deprecated: Use FindSendPropInfo instead, or HasEntProp if you just want to check for existence.
PHP:
#include <sourcemod>
#include <sdktools>
new g_offsCollisionGroup=-1;
public OnPluginStart()
{
    g_offsCollisionGroup = FindSendPropInfo("CBaseEntity", "m_CollisionGroup");
    if (g_offsCollisionGroup == -1)
        SetFailState("[NoBlock] Failed to get offset");
}
public OnEntityCreated(entity, const String:classname[])
    if(StrContains(classname, "_projectile", false)!=-1)
        SetEntData(entity, g_offsCollisionGroup, 2, 4, true);
 

smoke96

Участник
Сообщения
1,134
Реакции
175
И подскажите вот это будет работать нормально?
PHP:
int g_iPress[MAXPLAYERS + 1], g_iCollisionGroup;

public void OnPluginStart()
{
    if ((g_iCollisionGroup = FindSendPropInfo("CBaseEntity", "m_CollisionGroup")) < 1) SetFailState("Offset 'CBaseEntity::m_CollisionGroup' not found!");
}

public Action OnPlayerRunCmd(int client, int &buttons, int &impulse, float vel[3], float angles[3], int &weapon, int &subtype, int &cmdnum, int &tickcount)
{
    if (buttons & IN_DUCK)
    {
        if (IsPlayerAlive(client))
        {
            if (g_iPress[client] != tickcount) SetEntData(client, g_iCollisionGroup, 5, 4, true);
            g_iPress[client] = tickcount + 1;
        }
    }
    else if (g_iPress[client] == tickcount) SetEntData(client, g_iCollisionGroup, 2, 4, true);
    return Plugin_Continue;
}
 

code++

Участник
Сообщения
367
Реакции
129
PHP:
#include <sourcemod>
#include <sdktools>
new g_offsCollisionGroup=-1;
public OnPluginStart()
{
    g_offsCollisionGroup = FindSendPropInfo("CBaseEntity", "m_CollisionGroup");
    if (g_offsCollisionGroup == -1)
        SetFailState("[NoBlock] Failed to get offset");
}
public OnEntityCreated(entity, const String:classname[])
    if(StrContains(classname, "_projectile", false)!=-1)
        SetEntData(entity, g_offsCollisionGroup, 2, 4, true);
процитировал на будущее для остальных (читать умею))
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,756
проверка на то что игрок из твоей тимы или нет
NoBlock гранат в этом варианте ставится для всех. Разделение на команды невозможно.
вот это будет работать нормально?
У меня нормально (на ботах), у других - нет. Факторов много.
 
Сверху Снизу