Как убрать туман на картах

DarklSide

Участник
Сообщения
931
Реакции
468
@Kaptain,

PHP:
#include <sourcemod>
#include <sdktools_entinput>
#include <sdktools_functions>
//new String:fogEntities[][] =  { "env_fog_controller" }; // env_particlelight env_smokestack
new bool:b_fogs = true;
public OnPluginStart()
{
    new Handle:cvar;
    HookConVarChange((cvar = CreateConVar("sm_disfog_enable", "1", "Включить плагин", 0, true, 0.0, true, 1.0)), Cvar_b_fogs);
    b_fogs = GetConVarBool(cvar);
    RegAdminCmd("sm_disfog", FogOn, ADMFLAG_ROOT);
    HookEvent("round_start", Event_OnRoundStart);
    AutoExecConfig(true, "sm_disfog");
}
public OnMapStart()
{
    if (b_fogs)
    {
        DisableFog1();
    }
}
public Cvar_b_fogs(Handle:cvar, const String:oldvalue[], const String:newvalue[])
{
    b_fogs = GetConVarBool(cvar);
}
public Action:FogOn(client, args)
{
    if (b_fogs)
    {
        DisableFog1();
        DisableFog2();
    }
    return Plugin_Handled;
}
public Event_OnRoundStart(Handle:event, const String:name[], bool:dontBroadcast)
{
    if (b_fogs)
    {
        DisableFog2();
    }
}
DisableFog1()
{
    new maxEntities = GetMaxEntities();
    decl String:SerComm[32];
    for (new j = MaxClients; j < maxEntities; j++)
    {
        if (IsValidEdict(j) && IsValidEntity(j) && GetEdictClassname(j, SerComm, sizeof(SerComm)))
        {
            if (StrEqual(SerComm, "env_fog_controller"))
            {
                AcceptEntityInput(j, "TurnOff");
            }
        }
    }
}
DisableFog2()
{
    new maxEntities = GetMaxEntities();
    decl String:SerComm[32];
    for (new i = MaxClients; i < maxEntities; i++)
    {
        if (IsValidEdict(i) && IsValidEntity(i) && GetEdictClassname(i, SerComm, sizeof(SerComm)))
        {
            if (StrEqual(SerComm, "func_smokevolume") || StrEqual(SerComm, "func_dustmotes"))
            {
                AcceptEntityInput(i, "Kill");
                //RemoveEdict(i);
            }
        }
    }
}

Последнее редактирование - давно, отправил без изменений.
 
Последнее редактирование:

Vit_ amin

Добрая душа
Сообщения
1,504
Реакции
660
Попробуй на локальном сервере:
ent_fire env_fog_controller TurnOff
--- Добавлено позже ---
@DarklSide, Вопрос просто был о тумане, подумал не то)
--- Добавлено позже ---
А вообще возможно то, что туман взаимодействует через sky_camera
 

Kaptain

Школьник
Сообщения
912
Реакции
489
Попробуй на локальном сервере:
ent_fire env_fog_controller TurnOff
--- Добавлено позже ---
@DarklSide, Вопрос просто был о тумане, подумал не то)
--- Добавлено позже ---
А вообще возможно то, что туман взаимодействует через sky_camera
Ничего не происходит
 

Vit_ amin

Добрая душа
Сообщения
1,504
Реакции
660
@Kaptain, Если это Dust карты, я думаю что это связано с sky_camera
 

Kaptain

Школьник
Сообщения
912
Реакции
489
Бесподобно! Спасибо))
0vUiChH.jpg
http://i.imgur.com/0vUiChH.jpg
 

makentosh

Участник
Сообщения
109
Реакции
6
de_dust20000.jpg
de_dust20001.jpg
Посмотреть вложение 21371 Посмотреть вложение 21372
@Kaptain,

PHP:
#include <sourcemod>
#include <sdktools_entinput>
#include <sdktools_functions>
//new String:fogEntities[][] =  { "env_fog_controller" }; // env_particlelight env_smokestack
new bool:b_fogs = true;
public OnPluginStart()
{
    new Handle:cvar;
    HookConVarChange((cvar = CreateConVar("sm_disfog_enable", "1", "Включить плагин", 0, true, 0.0, true, 1.0)), Cvar_b_fogs);
    b_fogs = GetConVarBool(cvar);
    RegAdminCmd("sm_disfog", FogOn, ADMFLAG_ROOT);
    HookEvent("round_start", Event_OnRoundStart);
    AutoExecConfig(true, "sm_disfog");
}
public OnMapStart()
{
    if (b_fogs)
    {
        DisableFog1();
    }
}
public Cvar_b_fogs(Handle:cvar, const String:oldvalue[], const String:newvalue[])
{
    b_fogs = GetConVarBool(cvar);
}
public Action:FogOn(client, args)
{
    if (b_fogs)
    {
        DisableFog1();
        DisableFog2();
    }
    return Plugin_Handled;
}
public Event_OnRoundStart(Handle:event, const String:name[], bool:dontBroadcast)
{
    if (b_fogs)
    {
        DisableFog2();
    }
}
DisableFog1()
{
    new maxEntities = GetMaxEntities();
    decl String:SerComm[32];
    for (new j = MaxClients; j < maxEntities; j++)
    {
        if (IsValidEdict(j) && IsValidEntity(j) && GetEdictClassname(j, SerComm, sizeof(SerComm)))
        {
            if (StrEqual(SerComm, "env_fog_controller"))
            {
                AcceptEntityInput(j, "TurnOff");
            }
        }
    }
}
DisableFog2()
{
    new maxEntities = GetMaxEntities();
    decl String:SerComm[32];
    for (new i = MaxClients; i < maxEntities; i++)
    {
        if (IsValidEdict(i) && IsValidEntity(i) && GetEdictClassname(i, SerComm, sizeof(SerComm)))
        {
            if (StrEqual(SerComm, "func_smokevolume") || StrEqual(SerComm, "func_dustmotes"))
            {
                AcceptEntityInput(i, "Kill");
                //RemoveEdict(i);
            }
        }
    }
}

Последнее редактирование - давно, отправил без изменений.
1.Первый скрин с вашим плагином !
2.Второй скрин с другого сервера и там вобще нигде нету тумана ни пили!
3.Вот старий скрип что нашол он убирает но не все с карты ни туман ни пиль
кто может зделайте все вместе что работало как на втором скрине!
#include <sourcemod>
#include <sdktools>

public OnConfigsExecuted()
{
decl String:sMap[10];
GetCurrentMap(sMap, sizeof(sMap));
if(strcmp(sMap, "de_dust2") == 0)
{
decl fog;
if ((fog = FindEntityByClassname(MaxClients + 1, "env_fog_controller")) != -1)
{
AcceptEntityInput(fog, "TurnOff");
AcceptEntityInput(fog, "Kill");
}
}
}
Посмотреть вложение 21371 Посмотреть вложение 21372 Посмотреть вложение 21372
 

wayLANder

Где AlmazON?
Сообщения
1,742
Реакции
577
@DarklSide, Ну, как сказать..Не работает) На том же dd2 если за CT выйти в мид - дымка есть, заходишь на Б - дымка есть.
 
Сверху Снизу