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

skaeN

Участник
Сообщения
204
Реакции
108
(Only GO) Дописал версию [VIP] Grenades с небольшими поправками:
- Убрал смену оружия в руках на выданную гранату, после ее взрыва

upd: убрал задержку при смене оружия после взрыва гранаты
 

Вложения

  • VIP_Grenades_1.2.2.sp
    4.1 КБ · Просмотры: 10
  • VIP_Grenades_1.2.2.smx
    5.7 КБ · Просмотры: 13
Последнее редактирование:

FuckYeah

Челик
Сообщения
474
Реакции
57
конфликтует с Weapon Fight (Edited old Knife Fight)" (1.3.8.4) , при дуели на гранатах, после броска первой гранаты бросить вторую гранату нельзя
v34 - "Grenades" "2;3;2"
 

Intelect

Участник
Сообщения
93
Реакции
9
как сделать выбрасывание гранат из рук?
 

Kewn

Участник
Сообщения
321
Реакции
61
как сделать выбрасывание гранат из рук?
Если для сурса то вроде был плагин. Если для ксго то такого не видел да и не надо. Плагин работает таким образом. Что новая граната появляется в руках только после взрыва первой.
 

Intelect

Участник
Сообщения
93
Реакции
9
Если для сурса то вроде был плагин. Если для ксго то такого не видел да и не надо. Плагин работает таким образом. Что новая граната появляется в руках только после взрыва первой.
соурс брат
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,520
Реакции
4,979
как сделать выбрасывание гранат из рук?
типа этого?
когда же вы в гуглить научитесь?
Вот ещё:
 

Intelect

Участник
Сообщения
93
Реакции
9
типа этого?
когда же вы в гуглить научитесь?
Вот ещё:
я искал, мне нужно только чтобы гранаты можно было выбросить нож нет, то что я находил не работал
 

Kewn

Участник
Сообщения
321
Реакции
61
я искал, мне нужно только чтобы гранаты можно было выбросить нож нет, то что я находил не работал
А в чем проблема вырезать выбрасывание ножа? Притом при этом в плагинах обычно квар есть
 

Intelect

Участник
Сообщения
93
Реакции
9
(Only GO) Дописал версию [VIP] Grenades с небольшими поправками:
- Убрал смену оружия в руках на выданную гранату, после ее взрыва

upd: убрал задержку при смене оружия после взрыва гранаты
друг можешь сделать для v34?
 

FuckYeah

Челик
Сообщения
474
Реакции
57
Если у игрока остались гранаты с предыдущего раунда, они ему все равно даются в новом раунде и в итоге падают на землю, ибо нет места в инвентаре. В результате этого при большом онлайне спавн бывает сильно засыпан гренами, флешками и дымовыми. Кто может помочь сделать проверку гранат у игрока, и если они есть чтобы не выдавались?
css v34
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,520
Реакции
4,979
@FuckYeah, нужно узнать офсеты гранат (возможно совпадают с OB) и через них получать количество определённых гранат у игроков. Ну и выдавать тоже с их помощью.
У меня в каких-то плагинах выдачи оружия так сделано было, емнип.
 

FuckYeah

Челик
Сообщения
474
Реакции
57
@FuckYeah, нужно узнать офсеты гранат (возможно совпадают с OB) и через них получать количество определённых гранат у игроков. Ну и выдавать тоже с их помощью.
У меня в каких-то плагинах выдачи оружия так сделано было, емнип.

Сделал проще... Удаление всех гранат с земли через 2 секунды после начала раунда

C-подобный:
#include <sourcemod>
#include <sdktools>

new Handle:g_hRoundStartTimer;

public void OnPluginStart()
{
    HookEvent("round_start", OnRoundStart, EventHookMode_Post);
}

public void OnRoundStart(Event event, const char[] name, bool dontBroadcast)
{
    g_hRoundStartTimer = CreateTimer(2.0, Timer_RemoveGrenades);
}

public Action:Timer_RemoveGrenades(Handle:timer)
{
    RemoveGrenades();
    KillTimer(g_hRoundStartTimer);
    return Plugin_Stop;
}

void RemoveGrenades()
{
    RemoveWeaponByClass("weapon_hegrenade");
    RemoveWeaponByClass("weapon_flashbang");
    RemoveWeaponByClass("weapon_smokegrenade");
}

void RemoveWeaponByClass(const char[] weaponClass)
{
    for (int entity = FindEntityByClassname(-1, weaponClass); entity != -1; entity = FindEntityByClassname(entity, weaponClass))
    {
        if (!IsValidEntity(entity))
            continue;

        int owner = GetEntPropEnt(entity, Prop_Data, "m_hOwnerEntity");

        if (owner <= 0 || !IsPlayer(owner))
        {
            RemoveEntity(entity);
        }
    }
}

bool IsPlayer(int entity)
{
    return (entity > 0 && entity <= MaxClients && IsClientConnected(entity));
}
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,520
Реакции
4,979
@FuckYeah, ну тогда уж лучше так, кмк:
C-подобный:
#include <sdktools_functions>
#if SOURCEMOD_V_MAJOR == 1 && SOURCEMOD_V_MINOR < 10
    #include <sdktools_entinput>
#endif

public void OnPluginStart()
{
    HookEvent("round_freeze_end", OnRoundStart, EventHookMode_PostNoCopy);
}

public void OnRoundStart(Event event, const char[] name, bool dontBroadcast)
{
    CreateTimer(0.5, Timer_RemoveGrenades, _, TIMER_FLAG_NO_MAPCHANGE);
}

public Action Timer_RemoveGrenades(Handle timer)
{
    RemoveWeaponByClass("weapon_hegrenade");
    RemoveWeaponByClass("weapon_flashbang");
    RemoveWeaponByClass("weapon_smokegrenade");

    return Plugin_Stop;
}

void RemoveWeaponByClass(const char[] weaponClass)
{
    int ent = MaxClients+1, owner;
    while((ent = FindEntityByClassname(ent, weaponClass)) != -1)
    {
        if((owner = GetEntPropEnt(ent, Prop_Data, "m_hOwnerEntity")) < 1 || owner > MaxClients)
        {
#if SOURCEMOD_V_MAJOR == 1 && SOURCEMOD_V_MINOR < 10
            AcceptEntityInput(ent, "Kill");
#else
            RemoveEntity(ent);
#endif
        }
    }
}
Сообщения автоматически склеены:

А вообще я вот так делал выдачу гранат:
В этом случае выпадать просто нечему. =)
 
Последнее редактирование:

Nekro

Терра инкогнита
Сообщения
4,025
Реакции
2,260
Если у игрока остались гранаты с предыдущего раунда, они ему все равно даются в новом раунде и в итоге падают на землю, ибо нет места в инвентаре. В результате этого при большом онлайне спавн бывает сильно засыпан гренами, флешками и дымовыми. Кто может помочь сделать проверку гранат у игрока, и если они есть чтобы не выдавались?
css v34
 

FuckYeah

Челик
Сообщения
474
Реакции
57
Сверху Снизу