Заказать игровой сервер Контакты (заказать плагин/исправить ошибки/другое) Поиск

[ вход ]
[ последние сообщения ]

  • Страница 1 из 1
  • 1
Форум » SourceMod >> CS:Source >> CSGO » Обсуждение » Как сделать невидимый нож?
Как сделать невидимый нож?
polo79655 Дата: Вторник, 09.04.2019, 19:07:27 | Сообщение # 1
Сообщений: 99
Репутация: -1 [ +/- ]
Здравствуйте! Добрые люди, подскажите пожалуйста, как мне в CS:GO сделать нож невидимым для других игроков? Мне необходимо выдать невидимость игроку, но так, чтобы его могли тиммейты видеть (его экипировку).
Если сделать так
Код
SetEntityRenderMode(client, RENDER_NONE)


То игрока не будет видно никому. Поэтому я решил выдать ему прозрачность 1:
Код
SetEntityRenderMode(client, RENDER_TRANSALPHA);
SetEntityRenderColor(client, 255, 255, 255, 1);

Его так ели заметно, практически не видно, но зато отчетливо виден летающий нож xaxa

Я перепробовал уже все простые варианты, которые приходят на ум:
sv_disable_immunity_alpha 1
Код
new weapon_index = GetEntPropEnt(client, Prop_Data, "m_hActiveWeapon");
AcceptEntityInput(weapon_index, "DisableDraw");

Код
new weapon_index = GetEntPropEnt(client, Prop_Data, "m_hActiveWeapon");
SetEntityRenderMode(wep , RENDER_NONE);

Код
new weapon_index = GetEntPropEnt(client, Prop_Data, "m_hActiveWeapon");
SetEntityRenderMode(weapon_index, RENDER_TRANSCOLOR);
SetEntityRenderColor(weapon_index, 0, 0, 0, 0);

Код
new weapon_index = GetPlayerWeaponSlot(client, 2);
SetEntityRenderMode(weapon_index, RENDER_TRANSCOLOR);
SetEntityRenderColor(weapon_index, 255, 255, 255, 0);

Код
SetEntPropFloat(ClientWeapon, Prop_Send, "m_flModelScale", 0.000001);

Ещё находил данный код и пытался его испробовать, правда поговаривают, что из-за него сервер может улететь в бан
Код
public OnPluginStart()
{
    RegConsoleCmd("sm_test", test);
}

public Action:test(user, args)
{
    for(new client = 1; client <= MaxClients; client++)
    {
  if(IsClientInGame(client))
  {
   SDKHookEx(client, SDKHook_PostThinkPost, OnPostThinkPost);
   SetEntProp(client, Prop_Send, "m_nRenderFX", RENDERFX_NONE);
   SetEntProp(client, Prop_Send, "m_nRenderMode", RENDER_NONE);
  }
    }
    new entity = MaxClients+1;
    while( (entity = FindEntityByClassname(entity, "weaponworldmodel")) != -1 )
    {
  SetEntProp(entity, Prop_Send, "m_nModelIndex", 0);
    }
}

public OnPostThinkPost(client)
{
    //SetEntProp(client, Prop_Send, "m_iPrimaryAddon", CSAddon_NONE);
    //SetEntProp(client, Prop_Send, "m_iSecondaryAddon", CSAddon_NONE);
    SetEntProp(client, Prop_Send, "m_iAddonBits", CSAddon_NONE);
}

Но после него у меня не то что сервер рухнул, а сама контра вылетела у всех игроков. Может я что-то не понял.
Есть у кого-нибудь какие-либо еще мысли, может можно делать полную невидимость
Код
SetEntityRenderMode(client, RENDER_NONE)

Но еще как-то помечать этого игрока для его тиммейтов?
 
Sedge Дата: Вторник, 09.04.2019, 22:12:48 | Сообщение # 2
Сообщений: 16
Репутация: 9 [ +/- ]
Должно работать
Код

#include <sdkhooks>

public OnPluginStart()
{
    RegConsoleCmd("sm_test", test);
}

public Action:test(client, args)
{
  new weapon_index = GetEntPropEnt(client, Prop_Data, "m_hActiveWeapon");
  SDKHook(weapon_index, SDKHook_SetTransmit, OnTransmit);
  return Plugin_Handled;
}

public Action:OnTransmit(entity, client)
{
        if(IsClientInGame(client))
           if(GetClientTeam(GetEntPropEnt(entity, Prop_Send, "m_hOwnerEntity")) == GetClientTeam(client))
             return Plugin_Continue;
        return Plugin_Handled;
}
 
polo79655 Дата: Среда, 10.04.2019, 11:53:52 | Сообщение # 3
Сообщений: 99
Репутация: -1 [ +/- ]
Цитата Sedge ()
Должно работать

Работает. Огромное спасибо!!! Пятый день мучился, нигде не мог найти klas
 
Форум » SourceMod >> CS:Source >> CSGO » Обсуждение » Как сделать невидимый нож?
  • Страница 1 из 1
  • 1
Поиск: