Слив плагина Nebo

Nekro

Терра инкогнита
Сообщения
2,090
Реакции
796
Скинули мне ссылочку на плагин (скриншот прилагаю) для установки и решил я глянуть исходник.

Благо эти ребята вырезали эти ужасные бекдоры, не знаю что бы мы без них делали. Спасибо парни !
C-подобный:
#include <sourcemod>
#include <sdktools>

new String:skyname[32];
new String:lightlevel[4];
new String:hora[128];
new hora_int = 0;
new bool:por_defecto = false;
new bool:custom = false;
public Plugin:myinfo = {
    name = "vk.com/бла бла бла",    //ссылка изменена
    description = "",
    author = "",
    version = "",
    url = "",
};

public OnPluginStart()
{
    CreateConVar("sm_advlightstyle_version", "1.0", "Version", 401728, false, 0.0, false, 0.0);
}

public LoadKV()
{
    new Handle:kv = CreateKeyValues("advLigheStyle", "", "");
    if (!FileToKeyValues(kv, "cfg/sourcemod/texture.txt"))
    {
        SetFailState("File cfg/sourcemod/texture.txt not found");
    }
    new repeticion = 0;
    while (!KvJumpToKey(kv, hora, false))
    {
        hora_int = StringToInt(hora, 10);
        hora_int--;
        if (hora_int < 0)
        {
            hora_int = 23;
        }
        IntToString(hora_int, hora, 128);
        repeticion++;
        if (repeticion > 26)
        {
            SetFailState("Failed to get hour");
        }
    }
    decl String:defecto[24];
    KvGetString(kv, "default", defecto, 24, "no");
    if (StrContains(defecto, "no", true) == -1)
    {
        por_defecto = true;
    }
    else
    {
        por_defecto = false;
        KvGetString(kv, "lightlevel", lightlevel, 2, _);
        KvGetString(kv, "skyname", skyname, 32, _);
    }
    decl String:custom_skybox[24];
    KvGetString(kv, "custom", custom_skybox, 24, "no");
    if (StrContains(custom_skybox, "no", true) == -1)
    {
        custom = true;
    }
    else
    {
        custom = false;
    }
    KvGoBack(kv);
    CloseHandle(kv);
}

public OnMapStart()
{
    FormatTime(hora, 128, "%H", GetTime(_));
    LoadKV();
    if (por_defecto)
    {
        return;
    }
    if (custom)
    {
        decl String:skyname_download1[128];
        Format(skyname_download1, 128, "materials/skybox/%s.vtf", skyname);
        AddFileToDownloadsTable(skyname_download1);
        decl String:skyname_download2[128];
        Format(skyname_download2, 128, "materials/skybox/%s.vmt", skyname);
        AddFileToDownloadsTable(skyname_download2);
    }
    ServerCommand("sv_skyname %s", skyname);
    SetLightStyle(0, lightlevel);
}

Не то что эта ваша старьё 2012 года !
C-подобный:
#pragma semicolon 1

#include <sourcemod>
#include <sdktools>

#define VERSION "1.0"

new String:skyname[32];
new String:lightlevel[2];

new String:hora[128];
new hora_int;

new bool:por_defecto;
new bool:custom;

public Plugin:myinfo =
{
    name = "SM advanced lightstyle",
    author = "Franc1sco steam: franug",
    description = "Set lightstyle with more options",
    version = VERSION,
    url = "http://servers-cfg.foroactivo.com/"
};

public OnPluginStart()
{
    CreateConVar("sm_advlightstyle_version", VERSION, "Version", FCVAR_PLUGIN|FCVAR_SPONLY|FCVAR_REPLICATED|FCVAR_NOTIFY|FCVAR_DONTRECORD);
}


public LoadKV()
{
    new Handle:kv = CreateKeyValues("advLigheStyle");
    if (!FileToKeyValues(kv,"cfg/sourcemod/advanced_lightstyle.txt"))
    {
        SetFailState("File cfg/sourcemod/advanced_lightstyle.txt not found");
    }

    new repeticion = 0;
    while(!KvJumpToKey(kv, hora))
    {
        hora_int = StringToInt(hora);
        --hora_int;
        if(hora_int < 0)
            hora_int = 23;

        IntToString(hora_int, hora, sizeof(hora));
        ++repeticion;
        if(repeticion > 26)
            SetFailState("Failed to get hour");
    }

        decl String:defecto[24];
        KvGetString(kv, "default", defecto, sizeof(defecto), "no");

    if (StrContains(defecto, "no") == -1)
    {
        por_defecto = true;
    }
    else
    {
        por_defecto = false;
        KvGetString(kv,"lightlevel",lightlevel, sizeof(lightlevel));
        KvGetString(kv,"skyname",skyname, sizeof(skyname));
    }

        decl String:custom_skybox[24];
        KvGetString(kv, "custom", custom_skybox, sizeof(custom_skybox), "no");

    if (StrContains(custom_skybox, "no") == -1)
        custom = true;
    else
        custom = false;


    KvGoBack(kv);
   
    CloseHandle(kv);  
}


public OnMapStart()
{
        FormatTime(hora, sizeof(hora), "%H", GetTime());
    LoadKV();

    if(por_defecto)
        return;

    if(custom)
    {
        decl String:skyname_download1[128];
        Format(skyname_download1, sizeof(skyname_download1), "materials/skybox/%s.vtf",skyname);
        AddFileToDownloadsTable(skyname_download1);

        decl String:skyname_download2[128];
        Format(skyname_download2, sizeof(skyname_download2), "materials/skybox/%s.vmt",skyname);
        AddFileToDownloadsTable(skyname_download2);
    }

    ServerCommand("sv_skyname %s",skyname);
   
    SetLightStyle(0,lightlevel);

}
Ссылка на старьё [ANY] Advanced Map Light Style Config (HighNoon) - AlliedModders
Сообщения автоматически склеены:

Читаю и так улыбает это всё) Ну хоть Чудо молодец какой плагин сделал, а ребята красавцы, что вырезали бекдоры из исходника и теперь мы все им можем пользоваться
 

Вложения

  • Screenshot_7.png
    Screenshot_7.png
    49.7 КБ · Просмотры: 132
  • Screenshot_8.png
    Screenshot_8.png
    34 КБ · Просмотры: 124
Последнее редактирование:

Grey83

Ленивая и невнимательная жопа
Сообщения
5,029
Реакции
2,949
как жаль что не приложили слив с бэкдором
интересно что же бэкдор умеет

Сравнил код: версия 1.1.2 - это декомпил версии 1.0. Вообще разницы никакой
 

Grey83

Ленивая и невнимательная жопа
Сообщения
5,029
Реакции
2,949
Вот почистил (скомпилится начиная с SM1.6.3 и заканчивая SM1.11) и немного оптимизировал (разницу всё равно не заметить ^_^) код.

@xstage, там смысл в чтении конфига при каждой смене карты и установке освещения со скайбоксом в зависимости от времени суток.
 

Вложения

  • sm_advlightstyle 1.1.0.sp
    1.8 КБ · Просмотры: 17
Сверху